@crouton-kit/crouter 0.3.45 → 0.3.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/build-root.js +0 -1
  2. package/dist/builtin-memory/00-runtime-base.md +3 -0
  3. package/dist/builtin-memory/internal/nodes-and-canvas.md +2 -2
  4. package/dist/builtin-memory/wedged-child-on-runaway-bash.md +2 -2
  5. package/dist/builtin-views/chat/web.jsx +1 -1
  6. package/dist/clients/attach/__tests__/crtr-output-render.test.js +11 -9
  7. package/dist/clients/attach/attach-cmd.js +557 -546
  8. package/dist/clients/attach/chat-view.d.ts +4 -0
  9. package/dist/clients/attach/chat-view.js +13 -2
  10. package/dist/clients/attach/mermaid-render.d.ts +23 -0
  11. package/dist/clients/attach/mermaid-render.js +124 -0
  12. package/dist/clients/web/source-cache.js +1 -1
  13. package/dist/commands/__tests__/revive-now-gate.test.js +2 -2
  14. package/dist/commands/canvas-history/read.js +3 -3
  15. package/dist/commands/canvas-history/search.js +1 -1
  16. package/dist/commands/canvas-history.js +11 -12
  17. package/dist/commands/canvas-rebuild-index.js +2 -2
  18. package/dist/commands/canvas.js +4 -4
  19. package/dist/commands/node-inspect-artifacts.d.ts +1 -0
  20. package/dist/commands/{canvas-history/show.js → node-inspect-artifacts.js} +7 -7
  21. package/dist/commands/node-lifecycle-revive.d.ts +12 -0
  22. package/dist/commands/node-lifecycle-revive.js +166 -0
  23. package/dist/commands/node-worktree.d.ts +2 -0
  24. package/dist/commands/{worktree.js → node-worktree.js} +15 -16
  25. package/dist/commands/node.js +16 -13
  26. package/dist/commands/push.js +1 -1
  27. package/dist/commands/revive.d.ts +0 -10
  28. package/dist/commands/revive.js +31 -181
  29. package/dist/core/__tests__/kickoff.test.js +2 -2
  30. package/dist/core/canvas/boot.js +1 -1
  31. package/dist/core/canvas/browse/app.js +6 -6
  32. package/dist/core/canvas/browse/render.js +1 -1
  33. package/dist/core/canvas/status-glyph.d.ts +1 -1
  34. package/dist/core/canvas/status-glyph.js +1 -1
  35. package/dist/core/preview-registry.js +27 -26
  36. package/dist/core/profiles/select.d.ts +12 -4
  37. package/dist/core/profiles/select.js +182 -22
  38. package/dist/core/runtime/bearings.js +1 -1
  39. package/dist/core/runtime/close.js +1 -1
  40. package/dist/core/runtime/kickoff.js +3 -3
  41. package/dist/core/runtime/revive.js +2 -2
  42. package/dist/core/view/stream-local.js +1 -1
  43. package/dist/core/worktree.js +4 -4
  44. package/dist/daemon/crtrd.js +3 -3
  45. package/dist/web/transport-stream.js +1 -1
  46. package/dist/web-client/assets/{index-B00YpRQ1.js → index-Di-gSsVn.js} +2 -2
  47. package/dist/web-client/index.html +1 -1
  48. package/package.json +2 -2
  49. package/scripts/postinstall.mjs +73 -0
  50. package/dist/commands/canvas-history/show.d.ts +0 -1
  51. package/dist/commands/worktree.d.ts +0 -2
@@ -48,7 +48,7 @@ Please change the parent <Route path="${e}"> to <Route path="${e===`/`?`*`:`${e}
48
48
  `},oa=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},sa=function(){S.useEffect(function(){return document.body.setAttribute(ia,(oa()+1).toString()),function(){var e=oa()-1;e<=0?document.body.removeAttribute(ia):document.body.setAttribute(ia,e.toString())}},[])},ca=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;sa();var a=S.useMemo(function(){return na(i)},[i]);return S.createElement(ra,{styles:aa(a,!t,i,n?``:`!important`)})},la=!1;if(typeof window<`u`)try{var ua=Object.defineProperty({},"passive",{get:function(){return la=!0,!0}});window.addEventListener(`test`,ua,ua),window.removeEventListener(`test`,ua,ua)}catch{la=!1}var da=la?{passive:!1}:!1,fa=function(e){return e.tagName===`TEXTAREA`},pa=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!fa(e)&&n[t]===`visible`)},ma=function(e){return pa(e,`overflowY`)},ha=function(e){return pa(e,`overflowX`)},ga=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),ya(e,r)){var i=ba(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},_a=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},va=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},ya=function(e,t){return e===`v`?ma(t):ha(t)},ba=function(e,t){return e===`v`?_a(t):va(t)},xa=function(e,t){return e===`h`&&t===`rtl`?-1:1},Sa=function(e,t,n,r,i){var a=xa(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=ba(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&ya(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},Ca=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},wa=function(e){return[e.deltaX,e.deltaY]},Ta=function(e){return e&&`current`in e?e.current:e},Ea=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Da=function(e){return`
49
49
  .block-interactivity-${e} {pointer-events: none;}
50
50
  .allow-interactivity-${e} {pointer-events: all;}
51
- `},Oa=0,ka=[];function Aa(e){var t=S.useRef([]),n=S.useRef([0,0]),r=S.useRef(),i=S.useState(Oa++)[0],a=S.useState(Qi)[0],o=S.useRef(e);S.useEffect(function(){o.current=e},[e]),S.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=Oi([e.lockRef.current],(e.shards||[]).map(Ta),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=S.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=Ca(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=ga(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=ga(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return Sa(h,t,e,h===`h`?s:c,!0)},[]),c=S.useCallback(function(e){var n=e;if(!(!ka.length||ka[ka.length-1]!==a)){var r=`deltaY`in n?wa(n):Ca(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&Ea(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(Ta).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=S.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:ja(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=S.useCallback(function(e){n.current=Ca(e),r.current=void 0},[]),d=S.useCallback(function(t){l(t.type,wa(t),t.target,s(t,e.lockRef.current))},[]),f=S.useCallback(function(t){l(t.type,Ca(t),t.target,s(t,e.lockRef.current))},[]);S.useEffect(function(){return ka.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,da),document.addEventListener(`touchmove`,c,da),document.addEventListener(`touchstart`,u,da),function(){ka=ka.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,da),document.removeEventListener(`touchmove`,c,da),document.removeEventListener(`touchstart`,u,da)}},[]);var p=e.removeScrollBar,m=e.inert;return S.createElement(S.Fragment,null,m?S.createElement(a,{styles:Da(i)}):null,p?S.createElement(ca,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function ja(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var Ma=Vi(Hi,Aa),Na=S.forwardRef(function(e,t){return S.createElement(Wi,Ei({},e,{ref:t,sideCar:Ma}))});Na.classNames=Wi.classNames;var Pa=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},Fa=new WeakMap,Ia=new WeakMap,La={},Ra=0,za=function(e){return e&&(e.host||za(e.parentNode))},Ba=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=za(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},Va=function(e,t,n,r){var i=Ba(t,Array.isArray(e)?e:[e]);La[n]||(La[n]=new WeakMap);var a=La[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(Fa.get(e)||0)+1,l=(a.get(e)||0)+1;Fa.set(e,c),a.set(e,l),o.push(e),c===1&&i&&Ia.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),Ra++,function(){o.forEach(function(e){var t=Fa.get(e)-1,i=a.get(e)-1;Fa.set(e,t),a.set(e,i),t||(Ia.has(e)||e.removeAttribute(r),Ia.delete(e)),i||e.removeAttribute(n)}),Ra--,Ra||(Fa=new WeakMap,Fa=new WeakMap,Ia=new WeakMap,La={})}},Ha=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Pa(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Va(r,i,n,`aria-hidden`)):function(){return null}},Ua=`Dialog`,[Wa,Ga]=br(Ua),[Ka,qa]=Wa(Ua),Ja=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=S.useRef(null),c=S.useRef(null),[l,u]=Or({prop:r,defaultProp:i??!1,onChange:a,caller:Ua});return(0,z.jsx)(Ka,{scope:t,triggerRef:s,contentRef:c,contentId:Br(),titleId:Br(),descriptionId:Br(),open:l,onOpenChange:u,onOpenToggle:S.useCallback(()=>u(e=>!e),[u]),modal:o,children:n})};Ja.displayName=Ua;var Ya=`DialogTrigger`,Xa=S.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=qa(Ya,n),a=Xn(t,i.triggerRef);return(0,z.jsx)(mr.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":go(i.open),...r,ref:a,onClick:B(e.onClick,i.onOpenToggle)})});Xa.displayName=Ya;var Za=`DialogPortal`,[Qa,$a]=Wa(Za,{forceMount:void 0}),eo=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=qa(Za,t);return(0,z.jsx)(Qa,{scope:t,forceMount:n,children:S.Children.map(r,e=>(0,z.jsx)(Mr,{present:n||a.open,children:(0,z.jsx)(xi,{asChild:!0,container:i,children:e})}))})};eo.displayName=Za;var to=`DialogOverlay`,no=S.forwardRef((e,t)=>{let n=$a(to,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=qa(to,e.__scopeDialog);return a.modal?(0,z.jsx)(Mr,{present:r||a.open,children:(0,z.jsx)(io,{...i,ref:t})}):null});no.displayName=to;var ro=Zn(`DialogOverlay.RemoveScroll`),io=S.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=qa(to,n),a=Xn(t,$r());return(0,z.jsx)(Na,{as:ro,allowPinchZoom:!0,shards:[i.contentRef],children:(0,z.jsx)(mr.div,{"data-state":go(i.open),...r,ref:a,style:{pointerEvents:`auto`,...r.style}})})}),ao=`DialogContent`,oo=S.forwardRef((e,t)=>{let n=$a(ao,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=qa(ao,e.__scopeDialog);return(0,z.jsx)(Mr,{present:r||a.open,children:a.modal?(0,z.jsx)(so,{...i,ref:t}):(0,z.jsx)(co,{...i,ref:t})})});oo.displayName=ao;var so=S.forwardRef((e,t)=>{let n=qa(ao,e.__scopeDialog),r=S.useRef(null),i=Xn(t,n.contentRef,r);return S.useEffect(()=>{let e=r.current;if(e)return Ha(e)},[]),(0,z.jsx)(lo,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:B(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:B(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:B(e.onFocusOutside,e=>e.preventDefault())})}),co=S.forwardRef((e,t)=>{let n=qa(ao,e.__scopeDialog),r=S.useRef(!1),i=S.useRef(!1);return(0,z.jsx)(lo,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),lo=S.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=qa(ao,n);return wi(),(0,z.jsx)(z.Fragment,{children:(0,z.jsx)(ci,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,z.jsx)(Xr,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":go(s.open),...o,ref:t,deferPointerDownOutside:!0,onDismiss:()=>s.onOpenChange(!1)})})})}),uo=`DialogTitle`,H=S.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=qa(uo,n);return(0,z.jsx)(mr.h2,{id:i.titleId,...r,ref:t})});H.displayName=uo;var fo=`DialogDescription`,po=S.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=qa(fo,n);return(0,z.jsx)(mr.p,{id:i.descriptionId,...r,ref:t})});po.displayName=fo;var mo=`DialogClose`,ho=S.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=qa(mo,n);return(0,z.jsx)(mr.button,{type:`button`,...r,ref:t,onClick:B(e.onClick,()=>i.onOpenChange(!1))})});ho.displayName=mo;function go(e){return e?`open`:`closed`}function _o(e){let t=S.useRef({value:e,previous:e});return S.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function vo(e){let[t,n]=S.useState(void 0);return Cr(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var yo=[`top`,`right`,`bottom`,`left`],bo=Math.min,U=Math.max,xo=Math.round,So=Math.floor,Co=e=>({x:e,y:e}),wo={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function To(e,t,n){return U(e,bo(t,n))}function Eo(e,t){return typeof e==`function`?e(t):e}function Do(e){return e.split(`-`)[0]}function Oo(e){return e.split(`-`)[1]}function ko(e){return e===`x`?`y`:`x`}function Ao(e){return e===`y`?`height`:`width`}function jo(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Mo(e){return ko(jo(e))}function No(e,t,n){n===void 0&&(n=!1);let r=Oo(e),i=Mo(e),a=Ao(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Ho(o)),[o,Ho(o)]}function Po(e){let t=Ho(e);return[Fo(e),t,Fo(t)]}function Fo(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Io=[`left`,`right`],Lo=[`right`,`left`],Ro=[`top`,`bottom`],zo=[`bottom`,`top`];function Bo(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Lo:Io:t?Io:Lo;case`left`:case`right`:return t?Ro:zo;default:return[]}}function Vo(e,t,n,r){let i=Oo(e),a=Bo(Do(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Fo)))),a}function Ho(e){let t=Do(e);return wo[t]+e.slice(t.length)}function Uo(e){return{top:0,right:0,bottom:0,left:0,...e}}function Wo(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Uo(e)}function Go(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Ko(e,t,n){let{reference:r,floating:i}=e,a=jo(t),o=Mo(t),s=Ao(o),c=Do(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Oo(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function qo(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=Eo(t,e),p=Wo(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Go(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Go(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Jo=50,Yo=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:qo},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Ko(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Jo&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=Ko(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Xo=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=Eo(e,t)||{};if(l==null)return{};let d=Wo(u),f={x:n,y:r},p=Mo(i),m=Ao(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=bo(d[_],T),D=bo(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=To(O,A,k),M=!c.arrow&&Oo(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,N=M?A<O?A-O:A-k:0;return{[p]:f[p]+N,data:{[p]:j,centerOffset:A-j-N,...M&&{alignmentOffset:N}},reset:M}}}),Zo=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=Eo(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=Do(r),_=jo(o),v=Do(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Ho(o)]:Po(o)),x=p!==`none`;!d&&x&&b.push(...Vo(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=No(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==jo(t))||T.every(e=>jo(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=jo(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function Qo(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function $o(e){return yo.some(t=>e[t]>=0)}var es=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=Eo(e,t);switch(i){case`referenceHidden`:{let e=Qo(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:$o(e)}}}case`escaped`:{let e=Qo(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:$o(e)}}}default:return{}}}}},ts=new Set([`left`,`top`]);async function ns(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Do(n),s=Oo(n),c=jo(n)===`y`,l=ts.has(o)?-1:1,u=a&&c?-1:1,d=Eo(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var rs=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await ns(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},is=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Eo(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=jo(Do(i)),p=ko(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=To(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=To(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},as=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=Eo(e,t),u={x:n,y:r},d=jo(i),f=ko(d),p=u[f],m=u[d],h=Eo(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=ts.has(Do(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},os=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=Eo(e,t),u=await o.detectOverflow(t,l),d=Do(i),f=Oo(i),p=jo(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=bo(h-u[g],v),x=bo(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=U(u.left,0),t=U(u.right,0),n=U(u.top,0),r=U(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:U(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:U(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function ss(){return typeof window<`u`}function cs(e){return ds(e)?(e.nodeName||``).toLowerCase():`#document`}function ls(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function us(e){return((ds(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function ds(e){return ss()?e instanceof Node||e instanceof ls(e).Node:!1}function fs(e){return ss()?e instanceof Element||e instanceof ls(e).Element:!1}function ps(e){return ss()?e instanceof HTMLElement||e instanceof ls(e).HTMLElement:!1}function ms(e){return!ss()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof ls(e).ShadowRoot}function hs(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Es(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function gs(e){return/^(table|td|th)$/.test(cs(e))}function _s(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var vs=/transform|translate|scale|rotate|perspective|filter/,ys=/paint|layout|strict|content/,bs=e=>!!e&&e!==`none`,xs;function Ss(e){let t=fs(e)?Es(e):e;return bs(t.transform)||bs(t.translate)||bs(t.scale)||bs(t.rotate)||bs(t.perspective)||!ws()&&(bs(t.backdropFilter)||bs(t.filter))||vs.test(t.willChange||``)||ys.test(t.contain||``)}function Cs(e){let t=Os(e);for(;ps(t)&&!Ts(t);){if(Ss(t))return t;if(_s(t))return null;t=Os(t)}return null}function ws(){return xs??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),xs}function Ts(e){return/^(html|body|#document)$/.test(cs(e))}function Es(e){return ls(e).getComputedStyle(e)}function Ds(e){return fs(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Os(e){if(cs(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||ms(e)&&e.host||us(e);return ms(t)?t.host:t}function ks(e){let t=Os(e);return Ts(t)?e.ownerDocument?e.ownerDocument.body:e.body:ps(t)&&hs(t)?t:ks(t)}function As(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=ks(e),i=r===e.ownerDocument?.body,a=ls(r);if(i){let e=js(a);return t.concat(a,a.visualViewport||[],hs(r)?r:[],e&&n?As(e):[])}else return t.concat(r,As(r,[],n))}function js(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ms(e){let t=Es(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=ps(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=xo(n)!==a||xo(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Ns(e){return fs(e)?e:e.contextElement}function Ps(e){let t=Ns(e);if(!ps(t))return Co(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Ms(t),o=(a?xo(n.width):n.width)/r,s=(a?xo(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Fs=Co(0);function Is(e){let t=ls(e);return!ws()||!t.visualViewport?Fs:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Ls(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==ls(e)?!1:t}function Rs(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Ns(e),o=Co(1);t&&(r?fs(r)&&(o=Ps(r)):o=Ps(e));let s=Ls(a,n,r)?Is(a):Co(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=ls(a),t=r&&fs(r)?ls(r):r,n=e,i=js(n);for(;i&&r&&t!==n;){let e=Ps(i),t=i.getBoundingClientRect(),r=Es(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=ls(i),i=js(n)}}return Go({width:u,height:d,x:c,y:l})}function zs(e,t){let n=Ds(e).scrollLeft;return t?t.left+n:Rs(us(e)).left+n}function Bs(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-zs(e,n),y:n.top+t.scrollTop}}function Vs(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=us(r),s=t?_s(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=Co(1),u=Co(0),d=ps(r);if((d||!d&&!a)&&((cs(r)!==`body`||hs(o))&&(c=Ds(r)),d)){let e=Rs(r);l=Ps(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Bs(o,c):Co(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Hs(e){return Array.from(e.getClientRects())}function Us(e){let t=us(e),n=Ds(e),r=e.ownerDocument.body,i=U(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=U(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+zs(e),s=-n.scrollTop;return Es(r).direction===`rtl`&&(o+=U(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Ws=25;function Gs(e,t){let n=ls(e),r=us(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=ws();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=zs(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=Ws&&(a-=o)}else l<=Ws&&(a+=l);return{width:a,height:o,x:s,y:c}}function Ks(e,t){let n=Rs(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=ps(e)?Ps(e):Co(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function qs(e,t,n){let r;if(t===`viewport`)r=Gs(e,n);else if(t===`document`)r=Us(us(e));else if(fs(t))r=Ks(t,n);else{let n=Is(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Go(r)}function Js(e,t){let n=Os(e);return n===t||!fs(n)||Ts(n)?!1:Es(n).position===`fixed`||Js(n,t)}function Ys(e,t){let n=t.get(e);if(n)return n;let r=As(e,[],!1).filter(e=>fs(e)&&cs(e)!==`body`),i=null,a=Es(e).position===`fixed`,o=a?Os(e):e;for(;fs(o)&&!Ts(o);){let t=Es(o),n=Ss(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||hs(o)&&!n&&Js(e,o))?r=r.filter(e=>e!==o):i=t,o=Os(o)}return t.set(e,r),r}function Xs(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?_s(t)?[]:Ys(t,this._c):[].concat(n),r],o=qs(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=qs(t,a[e],i);s=U(n.top,s),c=bo(n.right,c),l=bo(n.bottom,l),u=U(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Zs(e){let{width:t,height:n}=Ms(e);return{width:t,height:n}}function Qs(e,t,n){let r=ps(t),i=us(t),a=n===`fixed`,o=Rs(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=Co(0);function l(){c.x=zs(i)}if(r||!r&&!a)if((cs(t)!==`body`||hs(i))&&(s=Ds(t)),r){let e=Rs(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Bs(i,s):Co(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function $s(e){return Es(e).position===`static`}function ec(e,t){if(!ps(e)||Es(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return us(e)===n&&(n=n.ownerDocument.body),n}function tc(e,t){let n=ls(e);if(_s(e))return n;if(!ps(e)){let t=Os(e);for(;t&&!Ts(t);){if(fs(t)&&!$s(t))return t;t=Os(t)}return n}let r=ec(e,t);for(;r&&gs(r)&&$s(r);)r=ec(r,t);return r&&Ts(r)&&$s(r)&&!Ss(r)?n:r||Cs(e)||n}var nc=async function(e){let t=this.getOffsetParent||tc,n=this.getDimensions,r=await n(e.floating);return{reference:Qs(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function rc(e){return Es(e).direction===`rtl`}var ic={convertOffsetParentRelativeRectToViewportRelativeRect:Vs,getDocumentElement:us,getClippingRect:Xs,getOffsetParent:tc,getElementRects:nc,getClientRects:Hs,getDimensions:Zs,getScale:Ps,isElement:fs,isRTL:rc};function ac(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function oc(e,t){let n=null,r,i=us(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=So(d),h=So(i.clientWidth-(u+f)),g=So(i.clientHeight-(d+p)),_=So(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:U(0,bo(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!ac(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function sc(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Ns(e),u=i||a?[...l?As(l):[],...t?As(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?oc(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Rs(e):null;c&&g();function g(){let t=Rs(e);h&&!ac(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var cc=rs,lc=is,uc=Zo,dc=os,fc=es,pc=Xo,mc=as,hc=(e,t,n)=>{let r=new Map,i={platform:ic,...n},a={...i.platform,_c:r};return Yo(e,t,{...i,platform:a})},gc=typeof document<`u`?S.useLayoutEffect:function(){};function _c(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!_c(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!_c(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function vc(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function yc(e,t){let n=vc(e);return Math.round(t*n)/n}function bc(e){let t=S.useRef(e);return gc(()=>{t.current=e}),t}function xc(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=S.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=S.useState(r);_c(f,r)||p(r);let[m,h]=S.useState(null),[g,_]=S.useState(null),v=S.useCallback(e=>{e!==C.current&&(C.current=e,h(e))},[]),y=S.useCallback(e=>{e!==w.current&&(w.current=e,_(e))},[]),b=a||m,x=o||g,C=S.useRef(null),w=S.useRef(null),T=S.useRef(u),E=c!=null,D=bc(c),O=bc(i),k=bc(l),A=S.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:f};O.current&&(e.platform=O.current),hc(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!_c(T.current,t)&&(T.current=t,pr.flushSync(()=>{d(t)}))})},[f,t,n,O,k]);gc(()=>{l===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let j=S.useRef(!1);gc(()=>(j.current=!0,()=>{j.current=!1}),[]),gc(()=>{if(b&&(C.current=b),x&&(w.current=x),b&&x){if(D.current)return D.current(b,x,A);A()}},[b,x,A,D,E]);let M=S.useMemo(()=>({reference:C,floating:w,setReference:v,setFloating:y}),[v,y]),N=S.useMemo(()=>({reference:b,floating:x}),[b,x]),P=S.useMemo(()=>{let e={position:n,left:0,top:0};if(!N.floating)return e;let t=yc(N.floating,u.x),r=yc(N.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...vc(N.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,N.floating,u.x,u.y]);return S.useMemo(()=>({...u,update:A,refs:M,elements:N,floatingStyles:P}),[u,A,M,N,P])}var Sc=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:pc({element:r.current,padding:i}).fn(n):r?pc({element:r,padding:i}).fn(n):{}}}},Cc=(e,t)=>{let n=cc(e);return{name:n.name,fn:n.fn,options:[e,t]}},wc=(e,t)=>{let n=lc(e);return{name:n.name,fn:n.fn,options:[e,t]}},Tc=(e,t)=>({fn:mc(e).fn,options:[e,t]}),Ec=(e,t)=>{let n=uc(e);return{name:n.name,fn:n.fn,options:[e,t]}},Dc=(e,t)=>{let n=dc(e);return{name:n.name,fn:n.fn,options:[e,t]}},Oc=(e,t)=>{let n=fc(e);return{name:n.name,fn:n.fn,options:[e,t]}},kc=(e,t)=>{let n=Sc(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ac=`Arrow`,jc=S.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,z.jsx)(mr.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,z.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});jc.displayName=Ac;var Mc=jc,Nc=`Popper`,[Pc,Fc]=br(Nc),[Ic,Lc]=Pc(Nc),Rc=e=>{let{__scopePopper:t,children:n}=e,[r,i]=S.useState(null),[a,o]=S.useState(void 0);return(0,z.jsx)(Ic,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})};Rc.displayName=Nc;var zc=`PopperAnchor`,Bc=S.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=Lc(zc,n),o=S.useRef(null),s=a.onAnchorChange,c=Xn(t,S.useCallback(e=>{o.current=e,e&&s(e)},[s])),l=S.useRef(null);S.useEffect(()=>{if(!r)return;let e=l.current;l.current=r.current,e!==l.current&&s(l.current)});let u=a.placementState&&Xc(a.placementState),d=u?.[0],f=u?.[1];return r?null:(0,z.jsx)(mr.div,{"data-radix-popper-side":d,"data-radix-popper-align":f,...i,ref:c})});Bc.displayName=zc;var Vc=`PopperContent`,[Hc,Uc]=Pc(Vc),Wc=S.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d=`partial`,hideWhenDetached:f=!1,updatePositionStrategy:p=`optimized`,onPlaced:m,...h}=e,g=Lc(Vc,n),[_,v]=S.useState(null),y=Xn(t,v),[b,x]=S.useState(null),C=vo(b),w=C?.width??0,T=C?.height??0,E=r+(a===`center`?``:`-`+a),D=typeof u==`number`?u:{top:0,right:0,bottom:0,left:0,...u},O=Array.isArray(l)?l:[l],k=O.length>0,A={padding:D,boundary:O.filter(Jc),altBoundary:k},{refs:j,floatingStyles:M,placement:N,isPositioned:P,middlewareData:F}=xc({strategy:`fixed`,placement:E,whileElementsMounted:(...e)=>sc(...e,{animationFrame:p===`always`}),elements:{reference:g.anchor},middleware:[Cc({mainAxis:i+T,alignmentAxis:o}),c&&wc({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?Tc():void 0,...A}),c&&Ec({...A}),Dc({...A,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),b&&kc({element:b,padding:s}),Yc({arrowWidth:w,arrowHeight:T}),f&&Oc({strategy:`referenceHidden`,...A,boundary:k?A.boundary:void 0})]}),I=g.setPlacementState;Cr(()=>(I(N),()=>{I(void 0)}),[N,I]);let[L,ee]=Xc(N),te=Ur(m);Cr(()=>{P&&te?.()},[P,te]);let ne=F.arrow?.x,re=F.arrow?.y,ie=F.arrow?.centerOffset!==0,[R,ae]=S.useState();return Cr(()=>{_&&ae(window.getComputedStyle(_).zIndex)},[_]),(0,z.jsx)(`div`,{ref:j.setFloating,"data-radix-popper-content-wrapper":``,style:{...M,transform:P?M.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:R,"--radix-popper-transform-origin":[F.transformOrigin?.x,F.transformOrigin?.y].join(` `),...F.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,z.jsx)(Hc,{scope:n,placedSide:L,placedAlign:ee,onArrowChange:x,arrowX:ne,arrowY:re,shouldHideArrow:ie,children:(0,z.jsx)(mr.div,{"data-side":L,"data-align":ee,...h,ref:y,style:{...h.style,animation:P?void 0:`none`}})})})});Wc.displayName=Vc;var Gc=`PopperArrow`,Kc={top:`bottom`,right:`left`,bottom:`top`,left:`right`},qc=S.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=Uc(Gc,n),a=Kc[i.placedSide];return(0,z.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,z.jsx)(Mc,{...r,ref:t,style:{...r.style,display:`block`}})})});qc.displayName=Gc;function Jc(e){return e!==null}var Yc=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=Xc(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function Xc(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Zc=Rc,Qc=Bc,$c=Wc,el=qc,tl=`Label`,nl=S.forwardRef((e,t)=>(0,z.jsx)(mr.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));nl.displayName=tl;var rl=nl;function il(e,[t,n]){return Math.min(n,Math.max(t,e))}var al=[` `,`Enter`,`ArrowUp`,`ArrowDown`],ol=[` `,`Enter`],sl=`Select`,[cl,ll,ul]=Sr(sl),[dl,fl]=br(sl,[ul,Fc]),pl=Fc(),[ml,hl]=dl(sl),[gl,_l]=dl(sl),vl=`SelectProvider`;function yl(e){let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:c,dir:l,name:u,autoComplete:d,disabled:f,required:p,form:m,internal_do_not_use_render:h}=e,g=pl(t),[_,v]=S.useState(null),[y,b]=S.useState(null),[x,C]=S.useState(!1),w=Hr(l),[T,E]=Or({prop:r,defaultProp:i??!1,onChange:a,caller:sl}),[D,O]=Or({prop:o,defaultProp:s,onChange:c,caller:sl}),k=S.useRef(null),A=_?!!m||!!_.closest(`form`):!0,[j,M]=S.useState(new Set),N=Br(),P=Array.from(j).map(e=>e.props.value).join(`;`),F=S.useCallback(e=>{M(t=>new Set(t).add(e))},[]),I=S.useCallback(e=>{M(t=>{let n=new Set(t);return n.delete(e),n})},[]),L={required:p,trigger:_,onTriggerChange:v,valueNode:y,onValueNodeChange:b,valueNodeHasChildren:x,onValueNodeHasChildrenChange:C,contentId:N,value:D,onValueChange:O,open:T,onOpenChange:E,dir:w,triggerPointerDownPosRef:k,disabled:f,name:u,autoComplete:d,form:m,nativeOptions:j,nativeSelectKey:P,isFormControl:A};return(0,z.jsx)(Zc,{...g,children:(0,z.jsx)(ml,{scope:t,...L,children:(0,z.jsx)(cl.Provider,{scope:t,children:(0,z.jsx)(gl,{scope:t,onNativeOptionAdd:F,onNativeOptionRemove:I,children:gu(h)?h(L):n})})})})}yl.displayName=vl;var bl=e=>{let{__scopeSelect:t,children:n,...r}=e;return(0,z.jsx)(yl,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:e})=>(0,z.jsxs)(z.Fragment,{children:[n,e?(0,z.jsx)(hu,{__scopeSelect:t}):null]})})};bl.displayName=sl;var xl=`SelectTrigger`,Sl=S.forwardRef((e,t)=>{let{__scopeSelect:n,disabled:r=!1,...i}=e,a=pl(n),o=hl(xl,n),s=o.disabled||r,c=Xn(t,o.onTriggerChange),l=ll(n),u=S.useRef(`touch`),[d,f,p]=vu(e=>{let t=l().filter(e=>!e.disabled),n=yu(t,e,t.find(e=>e.value===o.value));n!==void 0&&o.onValueChange(n.value)}),m=e=>{s||(o.onOpenChange(!0),p()),e&&(o.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,z.jsx)(Qc,{asChild:!0,...a,children:(0,z.jsx)(mr.button,{type:`button`,role:`combobox`,"aria-controls":o.open?o.contentId:void 0,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":`none`,dir:o.dir,"data-state":o.open?`open`:`closed`,disabled:s,"data-disabled":s?``:void 0,"data-placeholder":_u(o.value)?``:void 0,...i,ref:c,onClick:B(i.onClick,e=>{e.currentTarget.focus(),u.current!==`mouse`&&m(e)}),onPointerDown:B(i.onPointerDown,e=>{u.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(m(e),e.preventDefault())}),onKeyDown:B(i.onKeyDown,e=>{let t=d.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&f(e.key),!(t&&e.key===` `)&&al.includes(e.key)&&(m(),e.preventDefault())})})})});Sl.displayName=xl;var Cl=`SelectValue`,wl=S.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,children:a,placeholder:o=``,...s}=e,c=hl(Cl,n),{onValueNodeHasChildrenChange:l}=c,u=a!==void 0,d=Xn(t,c.onValueNodeChange);Cr(()=>{l(u)},[l,u]);let f=_u(c.value);return(0,z.jsx)(mr.span,{...s,asChild:f?!1:s.asChild,ref:d,style:{pointerEvents:`none`},children:(0,z.jsx)(S.Fragment,{children:f?o:a},f?`placeholder`:`value`)})});wl.displayName=Cl;var Tl=`SelectIcon`,El=S.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...i}=e;return(0,z.jsx)(mr.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})});El.displayName=Tl;var Dl=`SelectPortal`,[Ol,kl]=dl(Dl,{forceMount:void 0}),Al=e=>{let{__scopeSelect:t,forceMount:n,...r}=e;return(0,z.jsx)(Ol,{scope:e.__scopeSelect,forceMount:n,children:(0,z.jsx)(xi,{asChild:!0,...r})})};Al.displayName=Dl;var jl=`SelectContent`,Ml=S.forwardRef((e,t)=>{let n=kl(jl,e.__scopeSelect),{forceMount:r=n.forceMount,...i}=e,a=hl(jl,e.__scopeSelect),[o,s]=S.useState();return Cr(()=>{s(new DocumentFragment)},[]),(0,z.jsx)(Mr,{present:r||a.open,children:({present:e})=>e?(0,z.jsx)(zl,{...i,ref:t}):(0,z.jsx)(Nl,{...i,fragment:o})})});Ml.displayName=jl;var Nl=S.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,fragment:i}=e;return i?pr.createPortal((0,z.jsx)(Fl,{scope:n,children:(0,z.jsx)(cl.Slot,{scope:n,children:(0,z.jsx)(`div`,{ref:t,children:r})})}),i):null});Nl.displayName=`SelectContentFragment`;var Pl=10,[Fl,Il]=dl(jl),Ll=`SelectContentImpl`,Rl=Zn(`SelectContent.RemoveScroll`),zl=S.forwardRef((e,t)=>{let{__scopeSelect:n}=e,{position:r=`item-aligned`,onCloseAutoFocus:i,onEscapeKeyDown:a,onPointerDownOutside:o,side:s,sideOffset:c,align:l,alignOffset:u,arrowPadding:d,collisionBoundary:f,collisionPadding:p,sticky:m,hideWhenDetached:h,avoidCollisions:g,..._}=e,v=hl(jl,n),[y,b]=S.useState(null),[x,C]=S.useState(null),w=Xn(t,b),[T,E]=S.useState(null),[D,O]=S.useState(null),k=ll(n),[A,j]=S.useState(!1),M=S.useRef(!1);S.useEffect(()=>{if(y)return Ha(y)},[y]),wi();let N=S.useCallback(e=>{let[t,...n]=k().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&x&&(x.scrollTop=0),n===r&&x&&(x.scrollTop=x.scrollHeight),n?.focus(),document.activeElement!==i))return},[k,x]),P=S.useCallback(()=>N([T,y]),[N,T,y]);S.useEffect(()=>{A&&P()},[A,P]);let{onOpenChange:F,triggerPointerDownPosRef:I}=v;S.useEffect(()=>{if(y){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(I.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(I.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():n.composedPath().includes(y)||F(!1),document.removeEventListener(`pointermove`,t),I.current=null};return I.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[y,F,I]),S.useEffect(()=>{let e=()=>F(!1);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[F]);let[L,ee]=vu(e=>{let t=k().filter(e=>!e.disabled),n=yu(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current?.focus())}),te=S.useCallback((e,t,n)=>{let r=!M.current&&!n;(v.value!==void 0&&v.value===t||r)&&(E(e),r&&(M.current=!0))},[v.value]),ne=S.useCallback(()=>y?.focus(),[y]),re=S.useCallback((e,t,n)=>{let r=!M.current&&!n;(v.value!==void 0&&v.value===t||r)&&O(e)},[v.value]),ie=r===`popper`?G:W,R=ie===G?{side:s,sideOffset:c,align:l,alignOffset:u,arrowPadding:d,collisionBoundary:f,collisionPadding:p,sticky:m,hideWhenDetached:h,avoidCollisions:g}:{};return(0,z.jsx)(Fl,{scope:n,content:y,viewport:x,onViewportChange:C,itemRefCallback:te,selectedItem:T,onItemLeave:ne,itemTextRefCallback:re,focusSelectedItem:P,selectedItemText:D,position:r,isPositioned:A,searchRef:L,children:(0,z.jsx)(Na,{as:Rl,allowPinchZoom:!0,children:(0,z.jsx)(ci,{asChild:!0,trapped:v.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:B(i,e=>{v.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,z.jsx)(Xr,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>v.onOpenChange(!1),children:(0,z.jsx)(ie,{role:`listbox`,id:v.contentId,"data-state":v.open?`open`:`closed`,dir:v.dir,onContextMenu:e=>e.preventDefault(),..._,...R,onPlaced:()=>j(!0),ref:w,style:{display:`flex`,flexDirection:`column`,outline:`none`,..._.style},onKeyDown:B(_.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&ee(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=k().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>N(t)),e.preventDefault()}})})})})})})});zl.displayName=Ll;var Bl=`SelectItemAlignedPosition`,W=S.forwardRef((e,t)=>{let{__scopeSelect:n,onPlaced:r,...i}=e,a=hl(jl,n),o=Il(jl,n),[s,c]=S.useState(null),[l,u]=S.useState(null),d=Xn(t,u),f=ll(n),p=S.useRef(!1),m=S.useRef(!0),{viewport:h,selectedItem:g,selectedItemText:_,focusSelectedItem:v}=o,y=S.useCallback(()=>{if(a.trigger&&a.valueNode&&s&&l&&h&&g&&_){let e=a.trigger.getBoundingClientRect(),t=l.getBoundingClientRect(),n=a.valueNode.getBoundingClientRect(),i=_.getBoundingClientRect();if(a.dir!==`rtl`){let r=i.left-t.left,a=n.left-r,o=e.left-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-Pl,d=il(a,[Pl,Math.max(Pl,u-l)]);s.style.minWidth=c+`px`,s.style.left=d+`px`}else{let r=t.right-i.right,a=window.innerWidth-n.right-r,o=window.innerWidth-e.right-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-Pl,d=il(a,[Pl,Math.max(Pl,u-l)]);s.style.minWidth=c+`px`,s.style.right=d+`px`}let o=f(),c=window.innerHeight-Pl*2,u=h.scrollHeight,d=window.getComputedStyle(l),m=parseInt(d.borderTopWidth,10),v=parseInt(d.paddingTop,10),y=parseInt(d.borderBottomWidth,10),b=parseInt(d.paddingBottom,10),x=m+v+u+b+y,S=Math.min(g.offsetHeight*5,x),C=window.getComputedStyle(h),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-Pl,D=c-E,O=g.offsetHeight/2,k=g.offsetTop+O,A=m+v+k,j=x-A;if(A<=E){let e=o.length>0&&g===o[o.length-1].ref.current;s.style.bottom=`0px`;let t=l.clientHeight-h.offsetTop-h.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+y);s.style.height=n+`px`}else{let e=o.length>0&&g===o[0].ref.current;s.style.top=`0px`;let t=Math.max(E,m+h.offsetTop+(e?w:0)+O)+j;s.style.height=t+`px`,h.scrollTop=A-E+h.offsetTop}s.style.margin=`${Pl}px 0`,s.style.minHeight=S+`px`,s.style.maxHeight=c+`px`,r?.(),requestAnimationFrame(()=>p.current=!0)}},[f,a.trigger,a.valueNode,s,l,h,g,_,a.dir,r]);Cr(()=>y(),[y]);let[b,x]=S.useState();return Cr(()=>{l&&x(window.getComputedStyle(l).zIndex)},[l]),(0,z.jsx)(K,{scope:n,contentWrapper:s,shouldExpandOnScrollRef:p,onScrollButtonChange:S.useCallback(e=>{e&&m.current===!0&&(y(),v?.(),m.current=!1)},[y,v]),children:(0,z.jsx)(`div`,{ref:c,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:b},children:(0,z.jsx)(mr.div,{...i,ref:d,style:{boxSizing:`border-box`,maxHeight:`100%`,...i.style}})})})});W.displayName=Bl;var Vl=`SelectPopperPosition`,G=S.forwardRef((e,t)=>{let{__scopeSelect:n,align:r=`start`,collisionPadding:i=Pl,...a}=e,o=pl(n);return(0,z.jsx)($c,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})});G.displayName=Vl;var[K,Hl]=dl(jl,{}),Ul=`SelectViewport`,Wl=S.forwardRef((e,t)=>{let{__scopeSelect:n,nonce:r,...i}=e,a=Il(Ul,n),o=Hl(Ul,n),s=Xn(t,a.onViewportChange),c=S.useRef(0);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:r}),(0,z.jsx)(cl.Slot,{scope:n,children:(0,z.jsx)(mr.div,{"data-radix-select-viewport":``,role:`presentation`,...i,ref:s,style:{position:`relative`,flex:1,overflow:`hidden auto`,...i.style},onScroll:B(i.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=o;if(r?.current&&n){let e=Math.abs(c.current-t.scrollTop);if(e>0){let r=window.innerHeight-Pl*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}c.current=t.scrollTop})})})]})});Wl.displayName=Ul;var Gl=`SelectGroup`,[Kl,ql]=dl(Gl),Jl=S.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=Br();return(0,z.jsx)(Kl,{scope:n,id:i,children:(0,z.jsx)(mr.div,{role:`group`,"aria-labelledby":i,...r,ref:t})})});Jl.displayName=Gl;var Yl=`SelectLabel`,Xl=S.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=ql(Yl,n);return(0,z.jsx)(mr.div,{id:i.id,...r,ref:t})});Xl.displayName=Yl;var Zl=`SelectItem`,[Ql,$l]=dl(Zl),eu=S.forwardRef((e,t)=>{let{__scopeSelect:n,value:r,disabled:i=!1,textValue:a,...o}=e,s=hl(Zl,n),c=Il(Zl,n),l=s.value===r,[u,d]=S.useState(a??``),[f,p]=S.useState(!1),m=Xn(t,Ur(e=>c.itemRefCallback?.(e,r,i))),h=Br(),g=S.useRef(`touch`),_=()=>{i||(s.onValueChange(r),s.onOpenChange(!1))};return(0,z.jsx)(Ql,{scope:n,value:r,disabled:i,textId:h,isSelected:l,onItemTextChange:S.useCallback(e=>{d(t=>t||(e?.textContent??``).trim())},[]),children:(0,z.jsx)(cl.ItemSlot,{scope:n,value:r,disabled:i,textValue:u,children:(0,z.jsx)(mr.div,{role:`option`,"aria-labelledby":h,"data-highlighted":f?``:void 0,"aria-selected":l&&f,"data-state":l?`checked`:`unchecked`,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,tabIndex:i?void 0:-1,...o,ref:m,onFocus:B(o.onFocus,()=>p(!0)),onBlur:B(o.onBlur,()=>p(!1)),onClick:B(o.onClick,()=>{g.current!==`mouse`&&_()}),onPointerUp:B(o.onPointerUp,()=>{g.current===`mouse`&&_()}),onPointerDown:B(o.onPointerDown,e=>{g.current=e.pointerType}),onPointerMove:B(o.onPointerMove,e=>{g.current=e.pointerType,i?c.onItemLeave?.():g.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:B(o.onPointerLeave,e=>{e.currentTarget===document.activeElement&&c.onItemLeave?.()}),onKeyDown:B(o.onKeyDown,e=>{c.searchRef?.current!==``&&e.key===` `||(ol.includes(e.key)&&_(),e.key===` `&&e.preventDefault())})})})})});eu.displayName=Zl;var tu=`SelectItemText`,nu=S.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,...a}=e,o=hl(tu,n),s=Il(tu,n),c=$l(tu,n),l=_l(tu,n),[u,d]=S.useState(null),f=Ur(e=>s.itemTextRefCallback?.(e,c.value,c.disabled)),p=Xn(t,d,c.onItemTextChange,f),m=u?.textContent,h=S.useMemo(()=>(0,z.jsx)(`option`,{value:c.value,disabled:c.disabled,children:m},c.value),[c.disabled,c.value,m]),{onNativeOptionAdd:g,onNativeOptionRemove:_}=l;return Cr(()=>(g(h),()=>_(h)),[g,_,h]),(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(mr.span,{id:c.textId,...a,ref:p}),c.isSelected&&o.valueNode&&!o.valueNodeHasChildren&&!_u(o.value)?pr.createPortal(a.children,o.valueNode):null]})});nu.displayName=tu;var ru=`SelectItemIndicator`,iu=S.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return $l(ru,n).isSelected?(0,z.jsx)(mr.span,{"aria-hidden":!0,...r,ref:t}):null});iu.displayName=ru;var au=`SelectScrollUpButton`,ou=S.forwardRef((e,t)=>{let n=Il(au,e.__scopeSelect),r=Hl(au,e.__scopeSelect),[i,a]=S.useState(!1),o=Xn(t,r.onScrollButtonChange);return Cr(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollTop>0;a(e)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,z.jsx)(lu,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null});ou.displayName=au;var su=`SelectScrollDownButton`,cu=S.forwardRef((e,t)=>{let n=Il(su,e.__scopeSelect),r=Hl(su,e.__scopeSelect),[i,a]=S.useState(!1),o=Xn(t,r.onScrollButtonChange);return Cr(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight,n=Math.ceil(t.scrollTop)<e;a(n)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,z.jsx)(lu,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null});cu.displayName=su;var lu=S.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...i}=e,a=Il(`SelectScrollButton`,n),o=S.useRef(null),s=ll(n),c=S.useCallback(()=>{o.current!==null&&(window.clearInterval(o.current),o.current=null)},[]);return S.useEffect(()=>()=>c(),[c]),Cr(()=>{s().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[s]),(0,z.jsx)(mr.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:B(i.onPointerDown,()=>{o.current===null&&(o.current=window.setInterval(r,50))}),onPointerMove:B(i.onPointerMove,()=>{a.onItemLeave?.(),o.current===null&&(o.current=window.setInterval(r,50))}),onPointerLeave:B(i.onPointerLeave,()=>{c()})})}),uu=`SelectSeparator`,du=S.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,z.jsx)(mr.div,{"aria-hidden":!0,...r,ref:t})});du.displayName=uu;var fu=`SelectArrow`,pu=S.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=pl(n);return Il(fu,n).position===`popper`?(0,z.jsx)(el,{...i,...r,ref:t}):null});pu.displayName=fu;var mu=`SelectBubbleInput`,hu=S.forwardRef(({__scopeSelect:e,...t},n)=>{let r=hl(mu,e),{value:i,onValueChange:a,required:o,disabled:s,name:c,autoComplete:l,form:u}=r,{nativeOptions:d,nativeSelectKey:f}=r,p=S.useRef(null),m=Xn(n,p),h=i??``,g=_o(h),_=Array.from(d).some(e=>(e.props.value??``)===``);return S.useEffect(()=>{let e=p.current;if(!e)return;let t=window.HTMLSelectElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(g!==h&&n){let t=new Event(`change`,{bubbles:!0});n.call(e,h),e.dispatchEvent(t)}},[g,h]),(0,z.jsxs)(mr.select,{"aria-hidden":!0,required:o,tabIndex:-1,name:c,autoComplete:l,disabled:s,form:u,onChange:e=>a(e.target.value),...t,style:{...gr,...t.style},ref:m,defaultValue:h,children:[_u(i)&&!_?(0,z.jsx)(`option`,{value:``}):null,Array.from(d)]},f)});hu.displayName=mu;function gu(e){return typeof e==`function`}function _u(e){return e===``||e===void 0}function vu(e){let t=Ur(e),n=S.useRef(``),r=S.useRef(0),i=S.useCallback(e=>{let i=n.current+e;t(i),(function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))})(i)},[t]),a=S.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return S.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}function yu(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=bu(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function bu(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var[xu,Su]=br(`Tooltip`,[Fc]),Cu=Fc(),wu=`TooltipProvider`,Tu=700,Eu=`tooltip.open`,[Du,Ou]=xu(wu),ku=e=>{let{__scopeTooltip:t,delayDuration:n=Tu,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=S.useRef(!0),s=S.useRef(!1),c=S.useRef(0);return S.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,z.jsx)(Du,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:S.useCallback(()=>{r<=0||(window.clearTimeout(c.current),o.current=!1)},[r]),onClose:S.useCallback(()=>{r<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r))},[r]),isPointerInTransitRef:s,onPointerInTransitChange:S.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};ku.displayName=wu;var Au=`Tooltip`,[ju,Mu]=xu(Au),Nu=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=Ou(Au,e.__scopeTooltip),l=Cu(t),[u,d]=S.useState(null),f=Br(),p=S.useRef(0),m=o??c.disableHoverableContent,h=s??c.delayDuration,g=S.useRef(!1),[_,v]=Or({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(Eu))):c.onClose(),a?.(e)},caller:Au}),y=S.useMemo(()=>_?g.current?`delayed-open`:`instant-open`:`closed`,[_]),b=S.useCallback(()=>{window.clearTimeout(p.current),p.current=0,g.current=!1,v(!0)},[v]),x=S.useCallback(()=>{window.clearTimeout(p.current),p.current=0,v(!1)},[v]),C=S.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{g.current=!0,v(!0),p.current=0},h)},[h,v]);return S.useEffect(()=>()=>{p.current&&=(window.clearTimeout(p.current),0)},[]),(0,z.jsx)(Zc,{...l,children:(0,z.jsx)(ju,{scope:t,contentId:f,open:_,stateAttribute:y,trigger:u,onTriggerChange:d,onTriggerEnter:S.useCallback(()=>{c.isOpenDelayedRef.current?C():b()},[c.isOpenDelayedRef,C,b]),onTriggerLeave:S.useCallback(()=>{m?x():(window.clearTimeout(p.current),p.current=0)},[x,m]),onOpen:b,onClose:x,disableHoverableContent:m,children:n})})};Nu.displayName=Au;var Pu=`TooltipTrigger`,Fu=S.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=Mu(Pu,n),a=Ou(Pu,n),o=Cu(n),s=Xn(t,S.useRef(null),i.onTriggerChange),c=S.useRef(!1),l=S.useRef(!1),u=S.useCallback(()=>c.current=!1,[]);return S.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,z.jsx)(Qc,{asChild:!0,...o,children:(0,z.jsx)(mr.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:B(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:B(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:B(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:B(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:B(e.onBlur,i.onClose),onClick:B(e.onClick,i.onClose)})})});Fu.displayName=Pu;var Iu=`TooltipPortal`,[Lu,Ru]=xu(Iu,{forceMount:void 0}),zu=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=Mu(Iu,t);return(0,z.jsx)(Lu,{scope:t,forceMount:n,children:(0,z.jsx)(Mr,{present:n||a.open,children:(0,z.jsx)(xi,{asChild:!0,container:i,children:r})})})};zu.displayName=Iu;var Bu=`TooltipContent`,Vu=S.forwardRef((e,t)=>{let n=Ru(Bu,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=Mu(Bu,e.__scopeTooltip);return(0,z.jsx)(Mr,{present:r||o.open,children:o.disableHoverableContent?(0,z.jsx)(Ku,{side:i,...a,ref:t}):(0,z.jsx)(Hu,{side:i,...a,ref:t})})}),Hu=S.forwardRef((e,t)=>{let n=Mu(Bu,e.__scopeTooltip),r=Ou(Bu,e.__scopeTooltip),i=S.useRef(null),a=Xn(t,i),[o,s]=S.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=S.useCallback(()=>{s(null),d(!1)},[d]),p=S.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=Xu(r,Yu(r,n.getBoundingClientRect())),a=Zu(t.getBoundingClientRect()),o=$u([...i,...a]);s(o),d(!0)},[d]);return S.useEffect(()=>()=>f(),[f]),S.useEffect(()=>{if(c&&u){let e=e=>p(e,u),t=e=>p(e,c);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),S.useEffect(()=>{if(o){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!Qu(n,o);r?f():i&&(f(),l())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,z.jsx)(Ku,{...e,ref:a})}),[Uu,Wu]=xu(Au,{isInside:!1}),Gu=er(`TooltipContent`),Ku=S.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=Mu(Bu,n),l=Cu(n),{onClose:u}=c;return S.useEffect(()=>(document.addEventListener(Eu,u),()=>document.removeEventListener(Eu,u)),[u]),S.useEffect(()=>{if(c.trigger){let e=e=>{e.target instanceof Node&&e.target.contains(c.trigger)&&u()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,u]),(0,z.jsx)(Xr,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,z.jsxs)($c,{"data-state":c.stateAttribute,...l,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,z.jsx)(Gu,{children:r}),(0,z.jsx)(Uu,{scope:n,isInside:!0,children:(0,z.jsx)(yr,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});Vu.displayName=Bu;var qu=`TooltipArrow`,Ju=S.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=Cu(n);return Wu(qu,n).isInside?null:(0,z.jsx)(el,{...i,...r,ref:t})});Ju.displayName=qu;function Yu(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function Xu(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function Zu(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function Qu(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function $u(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),ed(t)}function ed(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var td=ku,nd=_();function rd(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=rd(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function id(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=rd(e))&&(r&&(r+=` `),r+=t);return r}var ad=`-`,od=e=>{let t=ud(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{let n=e.split(ad);return n[0]===``&&n.length!==1&&n.shift(),sd(n,t)||ld(e)},getConflictingClassGroupIds:(e,t)=>{let i=n[e]||[];return t&&r[e]?[...i,...r[e]]:i}}},sd=(e,t)=>{if(e.length===0)return t.classGroupId;let n=e[0],r=t.nextPart.get(n),i=r?sd(e.slice(1),r):void 0;if(i)return i;if(t.validators.length===0)return;let a=e.join(ad);return t.validators.find(({validator:e})=>e(a))?.classGroupId},cd=/^\[(.+)\]$/,ld=e=>{if(cd.test(e)){let t=cd.exec(e)[1],n=t?.substring(0,t.indexOf(`:`));if(n)return`arbitrary..`+n}},ud=e=>{let{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return md(Object.entries(e.classGroups),n).forEach(([e,n])=>{dd(n,r,e,t)}),r},dd=(e,t,n,r)=>{e.forEach(e=>{if(typeof e==`string`){let r=e===``?t:fd(t,e);r.classGroupId=n;return}if(typeof e==`function`){if(pd(e)){dd(e(r),t,n,r);return}t.validators.push({validator:e,classGroupId:n});return}Object.entries(e).forEach(([e,i])=>{dd(i,fd(t,e),n,r)})})},fd=(e,t)=>{let n=e;return t.split(ad).forEach(e=>{n.nextPart.has(e)||n.nextPart.set(e,{nextPart:new Map,validators:[]}),n=n.nextPart.get(e)}),n},pd=e=>e.isThemeGetter,md=(e,t)=>t?e.map(([e,n])=>[e,n.map(e=>typeof e==`string`?t+e:typeof e==`object`?Object.fromEntries(Object.entries(e).map(([e,n])=>[t+e,n])):e)]):e,hd=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=new Map,r=new Map,i=(i,a)=>{n.set(i,a),t++,t>e&&(t=0,r=n,n=new Map)};return{get(e){let t=n.get(e);if(t!==void 0)return t;if((t=r.get(e))!==void 0)return i(e,t),t},set(e,t){n.has(e)?n.set(e,t):i(e,t)}}},gd=`!`,_d=e=>{let{separator:t,experimentalParseClassName:n}=e,r=t.length===1,i=t[0],a=t.length,o=e=>{let n=[],o=0,s=0,c;for(let l=0;l<e.length;l++){let u=e[l];if(o===0){if(u===i&&(r||e.slice(l,l+a)===t)){n.push(e.slice(s,l)),s=l+a;continue}if(u===`/`){c=l;continue}}u===`[`?o++:u===`]`&&o--}let l=n.length===0?e:e.substring(s),u=l.startsWith(gd);return{modifiers:n,hasImportantModifier:u,baseClassName:u?l.substring(1):l,maybePostfixModifierPosition:c&&c>s?c-s:void 0}};return n?e=>n({className:e,parseClassName:o}):o},vd=e=>{if(e.length<=1)return e;let t=[],n=[];return e.forEach(e=>{e[0]===`[`?(t.push(...n.sort(),e),n=[]):n.push(e)}),t.push(...n.sort()),t},yd=e=>({cache:hd(e.cacheSize),parseClassName:_d(e),...od(e)}),bd=/\s+/,xd=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i}=t,a=[],o=e.trim().split(bd),s=``;for(let e=o.length-1;e>=0;--e){let t=o[e],{modifiers:c,hasImportantModifier:l,baseClassName:u,maybePostfixModifierPosition:d}=n(t),f=!!d,p=r(f?u.substring(0,d):u);if(!p){if(!f){s=t+(s.length>0?` `+s:s);continue}if(p=r(u),!p){s=t+(s.length>0?` `+s:s);continue}f=!1}let m=vd(c).join(`:`),h=l?m+gd:m,g=h+p;if(a.includes(g))continue;a.push(g);let _=i(p,f);for(let e=0;e<_.length;++e){let t=_[e];a.push(h+t)}s=t+(s.length>0?` `+s:s)}return s};function Sd(){let e=0,t,n,r=``;for(;e<arguments.length;)(t=arguments[e++])&&(n=Cd(t))&&(r&&(r+=` `),r+=n);return r}var Cd=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Cd(e[r]))&&(n&&(n+=` `),n+=t);return n};function wd(e,...t){let n,r,i,a=o;function o(o){return n=yd(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)}function s(e){let t=r(e);if(t)return t;let a=xd(e,n);return i(e,a),a}return function(){return a(Sd.apply(null,arguments))}}var q=e=>{let t=t=>t[e]||[];return t.isThemeGetter=!0,t},Td=/^\[(?:([a-z-]+):)?(.+)\]$/i,Ed=/^\d+\/\d+$/,Dd=new Set([`px`,`full`,`screen`]),Od=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,kd=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Ad=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,jd=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Md=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Nd=e=>Fd(e)||Dd.has(e)||Ed.test(e),Pd=e=>qd(e,`length`,Jd),Fd=e=>!!e&&!Number.isNaN(Number(e)),Id=e=>qd(e,`number`,Fd),Ld=e=>!!e&&Number.isInteger(Number(e)),Rd=e=>e.endsWith(`%`)&&Fd(e.slice(0,-1)),J=e=>Td.test(e),zd=e=>Od.test(e),Bd=new Set([`length`,`size`,`percentage`]),Vd=e=>qd(e,Bd,Yd),Hd=e=>qd(e,`position`,Yd),Ud=new Set([`image`,`url`]),Wd=e=>qd(e,Ud,Zd),Gd=e=>qd(e,``,Xd),Kd=()=>!0,qd=(e,t,n)=>{let r=Td.exec(e);return r?r[1]?typeof t==`string`?r[1]===t:t.has(r[1]):n(r[2]):!1},Jd=e=>kd.test(e)&&!Ad.test(e),Yd=()=>!1,Xd=e=>jd.test(e),Zd=e=>Md.test(e),Qd=wd(()=>{let e=q(`colors`),t=q(`spacing`),n=q(`blur`),r=q(`brightness`),i=q(`borderColor`),a=q(`borderRadius`),o=q(`borderSpacing`),s=q(`borderWidth`),c=q(`contrast`),l=q(`grayscale`),u=q(`hueRotate`),d=q(`invert`),f=q(`gap`),p=q(`gradientColorStops`),m=q(`gradientColorStopPositions`),h=q(`inset`),g=q(`margin`),_=q(`opacity`),v=q(`padding`),y=q(`saturate`),b=q(`scale`),x=q(`sepia`),S=q(`skew`),C=q(`space`),w=q(`translate`),T=()=>[`auto`,`contain`,`none`],E=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],D=()=>[`auto`,J,t],O=()=>[J,t],k=()=>[``,Nd,Pd],A=()=>[`auto`,Fd,J],j=()=>[`bottom`,`center`,`left`,`left-bottom`,`left-top`,`right`,`right-bottom`,`right-top`,`top`],M=()=>[`solid`,`dashed`,`dotted`,`double`,`none`],N=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],P=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`],F=()=>[``,`0`,J],I=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],L=()=>[Fd,J];return{cacheSize:500,separator:`:`,theme:{colors:[Kd],spacing:[Nd,Pd],blur:[`none`,``,zd,J],brightness:L(),borderColor:[e],borderRadius:[`none`,``,`full`,zd,J],borderSpacing:O(),borderWidth:k(),contrast:L(),grayscale:F(),hueRotate:L(),invert:F(),gap:O(),gradientColorStops:[e],gradientColorStopPositions:[Rd,Pd],inset:D(),margin:D(),opacity:L(),padding:O(),saturate:L(),scale:L(),sepia:F(),skew:L(),space:O(),translate:O()},classGroups:{aspect:[{aspect:[`auto`,`square`,`video`,J]}],container:[`container`],columns:[{columns:[zd]}],"break-after":[{"break-after":I()}],"break-before":[{"break-before":I()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:[...j(),J]}],overflow:[{overflow:E()}],"overflow-x":[{"overflow-x":E()}],"overflow-y":[{"overflow-y":E()}],overscroll:[{overscroll:T()}],"overscroll-x":[{"overscroll-x":T()}],"overscroll-y":[{"overscroll-y":T()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:[h]}],"inset-x":[{"inset-x":[h]}],"inset-y":[{"inset-y":[h]}],start:[{start:[h]}],end:[{end:[h]}],top:[{top:[h]}],right:[{right:[h]}],bottom:[{bottom:[h]}],left:[{left:[h]}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[`auto`,Ld,J]}],basis:[{basis:D()}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`wrap`,`wrap-reverse`,`nowrap`]}],flex:[{flex:[`1`,`auto`,`initial`,`none`,J]}],grow:[{grow:F()}],shrink:[{shrink:F()}],order:[{order:[`first`,`last`,`none`,Ld,J]}],"grid-cols":[{"grid-cols":[Kd]}],"col-start-end":[{col:[`auto`,{span:[`full`,Ld,J]},J]}],"col-start":[{"col-start":A()}],"col-end":[{"col-end":A()}],"grid-rows":[{"grid-rows":[Kd]}],"row-start-end":[{row:[`auto`,{span:[Ld,J]},J]}],"row-start":[{"row-start":A()}],"row-end":[{"row-end":A()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":[`auto`,`min`,`max`,`fr`,J]}],"auto-rows":[{"auto-rows":[`auto`,`min`,`max`,`fr`,J]}],gap:[{gap:[f]}],"gap-x":[{"gap-x":[f]}],"gap-y":[{"gap-y":[f]}],"justify-content":[{justify:[`normal`,...P()]}],"justify-items":[{"justify-items":[`start`,`end`,`center`,`stretch`]}],"justify-self":[{"justify-self":[`auto`,`start`,`end`,`center`,`stretch`]}],"align-content":[{content:[`normal`,...P(),`baseline`]}],"align-items":[{items:[`start`,`end`,`center`,`baseline`,`stretch`]}],"align-self":[{self:[`auto`,`start`,`end`,`center`,`stretch`,`baseline`]}],"place-content":[{"place-content":[...P(),`baseline`]}],"place-items":[{"place-items":[`start`,`end`,`center`,`baseline`,`stretch`]}],"place-self":[{"place-self":[`auto`,`start`,`end`,`center`,`stretch`]}],p:[{p:[v]}],px:[{px:[v]}],py:[{py:[v]}],ps:[{ps:[v]}],pe:[{pe:[v]}],pt:[{pt:[v]}],pr:[{pr:[v]}],pb:[{pb:[v]}],pl:[{pl:[v]}],m:[{m:[g]}],mx:[{mx:[g]}],my:[{my:[g]}],ms:[{ms:[g]}],me:[{me:[g]}],mt:[{mt:[g]}],mr:[{mr:[g]}],mb:[{mb:[g]}],ml:[{ml:[g]}],"space-x":[{"space-x":[C]}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":[C]}],"space-y-reverse":[`space-y-reverse`],w:[{w:[`auto`,`min`,`max`,`fit`,`svw`,`lvw`,`dvw`,J,t]}],"min-w":[{"min-w":[J,t,`min`,`max`,`fit`]}],"max-w":[{"max-w":[J,t,`none`,`full`,`min`,`max`,`fit`,`prose`,{screen:[zd]},zd]}],h:[{h:[J,t,`auto`,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],"min-h":[{"min-h":[J,t,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],"max-h":[{"max-h":[J,t,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],size:[{size:[J,t,`auto`,`min`,`max`,`fit`]}],"font-size":[{text:[`base`,zd,Pd]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`,Id]}],"font-family":[{font:[Kd]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`,J]}],"line-clamp":[{"line-clamp":[`none`,Fd,Id]}],leading:[{leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`,Nd,J]}],"list-image":[{"list-image":[`none`,J]}],"list-style-type":[{list:[`none`,`disc`,`decimal`,J]}],"list-style-position":[{list:[`inside`,`outside`]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[_]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[_]}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...M(),`wavy`]}],"text-decoration-thickness":[{decoration:[`auto`,`from-font`,Nd,Pd]}],"underline-offset":[{"underline-offset":[`auto`,Nd,J]}],"text-decoration-color":[{decoration:[e]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:O()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,J]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,J]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-opacity":[{"bg-opacity":[_]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:[...j(),Hd]}],"bg-repeat":[{bg:[`no-repeat`,{repeat:[``,`x`,`y`,`round`,`space`]}]}],"bg-size":[{bg:[`auto`,`cover`,`contain`,Vd]}],"bg-image":[{bg:[`none`,{"gradient-to":[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},Wd]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[m]}],"gradient-via-pos":[{via:[m]}],"gradient-to-pos":[{to:[m]}],"gradient-from":[{from:[p]}],"gradient-via":[{via:[p]}],"gradient-to":[{to:[p]}],rounded:[{rounded:[a]}],"rounded-s":[{"rounded-s":[a]}],"rounded-e":[{"rounded-e":[a]}],"rounded-t":[{"rounded-t":[a]}],"rounded-r":[{"rounded-r":[a]}],"rounded-b":[{"rounded-b":[a]}],"rounded-l":[{"rounded-l":[a]}],"rounded-ss":[{"rounded-ss":[a]}],"rounded-se":[{"rounded-se":[a]}],"rounded-ee":[{"rounded-ee":[a]}],"rounded-es":[{"rounded-es":[a]}],"rounded-tl":[{"rounded-tl":[a]}],"rounded-tr":[{"rounded-tr":[a]}],"rounded-br":[{"rounded-br":[a]}],"rounded-bl":[{"rounded-bl":[a]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[_]}],"border-style":[{border:[...M(),`hidden`]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":[`divide-y-reverse`],"divide-opacity":[{"divide-opacity":[_]}],"divide-style":[{divide:M()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:[``,...M()]}],"outline-offset":[{"outline-offset":[Nd,J]}],"outline-w":[{outline:[Nd,Pd]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:k()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[_]}],"ring-offset-w":[{"ring-offset":[Nd,Pd]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:[``,`inner`,`none`,zd,Gd]}],"shadow-color":[{shadow:[Kd]}],opacity:[{opacity:[_]}],"mix-blend":[{"mix-blend":[...N(),`plus-lighter`,`plus-darker`]}],"bg-blend":[{"bg-blend":N()}],filter:[{filter:[``,`none`]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[c]}],"drop-shadow":[{"drop-shadow":[``,`none`,zd,J]}],grayscale:[{grayscale:[l]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[d]}],saturate:[{saturate:[y]}],sepia:[{sepia:[x]}],"backdrop-filter":[{"backdrop-filter":[``,`none`]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[c]}],"backdrop-grayscale":[{"backdrop-grayscale":[l]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[d]}],"backdrop-opacity":[{"backdrop-opacity":[_]}],"backdrop-saturate":[{"backdrop-saturate":[y]}],"backdrop-sepia":[{"backdrop-sepia":[x]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":[o]}],"border-spacing-x":[{"border-spacing-x":[o]}],"border-spacing-y":[{"border-spacing-y":[o]}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[`none`,`all`,``,`colors`,`opacity`,`shadow`,`transform`,J]}],duration:[{duration:L()}],ease:[{ease:[`linear`,`in`,`out`,`in-out`,J]}],delay:[{delay:L()}],animate:[{animate:[`none`,`spin`,`ping`,`pulse`,`bounce`,J]}],transform:[{transform:[``,`gpu`,`none`]}],scale:[{scale:[b]}],"scale-x":[{"scale-x":[b]}],"scale-y":[{"scale-y":[b]}],rotate:[{rotate:[Ld,J]}],"translate-x":[{"translate-x":[w]}],"translate-y":[{"translate-y":[w]}],"skew-x":[{"skew-x":[S]}],"skew-y":[{"skew-y":[S]}],"transform-origin":[{origin:[`center`,`top`,`top-right`,`right`,`bottom-right`,`bottom`,`bottom-left`,`left`,`top-left`,J]}],accent:[{accent:[`auto`,e]}],appearance:[{appearance:[`none`,`auto`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,J]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":[`none`,`auto`]}],resize:[{resize:[`none`,`y`,`x`,``]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":O()}],"scroll-mx":[{"scroll-mx":O()}],"scroll-my":[{"scroll-my":O()}],"scroll-ms":[{"scroll-ms":O()}],"scroll-me":[{"scroll-me":O()}],"scroll-mt":[{"scroll-mt":O()}],"scroll-mr":[{"scroll-mr":O()}],"scroll-mb":[{"scroll-mb":O()}],"scroll-ml":[{"scroll-ml":O()}],"scroll-p":[{"scroll-p":O()}],"scroll-px":[{"scroll-px":O()}],"scroll-py":[{"scroll-py":O()}],"scroll-ps":[{"scroll-ps":O()}],"scroll-pe":[{"scroll-pe":O()}],"scroll-pt":[{"scroll-pt":O()}],"scroll-pr":[{"scroll-pr":O()}],"scroll-pb":[{"scroll-pb":O()}],"scroll-pl":[{"scroll-pl":O()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,J]}],fill:[{fill:[e,`none`]}],"stroke-w":[{stroke:[Nd,Pd,Id]}],stroke:[{stroke:[e,`none`]}],sr:[`sr-only`,`not-sr-only`],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-s`,`border-w-e`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-s`,`border-color-e`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]}}});function Y(...e){return Qd(id(e))}function $d({delayDuration:e=0,...t}){return(0,z.jsx)(td,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}var ef=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),tf=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),nf={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},rf=(0,S.forwardRef)(({color:e=`currentColor`,size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>(0,S.createElement)(`svg`,{ref:c,...nf,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:tf(`lucide`,i),...s},[...o.map(([e,t])=>(0,S.createElement)(e,t)),...Array.isArray(a)?a:[a]])),X=(e,t)=>{let n=(0,S.forwardRef)(({className:n,...r},i)=>(0,S.createElement)(rf,{ref:i,iconNode:t,className:tf(`lucide-${ef(e)}`,n),...r}));return n.displayName=`${e}`,n},af=X(`ArrowLeft`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),of=X(`ArrowRight`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]),sf=X(`Bell`,[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]),cf=X(`Check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),lf=X(`ChevronDown`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),uf=X(`ChevronLeft`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),df=X(`ChevronRight`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),ff=X(`ChevronUp`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),pf=X(`CircleAlert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),mf=X(`CircleCheck`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),hf=X(`CircleHelp`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),gf=X(`CircleSlash`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`,key:`1dfufj`}]]),_f=X(`CircleUser`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`10`,r:`3`,key:`ilqhr7`}],[`path`,{d:`M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662`,key:`154egf`}]]),vf=X(`CircleX`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),yf=X(`Circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),bf=X(`Flag`,[[`path`,{d:`M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z`,key:`i9b6wo`}],[`line`,{x1:`4`,x2:`4`,y1:`22`,y2:`15`,key:`1cm3nv`}]]),xf=X(`GitBranch`,[[`line`,{x1:`6`,x2:`6`,y1:`3`,y2:`15`,key:`17qcm7`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}],[`path`,{d:`M18 9a9 9 0 0 1-9 9`,key:`n2h4wq`}]]),Sf=X(`Inbox`,[[`polyline`,{points:`22 12 16 12 14 15 10 15 8 12 2 12`,key:`o97t9d`}],[`path`,{d:`M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`oot6mr`}]]),Cf=X(`Keyboard`,[[`path`,{d:`M10 8h.01`,key:`1r9ogq`}],[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M14 8h.01`,key:`1primd`}],[`path`,{d:`M16 12h.01`,key:`1l6xoz`}],[`path`,{d:`M18 8h.01`,key:`emo2bl`}],[`path`,{d:`M6 8h.01`,key:`x9i8wu`}],[`path`,{d:`M7 16h10`,key:`wp8him`}],[`path`,{d:`M8 12h.01`,key:`czm47f`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`,key:`18n3k1`}]]),wf=X(`LayoutDashboard`,[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]),Tf=X(`LoaderCircle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),Ef=X(`Loader`,[[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m16.2 7.8 2.9-2.9`,key:`r700ao`}],[`path`,{d:`M18 12h4`,key:`wj9ykh`}],[`path`,{d:`m16.2 16.2 2.9 2.9`,key:`1bxg5t`}],[`path`,{d:`M12 18v4`,key:`jadmvz`}],[`path`,{d:`m4.9 19.1 2.9-2.9`,key:`bwix9q`}],[`path`,{d:`M2 12h4`,key:`j09sii`}],[`path`,{d:`m4.9 4.9 2.9 2.9`,key:`giyufr`}]]),Df=X(`MessagesSquare`,[[`path`,{d:`M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z`,key:`p1xzt8`}],[`path`,{d:`M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1`,key:`1cx29u`}]]),Of=X(`Network`,[[`rect`,{x:`16`,y:`16`,width:`6`,height:`6`,rx:`1`,key:`4q2zg0`}],[`rect`,{x:`2`,y:`16`,width:`6`,height:`6`,rx:`1`,key:`8cvhb9`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`6`,rx:`1`,key:`1egb70`}],[`path`,{d:`M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3`,key:`1jsf9p`}],[`path`,{d:`M12 12V8`,key:`2874zd`}]]),kf=X(`Plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),Af=X(`Search`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`path`,{d:`m21 21-4.3-4.3`,key:`1qie3q`}]]),jf=X(`Settings`,[[`path`,{d:`M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z`,key:`1qme2f`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Mf=X(`ShieldCheck`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Nf=X(`TriangleAlert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Pf=X(`X`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]);function Ff(){let e=new Map;return{run(t,n){let r=e.get(t);if(r!==void 0)return r;let i=n().finally(()=>{e.get(t)===i&&e.delete(t)});return e.set(t,i),i},get pending(){return e.size}}}var If=Ff(),Lf=(()=>{let e=new URLSearchParams(window.location.search).get(`token`);return e!==null&&e!==``?e:void 0})();async function Rf(e,t){try{let n={"content-type":`application/json`};Lf!==void 0&&(n.authorization=`Bearer ${Lf}`);let r=await fetch(`/__crtr/source`,{method:`POST`,headers:n,body:JSON.stringify(e),...t===void 0?{}:{signal:t}});return r.ok?await r.json():{ok:!1,stdout:``,stderr:`bridge ${r.status} ${r.statusText}`}}catch(e){return t?.aborted===!0||e instanceof DOMException&&e.name===`AbortError`?{ok:!1,stdout:``,stderr:`aborted`}:{ok:!1,stdout:``,stderr:e instanceof Error?e.message:String(e)}}}async function zf(e,t,n){return Rf({kind:`exec`,bin:`crtr`,args:e,...t===void 0?{}:{stdin:t}},n)}var Bf=class extends Error{code;constructor(e,t){super(t),this.name=`CommandError`,this.code=e}};function Vf(e){let t=e.stdout.trim();if(t===``)return null;try{let e=JSON.parse(t);if(e&&typeof e==`object`&&typeof e.error==`string`&&typeof e.message==`string`)return{code:e.error,message:e.message}}catch{}return null}async function Hf(e,t,n){let r=await zf(e,t,n);if(!r.ok)throw new Bf(`bridge`,r.stderr||`bridge request failed`);let i=Vf(r);if(i!==null)throw new Bf(i.code,i.message);if(r.exitCode!==void 0&&r.exitCode!==0)throw new Bf(`bridge`,r.stderr||`crtr ${e.join(` `)} failed (${r.exitCode})`);if(r.stdout.trim()!==``)try{return JSON.parse(r.stdout)}catch(e){throw new Bf(`bridge`,e instanceof Error?e.message:String(e))}}function Uf(){return If.run(`canvas:snapshot`,()=>Hf([`canvas`,`snapshot`,`--json`]))}function Wf(e){return If.run(`node:inspect:${e}`,()=>Hf([`node`,`inspect`,`show`,e,`--json`]).then(e=>e.node))}function Gf(e){return If.run(`node:snapshot:${e}`,()=>Hf([`node`,`inspect`,`snapshot`,e,`--json`]))}function Kf(e){let t=[`node`,`new`,`--kind`,e.kind];return e.mode&&t.push(`--mode`,e.mode),e.root&&t.push(`--root`),e.cwd?.trim()&&t.push(`--cwd`,e.cwd.trim()),e.name?.trim()&&t.push(`--name`,e.name.trim()),e.model?.trim()&&t.push(`--model`,e.model.trim()),e.parent?.trim()&&t.push(`--parent`,e.parent.trim()),t.push(`--json`),Hf(t,e.prompt)}function qf(e,t){let n=[`node`,`msg`,`--to`,e];return t.tier?.trim()&&n.push(`--tier`,t.tier.trim()),n.push(`--json`),Hf(n,t.body)}function Jf(e,t={}){let n=[`canvas`,`revive`,e];return t.fresh&&n.push(`--fresh`),n.push(`--json`),Hf(n)}function Yf(e){return Hf([`node`,`lifecycle`,`close`,`--node`,e,`--json`])}async function Xf(e,t){let n=await Rf({kind:`file`,path:t});if(!n.ok)throw new Bf(`bridge`,n.stderr||`failed to read ${t}`);return{path:t,content:n.stdout,truncated:!1}}function Zf(){return If.run(`view:list`,async()=>{let e=await Hf([`surface`,`view`,`list`,`--json`]);return(Array.isArray(e)?e:e.views??[]).map(e=>({id:e.id,title:e.title,description:e.description,scope:e.scope}))})}var Qf=new Set,$f=!1,ep=(()=>{let e=new URLSearchParams(window.location.search).get(`token`);return e!==null&&e!==``?e:void 0})();function tp(){if($f)return;$f=!0;let e;try{let t=new URL(`/__crtr/events`,window.location.href);ep!==void 0&&t.searchParams.set(`token`,ep),e=new EventSource(t.toString())}catch{$f=!1;return}e.onmessage=e=>{let t;try{t=JSON.parse(e.data).kind}catch{return}if(t!==void 0)for(let e of Qf)e.kinds.includes(t)&&e.refresh()}}function np(e,t){let n=(0,S.useRef)(t);n.current=t,(0,S.useEffect)(()=>{tp();let t={kinds:e,refresh:()=>n.current()};return Qf.add(t),()=>{Qf.delete(t)}},[e.join(`,`)])}var rp=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},ip=(e=>e?rp(e):rp),ap=e=>e;function op(e,t=ap){let n=S.useSyncExternalStore(e.subscribe,S.useCallback(()=>t(e.getState()),[e,t]),S.useCallback(()=>t(e.getInitialState()),[e,t]));return S.useDebugValue(n),n}var sp=e=>{let t=ip(e),n=e=>op(t,e);return Object.assign(n,t),n},cp=(e=>e?sp(e):sp),lp=cp(e=>({reachable:!0,setReachable:t=>e({reachable:t})})),up=3e4;function dp(){let[e,t]=(0,S.useState)([]),[n,r]=(0,S.useState)(null),[i,a]=(0,S.useState)(!0),[o,s]=(0,S.useState)(0);return np([`nodes`,`inbox`],(0,S.useCallback)(()=>s(e=>e+1),[])),(0,S.useEffect)(()=>{let e=!1,n=n=>{e||(t(n.nodes),r(n.generated_at),a(!1),lp.getState().setReachable(!0))},i=async()=>{try{n(await Uf())}catch{e||(a(!1),lp.getState().setReachable(!1))}};i();let o=setInterval(()=>void i(),up);return()=>{e=!0,clearInterval(o)}},[o]),{nodes:e,generatedAt:n,loading:i}}var fp=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,pp=id,mp=(e,t)=>n=>{if(t?.variants==null)return pp(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=fp(t)||fp(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return pp(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},hp=mp(`btn justify-center transition-all outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`primary`,destructive:`danger`,outline:``,secondary:``,ghost:`border-transparent`,link:`border-transparent bg-transparent text-primary underline-offset-4 hover:underline hover:bg-transparent`},size:{default:``,xs:`sm gap-1 text-xs [&_svg:not([class*='size-'])]:size-3`,sm:`sm`,lg:`px-6 py-2.5`,icon:`p-0 size-9`,"icon-xs":`p-0 size-6 rounded-[7px] [&_svg:not([class*='size-'])]:size-3`,"icon-sm":`p-0 size-8 rounded-[7px]`,"icon-lg":`p-0 size-10`}},defaultVariants:{variant:`default`,size:`default`}});function Z({className:e,variant:t=`default`,size:n=`default`,asChild:r=!1,...i}){return(0,z.jsx)(r?Qn:`button`,{"data-slot":`button`,"data-variant":t,"data-size":n,className:Y(hp({variant:t,size:n,className:e})),...i})}function gp({...e}){return(0,z.jsx)(Ja,{"data-slot":`dialog`,...e})}function _p({...e}){return(0,z.jsx)(eo,{"data-slot":`dialog-portal`,...e})}function vp({className:e,...t}){return(0,z.jsx)(no,{"data-slot":`dialog-overlay`,className:Y(`fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),...t})}function yp({className:e,children:t,showCloseButton:n=!0,...r}){return(0,z.jsxs)(_p,{"data-slot":`dialog-portal`,children:[(0,z.jsx)(vp,{}),(0,z.jsxs)(oo,{"data-slot":`dialog-content`,className:Y(`fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg`,e),...r,children:[t,n&&(0,z.jsxs)(ho,{"data-slot":`dialog-close`,className:`absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,children:[(0,z.jsx)(Pf,{}),(0,z.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function bp({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`dialog-header`,className:Y(`flex flex-col gap-2 text-center sm:text-left`,e),...t})}function xp({className:e,showCloseButton:t=!1,children:n,...r}){return(0,z.jsxs)(`div`,{"data-slot":`dialog-footer`,className:Y(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...r,children:[n,t&&(0,z.jsx)(ho,{asChild:!0,children:(0,z.jsx)(Z,{variant:`outline`,children:`Close`})})]})}function Sp({className:e,...t}){return(0,z.jsx)(H,{"data-slot":`dialog-title`,className:Y(`text-lg leading-none font-semibold`,e),...t})}function Cp({className:e,...t}){return(0,z.jsx)(po,{"data-slot":`dialog-description`,className:Y(`text-sm text-muted-foreground`,e),...t})}function wp({className:e,type:t,...n}){return(0,z.jsx)(`input`,{type:t,"data-slot":`input`,className:Y(`h-9 w-full min-w-0 rounded-md border border-[var(--line)] bg-[oklch(0_0_0/0.25)] px-3 py-1 text-sm text-[var(--ink)] shadow-[inset_0_1px_3px_oklch(0_0_0/0.3)] transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-[var(--dim)] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,`focus-visible:border-[var(--line2)] focus-visible:ring-[3px] focus-visible:ring-ring/40`,`aria-invalid:border-destructive aria-invalid:ring-destructive/20`,e),...n})}function Tp({className:e,...t}){return(0,z.jsx)(rl,{"data-slot":`label`,className:Y(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}function Ep({...e}){return(0,z.jsx)(bl,{"data-slot":`select`,...e})}function Dp({...e}){return(0,z.jsx)(wl,{"data-slot":`select-value`,...e})}function Op({className:e,size:t=`default`,children:n,...r}){return(0,z.jsxs)(Sl,{"data-slot":`select-trigger`,"data-size":t,className:Y(`flex w-fit items-center justify-between gap-2 rounded-md border border-[var(--line)] bg-[oklch(0.92_0.008_80/0.02)] px-3 py-2 text-sm text-[var(--ink2)] whitespace-nowrap transition-[color,box-shadow] outline-none cursor-pointer focus-visible:border-[var(--line2)] focus-visible:ring-[3px] focus-visible:ring-ring/40 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-[var(--mut)] data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-[var(--mut)]`,e),...r,children:[n,(0,z.jsx)(El,{asChild:!0,children:(0,z.jsx)(lf,{className:`size-4 opacity-50`})})]})}function kp({className:e,children:t,position:n=`item-aligned`,align:r=`center`,...i}){return(0,z.jsx)(Al,{children:(0,z.jsxs)(Ml,{"data-slot":`select-content`,className:Y(`relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,align:r,...i,children:[(0,z.jsx)(jp,{}),(0,z.jsx)(Wl,{className:Y(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1`),children:t}),(0,z.jsx)(Mp,{})]})})}function Ap({className:e,children:t,...n}){return(0,z.jsxs)(eu,{"data-slot":`select-item`,className:Y(`relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,e),...n,children:[(0,z.jsx)(`span`,{"data-slot":`select-item-indicator`,className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,z.jsx)(iu,{children:(0,z.jsx)(cf,{className:`size-4`})})}),(0,z.jsx)(nu,{children:t})]})}function jp({className:e,...t}){return(0,z.jsx)(ou,{"data-slot":`select-scroll-up-button`,className:Y(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,z.jsx)(ff,{className:`size-4`})})}function Mp({className:e,...t}){return(0,z.jsx)(cu,{"data-slot":`select-scroll-down-button`,className:Y(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,z.jsx)(lf,{className:`size-4`})})}function Np({className:e,...t}){return(0,z.jsx)(`textarea`,{"data-slot":`textarea`,className:Y(`flex field-sizing-content min-h-16 w-full rounded-md border border-[var(--line)] bg-[oklch(0_0_0/0.3)] px-3 py-2 text-sm text-[var(--ink)] shadow-[inset_0_2px_6px_oklch(0_0_0/0.3)] transition-[color,box-shadow] outline-none placeholder:text-[var(--dim)] focus-visible:border-[var(--line2)] focus-visible:ring-[3px] focus-visible:ring-ring/40 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20`,e),...t})}var Pp=mp(`badge w-fit max-w-full overflow-hidden text-[var(--ink2)] whitespace-nowrap [&>svg]:pointer-events-none [&>svg]:size-3`,{variants:{variant:{default:``,secondary:`dead`,destructive:`blocked`,outline:``,ghost:`border-transparent`,link:`border-transparent underline-offset-4 [a&]:hover:underline`}},defaultVariants:{variant:`default`}});function Fp({className:e,variant:t=`default`,asChild:n=!1,...r}){return(0,z.jsx)(n?Qn:`span`,{"data-slot":`badge`,"data-variant":t,className:Y(Pp({variant:t}),e),...r})}function Ip(e){return e instanceof Bf&&(e.code===`not_found`||e.code===`already_resolved`||e.code===`claimed`)}function Lp(e){let t=e.indexOf(`/.crouter/interactions/`);return t>=0?e.slice(0,t):e}function Rp(e){if(e.trim()===``)return{title:``};let t=e.match(/^\s*#{1,6}\s+(.+?)\s*(?:\n|$)/);return t?{title:t[1],body:e.slice(t[0].length).trim()||void 0}:{title:e.trim(),body:e.trim()}}function zp(e){switch(e){case`notify`:case`validation`:case`decision`:case`context`:case`error`:return e}throw Error(`Unknown deck kind: ${e}`)}function Bp(e){let{title:t,body:n}=Rp(e.prompt);return{id:e.id,title:t||e.id,body:n,kind:zp(e.kind),options:e.options.map(e=>({id:e.id,label:e.label,...e.description===void 0?{}:{description:e.description}})),multiSelect:e.multiSelect,allowFreetext:e.allow_freetext}}function Vp(e){return{id:e.id,job_id:e.job_id,kind:zp(e.kind),title:e.title,blocked_since:e.blocked_since,conversation_id:e.conversation_id,conversation_title:e.conversation_title,asking_node_id:e.asking_node_id,asking_node_name:e.asking_node_name,cwd:Lp(e.dir),interaction_count:e.interaction_count}}function Hp(e,t){return{id:e.id,job_id:e.job_id??e.id,kind:zp(e.kind),title:e.title,blocked_since:e.blocked_since,conversation_id:e.conversation_id,conversation_title:e.conversation_title,asking_node_id:e.asking_node_id,asking_node_name:e.asking_node_name,cwd:t,interaction_count:e.interaction_count,interactions:e.interactions.map(Bp)}}function Up(){return If.run(`human:list`,async()=>(await Hf([`human`,`list`,`--json`])).items.map(Vp))}async function Wp(e){let t=await Hf([`human`,`deck`,e,`--json`]),n=(await Wf(t.asking_node_id)).cwd;return Hp(t,n)}async function Gp(e,t){let n=JSON.stringify({responses:t.responses}),r=await Hf([`human`,`resolve`,e,`--json`],n);if(r.resolved!==!0)throw new Bf(r.reason===`claimed`?`claimed`:`already_resolved`,r.reason===`claimed`?`That request is already being handled.`:`That request was already handled.`);return{resolved:!0,job_id:r.job_id??e,delivered:r.delivered??!0}}function Kp(e){let t=0;for(let n of e)t+=Math.max(0,n.attention_count);return t}function qp(){let{nodes:e}=dp();return Kp(e)}function Jp(){let[e,t]=(0,S.useState)([]),[n,r]=(0,S.useState)(!0),[i,a]=(0,S.useState)(0),o=(0,S.useCallback)(()=>a(e=>e+1),[]);return np([`inbox`,`nodes`],o),(0,S.useEffect)(()=>{let e=!1;return Up().then(n=>{e||(t(n),r(!1))}).catch(()=>{e||r(!1)}),()=>{e=!0}},[i]),{decks:e,loading:n,refetch:o}}function Yp(e){let{decks:t}=Jp();return t.filter(t=>t.conversation_id===e)}var Xp={notify:{icon:sf,label:`Update`},validation:{icon:Mf,label:`Approval`},decision:{icon:xf,label:`Decision`},context:{icon:hf,label:`Question`},error:{icon:Nf,label:`Problem`}};function Zp(e){switch(e){case`notify`:return Xp.notify;case`validation`:return Xp.validation;case`decision`:return Xp.decision;case`context`:return Xp.context;case`error`:return Xp.error;default:return Xp.context}}function Qp(e,t=Date.now()){let n=new Date(e).getTime();if(Number.isNaN(n))return``;let r=Math.max(0,Math.round((t-n)/1e3));if(r<60)return`${r}s`;let i=Math.round(r/60);if(i<60)return`${i}m`;let a=Math.round(i/60);return a<24?`${a}h`:`${Math.round(a/24)}d`}var $p=1,em=cp(e=>({toasts:[],push:(t,n=`info`)=>{let r=$p++;e(e=>({toasts:[...e.toasts,{id:r,message:t,tone:n}]})),setTimeout(()=>e(e=>({toasts:e.toasts.filter(e=>e.id!==r)})),4e3)},dismiss:t=>e(e=>({toasts:e.toasts.filter(e=>e.id!==t)}))}));function tm(e,t=`info`){em.getState().push(e,t)}var nm=e=>({"--i":e});async function rm(e,t){let n=(await Wp(e)).interactions[0];await Gp(e,{responses:[t===`ack`?{id:n.id}:{id:n.id,selectedOptionIds:[(t===`yes`?n.options.find(e=>e.id===`yes`)?.id??n.options[0]?.id:n.options.find(e=>e.id===`no`)?.id??n.options[1]?.id)??t]}]})}function im(){let{decks:e,loading:t}=Jp(),n=(0,S.useMemo)(()=>[...e].sort((e,t)=>new Date(t.blocked_since).getTime()-new Date(e.blocked_since).getTime()),[e]);return t||n.length===0?null:(0,z.jsxs)(`section`,{className:`needs rv`,style:nm(3),children:[(0,z.jsxs)(`div`,{className:`needs-head`,children:[(0,z.jsx)(bf,{size:14,className:`flag`,"aria-hidden":!0}),(0,z.jsxs)(`span`,{className:`instlabel`,children:[`Needs you — `,n.length,` blocked`]}),(0,z.jsx)(`div`,{className:`rule`})]}),(0,z.jsx)(`div`,{className:`needs-grid`,children:n.map(e=>(0,z.jsx)(am,{deck:e},e.id))})]})}function am({deck:e}){let t=lt(),{refetch:n}=Jp(),[r,i]=(0,S.useState)(!1),[a,o]=(0,S.useState)(null),[s,c]=(0,S.useState)(!1),l=Zp(e.kind).label,u=Qp(e.blocked_since);e.kind===`decision`&&a===null&&!s&&(async()=>{if(!(e.kind!==`decision`||s||a!==null)){c(!0);try{let t=(await Wp(e.job_id)).interactions[0]?.options??[];o(t.length<=3?t:[])}catch(e){Ip(e)?(o([]),n()):(console.error(`[needs-you] failed to load decision options:`,e),o([]))}finally{c(!1)}}})();let d=async t=>{if(!r){i(!0);try{await rm(e.job_id,t),tm(`Done — thanks!`,`success`),n()}catch(e){if(Ip(e)){tm(e instanceof Error?e.message:`That request was already handled.`),n();return}console.error(`[needs-you] resolve failed:`,e),tm(`Something went wrong — try again.`)}finally{i(!1)}}},f=async t=>{if(!r){i(!0);try{let r=(await Wp(e.job_id)).interactions[0];await Gp(e.job_id,{responses:[{id:r.id,selectedOptionIds:[t]}]}),tm(`Done — thanks!`,`success`),n()}catch(e){if(Ip(e)){tm(e instanceof Error?e.message:`That request was already handled.`),n();return}console.error(`[needs-you] decision option resolve failed:`,e),tm(`Something went wrong — try again.`)}finally{i(!1)}}},p=e.kind===`decision`&&a!==null&&a.length>0;return(0,z.jsxs)(`div`,{className:`deck`,children:[(0,z.jsxs)(`div`,{className:`deck-meta`,children:[(0,z.jsx)(`span`,{className:`deck-kind`,children:l}),(0,z.jsx)(`span`,{className:`from`,children:e.asking_node_name}),(0,z.jsxs)(`span`,{className:`age`,children:[`blocked `,u]})]}),(0,z.jsx)(`p`,{className:`deck-q line-clamp-2`,children:e.title}),(0,z.jsxs)(`div`,{className:`deck-actions`,children:[e.kind===`notify`&&(0,z.jsx)(Z,{type:`button`,variant:`outline`,size:`sm`,disabled:r,onClick:()=>void d(`ack`),children:`Got it`}),e.kind===`validation`&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(Z,{type:`button`,size:`sm`,disabled:r,onClick:()=>void d(`yes`),children:`Approve`}),(0,z.jsx)(Z,{type:`button`,variant:`outline`,size:`sm`,disabled:r,onClick:()=>void d(`no`),children:`Reject`})]}),p&&a.map(e=>(0,z.jsx)(Z,{type:`button`,variant:`outline`,size:`sm`,disabled:r,onClick:()=>void f(e.id),children:e.label},e.id)),(0,z.jsxs)(Z,{type:`button`,variant:`ghost`,size:`sm`,disabled:r,onClick:()=>t(`/inbox/${encodeURIComponent(e.job_id)}`),style:{marginLeft:`auto`,color:`var(--dim)`},children:[`open thread `,(0,z.jsx)(of,{"aria-hidden":!0})]})]})]})}var om=e=>({"--i":e}),sm=`hosted in a tmux pane — open it in your terminal`;function cm(e){let t=new Map;for(let n of e)t.set(n.node_id,{node:n,children:[]});let n=[];for(let e of t.values()){let r=e.node.parent,i=r?t.get(r):void 0;i?i.children.push(e):n.push(e)}return n}var lm=[`active`,`idle`,`done`,`dead`,`canceled`],um={query:``,status:`all`,blockedOnly:!1};function dm(e){return e.query.trim()!==``||e.status!==`all`||e.blockedOnly}function fm(e,t){if(t.status!==`all`&&e.status!==t.status||t.blockedOnly&&e.attention_count<=0)return!1;let n=t.query.trim().toLowerCase();return!(n&&!`${e.name} ${e.kind} ${e.mode} ${e.cwd} ${e.node_id} ${e.status}`.toLowerCase().includes(n))}function pm(e,t){if(!dm(t))return e;let n=new Map(e.map(e=>[e.node_id,e])),r=new Set;for(let i of e){if(!fm(i,t))continue;let e=i;for(;e&&!r.has(e.node_id);)r.add(e.node_id),e=e.parent?n.get(e.parent):void 0}return e.filter(e=>r.has(e.node_id))}var mm=new Set([`dead`,`canceled`]);function hm(e){return mm.has(e.node.status)&&e.children.every(hm)}function gm(e){return 1+e.children.reduce((e,t)=>e+gm(t),0)}var _m=3,vm={active:yf,idle:yf,done:mf,dead:gf,canceled:vf};function ym(e,t){return t?pf:vm[e]??yf}function bm(e){return e.toLocaleTimeString(`en-GB`,{hour12:!1})}function xm(){let[e,t]=(0,S.useState)(()=>bm(new Date));return(0,S.useEffect)(()=>{let e=setInterval(()=>t(bm(new Date)),1e3);return()=>clearInterval(e)},[]),e}function Sm(){let{nodes:e}=dp(),[t,n]=(0,S.useState)(!1),[r,i]=(0,S.useState)(0),[a,o]=(0,S.useState)(um),s=(0,S.useRef)(null),c=xm(),l=e.filter(e=>e.status===`active`).length,u=(0,S.useMemo)(()=>cm(pm(e,a)),[e,a]);return(0,S.useEffect)(()=>{let e=e=>{if(e.key!==`/`||e.metaKey||e.ctrlKey||e.altKey)return;let t=document.activeElement;t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLElement&&t.isContentEditable||(e.preventDefault(),s.current?.focus())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]),(0,z.jsxs)(`div`,{className:`in relative z-[1] h-full min-h-0 overflow-auto`,style:{padding:`34px 44px 44px`},children:[(0,z.jsxs)(`div`,{className:`rv flex items-baseline gap-4`,style:om(1),children:[(0,z.jsx)(`h1`,{className:`text-2xl`,style:{fontFamily:`var(--font-display)`,fontWeight:420,letterSpacing:`-0.01em`,fontVariationSettings:`"opsz" 60`,color:`var(--ink)`},children:`Canvas`}),(0,z.jsxs)(`span`,{className:`text-sm`,style:{color:`var(--mut)`},children:[e.length,` `,e.length===1?`node`:`nodes`,l>0&&` · ${l} active`]}),(0,z.jsxs)(`div`,{className:`text-xs flex items-center gap-2`,style:{marginLeft:`auto`,fontFamily:`var(--font-inst)`,color:`var(--ink2)`,letterSpacing:`0.1em`},children:[(0,z.jsx)(`span`,{style:{width:`8px`,height:`8px`,borderRadius:`50%`,background:`var(--act)`,animation:`pulse 2.4s ease-out infinite`}}),(0,z.jsx)(`span`,{children:c})]})]}),(0,z.jsxs)(`div`,{className:`rv flex items-center gap-2.5`,style:{margin:`20px 0 22px`,...om(2)},children:[(0,z.jsxs)(`div`,{className:`search`,children:[(0,z.jsx)(Af,{size:14,className:`opacity-70`,"aria-hidden":!0}),(0,z.jsx)(`input`,{ref:s,value:a.query,onChange:e=>o(t=>({...t,query:e.currentTarget.value})),onKeyDown:e=>{e.key===`Escape`&&(o(e=>({...e,query:``})),e.currentTarget.blur())},placeholder:`Search name, kind, mode, cwd, id…`,"aria-label":`Search nodes`,className:`min-w-0 flex-1 border-0 bg-transparent p-0 text-sm outline-none`,style:{color:`var(--ink)`}}),(0,z.jsx)(`span`,{className:`kbd`,children:`/`})]}),(0,z.jsxs)(`label`,{className:`selectish`,children:[(0,z.jsxs)(`select`,{value:a.status,onChange:e=>o(t=>({...t,status:e.currentTarget.value})),"aria-label":`Filter by status`,className:`cursor-pointer appearance-none border-0 bg-transparent text-sm outline-none`,style:{color:`var(--ink2)`,fontFamily:`inherit`},children:[(0,z.jsx)(`option`,{value:`all`,children:`all statuses`}),lm.map(e=>(0,z.jsx)(`option`,{value:e,children:e},e))]}),(0,z.jsx)(`span`,{className:`car`,children:`▾`})]}),(0,z.jsxs)(`label`,{className:`checkish select-none`,children:[(0,z.jsx)(`span`,{className:`box`,style:a.blockedOnly?{background:`var(--blk)`,borderColor:`var(--blk)`}:void 0}),`blocked`,(0,z.jsx)(`input`,{type:`checkbox`,checked:a.blockedOnly,onChange:e=>o(t=>({...t,blockedOnly:e.currentTarget.checked})),className:`sr-only`})]}),(0,z.jsx)(`button`,{type:`button`,className:`btn primary`,style:{marginLeft:`auto`},onClick:()=>{i(e=>e+1),n(!0)},children:`+ Spawn a node`})]}),(0,z.jsx)(im,{}),(0,z.jsxs)(`div`,{className:`panel rv`,style:{padding:`6px 0`,...om(4)},children:[(0,z.jsxs)(`div`,{className:`flex items-center`,style:{padding:`10px 18px 9px`,borderBottom:`1px solid var(--line)`},children:[(0,z.jsx)(`span`,{className:`instlabel`,style:{color:`var(--dim)`},children:`Node forest`}),(0,z.jsx)(`span`,{className:`text-xs`,style:{marginLeft:`auto`,fontFamily:`var(--font-inst)`,color:`var(--dim)`,letterSpacing:`0.1em`},children:`sorted · activity`})]}),(0,z.jsx)(`div`,{className:`tree`,children:e.length===0?(0,z.jsx)(`p`,{className:`px-3 py-2 text-sm italic`,style:{color:`var(--mut)`},children:`No nodes on the canvas yet.`}):u.length===0?(0,z.jsx)(`p`,{className:`px-3 py-2 text-sm italic`,style:{color:`var(--mut)`},children:`No matching nodes.`}):u.map(e=>(0,z.jsx)(Cm,{node:e},e.node.node_id))})]}),(0,z.jsx)(Tm,{open:t,onClose:()=>n(!1)},r)]})}function Cm({node:e}){let t=lt(),[n,r]=(0,S.useState)(!1),i=e.node,a=i.attention_count>0,o=mm.has(i.status),s=a?`blocked`:i.status,c=e.children.filter(e=>!hm(e)),l=e.children.filter(e=>hm(e)),u=l.reduce((e,t)=>e+gm(t),0),d=u>=_m,f=d?c:e.children,p=()=>{i.enterable&&t(`/nodes/${encodeURIComponent(i.node_id)}`)};return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:Y(`node-row s-${s}`,o&&`dimmed`),onClick:p,role:i.enterable?`button`:void 0,tabIndex:i.enterable?0:void 0,style:i.enterable?void 0:{cursor:`default`},onKeyDown:e=>{i.enterable&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),p())},children:[(0,z.jsxs)(`div`,{className:`node-id`,children:[(0,z.jsxs)(`div`,{className:`node-l1`,children:[(0,z.jsx)(`span`,{className:`node-name`,children:i.name}),(0,z.jsxs)(`span`,{className:`node-kind`,children:[i.kind,` · `,i.mode]})]}),(0,z.jsxs)(`div`,{className:`node-l2`,children:[(0,z.jsx)(`span`,{className:`node-cwd`,title:i.cwd,children:i.cwd}),i.lifecycle&&(0,z.jsx)(`span`,{className:`node-life`,children:i.lifecycle}),!i.enterable&&(0,z.jsx)(`span`,{className:`node-note`,children:sm})]})]}),(0,z.jsxs)(`div`,{className:`node-right`,children:[a&&(0,z.jsxs)(`span`,{className:`waitflag`,children:[(0,z.jsx)(bf,{size:14,"aria-hidden":!0}),` `,i.attention_count,` waiting on human`]}),(0,z.jsx)(wm,{status:i.status,blocked:a})]})]}),(f.length>0||d&&u>0)&&(0,z.jsxs)(`div`,{className:`kids`,children:[f.map(e=>(0,z.jsx)(Cm,{node:e},e.node.node_id)),d&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`button`,{type:`button`,onClick:()=>r(e=>!e),className:`flex items-center gap-1.5 px-4 py-2 text-xs transition-colors`,style:{color:`var(--dim)`},children:[(0,z.jsx)(df,{size:14,"aria-hidden":!0,style:{transform:n?`rotate(90deg)`:`none`,transition:`transform 0.15s ease`}}),n?`Hide ${u} closed`:`Show ${u} closed`]}),n&&l.map(e=>(0,z.jsx)(Cm,{node:e},e.node.node_id))]})]})]})}function wm({status:e,blocked:t}){let n=ym(e,t);return(0,z.jsxs)(Fp,{variant:`outline`,className:t?`blocked`:e,children:[(0,z.jsx)(n,{"aria-hidden":!0}),e]})}function Tm({open:e,onClose:t}){let[n,r]=(0,S.useState)(``),[i,a]=(0,S.useState)(`developer`),[o,s]=(0,S.useState)(``),[c,l]=(0,S.useState)(!1),[u,d]=(0,S.useState)(``),[f,p]=(0,S.useState)(``),[m,h]=(0,S.useState)(``),[g,_]=(0,S.useState)(``),[v,y]=(0,S.useState)(!1),[b,x]=(0,S.useState)(null);return(0,z.jsx)(gp,{open:e,onOpenChange:e=>!e&&t(),children:(0,z.jsxs)(yp,{className:`max-w-md overflow-y-auto max-h-[90dvh]`,children:[(0,z.jsx)(bp,{children:(0,z.jsx)(Sp,{children:`Spawn a node`})}),(0,z.jsxs)(`form`,{id:`spawn-form`,onSubmit:async e=>{if(e.preventDefault(),!n.trim()||!i.trim()){x(`prompt and kind are required`);return}y(!0),x(null);let r={prompt:n.trim(),kind:i.trim(),...o?{mode:o}:{},...c?{root:!0}:{},...u.trim()?{cwd:u.trim()}:{},...f.trim()?{name:f.trim()}:{},...m.trim()?{model:m.trim()}:{},...g.trim()?{parent:g.trim()}:{}};try{await Kf(r),t()}catch(e){console.error(`[spawn] failed:`,e),x(e instanceof Bf?`${e.code}: ${e.message}`:String(e))}finally{y(!1)}},className:`flex flex-col gap-3.5`,children:[(0,z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,z.jsx)(Tp,{htmlFor:`spawn-prompt`,children:`Prompt`}),(0,z.jsx)(Np,{id:`spawn-prompt`,value:n,onChange:e=>r(e.currentTarget.value),rows:4,required:!0,className:`resize-none`})]}),(0,z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,z.jsx)(Tp,{htmlFor:`spawn-kind`,children:`Kind`}),(0,z.jsx)(wp,{id:`spawn-kind`,value:i,onChange:e=>a(e.currentTarget.value),required:!0})]}),(0,z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,z.jsx)(Tp,{htmlFor:`spawn-mode`,children:`Mode`}),(0,z.jsxs)(Ep,{value:o===``?`__none__`:o,onValueChange:e=>s(e===`__none__`?``:e),children:[(0,z.jsx)(Op,{id:`spawn-mode`,className:`w-full`,children:(0,z.jsx)(Dp,{})}),(0,z.jsxs)(kp,{children:[(0,z.jsx)(Ap,{value:`__none__`,children:`(default)`}),(0,z.jsx)(Ap,{value:`base`,children:`base`}),(0,z.jsx)(Ap,{value:`orchestrator`,children:`orchestrator`})]})]})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(`input`,{type:`checkbox`,id:`spawn-root`,checked:c,onChange:e=>l(e.currentTarget.checked),className:`size-4 rounded border border-input accent-primary`}),(0,z.jsx)(Tp,{htmlFor:`spawn-root`,className:`cursor-pointer`,children:`Resident root node`})]}),(0,z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,z.jsx)(Tp,{htmlFor:`spawn-cwd`,children:`cwd`}),(0,z.jsx)(wp,{id:`spawn-cwd`,value:u,onChange:e=>d(e.currentTarget.value),placeholder:`(inherit)`,className:`font-mono text-sm`})]}),(0,z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,z.jsx)(Tp,{htmlFor:`spawn-name`,children:`Name`}),(0,z.jsx)(wp,{id:`spawn-name`,value:f,onChange:e=>p(e.currentTarget.value),placeholder:`(auto)`})]}),(0,z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,z.jsx)(Tp,{htmlFor:`spawn-model`,children:`Model`}),(0,z.jsx)(wp,{id:`spawn-model`,value:m,onChange:e=>h(e.currentTarget.value),placeholder:`(default)`})]}),(0,z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,z.jsx)(Tp,{htmlFor:`spawn-parent`,children:`Parent node id`}),(0,z.jsx)(wp,{id:`spawn-parent`,value:g,onChange:e=>_(e.currentTarget.value),placeholder:`(this canvas root)`,className:`font-mono text-sm`})]}),b&&(0,z.jsx)(`p`,{className:`text-sm text-destructive`,children:b})]}),(0,z.jsxs)(xp,{children:[(0,z.jsx)(Z,{type:`button`,variant:`outline`,onClick:t,disabled:v,children:`Cancel`}),(0,z.jsx)(Z,{type:`submit`,form:`spawn-form`,disabled:v,children:v?`Spawning…`:`Spawn`})]})]})})}function Em(e){if(!e)return``;let t=e.replace(/\/+$/,``).split(`/`);return t[t.length-1]??``}function Dm(e){let t=e.name?.trim();if(t&&t!==e.kind)return t;let n=Em(e.cwd);return n?`${e.kind} · ${n}`:e.kind}function Om(e){return e.parent===null&&e.host_kind===`broker`}function km(e){let t=new Map;for(let n of e){if(n.parent===null)continue;let e=t.get(n.parent);e?e.push(n):t.set(n.parent,[n])}return t}function Am(e,t){let n=[],r=new Set,i=[e];for(;i.length>0;){let e=i.pop();if(r.has(e.node_id))continue;r.add(e.node_id),n.push(e);let a=t.get(e.node_id);if(a)for(let e of a)i.push(e)}return n}function jm(e){return e===`done`||e===`dead`||e===`canceled`}function Mm(e,t,n){return t>0?`needs-you`:e.status===`active`||n>0?`active`:jm(e.status)?`done`:`idle`}function Nm(e){switch(e){case`needs-you`:return 0;case`active`:return 1;case`idle`:return 2;case`done`:return 3}}function Pm(e){let t=km(e),n=[];for(let r of e){if(!Om(r))continue;let e=Am(r,t),i=0,a=0;for(let t of e)i+=Math.max(0,t.attention_count),t.node_id!==r.node_id&&t.status===`active`&&(a+=1);n.push({id:r.node_id,title:Dm(r),state:Mm(r,i,a),attention:i,activeChildren:a,nodeCount:e.length,...r.cycles===void 0?{}:{cycles:r.cycles},lastActivity:r.last_activity??r.created})}return n.sort((e,t)=>{let n=Nm(e.state)-Nm(t.state);return n===0?t.lastActivity.localeCompare(e.lastActivity):n}),n}function Fm(e,t){let n=km(e),r=e.find(e=>e.node_id===t);return r?Am(r,n).filter(e=>e.node_id!==t):[]}function Im(e){switch(e.state){case`needs-you`:return e.attention>1?`${e.attention} things need your input`:`Needs your input`;case`active`:return e.activeChildren>0?`Working — ${e.activeChildren} ${e.activeChildren===1?`task`:`tasks`} in progress`:`Working…`;case`done`:return`Finished`;case`idle`:return`Idle`}}function Lm(e,t,n){if(e.key===`Enter`&&!e.shiftKey){if(e.altKey){e.preventDefault();let n=e.currentTarget,r=n.selectionStart??n.value.length,i=n.selectionEnd??r,a=`${n.value.slice(0,r)}\n${n.value.slice(i)}`,o=r+1;t(a),requestAnimationFrame(()=>{n.selectionStart=o,n.selectionEnd=o});return}e.metaKey||e.ctrlKey||(e.preventDefault(),n())}}var Rm=[`Research a topic for me`,`Help me write something`,`Review my code`,`Plan a project`];function zm(){let{nodes:e,loading:t}=dp(),n=lp(e=>e.reachable),r=(0,S.useMemo)(()=>Pm(e),[e]),[i,a]=(0,S.useState)(!1),[o]=Ln();(0,S.useEffect)(()=>{o.get(`new`)!==null&&a(!0)},[o]);let s=!t&&r.length===0;return(0,z.jsxs)(`div`,{className:`mx-auto flex h-full min-h-0 max-w-3xl flex-col px-6 py-8`,children:[(0,z.jsxs)(`div`,{className:`mb-6 flex items-center justify-between gap-3`,children:[(0,z.jsx)(`h1`,{className:`text-3xl`,style:{fontFamily:`var(--font-display)`,fontWeight:460,letterSpacing:`-0.01em`,color:`var(--ink)`},children:`Conversations`}),!s&&!i&&(0,z.jsx)(Z,{size:`lg`,onClick:()=>a(!0),children:`+ New chat`})]}),!n&&(0,z.jsx)(`div`,{className:`mb-4 rounded-lg border px-4 py-2.5 text-sm`,style:{borderColor:`rgba(255,94,54,.3)`,background:`var(--blk-dim)`,color:`var(--ink2)`},children:`Couldn't reach your agents — retrying…`}),(i||s)&&(0,z.jsx)(Bm,{firstRun:s,onCancel:s?void 0:()=>a(!1)}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto`,children:t?(0,z.jsx)(Um,{}):(0,z.jsx)(`ul`,{className:`flex flex-col gap-2.5`,children:r.map(e=>(0,z.jsx)(Vm,{conversation:e},e.id))})})]})}function Bm({firstRun:e,onCancel:t}){let n=lt(),[r,i]=(0,S.useState)(``),[a,o]=(0,S.useState)(!1),[s,c]=(0,S.useState)(null),l=async()=>{let e=r.trim();if(!(!e||a)){o(!0),c(null);try{let t=await Kf({prompt:e,kind:`general`,mode:`base`,root:!0});n(`/c/${encodeURIComponent(t.node_id)}`)}catch(e){c(e instanceof Bf?e.message:String(e)),o(!1)}}};return(0,z.jsxs)(`div`,{className:`panel mb-6 p-5`,children:[e&&(0,z.jsx)(`p`,{className:`mb-3 text-base`,style:{fontFamily:`var(--font-display)`,fontStyle:`italic`,color:`var(--ink2)`},children:`Start a conversation with an agent.`}),(0,z.jsx)(Np,{autoFocus:!0,value:r,onChange:e=>i(e.currentTarget.value),onKeyDown:e=>{Lm(e,i,()=>void l())},rows:3,disabled:a,placeholder:`What do you want help with?`,className:`resize-none border-0 bg-transparent px-0 text-base shadow-none focus-visible:ring-0`}),(0,z.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:Rm.map(e=>(0,z.jsx)(`button`,{type:`button`,disabled:a,onClick:()=>i(e),className:`rounded-full border border-border px-3 py-1 text-xs text-muted-foreground transition-colors hover:border-[color:var(--line2)] hover:text-foreground`,children:e},e))}),s&&(0,z.jsx)(`p`,{className:`mt-3 text-sm text-destructive`,children:s}),(0,z.jsxs)(`div`,{className:`mt-4 flex items-center justify-end gap-2`,children:[t&&(0,z.jsx)(Z,{variant:`ghost`,onClick:t,disabled:a,children:`Cancel`}),(0,z.jsx)(Z,{onClick:()=>void l(),disabled:a||!r.trim(),children:a?`Starting…`:`Start chat`})]})]})}function Vm({conversation:e}){let t=lt();return(0,z.jsx)(`li`,{className:`list-none`,children:(0,z.jsxs)(`button`,{type:`button`,onClick:()=>t(`/c/${encodeURIComponent(e.id)}`),className:`panel flex w-full items-center gap-4 px-4 py-3.5 text-left transition-colors hover:bg-[color-mix(in_oklch,var(--ink)_3%,transparent)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,children:[(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e.state===`needs-you`&&(0,z.jsx)(`span`,{className:`dot blocked shrink-0`,"aria-label":`needs you`}),(0,z.jsx)(`span`,{className:`truncate text-sm`,style:{fontWeight:500,color:`var(--ink)`},children:e.title})]}),(0,z.jsx)(`p`,{className:`mt-0.5 truncate text-sm`,style:{color:`var(--mut)`},children:Im(e)})]}),(0,z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 text-xs`,style:{fontFamily:`var(--font-inst)`,letterSpacing:`0.04em`,color:`var(--mut)`},children:[e.cycles!==void 0&&(0,z.jsxs)(`span`,{title:`cycles`,children:[`⟳ `,e.cycles]}),(0,z.jsxs)(`span`,{title:`nodes in this conversation`,children:[`◦ `,e.nodeCount,` `,e.nodeCount===1?`node`:`nodes`]}),(0,z.jsx)(`span`,{title:`time since last work`,children:Wm(e.lastActivity)})]}),(0,z.jsx)(Hm,{state:e.state})]})})}function Hm({state:e}){let t={"needs-you":{label:`Needs you`,variant:`blocked`},active:{label:`Active`,variant:`active`},idle:{label:`Idle`,variant:`idle`},done:{label:`Finished`,variant:`done`}}[e];return(0,z.jsxs)(`span`,{className:Y(`badge shrink-0`,t.variant),children:[(0,z.jsx)(`span`,{className:Y(`dot`,t.variant)}),t.label]})}function Um(){return(0,z.jsx)(`ul`,{className:`flex flex-col gap-2.5`,children:[0,1,2,3].map(e=>(0,z.jsxs)(`li`,{className:`panel flex items-center gap-4 px-4 py-3.5`,children:[(0,z.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-2`,children:[(0,z.jsx)(`div`,{className:`h-4 w-1/3 animate-pulse rounded bg-muted`}),(0,z.jsx)(`div`,{className:`h-3 w-2/3 animate-pulse rounded bg-muted/70`})]}),(0,z.jsx)(`div`,{className:`h-6 w-16 animate-pulse rounded-full bg-muted`})]},e))})}function Wm(e){let t=new Date(e).getTime();if(Number.isNaN(t))return``;let n=Math.max(0,Math.round((Date.now()-t)/1e3));if(n<60)return`just now`;let r=Math.round(n/60);if(r<60)return`${r}m ago`;let i=Math.round(r/60);return i<24?`${i}h ago`:`${Math.round(i/24)}d ago`}function Gm(e){return typeof e==`object`&&!!e}function Km(e){return typeof e==`string`?e:``}function qm(e){let t=e??``;return/rate.?limit|\b429\b|too many requests|quota/i.test(t)?`rate-limit`:/overloaded|\b529\b|\b503\b|capacity|server.{0,3}busy|temporarily unavailable/i.test(t)?`overloaded`:/invalid_grant|refresh token|unauthori[sz]ed|invalid.?api.?key|authentication failed|\b401\b|\b403\b/i.test(t)?`auth`:/connection|econnreset|etimedout|enotfound|econnrefused|network|fetch failed|socket hang|timed? out|timeout/i.test(t)?`connection`:`other`}function Jm(e){let t=Km(e.code)||Km(e.errno);return t===``?null:/^(ECONNREFUSED|ECONNRESET|ETIMEDOUT|ENOENT|ENOTFOUND|EAI_AGAIN|EPIPE|EHOSTUNREACH|ENETUNREACH)$/i.test(t)?`connection`:null}function Ym(e){let t=typeof e.status==`number`?e.status:null;return t===null?null:t===401||t===403?`auth`:t===429?`rate-limit`:t===503||t===529||t>=500&&t<=599?`overloaded`:t>=400&&t<=499?`protocol`:null}function Xm(e){let t=typeof e.code==`number`?e.code:null;if(t===null)return null;if(t===1008)return`protocol`;if(t===1006)return`connection`;if(t===1011){let t=Km(e.reason);return/no running broker/i.test(t)||qm(t)===`connection`?`connection`:`other`}return null}function Zm(e,t){return t===`auth`||t===`protocol`?`fatal`:e===`pi→provider`?t===`connection`||t===`rate-limit`||t===`overloaded`?`auto`:`fatal`:`manual`}function Qm(e){if(typeof e==`string`)return e;if(!Gm(e))return``;let t=[e.message,e.errorMessage,e.reason,e.body,e.statusText];for(let e of t)if(typeof e==`string`&&e!==``)return e;let n=e.error;if(Gm(n)){let e=n.message;if(typeof e==`string`&&e!==``)return e;let t=n.reason;if(typeof t==`string`&&t!==``)return t}return``}function $m(e,t){if(Gm(t)){let n=Jm(t);if(n!==null)return{kind:n,disposition:Zm(e,n)};let r=Ym(t);if(r!==null)return{kind:r,disposition:Zm(e,r)};let i=Xm(t);if(i!==null)return{kind:i,disposition:Zm(e,i)}}let n=qm(Qm(t));return{kind:n,disposition:Zm(e,n)}}var eh=(()=>{let e=new URLSearchParams(window.location.search).get(`token`);return e!==null&&e!==``?e:void 0})(),th=class{nodeId;handlers;ws;closedReported=!1;constructor(e,t){this.nodeId=e,this.handlers=t}get url(){let e=location.protocol===`https:`?`wss:`:`ws:`,t=new URL(`/node/${encodeURIComponent(this.nodeId)}`,window.location.href);return t.protocol=e,eh!==void 0&&t.searchParams.set(`token`,eh),t.toString()}connect(){let e;try{e=new WebSocket(this.url)}catch(e){this.reportClose(`transient`,`failed to open ws: ${String(e)}`);return}this.ws=e,e.onopen=()=>this.handlers.onOpen?.(),e.onmessage=e=>this.onMessage(e),e.onclose=e=>{let t=$m(`browser↔relay`,{code:e.code,reason:e.reason}),n=e.code===1008||t.kind===`protocol`?`invalid`:e.code===1011&&/^no node /.test(e.reason)?`no-node`:e.code===1011&&/^no running broker/.test(e.reason)?`no-broker`:`transient`;this.reportClose(n,e.reason||`closed (${e.code})`)},e.onerror=()=>{}}onMessage(e){if(typeof e.data!=`string`)return;let t;try{t=JSON.parse(e.data)}catch{return}this.handlers.onFrame?.(t)}send(e){let t=this.ws;if(!(t===void 0||t.readyState!==WebSocket.OPEN))try{t.send(JSON.stringify(e))}catch{}}close(){let e=this.ws;if(e!==void 0&&e.readyState<=WebSocket.OPEN)try{e.close()}catch{}}reportClose(e,t){this.closedReported||(this.closedReported=!0,this.ws=void 0,this.handlers.onClose?.(e,t))}},nh=/^From (?:[a-z0-9]+-[a-f0-9]+|system|human) — \d+ update/;function rh(e){return nh.test(e)}function ih(e){let t=/^From ([a-z0-9]+-[a-f0-9]+|system|human) — /.exec(e);if(!t)return null;let n=t[1];return typeof n==`string`?n:null}function ah(){return{messages:[],streamingIndex:null,executingToolIds:new Set,isStreaming:!1,activity:null}}function oh(e){let t=e.content;return typeof t==`string`?t:Array.isArray(t)?t.filter(e=>!!e&&e.type===`text`).map(e=>typeof e.text==`string`?e.text:``).join(``):``}function sh(e){return lh(e)!==`user`||e.origin||!rh(oh(e))?e:{...e,origin:`inbox`}}function ch(e){return{messages:e.messages.map(sh),streamingIndex:null,executingToolIds:new Set,isStreaming:e.state?.isStreaming===!0,activity:e.state?.isStreaming===!0?`Working…`:null}}function lh(e){return e.role??``}function uh(e){for(let t=e.messages.length-1;t>=0;t--)if(lh(e.messages[t])===`bashExecution`)return t;return null}function dh(e,t,n){let r={role:`bashExecution`,command:t,output:``,exitCode:void 0,cancelled:!1,truncated:!1,excludeFromContext:n,timestamp:Date.now()};return{...e,messages:[...e.messages,r]}}function fh(e,t){let n=uh(e);if(n===null)return e;let r=[...e.messages],i=r[n];return r[n]={...i,output:`${i.output??``}${t}`},{...e,messages:r}}function ph(e,t){let n=uh(e);if(n===null)return e;let r=[...e.messages];return r[n]={...r[n],exitCode:t.exitCode,cancelled:t.cancelled,truncated:t.truncated,fullOutputPath:t.fullOutputPath},{...e,messages:r}}function mh(e,t){switch(t.type){case`agent_start`:return{...e,isStreaming:!0,activity:`Working…`};case`agent_end`:return{...e,isStreaming:!1,activity:null,streamingIndex:null,executingToolIds:e.executingToolIds.size?new Set:e.executingToolIds};case`message_start`:{let n=sh(t.message),r=[...e.messages,n],i=lh(n)===`assistant`;return{...e,messages:r,streamingIndex:i?r.length-1:e.streamingIndex}}case`message_update`:{let n=e.streamingIndex;if(n===null){let t=e.messages.length-1;t>=0&&lh(e.messages[t])===`assistant`&&(n=t)}if(n===null)return e;let r=[...e.messages];return r[n]=t.message,{...e,messages:r,streamingIndex:n}}case`message_end`:{if(e.streamingIndex===null)return e;let n=[...e.messages];return n[e.streamingIndex]=t.message,{...e,messages:n,streamingIndex:null}}case`tool_execution_start`:{let n=new Set(e.executingToolIds);return n.add(t.toolCallId),{...e,executingToolIds:n}}case`tool_execution_end`:{if(!e.executingToolIds.has(t.toolCallId))return e;let n=new Set(e.executingToolIds);return n.delete(t.toolCallId),{...e,executingToolIds:n}}case`compaction_start`:return{...e,activity:`Compacting context…`};case`compaction_end`:return{...e,activity:e.isStreaming?`Working…`:null};case`auto_retry_start`:return{...e,activity:`Retrying (${t.attempt}/${t.maxAttempts}) in ${Math.ceil(t.delayMs/1e3)}s…`};case`auto_retry_end`:return{...e,activity:e.isStreaming?`Working…`:null};default:return e}}function hh(e){return{clientId:e,conn:`connecting`,conv:ah(),role:`observer`,controllerId:null,session:null,model:void 0,sessionName:void 0,contextTokens:void 0,dialog:null,commands:[],statuses:{},widgets:{},title:void 0,notice:null}}var gh={"no-broker":`no-broker`,"no-node":`no-node`,invalid:`invalid`,transient:`closed`};function _h(e){return e===`welcome`||e===`control_changed`||e===`model_changed`||e===`error`||e===`ack`||e===`data`||e===`display_status`||e===`display_widget`||e===`display_title`||e===`bash_start`||e===`bash_output`||e===`bash_end`||e===`extension_ui_request`}function vh(e,t){switch(t.kind){case`reset`:return hh(t.clientId);case`connecting`:return{...e,conn:`connecting`};case`closed`:return{...e,conn:gh[t.closeKind]};case`notice`:return{...e,notice:t.text};case`dismiss-dialog`:return{...e,dialog:null};case`frame`:return xh(e,t.frame)}}function yh(e){if(e===void 0||e.trim()===``)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>{if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.name==`string`&&typeof t.description==`string`&&(t.source===`builtin`||t.source===`command`||t.source===`template`)}):[]}catch{return[]}}function bh(e){return{sessionId:e.sessionId,sessionFile:e.sessionFile??null,model:e.model??null,isStreaming:e.isStreaming,thinkingLevel:e.thinkingLevel,steeringMode:e.steeringMode,followUpMode:e.followUpMode,sessionName:e.sessionName??null,autoCompactionEnabled:e.autoCompactionEnabled,pendingMessageCount:e.pendingMessageCount}}function xh(e,t){if(!_h(t.type))return{...e,conv:mh(e.conv,t)};switch(t.type){case`welcome`:{let n=ch(t.snapshot),r=t.controller_id,i=bh(t.snapshot.state);return{...e,conn:`open`,conv:n,controllerId:r,role:r===e.clientId?`controller`:`observer`,session:i,model:i.model??void 0,sessionName:i.sessionName??void 0,contextTokens:t.snapshot.stats?.tokens?.total,dialog:t.pending_dialog??null,commands:[]}}case`control_changed`:return{...e,controllerId:t.controller_id,role:t.controller_id===e.clientId?`controller`:`observer`};case`model_changed`:return{...e,model:t.model,session:e.session?{...e.session,model:t.model??null}:e.session};case`error`:return{...e,notice:t.code===`not_controller`?`read-only — another viewer is the controller`:t.message||`error: ${t.code}`};case`extension_ui_request`:return{...e,dialog:t};case`display_status`:{let n={...e.statuses};return t.text===void 0?delete n[t.key]:n[t.key]=t.text,{...e,statuses:n}}case`display_widget`:{let n={...e.widgets};return t.lines===void 0?delete n[t.key]:n[t.key]={lines:t.lines,placement:t.placement},{...e,widgets:n}}case`display_title`:return{...e,title:t.title};case`ack`:return t.for===`get_commands`?t.ok?{...e,commands:yh(t.detail)}:{...e,commands:[]}:e;case`bash_start`:return{...e,conv:dh(e.conv,t.command,t.excludeFromContext)};case`bash_output`:return{...e,conv:fh(e.conv,t.chunk)};case`bash_end`:return{...e,conv:ph(e.conv,t)};default:return e}}var Sh=1500;function Ch(e){let t=(0,S.useRef)(``);t.current===``&&(t.current=crypto.randomUUID());let[n,r]=(0,S.useReducer)(vh,t.current,hh),i=(0,S.useRef)(null),a=(0,S.useRef)(0),o=(0,S.useRef)(null),s=(0,S.useRef)(n.role);s.current=n.role;let c=(0,S.useRef)(n.conv.isStreaming);c.current=n.conv.isStreaming;let l=(0,S.useCallback)(e=>{i.current?.send(e)},[]),u=(0,S.useCallback)(()=>{let n=a.current,s=new th(e,{onOpen:()=>{n===a.current&&s.send({type:`hello`,role:`observer`,client_id:t.current})},onFrame:e=>{n===a.current&&(r({kind:`frame`,frame:e}),e.type===`welcome`&&s.send({type:`get_commands`}))},onClose:e=>{n===a.current&&(r({kind:`closed`,closeKind:e}),e===`transient`&&(o.current=setTimeout(()=>{n===a.current&&(r({kind:`connecting`}),u())},Sh)))}});i.current=s,s.connect()},[e]);return(0,S.useEffect)(()=>(a.current+=1,r({kind:`reset`,clientId:t.current}),r({kind:`connecting`}),u(),()=>{a.current+=1,o.current&&clearTimeout(o.current),i.current?.close(),i.current=null}),[e,u]),{state:n,actions:{sendText:(0,S.useCallback)(e=>{let t=e.trim();if(t!==``){if(s.current!==`controller`){r({kind:`notice`,text:`take control before sending`});return}if(t.startsWith(`!`)){let e=t.startsWith(`!!`),n=t.slice(e?2:1).trim();if(n===``)return;l({type:`bash`,command:n,excludeFromContext:e});return}l(c.current?{type:`steer`,text:t}:{type:`prompt`,text:t})}},[l]),abort:(0,S.useCallback)(()=>{s.current===`controller`&&l({type:`abort`})},[l]),takeControl:(0,S.useCallback)(()=>l({type:`request_control`}),[l]),releaseControl:(0,S.useCallback)(()=>l({type:`release_control`}),[l]),setModel:(0,S.useCallback)(e=>l({type:`set_model`,model:e}),[l]),cycleModel:(0,S.useCallback)(()=>l({type:`cycle_model`}),[l]),setThinkingLevel:(0,S.useCallback)(e=>l({type:`set_thinking_level`,level:e}),[l]),compact:(0,S.useCallback)(e=>l({type:`compact`,...e?{instructions:e}:{}}),[l]),answerDialog:(0,S.useCallback)(e=>{l(e),r({kind:`dismiss-dialog`})},[l]),cancelDialog:(0,S.useCallback)(()=>{let e=n.dialog?.id;e!==void 0&&l({type:`extension_ui_response`,id:e,cancelled:!0}),r({kind:`dismiss-dialog`})},[l,n.dialog]),reconnect:(0,S.useCallback)(()=>{o.current&&clearTimeout(o.current),a.current+=1,i.current?.close(),r({kind:`connecting`}),u()},[u]),clearNotice:(0,S.useCallback)(()=>r({kind:`notice`,text:null}),[])}}}var wh={branch:null,model:null,tokens:null,context:null,tool_calls:null,stats:null,git_status:null};function Th(e,t){return{sessionId:t.state?.sessionId??e,sessionFile:t.state?.sessionFile??null,model:t.state?.model??null,isStreaming:!1,thinkingLevel:t.state?.thinkingLevel??`off`,steeringMode:t.state?.steeringMode??`all`,followUpMode:t.state?.followUpMode??`all`,sessionName:t.state?.sessionName??null,autoCompactionEnabled:t.state?.autoCompactionEnabled??!1,pendingMessageCount:t.state?.pendingMessageCount??0}}function Eh(e){let{state:t,actions:n}=Ch(e),r=lp(e=>e.reachable),[i,a]=(0,S.useState)(null);(0,S.useEffect)(()=>{let n=!1;if(t.conn!==`no-broker`){a(null);return}return Gf(e).then(e=>{n||a(e)}).catch(()=>{n||a(null)}),()=>{n=!0}},[e,t.conn]);let o=t.conn===`no-broker`&&i?.node_id===e?i:null,s=(0,S.useMemo)(()=>o===null?null:ch(o.snapshot),[o]),c=(0,S.useMemo)(()=>t.session===null?null:{...t.session,isStreaming:t.conv.isStreaming},[t.session,t.conv.isStreaming]),l=(0,S.useMemo)(()=>t.conn===`connecting`||t.conn===`closed`?null:o===null?c:Th(e,o.snapshot),[e,o,t.conn,c]),u=(0,S.useMemo)(()=>o===null?{...wh,model:t.model??null}:{...wh,model:o.snapshot.state?.model??null},[o,t.model]),d=s?.messages??t.conv.messages,f=o?.commands??t.commands;return{messages:d,state:l,role:t.role,chrome:u,dialog:t.dialog,commands:f,presence:{viewers:0,controller:t.controllerId},brokerStatus:t.conn===`open`?`connected`:t.conn===`closed`||t.conn===`connecting`?`reconnecting`:`down`,source:t.conn===`no-broker`?`static`:`broker`,serverConnected:r,socketReady:t.conn===`open`,error:t.notice?{code:`broker_unavailable`,message:t.notice}:null,reconnect:n.reconnect,prompt:e=>n.sendText(e),steer:e=>n.sendText(e),abort:n.abort,setModel:n.setModel,cycleModel:n.cycleModel,setThinkingLevel:n.setThinkingLevel,compact:n.compact,requestControl:n.takeControl,releaseControl:n.releaseControl,dialogResponse:(e,t)=>n.answerDialog({type:`extension_ui_response`,id:e,...t})}}var Dh={operator:{id:`operator`,label:`Operator`,grants:new Set([`canvas.view`,`canvas.search`,`node.internals`,`node.arbitration`,`node.spawn.raw`,`node.lifecycle.raw`,`subnodes.visible`,`commands.palette`,`session.trace`,`diagnostics`,`views.author`,`node.graphRail`,`files.peek`,`views.host`]),terms:{node:`node`,nodes:`nodes`,spawn:`spawn`,revive:`Revive`,controller:`controller`,observer:`observer`,broker:`broker`,canvas:`canvas`,headless:`headless`,steer:`Steer`,compact:`Compact`,close:`Close`},nav:[{id:`conversations`,label:`Conversations`,path:`/`},{id:`canvas`,label:`Canvas`,path:`/canvas`},{id:`inbox`,label:`Inbox`,path:`/inbox`},{id:`views`,label:`Views`,path:`/views`}],density:`compact`,defaultTheme:`dark`,home:`list`},studio:{id:`studio`,label:`Studio`,grants:new Set([`subnodes.activity`,`views.host`]),terms:{node:`conversation`,nodes:`conversations`,spawn:`new chat`,revive:`Continue`,controller:``,observer:``,broker:``,canvas:``,headless:``,steer:`Send`,compact:``,close:``},nav:[{id:`conversations`,label:`Conversations`,path:`/`},{id:`inbox`,label:`Inbox`,path:`/inbox`},{id:`settings`,label:`Settings`,path:`/settings`}],density:`comfortable`,defaultTheme:`light`,home:`views`}},Oh=`operator`,kh=`crouter-web:profile`;function Ah(e){return e!=null&&Object.prototype.hasOwnProperty.call(Dh,e)}function jh(){let e=new URLSearchParams(window.location.search).get(`profile`);if(Ah(e))return Mh(e),e;try{let e=localStorage.getItem(kh);if(Ah(e))return e}catch{}return Oh}function Mh(e){try{localStorage.setItem(kh,e)}catch{}}var Nh=(0,S.createContext)(null);function Ph({children:e}){let[t,n]=(0,S.useState)(()=>jh()),r=Dh[t];(0,S.useEffect)(()=>{let e=document.documentElement;e.classList.toggle(`dark`,r.defaultTheme===`dark`),e.classList.toggle(`light`,r.defaultTheme===`light`),e.dataset.profile=r.id,e.dataset.density=r.density},[r]);let i=(0,S.useMemo)(()=>({profile:r,setProfile:e=>{Mh(e),n(e)}}),[r]);return(0,z.jsx)(Nh.Provider,{value:i,children:e})}function Fh(){let e=(0,S.useContext)(Nh);if(!e)throw Error(`useProfile* must be used within a ProfileProvider`);return e}function Ih(){return Fh().profile}function Lh(){return Fh().setProfile}function Rh(e){return Fh().profile.grants.has(e)}function zh(){return Fh().profile.grants}function Bh(e){let{profile:t}=Fh();return t.terms[e]??e}var Vh={active:Ef,idle:yf,done:mf,dead:gf,canceled:vf,blocked:pf};function Hh({status:e}){return(0,z.jsx)(Vh[e]??yf,{className:Y(`!size-3.5`,e===`active`&&`animate-spin`)})}function Uh(e,t,n,r){return t===`static`?e.status:n===`down`?`dead`:n===`reconnecting`?`idle`:r?`active`:`idle`}function Wh(e,t,n,r){return t===`static`?e.status===`done`||e.status===`dead`||e.status===`canceled`?`Finished`:`Paused`:n===`down`||n===`reconnecting`?`Reconnecting…`:r?`Working…`:`Idle`}function Gh(e){let t=e.store.source===`static`,n=e.store.state?.isStreaming??!1,r=e.detail;if(!Rh(`node.internals`)){let t=r?Wh(r,e.store.source,e.store.brokerStatus,n):`…`,i=t===`Working…`;return(0,z.jsxs)(`div`,{className:`flex items-center gap-3 min-w-0`,children:[(0,z.jsx)(`span`,{className:`text-lg font-semibold truncate`,children:r?.name??`…`}),(0,z.jsxs)(`span`,{className:Y(`inline-flex items-center gap-1.5 text-sm`,i?`text-success`:`text-muted-foreground`),children:[i&&(0,z.jsx)(Ef,{className:`size-3.5 animate-spin`}),t]})]})}let i=r?Uh(r,e.store.source,e.store.brokerStatus,n):null;return r?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`h2`,{className:Y(Kh,`min-w-0 truncate`),title:r.name,children:r.name}),i&&(0,z.jsxs)(Fp,{className:Y(`gap-1.5`,i),children:[(0,z.jsx)(Hh,{status:i}),i]}),t&&(0,z.jsx)(`span`,{className:`font-mono text-xs`,style:{color:`var(--idle)`},title:`dormant node — last-known values, not live`,children:`last-known`})]}):(0,z.jsx)(`h2`,{className:Kh,children:`…`})}var Kh=`con-title font-display text-xl font-medium`;function qh(e){let t=e.store.chrome,n=e.store.source===`static`,r=e.store.state?.isStreaming??!1,i=t.context,a=t.stats,o=t.tokens,s=i&&!n?i.percent:null,c=!n&&a?.cost!==void 0?a.cost:null;return!i&&c===null&&!a&&!o?null:(0,z.jsxs)(`div`,{className:`cluster`,children:[i&&(0,z.jsxs)(`div`,{className:`gauge`,children:[(0,z.jsxs)(`div`,{className:`glabel`,children:[(0,z.jsx)(`span`,{className:`instlabel`,children:`Context`}),(0,z.jsxs)(`span`,{className:`gval`,children:[s===null?`—`:Xh(s),s!==null&&(0,z.jsx)(`span`,{className:`u`,children:`%`})]})]}),(0,z.jsx)(`div`,{className:`gbar`,children:(0,z.jsx)(`i`,{style:{width:s===null?`0%`:`${Math.min(100,s)}%`}})}),(0,z.jsxs)(`div`,{className:`gsub`,children:[i.tokens.toLocaleString(),!n&&(0,z.jsxs)(z.Fragment,{children:[` / `,i.window.toLocaleString()]})]})]}),c!==null&&(0,z.jsxs)(`div`,{className:`gauge`,children:[(0,z.jsxs)(`div`,{className:`glabel`,children:[(0,z.jsx)(`span`,{className:`instlabel`,children:`Cost`}),(0,z.jsxs)(`span`,{className:`gval`,children:[(0,z.jsx)(`span`,{className:`u`,style:{marginLeft:0,marginRight:2},children:`$`}),c.toFixed(2)]})]}),(0,z.jsx)(`div`,{className:`gbar`,children:(0,z.jsx)(`i`,{style:{width:`${Math.min(100,c/5*100)}%`}})}),a&&(0,z.jsxs)(`div`,{className:`gsub`,children:[a.turns,` turns`]})]}),(0,z.jsxs)(`div`,{className:`dials`,children:[!n&&a&&c===null&&(0,z.jsx)(Jh,{value:String(a.turns),unit:`turns`}),!n&&a&&(0,z.jsx)(Jh,{value:`${a.user_messages}/${a.assistant_messages}`,unit:`msgs`}),o&&(0,z.jsx)(Jh,{value:`${Yh(o.input)} → ${Yh(o.output)}`,unit:`tokens`}),!n&&t.tool_calls!==null&&(0,z.jsx)(Jh,{value:String(t.tool_calls),unit:`tools`,hot:r})]})]})}function Jh({value:e,unit:t,hot:n}){return(0,z.jsx)(`div`,{className:`dial`,children:(0,z.jsxs)(`span`,{className:`dval`,style:n?{color:`var(--act)`}:void 0,children:[e,` `,(0,z.jsx)(`em`,{children:t})]})})}function Yh(e){return e>=1e6?`${Math.round(e/1e5)/10}M`:e>=1e3?`${Math.round(e/1e3)}k`:String(e)}function Xh(e){return(Math.round(e*10)/10).toFixed(1)}function Zh({store:e,detail:t}){let n=e.chrome,r=[],i=n.branch??t?.branch??null;if(i!==null){let e=n.git_status??t?.git_status??null,a=e?.added??0,o=e?.modified??0;r.push((0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,z.jsx)(xf,{className:`size-3.5 shrink-0 opacity-70`}),(0,z.jsx)(`b`,{style:Qh,children:i}),a>0&&(0,z.jsxs)(`span`,{style:{color:`var(--act)`,opacity:.8},children:[` +`,a]}),o>0&&(0,z.jsxs)(`span`,{style:{color:`var(--idle)`,opacity:.8},children:[` ~`,o]})]},`branch`))}let a=t?.cwd??null;a!==null&&r.push((0,z.jsx)(`span`,{children:$h(a)},`cwd`));let o=n.model??t?.model??null;o!==null&&r.push((0,z.jsx)(`span`,{children:(0,z.jsx)(`b`,{style:Qh,children:o})},`model`));let s=n.context??null;return s!==null&&r.push((0,z.jsxs)(`span`,{children:[`ctx `,(0,z.jsx)(`b`,{style:Qh,children:eg(s.tokens)}),` / `,eg(s.window)]},`ctx`)),r.length===0?null:(0,z.jsx)(`div`,{className:`flex min-w-0 items-center gap-5 whitespace-nowrap border-b px-6 py-2 text-xs`,style:{borderColor:`var(--line)`,background:`rgba(0,0,0,.18)`,fontFamily:`var(--font-code)`,color:`var(--mut)`},children:r.map((e,t)=>(0,z.jsxs)(S.Fragment,{children:[t>0&&(0,z.jsx)(`span`,{style:{color:`var(--dim)`,opacity:.5},className:`select-none`,children:`·`}),e]},t))})}var Qh={color:`var(--ink2)`,fontWeight:400};function $h(e){let t=e.match(/^\/(?:Users|home)\/[^/]+(\/.*)$/);if(t)return`~${t[1]}`;let n=e.split(`/`).filter(Boolean);return n.length<=2?e:`…/${n.slice(-2).join(`/`)}`}function eg(e){return e>=1e6?`${Math.round(e/1e6)}M`:e>=1e3?`${Math.round(e/1e3)}k`:String(e)}function tg(e){let[t,n]=(0,S.useState)(!1),r=(0,S.useRef)(null);return(0,S.useEffect)(()=>{let e=e=>{if(e.key===`Escape`){n(!1);return}if(e.altKey&&e.code===`KeyI`){if(document.activeElement instanceof HTMLTextAreaElement)return;e.preventDefault(),n(e=>!e)}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]),t?(0,z.jsx)(`div`,{className:`in fixed inset-0 z-50 flex items-start justify-center pt-22`,style:{background:`rgba(0,0,0,.42)`,backdropFilter:`blur(2px)`},onMouseDown:e=>{r.current?.contains(e.target)||n(!1)},children:(0,z.jsxs)(`div`,{ref:r,className:`panel rv`,style:ng,children:[(0,z.jsxs)(`div`,{style:rg,children:[(0,z.jsx)(`span`,{className:`instlabel`,children:`Instruments`}),(0,z.jsx)(`div`,{style:{flex:1}}),(0,z.jsx)(`span`,{className:`kbd`,children:`⌥i`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>n(!1),className:`transition-colors`,style:{color:`var(--mut)`},"aria-label":`Close instruments`,children:(0,z.jsx)(Pf,{className:`size-3.5`})})]}),(0,z.jsx)(qh,{store:e.store,detail:e.detail})]})}):null}var ng={minWidth:`min(680px, 92vw)`,overflow:`hidden`,"--i":0},rg={display:`flex`,alignItems:`center`,gap:`10px`,padding:`11px 30px`,borderBottom:`1px solid var(--line)`};function ig(e){let t=new Map;for(let n of e){if(n.parent===null)continue;let e=t.get(n.parent);e?e.push(n):t.set(n.parent,[n])}return t}function ag(e,t){let n=[],r=new Set,i=[{node:e,depth:0}];for(;i.length>0;){let e=i.pop();if(r.has(e.node.node_id))continue;r.add(e.node.node_id),n.push({node:e.node,depth:e.depth});let a=t.get(e.node.node_id)??[];for(let t=a.length-1;t>=0;t--)i.push({node:a[t],depth:e.depth+1})}return n}function og(e,t){let n=t.get(e),r=new Set;for(;n&&n.parent!==null;){if(r.has(n.node_id))return null;r.add(n.node_id),n=t.get(n.parent)}return n??null}function sg(e,t){let n=new Map(e.map(e=>[e.node_id,e])),r=ig(e),i=og(t,n),a=i?.node_id??null;return{thisGraph:i===null?[]:ag(i,r),otherGraphs:e.filter(e=>e.parent===null&&e.host_kind===`broker`&&e.node_id!==a&&(e.status===`active`||e.attention_count>0))}}var cg=new Set([`done`,`dead`,`canceled`]);function lg({currentId:e,onNavigate:t}){let n=Rh(`node.graphRail`),{nodes:r}=dp(),[i,a]=(0,S.useState)(!1),{thisGraph:o}=sg(r,e),s=o[0]?.node.node_id??null,{liveRoots:c,deadRoots:l}=(0,S.useMemo)(()=>{let e=r.filter(e=>e.parent===null&&e.host_kind===`broker`&&e.node_id!==s),t=[],n=[];for(let r of e)(cg.has(r.status)&&r.attention_count===0?n:t).push(r);let i=(e,t)=>Date.parse(t.created)-Date.parse(e.created),a=e=>e.attention_count>0?0:e.status===`active`?1:2;return t.sort((e,t)=>a(e)-a(t)||i(e,t)),n.sort(i),{liveRoots:t,deadRoots:n}},[r,s]);return(0,S.useEffect)(()=>{if(!n)return;let r=n=>{if(!n.altKey||n.key!==`ArrowUp`&&n.key!==`ArrowDown`)return;let r=o.findIndex(t=>t.node.node_id===e);if(r===-1)return;n.preventDefault();let i=n.key===`ArrowUp`?o[r-1]:o[r+1];i&&t(i.node.node_id)};return window.addEventListener(`keydown`,r),()=>window.removeEventListener(`keydown`,r)},[n,o,e,t]),n?(0,z.jsxs)(`aside`,{className:`graphrail rv`,style:ug,children:[(0,z.jsx)(dg,{label:`This graph`,chord:`⌥↑↓ to cycle`}),o.map(({node:n,depth:r})=>(0,z.jsx)(vg,{node:n,depth:r,current:n.node_id===e,onClick:()=>t(n.node_id)},n.node_id)),o.length===0&&(0,z.jsx)(fg,{}),(c.length>0||l.length>0)&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`div`,{className:`gr-gap`}),(0,z.jsx)(dg,{label:`Elsewhere`}),c.map(e=>(0,z.jsx)(vg,{node:e,depth:0,current:!1,elsewhere:!0,onClick:()=>t(e.node_id)},e.node_id)),l.length>0&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`button`,{type:`button`,onClick:()=>a(e=>!e),className:`mt-1 flex items-center gap-1.5 rounded-md px-3 py-2 text-left text-xs text-[var(--dim)] transition-colors hover:text-[var(--ink2)]`,children:[(0,z.jsx)(df,{className:Y(`size-3.5 transition-transform`,i&&`rotate-90`)}),i?`Hide`:`Show`,` `,l.length,` finished`]}),i&&l.map(e=>(0,z.jsx)(vg,{node:e,depth:0,current:!1,elsewhere:!0,onClick:()=>t(e.node_id)},e.node_id))]})]})]}):null}var ug={width:`228px`,flex:`none`,display:`flex`,flexDirection:`column`,borderRight:`1px solid var(--line)`,background:`rgba(0,0,0,.16)`,padding:`14px 9px`,overflowY:`auto`,zIndex:1,"--i":2};function dg({label:e,chord:t}){return(0,z.jsxs)(`div`,{className:`gr-sec`,children:[(0,z.jsx)(`span`,{className:`instlabel`,children:e}),(0,z.jsx)(`div`,{className:`rule`}),t&&(0,z.jsx)(`span`,{title:t,"aria-label":t,className:`flex items-center text-[var(--dim)]`,children:(0,z.jsx)(Cf,{className:`size-3.5`})})]})}function fg(){return(0,z.jsx)(`span`,{className:`px-3 py-1 font-mono text-xs`,style:{color:`var(--dim)`},children:`—`})}var pg={active:`var(--status-active)`,idle:`var(--status-idle)`,done:`var(--status-done)`,dead:`var(--status-dead)`,canceled:`var(--status-canceled)`,blocked:`var(--blk)`};function mg(e){let t=Date.now()-Date.parse(e);if(!Number.isFinite(t)||t<0)return``;let n=Math.floor(t/1e3);if(n<60)return`${n}s`;let r=Math.floor(n/60);if(r<60)return`${r}m`;let i=Math.floor(r/60);return i<24?`${i}h`:`${Math.floor(i/24)}d`}function hg(e){return e.split(`/`).filter(Boolean).at(-1)??e}function gg(e){let t=e.match(/^\/(?:Users|home)\/[^/]+(\/.*)$/);if(t)return`~${t[1]}`;let n=e.split(`/`).filter(Boolean);return n.length<=2?e:`…/${n.slice(-2).join(`/`)}`}var _g={active:`s-active`,idle:`s-idle`,done:`s-done`,dead:`s-dead`,canceled:`s-canceled`};function vg({node:e,depth:t,current:n,elsewhere:r=!1,onClick:i}){let a=cg.has(e.status),o=e.attention_count>0,s=pg[o?`blocked`:e.status]??`var(--status-dead)`,c=mg(e.created);return(0,z.jsx)(`button`,{type:`button`,onClick:i,style:t>0?{marginLeft:`${t*12}px`}:void 0,className:Y(`node-row w-full text-left`,o?`s-blocked`:_g[e.status],a&&!o&&`dimmed`,n&&`rounded-md border border-[var(--line2)] bg-[oklch(0.92_0.013_80_/_8%)] shadow-[inset_0_1px_0_var(--raise)]`),children:(0,z.jsxs)(`span`,{className:`node-id`,children:[(0,z.jsxs)(`span`,{className:`node-l1`,children:[(0,z.jsx)(`span`,{className:Y(`node-name truncate`,n&&`font-semibold`),children:r?hg(e.cwd):e.name}),r?(0,z.jsxs)(`span`,{className:`node-kind truncate`,children:[e.name,` · `,e.kind]}):(0,z.jsx)(`span`,{className:`node-kind`,children:e.kind}),o&&(0,z.jsxs)(Fp,{variant:`destructive`,className:`ml-auto gap-1 text-xs`,children:[(0,z.jsx)(bf,{className:`size-3.5`}),e.attention_count]})]}),(0,z.jsxs)(`span`,{className:`node-l2`,children:[r&&(0,z.jsx)(`span`,{className:`node-cwd`,children:gg(e.cwd)}),(0,z.jsx)(`span`,{className:`font-[family-name:var(--font-inst)] uppercase tracking-[0.12em]`,style:{color:s},children:o?`blocked`:e.status}),c&&(0,z.jsx)(`span`,{className:`text-[var(--dim)]`,children:c})]})]})})}function yg(e){let t=e.store.presence,n=e.store.role===`controller`;return(0,z.jsxs)(S.Fragment,{children:[(0,z.jsxs)(`div`,{className:`ctl-state flex shrink-0 items-center gap-1.5 text-xs`,style:{color:`var(--mut)`},children:[`control:`,` `,(0,z.jsx)(`span`,{style:{color:`var(--ink2)`,fontStyle:`italic`},children:n?`you`:t.controller?`another client`:`no one`})]}),n?(0,z.jsx)(`button`,{type:`button`,className:`btn sm shrink-0`,onClick:()=>e.store.releaseControl(),children:`Release control`}):(0,z.jsx)(`button`,{type:`button`,className:`btn primary sm shrink-0`,disabled:!e.store.socketReady,title:e.store.socketReady?void 0:`connecting…`,onClick:()=>e.store.requestControl(),children:`Request control`})]})}var bg=400,xg=4e3;function Sg(e){return e.dormant&&e.status===`active`&&e.socketReady&&e.attempt<8}function Cg(e){return Math.min(xg,bg*2**Math.max(0,e))}function wg(e){let t=e.reg[e.name],n=zh();return!t||t.cap&&!n.has(t.cap)?null:(0,z.jsx)(z.Fragment,{children:t.render()})}function Tg(e){return Rh(e.cap)?(0,z.jsx)(z.Fragment,{children:e.children}):null}function Eg(e,t){return e.filter(e=>!e.cap||t.has(e.cap))}function Dg(e){let t=(0,S.useMemo)(()=>{let t=e.query;return t.startsWith(`/`)?t.slice(1).trimStart().toLowerCase():``},[e.query]),n=(0,S.useMemo)(()=>{let n=e.commands;return t?n.filter(e=>e.name.toLowerCase().includes(t)||e.description.toLowerCase().includes(t)||e.source.toLowerCase().includes(t)):n},[t,e.commands]);return e.visible?(0,z.jsx)(`div`,{className:`absolute bottom-full left-0 right-0 z-20 mb-1 max-h-72 overflow-auto rounded-md border border-border bg-popover shadow-lg`,children:n.length>0?(0,z.jsx)(`ul`,{className:`flex flex-col divide-y divide-border/40`,children:n.map(t=>(0,z.jsxs)(`li`,{className:`flex cursor-pointer flex-wrap items-baseline gap-x-2 gap-y-0.5 px-3 py-2 hover:bg-accent/50`,onClick:()=>e.onSelect(t),children:[(0,z.jsxs)(`span`,{className:`font-mono text-sm font-semibold text-primary`,children:[`/`,t.name]}),t.argument_hint&&(0,z.jsx)(`span`,{className:`font-mono text-xs text-muted-foreground/70`,children:t.argument_hint}),(0,z.jsxs)(`span`,{className:`ml-auto font-mono text-xs text-muted-foreground/50`,children:[t.source,t.location&&(0,z.jsxs)(z.Fragment,{children:[` · `,t.location]})]}),(0,z.jsx)(`span`,{className:`basis-full text-xs text-muted-foreground`,children:t.description})]},t.name))}):(0,z.jsx)(`div`,{className:`px-3 py-2 text-xs italic text-muted-foreground`,children:`no matching commands`})}):null}var Og=new Set([`select`,`confirm`,`input`,`editor`,`notify`]);function kg(e){return Og.has(e.method)}function Ag(e){let t=e.store.dialog,n=t&&kg(t)?t:null,r=e.store.role===`controller`;return(0,z.jsx)(gp,{open:n!==null,children:(0,z.jsx)(yp,{showCloseButton:!1,className:n&&!r?`opacity-90`:void 0,children:n&&(r?(0,z.jsx)(Pg,{req:n,store:e.store},n.id):(0,z.jsx)(jg,{req:n},n.id))})})}function jg(e){return(0,z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,z.jsx)(`p`,{className:`text-sm font-semibold`,children:`The controller is being prompted`}),(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:Ng(e.req)})]})}function Mg(e){switch(e){case`error`:return`border-destructive/40 text-destructive`;case`warning`:return`border-warning/40 text-warning`;case`success`:return`border-success/40 text-success`;default:return`border-border text-foreground`}}function Ng(e){switch(e.method){case`select`:return`${e.title} — ${e.options.length} options`;case`confirm`:return`${e.title}: ${e.message}`;case`input`:return e.title;case`editor`:return e.title;case`notify`:return e.message}}function Pg(e){let t=()=>e.store.dialogResponse(e.req.id,{cancelled:!0});return e.req.method===`select`?(0,z.jsx)(Fg,{req:e.req,store:e.store,cancel:t}):(0,z.jsx)(Ig,{req:e.req,store:e.store,cancel:t})}function Fg(e){return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(bp,{children:(0,z.jsx)(Sp,{children:e.req.title})}),(0,z.jsx)(`ul`,{className:`flex flex-col gap-2`,children:e.req.options.map(t=>(0,z.jsx)(`li`,{children:(0,z.jsx)(Z,{variant:`secondary`,className:`w-full justify-start`,onClick:()=>e.store.dialogResponse(e.req.id,{value:t}),children:t})},t))}),(0,z.jsx)(xp,{children:(0,z.jsx)(Z,{type:`button`,variant:`secondary`,onClick:e.cancel,children:`Cancel`})})]})}function Ig(e){let[t,n]=(0,S.useState)(e.req.method===`editor`?e.req.prefill??``:``);if(e.req.method===`confirm`){let t=e.req;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(bp,{children:(0,z.jsx)(Sp,{children:t.title})}),(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:t.message}),(0,z.jsxs)(xp,{children:[(0,z.jsx)(Z,{variant:`secondary`,onClick:()=>e.store.dialogResponse(t.id,{confirmed:!1}),children:`No`}),(0,z.jsx)(Z,{onClick:()=>e.store.dialogResponse(t.id,{confirmed:!0}),children:`Yes`})]})]})}if(e.req.method===`input`||e.req.method===`editor`){let r=e.req;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(bp,{children:(0,z.jsx)(Sp,{children:r.title})}),r.method===`editor`?(0,z.jsx)(Np,{className:`resize-none font-mono text-sm`,rows:8,value:t,onChange:e=>n(e.currentTarget.value),autoFocus:!0}):(0,z.jsx)(wp,{placeholder:r.placeholder??``,value:t,onChange:e=>n(e.currentTarget.value),autoFocus:!0}),(0,z.jsxs)(xp,{children:[(0,z.jsx)(Z,{type:`button`,variant:`secondary`,onClick:e.cancel,children:`Cancel`}),(0,z.jsx)(Z,{onClick:()=>e.store.dialogResponse(r.id,{value:t}),children:`Submit`})]})]})}if(e.req.method===`notify`){let t=e.req;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`p`,{className:Y(`rounded border px-3 py-2 text-sm`,Mg(t.notifyType)),children:t.message}),(0,z.jsx)(xp,{children:(0,z.jsx)(Z,{onClick:()=>e.store.dialogResponse(t.id,{confirmed:!0}),children:`OK`})})]})}return null}function Lg(e,t,n){let r=Array(e);return new Proxy(r,{get(r,i,a){if(typeof i==`string`){let a=i.charCodeAt(0);if(a>=48&&a<=57){let a=+i;if(Number.isInteger(a)&&a>=0&&a<e){let e=r[a];if(!e){let i=t[a*2];e=r[a]={index:a,key:n(a),start:i,size:t[a*2+1],end:i+t[a*2+1],lane:0}}return e}}if(i===`length`)return e}return Reflect.get(r,i,a)}})}function Rg(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return o.length!==r.length||o.some((e,t)=>r[t]!==e)?(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i):i}return o.updateDeps=e=>{r=e},o}function zg(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var Bg=(e,t)=>Math.abs(e-t)<1.01,Vg=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},Hg,Ug=()=>{if(Hg!==void 0)return Hg;if(typeof navigator>`u`)return Hg=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return Hg=!0;let e=navigator.maxTouchPoints;return Hg=navigator.platform===`MacIntel`&&e!==void 0&&e>0},Wg=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},Gg=e=>e,Kg=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},qg=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(Wg(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(Wg(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},Jg={passive:!0},Yg=typeof window>`u`?!0:`onscrollend`in window,Xg=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&Yg,o=0,s=a?null:Vg(i,()=>t(o,!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,Jg),a&&r.addEventListener(`scrollend`,u,Jg),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u)}},Zg=(e,t)=>Xg(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),Qg=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},$g=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},e_=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Gg,rangeExtractor:Kg,onChange:()=>{},measureElement:Qg,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=e>0?s[0]?.key??n.getItemKey(0):null,l=e>0?s[e-1]?.key??n.getItemKey(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==c||t.getItemKey(o-1)!==l)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>e&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==l)&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:i,getItemKey:a}=this.options,c=0;for(;c<i&&a(c)!==e;)c++;if(c<i){let e=n[c];if(e){let n=e.start+t;n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=Rg(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{if(t&&this._intendedScrollOffset===null&&e===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;let n=this.getScrollOffset();this.scrollDirection=t?n===e?this.scrollDirection:n<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,!(!Ug()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,Jg),e.addEventListener(`touchend`,n,Jg),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(Ug()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{let n=new Map,r=new Map;for(let i=t-1;i>=0;i--){let t=e[i];if(n.has(t.lane))continue;let a=r.get(t.lane);if(a==null||t.end>a.end?r.set(t.lane,t):t.end<a.end&&n.set(t.lane,!0),n.size===this.options.lanes)break}return r.size===this.options.lanes?Array.from(r.values()).sort((e,t)=>e.end===t.end?e.index-t.index:e.end-t.end)[0]:void 0},this.getMeasurementOptions=Rg(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(e,t,n,r,i,a,o)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o}),{key:!1}),this.getMeasurements=Rg(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o},s)=>{let c=this.itemSizeCache;if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let l=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=this.options.gap,a=e*2,o=this._flatMeasurements;if(!o||o.length<a){let e=new Float64Array(a);o&&l>0&&e.set(o.subarray(0,l*2)),o=e,this._flatMeasurements=o}let s;if(l===0)s=t+n;else{let e=l-1;s=o[e*2]+o[e*2+1]+i}for(let t=l;t<e;t++){let e=r(t),n=c.get(e),a=typeof n==`number`?n:this.options.estimateSize(t);o[t*2]=s,o[t*2+1]=a,s+=a+i}let u=Lg(e,o,r);return this.measurementsCache=u,u}let u=this.measurementsCache.slice(0,l),d=Array(a).fill(void 0);for(let e=0;e<l;e++){let t=u[e];t&&(d[t.lane]=e)}for(let i=l;i<e;i++){let e=r(i),a=this.laneAssignments.get(i),s,l,f=o===`estimate`||c.has(e);if(a!==void 0&&this.options.lanes>1){s=a;let e=d[s],r=e===void 0?void 0:u[e];l=r?r.end+this.options.gap:t+n}else{let e=this.options.lanes===1?u[i-1]:this.getFurthestMeasurement(u,i);l=e?e.end+this.options.gap:t+n,s=e?e.lane:i%this.options.lanes,this.options.lanes>1&&f&&this.laneAssignments.set(i,s)}let p=c.get(e),m=typeof p==`number`?p:this.options.estimateSize(i),h=l+m;u[i]={index:i,start:l,size:m,end:h,key:e,lane:s},d[s]=i}return this.measurementsCache=u,u},{key:!1,debug:()=>this.options.debug}),this.calculateRange=Rg(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>e.length===0||t===0?(this.range=null,null):(this.range=r_(e,t,n,r,r===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Rg(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e),n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(e<0||e>=this.options.count)return;let n,r,i,a=this._flatMeasurements;if(this.options.lanes===1&&a!==null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=t-(this.itemSizeCache.get(i)??n);if(o!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,s=a?this.getTotalSize():0,c=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?r<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(i)||this.scrollDirection!==`backward`):this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},o,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++,a?this.applyScrollAdjustment(this.getTotalSize()-s):c&&this.applyScrollAdjustment(o),this.notify(!1)}},this.getVirtualItems=Rg(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._flatMeasurements,r=this.options.lanes===1&&n!=null;return zg(t[t_(0,t.length-1,r?e=>n[e*2]:e=>zg(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`)if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t];if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{let r=this.getOffsetForAlignment(e,t),i=this.now();this.scrollState={index:null,align:t,behavior:n,startedAt:i,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e,r=this.now();this.scrollState={index:null,align:`start`,behavior:t,startedAt:r,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._flatMeasurements;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){e!==0&&(Ug()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=e:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollAdjustments=0)))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&Bg(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let e=this.getSize()||600,n=Math.abs(t-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>e;this.scrollState.lastTargetOffset=t,r||(this.scrollState.behavior=`auto`),this._scrollToOffset(t,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},t_=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function n_(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function r_(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=n_(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=t_(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var i_=typeof document<`u`?S.useLayoutEffect:S.useEffect;function a_({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=S.useReducer(e=>e+1,0)[1],a=S.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}let r=!!e.options.horizontal,i=t.mode===`transform`,o=r?`left`:`top`,s=e.options.scrollMargin,c=e.getVirtualItems();for(let n of c){let a=n.start-s,c=e.elementsCache.get(n.key);c&&t.lastPositions.get(c)!==a&&(t.lastPositions.set(c,a),i?c.style.transform=r?`translate3d(${a}px, 0, 0)`:`translate3d(0, ${a}px, 0)`:c.style[o]=`${a}px`)}},s={...r,onChange:(t,n)=>{var s;let c=a.current,l=!0;if(c.enabled){o(t);let e=t.range,n=c.prevRange;l=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,l&&(c.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}l&&(e&&n?(0,pr.flushSync)(i):i()),(s=r.onChange)==null||s.call(r,t,n)}},[c]=S.useState(()=>{let e=new e_(s);return Object.assign(e,{containerRef:t=>{let n=a.current;if(n.container=t,n.lastSize=null,t&&n.enabled){let r=e.getTotalSize();n.lastSize=r;let i=e.options.horizontal?`width`:`height`;t.style[i]=`${r}px`}}})});return c.setOptions(s),i_(()=>c._didMount(),[]),i_(()=>c._willUpdate()),i_(()=>{o(c)}),c}function o_(e){return a_({observeElementRect:qg,observeElementOffset:Zg,scrollToFn:$g,...e})}var s_={};function c_(e){let t=s_[e];if(t)return t;t=s_[e]=[];for(let e=0;e<128;e++){let n=String.fromCharCode(e);t.push(n)}for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t[r]=`%`+(`0`+r.toString(16).toUpperCase()).slice(-2)}return t}function l_(e,t){typeof t!=`string`&&(t=l_.defaultChars);let n=c_(t);return e.replace(/(%[a-f0-9]{2})+/gi,function(e){let t=``;for(let r=0,i=e.length;r<i;r+=3){let a=parseInt(e.slice(r+1,r+3),16);if(a<128){t+=n[a];continue}if((a&224)==192&&r+3<i){let n=parseInt(e.slice(r+4,r+6),16);if((n&192)==128){let e=a<<6&1984|n&63;e<128?t+=`��`:t+=String.fromCharCode(e),r+=3;continue}}if((a&240)==224&&r+6<i){let n=parseInt(e.slice(r+4,r+6),16),i=parseInt(e.slice(r+7,r+9),16);if((n&192)==128&&(i&192)==128){let e=a<<12&61440|n<<6&4032|i&63;e<2048||e>=55296&&e<=57343?t+=`���`:t+=String.fromCharCode(e),r+=6;continue}}if((a&248)==240&&r+9<i){let n=parseInt(e.slice(r+4,r+6),16),i=parseInt(e.slice(r+7,r+9),16),o=parseInt(e.slice(r+10,r+12),16);if((n&192)==128&&(i&192)==128&&(o&192)==128){let e=a<<18&1835008|n<<12&258048|i<<6&4032|o&63;e<65536||e>1114111?t+=`����`:(e-=65536,t+=String.fromCharCode(55296+(e>>10),56320+(e&1023))),r+=9;continue}}t+=`�`}return t})}l_.defaultChars=`;/?:@&=+$,#`,l_.componentChars=``;var u_={};function d_(e){let t=u_[e];if(t)return t;t=u_[e]=[];for(let e=0;e<128;e++){let n=String.fromCharCode(e);/^[0-9a-z]$/i.test(n)?t.push(n):t.push(`%`+(`0`+e.toString(16).toUpperCase()).slice(-2))}for(let n=0;n<e.length;n++)t[e.charCodeAt(n)]=e[n];return t}function f_(e,t,n){typeof t!=`string`&&(n=t,t=f_.defaultChars),n===void 0&&(n=!0);let r=d_(t),i=``;for(let t=0,a=e.length;t<a;t++){let o=e.charCodeAt(t);if(n&&o===37&&t+2<a&&/^[0-9a-f]{2}$/i.test(e.slice(t+1,t+3))){i+=e.slice(t,t+3),t+=2;continue}if(o<128){i+=r[o];continue}if(o>=55296&&o<=57343){if(o>=55296&&o<=56319&&t+1<a){let n=e.charCodeAt(t+1);if(n>=56320&&n<=57343){i+=encodeURIComponent(e[t]+e[t+1]),t++;continue}}i+=`%EF%BF%BD`;continue}i+=encodeURIComponent(e[t])}return i}f_.defaultChars=`;/?:@&=+$,-_.!~*'()#`,f_.componentChars=`-_.!~*'()`;function p_(e){let t=``;return t+=e.protocol||``,t+=e.slashes?`//`:``,t+=e.auth?e.auth+`@`:``,e.hostname&&e.hostname.indexOf(`:`)!==-1?t+=`[`+e.hostname+`]`:t+=e.hostname||``,t+=e.port?`:`+e.port:``,t+=e.pathname||``,t+=e.search||``,t+=e.hash||``,t}function m_(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}var h_=/^([a-z0-9.+-]+:)/i,g_=/:[0-9]*$/,__=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,v_=[`%`,`/`,`?`,`;`,`#`,`'`,`{`,`}`,`|`,`\\`,`^`,"`",`<`,`>`,`"`,"`",` `,`\r`,`
51
+ `},Oa=0,ka=[];function Aa(e){var t=S.useRef([]),n=S.useRef([0,0]),r=S.useRef(),i=S.useState(Oa++)[0],a=S.useState(Qi)[0],o=S.useRef(e);S.useEffect(function(){o.current=e},[e]),S.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=Oi([e.lockRef.current],(e.shards||[]).map(Ta),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=S.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=Ca(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=ga(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=ga(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return Sa(h,t,e,h===`h`?s:c,!0)},[]),c=S.useCallback(function(e){var n=e;if(!(!ka.length||ka[ka.length-1]!==a)){var r=`deltaY`in n?wa(n):Ca(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&Ea(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(Ta).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=S.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:ja(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=S.useCallback(function(e){n.current=Ca(e),r.current=void 0},[]),d=S.useCallback(function(t){l(t.type,wa(t),t.target,s(t,e.lockRef.current))},[]),f=S.useCallback(function(t){l(t.type,Ca(t),t.target,s(t,e.lockRef.current))},[]);S.useEffect(function(){return ka.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,da),document.addEventListener(`touchmove`,c,da),document.addEventListener(`touchstart`,u,da),function(){ka=ka.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,da),document.removeEventListener(`touchmove`,c,da),document.removeEventListener(`touchstart`,u,da)}},[]);var p=e.removeScrollBar,m=e.inert;return S.createElement(S.Fragment,null,m?S.createElement(a,{styles:Da(i)}):null,p?S.createElement(ca,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function ja(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var Ma=Vi(Hi,Aa),Na=S.forwardRef(function(e,t){return S.createElement(Wi,Ei({},e,{ref:t,sideCar:Ma}))});Na.classNames=Wi.classNames;var Pa=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},Fa=new WeakMap,Ia=new WeakMap,La={},Ra=0,za=function(e){return e&&(e.host||za(e.parentNode))},Ba=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=za(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},Va=function(e,t,n,r){var i=Ba(t,Array.isArray(e)?e:[e]);La[n]||(La[n]=new WeakMap);var a=La[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(Fa.get(e)||0)+1,l=(a.get(e)||0)+1;Fa.set(e,c),a.set(e,l),o.push(e),c===1&&i&&Ia.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),Ra++,function(){o.forEach(function(e){var t=Fa.get(e)-1,i=a.get(e)-1;Fa.set(e,t),a.set(e,i),t||(Ia.has(e)||e.removeAttribute(r),Ia.delete(e)),i||e.removeAttribute(n)}),Ra--,Ra||(Fa=new WeakMap,Fa=new WeakMap,Ia=new WeakMap,La={})}},Ha=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Pa(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Va(r,i,n,`aria-hidden`)):function(){return null}},Ua=`Dialog`,[Wa,Ga]=br(Ua),[Ka,qa]=Wa(Ua),Ja=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=S.useRef(null),c=S.useRef(null),[l,u]=Or({prop:r,defaultProp:i??!1,onChange:a,caller:Ua});return(0,z.jsx)(Ka,{scope:t,triggerRef:s,contentRef:c,contentId:Br(),titleId:Br(),descriptionId:Br(),open:l,onOpenChange:u,onOpenToggle:S.useCallback(()=>u(e=>!e),[u]),modal:o,children:n})};Ja.displayName=Ua;var Ya=`DialogTrigger`,Xa=S.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=qa(Ya,n),a=Xn(t,i.triggerRef);return(0,z.jsx)(mr.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":go(i.open),...r,ref:a,onClick:B(e.onClick,i.onOpenToggle)})});Xa.displayName=Ya;var Za=`DialogPortal`,[Qa,$a]=Wa(Za,{forceMount:void 0}),eo=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=qa(Za,t);return(0,z.jsx)(Qa,{scope:t,forceMount:n,children:S.Children.map(r,e=>(0,z.jsx)(Mr,{present:n||a.open,children:(0,z.jsx)(xi,{asChild:!0,container:i,children:e})}))})};eo.displayName=Za;var to=`DialogOverlay`,no=S.forwardRef((e,t)=>{let n=$a(to,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=qa(to,e.__scopeDialog);return a.modal?(0,z.jsx)(Mr,{present:r||a.open,children:(0,z.jsx)(io,{...i,ref:t})}):null});no.displayName=to;var ro=Zn(`DialogOverlay.RemoveScroll`),io=S.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=qa(to,n),a=Xn(t,$r());return(0,z.jsx)(Na,{as:ro,allowPinchZoom:!0,shards:[i.contentRef],children:(0,z.jsx)(mr.div,{"data-state":go(i.open),...r,ref:a,style:{pointerEvents:`auto`,...r.style}})})}),ao=`DialogContent`,oo=S.forwardRef((e,t)=>{let n=$a(ao,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=qa(ao,e.__scopeDialog);return(0,z.jsx)(Mr,{present:r||a.open,children:a.modal?(0,z.jsx)(so,{...i,ref:t}):(0,z.jsx)(co,{...i,ref:t})})});oo.displayName=ao;var so=S.forwardRef((e,t)=>{let n=qa(ao,e.__scopeDialog),r=S.useRef(null),i=Xn(t,n.contentRef,r);return S.useEffect(()=>{let e=r.current;if(e)return Ha(e)},[]),(0,z.jsx)(lo,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:B(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:B(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:B(e.onFocusOutside,e=>e.preventDefault())})}),co=S.forwardRef((e,t)=>{let n=qa(ao,e.__scopeDialog),r=S.useRef(!1),i=S.useRef(!1);return(0,z.jsx)(lo,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),lo=S.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=qa(ao,n);return wi(),(0,z.jsx)(z.Fragment,{children:(0,z.jsx)(ci,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,z.jsx)(Xr,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":go(s.open),...o,ref:t,deferPointerDownOutside:!0,onDismiss:()=>s.onOpenChange(!1)})})})}),uo=`DialogTitle`,H=S.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=qa(uo,n);return(0,z.jsx)(mr.h2,{id:i.titleId,...r,ref:t})});H.displayName=uo;var fo=`DialogDescription`,po=S.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=qa(fo,n);return(0,z.jsx)(mr.p,{id:i.descriptionId,...r,ref:t})});po.displayName=fo;var mo=`DialogClose`,ho=S.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=qa(mo,n);return(0,z.jsx)(mr.button,{type:`button`,...r,ref:t,onClick:B(e.onClick,()=>i.onOpenChange(!1))})});ho.displayName=mo;function go(e){return e?`open`:`closed`}function _o(e){let t=S.useRef({value:e,previous:e});return S.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function vo(e){let[t,n]=S.useState(void 0);return Cr(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var yo=[`top`,`right`,`bottom`,`left`],bo=Math.min,U=Math.max,xo=Math.round,So=Math.floor,Co=e=>({x:e,y:e}),wo={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function To(e,t,n){return U(e,bo(t,n))}function Eo(e,t){return typeof e==`function`?e(t):e}function Do(e){return e.split(`-`)[0]}function Oo(e){return e.split(`-`)[1]}function ko(e){return e===`x`?`y`:`x`}function Ao(e){return e===`y`?`height`:`width`}function jo(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Mo(e){return ko(jo(e))}function No(e,t,n){n===void 0&&(n=!1);let r=Oo(e),i=Mo(e),a=Ao(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Ho(o)),[o,Ho(o)]}function Po(e){let t=Ho(e);return[Fo(e),t,Fo(t)]}function Fo(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Io=[`left`,`right`],Lo=[`right`,`left`],Ro=[`top`,`bottom`],zo=[`bottom`,`top`];function Bo(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Lo:Io:t?Io:Lo;case`left`:case`right`:return t?Ro:zo;default:return[]}}function Vo(e,t,n,r){let i=Oo(e),a=Bo(Do(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Fo)))),a}function Ho(e){let t=Do(e);return wo[t]+e.slice(t.length)}function Uo(e){return{top:0,right:0,bottom:0,left:0,...e}}function Wo(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Uo(e)}function Go(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Ko(e,t,n){let{reference:r,floating:i}=e,a=jo(t),o=Mo(t),s=Ao(o),c=Do(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Oo(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function qo(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=Eo(t,e),p=Wo(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Go(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Go(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Jo=50,Yo=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:qo},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Ko(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Jo&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=Ko(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Xo=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=Eo(e,t)||{};if(l==null)return{};let d=Wo(u),f={x:n,y:r},p=Mo(i),m=Ao(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=bo(d[_],T),D=bo(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=To(O,A,k),M=!c.arrow&&Oo(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,N=M?A<O?A-O:A-k:0;return{[p]:f[p]+N,data:{[p]:j,centerOffset:A-j-N,...M&&{alignmentOffset:N}},reset:M}}}),Zo=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=Eo(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=Do(r),_=jo(o),v=Do(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Ho(o)]:Po(o)),x=p!==`none`;!d&&x&&b.push(...Vo(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=No(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==jo(t))||T.every(e=>jo(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=jo(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function Qo(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function $o(e){return yo.some(t=>e[t]>=0)}var es=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=Eo(e,t);switch(i){case`referenceHidden`:{let e=Qo(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:$o(e)}}}case`escaped`:{let e=Qo(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:$o(e)}}}default:return{}}}}},ts=new Set([`left`,`top`]);async function ns(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Do(n),s=Oo(n),c=jo(n)===`y`,l=ts.has(o)?-1:1,u=a&&c?-1:1,d=Eo(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var rs=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await ns(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},is=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Eo(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=jo(Do(i)),p=ko(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=To(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=To(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},as=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=Eo(e,t),u={x:n,y:r},d=jo(i),f=ko(d),p=u[f],m=u[d],h=Eo(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=ts.has(Do(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},os=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=Eo(e,t),u=await o.detectOverflow(t,l),d=Do(i),f=Oo(i),p=jo(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=bo(h-u[g],v),x=bo(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=U(u.left,0),t=U(u.right,0),n=U(u.top,0),r=U(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:U(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:U(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function ss(){return typeof window<`u`}function cs(e){return ds(e)?(e.nodeName||``).toLowerCase():`#document`}function ls(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function us(e){return((ds(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function ds(e){return ss()?e instanceof Node||e instanceof ls(e).Node:!1}function fs(e){return ss()?e instanceof Element||e instanceof ls(e).Element:!1}function ps(e){return ss()?e instanceof HTMLElement||e instanceof ls(e).HTMLElement:!1}function ms(e){return!ss()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof ls(e).ShadowRoot}function hs(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Es(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function gs(e){return/^(table|td|th)$/.test(cs(e))}function _s(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var vs=/transform|translate|scale|rotate|perspective|filter/,ys=/paint|layout|strict|content/,bs=e=>!!e&&e!==`none`,xs;function Ss(e){let t=fs(e)?Es(e):e;return bs(t.transform)||bs(t.translate)||bs(t.scale)||bs(t.rotate)||bs(t.perspective)||!ws()&&(bs(t.backdropFilter)||bs(t.filter))||vs.test(t.willChange||``)||ys.test(t.contain||``)}function Cs(e){let t=Os(e);for(;ps(t)&&!Ts(t);){if(Ss(t))return t;if(_s(t))return null;t=Os(t)}return null}function ws(){return xs??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),xs}function Ts(e){return/^(html|body|#document)$/.test(cs(e))}function Es(e){return ls(e).getComputedStyle(e)}function Ds(e){return fs(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Os(e){if(cs(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||ms(e)&&e.host||us(e);return ms(t)?t.host:t}function ks(e){let t=Os(e);return Ts(t)?e.ownerDocument?e.ownerDocument.body:e.body:ps(t)&&hs(t)?t:ks(t)}function As(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=ks(e),i=r===e.ownerDocument?.body,a=ls(r);if(i){let e=js(a);return t.concat(a,a.visualViewport||[],hs(r)?r:[],e&&n?As(e):[])}else return t.concat(r,As(r,[],n))}function js(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ms(e){let t=Es(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=ps(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=xo(n)!==a||xo(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Ns(e){return fs(e)?e:e.contextElement}function Ps(e){let t=Ns(e);if(!ps(t))return Co(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Ms(t),o=(a?xo(n.width):n.width)/r,s=(a?xo(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Fs=Co(0);function Is(e){let t=ls(e);return!ws()||!t.visualViewport?Fs:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Ls(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==ls(e)?!1:t}function Rs(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Ns(e),o=Co(1);t&&(r?fs(r)&&(o=Ps(r)):o=Ps(e));let s=Ls(a,n,r)?Is(a):Co(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=ls(a),t=r&&fs(r)?ls(r):r,n=e,i=js(n);for(;i&&r&&t!==n;){let e=Ps(i),t=i.getBoundingClientRect(),r=Es(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=ls(i),i=js(n)}}return Go({width:u,height:d,x:c,y:l})}function zs(e,t){let n=Ds(e).scrollLeft;return t?t.left+n:Rs(us(e)).left+n}function Bs(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-zs(e,n),y:n.top+t.scrollTop}}function Vs(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=us(r),s=t?_s(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=Co(1),u=Co(0),d=ps(r);if((d||!d&&!a)&&((cs(r)!==`body`||hs(o))&&(c=Ds(r)),d)){let e=Rs(r);l=Ps(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Bs(o,c):Co(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Hs(e){return Array.from(e.getClientRects())}function Us(e){let t=us(e),n=Ds(e),r=e.ownerDocument.body,i=U(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=U(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+zs(e),s=-n.scrollTop;return Es(r).direction===`rtl`&&(o+=U(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Ws=25;function Gs(e,t){let n=ls(e),r=us(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=ws();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=zs(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=Ws&&(a-=o)}else l<=Ws&&(a+=l);return{width:a,height:o,x:s,y:c}}function Ks(e,t){let n=Rs(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=ps(e)?Ps(e):Co(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function qs(e,t,n){let r;if(t===`viewport`)r=Gs(e,n);else if(t===`document`)r=Us(us(e));else if(fs(t))r=Ks(t,n);else{let n=Is(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Go(r)}function Js(e,t){let n=Os(e);return n===t||!fs(n)||Ts(n)?!1:Es(n).position===`fixed`||Js(n,t)}function Ys(e,t){let n=t.get(e);if(n)return n;let r=As(e,[],!1).filter(e=>fs(e)&&cs(e)!==`body`),i=null,a=Es(e).position===`fixed`,o=a?Os(e):e;for(;fs(o)&&!Ts(o);){let t=Es(o),n=Ss(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||hs(o)&&!n&&Js(e,o))?r=r.filter(e=>e!==o):i=t,o=Os(o)}return t.set(e,r),r}function Xs(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?_s(t)?[]:Ys(t,this._c):[].concat(n),r],o=qs(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=qs(t,a[e],i);s=U(n.top,s),c=bo(n.right,c),l=bo(n.bottom,l),u=U(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Zs(e){let{width:t,height:n}=Ms(e);return{width:t,height:n}}function Qs(e,t,n){let r=ps(t),i=us(t),a=n===`fixed`,o=Rs(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=Co(0);function l(){c.x=zs(i)}if(r||!r&&!a)if((cs(t)!==`body`||hs(i))&&(s=Ds(t)),r){let e=Rs(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Bs(i,s):Co(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function $s(e){return Es(e).position===`static`}function ec(e,t){if(!ps(e)||Es(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return us(e)===n&&(n=n.ownerDocument.body),n}function tc(e,t){let n=ls(e);if(_s(e))return n;if(!ps(e)){let t=Os(e);for(;t&&!Ts(t);){if(fs(t)&&!$s(t))return t;t=Os(t)}return n}let r=ec(e,t);for(;r&&gs(r)&&$s(r);)r=ec(r,t);return r&&Ts(r)&&$s(r)&&!Ss(r)?n:r||Cs(e)||n}var nc=async function(e){let t=this.getOffsetParent||tc,n=this.getDimensions,r=await n(e.floating);return{reference:Qs(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function rc(e){return Es(e).direction===`rtl`}var ic={convertOffsetParentRelativeRectToViewportRelativeRect:Vs,getDocumentElement:us,getClippingRect:Xs,getOffsetParent:tc,getElementRects:nc,getClientRects:Hs,getDimensions:Zs,getScale:Ps,isElement:fs,isRTL:rc};function ac(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function oc(e,t){let n=null,r,i=us(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=So(d),h=So(i.clientWidth-(u+f)),g=So(i.clientHeight-(d+p)),_=So(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:U(0,bo(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!ac(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function sc(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Ns(e),u=i||a?[...l?As(l):[],...t?As(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?oc(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Rs(e):null;c&&g();function g(){let t=Rs(e);h&&!ac(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var cc=rs,lc=is,uc=Zo,dc=os,fc=es,pc=Xo,mc=as,hc=(e,t,n)=>{let r=new Map,i={platform:ic,...n},a={...i.platform,_c:r};return Yo(e,t,{...i,platform:a})},gc=typeof document<`u`?S.useLayoutEffect:function(){};function _c(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!_c(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!_c(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function vc(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function yc(e,t){let n=vc(e);return Math.round(t*n)/n}function bc(e){let t=S.useRef(e);return gc(()=>{t.current=e}),t}function xc(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=S.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=S.useState(r);_c(f,r)||p(r);let[m,h]=S.useState(null),[g,_]=S.useState(null),v=S.useCallback(e=>{e!==C.current&&(C.current=e,h(e))},[]),y=S.useCallback(e=>{e!==w.current&&(w.current=e,_(e))},[]),b=a||m,x=o||g,C=S.useRef(null),w=S.useRef(null),T=S.useRef(u),E=c!=null,D=bc(c),O=bc(i),k=bc(l),A=S.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:f};O.current&&(e.platform=O.current),hc(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!_c(T.current,t)&&(T.current=t,pr.flushSync(()=>{d(t)}))})},[f,t,n,O,k]);gc(()=>{l===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let j=S.useRef(!1);gc(()=>(j.current=!0,()=>{j.current=!1}),[]),gc(()=>{if(b&&(C.current=b),x&&(w.current=x),b&&x){if(D.current)return D.current(b,x,A);A()}},[b,x,A,D,E]);let M=S.useMemo(()=>({reference:C,floating:w,setReference:v,setFloating:y}),[v,y]),N=S.useMemo(()=>({reference:b,floating:x}),[b,x]),P=S.useMemo(()=>{let e={position:n,left:0,top:0};if(!N.floating)return e;let t=yc(N.floating,u.x),r=yc(N.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...vc(N.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,N.floating,u.x,u.y]);return S.useMemo(()=>({...u,update:A,refs:M,elements:N,floatingStyles:P}),[u,A,M,N,P])}var Sc=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:pc({element:r.current,padding:i}).fn(n):r?pc({element:r,padding:i}).fn(n):{}}}},Cc=(e,t)=>{let n=cc(e);return{name:n.name,fn:n.fn,options:[e,t]}},wc=(e,t)=>{let n=lc(e);return{name:n.name,fn:n.fn,options:[e,t]}},Tc=(e,t)=>({fn:mc(e).fn,options:[e,t]}),Ec=(e,t)=>{let n=uc(e);return{name:n.name,fn:n.fn,options:[e,t]}},Dc=(e,t)=>{let n=dc(e);return{name:n.name,fn:n.fn,options:[e,t]}},Oc=(e,t)=>{let n=fc(e);return{name:n.name,fn:n.fn,options:[e,t]}},kc=(e,t)=>{let n=Sc(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ac=`Arrow`,jc=S.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,z.jsx)(mr.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,z.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});jc.displayName=Ac;var Mc=jc,Nc=`Popper`,[Pc,Fc]=br(Nc),[Ic,Lc]=Pc(Nc),Rc=e=>{let{__scopePopper:t,children:n}=e,[r,i]=S.useState(null),[a,o]=S.useState(void 0);return(0,z.jsx)(Ic,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})};Rc.displayName=Nc;var zc=`PopperAnchor`,Bc=S.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=Lc(zc,n),o=S.useRef(null),s=a.onAnchorChange,c=Xn(t,S.useCallback(e=>{o.current=e,e&&s(e)},[s])),l=S.useRef(null);S.useEffect(()=>{if(!r)return;let e=l.current;l.current=r.current,e!==l.current&&s(l.current)});let u=a.placementState&&Xc(a.placementState),d=u?.[0],f=u?.[1];return r?null:(0,z.jsx)(mr.div,{"data-radix-popper-side":d,"data-radix-popper-align":f,...i,ref:c})});Bc.displayName=zc;var Vc=`PopperContent`,[Hc,Uc]=Pc(Vc),Wc=S.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d=`partial`,hideWhenDetached:f=!1,updatePositionStrategy:p=`optimized`,onPlaced:m,...h}=e,g=Lc(Vc,n),[_,v]=S.useState(null),y=Xn(t,v),[b,x]=S.useState(null),C=vo(b),w=C?.width??0,T=C?.height??0,E=r+(a===`center`?``:`-`+a),D=typeof u==`number`?u:{top:0,right:0,bottom:0,left:0,...u},O=Array.isArray(l)?l:[l],k=O.length>0,A={padding:D,boundary:O.filter(Jc),altBoundary:k},{refs:j,floatingStyles:M,placement:N,isPositioned:P,middlewareData:F}=xc({strategy:`fixed`,placement:E,whileElementsMounted:(...e)=>sc(...e,{animationFrame:p===`always`}),elements:{reference:g.anchor},middleware:[Cc({mainAxis:i+T,alignmentAxis:o}),c&&wc({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?Tc():void 0,...A}),c&&Ec({...A}),Dc({...A,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),b&&kc({element:b,padding:s}),Yc({arrowWidth:w,arrowHeight:T}),f&&Oc({strategy:`referenceHidden`,...A,boundary:k?A.boundary:void 0})]}),I=g.setPlacementState;Cr(()=>(I(N),()=>{I(void 0)}),[N,I]);let[L,ee]=Xc(N),te=Ur(m);Cr(()=>{P&&te?.()},[P,te]);let ne=F.arrow?.x,re=F.arrow?.y,ie=F.arrow?.centerOffset!==0,[R,ae]=S.useState();return Cr(()=>{_&&ae(window.getComputedStyle(_).zIndex)},[_]),(0,z.jsx)(`div`,{ref:j.setFloating,"data-radix-popper-content-wrapper":``,style:{...M,transform:P?M.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:R,"--radix-popper-transform-origin":[F.transformOrigin?.x,F.transformOrigin?.y].join(` `),...F.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,z.jsx)(Hc,{scope:n,placedSide:L,placedAlign:ee,onArrowChange:x,arrowX:ne,arrowY:re,shouldHideArrow:ie,children:(0,z.jsx)(mr.div,{"data-side":L,"data-align":ee,...h,ref:y,style:{...h.style,animation:P?void 0:`none`}})})})});Wc.displayName=Vc;var Gc=`PopperArrow`,Kc={top:`bottom`,right:`left`,bottom:`top`,left:`right`},qc=S.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=Uc(Gc,n),a=Kc[i.placedSide];return(0,z.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,z.jsx)(Mc,{...r,ref:t,style:{...r.style,display:`block`}})})});qc.displayName=Gc;function Jc(e){return e!==null}var Yc=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=Xc(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function Xc(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Zc=Rc,Qc=Bc,$c=Wc,el=qc,tl=`Label`,nl=S.forwardRef((e,t)=>(0,z.jsx)(mr.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));nl.displayName=tl;var rl=nl;function il(e,[t,n]){return Math.min(n,Math.max(t,e))}var al=[` `,`Enter`,`ArrowUp`,`ArrowDown`],ol=[` `,`Enter`],sl=`Select`,[cl,ll,ul]=Sr(sl),[dl,fl]=br(sl,[ul,Fc]),pl=Fc(),[ml,hl]=dl(sl),[gl,_l]=dl(sl),vl=`SelectProvider`;function yl(e){let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:c,dir:l,name:u,autoComplete:d,disabled:f,required:p,form:m,internal_do_not_use_render:h}=e,g=pl(t),[_,v]=S.useState(null),[y,b]=S.useState(null),[x,C]=S.useState(!1),w=Hr(l),[T,E]=Or({prop:r,defaultProp:i??!1,onChange:a,caller:sl}),[D,O]=Or({prop:o,defaultProp:s,onChange:c,caller:sl}),k=S.useRef(null),A=_?!!m||!!_.closest(`form`):!0,[j,M]=S.useState(new Set),N=Br(),P=Array.from(j).map(e=>e.props.value).join(`;`),F=S.useCallback(e=>{M(t=>new Set(t).add(e))},[]),I=S.useCallback(e=>{M(t=>{let n=new Set(t);return n.delete(e),n})},[]),L={required:p,trigger:_,onTriggerChange:v,valueNode:y,onValueNodeChange:b,valueNodeHasChildren:x,onValueNodeHasChildrenChange:C,contentId:N,value:D,onValueChange:O,open:T,onOpenChange:E,dir:w,triggerPointerDownPosRef:k,disabled:f,name:u,autoComplete:d,form:m,nativeOptions:j,nativeSelectKey:P,isFormControl:A};return(0,z.jsx)(Zc,{...g,children:(0,z.jsx)(ml,{scope:t,...L,children:(0,z.jsx)(cl.Provider,{scope:t,children:(0,z.jsx)(gl,{scope:t,onNativeOptionAdd:F,onNativeOptionRemove:I,children:gu(h)?h(L):n})})})})}yl.displayName=vl;var bl=e=>{let{__scopeSelect:t,children:n,...r}=e;return(0,z.jsx)(yl,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:e})=>(0,z.jsxs)(z.Fragment,{children:[n,e?(0,z.jsx)(hu,{__scopeSelect:t}):null]})})};bl.displayName=sl;var xl=`SelectTrigger`,Sl=S.forwardRef((e,t)=>{let{__scopeSelect:n,disabled:r=!1,...i}=e,a=pl(n),o=hl(xl,n),s=o.disabled||r,c=Xn(t,o.onTriggerChange),l=ll(n),u=S.useRef(`touch`),[d,f,p]=vu(e=>{let t=l().filter(e=>!e.disabled),n=yu(t,e,t.find(e=>e.value===o.value));n!==void 0&&o.onValueChange(n.value)}),m=e=>{s||(o.onOpenChange(!0),p()),e&&(o.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,z.jsx)(Qc,{asChild:!0,...a,children:(0,z.jsx)(mr.button,{type:`button`,role:`combobox`,"aria-controls":o.open?o.contentId:void 0,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":`none`,dir:o.dir,"data-state":o.open?`open`:`closed`,disabled:s,"data-disabled":s?``:void 0,"data-placeholder":_u(o.value)?``:void 0,...i,ref:c,onClick:B(i.onClick,e=>{e.currentTarget.focus(),u.current!==`mouse`&&m(e)}),onPointerDown:B(i.onPointerDown,e=>{u.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(m(e),e.preventDefault())}),onKeyDown:B(i.onKeyDown,e=>{let t=d.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&f(e.key),!(t&&e.key===` `)&&al.includes(e.key)&&(m(),e.preventDefault())})})})});Sl.displayName=xl;var Cl=`SelectValue`,wl=S.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,children:a,placeholder:o=``,...s}=e,c=hl(Cl,n),{onValueNodeHasChildrenChange:l}=c,u=a!==void 0,d=Xn(t,c.onValueNodeChange);Cr(()=>{l(u)},[l,u]);let f=_u(c.value);return(0,z.jsx)(mr.span,{...s,asChild:f?!1:s.asChild,ref:d,style:{pointerEvents:`none`},children:(0,z.jsx)(S.Fragment,{children:f?o:a},f?`placeholder`:`value`)})});wl.displayName=Cl;var Tl=`SelectIcon`,El=S.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...i}=e;return(0,z.jsx)(mr.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})});El.displayName=Tl;var Dl=`SelectPortal`,[Ol,kl]=dl(Dl,{forceMount:void 0}),Al=e=>{let{__scopeSelect:t,forceMount:n,...r}=e;return(0,z.jsx)(Ol,{scope:e.__scopeSelect,forceMount:n,children:(0,z.jsx)(xi,{asChild:!0,...r})})};Al.displayName=Dl;var jl=`SelectContent`,Ml=S.forwardRef((e,t)=>{let n=kl(jl,e.__scopeSelect),{forceMount:r=n.forceMount,...i}=e,a=hl(jl,e.__scopeSelect),[o,s]=S.useState();return Cr(()=>{s(new DocumentFragment)},[]),(0,z.jsx)(Mr,{present:r||a.open,children:({present:e})=>e?(0,z.jsx)(zl,{...i,ref:t}):(0,z.jsx)(Nl,{...i,fragment:o})})});Ml.displayName=jl;var Nl=S.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,fragment:i}=e;return i?pr.createPortal((0,z.jsx)(Fl,{scope:n,children:(0,z.jsx)(cl.Slot,{scope:n,children:(0,z.jsx)(`div`,{ref:t,children:r})})}),i):null});Nl.displayName=`SelectContentFragment`;var Pl=10,[Fl,Il]=dl(jl),Ll=`SelectContentImpl`,Rl=Zn(`SelectContent.RemoveScroll`),zl=S.forwardRef((e,t)=>{let{__scopeSelect:n}=e,{position:r=`item-aligned`,onCloseAutoFocus:i,onEscapeKeyDown:a,onPointerDownOutside:o,side:s,sideOffset:c,align:l,alignOffset:u,arrowPadding:d,collisionBoundary:f,collisionPadding:p,sticky:m,hideWhenDetached:h,avoidCollisions:g,..._}=e,v=hl(jl,n),[y,b]=S.useState(null),[x,C]=S.useState(null),w=Xn(t,b),[T,E]=S.useState(null),[D,O]=S.useState(null),k=ll(n),[A,j]=S.useState(!1),M=S.useRef(!1);S.useEffect(()=>{if(y)return Ha(y)},[y]),wi();let N=S.useCallback(e=>{let[t,...n]=k().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&x&&(x.scrollTop=0),n===r&&x&&(x.scrollTop=x.scrollHeight),n?.focus(),document.activeElement!==i))return},[k,x]),P=S.useCallback(()=>N([T,y]),[N,T,y]);S.useEffect(()=>{A&&P()},[A,P]);let{onOpenChange:F,triggerPointerDownPosRef:I}=v;S.useEffect(()=>{if(y){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(I.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(I.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():n.composedPath().includes(y)||F(!1),document.removeEventListener(`pointermove`,t),I.current=null};return I.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[y,F,I]),S.useEffect(()=>{let e=()=>F(!1);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[F]);let[L,ee]=vu(e=>{let t=k().filter(e=>!e.disabled),n=yu(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current?.focus())}),te=S.useCallback((e,t,n)=>{let r=!M.current&&!n;(v.value!==void 0&&v.value===t||r)&&(E(e),r&&(M.current=!0))},[v.value]),ne=S.useCallback(()=>y?.focus(),[y]),re=S.useCallback((e,t,n)=>{let r=!M.current&&!n;(v.value!==void 0&&v.value===t||r)&&O(e)},[v.value]),ie=r===`popper`?G:W,R=ie===G?{side:s,sideOffset:c,align:l,alignOffset:u,arrowPadding:d,collisionBoundary:f,collisionPadding:p,sticky:m,hideWhenDetached:h,avoidCollisions:g}:{};return(0,z.jsx)(Fl,{scope:n,content:y,viewport:x,onViewportChange:C,itemRefCallback:te,selectedItem:T,onItemLeave:ne,itemTextRefCallback:re,focusSelectedItem:P,selectedItemText:D,position:r,isPositioned:A,searchRef:L,children:(0,z.jsx)(Na,{as:Rl,allowPinchZoom:!0,children:(0,z.jsx)(ci,{asChild:!0,trapped:v.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:B(i,e=>{v.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,z.jsx)(Xr,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>v.onOpenChange(!1),children:(0,z.jsx)(ie,{role:`listbox`,id:v.contentId,"data-state":v.open?`open`:`closed`,dir:v.dir,onContextMenu:e=>e.preventDefault(),..._,...R,onPlaced:()=>j(!0),ref:w,style:{display:`flex`,flexDirection:`column`,outline:`none`,..._.style},onKeyDown:B(_.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&ee(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=k().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>N(t)),e.preventDefault()}})})})})})})});zl.displayName=Ll;var Bl=`SelectItemAlignedPosition`,W=S.forwardRef((e,t)=>{let{__scopeSelect:n,onPlaced:r,...i}=e,a=hl(jl,n),o=Il(jl,n),[s,c]=S.useState(null),[l,u]=S.useState(null),d=Xn(t,u),f=ll(n),p=S.useRef(!1),m=S.useRef(!0),{viewport:h,selectedItem:g,selectedItemText:_,focusSelectedItem:v}=o,y=S.useCallback(()=>{if(a.trigger&&a.valueNode&&s&&l&&h&&g&&_){let e=a.trigger.getBoundingClientRect(),t=l.getBoundingClientRect(),n=a.valueNode.getBoundingClientRect(),i=_.getBoundingClientRect();if(a.dir!==`rtl`){let r=i.left-t.left,a=n.left-r,o=e.left-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-Pl,d=il(a,[Pl,Math.max(Pl,u-l)]);s.style.minWidth=c+`px`,s.style.left=d+`px`}else{let r=t.right-i.right,a=window.innerWidth-n.right-r,o=window.innerWidth-e.right-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-Pl,d=il(a,[Pl,Math.max(Pl,u-l)]);s.style.minWidth=c+`px`,s.style.right=d+`px`}let o=f(),c=window.innerHeight-Pl*2,u=h.scrollHeight,d=window.getComputedStyle(l),m=parseInt(d.borderTopWidth,10),v=parseInt(d.paddingTop,10),y=parseInt(d.borderBottomWidth,10),b=parseInt(d.paddingBottom,10),x=m+v+u+b+y,S=Math.min(g.offsetHeight*5,x),C=window.getComputedStyle(h),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-Pl,D=c-E,O=g.offsetHeight/2,k=g.offsetTop+O,A=m+v+k,j=x-A;if(A<=E){let e=o.length>0&&g===o[o.length-1].ref.current;s.style.bottom=`0px`;let t=l.clientHeight-h.offsetTop-h.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+y);s.style.height=n+`px`}else{let e=o.length>0&&g===o[0].ref.current;s.style.top=`0px`;let t=Math.max(E,m+h.offsetTop+(e?w:0)+O)+j;s.style.height=t+`px`,h.scrollTop=A-E+h.offsetTop}s.style.margin=`${Pl}px 0`,s.style.minHeight=S+`px`,s.style.maxHeight=c+`px`,r?.(),requestAnimationFrame(()=>p.current=!0)}},[f,a.trigger,a.valueNode,s,l,h,g,_,a.dir,r]);Cr(()=>y(),[y]);let[b,x]=S.useState();return Cr(()=>{l&&x(window.getComputedStyle(l).zIndex)},[l]),(0,z.jsx)(K,{scope:n,contentWrapper:s,shouldExpandOnScrollRef:p,onScrollButtonChange:S.useCallback(e=>{e&&m.current===!0&&(y(),v?.(),m.current=!1)},[y,v]),children:(0,z.jsx)(`div`,{ref:c,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:b},children:(0,z.jsx)(mr.div,{...i,ref:d,style:{boxSizing:`border-box`,maxHeight:`100%`,...i.style}})})})});W.displayName=Bl;var Vl=`SelectPopperPosition`,G=S.forwardRef((e,t)=>{let{__scopeSelect:n,align:r=`start`,collisionPadding:i=Pl,...a}=e,o=pl(n);return(0,z.jsx)($c,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})});G.displayName=Vl;var[K,Hl]=dl(jl,{}),Ul=`SelectViewport`,Wl=S.forwardRef((e,t)=>{let{__scopeSelect:n,nonce:r,...i}=e,a=Il(Ul,n),o=Hl(Ul,n),s=Xn(t,a.onViewportChange),c=S.useRef(0);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:r}),(0,z.jsx)(cl.Slot,{scope:n,children:(0,z.jsx)(mr.div,{"data-radix-select-viewport":``,role:`presentation`,...i,ref:s,style:{position:`relative`,flex:1,overflow:`hidden auto`,...i.style},onScroll:B(i.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=o;if(r?.current&&n){let e=Math.abs(c.current-t.scrollTop);if(e>0){let r=window.innerHeight-Pl*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}c.current=t.scrollTop})})})]})});Wl.displayName=Ul;var Gl=`SelectGroup`,[Kl,ql]=dl(Gl),Jl=S.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=Br();return(0,z.jsx)(Kl,{scope:n,id:i,children:(0,z.jsx)(mr.div,{role:`group`,"aria-labelledby":i,...r,ref:t})})});Jl.displayName=Gl;var Yl=`SelectLabel`,Xl=S.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=ql(Yl,n);return(0,z.jsx)(mr.div,{id:i.id,...r,ref:t})});Xl.displayName=Yl;var Zl=`SelectItem`,[Ql,$l]=dl(Zl),eu=S.forwardRef((e,t)=>{let{__scopeSelect:n,value:r,disabled:i=!1,textValue:a,...o}=e,s=hl(Zl,n),c=Il(Zl,n),l=s.value===r,[u,d]=S.useState(a??``),[f,p]=S.useState(!1),m=Xn(t,Ur(e=>c.itemRefCallback?.(e,r,i))),h=Br(),g=S.useRef(`touch`),_=()=>{i||(s.onValueChange(r),s.onOpenChange(!1))};return(0,z.jsx)(Ql,{scope:n,value:r,disabled:i,textId:h,isSelected:l,onItemTextChange:S.useCallback(e=>{d(t=>t||(e?.textContent??``).trim())},[]),children:(0,z.jsx)(cl.ItemSlot,{scope:n,value:r,disabled:i,textValue:u,children:(0,z.jsx)(mr.div,{role:`option`,"aria-labelledby":h,"data-highlighted":f?``:void 0,"aria-selected":l&&f,"data-state":l?`checked`:`unchecked`,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,tabIndex:i?void 0:-1,...o,ref:m,onFocus:B(o.onFocus,()=>p(!0)),onBlur:B(o.onBlur,()=>p(!1)),onClick:B(o.onClick,()=>{g.current!==`mouse`&&_()}),onPointerUp:B(o.onPointerUp,()=>{g.current===`mouse`&&_()}),onPointerDown:B(o.onPointerDown,e=>{g.current=e.pointerType}),onPointerMove:B(o.onPointerMove,e=>{g.current=e.pointerType,i?c.onItemLeave?.():g.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:B(o.onPointerLeave,e=>{e.currentTarget===document.activeElement&&c.onItemLeave?.()}),onKeyDown:B(o.onKeyDown,e=>{c.searchRef?.current!==``&&e.key===` `||(ol.includes(e.key)&&_(),e.key===` `&&e.preventDefault())})})})})});eu.displayName=Zl;var tu=`SelectItemText`,nu=S.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,...a}=e,o=hl(tu,n),s=Il(tu,n),c=$l(tu,n),l=_l(tu,n),[u,d]=S.useState(null),f=Ur(e=>s.itemTextRefCallback?.(e,c.value,c.disabled)),p=Xn(t,d,c.onItemTextChange,f),m=u?.textContent,h=S.useMemo(()=>(0,z.jsx)(`option`,{value:c.value,disabled:c.disabled,children:m},c.value),[c.disabled,c.value,m]),{onNativeOptionAdd:g,onNativeOptionRemove:_}=l;return Cr(()=>(g(h),()=>_(h)),[g,_,h]),(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(mr.span,{id:c.textId,...a,ref:p}),c.isSelected&&o.valueNode&&!o.valueNodeHasChildren&&!_u(o.value)?pr.createPortal(a.children,o.valueNode):null]})});nu.displayName=tu;var ru=`SelectItemIndicator`,iu=S.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return $l(ru,n).isSelected?(0,z.jsx)(mr.span,{"aria-hidden":!0,...r,ref:t}):null});iu.displayName=ru;var au=`SelectScrollUpButton`,ou=S.forwardRef((e,t)=>{let n=Il(au,e.__scopeSelect),r=Hl(au,e.__scopeSelect),[i,a]=S.useState(!1),o=Xn(t,r.onScrollButtonChange);return Cr(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollTop>0;a(e)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,z.jsx)(lu,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null});ou.displayName=au;var su=`SelectScrollDownButton`,cu=S.forwardRef((e,t)=>{let n=Il(su,e.__scopeSelect),r=Hl(su,e.__scopeSelect),[i,a]=S.useState(!1),o=Xn(t,r.onScrollButtonChange);return Cr(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight,n=Math.ceil(t.scrollTop)<e;a(n)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,z.jsx)(lu,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null});cu.displayName=su;var lu=S.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...i}=e,a=Il(`SelectScrollButton`,n),o=S.useRef(null),s=ll(n),c=S.useCallback(()=>{o.current!==null&&(window.clearInterval(o.current),o.current=null)},[]);return S.useEffect(()=>()=>c(),[c]),Cr(()=>{s().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[s]),(0,z.jsx)(mr.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:B(i.onPointerDown,()=>{o.current===null&&(o.current=window.setInterval(r,50))}),onPointerMove:B(i.onPointerMove,()=>{a.onItemLeave?.(),o.current===null&&(o.current=window.setInterval(r,50))}),onPointerLeave:B(i.onPointerLeave,()=>{c()})})}),uu=`SelectSeparator`,du=S.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,z.jsx)(mr.div,{"aria-hidden":!0,...r,ref:t})});du.displayName=uu;var fu=`SelectArrow`,pu=S.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=pl(n);return Il(fu,n).position===`popper`?(0,z.jsx)(el,{...i,...r,ref:t}):null});pu.displayName=fu;var mu=`SelectBubbleInput`,hu=S.forwardRef(({__scopeSelect:e,...t},n)=>{let r=hl(mu,e),{value:i,onValueChange:a,required:o,disabled:s,name:c,autoComplete:l,form:u}=r,{nativeOptions:d,nativeSelectKey:f}=r,p=S.useRef(null),m=Xn(n,p),h=i??``,g=_o(h),_=Array.from(d).some(e=>(e.props.value??``)===``);return S.useEffect(()=>{let e=p.current;if(!e)return;let t=window.HTMLSelectElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(g!==h&&n){let t=new Event(`change`,{bubbles:!0});n.call(e,h),e.dispatchEvent(t)}},[g,h]),(0,z.jsxs)(mr.select,{"aria-hidden":!0,required:o,tabIndex:-1,name:c,autoComplete:l,disabled:s,form:u,onChange:e=>a(e.target.value),...t,style:{...gr,...t.style},ref:m,defaultValue:h,children:[_u(i)&&!_?(0,z.jsx)(`option`,{value:``}):null,Array.from(d)]},f)});hu.displayName=mu;function gu(e){return typeof e==`function`}function _u(e){return e===``||e===void 0}function vu(e){let t=Ur(e),n=S.useRef(``),r=S.useRef(0),i=S.useCallback(e=>{let i=n.current+e;t(i),(function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))})(i)},[t]),a=S.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return S.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}function yu(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=bu(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function bu(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var[xu,Su]=br(`Tooltip`,[Fc]),Cu=Fc(),wu=`TooltipProvider`,Tu=700,Eu=`tooltip.open`,[Du,Ou]=xu(wu),ku=e=>{let{__scopeTooltip:t,delayDuration:n=Tu,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=S.useRef(!0),s=S.useRef(!1),c=S.useRef(0);return S.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,z.jsx)(Du,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:S.useCallback(()=>{r<=0||(window.clearTimeout(c.current),o.current=!1)},[r]),onClose:S.useCallback(()=>{r<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r))},[r]),isPointerInTransitRef:s,onPointerInTransitChange:S.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};ku.displayName=wu;var Au=`Tooltip`,[ju,Mu]=xu(Au),Nu=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=Ou(Au,e.__scopeTooltip),l=Cu(t),[u,d]=S.useState(null),f=Br(),p=S.useRef(0),m=o??c.disableHoverableContent,h=s??c.delayDuration,g=S.useRef(!1),[_,v]=Or({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(Eu))):c.onClose(),a?.(e)},caller:Au}),y=S.useMemo(()=>_?g.current?`delayed-open`:`instant-open`:`closed`,[_]),b=S.useCallback(()=>{window.clearTimeout(p.current),p.current=0,g.current=!1,v(!0)},[v]),x=S.useCallback(()=>{window.clearTimeout(p.current),p.current=0,v(!1)},[v]),C=S.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{g.current=!0,v(!0),p.current=0},h)},[h,v]);return S.useEffect(()=>()=>{p.current&&=(window.clearTimeout(p.current),0)},[]),(0,z.jsx)(Zc,{...l,children:(0,z.jsx)(ju,{scope:t,contentId:f,open:_,stateAttribute:y,trigger:u,onTriggerChange:d,onTriggerEnter:S.useCallback(()=>{c.isOpenDelayedRef.current?C():b()},[c.isOpenDelayedRef,C,b]),onTriggerLeave:S.useCallback(()=>{m?x():(window.clearTimeout(p.current),p.current=0)},[x,m]),onOpen:b,onClose:x,disableHoverableContent:m,children:n})})};Nu.displayName=Au;var Pu=`TooltipTrigger`,Fu=S.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=Mu(Pu,n),a=Ou(Pu,n),o=Cu(n),s=Xn(t,S.useRef(null),i.onTriggerChange),c=S.useRef(!1),l=S.useRef(!1),u=S.useCallback(()=>c.current=!1,[]);return S.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,z.jsx)(Qc,{asChild:!0,...o,children:(0,z.jsx)(mr.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:B(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:B(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:B(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:B(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:B(e.onBlur,i.onClose),onClick:B(e.onClick,i.onClose)})})});Fu.displayName=Pu;var Iu=`TooltipPortal`,[Lu,Ru]=xu(Iu,{forceMount:void 0}),zu=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=Mu(Iu,t);return(0,z.jsx)(Lu,{scope:t,forceMount:n,children:(0,z.jsx)(Mr,{present:n||a.open,children:(0,z.jsx)(xi,{asChild:!0,container:i,children:r})})})};zu.displayName=Iu;var Bu=`TooltipContent`,Vu=S.forwardRef((e,t)=>{let n=Ru(Bu,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=Mu(Bu,e.__scopeTooltip);return(0,z.jsx)(Mr,{present:r||o.open,children:o.disableHoverableContent?(0,z.jsx)(Ku,{side:i,...a,ref:t}):(0,z.jsx)(Hu,{side:i,...a,ref:t})})}),Hu=S.forwardRef((e,t)=>{let n=Mu(Bu,e.__scopeTooltip),r=Ou(Bu,e.__scopeTooltip),i=S.useRef(null),a=Xn(t,i),[o,s]=S.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=S.useCallback(()=>{s(null),d(!1)},[d]),p=S.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=Xu(r,Yu(r,n.getBoundingClientRect())),a=Zu(t.getBoundingClientRect()),o=$u([...i,...a]);s(o),d(!0)},[d]);return S.useEffect(()=>()=>f(),[f]),S.useEffect(()=>{if(c&&u){let e=e=>p(e,u),t=e=>p(e,c);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),S.useEffect(()=>{if(o){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!Qu(n,o);r?f():i&&(f(),l())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,z.jsx)(Ku,{...e,ref:a})}),[Uu,Wu]=xu(Au,{isInside:!1}),Gu=er(`TooltipContent`),Ku=S.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=Mu(Bu,n),l=Cu(n),{onClose:u}=c;return S.useEffect(()=>(document.addEventListener(Eu,u),()=>document.removeEventListener(Eu,u)),[u]),S.useEffect(()=>{if(c.trigger){let e=e=>{e.target instanceof Node&&e.target.contains(c.trigger)&&u()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,u]),(0,z.jsx)(Xr,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,z.jsxs)($c,{"data-state":c.stateAttribute,...l,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,z.jsx)(Gu,{children:r}),(0,z.jsx)(Uu,{scope:n,isInside:!0,children:(0,z.jsx)(yr,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});Vu.displayName=Bu;var qu=`TooltipArrow`,Ju=S.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=Cu(n);return Wu(qu,n).isInside?null:(0,z.jsx)(el,{...i,...r,ref:t})});Ju.displayName=qu;function Yu(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function Xu(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function Zu(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function Qu(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function $u(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),ed(t)}function ed(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var td=ku,nd=_();function rd(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=rd(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function id(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=rd(e))&&(r&&(r+=` `),r+=t);return r}var ad=`-`,od=e=>{let t=ud(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{let n=e.split(ad);return n[0]===``&&n.length!==1&&n.shift(),sd(n,t)||ld(e)},getConflictingClassGroupIds:(e,t)=>{let i=n[e]||[];return t&&r[e]?[...i,...r[e]]:i}}},sd=(e,t)=>{if(e.length===0)return t.classGroupId;let n=e[0],r=t.nextPart.get(n),i=r?sd(e.slice(1),r):void 0;if(i)return i;if(t.validators.length===0)return;let a=e.join(ad);return t.validators.find(({validator:e})=>e(a))?.classGroupId},cd=/^\[(.+)\]$/,ld=e=>{if(cd.test(e)){let t=cd.exec(e)[1],n=t?.substring(0,t.indexOf(`:`));if(n)return`arbitrary..`+n}},ud=e=>{let{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return md(Object.entries(e.classGroups),n).forEach(([e,n])=>{dd(n,r,e,t)}),r},dd=(e,t,n,r)=>{e.forEach(e=>{if(typeof e==`string`){let r=e===``?t:fd(t,e);r.classGroupId=n;return}if(typeof e==`function`){if(pd(e)){dd(e(r),t,n,r);return}t.validators.push({validator:e,classGroupId:n});return}Object.entries(e).forEach(([e,i])=>{dd(i,fd(t,e),n,r)})})},fd=(e,t)=>{let n=e;return t.split(ad).forEach(e=>{n.nextPart.has(e)||n.nextPart.set(e,{nextPart:new Map,validators:[]}),n=n.nextPart.get(e)}),n},pd=e=>e.isThemeGetter,md=(e,t)=>t?e.map(([e,n])=>[e,n.map(e=>typeof e==`string`?t+e:typeof e==`object`?Object.fromEntries(Object.entries(e).map(([e,n])=>[t+e,n])):e)]):e,hd=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=new Map,r=new Map,i=(i,a)=>{n.set(i,a),t++,t>e&&(t=0,r=n,n=new Map)};return{get(e){let t=n.get(e);if(t!==void 0)return t;if((t=r.get(e))!==void 0)return i(e,t),t},set(e,t){n.has(e)?n.set(e,t):i(e,t)}}},gd=`!`,_d=e=>{let{separator:t,experimentalParseClassName:n}=e,r=t.length===1,i=t[0],a=t.length,o=e=>{let n=[],o=0,s=0,c;for(let l=0;l<e.length;l++){let u=e[l];if(o===0){if(u===i&&(r||e.slice(l,l+a)===t)){n.push(e.slice(s,l)),s=l+a;continue}if(u===`/`){c=l;continue}}u===`[`?o++:u===`]`&&o--}let l=n.length===0?e:e.substring(s),u=l.startsWith(gd);return{modifiers:n,hasImportantModifier:u,baseClassName:u?l.substring(1):l,maybePostfixModifierPosition:c&&c>s?c-s:void 0}};return n?e=>n({className:e,parseClassName:o}):o},vd=e=>{if(e.length<=1)return e;let t=[],n=[];return e.forEach(e=>{e[0]===`[`?(t.push(...n.sort(),e),n=[]):n.push(e)}),t.push(...n.sort()),t},yd=e=>({cache:hd(e.cacheSize),parseClassName:_d(e),...od(e)}),bd=/\s+/,xd=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i}=t,a=[],o=e.trim().split(bd),s=``;for(let e=o.length-1;e>=0;--e){let t=o[e],{modifiers:c,hasImportantModifier:l,baseClassName:u,maybePostfixModifierPosition:d}=n(t),f=!!d,p=r(f?u.substring(0,d):u);if(!p){if(!f){s=t+(s.length>0?` `+s:s);continue}if(p=r(u),!p){s=t+(s.length>0?` `+s:s);continue}f=!1}let m=vd(c).join(`:`),h=l?m+gd:m,g=h+p;if(a.includes(g))continue;a.push(g);let _=i(p,f);for(let e=0;e<_.length;++e){let t=_[e];a.push(h+t)}s=t+(s.length>0?` `+s:s)}return s};function Sd(){let e=0,t,n,r=``;for(;e<arguments.length;)(t=arguments[e++])&&(n=Cd(t))&&(r&&(r+=` `),r+=n);return r}var Cd=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Cd(e[r]))&&(n&&(n+=` `),n+=t);return n};function wd(e,...t){let n,r,i,a=o;function o(o){return n=yd(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)}function s(e){let t=r(e);if(t)return t;let a=xd(e,n);return i(e,a),a}return function(){return a(Sd.apply(null,arguments))}}var q=e=>{let t=t=>t[e]||[];return t.isThemeGetter=!0,t},Td=/^\[(?:([a-z-]+):)?(.+)\]$/i,Ed=/^\d+\/\d+$/,Dd=new Set([`px`,`full`,`screen`]),Od=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,kd=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Ad=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,jd=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Md=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Nd=e=>Fd(e)||Dd.has(e)||Ed.test(e),Pd=e=>qd(e,`length`,Jd),Fd=e=>!!e&&!Number.isNaN(Number(e)),Id=e=>qd(e,`number`,Fd),Ld=e=>!!e&&Number.isInteger(Number(e)),Rd=e=>e.endsWith(`%`)&&Fd(e.slice(0,-1)),J=e=>Td.test(e),zd=e=>Od.test(e),Bd=new Set([`length`,`size`,`percentage`]),Vd=e=>qd(e,Bd,Yd),Hd=e=>qd(e,`position`,Yd),Ud=new Set([`image`,`url`]),Wd=e=>qd(e,Ud,Zd),Gd=e=>qd(e,``,Xd),Kd=()=>!0,qd=(e,t,n)=>{let r=Td.exec(e);return r?r[1]?typeof t==`string`?r[1]===t:t.has(r[1]):n(r[2]):!1},Jd=e=>kd.test(e)&&!Ad.test(e),Yd=()=>!1,Xd=e=>jd.test(e),Zd=e=>Md.test(e),Qd=wd(()=>{let e=q(`colors`),t=q(`spacing`),n=q(`blur`),r=q(`brightness`),i=q(`borderColor`),a=q(`borderRadius`),o=q(`borderSpacing`),s=q(`borderWidth`),c=q(`contrast`),l=q(`grayscale`),u=q(`hueRotate`),d=q(`invert`),f=q(`gap`),p=q(`gradientColorStops`),m=q(`gradientColorStopPositions`),h=q(`inset`),g=q(`margin`),_=q(`opacity`),v=q(`padding`),y=q(`saturate`),b=q(`scale`),x=q(`sepia`),S=q(`skew`),C=q(`space`),w=q(`translate`),T=()=>[`auto`,`contain`,`none`],E=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],D=()=>[`auto`,J,t],O=()=>[J,t],k=()=>[``,Nd,Pd],A=()=>[`auto`,Fd,J],j=()=>[`bottom`,`center`,`left`,`left-bottom`,`left-top`,`right`,`right-bottom`,`right-top`,`top`],M=()=>[`solid`,`dashed`,`dotted`,`double`,`none`],N=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],P=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`],F=()=>[``,`0`,J],I=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],L=()=>[Fd,J];return{cacheSize:500,separator:`:`,theme:{colors:[Kd],spacing:[Nd,Pd],blur:[`none`,``,zd,J],brightness:L(),borderColor:[e],borderRadius:[`none`,``,`full`,zd,J],borderSpacing:O(),borderWidth:k(),contrast:L(),grayscale:F(),hueRotate:L(),invert:F(),gap:O(),gradientColorStops:[e],gradientColorStopPositions:[Rd,Pd],inset:D(),margin:D(),opacity:L(),padding:O(),saturate:L(),scale:L(),sepia:F(),skew:L(),space:O(),translate:O()},classGroups:{aspect:[{aspect:[`auto`,`square`,`video`,J]}],container:[`container`],columns:[{columns:[zd]}],"break-after":[{"break-after":I()}],"break-before":[{"break-before":I()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:[...j(),J]}],overflow:[{overflow:E()}],"overflow-x":[{"overflow-x":E()}],"overflow-y":[{"overflow-y":E()}],overscroll:[{overscroll:T()}],"overscroll-x":[{"overscroll-x":T()}],"overscroll-y":[{"overscroll-y":T()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:[h]}],"inset-x":[{"inset-x":[h]}],"inset-y":[{"inset-y":[h]}],start:[{start:[h]}],end:[{end:[h]}],top:[{top:[h]}],right:[{right:[h]}],bottom:[{bottom:[h]}],left:[{left:[h]}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[`auto`,Ld,J]}],basis:[{basis:D()}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`wrap`,`wrap-reverse`,`nowrap`]}],flex:[{flex:[`1`,`auto`,`initial`,`none`,J]}],grow:[{grow:F()}],shrink:[{shrink:F()}],order:[{order:[`first`,`last`,`none`,Ld,J]}],"grid-cols":[{"grid-cols":[Kd]}],"col-start-end":[{col:[`auto`,{span:[`full`,Ld,J]},J]}],"col-start":[{"col-start":A()}],"col-end":[{"col-end":A()}],"grid-rows":[{"grid-rows":[Kd]}],"row-start-end":[{row:[`auto`,{span:[Ld,J]},J]}],"row-start":[{"row-start":A()}],"row-end":[{"row-end":A()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":[`auto`,`min`,`max`,`fr`,J]}],"auto-rows":[{"auto-rows":[`auto`,`min`,`max`,`fr`,J]}],gap:[{gap:[f]}],"gap-x":[{"gap-x":[f]}],"gap-y":[{"gap-y":[f]}],"justify-content":[{justify:[`normal`,...P()]}],"justify-items":[{"justify-items":[`start`,`end`,`center`,`stretch`]}],"justify-self":[{"justify-self":[`auto`,`start`,`end`,`center`,`stretch`]}],"align-content":[{content:[`normal`,...P(),`baseline`]}],"align-items":[{items:[`start`,`end`,`center`,`baseline`,`stretch`]}],"align-self":[{self:[`auto`,`start`,`end`,`center`,`stretch`,`baseline`]}],"place-content":[{"place-content":[...P(),`baseline`]}],"place-items":[{"place-items":[`start`,`end`,`center`,`baseline`,`stretch`]}],"place-self":[{"place-self":[`auto`,`start`,`end`,`center`,`stretch`]}],p:[{p:[v]}],px:[{px:[v]}],py:[{py:[v]}],ps:[{ps:[v]}],pe:[{pe:[v]}],pt:[{pt:[v]}],pr:[{pr:[v]}],pb:[{pb:[v]}],pl:[{pl:[v]}],m:[{m:[g]}],mx:[{mx:[g]}],my:[{my:[g]}],ms:[{ms:[g]}],me:[{me:[g]}],mt:[{mt:[g]}],mr:[{mr:[g]}],mb:[{mb:[g]}],ml:[{ml:[g]}],"space-x":[{"space-x":[C]}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":[C]}],"space-y-reverse":[`space-y-reverse`],w:[{w:[`auto`,`min`,`max`,`fit`,`svw`,`lvw`,`dvw`,J,t]}],"min-w":[{"min-w":[J,t,`min`,`max`,`fit`]}],"max-w":[{"max-w":[J,t,`none`,`full`,`min`,`max`,`fit`,`prose`,{screen:[zd]},zd]}],h:[{h:[J,t,`auto`,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],"min-h":[{"min-h":[J,t,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],"max-h":[{"max-h":[J,t,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],size:[{size:[J,t,`auto`,`min`,`max`,`fit`]}],"font-size":[{text:[`base`,zd,Pd]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`,Id]}],"font-family":[{font:[Kd]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`,J]}],"line-clamp":[{"line-clamp":[`none`,Fd,Id]}],leading:[{leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`,Nd,J]}],"list-image":[{"list-image":[`none`,J]}],"list-style-type":[{list:[`none`,`disc`,`decimal`,J]}],"list-style-position":[{list:[`inside`,`outside`]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[_]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[_]}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...M(),`wavy`]}],"text-decoration-thickness":[{decoration:[`auto`,`from-font`,Nd,Pd]}],"underline-offset":[{"underline-offset":[`auto`,Nd,J]}],"text-decoration-color":[{decoration:[e]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:O()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,J]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,J]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-opacity":[{"bg-opacity":[_]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:[...j(),Hd]}],"bg-repeat":[{bg:[`no-repeat`,{repeat:[``,`x`,`y`,`round`,`space`]}]}],"bg-size":[{bg:[`auto`,`cover`,`contain`,Vd]}],"bg-image":[{bg:[`none`,{"gradient-to":[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},Wd]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[m]}],"gradient-via-pos":[{via:[m]}],"gradient-to-pos":[{to:[m]}],"gradient-from":[{from:[p]}],"gradient-via":[{via:[p]}],"gradient-to":[{to:[p]}],rounded:[{rounded:[a]}],"rounded-s":[{"rounded-s":[a]}],"rounded-e":[{"rounded-e":[a]}],"rounded-t":[{"rounded-t":[a]}],"rounded-r":[{"rounded-r":[a]}],"rounded-b":[{"rounded-b":[a]}],"rounded-l":[{"rounded-l":[a]}],"rounded-ss":[{"rounded-ss":[a]}],"rounded-se":[{"rounded-se":[a]}],"rounded-ee":[{"rounded-ee":[a]}],"rounded-es":[{"rounded-es":[a]}],"rounded-tl":[{"rounded-tl":[a]}],"rounded-tr":[{"rounded-tr":[a]}],"rounded-br":[{"rounded-br":[a]}],"rounded-bl":[{"rounded-bl":[a]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[_]}],"border-style":[{border:[...M(),`hidden`]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":[`divide-y-reverse`],"divide-opacity":[{"divide-opacity":[_]}],"divide-style":[{divide:M()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:[``,...M()]}],"outline-offset":[{"outline-offset":[Nd,J]}],"outline-w":[{outline:[Nd,Pd]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:k()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[_]}],"ring-offset-w":[{"ring-offset":[Nd,Pd]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:[``,`inner`,`none`,zd,Gd]}],"shadow-color":[{shadow:[Kd]}],opacity:[{opacity:[_]}],"mix-blend":[{"mix-blend":[...N(),`plus-lighter`,`plus-darker`]}],"bg-blend":[{"bg-blend":N()}],filter:[{filter:[``,`none`]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[c]}],"drop-shadow":[{"drop-shadow":[``,`none`,zd,J]}],grayscale:[{grayscale:[l]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[d]}],saturate:[{saturate:[y]}],sepia:[{sepia:[x]}],"backdrop-filter":[{"backdrop-filter":[``,`none`]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[c]}],"backdrop-grayscale":[{"backdrop-grayscale":[l]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[d]}],"backdrop-opacity":[{"backdrop-opacity":[_]}],"backdrop-saturate":[{"backdrop-saturate":[y]}],"backdrop-sepia":[{"backdrop-sepia":[x]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":[o]}],"border-spacing-x":[{"border-spacing-x":[o]}],"border-spacing-y":[{"border-spacing-y":[o]}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[`none`,`all`,``,`colors`,`opacity`,`shadow`,`transform`,J]}],duration:[{duration:L()}],ease:[{ease:[`linear`,`in`,`out`,`in-out`,J]}],delay:[{delay:L()}],animate:[{animate:[`none`,`spin`,`ping`,`pulse`,`bounce`,J]}],transform:[{transform:[``,`gpu`,`none`]}],scale:[{scale:[b]}],"scale-x":[{"scale-x":[b]}],"scale-y":[{"scale-y":[b]}],rotate:[{rotate:[Ld,J]}],"translate-x":[{"translate-x":[w]}],"translate-y":[{"translate-y":[w]}],"skew-x":[{"skew-x":[S]}],"skew-y":[{"skew-y":[S]}],"transform-origin":[{origin:[`center`,`top`,`top-right`,`right`,`bottom-right`,`bottom`,`bottom-left`,`left`,`top-left`,J]}],accent:[{accent:[`auto`,e]}],appearance:[{appearance:[`none`,`auto`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,J]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":[`none`,`auto`]}],resize:[{resize:[`none`,`y`,`x`,``]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":O()}],"scroll-mx":[{"scroll-mx":O()}],"scroll-my":[{"scroll-my":O()}],"scroll-ms":[{"scroll-ms":O()}],"scroll-me":[{"scroll-me":O()}],"scroll-mt":[{"scroll-mt":O()}],"scroll-mr":[{"scroll-mr":O()}],"scroll-mb":[{"scroll-mb":O()}],"scroll-ml":[{"scroll-ml":O()}],"scroll-p":[{"scroll-p":O()}],"scroll-px":[{"scroll-px":O()}],"scroll-py":[{"scroll-py":O()}],"scroll-ps":[{"scroll-ps":O()}],"scroll-pe":[{"scroll-pe":O()}],"scroll-pt":[{"scroll-pt":O()}],"scroll-pr":[{"scroll-pr":O()}],"scroll-pb":[{"scroll-pb":O()}],"scroll-pl":[{"scroll-pl":O()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,J]}],fill:[{fill:[e,`none`]}],"stroke-w":[{stroke:[Nd,Pd,Id]}],stroke:[{stroke:[e,`none`]}],sr:[`sr-only`,`not-sr-only`],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-s`,`border-w-e`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-s`,`border-color-e`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]}}});function Y(...e){return Qd(id(e))}function $d({delayDuration:e=0,...t}){return(0,z.jsx)(td,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}var ef=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),tf=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),nf={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},rf=(0,S.forwardRef)(({color:e=`currentColor`,size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>(0,S.createElement)(`svg`,{ref:c,...nf,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:tf(`lucide`,i),...s},[...o.map(([e,t])=>(0,S.createElement)(e,t)),...Array.isArray(a)?a:[a]])),X=(e,t)=>{let n=(0,S.forwardRef)(({className:n,...r},i)=>(0,S.createElement)(rf,{ref:i,iconNode:t,className:tf(`lucide-${ef(e)}`,n),...r}));return n.displayName=`${e}`,n},af=X(`ArrowLeft`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),of=X(`ArrowRight`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]),sf=X(`Bell`,[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]),cf=X(`Check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),lf=X(`ChevronDown`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),uf=X(`ChevronLeft`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),df=X(`ChevronRight`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),ff=X(`ChevronUp`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),pf=X(`CircleAlert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),mf=X(`CircleCheck`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),hf=X(`CircleHelp`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),gf=X(`CircleSlash`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`,key:`1dfufj`}]]),_f=X(`CircleUser`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`10`,r:`3`,key:`ilqhr7`}],[`path`,{d:`M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662`,key:`154egf`}]]),vf=X(`CircleX`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),yf=X(`Circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),bf=X(`Flag`,[[`path`,{d:`M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z`,key:`i9b6wo`}],[`line`,{x1:`4`,x2:`4`,y1:`22`,y2:`15`,key:`1cm3nv`}]]),xf=X(`GitBranch`,[[`line`,{x1:`6`,x2:`6`,y1:`3`,y2:`15`,key:`17qcm7`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}],[`path`,{d:`M18 9a9 9 0 0 1-9 9`,key:`n2h4wq`}]]),Sf=X(`Inbox`,[[`polyline`,{points:`22 12 16 12 14 15 10 15 8 12 2 12`,key:`o97t9d`}],[`path`,{d:`M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`oot6mr`}]]),Cf=X(`Keyboard`,[[`path`,{d:`M10 8h.01`,key:`1r9ogq`}],[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M14 8h.01`,key:`1primd`}],[`path`,{d:`M16 12h.01`,key:`1l6xoz`}],[`path`,{d:`M18 8h.01`,key:`emo2bl`}],[`path`,{d:`M6 8h.01`,key:`x9i8wu`}],[`path`,{d:`M7 16h10`,key:`wp8him`}],[`path`,{d:`M8 12h.01`,key:`czm47f`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`,key:`18n3k1`}]]),wf=X(`LayoutDashboard`,[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]),Tf=X(`LoaderCircle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),Ef=X(`Loader`,[[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m16.2 7.8 2.9-2.9`,key:`r700ao`}],[`path`,{d:`M18 12h4`,key:`wj9ykh`}],[`path`,{d:`m16.2 16.2 2.9 2.9`,key:`1bxg5t`}],[`path`,{d:`M12 18v4`,key:`jadmvz`}],[`path`,{d:`m4.9 19.1 2.9-2.9`,key:`bwix9q`}],[`path`,{d:`M2 12h4`,key:`j09sii`}],[`path`,{d:`m4.9 4.9 2.9 2.9`,key:`giyufr`}]]),Df=X(`MessagesSquare`,[[`path`,{d:`M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z`,key:`p1xzt8`}],[`path`,{d:`M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1`,key:`1cx29u`}]]),Of=X(`Network`,[[`rect`,{x:`16`,y:`16`,width:`6`,height:`6`,rx:`1`,key:`4q2zg0`}],[`rect`,{x:`2`,y:`16`,width:`6`,height:`6`,rx:`1`,key:`8cvhb9`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`6`,rx:`1`,key:`1egb70`}],[`path`,{d:`M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3`,key:`1jsf9p`}],[`path`,{d:`M12 12V8`,key:`2874zd`}]]),kf=X(`Plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),Af=X(`Search`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`path`,{d:`m21 21-4.3-4.3`,key:`1qie3q`}]]),jf=X(`Settings`,[[`path`,{d:`M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z`,key:`1qme2f`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Mf=X(`ShieldCheck`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Nf=X(`TriangleAlert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Pf=X(`X`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]);function Ff(){let e=new Map;return{run(t,n){let r=e.get(t);if(r!==void 0)return r;let i=n().finally(()=>{e.get(t)===i&&e.delete(t)});return e.set(t,i),i},get pending(){return e.size}}}var If=Ff(),Lf=(()=>{let e=new URLSearchParams(window.location.search).get(`token`);return e!==null&&e!==``?e:void 0})();async function Rf(e,t){try{let n={"content-type":`application/json`};Lf!==void 0&&(n.authorization=`Bearer ${Lf}`);let r=await fetch(`/__crtr/source`,{method:`POST`,headers:n,body:JSON.stringify(e),...t===void 0?{}:{signal:t}});return r.ok?await r.json():{ok:!1,stdout:``,stderr:`bridge ${r.status} ${r.statusText}`}}catch(e){return t?.aborted===!0||e instanceof DOMException&&e.name===`AbortError`?{ok:!1,stdout:``,stderr:`aborted`}:{ok:!1,stdout:``,stderr:e instanceof Error?e.message:String(e)}}}async function zf(e,t,n){return Rf({kind:`exec`,bin:`crtr`,args:e,...t===void 0?{}:{stdin:t}},n)}var Bf=class extends Error{code;constructor(e,t){super(t),this.name=`CommandError`,this.code=e}};function Vf(e){let t=e.stdout.trim();if(t===``)return null;try{let e=JSON.parse(t);if(e&&typeof e==`object`&&typeof e.error==`string`&&typeof e.message==`string`)return{code:e.error,message:e.message}}catch{}return null}async function Hf(e,t,n){let r=await zf(e,t,n);if(!r.ok)throw new Bf(`bridge`,r.stderr||`bridge request failed`);let i=Vf(r);if(i!==null)throw new Bf(i.code,i.message);if(r.exitCode!==void 0&&r.exitCode!==0)throw new Bf(`bridge`,r.stderr||`crtr ${e.join(` `)} failed (${r.exitCode})`);if(r.stdout.trim()!==``)try{return JSON.parse(r.stdout)}catch(e){throw new Bf(`bridge`,e instanceof Error?e.message:String(e))}}function Uf(){return If.run(`canvas:snapshot`,()=>Hf([`canvas`,`snapshot`,`--json`]))}function Wf(e){return If.run(`node:inspect:${e}`,()=>Hf([`node`,`inspect`,`show`,e,`--json`]).then(e=>e.node))}function Gf(e){return If.run(`node:snapshot:${e}`,()=>Hf([`node`,`inspect`,`snapshot`,e,`--json`]))}function Kf(e){let t=[`node`,`new`,`--kind`,e.kind];return e.mode&&t.push(`--mode`,e.mode),e.root&&t.push(`--root`),e.cwd?.trim()&&t.push(`--cwd`,e.cwd.trim()),e.name?.trim()&&t.push(`--name`,e.name.trim()),e.model?.trim()&&t.push(`--model`,e.model.trim()),e.parent?.trim()&&t.push(`--parent`,e.parent.trim()),t.push(`--json`),Hf(t,e.prompt)}function qf(e,t){let n=[`node`,`msg`,`--to`,e];return t.tier?.trim()&&n.push(`--tier`,t.tier.trim()),n.push(`--json`),Hf(n,t.body)}function Jf(e,t={}){let n=[`node`,`lifecycle`,`revive`,e];return t.fresh&&n.push(`--fresh`),n.push(`--json`),Hf(n)}function Yf(e){return Hf([`node`,`lifecycle`,`close`,`--node`,e,`--json`])}async function Xf(e,t){let n=await Rf({kind:`file`,path:t});if(!n.ok)throw new Bf(`bridge`,n.stderr||`failed to read ${t}`);return{path:t,content:n.stdout,truncated:!1}}function Zf(){return If.run(`view:list`,async()=>{let e=await Hf([`surface`,`view`,`list`,`--json`]);return(Array.isArray(e)?e:e.views??[]).map(e=>({id:e.id,title:e.title,description:e.description,scope:e.scope}))})}var Qf=new Set,$f=!1,ep=(()=>{let e=new URLSearchParams(window.location.search).get(`token`);return e!==null&&e!==``?e:void 0})();function tp(){if($f)return;$f=!0;let e;try{let t=new URL(`/__crtr/events`,window.location.href);ep!==void 0&&t.searchParams.set(`token`,ep),e=new EventSource(t.toString())}catch{$f=!1;return}e.onmessage=e=>{let t;try{t=JSON.parse(e.data).kind}catch{return}if(t!==void 0)for(let e of Qf)e.kinds.includes(t)&&e.refresh()}}function np(e,t){let n=(0,S.useRef)(t);n.current=t,(0,S.useEffect)(()=>{tp();let t={kinds:e,refresh:()=>n.current()};return Qf.add(t),()=>{Qf.delete(t)}},[e.join(`,`)])}var rp=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},ip=(e=>e?rp(e):rp),ap=e=>e;function op(e,t=ap){let n=S.useSyncExternalStore(e.subscribe,S.useCallback(()=>t(e.getState()),[e,t]),S.useCallback(()=>t(e.getInitialState()),[e,t]));return S.useDebugValue(n),n}var sp=e=>{let t=ip(e),n=e=>op(t,e);return Object.assign(n,t),n},cp=(e=>e?sp(e):sp),lp=cp(e=>({reachable:!0,setReachable:t=>e({reachable:t})})),up=3e4;function dp(){let[e,t]=(0,S.useState)([]),[n,r]=(0,S.useState)(null),[i,a]=(0,S.useState)(!0),[o,s]=(0,S.useState)(0);return np([`nodes`,`inbox`],(0,S.useCallback)(()=>s(e=>e+1),[])),(0,S.useEffect)(()=>{let e=!1,n=n=>{e||(t(n.nodes),r(n.generated_at),a(!1),lp.getState().setReachable(!0))},i=async()=>{try{n(await Uf())}catch{e||(a(!1),lp.getState().setReachable(!1))}};i();let o=setInterval(()=>void i(),up);return()=>{e=!0,clearInterval(o)}},[o]),{nodes:e,generatedAt:n,loading:i}}var fp=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,pp=id,mp=(e,t)=>n=>{if(t?.variants==null)return pp(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=fp(t)||fp(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return pp(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},hp=mp(`btn justify-center transition-all outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`primary`,destructive:`danger`,outline:``,secondary:``,ghost:`border-transparent`,link:`border-transparent bg-transparent text-primary underline-offset-4 hover:underline hover:bg-transparent`},size:{default:``,xs:`sm gap-1 text-xs [&_svg:not([class*='size-'])]:size-3`,sm:`sm`,lg:`px-6 py-2.5`,icon:`p-0 size-9`,"icon-xs":`p-0 size-6 rounded-[7px] [&_svg:not([class*='size-'])]:size-3`,"icon-sm":`p-0 size-8 rounded-[7px]`,"icon-lg":`p-0 size-10`}},defaultVariants:{variant:`default`,size:`default`}});function Z({className:e,variant:t=`default`,size:n=`default`,asChild:r=!1,...i}){return(0,z.jsx)(r?Qn:`button`,{"data-slot":`button`,"data-variant":t,"data-size":n,className:Y(hp({variant:t,size:n,className:e})),...i})}function gp({...e}){return(0,z.jsx)(Ja,{"data-slot":`dialog`,...e})}function _p({...e}){return(0,z.jsx)(eo,{"data-slot":`dialog-portal`,...e})}function vp({className:e,...t}){return(0,z.jsx)(no,{"data-slot":`dialog-overlay`,className:Y(`fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),...t})}function yp({className:e,children:t,showCloseButton:n=!0,...r}){return(0,z.jsxs)(_p,{"data-slot":`dialog-portal`,children:[(0,z.jsx)(vp,{}),(0,z.jsxs)(oo,{"data-slot":`dialog-content`,className:Y(`fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg`,e),...r,children:[t,n&&(0,z.jsxs)(ho,{"data-slot":`dialog-close`,className:`absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,children:[(0,z.jsx)(Pf,{}),(0,z.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function bp({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`dialog-header`,className:Y(`flex flex-col gap-2 text-center sm:text-left`,e),...t})}function xp({className:e,showCloseButton:t=!1,children:n,...r}){return(0,z.jsxs)(`div`,{"data-slot":`dialog-footer`,className:Y(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...r,children:[n,t&&(0,z.jsx)(ho,{asChild:!0,children:(0,z.jsx)(Z,{variant:`outline`,children:`Close`})})]})}function Sp({className:e,...t}){return(0,z.jsx)(H,{"data-slot":`dialog-title`,className:Y(`text-lg leading-none font-semibold`,e),...t})}function Cp({className:e,...t}){return(0,z.jsx)(po,{"data-slot":`dialog-description`,className:Y(`text-sm text-muted-foreground`,e),...t})}function wp({className:e,type:t,...n}){return(0,z.jsx)(`input`,{type:t,"data-slot":`input`,className:Y(`h-9 w-full min-w-0 rounded-md border border-[var(--line)] bg-[oklch(0_0_0/0.25)] px-3 py-1 text-sm text-[var(--ink)] shadow-[inset_0_1px_3px_oklch(0_0_0/0.3)] transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-[var(--dim)] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,`focus-visible:border-[var(--line2)] focus-visible:ring-[3px] focus-visible:ring-ring/40`,`aria-invalid:border-destructive aria-invalid:ring-destructive/20`,e),...n})}function Tp({className:e,...t}){return(0,z.jsx)(rl,{"data-slot":`label`,className:Y(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}function Ep({...e}){return(0,z.jsx)(bl,{"data-slot":`select`,...e})}function Dp({...e}){return(0,z.jsx)(wl,{"data-slot":`select-value`,...e})}function Op({className:e,size:t=`default`,children:n,...r}){return(0,z.jsxs)(Sl,{"data-slot":`select-trigger`,"data-size":t,className:Y(`flex w-fit items-center justify-between gap-2 rounded-md border border-[var(--line)] bg-[oklch(0.92_0.008_80/0.02)] px-3 py-2 text-sm text-[var(--ink2)] whitespace-nowrap transition-[color,box-shadow] outline-none cursor-pointer focus-visible:border-[var(--line2)] focus-visible:ring-[3px] focus-visible:ring-ring/40 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-[var(--mut)] data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-[var(--mut)]`,e),...r,children:[n,(0,z.jsx)(El,{asChild:!0,children:(0,z.jsx)(lf,{className:`size-4 opacity-50`})})]})}function kp({className:e,children:t,position:n=`item-aligned`,align:r=`center`,...i}){return(0,z.jsx)(Al,{children:(0,z.jsxs)(Ml,{"data-slot":`select-content`,className:Y(`relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,align:r,...i,children:[(0,z.jsx)(jp,{}),(0,z.jsx)(Wl,{className:Y(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1`),children:t}),(0,z.jsx)(Mp,{})]})})}function Ap({className:e,children:t,...n}){return(0,z.jsxs)(eu,{"data-slot":`select-item`,className:Y(`relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,e),...n,children:[(0,z.jsx)(`span`,{"data-slot":`select-item-indicator`,className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,z.jsx)(iu,{children:(0,z.jsx)(cf,{className:`size-4`})})}),(0,z.jsx)(nu,{children:t})]})}function jp({className:e,...t}){return(0,z.jsx)(ou,{"data-slot":`select-scroll-up-button`,className:Y(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,z.jsx)(ff,{className:`size-4`})})}function Mp({className:e,...t}){return(0,z.jsx)(cu,{"data-slot":`select-scroll-down-button`,className:Y(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,z.jsx)(lf,{className:`size-4`})})}function Np({className:e,...t}){return(0,z.jsx)(`textarea`,{"data-slot":`textarea`,className:Y(`flex field-sizing-content min-h-16 w-full rounded-md border border-[var(--line)] bg-[oklch(0_0_0/0.3)] px-3 py-2 text-sm text-[var(--ink)] shadow-[inset_0_2px_6px_oklch(0_0_0/0.3)] transition-[color,box-shadow] outline-none placeholder:text-[var(--dim)] focus-visible:border-[var(--line2)] focus-visible:ring-[3px] focus-visible:ring-ring/40 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20`,e),...t})}var Pp=mp(`badge w-fit max-w-full overflow-hidden text-[var(--ink2)] whitespace-nowrap [&>svg]:pointer-events-none [&>svg]:size-3`,{variants:{variant:{default:``,secondary:`dead`,destructive:`blocked`,outline:``,ghost:`border-transparent`,link:`border-transparent underline-offset-4 [a&]:hover:underline`}},defaultVariants:{variant:`default`}});function Fp({className:e,variant:t=`default`,asChild:n=!1,...r}){return(0,z.jsx)(n?Qn:`span`,{"data-slot":`badge`,"data-variant":t,className:Y(Pp({variant:t}),e),...r})}function Ip(e){return e instanceof Bf&&(e.code===`not_found`||e.code===`already_resolved`||e.code===`claimed`)}function Lp(e){let t=e.indexOf(`/.crouter/interactions/`);return t>=0?e.slice(0,t):e}function Rp(e){if(e.trim()===``)return{title:``};let t=e.match(/^\s*#{1,6}\s+(.+?)\s*(?:\n|$)/);return t?{title:t[1],body:e.slice(t[0].length).trim()||void 0}:{title:e.trim(),body:e.trim()}}function zp(e){switch(e){case`notify`:case`validation`:case`decision`:case`context`:case`error`:return e}throw Error(`Unknown deck kind: ${e}`)}function Bp(e){let{title:t,body:n}=Rp(e.prompt);return{id:e.id,title:t||e.id,body:n,kind:zp(e.kind),options:e.options.map(e=>({id:e.id,label:e.label,...e.description===void 0?{}:{description:e.description}})),multiSelect:e.multiSelect,allowFreetext:e.allow_freetext}}function Vp(e){return{id:e.id,job_id:e.job_id,kind:zp(e.kind),title:e.title,blocked_since:e.blocked_since,conversation_id:e.conversation_id,conversation_title:e.conversation_title,asking_node_id:e.asking_node_id,asking_node_name:e.asking_node_name,cwd:Lp(e.dir),interaction_count:e.interaction_count}}function Hp(e,t){return{id:e.id,job_id:e.job_id??e.id,kind:zp(e.kind),title:e.title,blocked_since:e.blocked_since,conversation_id:e.conversation_id,conversation_title:e.conversation_title,asking_node_id:e.asking_node_id,asking_node_name:e.asking_node_name,cwd:t,interaction_count:e.interaction_count,interactions:e.interactions.map(Bp)}}function Up(){return If.run(`human:list`,async()=>(await Hf([`human`,`list`,`--json`])).items.map(Vp))}async function Wp(e){let t=await Hf([`human`,`deck`,e,`--json`]),n=(await Wf(t.asking_node_id)).cwd;return Hp(t,n)}async function Gp(e,t){let n=JSON.stringify({responses:t.responses}),r=await Hf([`human`,`resolve`,e,`--json`],n);if(r.resolved!==!0)throw new Bf(r.reason===`claimed`?`claimed`:`already_resolved`,r.reason===`claimed`?`That request is already being handled.`:`That request was already handled.`);return{resolved:!0,job_id:r.job_id??e,delivered:r.delivered??!0}}function Kp(e){let t=0;for(let n of e)t+=Math.max(0,n.attention_count);return t}function qp(){let{nodes:e}=dp();return Kp(e)}function Jp(){let[e,t]=(0,S.useState)([]),[n,r]=(0,S.useState)(!0),[i,a]=(0,S.useState)(0),o=(0,S.useCallback)(()=>a(e=>e+1),[]);return np([`inbox`,`nodes`],o),(0,S.useEffect)(()=>{let e=!1;return Up().then(n=>{e||(t(n),r(!1))}).catch(()=>{e||r(!1)}),()=>{e=!0}},[i]),{decks:e,loading:n,refetch:o}}function Yp(e){let{decks:t}=Jp();return t.filter(t=>t.conversation_id===e)}var Xp={notify:{icon:sf,label:`Update`},validation:{icon:Mf,label:`Approval`},decision:{icon:xf,label:`Decision`},context:{icon:hf,label:`Question`},error:{icon:Nf,label:`Problem`}};function Zp(e){switch(e){case`notify`:return Xp.notify;case`validation`:return Xp.validation;case`decision`:return Xp.decision;case`context`:return Xp.context;case`error`:return Xp.error;default:return Xp.context}}function Qp(e,t=Date.now()){let n=new Date(e).getTime();if(Number.isNaN(n))return``;let r=Math.max(0,Math.round((t-n)/1e3));if(r<60)return`${r}s`;let i=Math.round(r/60);if(i<60)return`${i}m`;let a=Math.round(i/60);return a<24?`${a}h`:`${Math.round(a/24)}d`}var $p=1,em=cp(e=>({toasts:[],push:(t,n=`info`)=>{let r=$p++;e(e=>({toasts:[...e.toasts,{id:r,message:t,tone:n}]})),setTimeout(()=>e(e=>({toasts:e.toasts.filter(e=>e.id!==r)})),4e3)},dismiss:t=>e(e=>({toasts:e.toasts.filter(e=>e.id!==t)}))}));function tm(e,t=`info`){em.getState().push(e,t)}var nm=e=>({"--i":e});async function rm(e,t){let n=(await Wp(e)).interactions[0];await Gp(e,{responses:[t===`ack`?{id:n.id}:{id:n.id,selectedOptionIds:[(t===`yes`?n.options.find(e=>e.id===`yes`)?.id??n.options[0]?.id:n.options.find(e=>e.id===`no`)?.id??n.options[1]?.id)??t]}]})}function im(){let{decks:e,loading:t}=Jp(),n=(0,S.useMemo)(()=>[...e].sort((e,t)=>new Date(t.blocked_since).getTime()-new Date(e.blocked_since).getTime()),[e]);return t||n.length===0?null:(0,z.jsxs)(`section`,{className:`needs rv`,style:nm(3),children:[(0,z.jsxs)(`div`,{className:`needs-head`,children:[(0,z.jsx)(bf,{size:14,className:`flag`,"aria-hidden":!0}),(0,z.jsxs)(`span`,{className:`instlabel`,children:[`Needs you — `,n.length,` blocked`]}),(0,z.jsx)(`div`,{className:`rule`})]}),(0,z.jsx)(`div`,{className:`needs-grid`,children:n.map(e=>(0,z.jsx)(am,{deck:e},e.id))})]})}function am({deck:e}){let t=lt(),{refetch:n}=Jp(),[r,i]=(0,S.useState)(!1),[a,o]=(0,S.useState)(null),[s,c]=(0,S.useState)(!1),l=Zp(e.kind).label,u=Qp(e.blocked_since);e.kind===`decision`&&a===null&&!s&&(async()=>{if(!(e.kind!==`decision`||s||a!==null)){c(!0);try{let t=(await Wp(e.job_id)).interactions[0]?.options??[];o(t.length<=3?t:[])}catch(e){Ip(e)?(o([]),n()):(console.error(`[needs-you] failed to load decision options:`,e),o([]))}finally{c(!1)}}})();let d=async t=>{if(!r){i(!0);try{await rm(e.job_id,t),tm(`Done — thanks!`,`success`),n()}catch(e){if(Ip(e)){tm(e instanceof Error?e.message:`That request was already handled.`),n();return}console.error(`[needs-you] resolve failed:`,e),tm(`Something went wrong — try again.`)}finally{i(!1)}}},f=async t=>{if(!r){i(!0);try{let r=(await Wp(e.job_id)).interactions[0];await Gp(e.job_id,{responses:[{id:r.id,selectedOptionIds:[t]}]}),tm(`Done — thanks!`,`success`),n()}catch(e){if(Ip(e)){tm(e instanceof Error?e.message:`That request was already handled.`),n();return}console.error(`[needs-you] decision option resolve failed:`,e),tm(`Something went wrong — try again.`)}finally{i(!1)}}},p=e.kind===`decision`&&a!==null&&a.length>0;return(0,z.jsxs)(`div`,{className:`deck`,children:[(0,z.jsxs)(`div`,{className:`deck-meta`,children:[(0,z.jsx)(`span`,{className:`deck-kind`,children:l}),(0,z.jsx)(`span`,{className:`from`,children:e.asking_node_name}),(0,z.jsxs)(`span`,{className:`age`,children:[`blocked `,u]})]}),(0,z.jsx)(`p`,{className:`deck-q line-clamp-2`,children:e.title}),(0,z.jsxs)(`div`,{className:`deck-actions`,children:[e.kind===`notify`&&(0,z.jsx)(Z,{type:`button`,variant:`outline`,size:`sm`,disabled:r,onClick:()=>void d(`ack`),children:`Got it`}),e.kind===`validation`&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(Z,{type:`button`,size:`sm`,disabled:r,onClick:()=>void d(`yes`),children:`Approve`}),(0,z.jsx)(Z,{type:`button`,variant:`outline`,size:`sm`,disabled:r,onClick:()=>void d(`no`),children:`Reject`})]}),p&&a.map(e=>(0,z.jsx)(Z,{type:`button`,variant:`outline`,size:`sm`,disabled:r,onClick:()=>void f(e.id),children:e.label},e.id)),(0,z.jsxs)(Z,{type:`button`,variant:`ghost`,size:`sm`,disabled:r,onClick:()=>t(`/inbox/${encodeURIComponent(e.job_id)}`),style:{marginLeft:`auto`,color:`var(--dim)`},children:[`open thread `,(0,z.jsx)(of,{"aria-hidden":!0})]})]})]})}var om=e=>({"--i":e}),sm=`hosted in a tmux pane — open it in your terminal`;function cm(e){let t=new Map;for(let n of e)t.set(n.node_id,{node:n,children:[]});let n=[];for(let e of t.values()){let r=e.node.parent,i=r?t.get(r):void 0;i?i.children.push(e):n.push(e)}return n}var lm=[`active`,`idle`,`done`,`dead`,`canceled`],um={query:``,status:`all`,blockedOnly:!1};function dm(e){return e.query.trim()!==``||e.status!==`all`||e.blockedOnly}function fm(e,t){if(t.status!==`all`&&e.status!==t.status||t.blockedOnly&&e.attention_count<=0)return!1;let n=t.query.trim().toLowerCase();return!(n&&!`${e.name} ${e.kind} ${e.mode} ${e.cwd} ${e.node_id} ${e.status}`.toLowerCase().includes(n))}function pm(e,t){if(!dm(t))return e;let n=new Map(e.map(e=>[e.node_id,e])),r=new Set;for(let i of e){if(!fm(i,t))continue;let e=i;for(;e&&!r.has(e.node_id);)r.add(e.node_id),e=e.parent?n.get(e.parent):void 0}return e.filter(e=>r.has(e.node_id))}var mm=new Set([`dead`,`canceled`]);function hm(e){return mm.has(e.node.status)&&e.children.every(hm)}function gm(e){return 1+e.children.reduce((e,t)=>e+gm(t),0)}var _m=3,vm={active:yf,idle:yf,done:mf,dead:gf,canceled:vf};function ym(e,t){return t?pf:vm[e]??yf}function bm(e){return e.toLocaleTimeString(`en-GB`,{hour12:!1})}function xm(){let[e,t]=(0,S.useState)(()=>bm(new Date));return(0,S.useEffect)(()=>{let e=setInterval(()=>t(bm(new Date)),1e3);return()=>clearInterval(e)},[]),e}function Sm(){let{nodes:e}=dp(),[t,n]=(0,S.useState)(!1),[r,i]=(0,S.useState)(0),[a,o]=(0,S.useState)(um),s=(0,S.useRef)(null),c=xm(),l=e.filter(e=>e.status===`active`).length,u=(0,S.useMemo)(()=>cm(pm(e,a)),[e,a]);return(0,S.useEffect)(()=>{let e=e=>{if(e.key!==`/`||e.metaKey||e.ctrlKey||e.altKey)return;let t=document.activeElement;t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLElement&&t.isContentEditable||(e.preventDefault(),s.current?.focus())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]),(0,z.jsxs)(`div`,{className:`in relative z-[1] h-full min-h-0 overflow-auto`,style:{padding:`34px 44px 44px`},children:[(0,z.jsxs)(`div`,{className:`rv flex items-baseline gap-4`,style:om(1),children:[(0,z.jsx)(`h1`,{className:`text-2xl`,style:{fontFamily:`var(--font-display)`,fontWeight:420,letterSpacing:`-0.01em`,fontVariationSettings:`"opsz" 60`,color:`var(--ink)`},children:`Canvas`}),(0,z.jsxs)(`span`,{className:`text-sm`,style:{color:`var(--mut)`},children:[e.length,` `,e.length===1?`node`:`nodes`,l>0&&` · ${l} active`]}),(0,z.jsxs)(`div`,{className:`text-xs flex items-center gap-2`,style:{marginLeft:`auto`,fontFamily:`var(--font-inst)`,color:`var(--ink2)`,letterSpacing:`0.1em`},children:[(0,z.jsx)(`span`,{style:{width:`8px`,height:`8px`,borderRadius:`50%`,background:`var(--act)`,animation:`pulse 2.4s ease-out infinite`}}),(0,z.jsx)(`span`,{children:c})]})]}),(0,z.jsxs)(`div`,{className:`rv flex items-center gap-2.5`,style:{margin:`20px 0 22px`,...om(2)},children:[(0,z.jsxs)(`div`,{className:`search`,children:[(0,z.jsx)(Af,{size:14,className:`opacity-70`,"aria-hidden":!0}),(0,z.jsx)(`input`,{ref:s,value:a.query,onChange:e=>o(t=>({...t,query:e.currentTarget.value})),onKeyDown:e=>{e.key===`Escape`&&(o(e=>({...e,query:``})),e.currentTarget.blur())},placeholder:`Search name, kind, mode, cwd, id…`,"aria-label":`Search nodes`,className:`min-w-0 flex-1 border-0 bg-transparent p-0 text-sm outline-none`,style:{color:`var(--ink)`}}),(0,z.jsx)(`span`,{className:`kbd`,children:`/`})]}),(0,z.jsxs)(`label`,{className:`selectish`,children:[(0,z.jsxs)(`select`,{value:a.status,onChange:e=>o(t=>({...t,status:e.currentTarget.value})),"aria-label":`Filter by status`,className:`cursor-pointer appearance-none border-0 bg-transparent text-sm outline-none`,style:{color:`var(--ink2)`,fontFamily:`inherit`},children:[(0,z.jsx)(`option`,{value:`all`,children:`all statuses`}),lm.map(e=>(0,z.jsx)(`option`,{value:e,children:e},e))]}),(0,z.jsx)(`span`,{className:`car`,children:`▾`})]}),(0,z.jsxs)(`label`,{className:`checkish select-none`,children:[(0,z.jsx)(`span`,{className:`box`,style:a.blockedOnly?{background:`var(--blk)`,borderColor:`var(--blk)`}:void 0}),`blocked`,(0,z.jsx)(`input`,{type:`checkbox`,checked:a.blockedOnly,onChange:e=>o(t=>({...t,blockedOnly:e.currentTarget.checked})),className:`sr-only`})]}),(0,z.jsx)(`button`,{type:`button`,className:`btn primary`,style:{marginLeft:`auto`},onClick:()=>{i(e=>e+1),n(!0)},children:`+ Spawn a node`})]}),(0,z.jsx)(im,{}),(0,z.jsxs)(`div`,{className:`panel rv`,style:{padding:`6px 0`,...om(4)},children:[(0,z.jsxs)(`div`,{className:`flex items-center`,style:{padding:`10px 18px 9px`,borderBottom:`1px solid var(--line)`},children:[(0,z.jsx)(`span`,{className:`instlabel`,style:{color:`var(--dim)`},children:`Node forest`}),(0,z.jsx)(`span`,{className:`text-xs`,style:{marginLeft:`auto`,fontFamily:`var(--font-inst)`,color:`var(--dim)`,letterSpacing:`0.1em`},children:`sorted · activity`})]}),(0,z.jsx)(`div`,{className:`tree`,children:e.length===0?(0,z.jsx)(`p`,{className:`px-3 py-2 text-sm italic`,style:{color:`var(--mut)`},children:`No nodes on the canvas yet.`}):u.length===0?(0,z.jsx)(`p`,{className:`px-3 py-2 text-sm italic`,style:{color:`var(--mut)`},children:`No matching nodes.`}):u.map(e=>(0,z.jsx)(Cm,{node:e},e.node.node_id))})]}),(0,z.jsx)(Tm,{open:t,onClose:()=>n(!1)},r)]})}function Cm({node:e}){let t=lt(),[n,r]=(0,S.useState)(!1),i=e.node,a=i.attention_count>0,o=mm.has(i.status),s=a?`blocked`:i.status,c=e.children.filter(e=>!hm(e)),l=e.children.filter(e=>hm(e)),u=l.reduce((e,t)=>e+gm(t),0),d=u>=_m,f=d?c:e.children,p=()=>{i.enterable&&t(`/nodes/${encodeURIComponent(i.node_id)}`)};return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:Y(`node-row s-${s}`,o&&`dimmed`),onClick:p,role:i.enterable?`button`:void 0,tabIndex:i.enterable?0:void 0,style:i.enterable?void 0:{cursor:`default`},onKeyDown:e=>{i.enterable&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),p())},children:[(0,z.jsxs)(`div`,{className:`node-id`,children:[(0,z.jsxs)(`div`,{className:`node-l1`,children:[(0,z.jsx)(`span`,{className:`node-name`,children:i.name}),(0,z.jsxs)(`span`,{className:`node-kind`,children:[i.kind,` · `,i.mode]})]}),(0,z.jsxs)(`div`,{className:`node-l2`,children:[(0,z.jsx)(`span`,{className:`node-cwd`,title:i.cwd,children:i.cwd}),i.lifecycle&&(0,z.jsx)(`span`,{className:`node-life`,children:i.lifecycle}),!i.enterable&&(0,z.jsx)(`span`,{className:`node-note`,children:sm})]})]}),(0,z.jsxs)(`div`,{className:`node-right`,children:[a&&(0,z.jsxs)(`span`,{className:`waitflag`,children:[(0,z.jsx)(bf,{size:14,"aria-hidden":!0}),` `,i.attention_count,` waiting on human`]}),(0,z.jsx)(wm,{status:i.status,blocked:a})]})]}),(f.length>0||d&&u>0)&&(0,z.jsxs)(`div`,{className:`kids`,children:[f.map(e=>(0,z.jsx)(Cm,{node:e},e.node.node_id)),d&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`button`,{type:`button`,onClick:()=>r(e=>!e),className:`flex items-center gap-1.5 px-4 py-2 text-xs transition-colors`,style:{color:`var(--dim)`},children:[(0,z.jsx)(df,{size:14,"aria-hidden":!0,style:{transform:n?`rotate(90deg)`:`none`,transition:`transform 0.15s ease`}}),n?`Hide ${u} closed`:`Show ${u} closed`]}),n&&l.map(e=>(0,z.jsx)(Cm,{node:e},e.node.node_id))]})]})]})}function wm({status:e,blocked:t}){let n=ym(e,t);return(0,z.jsxs)(Fp,{variant:`outline`,className:t?`blocked`:e,children:[(0,z.jsx)(n,{"aria-hidden":!0}),e]})}function Tm({open:e,onClose:t}){let[n,r]=(0,S.useState)(``),[i,a]=(0,S.useState)(`developer`),[o,s]=(0,S.useState)(``),[c,l]=(0,S.useState)(!1),[u,d]=(0,S.useState)(``),[f,p]=(0,S.useState)(``),[m,h]=(0,S.useState)(``),[g,_]=(0,S.useState)(``),[v,y]=(0,S.useState)(!1),[b,x]=(0,S.useState)(null);return(0,z.jsx)(gp,{open:e,onOpenChange:e=>!e&&t(),children:(0,z.jsxs)(yp,{className:`max-w-md overflow-y-auto max-h-[90dvh]`,children:[(0,z.jsx)(bp,{children:(0,z.jsx)(Sp,{children:`Spawn a node`})}),(0,z.jsxs)(`form`,{id:`spawn-form`,onSubmit:async e=>{if(e.preventDefault(),!n.trim()||!i.trim()){x(`prompt and kind are required`);return}y(!0),x(null);let r={prompt:n.trim(),kind:i.trim(),...o?{mode:o}:{},...c?{root:!0}:{},...u.trim()?{cwd:u.trim()}:{},...f.trim()?{name:f.trim()}:{},...m.trim()?{model:m.trim()}:{},...g.trim()?{parent:g.trim()}:{}};try{await Kf(r),t()}catch(e){console.error(`[spawn] failed:`,e),x(e instanceof Bf?`${e.code}: ${e.message}`:String(e))}finally{y(!1)}},className:`flex flex-col gap-3.5`,children:[(0,z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,z.jsx)(Tp,{htmlFor:`spawn-prompt`,children:`Prompt`}),(0,z.jsx)(Np,{id:`spawn-prompt`,value:n,onChange:e=>r(e.currentTarget.value),rows:4,required:!0,className:`resize-none`})]}),(0,z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,z.jsx)(Tp,{htmlFor:`spawn-kind`,children:`Kind`}),(0,z.jsx)(wp,{id:`spawn-kind`,value:i,onChange:e=>a(e.currentTarget.value),required:!0})]}),(0,z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,z.jsx)(Tp,{htmlFor:`spawn-mode`,children:`Mode`}),(0,z.jsxs)(Ep,{value:o===``?`__none__`:o,onValueChange:e=>s(e===`__none__`?``:e),children:[(0,z.jsx)(Op,{id:`spawn-mode`,className:`w-full`,children:(0,z.jsx)(Dp,{})}),(0,z.jsxs)(kp,{children:[(0,z.jsx)(Ap,{value:`__none__`,children:`(default)`}),(0,z.jsx)(Ap,{value:`base`,children:`base`}),(0,z.jsx)(Ap,{value:`orchestrator`,children:`orchestrator`})]})]})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(`input`,{type:`checkbox`,id:`spawn-root`,checked:c,onChange:e=>l(e.currentTarget.checked),className:`size-4 rounded border border-input accent-primary`}),(0,z.jsx)(Tp,{htmlFor:`spawn-root`,className:`cursor-pointer`,children:`Resident root node`})]}),(0,z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,z.jsx)(Tp,{htmlFor:`spawn-cwd`,children:`cwd`}),(0,z.jsx)(wp,{id:`spawn-cwd`,value:u,onChange:e=>d(e.currentTarget.value),placeholder:`(inherit)`,className:`font-mono text-sm`})]}),(0,z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,z.jsx)(Tp,{htmlFor:`spawn-name`,children:`Name`}),(0,z.jsx)(wp,{id:`spawn-name`,value:f,onChange:e=>p(e.currentTarget.value),placeholder:`(auto)`})]}),(0,z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,z.jsx)(Tp,{htmlFor:`spawn-model`,children:`Model`}),(0,z.jsx)(wp,{id:`spawn-model`,value:m,onChange:e=>h(e.currentTarget.value),placeholder:`(default)`})]}),(0,z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,z.jsx)(Tp,{htmlFor:`spawn-parent`,children:`Parent node id`}),(0,z.jsx)(wp,{id:`spawn-parent`,value:g,onChange:e=>_(e.currentTarget.value),placeholder:`(this canvas root)`,className:`font-mono text-sm`})]}),b&&(0,z.jsx)(`p`,{className:`text-sm text-destructive`,children:b})]}),(0,z.jsxs)(xp,{children:[(0,z.jsx)(Z,{type:`button`,variant:`outline`,onClick:t,disabled:v,children:`Cancel`}),(0,z.jsx)(Z,{type:`submit`,form:`spawn-form`,disabled:v,children:v?`Spawning…`:`Spawn`})]})]})})}function Em(e){if(!e)return``;let t=e.replace(/\/+$/,``).split(`/`);return t[t.length-1]??``}function Dm(e){let t=e.name?.trim();if(t&&t!==e.kind)return t;let n=Em(e.cwd);return n?`${e.kind} · ${n}`:e.kind}function Om(e){return e.parent===null&&e.host_kind===`broker`}function km(e){let t=new Map;for(let n of e){if(n.parent===null)continue;let e=t.get(n.parent);e?e.push(n):t.set(n.parent,[n])}return t}function Am(e,t){let n=[],r=new Set,i=[e];for(;i.length>0;){let e=i.pop();if(r.has(e.node_id))continue;r.add(e.node_id),n.push(e);let a=t.get(e.node_id);if(a)for(let e of a)i.push(e)}return n}function jm(e){return e===`done`||e===`dead`||e===`canceled`}function Mm(e,t,n){return t>0?`needs-you`:e.status===`active`||n>0?`active`:jm(e.status)?`done`:`idle`}function Nm(e){switch(e){case`needs-you`:return 0;case`active`:return 1;case`idle`:return 2;case`done`:return 3}}function Pm(e){let t=km(e),n=[];for(let r of e){if(!Om(r))continue;let e=Am(r,t),i=0,a=0;for(let t of e)i+=Math.max(0,t.attention_count),t.node_id!==r.node_id&&t.status===`active`&&(a+=1);n.push({id:r.node_id,title:Dm(r),state:Mm(r,i,a),attention:i,activeChildren:a,nodeCount:e.length,...r.cycles===void 0?{}:{cycles:r.cycles},lastActivity:r.last_activity??r.created})}return n.sort((e,t)=>{let n=Nm(e.state)-Nm(t.state);return n===0?t.lastActivity.localeCompare(e.lastActivity):n}),n}function Fm(e,t){let n=km(e),r=e.find(e=>e.node_id===t);return r?Am(r,n).filter(e=>e.node_id!==t):[]}function Im(e){switch(e.state){case`needs-you`:return e.attention>1?`${e.attention} things need your input`:`Needs your input`;case`active`:return e.activeChildren>0?`Working — ${e.activeChildren} ${e.activeChildren===1?`task`:`tasks`} in progress`:`Working…`;case`done`:return`Finished`;case`idle`:return`Idle`}}function Lm(e,t,n){if(e.key===`Enter`&&!e.shiftKey){if(e.altKey){e.preventDefault();let n=e.currentTarget,r=n.selectionStart??n.value.length,i=n.selectionEnd??r,a=`${n.value.slice(0,r)}\n${n.value.slice(i)}`,o=r+1;t(a),requestAnimationFrame(()=>{n.selectionStart=o,n.selectionEnd=o});return}e.metaKey||e.ctrlKey||(e.preventDefault(),n())}}var Rm=[`Research a topic for me`,`Help me write something`,`Review my code`,`Plan a project`];function zm(){let{nodes:e,loading:t}=dp(),n=lp(e=>e.reachable),r=(0,S.useMemo)(()=>Pm(e),[e]),[i,a]=(0,S.useState)(!1),[o]=Ln();(0,S.useEffect)(()=>{o.get(`new`)!==null&&a(!0)},[o]);let s=!t&&r.length===0;return(0,z.jsxs)(`div`,{className:`mx-auto flex h-full min-h-0 max-w-3xl flex-col px-6 py-8`,children:[(0,z.jsxs)(`div`,{className:`mb-6 flex items-center justify-between gap-3`,children:[(0,z.jsx)(`h1`,{className:`text-3xl`,style:{fontFamily:`var(--font-display)`,fontWeight:460,letterSpacing:`-0.01em`,color:`var(--ink)`},children:`Conversations`}),!s&&!i&&(0,z.jsx)(Z,{size:`lg`,onClick:()=>a(!0),children:`+ New chat`})]}),!n&&(0,z.jsx)(`div`,{className:`mb-4 rounded-lg border px-4 py-2.5 text-sm`,style:{borderColor:`rgba(255,94,54,.3)`,background:`var(--blk-dim)`,color:`var(--ink2)`},children:`Couldn't reach your agents — retrying…`}),(i||s)&&(0,z.jsx)(Bm,{firstRun:s,onCancel:s?void 0:()=>a(!1)}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto`,children:t?(0,z.jsx)(Um,{}):(0,z.jsx)(`ul`,{className:`flex flex-col gap-2.5`,children:r.map(e=>(0,z.jsx)(Vm,{conversation:e},e.id))})})]})}function Bm({firstRun:e,onCancel:t}){let n=lt(),[r,i]=(0,S.useState)(``),[a,o]=(0,S.useState)(!1),[s,c]=(0,S.useState)(null),l=async()=>{let e=r.trim();if(!(!e||a)){o(!0),c(null);try{let t=await Kf({prompt:e,kind:`general`,mode:`base`,root:!0});n(`/c/${encodeURIComponent(t.node_id)}`)}catch(e){c(e instanceof Bf?e.message:String(e)),o(!1)}}};return(0,z.jsxs)(`div`,{className:`panel mb-6 p-5`,children:[e&&(0,z.jsx)(`p`,{className:`mb-3 text-base`,style:{fontFamily:`var(--font-display)`,fontStyle:`italic`,color:`var(--ink2)`},children:`Start a conversation with an agent.`}),(0,z.jsx)(Np,{autoFocus:!0,value:r,onChange:e=>i(e.currentTarget.value),onKeyDown:e=>{Lm(e,i,()=>void l())},rows:3,disabled:a,placeholder:`What do you want help with?`,className:`resize-none border-0 bg-transparent px-0 text-base shadow-none focus-visible:ring-0`}),(0,z.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:Rm.map(e=>(0,z.jsx)(`button`,{type:`button`,disabled:a,onClick:()=>i(e),className:`rounded-full border border-border px-3 py-1 text-xs text-muted-foreground transition-colors hover:border-[color:var(--line2)] hover:text-foreground`,children:e},e))}),s&&(0,z.jsx)(`p`,{className:`mt-3 text-sm text-destructive`,children:s}),(0,z.jsxs)(`div`,{className:`mt-4 flex items-center justify-end gap-2`,children:[t&&(0,z.jsx)(Z,{variant:`ghost`,onClick:t,disabled:a,children:`Cancel`}),(0,z.jsx)(Z,{onClick:()=>void l(),disabled:a||!r.trim(),children:a?`Starting…`:`Start chat`})]})]})}function Vm({conversation:e}){let t=lt();return(0,z.jsx)(`li`,{className:`list-none`,children:(0,z.jsxs)(`button`,{type:`button`,onClick:()=>t(`/c/${encodeURIComponent(e.id)}`),className:`panel flex w-full items-center gap-4 px-4 py-3.5 text-left transition-colors hover:bg-[color-mix(in_oklch,var(--ink)_3%,transparent)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,children:[(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e.state===`needs-you`&&(0,z.jsx)(`span`,{className:`dot blocked shrink-0`,"aria-label":`needs you`}),(0,z.jsx)(`span`,{className:`truncate text-sm`,style:{fontWeight:500,color:`var(--ink)`},children:e.title})]}),(0,z.jsx)(`p`,{className:`mt-0.5 truncate text-sm`,style:{color:`var(--mut)`},children:Im(e)})]}),(0,z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 text-xs`,style:{fontFamily:`var(--font-inst)`,letterSpacing:`0.04em`,color:`var(--mut)`},children:[e.cycles!==void 0&&(0,z.jsxs)(`span`,{title:`cycles`,children:[`⟳ `,e.cycles]}),(0,z.jsxs)(`span`,{title:`nodes in this conversation`,children:[`◦ `,e.nodeCount,` `,e.nodeCount===1?`node`:`nodes`]}),(0,z.jsx)(`span`,{title:`time since last work`,children:Wm(e.lastActivity)})]}),(0,z.jsx)(Hm,{state:e.state})]})})}function Hm({state:e}){let t={"needs-you":{label:`Needs you`,variant:`blocked`},active:{label:`Active`,variant:`active`},idle:{label:`Idle`,variant:`idle`},done:{label:`Finished`,variant:`done`}}[e];return(0,z.jsxs)(`span`,{className:Y(`badge shrink-0`,t.variant),children:[(0,z.jsx)(`span`,{className:Y(`dot`,t.variant)}),t.label]})}function Um(){return(0,z.jsx)(`ul`,{className:`flex flex-col gap-2.5`,children:[0,1,2,3].map(e=>(0,z.jsxs)(`li`,{className:`panel flex items-center gap-4 px-4 py-3.5`,children:[(0,z.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-2`,children:[(0,z.jsx)(`div`,{className:`h-4 w-1/3 animate-pulse rounded bg-muted`}),(0,z.jsx)(`div`,{className:`h-3 w-2/3 animate-pulse rounded bg-muted/70`})]}),(0,z.jsx)(`div`,{className:`h-6 w-16 animate-pulse rounded-full bg-muted`})]},e))})}function Wm(e){let t=new Date(e).getTime();if(Number.isNaN(t))return``;let n=Math.max(0,Math.round((Date.now()-t)/1e3));if(n<60)return`just now`;let r=Math.round(n/60);if(r<60)return`${r}m ago`;let i=Math.round(r/60);return i<24?`${i}h ago`:`${Math.round(i/24)}d ago`}function Gm(e){return typeof e==`object`&&!!e}function Km(e){return typeof e==`string`?e:``}function qm(e){let t=e??``;return/rate.?limit|\b429\b|too many requests|quota/i.test(t)?`rate-limit`:/overloaded|\b529\b|\b503\b|capacity|server.{0,3}busy|temporarily unavailable/i.test(t)?`overloaded`:/invalid_grant|refresh token|unauthori[sz]ed|invalid.?api.?key|authentication failed|\b401\b|\b403\b/i.test(t)?`auth`:/connection|econnreset|etimedout|enotfound|econnrefused|network|fetch failed|socket hang|timed? out|timeout/i.test(t)?`connection`:`other`}function Jm(e){let t=Km(e.code)||Km(e.errno);return t===``?null:/^(ECONNREFUSED|ECONNRESET|ETIMEDOUT|ENOENT|ENOTFOUND|EAI_AGAIN|EPIPE|EHOSTUNREACH|ENETUNREACH)$/i.test(t)?`connection`:null}function Ym(e){let t=typeof e.status==`number`?e.status:null;return t===null?null:t===401||t===403?`auth`:t===429?`rate-limit`:t===503||t===529||t>=500&&t<=599?`overloaded`:t>=400&&t<=499?`protocol`:null}function Xm(e){let t=typeof e.code==`number`?e.code:null;if(t===null)return null;if(t===1008)return`protocol`;if(t===1006)return`connection`;if(t===1011){let t=Km(e.reason);return/no running broker/i.test(t)||qm(t)===`connection`?`connection`:`other`}return null}function Zm(e,t){return t===`auth`||t===`protocol`?`fatal`:e===`pi→provider`?t===`connection`||t===`rate-limit`||t===`overloaded`?`auto`:`fatal`:`manual`}function Qm(e){if(typeof e==`string`)return e;if(!Gm(e))return``;let t=[e.message,e.errorMessage,e.reason,e.body,e.statusText];for(let e of t)if(typeof e==`string`&&e!==``)return e;let n=e.error;if(Gm(n)){let e=n.message;if(typeof e==`string`&&e!==``)return e;let t=n.reason;if(typeof t==`string`&&t!==``)return t}return``}function $m(e,t){if(Gm(t)){let n=Jm(t);if(n!==null)return{kind:n,disposition:Zm(e,n)};let r=Ym(t);if(r!==null)return{kind:r,disposition:Zm(e,r)};let i=Xm(t);if(i!==null)return{kind:i,disposition:Zm(e,i)}}let n=qm(Qm(t));return{kind:n,disposition:Zm(e,n)}}var eh=(()=>{let e=new URLSearchParams(window.location.search).get(`token`);return e!==null&&e!==``?e:void 0})(),th=class{nodeId;handlers;ws;closedReported=!1;constructor(e,t){this.nodeId=e,this.handlers=t}get url(){let e=location.protocol===`https:`?`wss:`:`ws:`,t=new URL(`/node/${encodeURIComponent(this.nodeId)}`,window.location.href);return t.protocol=e,eh!==void 0&&t.searchParams.set(`token`,eh),t.toString()}connect(){let e;try{e=new WebSocket(this.url)}catch(e){this.reportClose(`transient`,`failed to open ws: ${String(e)}`);return}this.ws=e,e.onopen=()=>this.handlers.onOpen?.(),e.onmessage=e=>this.onMessage(e),e.onclose=e=>{let t=$m(`browser↔relay`,{code:e.code,reason:e.reason}),n=e.code===1008||t.kind===`protocol`?`invalid`:e.code===1011&&/^no node /.test(e.reason)?`no-node`:e.code===1011&&/^no running broker/.test(e.reason)?`no-broker`:`transient`;this.reportClose(n,e.reason||`closed (${e.code})`)},e.onerror=()=>{}}onMessage(e){if(typeof e.data!=`string`)return;let t;try{t=JSON.parse(e.data)}catch{return}this.handlers.onFrame?.(t)}send(e){let t=this.ws;if(!(t===void 0||t.readyState!==WebSocket.OPEN))try{t.send(JSON.stringify(e))}catch{}}close(){let e=this.ws;if(e!==void 0&&e.readyState<=WebSocket.OPEN)try{e.close()}catch{}}reportClose(e,t){this.closedReported||(this.closedReported=!0,this.ws=void 0,this.handlers.onClose?.(e,t))}},nh=/^From (?:[a-z0-9]+-[a-f0-9]+|system|human) — \d+ update/;function rh(e){return nh.test(e)}function ih(e){let t=/^From ([a-z0-9]+-[a-f0-9]+|system|human) — /.exec(e);if(!t)return null;let n=t[1];return typeof n==`string`?n:null}function ah(){return{messages:[],streamingIndex:null,executingToolIds:new Set,isStreaming:!1,activity:null}}function oh(e){let t=e.content;return typeof t==`string`?t:Array.isArray(t)?t.filter(e=>!!e&&e.type===`text`).map(e=>typeof e.text==`string`?e.text:``).join(``):``}function sh(e){return lh(e)!==`user`||e.origin||!rh(oh(e))?e:{...e,origin:`inbox`}}function ch(e){return{messages:e.messages.map(sh),streamingIndex:null,executingToolIds:new Set,isStreaming:e.state?.isStreaming===!0,activity:e.state?.isStreaming===!0?`Working…`:null}}function lh(e){return e.role??``}function uh(e){for(let t=e.messages.length-1;t>=0;t--)if(lh(e.messages[t])===`bashExecution`)return t;return null}function dh(e,t,n){let r={role:`bashExecution`,command:t,output:``,exitCode:void 0,cancelled:!1,truncated:!1,excludeFromContext:n,timestamp:Date.now()};return{...e,messages:[...e.messages,r]}}function fh(e,t){let n=uh(e);if(n===null)return e;let r=[...e.messages],i=r[n];return r[n]={...i,output:`${i.output??``}${t}`},{...e,messages:r}}function ph(e,t){let n=uh(e);if(n===null)return e;let r=[...e.messages];return r[n]={...r[n],exitCode:t.exitCode,cancelled:t.cancelled,truncated:t.truncated,fullOutputPath:t.fullOutputPath},{...e,messages:r}}function mh(e,t){switch(t.type){case`agent_start`:return{...e,isStreaming:!0,activity:`Working…`};case`agent_end`:return{...e,isStreaming:!1,activity:null,streamingIndex:null,executingToolIds:e.executingToolIds.size?new Set:e.executingToolIds};case`message_start`:{let n=sh(t.message),r=[...e.messages,n],i=lh(n)===`assistant`;return{...e,messages:r,streamingIndex:i?r.length-1:e.streamingIndex}}case`message_update`:{let n=e.streamingIndex;if(n===null){let t=e.messages.length-1;t>=0&&lh(e.messages[t])===`assistant`&&(n=t)}if(n===null)return e;let r=[...e.messages];return r[n]=t.message,{...e,messages:r,streamingIndex:n}}case`message_end`:{if(e.streamingIndex===null)return e;let n=[...e.messages];return n[e.streamingIndex]=t.message,{...e,messages:n,streamingIndex:null}}case`tool_execution_start`:{let n=new Set(e.executingToolIds);return n.add(t.toolCallId),{...e,executingToolIds:n}}case`tool_execution_end`:{if(!e.executingToolIds.has(t.toolCallId))return e;let n=new Set(e.executingToolIds);return n.delete(t.toolCallId),{...e,executingToolIds:n}}case`compaction_start`:return{...e,activity:`Compacting context…`};case`compaction_end`:return{...e,activity:e.isStreaming?`Working…`:null};case`auto_retry_start`:return{...e,activity:`Retrying (${t.attempt}/${t.maxAttempts}) in ${Math.ceil(t.delayMs/1e3)}s…`};case`auto_retry_end`:return{...e,activity:e.isStreaming?`Working…`:null};default:return e}}function hh(e){return{clientId:e,conn:`connecting`,conv:ah(),role:`observer`,controllerId:null,session:null,model:void 0,sessionName:void 0,contextTokens:void 0,dialog:null,commands:[],statuses:{},widgets:{},title:void 0,notice:null}}var gh={"no-broker":`no-broker`,"no-node":`no-node`,invalid:`invalid`,transient:`closed`};function _h(e){return e===`welcome`||e===`control_changed`||e===`model_changed`||e===`error`||e===`ack`||e===`data`||e===`display_status`||e===`display_widget`||e===`display_title`||e===`bash_start`||e===`bash_output`||e===`bash_end`||e===`extension_ui_request`}function vh(e,t){switch(t.kind){case`reset`:return hh(t.clientId);case`connecting`:return{...e,conn:`connecting`};case`closed`:return{...e,conn:gh[t.closeKind]};case`notice`:return{...e,notice:t.text};case`dismiss-dialog`:return{...e,dialog:null};case`frame`:return xh(e,t.frame)}}function yh(e){if(e===void 0||e.trim()===``)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>{if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.name==`string`&&typeof t.description==`string`&&(t.source===`builtin`||t.source===`command`||t.source===`template`)}):[]}catch{return[]}}function bh(e){return{sessionId:e.sessionId,sessionFile:e.sessionFile??null,model:e.model??null,isStreaming:e.isStreaming,thinkingLevel:e.thinkingLevel,steeringMode:e.steeringMode,followUpMode:e.followUpMode,sessionName:e.sessionName??null,autoCompactionEnabled:e.autoCompactionEnabled,pendingMessageCount:e.pendingMessageCount}}function xh(e,t){if(!_h(t.type))return{...e,conv:mh(e.conv,t)};switch(t.type){case`welcome`:{let n=ch(t.snapshot),r=t.controller_id,i=bh(t.snapshot.state);return{...e,conn:`open`,conv:n,controllerId:r,role:r===e.clientId?`controller`:`observer`,session:i,model:i.model??void 0,sessionName:i.sessionName??void 0,contextTokens:t.snapshot.stats?.tokens?.total,dialog:t.pending_dialog??null,commands:[]}}case`control_changed`:return{...e,controllerId:t.controller_id,role:t.controller_id===e.clientId?`controller`:`observer`};case`model_changed`:return{...e,model:t.model,session:e.session?{...e.session,model:t.model??null}:e.session};case`error`:return{...e,notice:t.code===`not_controller`?`read-only — another viewer is the controller`:t.message||`error: ${t.code}`};case`extension_ui_request`:return{...e,dialog:t};case`display_status`:{let n={...e.statuses};return t.text===void 0?delete n[t.key]:n[t.key]=t.text,{...e,statuses:n}}case`display_widget`:{let n={...e.widgets};return t.lines===void 0?delete n[t.key]:n[t.key]={lines:t.lines,placement:t.placement},{...e,widgets:n}}case`display_title`:return{...e,title:t.title};case`ack`:return t.for===`get_commands`?t.ok?{...e,commands:yh(t.detail)}:{...e,commands:[]}:e;case`bash_start`:return{...e,conv:dh(e.conv,t.command,t.excludeFromContext)};case`bash_output`:return{...e,conv:fh(e.conv,t.chunk)};case`bash_end`:return{...e,conv:ph(e.conv,t)};default:return e}}var Sh=1500;function Ch(e){let t=(0,S.useRef)(``);t.current===``&&(t.current=crypto.randomUUID());let[n,r]=(0,S.useReducer)(vh,t.current,hh),i=(0,S.useRef)(null),a=(0,S.useRef)(0),o=(0,S.useRef)(null),s=(0,S.useRef)(n.role);s.current=n.role;let c=(0,S.useRef)(n.conv.isStreaming);c.current=n.conv.isStreaming;let l=(0,S.useCallback)(e=>{i.current?.send(e)},[]),u=(0,S.useCallback)(()=>{let n=a.current,s=new th(e,{onOpen:()=>{n===a.current&&s.send({type:`hello`,role:`observer`,client_id:t.current})},onFrame:e=>{n===a.current&&(r({kind:`frame`,frame:e}),e.type===`welcome`&&s.send({type:`get_commands`}))},onClose:e=>{n===a.current&&(r({kind:`closed`,closeKind:e}),e===`transient`&&(o.current=setTimeout(()=>{n===a.current&&(r({kind:`connecting`}),u())},Sh)))}});i.current=s,s.connect()},[e]);return(0,S.useEffect)(()=>(a.current+=1,r({kind:`reset`,clientId:t.current}),r({kind:`connecting`}),u(),()=>{a.current+=1,o.current&&clearTimeout(o.current),i.current?.close(),i.current=null}),[e,u]),{state:n,actions:{sendText:(0,S.useCallback)(e=>{let t=e.trim();if(t!==``){if(s.current!==`controller`){r({kind:`notice`,text:`take control before sending`});return}if(t.startsWith(`!`)){let e=t.startsWith(`!!`),n=t.slice(e?2:1).trim();if(n===``)return;l({type:`bash`,command:n,excludeFromContext:e});return}l(c.current?{type:`steer`,text:t}:{type:`prompt`,text:t})}},[l]),abort:(0,S.useCallback)(()=>{s.current===`controller`&&l({type:`abort`})},[l]),takeControl:(0,S.useCallback)(()=>l({type:`request_control`}),[l]),releaseControl:(0,S.useCallback)(()=>l({type:`release_control`}),[l]),setModel:(0,S.useCallback)(e=>l({type:`set_model`,model:e}),[l]),cycleModel:(0,S.useCallback)(()=>l({type:`cycle_model`}),[l]),setThinkingLevel:(0,S.useCallback)(e=>l({type:`set_thinking_level`,level:e}),[l]),compact:(0,S.useCallback)(e=>l({type:`compact`,...e?{instructions:e}:{}}),[l]),answerDialog:(0,S.useCallback)(e=>{l(e),r({kind:`dismiss-dialog`})},[l]),cancelDialog:(0,S.useCallback)(()=>{let e=n.dialog?.id;e!==void 0&&l({type:`extension_ui_response`,id:e,cancelled:!0}),r({kind:`dismiss-dialog`})},[l,n.dialog]),reconnect:(0,S.useCallback)(()=>{o.current&&clearTimeout(o.current),a.current+=1,i.current?.close(),r({kind:`connecting`}),u()},[u]),clearNotice:(0,S.useCallback)(()=>r({kind:`notice`,text:null}),[])}}}var wh={branch:null,model:null,tokens:null,context:null,tool_calls:null,stats:null,git_status:null};function Th(e,t){return{sessionId:t.state?.sessionId??e,sessionFile:t.state?.sessionFile??null,model:t.state?.model??null,isStreaming:!1,thinkingLevel:t.state?.thinkingLevel??`off`,steeringMode:t.state?.steeringMode??`all`,followUpMode:t.state?.followUpMode??`all`,sessionName:t.state?.sessionName??null,autoCompactionEnabled:t.state?.autoCompactionEnabled??!1,pendingMessageCount:t.state?.pendingMessageCount??0}}function Eh(e){let{state:t,actions:n}=Ch(e),r=lp(e=>e.reachable),[i,a]=(0,S.useState)(null);(0,S.useEffect)(()=>{let n=!1;if(t.conn!==`no-broker`){a(null);return}return Gf(e).then(e=>{n||a(e)}).catch(()=>{n||a(null)}),()=>{n=!0}},[e,t.conn]);let o=t.conn===`no-broker`&&i?.node_id===e?i:null,s=(0,S.useMemo)(()=>o===null?null:ch(o.snapshot),[o]),c=(0,S.useMemo)(()=>t.session===null?null:{...t.session,isStreaming:t.conv.isStreaming},[t.session,t.conv.isStreaming]),l=(0,S.useMemo)(()=>t.conn===`connecting`||t.conn===`closed`?null:o===null?c:Th(e,o.snapshot),[e,o,t.conn,c]),u=(0,S.useMemo)(()=>o===null?{...wh,model:t.model??null}:{...wh,model:o.snapshot.state?.model??null},[o,t.model]),d=s?.messages??t.conv.messages,f=o?.commands??t.commands;return{messages:d,state:l,role:t.role,chrome:u,dialog:t.dialog,commands:f,presence:{viewers:0,controller:t.controllerId},brokerStatus:t.conn===`open`?`connected`:t.conn===`closed`||t.conn===`connecting`?`reconnecting`:`down`,source:t.conn===`no-broker`?`static`:`broker`,serverConnected:r,socketReady:t.conn===`open`,error:t.notice?{code:`broker_unavailable`,message:t.notice}:null,reconnect:n.reconnect,prompt:e=>n.sendText(e),steer:e=>n.sendText(e),abort:n.abort,setModel:n.setModel,cycleModel:n.cycleModel,setThinkingLevel:n.setThinkingLevel,compact:n.compact,requestControl:n.takeControl,releaseControl:n.releaseControl,dialogResponse:(e,t)=>n.answerDialog({type:`extension_ui_response`,id:e,...t})}}var Dh={operator:{id:`operator`,label:`Operator`,grants:new Set([`canvas.view`,`canvas.search`,`node.internals`,`node.arbitration`,`node.spawn.raw`,`node.lifecycle.raw`,`subnodes.visible`,`commands.palette`,`session.trace`,`diagnostics`,`views.author`,`node.graphRail`,`files.peek`,`views.host`]),terms:{node:`node`,nodes:`nodes`,spawn:`spawn`,revive:`Revive`,controller:`controller`,observer:`observer`,broker:`broker`,canvas:`canvas`,headless:`headless`,steer:`Steer`,compact:`Compact`,close:`Close`},nav:[{id:`conversations`,label:`Conversations`,path:`/`},{id:`canvas`,label:`Canvas`,path:`/canvas`},{id:`inbox`,label:`Inbox`,path:`/inbox`},{id:`views`,label:`Views`,path:`/views`}],density:`compact`,defaultTheme:`dark`,home:`list`},studio:{id:`studio`,label:`Studio`,grants:new Set([`subnodes.activity`,`views.host`]),terms:{node:`conversation`,nodes:`conversations`,spawn:`new chat`,revive:`Continue`,controller:``,observer:``,broker:``,canvas:``,headless:``,steer:`Send`,compact:``,close:``},nav:[{id:`conversations`,label:`Conversations`,path:`/`},{id:`inbox`,label:`Inbox`,path:`/inbox`},{id:`settings`,label:`Settings`,path:`/settings`}],density:`comfortable`,defaultTheme:`light`,home:`views`}},Oh=`operator`,kh=`crouter-web:profile`;function Ah(e){return e!=null&&Object.prototype.hasOwnProperty.call(Dh,e)}function jh(){let e=new URLSearchParams(window.location.search).get(`profile`);if(Ah(e))return Mh(e),e;try{let e=localStorage.getItem(kh);if(Ah(e))return e}catch{}return Oh}function Mh(e){try{localStorage.setItem(kh,e)}catch{}}var Nh=(0,S.createContext)(null);function Ph({children:e}){let[t,n]=(0,S.useState)(()=>jh()),r=Dh[t];(0,S.useEffect)(()=>{let e=document.documentElement;e.classList.toggle(`dark`,r.defaultTheme===`dark`),e.classList.toggle(`light`,r.defaultTheme===`light`),e.dataset.profile=r.id,e.dataset.density=r.density},[r]);let i=(0,S.useMemo)(()=>({profile:r,setProfile:e=>{Mh(e),n(e)}}),[r]);return(0,z.jsx)(Nh.Provider,{value:i,children:e})}function Fh(){let e=(0,S.useContext)(Nh);if(!e)throw Error(`useProfile* must be used within a ProfileProvider`);return e}function Ih(){return Fh().profile}function Lh(){return Fh().setProfile}function Rh(e){return Fh().profile.grants.has(e)}function zh(){return Fh().profile.grants}function Bh(e){let{profile:t}=Fh();return t.terms[e]??e}var Vh={active:Ef,idle:yf,done:mf,dead:gf,canceled:vf,blocked:pf};function Hh({status:e}){return(0,z.jsx)(Vh[e]??yf,{className:Y(`!size-3.5`,e===`active`&&`animate-spin`)})}function Uh(e,t,n,r){return t===`static`?e.status:n===`down`?`dead`:n===`reconnecting`?`idle`:r?`active`:`idle`}function Wh(e,t,n,r){return t===`static`?e.status===`done`||e.status===`dead`||e.status===`canceled`?`Finished`:`Paused`:n===`down`||n===`reconnecting`?`Reconnecting…`:r?`Working…`:`Idle`}function Gh(e){let t=e.store.source===`static`,n=e.store.state?.isStreaming??!1,r=e.detail;if(!Rh(`node.internals`)){let t=r?Wh(r,e.store.source,e.store.brokerStatus,n):`…`,i=t===`Working…`;return(0,z.jsxs)(`div`,{className:`flex items-center gap-3 min-w-0`,children:[(0,z.jsx)(`span`,{className:`text-lg font-semibold truncate`,children:r?.name??`…`}),(0,z.jsxs)(`span`,{className:Y(`inline-flex items-center gap-1.5 text-sm`,i?`text-success`:`text-muted-foreground`),children:[i&&(0,z.jsx)(Ef,{className:`size-3.5 animate-spin`}),t]})]})}let i=r?Uh(r,e.store.source,e.store.brokerStatus,n):null;return r?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`h2`,{className:Y(Kh,`min-w-0 truncate`),title:r.name,children:r.name}),i&&(0,z.jsxs)(Fp,{className:Y(`gap-1.5`,i),children:[(0,z.jsx)(Hh,{status:i}),i]}),t&&(0,z.jsx)(`span`,{className:`font-mono text-xs`,style:{color:`var(--idle)`},title:`dormant node — last-known values, not live`,children:`last-known`})]}):(0,z.jsx)(`h2`,{className:Kh,children:`…`})}var Kh=`con-title font-display text-xl font-medium`;function qh(e){let t=e.store.chrome,n=e.store.source===`static`,r=e.store.state?.isStreaming??!1,i=t.context,a=t.stats,o=t.tokens,s=i&&!n?i.percent:null,c=!n&&a?.cost!==void 0?a.cost:null;return!i&&c===null&&!a&&!o?null:(0,z.jsxs)(`div`,{className:`cluster`,children:[i&&(0,z.jsxs)(`div`,{className:`gauge`,children:[(0,z.jsxs)(`div`,{className:`glabel`,children:[(0,z.jsx)(`span`,{className:`instlabel`,children:`Context`}),(0,z.jsxs)(`span`,{className:`gval`,children:[s===null?`—`:Xh(s),s!==null&&(0,z.jsx)(`span`,{className:`u`,children:`%`})]})]}),(0,z.jsx)(`div`,{className:`gbar`,children:(0,z.jsx)(`i`,{style:{width:s===null?`0%`:`${Math.min(100,s)}%`}})}),(0,z.jsxs)(`div`,{className:`gsub`,children:[i.tokens.toLocaleString(),!n&&(0,z.jsxs)(z.Fragment,{children:[` / `,i.window.toLocaleString()]})]})]}),c!==null&&(0,z.jsxs)(`div`,{className:`gauge`,children:[(0,z.jsxs)(`div`,{className:`glabel`,children:[(0,z.jsx)(`span`,{className:`instlabel`,children:`Cost`}),(0,z.jsxs)(`span`,{className:`gval`,children:[(0,z.jsx)(`span`,{className:`u`,style:{marginLeft:0,marginRight:2},children:`$`}),c.toFixed(2)]})]}),(0,z.jsx)(`div`,{className:`gbar`,children:(0,z.jsx)(`i`,{style:{width:`${Math.min(100,c/5*100)}%`}})}),a&&(0,z.jsxs)(`div`,{className:`gsub`,children:[a.turns,` turns`]})]}),(0,z.jsxs)(`div`,{className:`dials`,children:[!n&&a&&c===null&&(0,z.jsx)(Jh,{value:String(a.turns),unit:`turns`}),!n&&a&&(0,z.jsx)(Jh,{value:`${a.user_messages}/${a.assistant_messages}`,unit:`msgs`}),o&&(0,z.jsx)(Jh,{value:`${Yh(o.input)} → ${Yh(o.output)}`,unit:`tokens`}),!n&&t.tool_calls!==null&&(0,z.jsx)(Jh,{value:String(t.tool_calls),unit:`tools`,hot:r})]})]})}function Jh({value:e,unit:t,hot:n}){return(0,z.jsx)(`div`,{className:`dial`,children:(0,z.jsxs)(`span`,{className:`dval`,style:n?{color:`var(--act)`}:void 0,children:[e,` `,(0,z.jsx)(`em`,{children:t})]})})}function Yh(e){return e>=1e6?`${Math.round(e/1e5)/10}M`:e>=1e3?`${Math.round(e/1e3)}k`:String(e)}function Xh(e){return(Math.round(e*10)/10).toFixed(1)}function Zh({store:e,detail:t}){let n=e.chrome,r=[],i=n.branch??t?.branch??null;if(i!==null){let e=n.git_status??t?.git_status??null,a=e?.added??0,o=e?.modified??0;r.push((0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,z.jsx)(xf,{className:`size-3.5 shrink-0 opacity-70`}),(0,z.jsx)(`b`,{style:Qh,children:i}),a>0&&(0,z.jsxs)(`span`,{style:{color:`var(--act)`,opacity:.8},children:[` +`,a]}),o>0&&(0,z.jsxs)(`span`,{style:{color:`var(--idle)`,opacity:.8},children:[` ~`,o]})]},`branch`))}let a=t?.cwd??null;a!==null&&r.push((0,z.jsx)(`span`,{children:$h(a)},`cwd`));let o=n.model??t?.model??null;o!==null&&r.push((0,z.jsx)(`span`,{children:(0,z.jsx)(`b`,{style:Qh,children:o})},`model`));let s=n.context??null;return s!==null&&r.push((0,z.jsxs)(`span`,{children:[`ctx `,(0,z.jsx)(`b`,{style:Qh,children:eg(s.tokens)}),` / `,eg(s.window)]},`ctx`)),r.length===0?null:(0,z.jsx)(`div`,{className:`flex min-w-0 items-center gap-5 whitespace-nowrap border-b px-6 py-2 text-xs`,style:{borderColor:`var(--line)`,background:`rgba(0,0,0,.18)`,fontFamily:`var(--font-code)`,color:`var(--mut)`},children:r.map((e,t)=>(0,z.jsxs)(S.Fragment,{children:[t>0&&(0,z.jsx)(`span`,{style:{color:`var(--dim)`,opacity:.5},className:`select-none`,children:`·`}),e]},t))})}var Qh={color:`var(--ink2)`,fontWeight:400};function $h(e){let t=e.match(/^\/(?:Users|home)\/[^/]+(\/.*)$/);if(t)return`~${t[1]}`;let n=e.split(`/`).filter(Boolean);return n.length<=2?e:`…/${n.slice(-2).join(`/`)}`}function eg(e){return e>=1e6?`${Math.round(e/1e6)}M`:e>=1e3?`${Math.round(e/1e3)}k`:String(e)}function tg(e){let[t,n]=(0,S.useState)(!1),r=(0,S.useRef)(null);return(0,S.useEffect)(()=>{let e=e=>{if(e.key===`Escape`){n(!1);return}if(e.altKey&&e.code===`KeyI`){if(document.activeElement instanceof HTMLTextAreaElement)return;e.preventDefault(),n(e=>!e)}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]),t?(0,z.jsx)(`div`,{className:`in fixed inset-0 z-50 flex items-start justify-center pt-22`,style:{background:`rgba(0,0,0,.42)`,backdropFilter:`blur(2px)`},onMouseDown:e=>{r.current?.contains(e.target)||n(!1)},children:(0,z.jsxs)(`div`,{ref:r,className:`panel rv`,style:ng,children:[(0,z.jsxs)(`div`,{style:rg,children:[(0,z.jsx)(`span`,{className:`instlabel`,children:`Instruments`}),(0,z.jsx)(`div`,{style:{flex:1}}),(0,z.jsx)(`span`,{className:`kbd`,children:`⌥i`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>n(!1),className:`transition-colors`,style:{color:`var(--mut)`},"aria-label":`Close instruments`,children:(0,z.jsx)(Pf,{className:`size-3.5`})})]}),(0,z.jsx)(qh,{store:e.store,detail:e.detail})]})}):null}var ng={minWidth:`min(680px, 92vw)`,overflow:`hidden`,"--i":0},rg={display:`flex`,alignItems:`center`,gap:`10px`,padding:`11px 30px`,borderBottom:`1px solid var(--line)`};function ig(e){let t=new Map;for(let n of e){if(n.parent===null)continue;let e=t.get(n.parent);e?e.push(n):t.set(n.parent,[n])}return t}function ag(e,t){let n=[],r=new Set,i=[{node:e,depth:0}];for(;i.length>0;){let e=i.pop();if(r.has(e.node.node_id))continue;r.add(e.node.node_id),n.push({node:e.node,depth:e.depth});let a=t.get(e.node.node_id)??[];for(let t=a.length-1;t>=0;t--)i.push({node:a[t],depth:e.depth+1})}return n}function og(e,t){let n=t.get(e),r=new Set;for(;n&&n.parent!==null;){if(r.has(n.node_id))return null;r.add(n.node_id),n=t.get(n.parent)}return n??null}function sg(e,t){let n=new Map(e.map(e=>[e.node_id,e])),r=ig(e),i=og(t,n),a=i?.node_id??null;return{thisGraph:i===null?[]:ag(i,r),otherGraphs:e.filter(e=>e.parent===null&&e.host_kind===`broker`&&e.node_id!==a&&(e.status===`active`||e.attention_count>0))}}var cg=new Set([`done`,`dead`,`canceled`]);function lg({currentId:e,onNavigate:t}){let n=Rh(`node.graphRail`),{nodes:r}=dp(),[i,a]=(0,S.useState)(!1),{thisGraph:o}=sg(r,e),s=o[0]?.node.node_id??null,{liveRoots:c,deadRoots:l}=(0,S.useMemo)(()=>{let e=r.filter(e=>e.parent===null&&e.host_kind===`broker`&&e.node_id!==s),t=[],n=[];for(let r of e)(cg.has(r.status)&&r.attention_count===0?n:t).push(r);let i=(e,t)=>Date.parse(t.created)-Date.parse(e.created),a=e=>e.attention_count>0?0:e.status===`active`?1:2;return t.sort((e,t)=>a(e)-a(t)||i(e,t)),n.sort(i),{liveRoots:t,deadRoots:n}},[r,s]);return(0,S.useEffect)(()=>{if(!n)return;let r=n=>{if(!n.altKey||n.key!==`ArrowUp`&&n.key!==`ArrowDown`)return;let r=o.findIndex(t=>t.node.node_id===e);if(r===-1)return;n.preventDefault();let i=n.key===`ArrowUp`?o[r-1]:o[r+1];i&&t(i.node.node_id)};return window.addEventListener(`keydown`,r),()=>window.removeEventListener(`keydown`,r)},[n,o,e,t]),n?(0,z.jsxs)(`aside`,{className:`graphrail rv`,style:ug,children:[(0,z.jsx)(dg,{label:`This graph`,chord:`⌥↑↓ to cycle`}),o.map(({node:n,depth:r})=>(0,z.jsx)(vg,{node:n,depth:r,current:n.node_id===e,onClick:()=>t(n.node_id)},n.node_id)),o.length===0&&(0,z.jsx)(fg,{}),(c.length>0||l.length>0)&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`div`,{className:`gr-gap`}),(0,z.jsx)(dg,{label:`Elsewhere`}),c.map(e=>(0,z.jsx)(vg,{node:e,depth:0,current:!1,elsewhere:!0,onClick:()=>t(e.node_id)},e.node_id)),l.length>0&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`button`,{type:`button`,onClick:()=>a(e=>!e),className:`mt-1 flex items-center gap-1.5 rounded-md px-3 py-2 text-left text-xs text-[var(--dim)] transition-colors hover:text-[var(--ink2)]`,children:[(0,z.jsx)(df,{className:Y(`size-3.5 transition-transform`,i&&`rotate-90`)}),i?`Hide`:`Show`,` `,l.length,` finished`]}),i&&l.map(e=>(0,z.jsx)(vg,{node:e,depth:0,current:!1,elsewhere:!0,onClick:()=>t(e.node_id)},e.node_id))]})]})]}):null}var ug={width:`228px`,flex:`none`,display:`flex`,flexDirection:`column`,borderRight:`1px solid var(--line)`,background:`rgba(0,0,0,.16)`,padding:`14px 9px`,overflowY:`auto`,zIndex:1,"--i":2};function dg({label:e,chord:t}){return(0,z.jsxs)(`div`,{className:`gr-sec`,children:[(0,z.jsx)(`span`,{className:`instlabel`,children:e}),(0,z.jsx)(`div`,{className:`rule`}),t&&(0,z.jsx)(`span`,{title:t,"aria-label":t,className:`flex items-center text-[var(--dim)]`,children:(0,z.jsx)(Cf,{className:`size-3.5`})})]})}function fg(){return(0,z.jsx)(`span`,{className:`px-3 py-1 font-mono text-xs`,style:{color:`var(--dim)`},children:`—`})}var pg={active:`var(--status-active)`,idle:`var(--status-idle)`,done:`var(--status-done)`,dead:`var(--status-dead)`,canceled:`var(--status-canceled)`,blocked:`var(--blk)`};function mg(e){let t=Date.now()-Date.parse(e);if(!Number.isFinite(t)||t<0)return``;let n=Math.floor(t/1e3);if(n<60)return`${n}s`;let r=Math.floor(n/60);if(r<60)return`${r}m`;let i=Math.floor(r/60);return i<24?`${i}h`:`${Math.floor(i/24)}d`}function hg(e){return e.split(`/`).filter(Boolean).at(-1)??e}function gg(e){let t=e.match(/^\/(?:Users|home)\/[^/]+(\/.*)$/);if(t)return`~${t[1]}`;let n=e.split(`/`).filter(Boolean);return n.length<=2?e:`…/${n.slice(-2).join(`/`)}`}var _g={active:`s-active`,idle:`s-idle`,done:`s-done`,dead:`s-dead`,canceled:`s-canceled`};function vg({node:e,depth:t,current:n,elsewhere:r=!1,onClick:i}){let a=cg.has(e.status),o=e.attention_count>0,s=pg[o?`blocked`:e.status]??`var(--status-dead)`,c=mg(e.created);return(0,z.jsx)(`button`,{type:`button`,onClick:i,style:t>0?{marginLeft:`${t*12}px`}:void 0,className:Y(`node-row w-full text-left`,o?`s-blocked`:_g[e.status],a&&!o&&`dimmed`,n&&`rounded-md border border-[var(--line2)] bg-[oklch(0.92_0.013_80_/_8%)] shadow-[inset_0_1px_0_var(--raise)]`),children:(0,z.jsxs)(`span`,{className:`node-id`,children:[(0,z.jsxs)(`span`,{className:`node-l1`,children:[(0,z.jsx)(`span`,{className:Y(`node-name truncate`,n&&`font-semibold`),children:r?hg(e.cwd):e.name}),r?(0,z.jsxs)(`span`,{className:`node-kind truncate`,children:[e.name,` · `,e.kind]}):(0,z.jsx)(`span`,{className:`node-kind`,children:e.kind}),o&&(0,z.jsxs)(Fp,{variant:`destructive`,className:`ml-auto gap-1 text-xs`,children:[(0,z.jsx)(bf,{className:`size-3.5`}),e.attention_count]})]}),(0,z.jsxs)(`span`,{className:`node-l2`,children:[r&&(0,z.jsx)(`span`,{className:`node-cwd`,children:gg(e.cwd)}),(0,z.jsx)(`span`,{className:`font-[family-name:var(--font-inst)] uppercase tracking-[0.12em]`,style:{color:s},children:o?`blocked`:e.status}),c&&(0,z.jsx)(`span`,{className:`text-[var(--dim)]`,children:c})]})]})})}function yg(e){let t=e.store.presence,n=e.store.role===`controller`;return(0,z.jsxs)(S.Fragment,{children:[(0,z.jsxs)(`div`,{className:`ctl-state flex shrink-0 items-center gap-1.5 text-xs`,style:{color:`var(--mut)`},children:[`control:`,` `,(0,z.jsx)(`span`,{style:{color:`var(--ink2)`,fontStyle:`italic`},children:n?`you`:t.controller?`another client`:`no one`})]}),n?(0,z.jsx)(`button`,{type:`button`,className:`btn sm shrink-0`,onClick:()=>e.store.releaseControl(),children:`Release control`}):(0,z.jsx)(`button`,{type:`button`,className:`btn primary sm shrink-0`,disabled:!e.store.socketReady,title:e.store.socketReady?void 0:`connecting…`,onClick:()=>e.store.requestControl(),children:`Request control`})]})}var bg=400,xg=4e3;function Sg(e){return e.dormant&&e.status===`active`&&e.socketReady&&e.attempt<8}function Cg(e){return Math.min(xg,bg*2**Math.max(0,e))}function wg(e){let t=e.reg[e.name],n=zh();return!t||t.cap&&!n.has(t.cap)?null:(0,z.jsx)(z.Fragment,{children:t.render()})}function Tg(e){return Rh(e.cap)?(0,z.jsx)(z.Fragment,{children:e.children}):null}function Eg(e,t){return e.filter(e=>!e.cap||t.has(e.cap))}function Dg(e){let t=(0,S.useMemo)(()=>{let t=e.query;return t.startsWith(`/`)?t.slice(1).trimStart().toLowerCase():``},[e.query]),n=(0,S.useMemo)(()=>{let n=e.commands;return t?n.filter(e=>e.name.toLowerCase().includes(t)||e.description.toLowerCase().includes(t)||e.source.toLowerCase().includes(t)):n},[t,e.commands]);return e.visible?(0,z.jsx)(`div`,{className:`absolute bottom-full left-0 right-0 z-20 mb-1 max-h-72 overflow-auto rounded-md border border-border bg-popover shadow-lg`,children:n.length>0?(0,z.jsx)(`ul`,{className:`flex flex-col divide-y divide-border/40`,children:n.map(t=>(0,z.jsxs)(`li`,{className:`flex cursor-pointer flex-wrap items-baseline gap-x-2 gap-y-0.5 px-3 py-2 hover:bg-accent/50`,onClick:()=>e.onSelect(t),children:[(0,z.jsxs)(`span`,{className:`font-mono text-sm font-semibold text-primary`,children:[`/`,t.name]}),t.argument_hint&&(0,z.jsx)(`span`,{className:`font-mono text-xs text-muted-foreground/70`,children:t.argument_hint}),(0,z.jsxs)(`span`,{className:`ml-auto font-mono text-xs text-muted-foreground/50`,children:[t.source,t.location&&(0,z.jsxs)(z.Fragment,{children:[` · `,t.location]})]}),(0,z.jsx)(`span`,{className:`basis-full text-xs text-muted-foreground`,children:t.description})]},t.name))}):(0,z.jsx)(`div`,{className:`px-3 py-2 text-xs italic text-muted-foreground`,children:`no matching commands`})}):null}var Og=new Set([`select`,`confirm`,`input`,`editor`,`notify`]);function kg(e){return Og.has(e.method)}function Ag(e){let t=e.store.dialog,n=t&&kg(t)?t:null,r=e.store.role===`controller`;return(0,z.jsx)(gp,{open:n!==null,children:(0,z.jsx)(yp,{showCloseButton:!1,className:n&&!r?`opacity-90`:void 0,children:n&&(r?(0,z.jsx)(Pg,{req:n,store:e.store},n.id):(0,z.jsx)(jg,{req:n},n.id))})})}function jg(e){return(0,z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,z.jsx)(`p`,{className:`text-sm font-semibold`,children:`The controller is being prompted`}),(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:Ng(e.req)})]})}function Mg(e){switch(e){case`error`:return`border-destructive/40 text-destructive`;case`warning`:return`border-warning/40 text-warning`;case`success`:return`border-success/40 text-success`;default:return`border-border text-foreground`}}function Ng(e){switch(e.method){case`select`:return`${e.title} — ${e.options.length} options`;case`confirm`:return`${e.title}: ${e.message}`;case`input`:return e.title;case`editor`:return e.title;case`notify`:return e.message}}function Pg(e){let t=()=>e.store.dialogResponse(e.req.id,{cancelled:!0});return e.req.method===`select`?(0,z.jsx)(Fg,{req:e.req,store:e.store,cancel:t}):(0,z.jsx)(Ig,{req:e.req,store:e.store,cancel:t})}function Fg(e){return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(bp,{children:(0,z.jsx)(Sp,{children:e.req.title})}),(0,z.jsx)(`ul`,{className:`flex flex-col gap-2`,children:e.req.options.map(t=>(0,z.jsx)(`li`,{children:(0,z.jsx)(Z,{variant:`secondary`,className:`w-full justify-start`,onClick:()=>e.store.dialogResponse(e.req.id,{value:t}),children:t})},t))}),(0,z.jsx)(xp,{children:(0,z.jsx)(Z,{type:`button`,variant:`secondary`,onClick:e.cancel,children:`Cancel`})})]})}function Ig(e){let[t,n]=(0,S.useState)(e.req.method===`editor`?e.req.prefill??``:``);if(e.req.method===`confirm`){let t=e.req;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(bp,{children:(0,z.jsx)(Sp,{children:t.title})}),(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:t.message}),(0,z.jsxs)(xp,{children:[(0,z.jsx)(Z,{variant:`secondary`,onClick:()=>e.store.dialogResponse(t.id,{confirmed:!1}),children:`No`}),(0,z.jsx)(Z,{onClick:()=>e.store.dialogResponse(t.id,{confirmed:!0}),children:`Yes`})]})]})}if(e.req.method===`input`||e.req.method===`editor`){let r=e.req;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(bp,{children:(0,z.jsx)(Sp,{children:r.title})}),r.method===`editor`?(0,z.jsx)(Np,{className:`resize-none font-mono text-sm`,rows:8,value:t,onChange:e=>n(e.currentTarget.value),autoFocus:!0}):(0,z.jsx)(wp,{placeholder:r.placeholder??``,value:t,onChange:e=>n(e.currentTarget.value),autoFocus:!0}),(0,z.jsxs)(xp,{children:[(0,z.jsx)(Z,{type:`button`,variant:`secondary`,onClick:e.cancel,children:`Cancel`}),(0,z.jsx)(Z,{onClick:()=>e.store.dialogResponse(r.id,{value:t}),children:`Submit`})]})]})}if(e.req.method===`notify`){let t=e.req;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`p`,{className:Y(`rounded border px-3 py-2 text-sm`,Mg(t.notifyType)),children:t.message}),(0,z.jsx)(xp,{children:(0,z.jsx)(Z,{onClick:()=>e.store.dialogResponse(t.id,{confirmed:!0}),children:`OK`})})]})}return null}function Lg(e,t,n){let r=Array(e);return new Proxy(r,{get(r,i,a){if(typeof i==`string`){let a=i.charCodeAt(0);if(a>=48&&a<=57){let a=+i;if(Number.isInteger(a)&&a>=0&&a<e){let e=r[a];if(!e){let i=t[a*2];e=r[a]={index:a,key:n(a),start:i,size:t[a*2+1],end:i+t[a*2+1],lane:0}}return e}}if(i===`length`)return e}return Reflect.get(r,i,a)}})}function Rg(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return o.length!==r.length||o.some((e,t)=>r[t]!==e)?(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i):i}return o.updateDeps=e=>{r=e},o}function zg(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var Bg=(e,t)=>Math.abs(e-t)<1.01,Vg=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},Hg,Ug=()=>{if(Hg!==void 0)return Hg;if(typeof navigator>`u`)return Hg=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return Hg=!0;let e=navigator.maxTouchPoints;return Hg=navigator.platform===`MacIntel`&&e!==void 0&&e>0},Wg=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},Gg=e=>e,Kg=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},qg=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(Wg(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(Wg(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},Jg={passive:!0},Yg=typeof window>`u`?!0:`onscrollend`in window,Xg=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&Yg,o=0,s=a?null:Vg(i,()=>t(o,!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,Jg),a&&r.addEventListener(`scrollend`,u,Jg),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u)}},Zg=(e,t)=>Xg(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),Qg=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},$g=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},e_=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Gg,rangeExtractor:Kg,onChange:()=>{},measureElement:Qg,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=e>0?s[0]?.key??n.getItemKey(0):null,l=e>0?s[e-1]?.key??n.getItemKey(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==c||t.getItemKey(o-1)!==l)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>e&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==l)&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:i,getItemKey:a}=this.options,c=0;for(;c<i&&a(c)!==e;)c++;if(c<i){let e=n[c];if(e){let n=e.start+t;n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=Rg(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{if(t&&this._intendedScrollOffset===null&&e===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;let n=this.getScrollOffset();this.scrollDirection=t?n===e?this.scrollDirection:n<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,!(!Ug()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,Jg),e.addEventListener(`touchend`,n,Jg),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(Ug()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{let n=new Map,r=new Map;for(let i=t-1;i>=0;i--){let t=e[i];if(n.has(t.lane))continue;let a=r.get(t.lane);if(a==null||t.end>a.end?r.set(t.lane,t):t.end<a.end&&n.set(t.lane,!0),n.size===this.options.lanes)break}return r.size===this.options.lanes?Array.from(r.values()).sort((e,t)=>e.end===t.end?e.index-t.index:e.end-t.end)[0]:void 0},this.getMeasurementOptions=Rg(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(e,t,n,r,i,a,o)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o}),{key:!1}),this.getMeasurements=Rg(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o},s)=>{let c=this.itemSizeCache;if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let l=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=this.options.gap,a=e*2,o=this._flatMeasurements;if(!o||o.length<a){let e=new Float64Array(a);o&&l>0&&e.set(o.subarray(0,l*2)),o=e,this._flatMeasurements=o}let s;if(l===0)s=t+n;else{let e=l-1;s=o[e*2]+o[e*2+1]+i}for(let t=l;t<e;t++){let e=r(t),n=c.get(e),a=typeof n==`number`?n:this.options.estimateSize(t);o[t*2]=s,o[t*2+1]=a,s+=a+i}let u=Lg(e,o,r);return this.measurementsCache=u,u}let u=this.measurementsCache.slice(0,l),d=Array(a).fill(void 0);for(let e=0;e<l;e++){let t=u[e];t&&(d[t.lane]=e)}for(let i=l;i<e;i++){let e=r(i),a=this.laneAssignments.get(i),s,l,f=o===`estimate`||c.has(e);if(a!==void 0&&this.options.lanes>1){s=a;let e=d[s],r=e===void 0?void 0:u[e];l=r?r.end+this.options.gap:t+n}else{let e=this.options.lanes===1?u[i-1]:this.getFurthestMeasurement(u,i);l=e?e.end+this.options.gap:t+n,s=e?e.lane:i%this.options.lanes,this.options.lanes>1&&f&&this.laneAssignments.set(i,s)}let p=c.get(e),m=typeof p==`number`?p:this.options.estimateSize(i),h=l+m;u[i]={index:i,start:l,size:m,end:h,key:e,lane:s},d[s]=i}return this.measurementsCache=u,u},{key:!1,debug:()=>this.options.debug}),this.calculateRange=Rg(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>e.length===0||t===0?(this.range=null,null):(this.range=r_(e,t,n,r,r===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Rg(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e),n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(e<0||e>=this.options.count)return;let n,r,i,a=this._flatMeasurements;if(this.options.lanes===1&&a!==null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=t-(this.itemSizeCache.get(i)??n);if(o!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,s=a?this.getTotalSize():0,c=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?r<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(i)||this.scrollDirection!==`backward`):this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},o,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++,a?this.applyScrollAdjustment(this.getTotalSize()-s):c&&this.applyScrollAdjustment(o),this.notify(!1)}},this.getVirtualItems=Rg(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._flatMeasurements,r=this.options.lanes===1&&n!=null;return zg(t[t_(0,t.length-1,r?e=>n[e*2]:e=>zg(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`)if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t];if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{let r=this.getOffsetForAlignment(e,t),i=this.now();this.scrollState={index:null,align:t,behavior:n,startedAt:i,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e,r=this.now();this.scrollState={index:null,align:`start`,behavior:t,startedAt:r,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._flatMeasurements;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){e!==0&&(Ug()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=e:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollAdjustments=0)))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&Bg(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let e=this.getSize()||600,n=Math.abs(t-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>e;this.scrollState.lastTargetOffset=t,r||(this.scrollState.behavior=`auto`),this._scrollToOffset(t,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},t_=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function n_(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function r_(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=n_(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=t_(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var i_=typeof document<`u`?S.useLayoutEffect:S.useEffect;function a_({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=S.useReducer(e=>e+1,0)[1],a=S.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}let r=!!e.options.horizontal,i=t.mode===`transform`,o=r?`left`:`top`,s=e.options.scrollMargin,c=e.getVirtualItems();for(let n of c){let a=n.start-s,c=e.elementsCache.get(n.key);c&&t.lastPositions.get(c)!==a&&(t.lastPositions.set(c,a),i?c.style.transform=r?`translate3d(${a}px, 0, 0)`:`translate3d(0, ${a}px, 0)`:c.style[o]=`${a}px`)}},s={...r,onChange:(t,n)=>{var s;let c=a.current,l=!0;if(c.enabled){o(t);let e=t.range,n=c.prevRange;l=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,l&&(c.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}l&&(e&&n?(0,pr.flushSync)(i):i()),(s=r.onChange)==null||s.call(r,t,n)}},[c]=S.useState(()=>{let e=new e_(s);return Object.assign(e,{containerRef:t=>{let n=a.current;if(n.container=t,n.lastSize=null,t&&n.enabled){let r=e.getTotalSize();n.lastSize=r;let i=e.options.horizontal?`width`:`height`;t.style[i]=`${r}px`}}})});return c.setOptions(s),i_(()=>c._didMount(),[]),i_(()=>c._willUpdate()),i_(()=>{o(c)}),c}function o_(e){return a_({observeElementRect:qg,observeElementOffset:Zg,scrollToFn:$g,...e})}var s_={};function c_(e){let t=s_[e];if(t)return t;t=s_[e]=[];for(let e=0;e<128;e++){let n=String.fromCharCode(e);t.push(n)}for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t[r]=`%`+(`0`+r.toString(16).toUpperCase()).slice(-2)}return t}function l_(e,t){typeof t!=`string`&&(t=l_.defaultChars);let n=c_(t);return e.replace(/(%[a-f0-9]{2})+/gi,function(e){let t=``;for(let r=0,i=e.length;r<i;r+=3){let a=parseInt(e.slice(r+1,r+3),16);if(a<128){t+=n[a];continue}if((a&224)==192&&r+3<i){let n=parseInt(e.slice(r+4,r+6),16);if((n&192)==128){let e=a<<6&1984|n&63;e<128?t+=`��`:t+=String.fromCharCode(e),r+=3;continue}}if((a&240)==224&&r+6<i){let n=parseInt(e.slice(r+4,r+6),16),i=parseInt(e.slice(r+7,r+9),16);if((n&192)==128&&(i&192)==128){let e=a<<12&61440|n<<6&4032|i&63;e<2048||e>=55296&&e<=57343?t+=`���`:t+=String.fromCharCode(e),r+=6;continue}}if((a&248)==240&&r+9<i){let n=parseInt(e.slice(r+4,r+6),16),i=parseInt(e.slice(r+7,r+9),16),o=parseInt(e.slice(r+10,r+12),16);if((n&192)==128&&(i&192)==128&&(o&192)==128){let e=a<<18&1835008|n<<12&258048|i<<6&4032|o&63;e<65536||e>1114111?t+=`����`:(e-=65536,t+=String.fromCharCode(55296+(e>>10),56320+(e&1023))),r+=9;continue}}t+=`�`}return t})}l_.defaultChars=`;/?:@&=+$,#`,l_.componentChars=``;var u_={};function d_(e){let t=u_[e];if(t)return t;t=u_[e]=[];for(let e=0;e<128;e++){let n=String.fromCharCode(e);/^[0-9a-z]$/i.test(n)?t.push(n):t.push(`%`+(`0`+e.toString(16).toUpperCase()).slice(-2))}for(let n=0;n<e.length;n++)t[e.charCodeAt(n)]=e[n];return t}function f_(e,t,n){typeof t!=`string`&&(n=t,t=f_.defaultChars),n===void 0&&(n=!0);let r=d_(t),i=``;for(let t=0,a=e.length;t<a;t++){let o=e.charCodeAt(t);if(n&&o===37&&t+2<a&&/^[0-9a-f]{2}$/i.test(e.slice(t+1,t+3))){i+=e.slice(t,t+3),t+=2;continue}if(o<128){i+=r[o];continue}if(o>=55296&&o<=57343){if(o>=55296&&o<=56319&&t+1<a){let n=e.charCodeAt(t+1);if(n>=56320&&n<=57343){i+=encodeURIComponent(e[t]+e[t+1]),t++;continue}}i+=`%EF%BF%BD`;continue}i+=encodeURIComponent(e[t])}return i}f_.defaultChars=`;/?:@&=+$,-_.!~*'()#`,f_.componentChars=`-_.!~*'()`;function p_(e){let t=``;return t+=e.protocol||``,t+=e.slashes?`//`:``,t+=e.auth?e.auth+`@`:``,e.hostname&&e.hostname.indexOf(`:`)!==-1?t+=`[`+e.hostname+`]`:t+=e.hostname||``,t+=e.port?`:`+e.port:``,t+=e.pathname||``,t+=e.search||``,t+=e.hash||``,t}function m_(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}var h_=/^([a-z0-9.+-]+:)/i,g_=/:[0-9]*$/,__=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,v_=[`%`,`/`,`?`,`;`,`#`,`'`,`{`,`}`,`|`,`\\`,`^`,"`",`<`,`>`,`"`,"`",` `,`\r`,`
52
52
  `,` `],y_=[`/`,`?`,`#`],b_=255,x_=/^[+a-z0-9A-Z_-]{0,63}$/,S_=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,C_={javascript:!0,"javascript:":!0},w_={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function T_(e,t){if(e&&e instanceof m_)return e;let n=new m_;return n.parse(e,t),n}m_.prototype.parse=function(e,t){let n,r,i,a=e;if(a=a.trim(),!t&&e.split(`#`).length===1){let e=__.exec(a);if(e)return this.pathname=e[1],e[2]&&(this.search=e[2]),this}let o=h_.exec(a);if(o&&(o=o[0],n=o.toLowerCase(),this.protocol=o,a=a.substr(o.length)),(t||o||a.match(/^\/\/[^@\/]+@[^@\/]+/))&&(i=a.substr(0,2)===`//`,i&&!(o&&C_[o])&&(a=a.substr(2),this.slashes=!0)),!C_[o]&&(i||o&&!w_[o])){let e=-1;for(let t=0;t<y_.length;t++)r=a.indexOf(y_[t]),r!==-1&&(e===-1||r<e)&&(e=r);let t,n;n=e===-1?a.lastIndexOf(`@`):a.lastIndexOf(`@`,e),n!==-1&&(t=a.slice(0,n),a=a.slice(n+1),this.auth=t),e=-1;for(let t=0;t<v_.length;t++)r=a.indexOf(v_[t]),r!==-1&&(e===-1||r<e)&&(e=r);e===-1&&(e=a.length),a[e-1]===`:`&&e--;let i=a.slice(0,e);a=a.slice(e),this.parseHost(i),this.hostname=this.hostname||``;let o=this.hostname[0]===`[`&&this.hostname[this.hostname.length-1]===`]`;if(!o){let e=this.hostname.split(/\./);for(let t=0,n=e.length;t<n;t++){let n=e[t];if(n&&!n.match(x_)){let r=``;for(let e=0,t=n.length;e<t;e++)n.charCodeAt(e)>127?r+=`x`:r+=n[e];if(!r.match(x_)){let r=e.slice(0,t),i=e.slice(t+1),o=n.match(S_);o&&(r.push(o[1]),i.unshift(o[2])),i.length&&(a=i.join(`.`)+a),this.hostname=r.join(`.`);break}}}}this.hostname.length>b_&&(this.hostname=``),o&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}let s=a.indexOf(`#`);s!==-1&&(this.hash=a.substr(s),a=a.slice(0,s));let c=a.indexOf(`?`);return c!==-1&&(this.search=a.substr(c),a=a.slice(0,c)),a&&(this.pathname=a),w_[n]&&this.hostname&&!this.pathname&&(this.pathname=``),this},m_.prototype.parseHost=function(e){let t=g_.exec(e);t&&(t=t[0],t!==`:`&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};var E_=s({decode:()=>l_,encode:()=>f_,format:()=>p_,parse:()=>T_}),D_=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,O_=/[\0-\x1F\x7F-\x9F]/,k_=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,A_=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/,j_=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF76\uDF7B-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8\uDF00-\uDF92\uDF94-\uDFCA]/,M_=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,N_=s({Any:()=>D_,Cc:()=>O_,Cf:()=>k_,P:()=>A_,S:()=>j_,Z:()=>M_}),P_=new Uint16Array(`ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻\xA0ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌`.split(``).map(e=>e.charCodeAt(0))),F_=new Uint16Array(`Ȁaglq \x1Bɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢`.split(``).map(e=>e.charCodeAt(0))),I_=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),L_=String.fromCodePoint??function(e){let t=``;return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023),t+=String.fromCharCode(e),t};function R_(e){return e>=55296&&e<=57343||e>1114111?65533:I_.get(e)??e}var z_;(function(e){e[e.NUM=35]=`NUM`,e[e.SEMI=59]=`SEMI`,e[e.EQUALS=61]=`EQUALS`,e[e.ZERO=48]=`ZERO`,e[e.NINE=57]=`NINE`,e[e.LOWER_A=97]=`LOWER_A`,e[e.LOWER_F=102]=`LOWER_F`,e[e.LOWER_X=120]=`LOWER_X`,e[e.LOWER_Z=122]=`LOWER_Z`,e[e.UPPER_A=65]=`UPPER_A`,e[e.UPPER_F=70]=`UPPER_F`,e[e.UPPER_Z=90]=`UPPER_Z`})(z_||={});var B_=32,V_;(function(e){e[e.VALUE_LENGTH=49152]=`VALUE_LENGTH`,e[e.BRANCH_LENGTH=16256]=`BRANCH_LENGTH`,e[e.JUMP_TABLE=127]=`JUMP_TABLE`})(V_||={});function H_(e){return e>=z_.ZERO&&e<=z_.NINE}function U_(e){return e>=z_.UPPER_A&&e<=z_.UPPER_F||e>=z_.LOWER_A&&e<=z_.LOWER_F}function W_(e){return e>=z_.UPPER_A&&e<=z_.UPPER_Z||e>=z_.LOWER_A&&e<=z_.LOWER_Z||H_(e)}function G_(e){return e===z_.EQUALS||W_(e)}var K_;(function(e){e[e.EntityStart=0]=`EntityStart`,e[e.NumericStart=1]=`NumericStart`,e[e.NumericDecimal=2]=`NumericDecimal`,e[e.NumericHex=3]=`NumericHex`,e[e.NamedEntity=4]=`NamedEntity`})(K_||={});var q_;(function(e){e[e.Legacy=0]=`Legacy`,e[e.Strict=1]=`Strict`,e[e.Attribute=2]=`Attribute`})(q_||={});var J_=class{constructor(e,t,n){this.decodeTree=e,this.emitCodePoint=t,this.errors=n,this.state=K_.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=q_.Strict}startEntity(e){this.decodeMode=e,this.state=K_.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(e,t){switch(this.state){case K_.EntityStart:return e.charCodeAt(t)===z_.NUM?(this.state=K_.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1)):(this.state=K_.NamedEntity,this.stateNamedEntity(e,t));case K_.NumericStart:return this.stateNumericStart(e,t);case K_.NumericDecimal:return this.stateNumericDecimal(e,t);case K_.NumericHex:return this.stateNumericHex(e,t);case K_.NamedEntity:return this.stateNamedEntity(e,t)}}stateNumericStart(e,t){return t>=e.length?-1:(e.charCodeAt(t)|B_)===z_.LOWER_X?(this.state=K_.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1)):(this.state=K_.NumericDecimal,this.stateNumericDecimal(e,t))}addToNumericResult(e,t,n,r){if(t!==n){let i=n-t;this.result=this.result*r**+i+parseInt(e.substr(t,i),r),this.consumed+=i}}stateNumericHex(e,t){let n=t;for(;t<e.length;){let r=e.charCodeAt(t);if(H_(r)||U_(r))t+=1;else return this.addToNumericResult(e,n,t,16),this.emitNumericEntity(r,3)}return this.addToNumericResult(e,n,t,16),-1}stateNumericDecimal(e,t){let n=t;for(;t<e.length;){let r=e.charCodeAt(t);if(H_(r))t+=1;else return this.addToNumericResult(e,n,t,10),this.emitNumericEntity(r,2)}return this.addToNumericResult(e,n,t,10),-1}emitNumericEntity(e,t){var n;if(this.consumed<=t)return(n=this.errors)==null||n.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(e===z_.SEMI)this.consumed+=1;else if(this.decodeMode===q_.Strict)return 0;return this.emitCodePoint(R_(this.result),this.consumed),this.errors&&(e!==z_.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(e,t){let{decodeTree:n}=this,r=n[this.treeIndex],i=(r&V_.VALUE_LENGTH)>>14;for(;t<e.length;t++,this.excess++){let a=e.charCodeAt(t);if(this.treeIndex=X_(n,r,this.treeIndex+Math.max(1,i),a),this.treeIndex<0)return this.result===0||this.decodeMode===q_.Attribute&&(i===0||G_(a))?0:this.emitNotTerminatedNamedEntity();if(r=n[this.treeIndex],i=(r&V_.VALUE_LENGTH)>>14,i!==0){if(a===z_.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==q_.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var e;let{result:t,decodeTree:n}=this,r=(n[t]&V_.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,r,this.consumed),(e=this.errors)==null||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,t,n){let{decodeTree:r}=this;return this.emitCodePoint(t===1?r[e]&~V_.VALUE_LENGTH:r[e+1],n),t===3&&this.emitCodePoint(r[e+2],n),n}end(){var e;switch(this.state){case K_.NamedEntity:return this.result!==0&&(this.decodeMode!==q_.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case K_.NumericDecimal:return this.emitNumericEntity(0,2);case K_.NumericHex:return this.emitNumericEntity(0,3);case K_.NumericStart:return(e=this.errors)==null||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case K_.EntityStart:return 0}}};function Y_(e){let t=``,n=new J_(e,e=>t+=L_(e));return function(e,r){let i=0,a=0;for(;(a=e.indexOf(`&`,a))>=0;){t+=e.slice(i,a),n.startEntity(r);let o=n.write(e,a+1);if(o<0){i=a+n.end();break}i=a+o,a=o===0?i+1:i}let o=t+e.slice(i);return t=``,o}}function X_(e,t,n,r){let i=(t&V_.BRANCH_LENGTH)>>7,a=t&V_.JUMP_TABLE;if(i===0)return a!==0&&r===a?n:-1;if(a){let t=r-a;return t<0||t>=i?-1:e[n+t]-1}let o=n,s=o+i-1;for(;o<=s;){let t=o+s>>>1,n=e[t];if(n<r)o=t+1;else if(n>r)s=t-1;else return e[t+i]}return-1}var Z_=Y_(P_);Y_(F_);function Q_(e,t=q_.Legacy){return Z_(e,t)}function $_(e){return Z_(e,q_.Strict)}var ev=s({arrayReplaceAt:()=>ov,asciiTrim:()=>kv,assign:()=>av,escapeHtml:()=>yv,escapeRE:()=>xv,fromCodePoint:()=>cv,has:()=>iv,isMdAsciiPunct:()=>Ev,isPunctChar:()=>wv,isPunctCharCode:()=>Tv,isSpace:()=>Sv,isString:()=>nv,isValidEntityCode:()=>sv,isWhiteSpace:()=>Cv,lib:()=>Av,normalizeReference:()=>Dv,unescapeAll:()=>mv,unescapeMd:()=>pv});function tv(e){return Object.prototype.toString.call(e)}function nv(e){return tv(e)===`[object String]`}var rv=Object.prototype.hasOwnProperty;function iv(e,t){return rv.call(e,t)}function av(e){return Array.prototype.slice.call(arguments,1).forEach(function(t){if(t){if(typeof t!=`object`)throw TypeError(t+`must be object`);Object.keys(t).forEach(function(n){e[n]=t[n]})}}),e}function ov(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))}function sv(e){return!(e>=55296&&e<=57343||e>=64976&&e<=65007||(e&65535)==65535||(e&65535)==65534||e>=0&&e<=8||e===11||e>=14&&e<=31||e>=127&&e<=159||e>1114111)}function cv(e){if(e>65535){e-=65536;let t=55296+(e>>10),n=56320+(e&1023);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var lv=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,uv=RegExp(lv.source+`|&([a-z#][a-z0-9]{1,31});`,`gi`),dv=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function fv(e,t){if(t.charCodeAt(0)===35&&dv.test(t)){let n=t[1].toLowerCase()===`x`?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return sv(n)?cv(n):e}let n=Q_(e);return n===e?e:n}function pv(e){return e.indexOf(`\\`)<0?e:e.replace(lv,`$1`)}function mv(e){return e.indexOf(`\\`)<0&&e.indexOf(`&`)<0?e:e.replace(uv,function(e,t,n){return t||fv(e,n)})}var hv=/[&<>"]/,gv=/[&<>"]/g,_v={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`};function vv(e){return _v[e]}function yv(e){return hv.test(e)?e.replace(gv,vv):e}var bv=/[.?*+^$[\]\\(){}|-]/g;function xv(e){return e.replace(bv,`\\$&`)}function Sv(e){switch(e){case 9:case 32:return!0}return!1}function Cv(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function wv(e){return A_.test(e)||j_.test(e)}function Tv(e){return wv(cv(e))}function Ev(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function Dv(e){return e=e.trim().replace(/\s+/g,` `),e.toLowerCase().toUpperCase()}function Ov(e){return e===32||e===9||e===10||e===13}function kv(e){let t=0;for(;t<e.length&&Ov(e.charCodeAt(t));t++);let n=e.length-1;for(;n>=t&&Ov(e.charCodeAt(n));n--);return e.slice(t,n+1)}var Av={mdurl:E_,ucmicro:N_};function jv(e,t,n){let r,i,a,o,s=e.posMax,c=e.pos;for(e.pos=t+1,r=1;e.pos<s;){if(a=e.src.charCodeAt(e.pos),a===93&&(r--,r===0)){i=!0;break}if(o=e.pos,e.md.inline.skipToken(e),a===91){if(o===e.pos-1)r++;else if(n)return e.pos=c,-1}}let l=-1;return i&&(l=e.pos),e.pos=c,l}function Mv(e,t,n){let r,i=t,a={ok:!1,pos:0,str:``};if(e.charCodeAt(i)===60){for(i++;i<n;){if(r=e.charCodeAt(i),r===10||r===60)return a;if(r===62)return a.pos=i+1,a.str=mv(e.slice(t+1,i)),a.ok=!0,a;if(r===92&&i+1<n){i+=2;continue}i++}return a}let o=0;for(;i<n&&(r=e.charCodeAt(i),!(r===32||r<32||r===127));){if(r===92&&i+1<n){if(e.charCodeAt(i+1)===32)break;i+=2;continue}if(r===40&&(o++,o>32))return a;if(r===41){if(o===0)break;o--}i++}return t===i||o!==0?a:(a.str=mv(e.slice(t,i)),a.pos=i,a.ok=!0,a)}function Nv(e,t,n,r){let i,a=t,o={ok:!1,can_continue:!1,pos:0,str:``,marker:0};if(r)o.str=r.str,o.marker=r.marker;else{if(a>=n)return o;let r=e.charCodeAt(a);if(r!==34&&r!==39&&r!==40)return o;t++,a++,r===40&&(r=41),o.marker=r}for(;a<n;){if(i=e.charCodeAt(a),i===o.marker)return o.pos=a+1,o.str+=mv(e.slice(t,a)),o.ok=!0,o;if(i===40&&o.marker===41)return o;i===92&&a+1<n&&a++,a++}return o.can_continue=!0,o.str+=mv(e.slice(t,a)),o}var Pv=s({parseLinkDestination:()=>Mv,parseLinkLabel:()=>jv,parseLinkTitle:()=>Nv}),Fv={};Fv.code_inline=function(e,t,n,r,i){let a=e[t];return`<code`+i.renderAttrs(a)+`>`+yv(a.content)+`</code>`},Fv.code_block=function(e,t,n,r,i){let a=e[t];return`<pre`+i.renderAttrs(a)+`><code>`+yv(e[t].content)+`</code></pre>
53
53
  `},Fv.fence=function(e,t,n,r,i){let a=e[t],o=a.info?mv(a.info).trim():``,s=``,c=``;if(o){let e=o.split(/(\s+)/g);s=e[0],c=e.slice(2).join(``)}let l;if(l=n.highlight&&n.highlight(a.content,s,c)||yv(a.content),l.indexOf(`<pre`)===0)return l+`
54
54
  `;if(o){let e=a.attrIndex(`class`),t=a.attrs?a.attrs.slice():[];e<0?t.push([`class`,n.langPrefix+s]):(t[e]=t[e].slice(),t[e][1]+=` `+n.langPrefix+s);let r={attrs:t};return`<pre><code${i.renderAttrs(r)}>${l}</code></pre>\n`}return`<pre><code${i.renderAttrs(a)}>${l}</code></pre>\n`},Fv.image=function(e,t,n,r,i){let a=e[t];return a.attrs[a.attrIndex(`alt`)][1]=i.renderInlineAsText(a.children,n,r),i.renderToken(e,t,n)},Fv.hardbreak=function(e,t,n){return n.xhtmlOut?`<br />
@@ -74,7 +74,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
74
74
  `)){let t=e.indexOf(`
75
75
  ---
76
76
  `,4);if(t!==-1){let n=e.slice(4,t),r=e.slice(t+5),i=n.split(`
77
- `).map(e=>{let t=e.indexOf(`:`);return t<1?null:{key:e.slice(0,t).trim(),val:e.slice(t+1).trim()}}).filter(Boolean);return(0,z.jsxs)(z.Fragment,{children:[i.length>0&&(0,z.jsx)(`div`,{className:`fm-chips`,children:i.map(({key:e,val:t})=>(0,z.jsxs)(`span`,{className:`fm-chip`,children:[e,` `,(0,z.jsx)(`b`,{children:t})]},e))}),(0,z.jsx)(`div`,{className:Ww,dangerouslySetInnerHTML:{__html:AC(r)}})]})}}return(0,z.jsx)(`div`,{className:Ww,dangerouslySetInnerHTML:{__html:AC(e)}})}var Jw=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`],Yw=e=>({"--i":e}),Xw={borderBottom:`1px solid var(--line)`,background:`linear-gradient(180deg, rgba(33,31,25,.7), rgba(20,19,16,0))`};function Zw(e){let t=lt(),n=Eh(e.id),[r,i]=(0,S.useState)(null),[a,o]=(0,S.useState)(``),[s,c]=(0,S.useState)(!1),[l,u]=(0,S.useState)(null),[d,f]=(0,S.useState)(null),p=n.source===`static`,m=n.brokerStatus===`connected`||n.brokerStatus===`revived`,h=n.role===`controller`,g=n.state?.isStreaming??!1,_=h&&!p&&m&&n.serverConnected,v=Rh(`node.arbitration`),y=Rh(`node.internals`),b=Rh(`commands.palette`),x=Ih().nav[0]??{label:`Home`,path:`/`},C=n.commands,w=!v&&!p&&m&&n.role===`observer`&&!!n.presence.controller;(0,S.useEffect)(()=>{let t=!1;return Wf(e.id).then(e=>{t||i(e)}).catch(e=>{t||u(oT(e))}),()=>{t=!0}},[e.id]);let T=(0,S.useRef)(0);(0,S.useEffect)(()=>{T.current=0},[e.id]),(0,S.useEffect)(()=>{if(!Sg({dormant:p,status:r?.status,socketReady:n.socketReady,attempt:T.current}))return;let e=T.current;T.current+=1;let t=setTimeout(()=>n.reconnect(),Cg(e));return()=>clearTimeout(t)},[p,r?.status,n.socketReady,n.reconnect]);let E=(0,S.useRef)(null);(0,S.useEffect)(()=>{n.socketReady||(E.current=null)},[n.socketReady]),(0,S.useEffect)(()=>{v||p||!n.socketReady||!m||n.role!==`controller`&&E.current!==e.id&&(E.current=e.id,n.requestControl())},[v,p,n.socketReady,m,n.role,e.id,n]),(0,S.useEffect)(()=>{let e=e=>{!e.altKey||e.metaKey||e.ctrlKey||e.code!==`KeyD`||document.activeElement instanceof HTMLTextAreaElement||(e.preventDefault(),zC())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let D=()=>{let e=a.trim();!e||!_||(g?n.steer(e):n.prompt(e),o(``))},O=e=>{Lm(e,o,D)},k=e=>{o(`/${e.name} `)},A=async()=>{c(!0),u(null);try{await Jf(e.id),n.reconnect()}catch(e){u(oT(e))}finally{c(!1)}},j=async()=>{u(null);try{await Yf(e.id)}catch(e){u(oT(e))}},M=Bh(`steer`),N={header:{render:()=>(0,z.jsx)(Gh,{store:n,detail:r})},chrome:{cap:`node.internals`,render:()=>(0,z.jsx)(Zh,{store:n,detail:r})},stream:{render:()=>(0,z.jsx)(Lw,{messages:n.messages,streaming:g})},arbitration:{cap:`node.arbitration`,render:()=>(0,z.jsx)(yg,{store:n})},rail:{cap:`subnodes.activity`,render:()=>(0,z.jsx)(Bw,{rootId:e.id})},graphRail:{cap:`node.graphRail`,render:()=>(0,z.jsx)(lg,{currentId:e.id,onNavigate:e=>t(`/nodes/${e}`)})},filePeek:{cap:`files.peek`,render:()=>(0,z.jsx)(Gw,{nodeId:e.id,path:d,onClose:()=>f(null)})},composer:{render:()=>p?(0,z.jsx)(rT,{id:e.id,reviving:s,onRevive:A,onClose:j}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(Tg,{cap:`node.internals`,children:(0,z.jsx)(nT,{store:n,canDrive:_,streaming:g,onClose:j})}),!y&&g&&(0,z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-t border-border px-4 py-2 text-sm text-success`,children:[(0,z.jsx)(`span`,{className:`size-1.5 animate-pulse rounded-full bg-success`}),`Agent is working…`,(0,z.jsx)(Z,{variant:`secondary`,size:`sm`,className:`ml-auto`,disabled:!_,onClick:()=>n.abort(),children:`Stop`})]}),(0,z.jsxs)(`div`,{className:`relative flex shrink-0 flex-col gap-2 border-t border-border px-4 py-3`,children:[b&&(0,z.jsx)(Dg,{commands:C,query:a,visible:a.startsWith(`/`),onSelect:k}),(0,z.jsx)(Np,{className:Y(`resize-none text-sm`,y&&`font-mono`),value:a,onChange:e=>o(e.currentTarget.value),onKeyDown:O,disabled:!_,placeholder:eT(y,b,h,m),rows:3}),(0,z.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,z.jsx)(Tg,{cap:`node.internals`,children:(0,z.jsx)(iT,{id:e.id})}),(0,z.jsx)(Z,{variant:`default`,onClick:D,disabled:!_||!a.trim(),children:g?M:`Send`})]})]})]})}};return(0,z.jsx)(ew.Provider,{value:{peekedPath:d,onPeek:f},children:(0,z.jsxs)(`div`,{className:`in flex h-full min-h-0 flex-col`,children:[(0,z.jsxs)(`div`,{className:Y(`con-head rv flex shrink-0 items-center gap-3 px-6 py-4`,p&&`opacity-80`),style:{...Xw,...Yw(1)},children:[(0,z.jsxs)(`button`,{type:`button`,onClick:()=>t(x.path),className:`flex shrink-0 items-center gap-1.5 text-sm text-muted-foreground transition-colors hover:text-[var(--ink)]`,children:[(0,z.jsx)(uf,{className:`size-4`}),x.label]}),(0,z.jsx)(wg,{reg:N,name:`header`}),(0,z.jsx)(`div`,{className:`flex-1`}),(0,z.jsx)($w,{}),(0,z.jsx)(wg,{reg:N,name:`arbitration`})]}),(0,z.jsx)(`div`,{className:`rv`,style:Yw(2),children:(0,z.jsx)(wg,{reg:N,name:`chrome`})}),(0,z.jsx)(tT,{state:n.brokerStatus,dormant:p}),w&&(0,z.jsx)(`div`,{className:`border-b border-border bg-muted/40 px-4 py-2 text-sm text-muted-foreground`,children:`Someone else is steering this conversation.`}),n.error&&y&&(0,z.jsxs)(`div`,{className:`border-b border-destructive/30 bg-destructive/15 px-4 py-2 text-sm text-destructive`,children:[n.error.code,`: `,n.error.message]}),l&&(0,z.jsx)(`div`,{className:`border-b border-destructive/30 bg-destructive/15 px-4 py-2 text-sm text-destructive`,children:y?l:`Something went wrong — please try again.`}),(0,z.jsx)(Hw,{conversationId:e.id}),(0,z.jsxs)(`div`,{className:`streamwrap relative flex min-h-0 flex-1 overflow-hidden`,children:[(0,z.jsx)(wg,{reg:N,name:`graphRail`}),(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,z.jsx)(`main`,{className:`min-h-0 flex-1 overflow-auto`,children:(0,z.jsx)(wg,{reg:N,name:`stream`})}),(0,z.jsx)(wg,{reg:N,name:`rail`}),(0,z.jsx)(wg,{reg:N,name:`composer`})]}),(0,z.jsx)(wg,{reg:N,name:`filePeek`})]}),(0,z.jsx)(wg,{reg:N,name:`trace`}),(0,z.jsx)(Tg,{cap:`node.internals`,children:(0,z.jsx)(tg,{store:n,detail:r})}),(0,z.jsx)(Ag,{store:n})]})})}var Qw=[{value:`focused`,label:`Focused`},{value:`standard`,label:`Standard`},{value:`verbose`,label:`Verbose`}];function $w(){let e=VC();return(0,z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,title:`Transcript detail — Focused / Standard / Verbose (⌥D to cycle)`,children:[(0,z.jsx)(`span`,{className:`instlabel`,children:`Detail`}),(0,z.jsxs)(Ep,{value:e,onValueChange:e=>RC(e),children:[(0,z.jsx)(Op,{size:`sm`,className:`text-sm`,"aria-label":`Transcript detail`,children:(0,z.jsx)(Dp,{})}),(0,z.jsx)(kp,{children:Qw.map(e=>(0,z.jsx)(Ap,{value:e.value,children:e.label},e.value))})]})]})}function eT(e,t,n,r){return e?n?r?t?`Type a prompt, or / for commands…`:`Type a prompt…`:`broker is down — input is frozen`:`observer — request control to drive this session`:r?`Message your agent`:`Reconnecting to your agent…`}function tT({state:e,dormant:t}){let n=!Rh(`diagnostics`);return t||e!==`down`&&e!==`reconnecting`?null:n?(0,z.jsx)(`div`,{className:`broker-banner border border-warning/30 bg-warning/15 px-4 py-2 text-sm`,children:`Reconnecting to your agent…`}):(0,z.jsx)(`div`,{className:[`broker-banner border px-4 py-2 text-sm`,e===`down`?`bg-destructive/15 text-destructive border-destructive/30`:`bg-warning/15 border-warning/30`].join(` `),children:e===`down`?`Broker is down — history frozen, input disabled. Waiting for auto-revive…`:`Reconnecting to the broker…`})}function nT({store:e,canDrive:t,streaming:n,onClose:r}){let[i,a]=(0,S.useState)(null),o=i??e.state?.thinkingLevel??`medium`,s=Bh(`compact`),c=Bh(`close`),l=Bh(`node`);return(0,z.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2 border-t border-border px-4 py-2`,children:[(0,z.jsx)(Z,{variant:`secondary`,size:`sm`,disabled:!t||!n,onClick:()=>e.abort(),children:`Abort`}),(0,z.jsxs)(`label`,{className:`tiny-sel relative`,"aria-disabled":!t,children:[`thinking `,(0,z.jsx)(`b`,{children:o}),(0,z.jsx)(lf,{className:`size-3.5`}),(0,z.jsx)(`select`,{disabled:!t,value:o,onChange:t=>{let n=t.currentTarget.value;a(n),e.setThinkingLevel(n)},"aria-label":`Thinking level`,className:`absolute inset-0 cursor-pointer opacity-0`,children:Jw.map(e=>(0,z.jsx)(`option`,{value:e,children:e},e))})]}),(0,z.jsx)(Z,{variant:`ghost`,size:`sm`,disabled:!t,onClick:()=>e.cycleModel(),children:`Cycle model`}),(0,z.jsx)(Z,{variant:`ghost`,size:`sm`,disabled:!t,onClick:()=>e.compact(),children:s}),(0,z.jsx)(Tg,{cap:`node.lifecycle.raw`,children:(0,z.jsxs)(Z,{variant:`destructive`,size:`sm`,className:`ml-auto`,onClick:r,children:[c,` `,l]})})]})}function rT({id:e,reviving:t,onRevive:n,onClose:r}){let i=zh(),a=Rh(`node.internals`),o=Bh(`node`),s=Bh(`revive`),c=Bh(`close`),l=[{key:`revive`,node:(0,z.jsx)(Z,{variant:`default`,disabled:t,onClick:n,children:t?`${s}…`:s})},{key:`close`,cap:`node.lifecycle.raw`,node:(0,z.jsxs)(Z,{variant:`destructive`,onClick:r,children:[c,` `,o]})}];return(0,z.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2 border-t border-border px-4 py-3`,children:[(0,z.jsx)(`span`,{className:`text-muted-foreground text-sm`,children:a?`This ${o} is dormant (read-only). ${s} to drive it live.`:`This ${o} is finished. ${s} to keep going.`}),(0,z.jsx)(Tg,{cap:`node.internals`,children:(0,z.jsx)(iT,{id:e})}),Eg(l,i).map(e=>(0,z.jsx)(S.Fragment,{children:e.node},e.key))]})}function iT({id:e}){let[t,n]=(0,S.useState)(!1);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(Z,{variant:`secondary`,onClick:()=>n(!0),children:`Message (inbox)`}),(0,z.jsx)(aT,{id:e,open:t,onOpenChange:n})]})}function aT({id:e,open:t,onOpenChange:n}){let[r,i]=(0,S.useState)(``),[a,o]=(0,S.useState)(``),[s,c]=(0,S.useState)(!1),[l,u]=(0,S.useState)(null);return(0,S.useEffect)(()=>{t&&(i(``),o(``),u(null))},[t]),(0,z.jsx)(gp,{open:t,onOpenChange:n,children:(0,z.jsxs)(yp,{children:[(0,z.jsxs)(bp,{children:[(0,z.jsx)(Sp,{children:`Send an inbox message`}),(0,z.jsx)(Cp,{children:`A directive deliverable to any node, including a dormant one.`})]}),(0,z.jsxs)(`form`,{onSubmit:async t=>{if(t.preventDefault(),r.trim()){c(!0),u(null);try{let t=await qf(e,{body:r.trim(),...a.trim()?{tier:a.trim()}:{}});u(`delivered=${String(t.delivered)} revived=${String(t.revived)}`),i(``)}catch(e){u(oT(e))}finally{c(!1)}}},className:`flex flex-col gap-3`,children:[(0,z.jsx)(Np,{value:r,onChange:e=>i(e.currentTarget.value),rows:4,required:!0,placeholder:`Message body…`}),(0,z.jsxs)(`label`,{className:`flex flex-col gap-1 text-sm`,children:[`tier`,(0,z.jsx)(`input`,{className:`rounded border bg-transparent px-2 py-1 text-sm`,value:a,onChange:e=>o(e.currentTarget.value),placeholder:`(default)`})]}),l&&(0,z.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:l}),(0,z.jsxs)(xp,{children:[(0,z.jsx)(Z,{type:`button`,variant:`secondary`,onClick:()=>n(!1),disabled:s,children:`Close`}),(0,z.jsx)(Z,{type:`submit`,variant:`default`,disabled:s,children:s?`Sending…`:`Send`})]})]})]})})}function oT(e){return e instanceof Bf?`${e.code}: ${e.message}`:String(e)}function sT(){let{decks:e,loading:t}=Jp();return(0,z.jsxs)(`div`,{className:`mx-auto flex h-full min-h-0 max-w-3xl flex-col px-6 py-8`,children:[(0,z.jsxs)(`div`,{className:`mb-6 flex items-center gap-3`,children:[(0,z.jsx)(`h1`,{className:`text-3xl`,style:{fontFamily:`var(--font-display)`,fontWeight:460,letterSpacing:`-0.01em`,color:`var(--ink)`},children:`Inbox`}),e.length>0&&(0,z.jsx)(`span`,{className:`text-xs`,style:{fontFamily:`var(--font-inst)`,fontWeight:600,color:`#ff8260`,background:`var(--blk-dim)`,border:`1px solid rgba(255,94,54,.35)`,padding:`1.5px 7px`,borderRadius:`99px`},children:e.length})]}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto`,children:t?(0,z.jsx)(dT,{}):e.length===0?(0,z.jsx)(uT,{}):(0,z.jsx)(`ul`,{className:`flex flex-col gap-2.5`,children:e.map(e=>(0,z.jsx)(cT,{deck:e},e.id))})})]})}function cT({deck:e}){let t=lt(),n=Zp(e.kind),r=n.icon;return(0,z.jsx)(`li`,{className:`list-none`,children:(0,z.jsxs)(`button`,{type:`button`,onClick:()=>t(`/inbox/${encodeURIComponent(e.job_id)}`),className:`panel flex w-full items-start gap-4 px-4 py-3.5 text-left transition-colors hover:bg-[color-mix(in_oklch,var(--ink)_3%,transparent)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,children:[(0,z.jsx)(`span`,{className:`mt-0.5 inline-flex size-9 shrink-0 items-center justify-center rounded-lg`,style:{border:`1px solid var(--line)`,color:`var(--ink2)`,background:`color-mix(in oklch, var(--ink) 4%, transparent)`},title:n.label,children:(0,z.jsx)(r,{className:`size-4.5`})}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,z.jsx)(`span`,{className:`truncate text-sm`,style:{fontWeight:500,color:`var(--ink)`},children:e.title}),(0,z.jsx)(`span`,{className:`instlabel shrink-0`,children:n.label})]}),e.subtitle&&(0,z.jsx)(`p`,{className:`mt-0.5 truncate text-sm`,style:{color:`var(--mut)`},children:e.subtitle}),(0,z.jsx)(lT,{deck:e,className:`mt-1.5`})]}),(0,z.jsx)(`span`,{className:`shrink-0 text-xs`,style:{fontFamily:`var(--font-inst)`,letterSpacing:`0.08em`,color:`var(--mut)`},title:`waiting ${Qp(e.blocked_since)}`,children:Qp(e.blocked_since)})]})})}function lT({deck:e,className:t}){let n=Rh(`node.internals`);return(0,z.jsxs)(`div`,{className:Y(`flex flex-wrap items-center gap-x-2 gap-y-0.5 text-xs`,t),children:[(0,z.jsxs)(`span`,{className:`text-muted-foreground`,children:[`in `,(0,z.jsx)(`span`,{className:`font-medium text-foreground/80`,children:e.conversation_title})]}),n&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`span`,{className:`text-muted-foreground/40`,children:`·`}),(0,z.jsxs)(kn,{to:`/nodes/${encodeURIComponent(e.asking_node_id)}`,onClick:e=>e.stopPropagation(),className:`font-mono text-muted-foreground hover:text-primary hover:underline`,title:e.cwd,children:[e.asking_node_name,` (`,e.asking_node_id,`)`]}),(0,z.jsx)(`span`,{className:`text-muted-foreground/40`,children:`·`}),(0,z.jsx)(`span`,{className:`font-mono text-muted-foreground/60`,title:e.cwd,children:e.cwd})]})]})}function uT(){return(0,z.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center py-16 text-center`,children:[(0,z.jsx)(`p`,{className:`text-2xl`,style:{fontFamily:`var(--font-display)`,fontStyle:`italic`,color:`var(--ink)`},children:`You're all caught up.`}),(0,z.jsx)(`p`,{className:`mt-1.5 text-sm`,style:{color:`var(--mut)`},children:`Nothing needs your input right now.`})]})}function dT(){return(0,z.jsx)(`ul`,{className:`flex flex-col gap-2.5`,children:[0,1,2].map(e=>(0,z.jsxs)(`li`,{className:`panel flex items-center gap-4 px-4 py-3.5`,children:[(0,z.jsx)(`div`,{className:`size-9 shrink-0 animate-pulse rounded-lg bg-muted`}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-2`,children:[(0,z.jsx)(`div`,{className:`h-4 w-1/3 animate-pulse rounded bg-muted`}),(0,z.jsx)(`div`,{className:`h-3 w-2/3 animate-pulse rounded bg-muted/70`})]})]},e))})}function fT({deckId:e}){let t=lt(),[n,r]=(0,S.useState)(null),[i,a]=(0,S.useState)(!0),[o,s]=(0,S.useState)(null),[c,l]=(0,S.useState)({}),[u,d]=(0,S.useState)(!1),[f,p]=(0,S.useState)(0);(0,S.useEffect)(()=>{let n=!1;return r(null),l({}),s(null),d(!1),a(!0),Wp(e).then(e=>{n||(r(e),l(Object.fromEntries(e.interactions.map(e=>[e.id,{id:e.id}]))),a(!1))}).catch(e=>{if(!n){if(Ip(e)){tm(e instanceof Bf?e.message:`That request was already handled.`),t(`/inbox`,{replace:!0});return}s(e instanceof Error?e:Error(`Failed to load deck.`)),a(!1)}}),()=>{n=!0}},[e,t,f]);let m=(e,t)=>l(n=>({...n,[e]:{...n[e],id:e,...t}}));if(i)return(0,z.jsx)(TT,{});if(o)return(0,z.jsx)(pT,{error:o,onRetry:()=>p(e=>e+1),onBack:()=>t(`/inbox`)});if(!n)return(0,z.jsx)(TT,{});let h=async e=>{if(u)return;d(!0);let r=Object.values(e??c).map(({selectedOptionId:e,...t})=>t);try{await Gp(n.job_id,{responses:r}),tm(`Done — thanks!`,`success`),t(`/inbox`,{replace:!0})}catch(e){if(Ip(e)){tm(e instanceof Bf?e.message:`That request was already handled.`),t(`/inbox`,{replace:!0});return}tm(e instanceof Bf?e.message:`Something went wrong — try again.`),d(!1)}},g=n.interactions.length===1?n.interactions[0]:null,_=Zp(n.kind).icon;return(0,z.jsxs)(`div`,{className:`mx-auto flex h-full min-h-0 max-w-2xl flex-col px-6 py-8`,children:[(0,z.jsxs)(`button`,{type:`button`,onClick:()=>t(`/inbox`),className:`mb-4 inline-flex items-center gap-1.5 text-sm text-muted-foreground hover:text-foreground`,children:[(0,z.jsx)(af,{className:`size-4`}),` Inbox`]}),(0,z.jsxs)(`header`,{className:`mb-5 flex items-start gap-3`,children:[(0,z.jsx)(`span`,{className:`mt-0.5 inline-flex size-10 shrink-0 items-center justify-center rounded-lg`,style:{border:`1px solid var(--line)`,color:`var(--ink2)`,background:`color-mix(in oklch, var(--ink) 4%, transparent)`},children:(0,z.jsx)(_,{className:`size-5`})}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`h1`,{className:`text-2xl`,style:{fontFamily:`var(--font-display)`,fontWeight:460,letterSpacing:`-0.01em`,color:`var(--ink)`},children:n.title}),n.subtitle&&(0,z.jsx)(`p`,{className:`mt-0.5 text-sm`,style:{color:`var(--mut)`},children:n.subtitle}),(0,z.jsx)(lT,{deck:n,className:`mt-2`})]})]}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto`,children:(0,z.jsx)(`div`,{className:`flex flex-col gap-6`,children:n.interactions.map(e=>(0,z.jsx)(gT,{interaction:e,answer:c[e.id]??{id:e.id},onChange:t=>m(e.id,t),conversationId:n.conversation_id,busy:u,onResolveWith:g?t=>void h({[e.id]:t}):void 0},e.id))})}),!mT(g)&&(0,z.jsxs)(`footer`,{className:`mt-6 flex shrink-0 items-center justify-end gap-2 border-t border-border pt-4`,children:[(0,z.jsx)(Z,{variant:`ghost`,onClick:()=>t(`/inbox`),disabled:u,children:`Cancel`}),(0,z.jsx)(Z,{onClick:()=>void h(),disabled:u||!hT(n,c),children:u?`Sending…`:`Submit`})]})]})}function pT({error:e,onRetry:t,onBack:n}){return(0,z.jsx)(`div`,{className:`mx-auto flex h-full min-h-0 max-w-2xl flex-col justify-center px-6 py-8`,children:(0,z.jsxs)(`section`,{className:`panel p-5`,children:[(0,z.jsx)(`h1`,{className:`text-lg font-semibold`,children:`Couldn’t load the deck`}),(0,z.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:e.message}),(0,z.jsxs)(`div`,{className:`mt-4 flex gap-2`,children:[(0,z.jsx)(Z,{onClick:t,children:`Retry`}),(0,z.jsx)(Z,{variant:`ghost`,onClick:n,children:`Back to inbox`})]})]})})}function mT(e){return e!==null&&(e.kind===`notify`||e.kind===`validation`)}function hT(e,t){return e.interactions.every(e=>{let n=t[e.id];if(!n)return!1;if(e.kind===`notify`||e.kind===`error`)return!0;let r=!!n.selectedOptionIds?.length||!!n.freetext?.trim();return e.options.length===0&&!e.allowFreetext?!0:r})}function gT({interaction:e,answer:t,onChange:n,conversationId:r,busy:i,onResolveWith:a}){switch(e.kind){case`notify`:return(0,z.jsx)(bT,{interaction:e,onGotIt:()=>a?.({id:e.id}),direct:!!a});case`validation`:return(0,z.jsx)(xT,{interaction:e,answer:t,onChange:n,busy:i,onResolveWith:a});case`context`:return(0,z.jsx)(CT,{interaction:e,answer:t,onChange:n});case`error`:return(0,z.jsx)(wT,{interaction:e,answer:t,onChange:n,conversationId:r});default:return(0,z.jsx)(ST,{interaction:e,answer:t,onChange:n})}}function _T({body:e}){return e?(0,z.jsx)(`div`,{className:`prose prose-sm max-w-none text-sm text-foreground/85 dark:prose-invert`,dangerouslySetInnerHTML:{__html:wC(AC(e))}}):null}function vT({children:e,className:t}){return(0,z.jsx)(`section`,{className:Y(`panel p-5`,t),children:e})}function yT({it:e}){return(0,z.jsxs)(`div`,{className:`mb-3`,children:[(0,z.jsx)(`h2`,{className:`text-base font-semibold`,children:e.title}),e.subtitle&&(0,z.jsx)(`p`,{className:`mt-0.5 text-sm text-muted-foreground`,children:e.subtitle})]})}function bT({interaction:e,onGotIt:t,direct:n}){return(0,z.jsxs)(vT,{children:[(0,z.jsx)(yT,{it:e}),(0,z.jsx)(_T,{body:e.body}),n&&(0,z.jsx)(`div`,{className:`mt-4 flex justify-end`,children:(0,z.jsxs)(Z,{onClick:t,children:[(0,z.jsx)(cf,{className:`mr-1.5 size-4`}),` Got it`]})})]})}function xT({interaction:e,answer:t,onChange:n,busy:r,onResolveWith:i}){let a=e.options.find(e=>e.id===`yes`)??e.options[0],o=e.options.find(e=>e.id===`no`)??e.options[1],s=r=>{let a={...t,id:e.id,selectedOptionIds:[r]};i?i(a):n({selectedOptionIds:[r],selectedOptionId:void 0})};return(0,z.jsxs)(vT,{children:[(0,z.jsx)(yT,{it:e}),(0,z.jsx)(_T,{body:e.body}),(0,z.jsxs)(`div`,{className:`mt-4 flex flex-col gap-3`,children:[(0,z.jsx)(Np,{rows:2,value:t.freetext??``,onChange:e=>n({freetext:e.currentTarget.value}),placeholder:e.freetextLabel??`Add a comment (optional)`,className:`resize-none text-sm`}),(0,z.jsxs)(`div`,{className:`flex gap-3`,children:[(0,z.jsx)(Z,{className:`flex-1`,size:`lg`,disabled:r,onClick:()=>a&&s(a.id),children:a?.label??`Approve`}),(0,z.jsx)(Z,{className:`flex-1`,size:`lg`,variant:`outline`,disabled:r,onClick:()=>o&&s(o.id),children:o?.label??`Reject`})]}),!i&&t.selectedOptionIds?.[0]&&(0,z.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Selected: `,e.options.find(e=>e.id===t.selectedOptionIds?.[0])?.label]})]})]})}function ST({interaction:e,answer:t,onChange:n}){let r=new Set(t.selectedOptionIds??[]),i=t=>{if(e.multiSelect){let e=new Set(r);e.has(t)?e.delete(t):e.add(t),n({selectedOptionIds:[...e],selectedOptionId:void 0})}else n({selectedOptionIds:[t],selectedOptionId:void 0})};return(0,z.jsxs)(vT,{children:[(0,z.jsx)(yT,{it:e}),(0,z.jsx)(_T,{body:e.body}),(0,z.jsx)(`ul`,{className:`mt-4 flex flex-col gap-2`,children:e.options.map(t=>{let n=r.has(t.id);return(0,z.jsx)(`li`,{children:(0,z.jsxs)(`button`,{type:`button`,onClick:()=>i(t.id),className:Y(`flex w-full items-start gap-3 rounded-xl border px-4 py-3 text-left transition-colors`,n?`border-primary bg-primary/5 ring-1 ring-primary`:`border-border hover:border-primary/40 hover:bg-accent/40`),children:[(0,z.jsx)(`span`,{className:Y(`mt-0.5 flex size-4 shrink-0 items-center justify-center border`,e.multiSelect?`rounded`:`rounded-full`,n?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground/40`),children:n&&(0,z.jsx)(cf,{className:`size-3`})}),(0,z.jsxs)(`span`,{className:`min-w-0`,children:[(0,z.jsx)(`span`,{className:`block text-sm font-medium`,children:t.label}),t.description&&(0,z.jsx)(`span`,{className:`mt-0.5 block text-xs text-muted-foreground`,children:t.description})]})]})},t.id)})}),e.allowFreetext&&(0,z.jsx)(Np,{rows:2,value:t.freetext??``,onChange:e=>n({freetext:e.currentTarget.value}),placeholder:e.freetextLabel??`Anything else? (optional)`,className:`mt-3 resize-none text-sm`})]})}function CT({interaction:e,answer:t,onChange:n}){let r=t.selectedOptionIds?.[0];return(0,z.jsxs)(vT,{children:[(0,z.jsx)(yT,{it:e}),e.body&&(0,z.jsxs)(`div`,{className:`mb-4 rounded-xl border border-border p-3`,style:{background:`color-mix(in oklch, var(--ink) 3%, transparent)`},children:[(0,z.jsx)(`p`,{className:`instlabel mb-1.5`,children:`Why we're asking`}),(0,z.jsx)(_T,{body:e.body})]}),e.options.length>0&&(0,z.jsx)(`ul`,{className:`mb-3 flex flex-col gap-2`,children:e.options.map(e=>(0,z.jsx)(`li`,{children:(0,z.jsx)(`button`,{type:`button`,onClick:()=>n({selectedOptionIds:[e.id],selectedOptionId:void 0}),className:Y(`flex w-full items-start gap-3 rounded-xl border px-4 py-3 text-left transition-colors`,r===e.id?`border-primary bg-primary/5 ring-1 ring-primary`:`border-border hover:border-primary/40 hover:bg-accent/40`),children:(0,z.jsxs)(`span`,{className:`min-w-0`,children:[(0,z.jsx)(`span`,{className:`block text-sm font-medium`,children:e.label}),e.description&&(0,z.jsx)(`span`,{className:`mt-0.5 block text-xs text-muted-foreground`,children:e.description})]})})},e.id))}),(e.allowFreetext||e.options.length===0)&&(0,z.jsx)(Np,{autoFocus:!0,rows:3,value:t.freetext??``,onChange:e=>n({freetext:e.currentTarget.value}),placeholder:e.freetextLabel??`Your answer`,className:`resize-none text-sm`})]})}function wT({interaction:e,answer:t,onChange:n,conversationId:r}){let i=lt();return(0,z.jsxs)(vT,{className:`border-destructive/30`,children:[(0,z.jsx)(yT,{it:e}),(0,z.jsx)(_T,{body:e.body}),(0,z.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[e.options.map(e=>(0,z.jsx)(`button`,{type:`button`,onClick:()=>n({selectedOptionIds:[e.id],selectedOptionId:void 0}),className:Y(`flex w-full items-start gap-3 rounded-xl border px-4 py-3 text-left transition-colors`,t.selectedOptionIds?.[0]===e.id?`border-primary bg-primary/5 ring-1 ring-primary`:`border-border hover:border-primary/40 hover:bg-accent/40`),children:(0,z.jsxs)(`span`,{className:`min-w-0`,children:[(0,z.jsx)(`span`,{className:`block text-sm font-medium`,children:e.label}),e.description&&(0,z.jsx)(`span`,{className:`mt-0.5 block text-xs text-muted-foreground`,children:e.description})]})},e.id)),(0,z.jsx)(`button`,{type:`button`,onClick:()=>i(`/c/${encodeURIComponent(r)}`),className:`flex w-full items-center gap-2 rounded-xl border border-border px-4 py-3 text-left text-sm font-medium transition-colors hover:border-primary/40 hover:bg-accent/40`,children:`Take over — open the conversation`})]})]})}function TT(){return(0,z.jsxs)(`div`,{className:`mx-auto flex h-full max-w-2xl flex-col gap-5 px-6 py-8`,children:[(0,z.jsx)(`div`,{className:`h-4 w-16 animate-pulse rounded bg-muted`}),(0,z.jsx)(`div`,{className:`h-7 w-1/2 animate-pulse rounded bg-muted`}),(0,z.jsx)(`div`,{className:`h-40 w-full animate-pulse rounded-2xl bg-muted/60`})]})}var ET=[`operator`,`studio`];function DT(){let e=Ih(),t=Lh();return(0,z.jsx)(`div`,{role:`group`,"aria-label":`Switch profile`,className:`inline-flex items-center rounded-md border border-border bg-card/50 p-0.5 text-xs`,children:ET.map(n=>{let r=e.id===n;return(0,z.jsx)(`button`,{type:`button`,"aria-pressed":r,onClick:()=>t(n),className:Y(`inline-flex h-8 items-center rounded px-3 font-medium transition-colors`,r?`bg-primary text-primary-foreground`:`text-muted-foreground hover:text-foreground`),children:Dh[n].label},n)})})}function OT(){let e=Ih(),[t,n]=(0,S.useState)(()=>e.defaultTheme===`dark`);return(0,z.jsxs)(`div`,{className:`mx-auto flex h-full min-h-0 max-w-2xl flex-col gap-8 overflow-auto px-6 py-8`,children:[(0,z.jsx)(`h1`,{className:`text-3xl`,style:{fontFamily:`var(--font-display)`,fontWeight:460,letterSpacing:`-0.01em`,color:`var(--ink)`},children:`Settings`}),(0,z.jsxs)(`section`,{className:`space-y-2.5`,children:[(0,z.jsx)(`h2`,{className:`instlabel`,children:`Profile`}),(0,z.jsx)(`p`,{className:`text-sm`,style:{color:`var(--mut)`},children:`Choose the experience. You can also switch from the header at any time.`}),(0,z.jsx)(DT,{})]}),(0,z.jsxs)(`section`,{className:`space-y-2.5`,children:[(0,z.jsx)(`h2`,{className:`instlabel`,children:`Appearance`}),(0,z.jsxs)(`p`,{className:`text-sm`,style:{color:`var(--mut)`},children:[t?`Dark theme`:`Light theme`,` is active.`]}),(0,z.jsxs)(Z,{variant:`outline`,onClick:()=>{let e=document.documentElement,t=!e.classList.contains(`dark`);e.classList.toggle(`dark`,t),e.classList.toggle(`light`,!t),n(t)},children:[`Switch to `,t?`light`:`dark`]})]})]})}function kT(e){return e.busy?`working`:e.banner?.level===`error`?`blocked`:e.banner?.level===`action`?`attention`:e.loaded?`ready`:`idle`}function AT(){return{status:null,banner:null,subtitle:null,mode:null,busy:!1,loaded:!1,lastRefresh:0}}var jT={working:`working`,blocked:`blocked`,attention:`attention`,ready:`ready`,idle:`idle`},MT={working:`bg-blue-500`,blocked:`bg-red-500`,attention:`bg-amber-500`,ready:`bg-green-500`,idle:`bg-slate-400`},NT={info:`bg-slate-100 text-slate-800 border-slate-300`,action:`bg-amber-100 text-amber-900 border-amber-300`,error:`bg-red-100 text-red-900 border-red-300`};function PT({chrome:e,title:t,children:n}){let r=e.mode?`attention`:kT(e);return(0,z.jsxs)(`div`,{className:`min-h-screen bg-white text-slate-900`,children:[(0,z.jsxs)(`header`,{className:`flex items-center gap-3 border-b border-slate-200 px-4 py-2`,children:[(0,z.jsx)(`h1`,{className:`font-mono text-sm font-semibold`,children:t}),e.subtitle?(0,z.jsxs)(`span`,{className:`font-mono text-xs text-slate-400`,children:[`· `,e.subtitle]}):null,e.mode?(0,z.jsx)(`span`,{className:`rounded-full bg-slate-800 px-2 py-0.5 text-xs text-white`,children:e.mode}):null,(0,z.jsxs)(`span`,{className:`ml-auto flex items-center gap-2 text-xs text-slate-500`,children:[e.busy?(0,z.jsx)(`span`,{className:`inline-block h-3 w-3 animate-spin rounded-full border-2 border-slate-300 border-t-slate-600`}):null,(0,z.jsx)(`span`,{className:`inline-block h-2 w-2 rounded-full ${MT[r]}`}),(0,z.jsx)(`span`,{children:jT[r]})]})]}),e.banner?(0,z.jsx)(`div`,{className:`border-b px-4 py-1.5 font-mono text-xs ${NT[e.banner.level]}`,children:e.banner.msg}):null,(0,z.jsx)(`main`,{className:`px-4 py-3`,children:n}),e.status?(0,z.jsx)(`footer`,{className:`border-t border-slate-200 px-4 py-1.5 font-mono text-xs text-slate-500`,children:e.status}):null]})}function FT(e){return typeof e==`object`&&!!e}function IT(e){return typeof e==`string`?e:``}function LT(e){let t=e??``;return/rate.?limit|\b429\b|too many requests|quota/i.test(t)?`rate-limit`:/overloaded|\b529\b|\b503\b|capacity|server.{0,3}busy|temporarily unavailable/i.test(t)?`overloaded`:/invalid_grant|refresh token|unauthori[sz]ed|invalid.?api.?key|authentication failed|\b401\b|\b403\b/i.test(t)?`auth`:/connection|econnreset|etimedout|enotfound|econnrefused|network|fetch failed|socket hang|timed? out|timeout/i.test(t)?`connection`:`other`}function RT(e){let t=IT(e.code)||IT(e.errno);return t===``?null:/^(ECONNREFUSED|ECONNRESET|ETIMEDOUT|ENOENT|ENOTFOUND|EAI_AGAIN|EPIPE|EHOSTUNREACH|ENETUNREACH)$/i.test(t)?`connection`:null}function zT(e){let t=typeof e.status==`number`?e.status:null;return t===null?null:t===401||t===403?`auth`:t===429?`rate-limit`:t===503||t===529||t>=500&&t<=599?`overloaded`:t>=400&&t<=499?`protocol`:null}function BT(e){let t=typeof e.code==`number`?e.code:null;if(t===null)return null;if(t===1008)return`protocol`;if(t===1006)return`connection`;if(t===1011){let t=IT(e.reason);return/no running broker/i.test(t)||LT(t)===`connection`?`connection`:`other`}return null}function VT(e,t){return t===`auth`||t===`protocol`?`fatal`:e===`pi→provider`?t===`connection`||t===`rate-limit`||t===`overloaded`?`auto`:`fatal`:`manual`}function HT(e){if(typeof e==`string`)return e;if(!FT(e))return``;let t=[e.message,e.errorMessage,e.reason,e.body,e.statusText];for(let e of t)if(typeof e==`string`&&e!==``)return e;let n=e.error;if(FT(n)){let e=n.message;if(typeof e==`string`&&e!==``)return e;let t=n.reason;if(typeof t==`string`&&t!==``)return t}return``}function UT(e,t){if(FT(t)){let n=RT(t);if(n!==null)return{kind:n,disposition:VT(e,n)};let r=zT(t);if(r!==null)return{kind:r,disposition:VT(e,r)};let i=BT(t);if(i!==null)return{kind:i,disposition:VT(e,i)}}let n=LT(HT(t));return{kind:n,disposition:VT(e,n)}}function WT(e){let t=new URL(`/node/${encodeURIComponent(e)}`,window.location.href);t.protocol=location.protocol===`https:`?`wss:`:`ws:`;let n=new URLSearchParams(window.location.search).get(`token`);return n!==null&&n!==``&&t.searchParams.set(`token`,n),t}function GT(e){let t=UT(`browser↔relay`,{code:e.code,reason:e.reason});return e.code===1008||t.kind===`protocol`?`invalid`:e.code===1011&&/^no node /.test(e.reason)?`no-node`:e.code===1011&&/^no running broker/.test(e.reason)?`no-broker`:`transient`}function KT(e){return{kind:`browser-stream-no-broker`,display:{headline:`node ${e} is asleep or has no running broker`,explanation:`This browser stream connects only to an already-running local broker.`,nextStep:`Run crtr node focus ${e} or crtr canvas revive ${e}, then reconnect.`,level:`error`,blocking:!1}}}function qT(e){return{kind:`browser-stream-no-node`,display:{headline:`node ${e} does not exist`,explanation:`The browser relay could not find a live node with that id.`,nextStep:`Choose a valid node id, then reconnect.`,level:`error`,blocking:!1}}}function JT(e){return{kind:`browser-stream-invalid`,display:{headline:`node ${e} was rejected by the relay`,explanation:`The browser relay closed the stream because the request was not valid.`,nextStep:`Fix the node id or connection parameters, then reconnect.`,level:`error`,blocking:!1}}}function YT(e,t){let n=globalThis.crypto.randomUUID(),r=null,i=!1,a=!1,o=null,s=200,c=()=>{o!==null&&(window.clearTimeout(o),o=null)},l=(e,n)=>{if(!a){if(a=!0,c(),r=null,n!==void 0)try{t.onError(n)}catch{}try{t.onClose(e)}catch{}}},u=()=>{i||a||(c(),o=window.setTimeout(()=>{o=null,!i&&!a&&d()},s),s=Math.min(s*2,1e3))},d=()=>{if(i||a)return;let o=WT(e.target),c;try{c=new WebSocket(o)}catch{u();return}r=c,c.onopen=()=>{if(!(i||a)){s=200;try{c.send(JSON.stringify({type:`hello`,role:e.role??`controller`,client_id:n}))}catch{}}},c.onmessage=e=>{if(typeof e.data!=`string`)return;let n;try{n=JSON.parse(e.data)}catch{return}try{t.onFrame(n)}catch{}},c.onclose=t=>{r===c&&(r=null);let n=t.reason||`closed (${t.code})`;if(i){l(n);return}let a=GT(t);if(a===`transient`){u();return}if(a===`no-broker`){l(n,KT(e.target));return}if(a===`no-node`){l(n,qT(e.target));return}l(n,JT(e.target))},c.onerror=()=>{}},f={id:n,send(e){let t=r;if(!(t===null||t.readyState!==WebSocket.OPEN))try{t.send(JSON.stringify(e))}catch{}},close(){i=!0,c();let e=r;if(e===null){l(`closed by view`);return}if(e.readyState===WebSocket.CLOSED){l(`closed by view`);return}try{e.close()}catch{l(`closed by view`)}}};return d(),f}function XT(e=`/__crtr/source`){return{async send(t){try{let n=await fetch(e,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(t)});return n.ok?await n.json():{ok:!1,stdout:``,stderr:`bridge ${n.status} ${n.statusText}`}}catch(e){return{ok:!1,stdout:``,stderr:e instanceof Error?e.message:String(e)}}},open(e,t){return YT(e,t)}}}function ZT(e,t={}){let n=XT(t.endpoint),r=Object.freeze({...t.options??{}}),i=e.init(r),a=AT(),o=t.onIntent,s=0,c=new Set,l=()=>{s+=1;for(let e of c)e()},u=e=>(c.add(e),()=>{c.delete(e)}),d=e=>{a={...a,...e},l()},f={setStatus:e=>d({status:e}),setBanner:(e,t)=>d({banner:{msg:e,level:t}}),clearBanner:()=>d({banner:null}),setSubtitle:e=>d({subtitle:e}),setMode:e=>d({mode:e}),quit:()=>{}},p=new Set,m=0,h=!1,g=null,_=0,v=!1,y=[],b=()=>({get state(){return i},set(e){i=typeof e==`function`?e(i):e,l()},async resolve(e,t){let r=await n.send(e.request(t));return e.parse(r)},async execute(e,t){let r=await n.send(e.request(t));return e.parse(r)},connect(e,t){let r=m,i;return i=n.open(e.request(t),{onFrame(t){r===m&&C(e.onFrame,t)},onClose(t){r===m&&(p.delete(i),e.onClose&&C(e.onClose,{reason:t,channelId:i.id}))},onError(e){r===m&&d({banner:{msg:e.display.headline,level:e.display.level}})}}),p.add(i),e.onOpen&&C(e.onOpen,i),i},signal:f,dispatch(e,t){return T(e,t)}});function x(){v||(v=!0,S())}async function S(){try{for(;h&&y.length>0;){if(_>0)return;let e=y.shift();try{await T(e.intent,e.payload),e.resolve()}catch(t){e.reject(t)}}}finally{v=!1,h&&y.length>0&&_===0&&x()}}function C(e,t){return h?new Promise((n,r)=>{y.push({intent:e,payload:t,resolve:n,reject:r}),x()}):Promise.resolve()}function w(e){if(e===`refresh`){a={...a,busy:_>0,loaded:!0,lastRefresh:Date.now()},l();return}a={...a,busy:_>0},l()}async function T(t,n){if(!h)return;o?.(t,n,i);let r=e.intents[t];if(!r){console.warn(`[crtr view] unknown intent: ${t}`);return}let s;try{s=r(b(),n)}catch(e){throw console.warn(`[crtr view] intent ${t} threw:`,e),e}if(s instanceof Promise){let e=_>0;_+=1,e||d({busy:!0});try{await s}finally{--_,a={...a,busy:_>0,loaded:a.loaded||t===`refresh`,lastRefresh:Date.now()},l(),_===0&&h&&y.length>0&&x()}return}w(t)}let E=()=>{_===0&&C(`refresh`)};function D(){if(h)return;h=!0,m+=1,i=e.init(r),a=AT(),y=[],v=!1,C(`refresh`);let t=e.manifest.refreshMs;typeof t==`number`&&t>0&&(g=setInterval(E,t))}function O(){if(!h)return;h=!1,m+=1;let e=Array.from(p);for(let t of e)try{t.close()}catch{}if(p.clear(),g&&=(clearInterval(g),null),y.length>0){let e=Error(`view stopped`);for(let t of y)t.reject(e);y=[]}v=!1}return{getState:()=>i,getChrome:()=>a,dispatch:C,refresh:E,subscribe:u,getVersion:()=>s,start:D,stop:O,get onIntent(){return o},set onIntent(e){o=e}}}function QT(e,t={}){let n=(0,S.useRef)(null);n.current===null&&(n.current=ZT(e,{options:t.options,endpoint:t.endpoint}));let r=n.current;return r.onIntent=t.onIntent,(0,S.useSyncExternalStore)(r.subscribe,r.getVersion,r.getVersion),(0,S.useEffect)(()=>(r.start(),()=>r.stop()),[r]),{state:r.getState(),chrome:r.getChrome(),dispatch:r.dispatch,refresh:r.refresh}}function $T({children:e}){return(0,z.jsx)(`div`,{className:`flex min-h-[40vh] flex-col items-center justify-center gap-2 p-8 text-center font-mono text-sm text-slate-600`,children:e})}function eE({label:e=`Loading…`}){return(0,z.jsxs)($T,{children:[(0,z.jsx)(`span`,{className:`inline-block h-3 w-3 animate-spin rounded-full border-2 border-slate-300 border-t-slate-600`}),(0,z.jsx)(`span`,{children:e})]})}function tE({label:e=`Nothing here yet.`}){return(0,z.jsx)($T,{children:(0,z.jsx)(`span`,{className:`text-slate-400`,children:e})})}function nE({headline:e,explanation:t,nextStep:n,onRetry:r}){return(0,z.jsxs)($T,{children:[(0,z.jsx)(`div`,{className:`font-semibold text-red-700`,children:e}),t?(0,z.jsx)(`div`,{className:`text-slate-600`,children:t}):null,n?(0,z.jsx)(`div`,{className:`text-slate-500`,children:n}):null,r?(0,z.jsx)(iE,{onRetry:r}):null]})}function rE({headline:e=`Not ready`,explanation:t,nextStep:n,onRetry:r}){return(0,z.jsxs)($T,{children:[(0,z.jsx)(`div`,{className:`font-semibold text-amber-700`,children:e}),t?(0,z.jsx)(`div`,{className:`text-slate-600`,children:t}):null,n?(0,z.jsx)(`div`,{className:`text-slate-500`,children:n}):null,r?(0,z.jsx)(iE,{onRetry:r}):null]})}function iE({onRetry:e}){return(0,z.jsx)(`button`,{type:`button`,onClick:e,className:`mt-2 rounded border border-slate-300 px-3 py-1 text-slate-700 hover:bg-slate-100`,children:`Retry`})}function aE(e){return{ok:!0,data:e}}function oE(e){return{ok:!1,error:e}}function sE(e){return e==null?``:String(e)}function cE(e){let t=e||{};return{nodeId:sE(t.node_id),name:sE(t.name)||`(unnamed)`,kind:sE(t.kind)||`?`,mode:sE(t.mode)||`?`,lifecycle:sE(t.lifecycle)||`?`,status:sE(t.status)||`?`,parent:t.parent?sE(t.parent):null,created:sE(t.created),hanging:t.hanging&&typeof t.hanging==`object`?t.hanging:null}}function lE(e){let t=e||{};return{nodeId:sE(t.node_id),name:sE(t.name),cwd:sE(t.cwd),count:typeof t.count==`number`?t.count:0}}var uE=new Set([`active`,`idle`]),dE={active:`●`,idle:`○`,done:`✓`,dead:`✗`,canceled:`⊘`};function fE(e){return e===`rate-limit`?`rate-limited`:e===`overloaded`?`overloaded`:e===`connection`?`down`:e===`auth`?`auth`:e===`protocol`?`protocol`:e===`wedged`?`wedged`:`other`}function pE(e,t){let n=Date.parse(e);if(Number.isNaN(n))return`now`;let r=n-t;return r<=0?`now`:r>=6e4?`${Math.max(1,Math.round(r/6e4))}m`:`${Math.max(1,Math.ceil(r/1e3))}s`}function mE(e,t){if(e.retry.disposition===`auto`){if(e.retry.by===`client`)return`redialing`;let n=typeof e.retry.attempt==`number`&&typeof e.retry.max==`number`?`auto-retry ${e.retry.attempt}/${e.retry.max}`:`auto-retrying`;return e.retry.nextAt?`${n}, next ${pE(e.retry.nextAt,t)}`:n}return`needs you`}function hE(e,t){return`${e.link} ${fE(e.kind)} · ${mE(e,t)}`}function gE(e){let t=String(e||``),n=t.indexOf(`-`);return n>0?t.slice(0,n):t.slice(0,8)}var _E=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function vE(e,t){let n=Date.parse(e);if(Number.isNaN(n))return``;let r=Math.max(0,Math.floor((t-n)/1e3));if(r<60)return`now`;let i=Math.floor(r/60);if(i<60)return`${i}m`;let a=Math.floor(i/60);if(a<24)return`${a}h`;let o=Math.floor(a/24);if(o<7)return`${o}d`;let s=new Date(n),c=_E[s.getMonth()]||`?`;return s.getFullYear()===new Date(t).getFullYear()?`${c} ${s.getDate()}`:`${c} ʼ${String(s.getFullYear()).slice(-2)}`}function yE(e,t){return`${e} ${t}${e===1?``:`s`}`}var bE={kind:`crtr-missing`,display:{headline:`Canvas unavailable`,explanation:`crtr could not be found to read the canvas graph.`,nextStep:`Install crtr (or set CRTR_BIN on PATH), then press g.`,level:`error`,blocking:!0}};function xE(e){let t=String(e||``);return/help-gate:\s*blocked/i.test(t)?{kind:`help-gate`,display:{headline:`Canvas unavailable`,explanation:`crtr help-gate blocked the call (run the command with -h once).`,nextStep:`Press g to retry.`,level:`error`,blocking:!0}}:{kind:`crtr-failed`,display:{headline:`Canvas unavailable`,explanation:`crtr could not read the canvas graph: `+(CE(t)||`unknown error`),nextStep:`Press g to retry.`,level:`error`,blocking:!0}}}function SE(e){return{kind:`parse`,display:{headline:`Canvas unavailable`,explanation:`Could not parse \`crtr ${e}\` output as JSON.`,nextStep:`Press g to retry.`,level:`error`,blocking:!0}}}function CE(e){let t=String(e||``).split(/\r?\n/).map(e=>e.trim()).filter(Boolean);for(let e=t.length-1;e>=0;e--)if(/^ERROR:/i.test(t[e]))return t[e].replace(/^ERROR:\s*/i,``).trim();return t.length?t[t.length-1]:``}var wE={id:`nodes`,request:()=>({kind:`exec`,bin:`crtr`,args:[`node`,`inspect`,`list`,`--json`]}),parse:e=>{if(!e.ok)return oE(bE);if(e.exitCode!==0)return oE(xE(e.stderr||e.stdout));let t=String(e.stdout||``).trim(),n;try{n=t===``?{}:JSON.parse(t)}catch{return oE(SE(`node inspect list`))}return aE((n&&Array.isArray(n.nodes)?n.nodes:[]).map(cE))}},TE={id:`attention`,request:()=>({kind:`exec`,bin:`crtr`,args:[`canvas`,`attention`,`list`,`--json`]}),parse:e=>{if(!e.ok||e.exitCode!==0)return aE({items:[],total:0});let t=String(e.stdout||``).trim(),n;try{n=t===``?{}:JSON.parse(t)}catch{return aE({items:[],total:0})}let r=n&&Array.isArray(n.items)?n.items:[],i=n&&typeof n.total==`number`?n.total:0;return aE({items:r.map(lE),total:i})}};function EE(e,t){let n=new Map;for(let t of e)n.set(t.nodeId,t);let r=new Map,i=[];for(let t of e){let e=t.parent&&n.has(t.parent)?t.parent:null;if(e){let n=r.get(e);n?n.push(t):r.set(e,[t])}else i.push(t)}let a=(e,t)=>e.created<t.created?-1:+(e.created>t.created);for(let e of r.values())e.sort(a);i.sort(a);let o=new Map;function s(e,i){let a=o.get(e);if(a!==void 0)return a;if(i.has(e))return!1;i.add(e);let c=n.get(e),l=!!c&&(uE.has(c.status)||t.has(e));if(!l){for(let t of r.get(e)||[])if(s(t.nodeId,i)){l=!0;break}}return i.delete(e),o.set(e,l),l}function c(e,n){let r=t.get(e.nodeId)||0;return{nodeId:e.nodeId,prefix:n,glyph:e.hanging?`⚠`:dE[e.status]||`?`,status:e.status,name:e.name,kind:e.kind,mode:e.mode,lifecycle:e.lifecycle,shortId:gE(e.nodeId),created:e.created,blocked:r>0,askCount:r,hanging:e.hanging||null}}let l=[],u=new Set;function d(e,t,n,i){if(u.has(e.nodeId))return;u.add(e.nodeId);let a=i?``:t+(n?`└─ `:`├─ `);l.push(c(e,a));let o=r.get(e.nodeId)||[],s=i?``:t+(n?` `:`│ `);for(let e=0;e<o.length;e++)d(o[e],s,e===o.length-1,!1)}let f=0;for(let e of i)s(e.nodeId,new Set)&&(f++,d(e,``,!0,!0));return{rows:l,shownRoots:f}}function DE(e){return e.totalNodes===0?null:`${e.activeCount} active · ${yE(e.totalNodes,`node`)}`}function OE(e){return e.rows.length===0?null:`${yE(e.shownRoots,`live tree`)} · ${e.rows.length} shown`}var kE={manifest:{id:`canvas`,title:`Canvas`,description:`Live agent graph — who is working, who is blocked`,refreshMs:3e3},init(){return{rows:[],cursor:0,scroll:0,shownRoots:0,totalNodes:0,activeCount:0,attnTotal:0,lastFetch:0,sourceError:null}},sources:{nodesSource:wE,attentionSource:TE},intents:{async refresh(e){e.signal.setStatus(`Loading the canvas…`);let t=await e.resolve(wE);if(!t.ok){e.set(e=>({...e,sourceError:t.error})),e.signal.setStatus(null),e.signal.setBanner(t.error.display.explanation,t.error.display.level);return}let n=t.data,r=new Map,i=0,a=await e.resolve(TE);if(a.ok){for(let e of a.data.items)e.nodeId&&r.set(e.nodeId,e.count);i=a.data.total}let o=EE(n,r);e.set(e=>{let t={...e,sourceError:null,rows:o.rows,shownRoots:o.shownRoots,totalNodes:n.length,activeCount:n.filter(e=>e.status===`active`).length,attnTotal:i,lastFetch:Date.now()};return t.cursor>=t.rows.length&&(t.cursor=Math.max(0,t.rows.length-1)),t}),e.signal.setSubtitle(DE(e.state)),i>0?e.signal.setBanner(`${yE(i,`ask`)} waiting on a human — see the ⚑ rows`,`action`):e.signal.clearBanner(),e.signal.setStatus(OE(e.state))},cursorDown:e=>e.set(e=>({...e,cursor:e.rows.length?Math.min(e.rows.length-1,e.cursor+1):0})),cursorUp:e=>e.set(e=>({...e,cursor:Math.max(0,e.cursor-1)})),activate:(e,t)=>{let n=t&&t.nodeId;n&&e.set(e=>{let t=e.rows.findIndex(e=>e.nodeId===n);return t>=0?{...e,cursor:t}:e})},quit:e=>e.signal.quit()}},AE={active:`text-green-600`,idle:`text-amber-600`,done:`text-cyan-700`,dead:`text-red-600`,canceled:`text-slate-400`};function jE(e){return e===`active`?`font-bold`:e===`done`||e===`dead`||e===`canceled`?`text-slate-400`:``}function ME({row:e,selected:t,onClick:n}){let r=Date.now(),i=vE(e.created,r);return(0,z.jsxs)(`li`,{className:`flex items-baseline gap-1.5 rounded px-2 py-0.5 ${t?`bg-slate-200`:``}`,onClick:n,children:[e.prefix?(0,z.jsx)(`span`,{className:`whitespace-pre text-slate-400`,children:e.prefix}):null,(0,z.jsx)(`span`,{className:e.hanging?`font-bold text-amber-500`:AE[e.status]||`text-slate-400`,children:e.glyph}),(0,z.jsx)(`span`,{className:jE(e.status),children:e.name}),(0,z.jsxs)(`span`,{className:`text-slate-400`,children:[`[`,e.kind,`/`,e.mode,`]`]}),e.blocked?(0,z.jsxs)(`span`,{className:`font-bold text-yellow-500`,children:[`⚑`,e.askCount]}):null,e.hanging?(0,z.jsx)(`span`,{className:`text-amber-500`,children:hE(e.hanging,r)}):null,i?(0,z.jsx)(`span`,{className:`ml-auto shrink-0 text-slate-400`,children:i}):null]})}function NE({state:e,dispatch:t}){if(e.rows.length===0){if(e.sourceError){let n=e.sourceError.display;return(0,z.jsx)(n.level===`error`?nE:rE,{headline:n.headline,explanation:n.explanation,nextStep:n.nextStep,onRetry:()=>t(`refresh`)})}return e.lastFetch===0?(0,z.jsx)(eE,{label:`Loading the canvas…`}):e.totalNodes===0?(0,z.jsx)(tE,{label:"No nodes on the canvas — spawn one with `crtr node new`."}):(0,z.jsx)(tE,{label:`All caught up — ${e.totalNodes} node${e.totalNodes===1?``:`s`} finished, none active.`})}return(0,z.jsx)(`div`,{className:`font-mono text-sm outline-none`,tabIndex:0,onKeyDown:e=>{e.key===`j`||e.key===`ArrowDown`?(t(`cursorDown`),e.preventDefault()):e.key===`k`||e.key===`ArrowUp`?(t(`cursorUp`),e.preventDefault()):e.key===`g`&&t(`refresh`)},children:(0,z.jsx)(`ul`,{children:e.rows.map((n,r)=>(0,z.jsx)(ME,{row:n,selected:r===e.cursor,onClick:()=>t(`activate`,{nodeId:n.nodeId})},n.nodeId||r))})})}function PE(){let e=globalThis.crypto;return e&&typeof e.randomUUID==`function`?e.randomUUID():`n-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function FE(e){return typeof e==`object`&&!!e}function IE(e){return typeof e==`string`?e:``}function LE(e){return typeof e==`string`&&e!==``?e:null}function RE(e){return FE(e)&&typeof e.role==`string`?e.role:null}function zE(e){return typeof e==`string`?e:Array.isArray(e)?e.filter(e=>FE(e)&&e.type===`text`).map(e=>IE(e.text)).join(``):``}function BE(e){return FE(e)?zE(e.content)||IE(e.text):``}function VE(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(RE(n)!==`assistant`)continue;let r=BE(n).trim();if(r)return r}return null}function HE(){return{messages:[],streamingIndex:null,executingToolIds:[],activity:null,lastAssistantText:null}}function UE(e){let t=Array.isArray(e?.messages)?e.messages.slice():[];return{messages:t,streamingIndex:null,executingToolIds:[],activity:e?.state?.isStreaming===!0?`Working…`:null,lastAssistantText:VE(t)}}function WE(e,t){switch(t?.type){case`agent_start`:return e.activity===`Working…`?e:{...e,activity:`Working…`};case`agent_end`:return{...e,streamingIndex:null,activity:null,executingToolIds:e.executingToolIds.length?[]:e.executingToolIds};case`message_start`:{let n=e.messages.concat(t.message),r=RE(t.message)===`assistant`?n.length-1:e.streamingIndex;return{...e,messages:n,streamingIndex:r,lastAssistantText:VE(n)}}case`message_update`:{let n=e.streamingIndex;if(n===null){let t=e.messages.length-1;t>=0&&RE(e.messages[t])===`assistant`&&(n=t)}if(n===null)return e;let r=e.messages.slice();return r[n]=t.message,{...e,messages:r,streamingIndex:n,lastAssistantText:VE(r)}}case`message_end`:{let n=e.streamingIndex;if(n===null){let t=e.messages.length-1;t>=0&&RE(e.messages[t])===`assistant`&&(n=t)}if(n===null)return e;let r=e.messages.slice();return r[n]=t.message,{...e,messages:r,streamingIndex:null,lastAssistantText:VE(r)}}case`tool_execution_start`:return e.executingToolIds.includes(t.toolCallId)?e:{...e,executingToolIds:e.executingToolIds.concat(t.toolCallId)};case`tool_execution_end`:return e.executingToolIds.includes(t.toolCallId)?{...e,executingToolIds:e.executingToolIds.filter(e=>e!==t.toolCallId)}:e;case`compaction_start`:return e.activity===`Compacting context…`?e:{...e,activity:`Compacting context…`};case`compaction_end`:return{...e,activity:e.activity===`Working…`?`Working…`:null};case`auto_retry_start`:{let n=typeof t.attempt==`number`?t.attempt:0,r=typeof t.maxAttempts==`number`?t.maxAttempts:0,i=typeof t.delayMs==`number`?Math.ceil(t.delayMs/1e3):0;return{...e,activity:`Retrying (${n}/${r}) in ${i}s…`}}case`auto_retry_end`:return{...e,activity:e.activity===`Working…`?`Working…`:null};default:return e}}function GE(e,t,n){let r={role:`bashExecution`,command:t,output:``,exitCode:void 0,cancelled:!1,truncated:!1,excludeFromContext:n,timestamp:Date.now()};return{...e,messages:e.messages.concat(r)}}function KE(e,t){for(let n=e.messages.length-1;n>=0;n--){let r=e.messages[n];if(RE(r)!==`bashExecution`)continue;let i=e.messages.slice(),a=FE(i[n])?i[n]:{};return i[n]={...a,output:`${IE(a.output)}${t}`},{...e,messages:i}}return e}function qE(e,t){for(let n=e.messages.length-1;n>=0;n--){let r=e.messages[n];if(RE(r)!==`bashExecution`)continue;let i=e.messages.slice();return i[n]={...FE(i[n])?i[n]:{},exitCode:t.exitCode,cancelled:t.cancelled,truncated:t.truncated,fullOutputPath:t.fullOutputPath},{...e,messages:i}}return e}function JE(e){let t=FE(e)?e:{};return{sessionId:LE(t.sessionId),sessionFile:LE(t.sessionFile),model:LE(t.model),isStreaming:t.isStreaming===!0,thinkingLevel:IE(t.thinkingLevel)||`off`,steeringMode:IE(t.steeringMode)||`all`,followUpMode:IE(t.followUpMode)||`all`,sessionName:LE(t.sessionName),autoCompactionEnabled:t.autoCompactionEnabled===!0,pendingMessageCount:typeof t.pendingMessageCount==`number`?t.pendingMessageCount:0}}function YE(e,t){let n=e.session??JE(null),r=!1,i={...n};for(let[e,n]of Object.entries(t))n!==void 0&&(i[e]=n,r=!0);return r?{...e,session:i}:e}function XE(e,t,n){return{...e,notices:e.notices.concat({id:PE(),level:t,text:n,at:Date.now()})}}function ZE(e){return typeof e==`string`?e:FE(e)?typeof e.reason==`string`?e.reason:typeof e.message==`string`?e.message:typeof e.kind==`string`?e.kind:``:``}function QE(e){let t=ZE(e).toLowerCase();return t.includes(`no running broker`)?`no-broker`:t.includes(`does not exist`)||t.includes(`no node`)?`no-node`:t.includes(`invalid`)||t.includes(`rejected`)?`invalid`:`closed`}function $E(e){if(!FE(e)||e.role!==`assistant`)return;let t=FE(e.usage)?e.usage:null;if(!t)return;let n=typeof t.input==`number`?t.input:null,r=typeof t.cacheRead==`number`?t.cacheRead:null,i=typeof t.cacheWrite==`number`?t.cacheWrite:null;if(!(n===null||r===null||i===null))return n+r+i}function eD(e,t,n=`info`){return XE(e,n,t)}var tD={manifest:{id:`chat`,title:`Chat`,description:`Portable chat-as-a-view core`},init(e){return{target:typeof e.target==`string`&&e.target.trim()!==``?e.target:null,desiredRole:`controller`,channel:null,clientId:null,conn:`idle`,role:`observer`,controllerId:null,session:null,transcript:HE(),draft:``,notices:[],pendingDialog:null,queued:[],contextTokens:void 0}},streams:{chat:{id:`chat`,request:({target:e,role:t})=>({kind:`stream`,target:e,role:t}),onOpen:`streamOpen`,onFrame:`streamFrame`,onClose:`streamClose`}},intents:{refresh(e){let t=e.state;if(t.channel==null){if(t.target==null){e.set(e=>({...e,conn:`error`})),e.set(e=>eD(e,`missing target — run crtr view run chat --target <node-id>`,`action`)),e.signal.setBanner(`missing target — run crtr view run chat --target <node-id>`,`action`),e.signal.setStatus(null);return}e.signal.setStatus(`connecting…`);try{let n=e.connect(tD.streams.chat,{target:t.target,role:t.desiredRole});e.set(e=>({...e,channel:n,clientId:n.id,conn:`connecting`}))}catch(t){let n=t instanceof Error?t.message:String(t);e.set(e=>({...e,conn:`error`})),e.set(e=>eD(e,`stream connect failed — ${n}`,`error`)),e.signal.setBanner(`stream connect failed — ${n}`,`error`),e.signal.setStatus(null)}}},streamOpen(e,t){FE(t)&&(e.set(e=>({...e,channel:e.channel??t,clientId:e.clientId??LE(t.id),conn:`connecting`})),e.signal.setStatus(`connected — waiting for welcome`))},streamClose(e,t){let n=FE(t)&&typeof t.channelId==`string`?t.channelId:void 0;if(n!==void 0&&e.state.channel!=null&&e.state.channel.id!==n)return;let r=QE(t);if(r===`closed`&&e.state.channel==null&&e.state.conn===`connecting`)return;let i=r===`no-broker`?`node is asleep / focus or revive it first`:r===`no-node`?`node not found / check the target`:r===`invalid`?`invalid target / check the target`:`stream closed / reconnect`;e.set(e=>({...e,channel:null,conn:r})),e.set(e=>eD(e,i,`action`)),e.signal.setBanner(i,`action`),e.signal.setStatus(null)},reconnect(e){let t=e.state.channel;if(e.set(e=>({...e,channel:null,conn:`connecting`})),t&&typeof t.close==`function`)try{t.close()}catch{}e.dispatch(`refresh`)},streamFrame(e,t){if(FE(t))switch(t.type){case`welcome`:{let n=t.snapshot,r=UE(n),i=JE(n?.state),a=n?.stats,o=typeof a?.contextUsage?.tokens==`number`?a.contextUsage.tokens:typeof a?.tokens?.total==`number`?a.tokens.total:void 0;e.set(e=>({...e,conn:`open`,controllerId:LE(t.controller_id),role:t.controller_id===e.clientId?`controller`:t.role??`observer`,session:i,transcript:r,pendingDialog:t.pending_dialog??null,contextTokens:o})),e.signal.clearBanner(),e.signal.setStatus(null),e.signal.setSubtitle(i.sessionName??e.state.target);return}case`control_changed`:e.set(e=>{let n=t.controller_id===e.clientId?`controller`:`observer`,r=n!==e.role,i=e.role===`controller`&&n===`observer`,a={...e,controllerId:LE(t.controller_id),role:n,desiredRole:i?`observer`:e.desiredRole};return r&&(a=eD(a,n===`controller`?`control changed — you are controller`:`control changed — read-only`,`info`)),a});return;case`model_changed`:e.set(e=>YE(e,{model:LE(t.model)}));return;case`error`:{if(t.code===`not_controller`){let t=`read-only — take control before sending`;e.set(e=>({...e,role:`observer`})),e.set(e=>eD(e,t,`action`)),e.signal.setBanner(t,`action`);return}let n=t.message||t.code||`stream error`;e.set(e=>eD(e,n,`error`)),e.signal.setBanner(n,`error`);return}case`ack`:{if(t.ok)return;let n=t.detail?`${t.for} failed — ${t.detail}`:`${t.for} failed`;e.set(e=>eD(e,n,`error`)),e.signal.setBanner(n,`error`);return}case`extension_ui_request`:{let n=`cannot answer dialogs yet`;e.set(e=>({...e,pendingDialog:t})),e.set(e=>eD(e,n,`action`)),e.signal.setBanner(n,`action`);return}case`display_status`:{let n=t.text===void 0?`${t.key} cleared`:`${t.key}: ${t.text}`;e.set(e=>eD(e,n,`info`));return}case`display_widget`:{let n=t.lines===void 0?`${t.key} cleared`:`${t.key}: ${t.lines.join(` | `)}`;e.set(e=>eD(e,n,`info`));return}case`display_title`:e.set(e=>eD(e,`title: ${t.title}`,`info`));return;case`bash_start`:e.set(e=>({...e,transcript:GE(e.transcript,t.command,t.excludeFromContext)}));return;case`bash_output`:e.set(e=>({...e,transcript:KE(e.transcript,t.chunk)}));return;case`bash_end`:e.set(e=>({...e,transcript:qE(e.transcript,t)}));return;default:e.set(e=>{let n=WE(e.transcript,t),r={...e,transcript:n};if(t.type===`agent_start`)r=YE(r,{isStreaming:!0});else if(t.type===`agent_end`)r=YE(r,{isStreaming:!1});else if(t.type===`session_info_changed`)r=YE(r,{sessionName:LE(t.name)});else if(t.type===`thinking_level_changed`)r=YE(r,{thinkingLevel:IE(t.level)||r.session?.thinkingLevel||`off`});else if(t.type===`queue_update`){let e=[...Array.isArray(t.steering)?t.steering:[],...Array.isArray(t.followUp)?t.followUp:[]].map(e=>String(e));r={...r,queued:e},r=YE(r,{pendingMessageCount:e.length})}let i=t.type===`message_end`?$E(t.message):void 0;return i!==void 0&&(r={...r,contextTokens:i}),r})}},setDraft(e,t){e.set(e=>({...e,draft:t}))},submitDraft(e){let t=e.state.draft.trim();if(!t)return;let n=e.state.channel;if(!n||e.state.conn!==`open`){let t=`not connected — reconnect`;e.set(e=>eD(e,t,`error`)),e.signal.setBanner(t,`error`);return}if(e.state.role!==`controller`){let t=`read-only — take control before sending`;e.set(e=>eD(e,t,`action`)),e.signal.setBanner(t,`action`);return}let r=e.state.session?.isStreaming===!0?{type:`steer`,text:t}:{type:`prompt`,text:t};n.send(r),e.set(e=>({...e,draft:``}))},abort(e){if(e.state.role!==`controller`){let t=`read-only — take control before sending`;e.set(e=>eD(e,t,`action`)),e.signal.setBanner(t,`action`);return}if(!e.state.channel||e.state.conn!==`open`){let t=`not connected — reconnect`;e.set(e=>eD(e,t,`error`)),e.signal.setBanner(t,`error`);return}e.state.channel.send({type:`abort`})},requestControl(e){e.set(e=>({...e,desiredRole:`controller`})),e.state.channel&&e.state.conn===`open`&&e.state.channel.send({type:`request_control`})},releaseControl(e){e.set(e=>({...e,desiredRole:`observer`}));let t=e.state.channel;t&&e.state.conn===`open`&&t.send({type:`release_control`}),e.dispatch(`reconnect`)},clearNotice(e,t){e.set(e=>t==null||t===``?{...e,notices:[]}:{...e,notices:e.notices.filter(e=>e.id!==t)})},quit(e){if(e.state.channel)try{e.state.channel.close()}catch{}e.signal.quit()}}},nD={info:`border-slate-200 bg-slate-50 text-slate-700`,action:`border-amber-200 bg-amber-50 text-amber-800`,error:`border-rose-200 bg-rose-50 text-rose-800`},rD={info:`bg-slate-100 text-slate-700`,action:`bg-amber-100 text-amber-800`,error:`bg-rose-100 text-rose-800`};function iD(e){return typeof e==`object`&&!!e}function aD(e,t=120){let n=String(e||``);return n.length>t?`${n.slice(0,Math.max(0,t-1))}…`:n}function oD(e){return iD(e)&&typeof e.role==`string`?e.role:``}function sD(e){return iD(e)?typeof e.customType==`string`&&e.customType?`custom · ${e.customType}`:typeof e.type==`string`&&e.type?e.type:``:``}function cD(e){return iD(e)?typeof e.timestamp==`string`?e.timestamp:typeof e.timestamp==`number`?new Date(e.timestamp).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}):``:``}function lD(e){return iD(e)?typeof e.text==`string`?e.text:Array.isArray(e.text)?e.text.map(e=>iD(e)&&typeof e.text==`string`?e.text:``).join(``):typeof e.content==`string`?e.content:``:``}function uD(e){if(!iD(e))return``;let t=typeof e.type==`string`?e.type:``,n=typeof e.name==`string`?e.name:``;switch(t){case`text`:return``;case`thinking`:case`reasoning`:{let t=aD(lD(e).replace(/\s+/g,` `).trim(),88);return t?`Thinking · ${t}`:`Thinking`}case`toolCall`:{let t=lD(e),r=t?` · ${aD(t.replace(/\s+/g,` `).trim(),88)}`:``;return`Tool · ${n||`tool`}${r}`}case`toolResult`:{let t=lD(e);return`Tool result${t?` · ${aD(t.replace(/\s+/g,` `).trim(),88)}`:``}`}default:return t?`${t}${n?` · ${n}`:``}`:``}}function dD(e){let t=[];if(!iD(e))return t;if(oD(e)===`bashExecution`){let n=typeof e.command==`string`?e.command:``;n&&t.push(`$ ${aD(n.replace(/\s+/g,` `).trim(),96)}`),typeof e.exitCode==`number`&&t.push(`exit ${e.exitCode}`),e.cancelled===!0&&t.push(`cancelled`),e.truncated===!0&&t.push(`truncated`)}let n=Array.isArray(e.content)?e.content:[];for(let e of n){let n=uD(e);n&&t.push(n)}let r=sD(e);return r&&oD(e)===`custom`&&t.push(r),oD(e)===`compactionSummary`&&t.push(`Compaction summary`),oD(e)===`branchSummary`&&t.push(`Branch summary`),t}function fD(e){let t=e.target||`<node-id>`;switch(e.conn){case`no-broker`:return{level:`action`,Comp:rE,headline:`node is asleep`,explanation:`Focus or revive the node first, then reconnect.`,nextStep:`crtr node focus ${t} · or crtr canvas revive ${t}`};case`no-node`:return{level:`error`,Comp:nE,headline:`node not found`,explanation:`Check the target node id and try again.`,nextStep:`crtr view run chat --target ${t}`};case`invalid`:return{level:`error`,Comp:nE,headline:`invalid target`,explanation:`The target was rejected by the broker.`,nextStep:`crtr view run chat --target <node-id>`};case`error`:return e.target?{level:`error`,Comp:nE,headline:`chat connection failed`,explanation:`Reconnect to retry the stream.`,nextStep:`Press Reconnect`}:{level:`error`,Comp:nE,headline:`missing target`,explanation:`Open chat with a node id so the view can connect.`,nextStep:`crtr view run chat --target <node-id>`};default:return null}}function pD({label:e,value:t,cls:n=``}){return(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-[11px] ${n}`,children:[(0,z.jsx)(`span`,{className:`opacity-60`,children:e}),(0,z.jsx)(`span`,{className:`font-semibold`,children:t})]})}function mD({notice:e,onDismiss:t}){return(0,z.jsxs)(`div`,{className:`flex items-start gap-3 rounded-xl border px-3 py-2 text-sm ${nD[e.level]||nD.info}`,children:[(0,z.jsx)(`span`,{className:`rounded-full px-2 py-0.5 text-[11px] font-semibold uppercase tracking-wide ${rD[e.level]||rD.info}`,children:e.level}),(0,z.jsx)(`div`,{className:`min-w-0 flex-1 whitespace-pre-wrap`,children:e.text}),(0,z.jsx)(`button`,{type:`button`,className:`shrink-0 text-slate-400 hover:text-slate-700`,onClick:()=>t(e.id),"aria-label":`Dismiss notice`,children:`×`})]})}function hD({message:e,index:t,streaming:n}){let r=oD(e),i=r===`user`,a=r===`assistant`,o=i?`border-emerald-200 bg-emerald-50`:a?`border-cyan-200 bg-cyan-50`:`border-slate-200 bg-white`,s=i?`text-emerald-700`:a?`text-cyan-700`:`text-slate-700`,c=BE(e).trim(),l=dD(e),u=cD(e);return(0,z.jsxs)(`article`,{className:`rounded-2xl border px-3 py-2 shadow-sm ${o}`,children:[(0,z.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,z.jsx)(`div`,{className:`font-semibold ${s}`,children:i?`You`:a?`Agent`:r||`Message`}),n?(0,z.jsx)(`span`,{className:`rounded-full bg-cyan-100 px-2 py-0.5 text-[11px] font-semibold text-cyan-800`,children:`streaming`}):null,r===`bashExecution`?(0,z.jsx)(`span`,{className:`rounded-full bg-slate-100 px-2 py-0.5 text-[11px] font-semibold text-slate-700`,children:`bash`}):null,u?(0,z.jsx)(`div`,{className:`ml-auto text-xs text-slate-400`,children:u}):null]}),c?(0,z.jsx)(`div`,{className:`mt-1 whitespace-pre-wrap text-slate-800`,children:c}):null,l.length?(0,z.jsx)(`div`,{className:`mt-2 space-y-1 border-t border-slate-200 pt-2 text-xs text-slate-500`,children:l.map((e,n)=>(0,z.jsxs)(`div`,{className:`whitespace-pre-wrap pl-3 text-slate-500`,children:[`• `,e]},`${t}:${n}`))}):null]})}function gD({state:e,dispatch:t}){let n=fD(e);if(e.target===null)return(0,z.jsx)(`div`,{className:`flex h-full items-center justify-center p-6 text-sm text-slate-500`,children:(0,z.jsx)(rE,{headline:`missing target`,explanation:`Open chat with a node id so the view can connect.`,nextStep:`crtr view run chat --target <node-id>`,onRetry:()=>t(`reconnect`)})});if(n){let e=n.Comp;return(0,z.jsx)(`div`,{className:`flex h-full items-center justify-center p-6 text-sm text-slate-500`,children:(0,z.jsx)(e,{headline:n.headline,explanation:n.explanation,nextStep:n.nextStep,onRetry:()=>t(`reconnect`)})})}let r=e.conn===`open`?`connected`:e.conn===`connecting`?`connecting…`:e.conn,i=e.session?.sessionName||``,a=e.session?.model||``,o=e.session?.isStreaming===!0,s=e.channel!=null&&e.conn===`open`&&e.role===`controller`&&e.draft.trim()!==``,c=e.channel!=null&&e.conn===`open`&&e.role===`controller`&&o,l=e.role===`controller`?`Release control`:`Request control`,u=e.role===`controller`?`releaseControl`:`requestControl`,d=e.conn===`open`?e.role===`observer`?`Take control before sending…`:o?`Type a steer…`:`Type a message…`:`Waiting for connection…`;return(0,z.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-3 font-mono text-sm text-slate-900 outline-none`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 rounded-2xl border border-slate-200 bg-white px-3 py-2 shadow-sm`,children:[(0,z.jsx)(pD,{label:`target`,value:e.target||`—`,cls:`border-slate-200 bg-slate-50 text-slate-700`}),(0,z.jsx)(pD,{label:`conn`,value:r,cls:e.conn===`open`?`border-emerald-200 bg-emerald-50 text-emerald-700`:e.conn===`connecting`?`border-amber-200 bg-amber-50 text-amber-800`:`border-slate-200 bg-slate-50 text-slate-700`}),(0,z.jsx)(pD,{label:`role`,value:e.role,cls:e.role===`controller`?`border-cyan-200 bg-cyan-50 text-cyan-700`:`border-slate-200 bg-slate-50 text-slate-700`}),a?(0,z.jsx)(pD,{label:`model`,value:a,cls:`border-violet-200 bg-violet-50 text-violet-700`}):null,i?(0,z.jsx)(pD,{label:`session`,value:i,cls:`border-slate-200 bg-slate-50 text-slate-700`}):null,e.controllerId?(0,z.jsx)(pD,{label:`controller`,value:e.controllerId,cls:`border-slate-200 bg-slate-50 text-slate-700`}):null,typeof e.contextTokens==`number`?(0,z.jsx)(pD,{label:`tokens`,value:String(e.contextTokens),cls:`border-slate-200 bg-slate-50 text-slate-700`}):null,e.transcript.activity?(0,z.jsx)(pD,{label:`activity`,value:e.transcript.activity,cls:`border-amber-200 bg-amber-50 text-amber-800`}):null,e.queued.length?(0,z.jsx)(pD,{label:`queued`,value:e.queued.join(` · `),cls:`border-slate-200 bg-slate-50 text-slate-700`}):null,(0,z.jsxs)(`div`,{className:`ml-auto flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(`button`,{type:`button`,className:`rounded-lg border border-slate-200 bg-white px-3 py-1.5 text-sm text-slate-700 hover:bg-slate-50`,onClick:()=>t(`reconnect`),children:`Reconnect`}),(0,z.jsx)(`button`,{type:`button`,className:`rounded-lg border border-slate-200 bg-white px-3 py-1.5 text-sm text-slate-700 hover:bg-slate-50`,onClick:()=>t(u),children:l})]})]}),e.notices.length?(0,z.jsx)(`div`,{className:`space-y-2`,children:e.notices.map(e=>(0,z.jsx)(mD,{notice:e,onDismiss:e=>t(`clearNotice`,e)},e.id))}):null,(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden rounded-2xl border border-slate-200 bg-white shadow-sm`,children:(0,z.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,z.jsx)(`div`,{className:`border-b border-slate-200 px-3 py-2 text-xs uppercase tracking-[0.18em] text-slate-400`,children:`Transcript`}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1 space-y-3 overflow-y-auto p-3`,children:e.transcript.messages.length===0?e.conn===`connecting`?(0,z.jsx)(eE,{label:`Connecting to chat…`}):e.conn===`open`?(0,z.jsx)(tE,{label:`No messages yet.`}):(0,z.jsx)(`div`,{className:`flex h-full items-center justify-center text-slate-400`,children:`Waiting for welcome…`}):e.transcript.messages.map((t,n)=>(0,z.jsx)(hD,{message:t,index:n,streaming:n===e.transcript.streamingIndex&&o},n))})]})}),(0,z.jsxs)(`div`,{className:`rounded-2xl border border-slate-200 bg-white p-3 shadow-sm`,children:[(0,z.jsx)(`textarea`,{value:e.draft,onChange:e=>t(`setDraft`,e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),t(`submitDraft`))},placeholder:d,rows:3,className:`w-full resize-none rounded-xl border border-slate-200 bg-slate-50 px-3 py-2 font-mono text-sm outline-none focus:border-slate-400`}),(0,z.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(`button`,{type:`button`,className:`rounded-lg px-3 py-1.5 text-sm font-medium ${s?`bg-slate-900 text-white hover:bg-slate-800`:`cursor-not-allowed bg-slate-200 text-slate-500`}`,onClick:()=>t(`submitDraft`),disabled:!s,children:`Send`}),(0,z.jsx)(`button`,{type:`button`,className:`rounded-lg border px-3 py-1.5 text-sm ${c?`border-rose-200 bg-rose-50 text-rose-700 hover:bg-rose-100`:`cursor-not-allowed border-slate-200 bg-slate-50 text-slate-400`}`,onClick:()=>t(`abort`),disabled:!c,children:`Stop`}),(0,z.jsx)(`div`,{className:`ml-auto text-xs text-slate-400`,children:`Enter sends · Shift+Enter inserts a newline`})]})]})]})}var _D=[`👍`,`❤️`,`😂`,`🔥`,`👏`,`😮`],vD=25,yD=5,bD=1200,xD=new Set([`no-cdp`,`not-logged-in`,`capture-not-dev`,`capture-missing`]),SD=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],CD=`https://www.linkedin.com/messaging/`,wD=e=>new Promise(t=>setTimeout(t,e));function TD(e){return{ok:!0,data:e}}function ED(e){return{ok:!1,error:e}}function DD(e,t){let n=String(e??``);return n.length>t?n.slice(0,Math.max(0,t-1))+`…`:n}function OD(e,t=Date.now()){if(!e)return``;let n=Math.floor((t-e)/1e3);if(n<60)return`now`;let r=Math.floor(n/60);if(r<60)return`${r}m`;let i=Math.floor(r/60);if(i<24)return`${i}h`;let a=Math.floor(i/24);if(a<7)return`${a}d`;let o=new Date(e),s=SD[o.getMonth()]||``,c=new Date(t);return o.getFullYear()===c.getFullYear()?`${s} ${o.getDate()}`:`${s} ʼ${String(o.getFullYear()).slice(-2)}`}function kD(e){return e.slice().sort((e,t)=>!!e.unread==!!t.unread?(t.ts||0)-(e.ts||0):e.unread?-1:1)}function AD(e){return e.openUrn&&e.convos.find(t=>t.urn===e.openUrn)||null}function jD(e){return JSON.stringify(e).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}function MD(e,t,n={}){let r=[`exec`,`import {${e}} from 'libs/linkedin'; return await ${t===null?`${e}()`:`${e}(${jD(t)})`}`];return n.target&&r.push(`--target`,String(n.target)),n.port!=null&&n.port!==``&&r.push(`--port`,String(n.port)),{kind:`exec`,bin:`capture`,args:r}}function ND(e={}){let t=[`list`];return e.port!=null&&e.port!==``&&t.push(`--port`,String(e.port)),{kind:`exec`,bin:`capture`,args:t}}function PD(e={}){let t=[`open`,CD];return e.port!=null&&e.port!==``&&t.push(`--port`,String(e.port)),{kind:`exec`,bin:`capture`,args:t}}function FD(e={}){let t=[`navigate`,CD];return e.target&&t.push(`--target`,String(e.target)),e.port!=null&&e.port!==``&&t.push(`--port`,String(e.port)),{kind:`exec`,bin:`capture`,args:t}}var ID={"no-cdp":{headline:`No debuggable browser`,explanation:`crtr drives a browser over CDP and none is running.`,nextStep:`Launch Arc, or Chrome with --remote-debugging-port=9222, then press g`,level:`error`,blocking:!0},"capture-missing":{headline:`capture not found`,explanation:`crtr drives the browser through the capture CLI, which is not on PATH.`,nextStep:`Install capture (or add it to PATH), then press g`,level:`error`,blocking:!0},"capture-not-dev":{headline:`Browser bridge unavailable`,explanation:`This view needs a capture dev checkout (vault/ + esbuild).`,nextStep:``,level:`error`,blocking:!0},"not-logged-in":{headline:`Log in to continue`,explanation:`LinkedIn needs a sign-in in the browser.`,nextStep:`Log in in the opened tab, then press g`,level:`action`,blocking:!0},"no-tab":{headline:`Opening LinkedIn…`,explanation:`No messaging tab was open — opening one and waiting for it to load.`,nextStep:``,level:`action`,blocking:!0},"not-messaging":{headline:`Opening your inbox…`,explanation:`Found LinkedIn on another page — switching it to Messages.`,nextStep:``,level:`action`,blocking:!0},"rate-limited":{headline:`LinkedIn is throttling`,explanation:`Too many requests — waiting before trying again.`,nextStep:`Press g to retry`,level:`info`,blocking:!1},"not-connection":{headline:`Not a 1st-degree connection`,explanation:`LinkedIn only allows messaging 1st-degree connections.`,nextStep:``,level:`error`,blocking:!1}};function LD(e){return{headline:`Something went wrong`,explanation:e||`Unknown error.`,nextStep:`Press g to retry.`,level:`error`,blocking:!0}}function RD(e){switch(e){case`no-tab`:return{auto:`open`};case`not-messaging`:return{auto:`navigate`};case`not-logged-in`:return{banner:`Log in in the opened tab, then press g`,bannerLevel:`action`};case`no-cdp`:return{banner:`No debuggable browser — launch one, then press g`,bannerLevel:`error`};case`capture-missing`:return{banner:`capture not found — install it, then press g`,bannerLevel:`error`};case`capture-not-dev`:return{banner:`Browser bridge unavailable — capture dev checkout required`,bannerLevel:`error`};case`rate-limited`:return{keepContent:!0,banner:`LinkedIn is throttling — waiting, then retry with g`,bannerLevel:`info`};case`not-connection`:return{inline:!0,banner:`Can only message 1st-degree connections`,bannerLevel:`error`};default:return{}}}function zD(e){let t=String(e||``).split(/\r?\n/).map(e=>e.trim()).filter(Boolean);for(let e=t.length-1;e>=0;e--)if(/^ERROR:/i.test(t[e]))return t[e].replace(/^ERROR:\s*/i,``).trim();return t.length?t[t.length-1]:`capture exec failed`}function BD(e){if(!e.ok){let t=String(e.stderr||``);return/command not found|ENOENT/i.test(t)?{kind:`capture-missing`,display:ID[`capture-missing`]}:{kind:`error`,display:LD(zD(t))}}let t=String(e.stderr||``);return/No browser with CDP found/i.test(t)||/fetch failed/i.test(t)||/failed to fetch/i.test(t)||/ECONNREFUSED/i.test(t)?{kind:`no-cdp`,display:ID[`no-cdp`]}:/No tab found/i.test(t)?{kind:`no-tab`,display:ID[`no-tab`]}:/Unauthenticated/i.test(t)?{kind:`not-logged-in`,display:ID[`not-logged-in`]}:/Messaging queryId not found/i.test(t)||/Navigate to \/messaging\//i.test(t)?{kind:`not-messaging`,display:ID[`not-messaging`]}:/RateLimited/i.test(t)||/\b429\b/.test(t)?{kind:`rate-limited`,display:ID[`rate-limited`]}:/must be a 1st-degree connection/i.test(t)?{kind:`not-connection`,display:ID[`not-connection`]}:/DEV_ONLY_MSG/i.test(t)?{kind:`capture-not-dev`,display:ID[`capture-not-dev`]}:{kind:`error`,display:LD(zD(t))}}function VD(e){let t=String(e.stdout||``).trim();if(t===``)return TD(null);try{return TD(JSON.parse(t))}catch{return ED({kind:`error`,display:LD(`could not parse capture output as JSON: ${DD(t,300)}`)})}}function HD(e){if(typeof e!=`string`||e===``)return 0;let t=Date.parse(e);return Number.isNaN(t)?0:t}function UD(e){let t=e||{},n=Array.isArray(t.participants)?t.participants:[],r=n[0]||{},i=n.map(e=>e&&e.name).filter(Boolean),a=t.title||r.name||(i.length?i.join(`, `):`Unknown`);return{urn:typeof t.conversationUrn==`string`?t.conversationUrn:``,name:a,lastMessage:typeof t.lastMessage==`string`?t.lastMessage:``,unread:typeof t.unreadCount==`number`?t.unreadCount>0:!1,ts:HD(t.lastActivityAt),recipientId:typeof r.memberId==`string`?r.memberId:``}}function WD(e){let t=e||{};return{urn:typeof t.messageUrn==`string`?t.messageUrn:``,sender:typeof t.fromName==`string`?t.fromName:``,text:typeof t.text==`string`?t.text:``,ts:HD(t.sentAt),fromMe:!1,fromMemberId:typeof t.fromMemberId==`string`?t.fromMemberId:``}}function GD(e,t){return e.map(e=>({urn:e.urn,sender:e.sender,text:e.text,ts:e.ts,fromMe:!!t&&e.fromMemberId===t}))}function KD(e){if(!e.ok||e.exitCode!==0)return ED(BD(e));let t=VD(e);return t.ok?TD((t.data&&Array.isArray(t.data.messages)?t.data.messages:[]).map(WD)):t}function qD(e){try{let t=new URL(e).hostname.toLowerCase();return t===`linkedin.com`||t.endsWith(`.linkedin.com`)}catch{return!1}}var JD={id:`li-discover-tab`,request:e=>ND(e),parse:e=>{if(!e.ok||e.exitCode!==0)return ED(BD(e));let t;try{t=JSON.parse(String(e.stdout||``).trim()||`[]`)}catch{return ED({kind:`error`,display:LD(`could not parse capture list output: ${DD(e.stdout,300)}`)})}if(!Array.isArray(t))return ED({kind:`no-tab`,display:ID[`no-tab`]});let n=t.filter(e=>e&&typeof e.url==`string`&&qD(e.url)),r=n.find(e=>/\/messaging\//i.test(e.url))||n[0];return r&&r.id?TD(String(r.id)):ED({kind:`no-tab`,display:ID[`no-tab`]})}},YD={id:`li-context`,request:e=>MD(`getContext`,null,e),parse:e=>{if(!e.ok||e.exitCode!==0)return ED(BD(e));let t=VD(e);if(!t.ok)return t;let n=t.data||{};return!n.csrf||!n.memberId?ED({kind:`error`,display:LD(`getContext() returned no csrf/memberId`)}):TD({csrf:String(n.csrf),memberId:String(n.memberId)})}},XD={id:`li-conversations`,request:e=>MD(`listConversations`,{count:e.count,csrf:e.csrf,memberId:e.memberId},e),parse:e=>{if(!e.ok||e.exitCode!==0)return ED(BD(e));let t=VD(e);return t.ok?TD((t.data&&Array.isArray(t.data.conversations)?t.data.conversations:[]).map(UD)):t}},ZD={id:`li-open-tab`,request:e=>PD(e),parse:e=>{if(!e.ok||e.exitCode!==0)return ED(BD(e));let t=VD(e);return t.ok?t.data&&t.data.id?TD(String(t.data.id)):ED({kind:`error`,display:LD(`capture open returned no tab id`)}):t}},QD={id:`li-navigate`,request:e=>FD(e),parse:e=>e.ok&&e.exitCode===0?TD(void 0):ED(BD(e))},$D={id:`li-view-thread`,request:e=>MD(`viewConversation`,{csrf:e.csrf,conversationUrn:e.conversationUrn},e),parse:KD},eO={id:`li-mark-read`,request:e=>MD(`markConversationAsRead`,{csrf:e.csrf,conversationUrn:e.conversationUrn},e),parse:e=>e.ok&&e.exitCode===0?TD(void 0):ED(BD(e))},tO={id:`li-send`,request:e=>{let t={csrf:e.csrf,myMemberId:e.myMemberId,recipient:e.recipient,text:e.text};return e.conversationUrn&&(t.conversationUrn=e.conversationUrn),MD(`sendMessage`,t,e)},parse:e=>{if(!e.ok||e.exitCode!==0)return ED(BD(e));let t=VD(e);if(!t.ok)return t;let n=t.data||{};if(n.success===!1){let e=typeof n.error==`string`?n.error:`send failed`;return/1st-degree connection/i.test(e)?ED({kind:`not-connection`,display:ID[`not-connection`]}):ED({kind:`error`,display:LD(e)})}return TD(void 0)}},nO={id:`li-react`,request:e=>MD(`reactToMessage`,{csrf:e.csrf,messageUrn:e.messageUrn,emoji:e.emoji},e),parse:e=>{if(!e.ok||e.exitCode!==0)return ED(BD(e));let t=VD(e);return t.ok?t.data&&t.data.success===!1?ED({kind:`error`,display:LD(`LinkedIn rejected the reaction`)}):TD(void 0):t}};function rO(e){return{target:e.target||void 0,port:e.port}}async function iO(e){let t=e.state,n=t.target||``,r=t.auth,i=t.port;if(!n){let t=await e.resolve(JD,{port:i});if(!t.ok)return t;n=t.data}if(!r){let t=await e.resolve(YD,{target:n,port:i});if(!t.ok)return t;r=t.data}let a=await e.resolve(XD,{target:n,port:i,csrf:r.csrf,memberId:r.memberId,count:vD});if(!a.ok)return a;let o=kD(a.data),s=t.thread;if(t.openUrn){let a=await e.execute($D,{target:n,port:i,csrf:r.csrf,conversationUrn:t.openUrn});a.ok&&(s=GD(a.data,r.memberId))}return{ok:!0,data:{target:n,auth:r,convos:o,thread:s}}}function aO(e,t){e.set(e=>{let n=e.convCursor>=t.convos.length?Math.max(0,t.convos.length-1):e.convCursor;return{...e,target:t.target,auth:t.auth,convos:t.convos,thread:t.thread,convCursor:n,recovery:null,loginTabOpened:!1,lastFetch:Date.now()}}),e.signal.setStatus(null),e.signal.clearBanner(),e.state.mode===`list`&&e.signal.setMode(null),oO(e)}function oO(e){let t=0;for(let n of e.state.convos)n.unread&&t++;e.signal.setSubtitle(t>0?`${t} unread`:null)}function sO(e,t){e.signal.setStatus(null),e.signal.setMode(null);let n=RD(t.kind);n.inline||n.keepContent&&e.state.convos.length?e.set(e=>({...e,recovery:null})):e.set(e=>({...e,recovery:{display:t.display,spinner:!1}})),n.banner?e.signal.setBanner(n.banner,n.bannerLevel||`error`):e.signal.clearBanner()}async function cO(e){for(let t=1;t<=yD;t++){await wD(bD);let n=e.state.recovery,r=n&&n.startedAt?Math.max(0,Math.floor((Date.now()-n.startedAt)/1e3)):t;e.signal.setStatus(`Loading messages… (${r}s)`);let i=await iO(e);if(i.ok){aO(e,i.data);return}if(xD.has(i.error.kind)){sO(e,i.error);return}}e.set(e=>({...e,recovery:e.recovery?{...e.recovery,spinner:!1}:null})),e.signal.setStatus(null),e.signal.setBanner(`Still loading — press g to retry`,`action`)}async function lO(e,t){let n=RD(t.kind),r=e.state.port;if(n.auto){e.signal.setMode(null),e.signal.clearBanner(),e.set(e=>({...e,recovery:{display:t.display,spinner:!0,startedAt:Date.now()}})),e.signal.setStatus(t.display.headline);let i=n.auto===`open`?await e.execute(ZD,{port:r}):await e.execute(QD,{target:e.state.target||void 0,port:r});if(!i.ok){sO(e,i.error);return}e.set(e=>({...e,target:n.auto===`open`&&i.data?i.data:e.target,auth:null})),await cO(e);return}if(t.kind===`not-logged-in`&&!e.state.loginTabOpened){let t=await e.execute(ZD,{port:r});e.set(e=>({...e,target:t.ok&&t.data?t.data:e.target,loginTabOpened:!0}))}sO(e,t)}function uO(e,t){let n=RD(t.kind);n.banner?e.signal.setBanner(n.banner,n.bannerLevel||`error`):e.signal.setBanner(t.display.explanation||t.display.headline,t.display.level)}var dO={manifest:{id:`linkedin`,title:`LinkedIn Messages`,description:`Inbox — read, reply, react`,refreshMs:3e4},init(e){let t=e||{};return{auth:null,target:t.target||null,port:t.port||void 0,convos:[],convCursor:0,convScroll:0,openUrn:null,thread:[],threadScroll:0,mode:`list`,draft:``,reactCursor:0,lastFetch:0,recovery:null,loginTabOpened:!1}},sources:{discoverTabSource:JD,contextSource:YD,conversationsSource:XD},commands:{openTabCommand:ZD,navigateCommand:QD,viewThreadCommand:$D,markReadCommand:eO,sendMessageCommand:tO,reactCommand:nO},intents:{async refresh(e){if(e.state.mode!==`list`)return;e.signal.setStatus(`Loading…`);let t=await iO(e);if(t.ok){aO(e,t.data);return}await lO(e,t.error)},cursorDown:e=>e.set(e=>({...e,convCursor:e.convos.length?Math.min(e.convos.length-1,e.convCursor+1):0})),cursorUp:e=>e.set(e=>({...e,convCursor:Math.max(0,e.convCursor-1)})),async openThread(e,t){let n=typeof t==`number`?t:e.state.convCursor,r=e.state.convos[n];if(!r)return;if(!e.state.auth){e.signal.setBanner(`Not ready yet — press g to refresh`,`action`);return}let i=e.state.auth;e.set(e=>({...e,convCursor:n,openUrn:r.urn,thread:[],threadScroll:0})),e.signal.setStatus(`Loading thread…`);let a=await e.execute($D,{...rO(e.state),csrf:i.csrf,conversationUrn:r.urn});if(!a.ok){e.signal.setStatus(null),uO(e,a.error);return}e.set(e=>({...e,thread:GD(a.data,i.memberId)})),await e.execute(eO,{...rO(e.state),csrf:i.csrf,conversationUrn:r.urn}),e.set(e=>({...e,convos:e.convos.map(e=>e.urn===r.urn?{...e,unread:!1}:e)})),e.signal.setStatus(null),e.signal.clearBanner(),oO(e)},startReply:e=>{if(!e.state.openUrn){e.signal.setBanner(`Open a conversation first`,`action`);return}e.set(e=>({...e,mode:`reply`,draft:``})),e.signal.setMode(`compose`),e.signal.clearBanner()},setDraft:(e,t)=>e.set(e=>({...e,draft:typeof t==`string`?t:``})),cancelCompose:e=>{e.set(e=>({...e,mode:`list`,draft:``})),e.signal.setMode(null)},async submitReply(e){let t=e.state.draft.trim();if(!t){e.set(e=>({...e,mode:`list`,draft:``})),e.signal.setMode(null);return}let n=AD(e.state),r=e.state.auth;if(!n||!r){e.signal.setBanner(`No open conversation to reply to.`,`error`),e.set(e=>({...e,mode:`list`})),e.signal.setMode(null);return}let i=e.state.openUrn;e.set(e=>({...e,mode:`list`})),e.signal.setMode(null),e.signal.setStatus(`Sending…`);let a=await e.execute(tO,{...rO(e.state),csrf:r.csrf,myMemberId:r.memberId,recipient:n.recipientId,text:t,conversationUrn:i||void 0});if(!a.ok){e.signal.setStatus(null),uO(e,a.error);return}e.set(e=>({...e,thread:[...e.thread,{urn:``,sender:`You`,text:t,ts:Date.now(),fromMe:!0}],draft:``}));let o=await e.execute($D,{...rO(e.state),csrf:r.csrf,conversationUrn:i||``});o.ok&&e.set(e=>({...e,thread:GD(o.data,r.memberId)})),e.signal.clearBanner(),e.signal.setStatus(`Sent`)},startReact:e=>{if(!e.state.openUrn||e.state.thread.length===0){e.signal.setBanner(`Open a conversation first`,`action`);return}e.set(e=>({...e,mode:`react`,reactCursor:0})),e.signal.setMode(`react`),e.signal.clearBanner()},reactPrev:e=>e.set(e=>({...e,reactCursor:Math.max(0,e.reactCursor-1)})),reactNext:e=>e.set(e=>({...e,reactCursor:Math.min(_D.length-1,e.reactCursor+1)})),reactPick:(e,t)=>e.set(e=>({...e,reactCursor:typeof t==`number`?Math.max(0,Math.min(_D.length-1,t)):e.reactCursor})),async submitReact(e){let t=e.state.thread.length?e.state.thread[e.state.thread.length-1]:null,n=e.state.auth;if(e.set(e=>({...e,mode:`list`})),e.signal.setMode(null),!t||!t.urn||!n){e.signal.setBanner(`No message to react to.`,`error`);return}let r=_D[e.state.reactCursor]||_D[0];e.signal.setStatus(`Reacting…`);let i=await e.execute(nO,{...rO(e.state),csrf:n.csrf,messageUrn:t.urn,emoji:r});if(!i.ok){e.signal.setStatus(null),uO(e,i.error);return}e.signal.clearBanner(),e.signal.setStatus(`Reacted `+r)},quit:e=>e.signal.quit()}};function fO(e){return{ok:!0,data:e}}function pO(e){return{ok:!1,error:e}}var mO=[`👍`,`❤️`,`😂`,`🔥`,`👏`,`😮`],hO={error:3,action:2,info:1},gO=[{id:`linkedin`,label:`LinkedIn`,badge:{glyph:`in`,fg:`36`},connectKey:`L`},{id:`gmail`,label:`Gmail`,badge:{glyph:`@`,fg:`31`},connectKey:`G`}],_O={};for(let e of gO)_O[e.id]=e;function vO(e){let t=_O[e];return t&&t.badge||{glyph:`?`,fg:`37`}}function yO(e){let t=_O[e];return t&&t.label||e}var bO=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function xO(e,t){let n=String(e??``);return n.length>t?n.slice(0,Math.max(0,t-1))+`…`:n}function SO(e,t=Date.now()){if(!e)return``;let n=Math.floor((t-e)/1e3);if(n<60)return`now`;let r=Math.floor(n/60);if(r<60)return`${r}m`;let i=Math.floor(r/60);if(i<24)return`${i}h`;let a=Math.floor(i/24);if(a<7)return`${a}d`;let o=new Date(e),s=bO[o.getMonth()]||``,c=new Date(t);return o.getFullYear()===c.getFullYear()?`${s} ${o.getDate()}`:`${s} ʼ${String(o.getFullYear()).slice(-2)}`}function CO(e){if(!e)return``;let t=new Date(e);return`${t.getFullYear()}-${t.getMonth()}-${t.getDate()}`}function wO(e,t=Date.now()){let n=new Date(e),r=new Date(t),i=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate();if(i(n,r))return`Today`;if(i(n,new Date(t-864e5)))return`Yesterday`;let a=bO[n.getMonth()]||``;return n.getFullYear()===r.getFullYear()?`${a} ${n.getDate()}`:`${a} ${n.getDate()}, ${n.getFullYear()}`}function TO(e,t){let n=String(t??``),r=`${e}:`.toLowerCase();return n.toLowerCase().startsWith(r)?n:`${e}: ${n}`}function EO(e){let t=0;for(let n of gO)if(e.ready[n.id])for(let r of e.rowsBySource[n.id]||[])r.unread&&t++;return t}function DO(e){let t=null,n=-1;for(let r of gO){let i=e.banners[r.id];if(!i||!i.display)continue;let a=(hO[i.display.level]||0)+(i.display.blocking?10:0);a>n&&(n=a,t={label:r.label,d:i.display})}return t}var OO=`https://mail.google.com`,kO=25,AO=25,jO=5,MO=1200,NO=new Set([`no-cdp`,`not-logged-in`,`capture-not-dev`,`capture-missing`]);function PO(e){return new Promise(t=>setTimeout(t,e))}function FO(e){return JSON.stringify(e).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}function IO(e,t,n){return`import {${t}} from '${e}'; return await ${n===null?`${t}()`:`${t}(${FO(n)})`}`}function LO(e,t,n){return t&&e.push(`--target`,String(t)),n!=null&&n!==``&&e.push(`--port`,String(n)),e}function RO(e,t){return t!=null&&t!==``&&e.push(`--port`,String(t)),e}function zO(e){let t=String(e||``).trim();return t===``?null:JSON.parse(t)}function BO(e){let t=String(e||``).split(/\r?\n/).map(e=>e.trim()).filter(Boolean);for(let e=t.length-1;e>=0;e--)if(/^ERROR:/i.test(t[e]))return t[e].replace(/^ERROR:\s*/i,``).trim();return t.length?t[t.length-1]:`capture exec failed`}function VO(e,t){return{kind:e,display:t}}var HO=`This view needs a capture dev checkout (vault/ source + esbuild). Not available in the published package.`;function UO(e){let t=String(e||``);return/No browser with CDP found/i.test(t)||/fetch failed/i.test(t)||/failed to fetch/i.test(t)||/ECONNREFUSED/i.test(t)?{kind:`no-cdp`}:/No tab found/i.test(t)?{kind:`no-tab`}:/DEV_ONLY/i.test(t)||/dev-only feature of capture/i.test(t)||/published package/i.test(t)?{kind:`capture-not-dev`}:/RateLimited/i.test(t)||/\b429\b/.test(t)?{kind:`rate-limited`}:/Unauthenticated/i.test(t)||/XSRF token not found/i.test(t)||/GLOBALS not found/i.test(t)||/may not be logged in/i.test(t)||/not be logged in/i.test(t)||/Not on Gmail domain/i.test(t)||/Account number not found/i.test(t)||/Navigate to mail\.google\.com/i.test(t)?{kind:`not-logged-in`}:{kind:`error`,message:BO(t)}}function WO(e){switch(e&&e.kind||`error`){case`no-cdp`:return VO(`no-cdp`,{headline:`No debuggable browser`,explanation:`crtr drives a browser over CDP and none is running.`,nextStep:`Launch Chrome with --remote-debugging-port=9222 (or Arc), then press g`,banner:`Gmail: no debuggable browser — launch one, then g`,level:`error`,blocking:!0});case`no-tab`:return VO(`no-tab`,{headline:`No Gmail tab`,explanation:`Open mail.google.com in the debuggable browser.`,nextStep:`Press G to connect`,banner:`Gmail: open mail.google.com, then press g`,level:`action`,blocking:!0});case`not-logged-in`:return VO(`not-logged-in`,{headline:`Log in to Gmail`,explanation:`Gmail needs a sign-in in the browser.`,nextStep:`Log in in the opened tab, then press g`,banner:`Gmail: log in, then press g`,level:`action`,blocking:!0});case`rate-limited`:return VO(`rate-limited`,{headline:`Gmail is throttling`,explanation:`Too many requests — wait a moment before retrying.`,nextStep:`Press g to retry`,banner:`Gmail: throttled — wait, then press g`,level:`info`,blocking:!1});case`capture-not-dev`:return VO(`capture-not-dev`,{headline:`Browser bridge unavailable`,explanation:HO,nextStep:null,banner:`Gmail: browser bridge unavailable — capture dev checkout required`,level:`error`,blocking:!0});case`still-loading`:return VO(`still-loading`,{headline:`Still loading Gmail…`,explanation:`Gmail is taking a while to load.`,nextStep:`Press g to retry`,banner:`Gmail: still loading — press g to retry`,level:`action`,blocking:!1});default:{let t=e&&e.message||`Unknown error.`;return VO(`error`,{headline:`Something went wrong`,explanation:t,nextStep:`Press g to retry`,banner:`Gmail: ${xO(t,80)}`,level:`error`,blocking:!0})}}}function GO(){return WO({kind:`error`,message:`capture binary not found — install capture or set CAPTURE_BIN.`})}function KO(e){return typeof e==`number`&&Number.isFinite(e)?e:0}function qO(e){let t=e||{};return typeof t.name==`string`&&t.name.trim()?t.name:typeof t.email==`string`&&t.email.trim()?t.email:`Unknown`}function JO(e){let t=e||{};return typeof t.email==`string`?t.email:``}function YO(e){let t=e||{},n=typeof t.threadId==`string`?t.threadId:``,r=t.from||{};return{sourceId:`gmail`,key:`gmail:${n}`,name:qO(r),snippet:typeof t.snippet==`string`&&t.snippet?t.snippet:typeof t.subject==`string`?t.subject:``,unread:t.unread===!0,ts:KO(t.date),ref:{threadId:n,messageId:typeof t.messageId==`string`?t.messageId:``,subject:typeof t.subject==`string`?t.subject:``,fromEmail:JO(r),fromName:qO(r)}}}function XO(e,t){let n=e||{},r=n.from||{},i=JO(r);return{sender:qO(r),fromMe:!!t&&i.toLowerCase()===t.toLowerCase(),text:typeof n.body==`string`&&n.body?n.body:typeof n.snippet==`string`?n.snippet:``,ts:KO(n.date)}}function ZO(e){let t=String(e||``).replace(/^\s*(re:\s*)+/i,``).trim();return t?`Re: ${t}`:`Re:`}function QO(e){try{return new URL(e).hostname.toLowerCase()===`mail.google.com`}catch{return!1}}var $O={id:`gmail-discover`,request:e=>({kind:`exec`,bin:`capture`,args:RO([`list`],e&&e.port)}),parse:e=>{if(!e.ok)return pO(GO());if(e.exitCode!==0)return pO(WO(UO(e.stderr)));let t;try{t=zO(e.stdout)||[]}catch{return pO(WO({kind:`error`,message:`could not parse capture list output`}))}if(!Array.isArray(t))return pO(WO({kind:`no-tab`}));let n=t.filter(e=>e&&typeof e.url==`string`&&QO(e.url))[0];return n&&n.id?fO(String(n.id)):pO(WO({kind:`no-tab`}))}},ek={id:`gmail-context`,request:e=>({kind:`exec`,bin:`capture`,args:LO([`exec`,IO(`libs/gmail`,`getContext`,null)],e&&e.target,e&&e.port)}),parse:e=>{if(!e.ok)return pO(GO());if(e.exitCode!==0)return pO(WO(UO(e.stderr)));let t;try{t=zO(e.stdout)||{}}catch{return pO(WO({kind:`error`,message:`could not parse getContext output`}))}return!t.xsrf||t.account==null||!t.globals?pO(WO({kind:`error`,message:`getContext() returned no xsrf/account/globals`})):fO({xsrf:String(t.xsrf),account:Number(t.account),email:typeof t.email==`string`?t.email:``,globals:t.globals})}},tk={id:`gmail-inbox`,request:e=>({kind:`exec`,bin:`capture`,args:LO([`exec`,IO(`libs/gmail`,`listInbox`,{xsrf:e.xsrf,account:e.account,globals:e.globals,count:e&&e.count||AO})],e&&e.target,e&&e.port)}),parse:e=>{if(!e.ok)return pO(GO());if(e.exitCode!==0)return pO(WO(UO(e.stderr)));let t;try{t=zO(e.stdout)||{}}catch{return pO(WO({kind:`error`,message:`could not parse listInbox output`}))}return fO((t&&Array.isArray(t.messages)?t.messages:[]).map(YO))}},nk={id:`gmail-thread`,request:e=>({kind:`exec`,bin:`capture`,args:LO([`exec`,IO(`libs/gmail`,`readEmail`,{xsrf:e.xsrf,account:e.account,globals:e.globals,threadId:e.threadId})],e&&e.target,e&&e.port)}),parse:e=>{if(!e.ok)return pO(GO());if(e.exitCode!==0)return pO(WO(UO(e.stderr)));let t;try{t=zO(e.stdout)||{}}catch{return pO(WO({kind:`error`,message:`could not parse readEmail output`}))}return fO(t&&Array.isArray(t.messages)?t.messages:[])}},rk={id:`gmail-open`,request:e=>({kind:`exec`,bin:`capture`,args:RO([`open`,OO],e&&e.port)}),parse:e=>{if(!e.ok)return pO(GO());if(e.exitCode!==0)return pO(WO(UO(e.stderr)));let t;try{t=zO(e.stdout)||{}}catch{return pO(WO({kind:`error`,message:`could not parse capture open output`}))}return t&&t.id?fO(String(t.id)):pO(WO({kind:`error`,message:`capture open returned no tab id`}))}},ik={id:`gmail-reply`,request:e=>({kind:`exec`,bin:`capture`,args:LO([`exec`,IO(`libs/gmail`,`replyEmail`,{xsrf:e.xsrf,account:e.account,globals:e.globals,threadId:e.threadId,originalMsgId:e.originalMsgId,to:e.to,subject:e.subject,body:e.body})],e&&e.target,e&&e.port)}),parse:e=>{if(!e.ok)return pO(GO());if(e.exitCode!==0)return pO(WO(UO(e.stderr)));let t;try{t=zO(e.stdout)||{}}catch{return pO(WO({kind:`error`,message:`could not parse replyEmail output`}))}return t&&t.success===!1?pO(WO({kind:`error`,message:`Gmail rejected the reply`})):fO(void 0)}};function ak(e,t){let n=t&&t.message?String(t.message):e;return VO(`error`,{headline:e,explanation:n,nextStep:`Press g to retry`,banner:n,level:`error`,blocking:!1})}function ok(e){return e===`no-tab`?`open`:e===`not-messaging`?`navigate`:null}async function sk(e,t){if(!t.target){let n=await e.resolve(JD,{port:t.port});if(!n.ok)return n;t.target=n.data}if(!t.ctx){let n=await e.resolve(YD,{target:t.target,port:t.port});if(!n.ok)return n;t.ctx=n.data}let n=await e.resolve(XD,{target:t.target,port:t.port,csrf:t.ctx.csrf,memberId:t.ctx.memberId,count:kO});return n.ok?(t.convos=n.data,{ok:!0}):n}async function ck(e,t){for(let n=1;n<=jO;n++){await PO(MO);let n=await sk(e,t);if(n.ok)return t.loginTabOpened=!1,{ok:!0};if(NO.has(n.error.kind))return n}return pO(VO(`settling`,{headline:`Still loading`,explanation:`LinkedIn is taking a moment to load.`,nextStep:`Press g to retry`,banner:`still loading — press g to retry`,level:`action`,blocking:!1}))}async function lk(e,t){let n=await sk(e,t);if(n.ok)return t.loginTabOpened=!1,{ok:!0};let r=n.error,i=ok(r.kind);if(i){let n=i===`open`?await e.execute(ZD,{port:t.port}):await e.execute(QD,{target:t.target,port:t.port});return n.ok?(i===`open`&&n.data&&(t.target=n.data),t.ctx=null,ck(e,t)):n}if(r.kind===`not-logged-in`&&!t.loginTabOpened){let n=await e.execute(ZD,{port:t.port});n.ok&&n.data&&(t.target=n.data),t.loginTabOpened=!0}return n}async function uk(e,t){if(!t.target){let n=await e.resolve($O,{port:t.port});if(!n.ok)return n;t.target=n.data}if(!t.ctx){let n=await e.resolve(ek,{target:t.target,port:t.port});if(!n.ok)return n;t.ctx=n.data}return{ok:!0}}async function dk(e,t){for(let n=1;n<=jO;n++){await PO(MO),e.signal.setStatus(`Loading Gmail… (${n})`);let r=await uk(e,t);if(r.ok)return t.loginTabOpened=!1,{ok:!0};if(NO.has(r.error.kind))return r}return pO(WO({kind:`still-loading`}))}async function fk(e,t){let n=await uk(e,t);if(n.ok)return t.loginTabOpened=!1,{ok:!0};let r=n.error.kind;if(r===`no-tab`){e.signal.setStatus(`Opening Gmail…`);let n=await e.execute(rk,{port:t.port});return n.ok?(t.target=n.data,t.ctx=null,dk(e,t)):n}if(r===`not-logged-in`){if(!t.loginTabOpened){let n=await e.execute(rk,{port:t.port});n.ok&&n.data&&(t.target=n.data),t.loginTabOpened=!0}return n}return n}function pk(e){let t=e.ctx?e.ctx.csrf:``,n=e.ctx?e.ctx.memberId:``;return(e.convos||[]).map(e=>({sourceId:`linkedin`,key:`linkedin:${e.urn}`,name:e.name||`Unknown`,snippet:e.lastMessage||``,unread:!!e.unread,ts:e.ts||0,ref:{urn:e.urn,recipientId:e.recipientId,csrf:t,memberId:n}}))}async function mk(e,t,n){let r=t.ctx&&t.ctx.csrf||n.csrf,i=t.ctx&&t.ctx.memberId||n.memberId;if(!r)return pO(VO(`error`,{headline:`Something went wrong`,explanation:`not authenticated yet`,nextStep:`Press g to retry`,banner:`not authenticated yet`,level:`error`,blocking:!1}));let a=await e.execute($D,{target:t.target,port:t.port,csrf:r,conversationUrn:n.urn});if(!a.ok)return a;let o=GD(a.data,i);t.threads={...t.threads,[n.urn]:o};let s=(t.convos||[]).find(e=>e.urn===n.urn);s&&(s.unread=!1);let c=s?s.name:`Conversation`,l=o.map(e=>({sender:e.sender,fromMe:e.fromMe,text:e.text,ts:e.ts}));return fO({title:c||`Conversation`,messages:l,canReply:!0,canReact:!0})}async function hk(e,t,n){let r=n&&n.threadId?n.threadId:``;if(!r)return pO(WO({kind:`error`,message:`loadThread: missing threadId`}));let i=await e.resolve(nk,{xsrf:t.ctx.xsrf,account:t.ctx.account,globals:t.ctx.globals,threadId:r,target:t.target,port:t.port});if(!i.ok)return i;let a=i.data,o=t.ctx.email||``,s=a[0]||{},c=a[a.length-1]||{},l=typeof s.subject==`string`&&s.subject||n&&n.subject||`(no subject)`,u=JO(c.from)||JO(s.from),d=c.to&&c.to[0]&&JO(c.to[0])||s.to&&s.to[0]&&JO(s.to[0])||``,f=u||d?`from ${u||`—`} · to ${d||`—`}`:void 0;return fO({title:l,...f?{subtitle:f}:{},messages:a.map(e=>XO(e,o)),canReply:!0,canReact:!1})}async function gk(e,t,n,r){let i=n&&n.threadId?n.threadId:``;if(!i)return pO(WO({kind:`error`,message:`reply: missing threadId`}));let a=String(r??``);if(!a.trim())return pO(WO({kind:`error`,message:`reply: empty body`}));let o=await e.resolve(nk,{xsrf:t.ctx.xsrf,account:t.ctx.account,globals:t.ctx.globals,threadId:i,target:t.target,port:t.port});if(!o.ok)return o;let s=o.data;if(s.length===0)return pO(WO({kind:`error`,message:`reply: thread has no messages`}));let c=(t.ctx.email||``).toLowerCase(),l=s[s.length-1]||{},u=typeof l.messageId==`string`?l.messageId:n&&n.messageId||``;if(!u)return pO(WO({kind:`error`,message:`reply: could not resolve message id`}));let d=null;for(let e=s.length-1;e>=0;e--){let t=JO((s[e]||{}).from).toLowerCase();if(t&&t!==c){d=s[e];break}}let f=d?JO(d.from):``;if(f||=l.to&&l.to[0]&&JO(l.to[0])||``,!f&&n&&n.fromEmail&&(f=n.fromEmail),!f)return pO(WO({kind:`error`,message:`reply: could not determine recipient`}));let p=ZO(d&&d.subject||l.subject||n&&n.subject||``);return e.execute(ik,{xsrf:t.ctx.xsrf,account:t.ctx.account,globals:t.ctx.globals,threadId:i,originalMsgId:u,to:f,subject:p,body:a,target:t.target,port:t.port})}function _k(e){e.sort((e,t)=>!!e.unread==!!t.unread?(t.ts||0)-(e.ts||0):e.unread?-1:1)}function vk(e,t,n,r){let i=n[r],a=i&&i.key,o=[];for(let n of gO)t!==`all`&&t!==n.id||(o=o.concat(e[n.id]||[]));_k(o);let s=r;if(a){let e=o.findIndex(e=>e.key===a);e>=0&&(s=e)}return s>=o.length&&(s=Math.max(0,o.length-1)),s<0&&(s=0),{rows:o,cursor:s}}function yk(e,t){let n=[];for(let e of gO){let r=t&&t[e.id];r&&r.display&&n.push({label:e.label,d:r.display})}if(n.length===0){e.signal.clearBanner();return}let r=`info`;for(let e of n)(hO[e.d.level]||0)>(hO[r]||0)&&(r=e.d.level);let i=n.map(e=>TO(e.label,e.d.banner||e.d.explanation||e.d.headline)).join(` · `);e.signal.setBanner(i,r)}function bk(e,t,n){let r=yO(t),i=n&&n.display,a=i&&(i.banner||i.explanation||i.headline);a?e.signal.setBanner(TO(r,a),i&&i.level||`error`):e.signal.setBanner(`${r}: error`,`error`)}function xk(e){let t=e.state,n=EO(t),r=[];if(n>0&&r.push(`${n} unread`),t.filter!==`all`){let e=_O[t.filter];r.push(`${e?e.label:t.filter} only`)}e.signal.setSubtitle(r.length?r.join(` · `):null)}function Sk(e){return{...e,threads:{...e.threads||{}},convos:(e.convos||[]).map(e=>({...e}))}}function Ck(e){return{...e}}function wk(e){return{linkedin:Sk(e.linkedin),gmail:Ck(e.gmail)}}var Tk={manifest:{id:`inbox`,title:`Inbox`,description:`Combined inbox — triage LinkedIn + Gmail in one ranked list`,refreshMs:3e4},init(e){return{subs:{linkedin:{ctx:null,target:e&&e.target||null,port:e&&e.port||void 0,convos:[],threads:{},loginTabOpened:!1},gmail:{target:null,port:void 0,ctx:null,loginTabOpened:!1}},rowsBySource:{},rows:[],cursor:0,scroll:0,openKey:null,openRow:null,thread:null,threadScroll:0,mode:`list`,draft:``,reactCursor:0,filter:`all`,banners:{},ready:{},lastFetch:0}},sources:{gmailDiscover:$O,gmailContext:ek,gmailInbox:tk,gmailThread:nk},commands:{gmailOpen:rk,gmailReply:ik},intents:{async refresh(e){if(e.state.mode!==`list`)return;e.signal.setStatus(`Refreshing…`);let t=e.state,n=wk(t.subs),r={},i={},a={};for(let t of gO){let o=t.id,s=n[o],c;try{c=o===`linkedin`?await lk(e,s):await fk(e,s)}catch(e){c={ok:!1,error:ak(`source error`,e)}}if(c.ok)if(a[o]=!0,i[o]=null,o===`linkedin`)r[o]=pk(s);else{let t;try{t=await e.resolve(tk,{xsrf:s.ctx.xsrf,account:s.ctx.account,globals:s.ctx.globals,count:AO,target:s.target,port:s.port})}catch(e){t={ok:!1,error:ak(`list failed`,e)}}t.ok?r[o]=t.data:(r[o]=[],i[o]=t.error)}else a[o]=!1,r[o]=[],i[o]=c.error}e.set(e=>{let{rows:t,cursor:o}=vk(r,e.filter,e.rows,e.cursor);return{...e,subs:n,rowsBySource:r,banners:i,ready:a,rows:t,cursor:o,lastFetch:Date.now()}}),e.signal.setStatus(null),yk(e,i),xk(e)},cursorDown:e=>e.set(e=>({...e,cursor:e.rows.length?Math.min(e.rows.length-1,e.cursor+1):0})),cursorUp:e=>e.set(e=>({...e,cursor:Math.max(0,e.cursor-1)})),async open(e,t){let n=e.state,r=typeof t==`number`?t:n.cursor,i=n.rows[r];if(!i)return;e.signal.setStatus(`Loading thread…`);let a=wk(n.subs),o=i.sourceId,s;try{s=o===`linkedin`?await mk(e,a.linkedin,i.ref):await hk(e,a.gmail,i.ref)}catch(e){s={ok:!1,error:ak(`could not load thread`,e)}}if(e.signal.setStatus(null),!s.ok){e.set(e=>({...e,subs:a,openKey:i.key,openRow:i,thread:null,threadScroll:0})),bk(e,o,s.error);return}e.set(e=>{let t=e=>e.key===i.key?{...e,unread:!1}:e,n=e.rows.map(t),r={...e.rowsBySource};return r[o]=(r[o]||[]).map(t),{...e,subs:a,rows:n,rowsBySource:r,openKey:i.key,openRow:i,thread:s.data,threadScroll:0}}),xk(e)},cycleFilter(e){e.set(e=>{let t=[`all`,`linkedin`,`gmail`],n=t[(t.indexOf(e.filter)+1)%t.length]||`all`,{rows:r,cursor:i}=vk(e.rowsBySource,n,e.rows,e.cursor);return{...e,filter:n,rows:r,cursor:i}}),xk(e)},startReply(e){let t=e.state;if(!t.openKey||!t.thread){e.signal.setBanner(`Open a conversation first`,`action`);return}t.thread.canReply&&(e.set(e=>({...e,mode:`reply`,draft:``})),e.signal.setMode(`compose`))},startReact(e){let t=e.state;if(!t.openKey||!t.thread){e.signal.setBanner(`Open a conversation first`,`action`);return}!t.thread.canReact||(t.thread.messages||[]).length===0||(e.set(e=>({...e,mode:`react`,reactCursor:0})),e.signal.setMode(`react`))},setDraft:(e,t)=>e.set(e=>({...e,draft:typeof t==`string`?t:``})),async submitReply(e){let t=e.state,n=t.draft.trim();if(e.set(e=>({...e,mode:`list`})),e.signal.setMode(null),!n)return;let r=t.openRow,i=r?r.sourceId:null;if(!r||!i){e.signal.setBanner(`No open conversation to reply to.`,`error`);return}e.signal.setStatus(`Sending…`);let a=wk(t.subs),o;try{o=i===`linkedin`?await e.execute(tO,{target:a.linkedin.target,port:a.linkedin.port,csrf:a.linkedin.ctx&&a.linkedin.ctx.csrf||r.ref.csrf,myMemberId:a.linkedin.ctx&&a.linkedin.ctx.memberId||r.ref.memberId,recipient:r.ref.recipientId,text:n,conversationUrn:r.ref.urn}):await gk(e,a.gmail,r.ref,n)}catch(e){o={ok:!1,error:ak(`send failed`,e)}}if(!o.ok){e.signal.setStatus(null),bk(e,i,o.error);return}let s=t.thread;try{let t=i===`linkedin`?await mk(e,a.linkedin,r.ref):await hk(e,a.gmail,r.ref);t.ok&&(s=t.data)}catch{}e.set(e=>({...e,subs:a,draft:``,thread:s})),e.signal.setStatus(`Sent`),yk(e,e.state.banners)},reactPrev:e=>e.set(e=>({...e,reactCursor:Math.max(0,e.reactCursor-1)})),reactNext:e=>e.set(e=>({...e,reactCursor:Math.min(mO.length-1,e.reactCursor+1)})),async submitReact(e,t){let n=e.state,r=n.openRow,i=r?r.sourceId:null;if(e.set(e=>({...e,mode:`list`})),e.signal.setMode(null),i!==`linkedin`||!r){e.signal.setBanner(`Cannot react here.`,`error`);return}let a=mO[typeof t==`number`?t:n.reactCursor]||mO[0],o=wk(n.subs).linkedin,s=o.threads[r.ref.urn]||[],c=s.length?s[s.length-1]:null;if(!c||!c.urn){e.signal.setBanner(`LinkedIn: no message to react to`,`error`);return}let l=o.ctx&&o.ctx.csrf||r.ref.csrf;if(!l){e.signal.setBanner(`LinkedIn: not authenticated yet`,`error`);return}e.signal.setStatus(`Reacting…`);let u;try{u=await e.execute(nO,{target:o.target,port:o.port,csrf:l,messageUrn:c.urn,emoji:a})}catch(e){u={ok:!1,error:ak(`react failed`,e)}}if(!u.ok){e.signal.setStatus(null),bk(e,`linkedin`,u.error);return}e.signal.setStatus(`Reacted `+a),yk(e,e.state.banners)},cancelCompose(e){e.set(e=>({...e,mode:`list`,draft:``})),e.signal.setMode(null)},async connectLinkedin(e){let t=wk(e.state.subs),n=t.linkedin;e.signal.setStatus(`Connecting LinkedIn…`);let r;try{r=await e.execute(ZD,{port:n.port})}catch(e){r={ok:!1,error:ak(`connect failed`,e)}}if(e.signal.setStatus(null),!r.ok){e.set(e=>({...e,banners:{...e.banners,linkedin:r.error}})),yk(e,e.state.banners);return}r.data&&(n.target=r.data),n.ctx=null,e.set(e=>({...e,subs:t})),await e.dispatch(`refresh`)},async connectGmail(e){let t=wk(e.state.subs),n=t.gmail;e.signal.setStatus(`Connecting Gmail…`);let r;try{r=await e.execute(rk,{port:n.port})}catch(e){r={ok:!1,error:ak(`connect failed`,e)}}if(e.signal.setStatus(null),!r.ok){e.set(e=>({...e,banners:{...e.banners,gmail:r.error}})),yk(e,e.state.banners);return}r.data&&(n.target=r.data),n.ctx=null,n.loginTabOpened=!0,e.set(e=>({...e,subs:t})),await e.dispatch(`refresh`)},quit:e=>e.signal.quit()}},Ek={linkedin:`text-cyan-600`,gmail:`text-red-600`};function Dk({row:e,selected:t,onClick:n}){let r=Ek[e.sourceId]||`text-slate-400`,i=(e.snippet||``).replace(/\s+/g,` `).trim(),a=SO(e.ts);return(0,z.jsxs)(`li`,{onClick:n,className:`flex items-baseline gap-1.5 rounded px-2 py-1 cursor-pointer ${t?`bg-slate-200`:`hover:bg-slate-100`}`,children:[(0,z.jsx)(`span`,{className:`shrink-0 ${e.unread?`text-cyan-600`:`text-transparent`}`,children:`●`}),(0,z.jsx)(`span`,{className:`shrink-0 font-bold ${r}`,children:vO(e.sourceId).glyph}),(0,z.jsx)(`span`,{className:`shrink-0 ${e.unread?`font-semibold`:``}`,children:e.name||`Unknown`}),i?(0,z.jsx)(`span`,{className:`truncate text-slate-400`,children:i}):null,a?(0,z.jsx)(`span`,{className:`ml-auto shrink-0 text-slate-400`,children:a}):null]})}function Ok({state:e,dispatch:t}){if(!e.openKey||!e.thread)return(0,z.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-1 text-slate-400`,children:[(0,z.jsx)(`div`,{children:`✉ No conversation open`}),(0,z.jsx)(`div`,{className:`text-slate-500`,children:`Click a conversation to open it.`})]});let n=e.thread,r=n.messages||[],i=null;return(0,z.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,z.jsxs)(`div`,{className:`border-b border-slate-200 pb-1`,children:[(0,z.jsx)(`div`,{className:`font-semibold`,children:n.title||`Conversation`}),n.subtitle?(0,z.jsx)(`div`,{className:`text-slate-400`,children:n.subtitle}):null]}),(0,z.jsx)(`div`,{className:`flex-1 overflow-y-auto py-2`,children:r.length===0?(0,z.jsx)(`div`,{className:`text-slate-400`,children:`Loading messages…`}):r.map((e,t)=>{let n=CO(e.ts),r=e.ts&&n!==i?wO(e.ts):null;return e.ts&&(i=n),(0,z.jsxs)(`div`,{children:[r?(0,z.jsxs)(`div`,{className:`my-1 text-center text-xs text-slate-400`,children:[`── `,r,` ──`]}):null,e.fromMe?(0,z.jsxs)(`div`,{className:`border-l-2 border-green-600 pl-2`,children:[(0,z.jsx)(`div`,{className:`font-semibold text-green-700`,children:`You`}),(0,z.jsx)(`div`,{className:`whitespace-pre-wrap`,children:e.text})]}):(0,z.jsxs)(`div`,{className:`mb-2`,children:[(0,z.jsx)(`div`,{className:`font-semibold text-cyan-700`,children:e.sender||`Them`}),(0,z.jsx)(`div`,{className:`whitespace-pre-wrap`,children:e.text})]})]},t)})}),e.mode===`reply`?(0,z.jsxs)(`div`,{className:`border-t border-slate-200 pt-2`,children:[(0,z.jsx)(`textarea`,{autoFocus:!0,value:e.draft,onChange:e=>t(`setDraft`,e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),t(`submitReply`)):e.key===`Escape`&&(e.preventDefault(),t(`cancelCompose`))},className:`w-full rounded border border-slate-300 p-2 font-mono text-sm outline-none focus:border-slate-500`,rows:3,placeholder:`Type a reply…`}),(0,z.jsxs)(`div`,{className:`mt-1 flex gap-2`,children:[(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`submitReply`),className:`rounded bg-slate-700 px-3 py-1 text-white hover:bg-slate-800`,children:`Send`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`cancelCompose`),className:`rounded border border-slate-300 px-3 py-1 text-slate-700 hover:bg-slate-100`,children:`Cancel`})]})]}):null,e.mode===`react`?(0,z.jsx)(`div`,{className:`border-t border-slate-200 pt-2`,children:(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(`span`,{className:`text-amber-600`,children:`☺ React`}),mO.map((n,r)=>(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`submitReact`,r),className:`rounded px-2 py-1 text-lg ${r===e.reactCursor?`bg-slate-200`:`hover:bg-slate-100`}`,children:n},n)),(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`cancelCompose`),className:`ml-auto rounded border border-slate-300 px-3 py-1 text-slate-700 hover:bg-slate-100`,children:`Cancel`})]})}):null]})}function kk({state:e,dispatch:t}){if(e.rows.length===0){if(e.lastFetch===0)return(0,z.jsx)(eE,{label:`Loading inbox…`});let n=DO(e);if(n){let e=n.d;return(0,z.jsx)(e.level===`error`?nE:rE,{headline:`${n.label}: ${e.headline}`,explanation:e.explanation,nextStep:e.nextStep||void 0,onRetry:()=>t(`refresh`)})}return(0,z.jsx)(tE,{label:`All caught up — no messages.`})}return(0,z.jsxs)(`div`,{className:`flex h-full gap-3 font-mono text-sm outline-none`,tabIndex:0,onKeyDown:n=>{e.mode===`list`&&(n.key===`j`||n.key===`ArrowDown`?(t(`cursorDown`),n.preventDefault()):n.key===`k`||n.key===`ArrowUp`?(t(`cursorUp`),n.preventDefault()):n.key===`Enter`?(t(`open`,e.cursor),n.preventDefault()):n.key===`g`?t(`refresh`):n.key===`r`?t(`startReply`):n.key===`e`?t(`startReact`):n.key===`f`&&t(`cycleFilter`))},children:[(0,z.jsx)(`ul`,{className:`w-2/5 shrink-0 overflow-y-auto border-r border-slate-200 pr-2`,children:e.rows.map((n,r)=>(0,z.jsx)(Dk,{row:n,selected:r===e.cursor,onClick:()=>t(`open`,r)},n.key))}),(0,z.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,z.jsx)(Ok,{state:e,dispatch:t})})]})}function Ak(e){return{ok:!0,data:e}}function jk(e){return{ok:!1,error:e}}function Mk(e){let t=String(e||``).split(/\r?\n/).map(e=>e.trim()).filter(Boolean);return t.length?t[0]:``}function Nk(e){let t=parseInt(String(e),10);return Number.isFinite(t)?t:0}function Pk(e,t){return`${e} ${t}${e===1?``:`s`}`}var Fk=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function Ik(e,t){let n=Date.parse(e);if(Number.isNaN(n))return``;let r=Math.max(0,Math.floor((t-n)/1e3));if(r<60)return`now`;let i=Math.floor(r/60);if(i<60)return`${i}m`;let a=Math.floor(i/60);if(a<24)return`${a}h`;let o=Math.floor(a/24);if(o<7)return`${o}d`;let s=new Date(n),c=Fk[s.getMonth()]||`?`;return s.getFullYear()===new Date(t).getFullYear()?`${c} ${s.getDate()}`:`${c} ʼ${String(s.getFullYear()).slice(-2)}`}function Lk(e,t){return e===`U`||t===`U`||e===`A`&&t===`A`||e===`D`&&t===`D`?`conflict`:e===`?`||t===`?`?`untracked`:t!==` `&&t!==``?`modified`:e!==` `&&e!==``?`staged`:`modified`}function Rk(e){let t=String(e||``).split(`\0`),n=[],r={staged:0,modified:0,untracked:0,conflict:0};for(let e=0;e<t.length;e++){let i=t[e];if(!i||i.length<3)continue;let a=i[0],o=i[1],s=i.slice(3);(a===`R`||a===`C`||o===`R`||o===`C`)&&e++;let c=Lk(a,o);c===`conflict`?r.conflict++:c===`untracked`?r.untracked++:(a!==` `&&a!==`?`&&a!==``&&r.staged++,o!==` `&&o!==`?`&&o!==``&&r.modified++),n.push({path:s,xy:`${a}${o}`,cls:c,add:0,del:0})}return{files:n,counts:r}}function zk(e){let t=[];for(let n of String(e||``).split(/\r?\n/)){if(!n.trim())continue;let e=n.split(` `);if(e.length<3)continue;let r=e[0],i=e[1],a=e.slice(2).join(` `);r===`-`||i===`-`||a.includes(` => `)||t.push({path:a,add:Nk(r),del:Nk(i)})}return t}var Bk={conflict:0,staged:1,modified:2,untracked:3},Vk=new Set([`FAILURE`,`ERROR`,`CANCELLED`,`TIMED_OUT`,`ACTION_REQUIRED`,`STARTUP_FAILURE`]),Hk=new Set([`SUCCESS`,`NEUTRAL`,`SKIPPED`]);function Uk(e){if(!Array.isArray(e)||e.length===0)return`none`;let t=!1;for(let n of e){let e=String(n&&n.conclusion||``).toUpperCase(),r=String(n&&n.state||``).toUpperCase(),i=String(n&&n.status||``).toUpperCase();if(Vk.has(e)||Vk.has(r))return`fail`;(i&&i!==`COMPLETED`||r&&!Hk.has(r)&&!Vk.has(r)||!e&&!r&&!i)&&(t=!0)}return t?`pending`:`pass`}function Wk(e){let t=String(e||``).toUpperCase();return t===`APPROVED`?`approved`:t===`CHANGES_REQUESTED`?`changes`:`review`}var Gk={kind:`git-missing`,display:{headline:`git not found`,explanation:`crtr could not find the git binary on PATH.`,nextStep:`Install git, then press g.`,level:`error`,blocking:!0}},Kk={kind:`not-a-repo`,display:{headline:`Not a git repository`,explanation:`This view monitors a git repo, and the current directory is not one.`,nextStep:"cd into a repository (or run `git init`), then press g.",level:`action`,blocking:!0}};function qk(e){return{kind:`git-failed`,display:{headline:`Git unavailable`,explanation:e||`A git command failed.`,nextStep:`Press g to retry.`,level:`error`,blocking:!1}}}function Jk(e,t){return{kind:e,display:{headline:t,explanation:``,nextStep:``,level:`info`,blocking:!1}}}function Yk(e){let t=String(e||``).toLowerCase();return/auth|logged in|gh auth login|authentication|not logged/.test(t)?Jk(`gh-unauthed`,"gh is not authenticated — run `gh auth login`."):/could not resolve host|dial tcp|network is unreachable|no such host|timeout|temporary failure|connection refused/.test(t)?Jk(`gh-network`,`Cannot reach GitHub (offline?).`):/could not resolve to a repository|no git remote|none of the git remotes|no default remote|not a github|head branch could not/.test(t)?Jk(`gh-no-remote`,`No GitHub remote for this repository.`):Jk(`gh-failed`,Mk(e)||`gh command failed.`)}var Xk={id:`git-status`,request:()=>({kind:`exec`,bin:`git`,args:[`status`,`--porcelain=v1`,`-z`,`--untracked-files=all`]}),parse:e=>{if(!e.ok)return jk(Gk);if(e.exitCode!==0){let t=String(e.stderr||``).toLowerCase();return/not a git repository/.test(t)?jk(Kk):jk(qk(Mk(e.stderr)))}return Ak(Rk(e.stdout))}},Zk={id:`git-branch`,request:()=>({kind:`exec`,bin:`git`,args:[`branch`,`--show-current`]}),parse:e=>Ak(e.ok&&e.exitCode===0?e.stdout.trim():``)},Qk={id:`git-head`,request:()=>({kind:`exec`,bin:`git`,args:[`rev-parse`,`--short`,`HEAD`]}),parse:e=>Ak(e.ok&&e.exitCode===0?e.stdout.trim():``)},$k={id:`git-upstream`,request:()=>({kind:`exec`,bin:`git`,args:[`rev-parse`,`--abbrev-ref`,`--symbolic-full-name`,`@{upstream}`]}),parse:e=>Ak(e.ok&&e.exitCode===0?e.stdout.trim():null)},eA={id:`git-ahead-behind`,request:()=>({kind:`exec`,bin:`git`,args:[`rev-list`,`--left-right`,`--count`,`@{upstream}...HEAD`]}),parse:e=>{if(!e.ok||e.exitCode!==0)return Ak({ahead:0,behind:0});let t=e.stdout.trim().split(/\s+/);return Ak({behind:Nk(t[0]),ahead:Nk(t[1])})}},tA={id:`git-log`,request:()=>({kind:`exec`,bin:`git`,args:[`log`,`-1`,`--pretty=%h%x1f%s%x1f%cI`]}),parse:e=>{if(!e.ok||e.exitCode!==0||e.stdout.trim()===``)return Ak(null);let[t,n,r]=e.stdout.replace(/\n$/,``).split(``);return Ak({sha:t||``,subject:n||``,when:r||``})}},nA={id:`git-diff`,request:()=>({kind:`exec`,bin:`git`,args:[`diff`,`--numstat`]}),parse:e=>Ak(e.ok&&e.exitCode===0?zk(e.stdout):[])},rA={id:`git-diff-cached`,request:()=>({kind:`exec`,bin:`git`,args:[`diff`,`--cached`,`--numstat`]}),parse:e=>Ak(e.ok&&e.exitCode===0?zk(e.stdout):[])},iA={id:`prs`,request:()=>({kind:`exec`,bin:`gh`,args:[`pr`,`list`,`--state`,`open`,`--limit`,`30`,`--json`,`number,title,headRefName,reviewDecision,statusCheckRollup,updatedAt,isDraft`]}),parse:e=>{if(!e.ok)return jk(Jk(`gh-missing`,`gh (GitHub CLI) not found — install it to see PRs.`));if(e.exitCode!==0)return jk(Yk(e.stderr||e.stdout));let t;try{t=JSON.parse(e.stdout.trim()||`[]`)}catch{return jk(Jk(`gh-failed`,`could not parse gh output as JSON.`))}return Array.isArray(t)||(t=[]),Ak(t.map(e=>{let t=e||{},n=String(t.headRefName||``);return{number:typeof t.number==`number`?t.number:Nk(t.number),title:String(t.title||`(untitled)`),headRefName:n,isDraft:!!t.isDraft,current:!1,review:Wk(t.reviewDecision),ci:Uk(t.statusCheckRollup),updatedAt:String(t.updatedAt||``)}}))}};function aA(e){let t=[],n=e.git;if(t.push({kind:`label`,text:`Working tree`}),!n||n.files.length===0)t.push({kind:`clean`});else for(let e of n.files)t.push({kind:`file`,file:e});if(t.push({kind:`spacer`}),t.push({kind:`label`,text:`Pull requests`}),e.prNote)t.push({kind:`note`,text:e.prNote});else if(e.prs.length===0)t.push({kind:`note`,text:`No open pull requests.`});else for(let n of e.prs)t.push({kind:`pr`,pr:n});return t}function oA(e){let t=e.counts;if(e.files.length===0)return`clean`;let n=[];return t.conflict&&n.push(`${t.conflict} conflict`),t.staged&&n.push(`${t.staged} staged`),t.modified&&n.push(`${t.modified} modified`),t.untracked&&n.push(`${t.untracked} untracked`),n.join(` · `)||Pk(e.files.length,`change`)}function sA(e){let t=e.git;if(!t)return null;let n=t.branch;return t.ahead&&(n+=` ↑${t.ahead}`),t.behind&&(n+=` ↓${t.behind}`),n+=` · ${oA(t)}`,n}function cA(e){let t=e.git;return t?`${t.files.length===0?`clean`:Pk(t.files.length,`change`)} · ${e.prNote?`PRs n/a`:Pk(e.prs.length,`PR`)}`:null}function lA(e){let t=e.git,n=[];if(t&&t.counts.conflict&&n.push(`${Pk(t.counts.conflict,`conflict`)}`),!e.prNote){let t=e.prs.filter(e=>e.ci===`fail`).length,r=e.prs.filter(e=>e.review===`changes`).length;t&&n.push(`${t} PR${t===1?``:`s`} failing CI`),r&&n.push(`${r} PR${r===1?``:`s`} need changes`)}return n.length?`${n.join(` · `)} — needs attention`:null}var uA={manifest:{id:`git-pr`,title:`Git / PR`,description:`Local git state + GitHub PR/CI status for the repo at this cwd`,refreshMs:5e3},init(){return{git:null,gitErr:null,prs:[],prNote:null,board:[],cursor:0,scroll:0,lastFetch:0}},sources:{gitStatusSource:Xk,gitBranchSource:Zk,gitHeadSource:Qk,gitUpstreamSource:$k,gitAheadBehindSource:eA,gitLogSource:tA,gitDiffSource:nA,gitDiffCachedSource:rA,prsSource:iA},intents:{async refresh(e){e.signal.setStatus(`Reading git…`);let t=await e.resolve(Xk);if(!t.ok){let n=t.error,r=e.state.git!=null,i=!n.display.blocking&&r;e.set(e=>{let t={...e,gitErr:n};return i||(t.git=null,t.prs=[],t.prNote=null,t.board=aA(t)),t.lastFetch=Date.now(),t}),i?e.signal.setBanner(n.display.explanation,n.display.level):e.signal.clearBanner(),e.signal.setStatus(null),e.signal.setSubtitle(i?sA(e.state):null);return}let[n,r,i,a,o,s,c]=await Promise.all([e.resolve(Zk),e.resolve(Qk),e.resolve($k),e.resolve(eA),e.resolve(tA),e.resolve(nA),e.resolve(rA)]),l=n.ok?n.data:``,u=!1;l===``&&(u=!0,l=r.ok&&r.data?`(detached ${r.data})`:`(no branch)`);let d=i.ok?i.data:null,f=0,p=0;d&&a.ok&&(f=a.data.ahead,p=a.data.behind);let m=o.ok?o.data:null,h=new Map,g=e=>{for(let t of e){let e=h.get(t.path)||{add:0,del:0};e.add+=t.add,e.del+=t.del,h.set(t.path,e)}};s.ok&&g(s.data),c.ok&&g(c.data);let{files:_,counts:v}=t.data;for(let e of _){let t=h.get(e.path);t&&(e.add=t.add,e.del=t.del)}_.sort((e,t)=>{let n=Bk[e.cls]-Bk[t.cls];return n===0?e.path<t.path?-1:+(e.path>t.path):n});let y={branch:l,detached:u,upstream:d,ahead:f,behind:p,lastCommit:m,files:_,counts:v},b=await e.resolve(iA),x=[],S=null;b.ok?(x=b.data.map(e=>({...e,current:e.headRefName!==``&&e.headRefName===l})),x.sort((e,t)=>e.current===t.current?e.updatedAt<t.updatedAt?1:e.updatedAt>t.updatedAt?-1:0:e.current?-1:1)):S=b.error.display.headline,e.set(e=>{let t={...e,git:y,gitErr:null,prs:x,prNote:S};return t.board=aA(t),t.cursor>=t.board.length&&(t.cursor=Math.max(0,t.board.length-1)),t.lastFetch=Date.now(),t});let C={git:y,prs:x,prNote:S};e.signal.setSubtitle(sA(C));let w=lA(C);w?e.signal.setBanner(w,`action`):e.signal.clearBanner(),e.signal.setStatus(cA(C))},cursorDown:e=>e.set(e=>({...e,cursor:e.board.length?Math.min(e.board.length-1,e.cursor+1):0})),cursorUp:e=>e.set(e=>({...e,cursor:Math.max(0,e.cursor-1)})),select:(e,t)=>e.set(e=>({...e,cursor:typeof t==`number`?Math.max(0,Math.min(e.board.length-1,t)):e.cursor})),quit:e=>e.signal.quit()}},dA={staged:{glyph:`●`,cls:`text-green-600`},modified:{glyph:`○`,cls:`text-amber-600`},untracked:{glyph:`?`,cls:`text-slate-400`},conflict:{glyph:`✗`,cls:`text-red-600`}},fA={approved:{glyph:`✓`,cls:`text-green-600`},changes:{glyph:`✗`,cls:`text-red-600`},review:{glyph:`◌`,cls:`text-slate-400`}},pA={pass:{glyph:`✓`,cls:`text-green-600`},fail:{glyph:`✗`,cls:`text-red-600`},pending:{glyph:`⟳`,cls:`text-amber-600`},none:{glyph:`·`,cls:`text-slate-400`}};function mA({g:e}){let t=Date.now();return(0,z.jsxs)(`div`,{className:`border-b border-slate-200 pb-2`,children:[(0,z.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,z.jsxs)(`span`,{className:`font-semibold text-cyan-700`,children:[`⎇ `,e.branch]}),e.upstream?(0,z.jsxs)(`span`,{className:`text-slate-400`,children:[`→ `,e.upstream,e.ahead?(0,z.jsxs)(`span`,{className:`ml-1 text-green-600`,children:[`↑`,e.ahead]}):null,e.behind?(0,z.jsxs)(`span`,{className:`ml-1 text-amber-600`,children:[`↓`,e.behind]}):null,!e.ahead&&!e.behind?(0,z.jsx)(`span`,{className:`ml-1 text-green-600`,children:`✓ up to date`}):null]}):(0,z.jsx)(`span`,{className:`text-slate-400`,children:`· no upstream`}),(0,z.jsx)(`span`,{className:`ml-auto`,children:hA(e)})]}),(0,z.jsx)(`div`,{className:`mt-0.5 text-slate-600`,children:e.lastCommit?(0,z.jsxs)(`span`,{className:`flex items-baseline gap-2`,children:[(0,z.jsx)(`span`,{className:`text-slate-400`,children:`⊙`}),(0,z.jsx)(`span`,{className:`text-amber-600`,children:e.lastCommit.sha}),(0,z.jsx)(`span`,{className:`truncate`,children:e.lastCommit.subject}),(0,z.jsx)(`span`,{className:`ml-auto shrink-0 text-slate-400`,children:Ik(e.lastCommit.when,t)})]}):(0,z.jsx)(`span`,{className:`text-slate-400`,children:`⊙ no commits yet`})})]})}function hA(e){if(e.files.length===0)return(0,z.jsx)(`span`,{className:`text-green-600`,children:`✓ clean`});let t=e.counts;return(0,z.jsx)(`span`,{className:`flex gap-3`,children:[{n:t.conflict,word:`conflict`,glyph:`✗`,cls:`text-red-600`},{n:t.staged,word:`staged`,glyph:`●`,cls:`text-green-600`},{n:t.modified,word:`modified`,glyph:`○`,cls:`text-amber-600`},{n:t.untracked,word:`untracked`,glyph:`?`,cls:`text-slate-400`}].filter(e=>e.n).map((e,t)=>(0,z.jsxs)(`span`,{className:e.cls,children:[e.glyph,` `,e.n,` `,e.word]},t))})}function gA({row:e,selected:t,onClick:n}){let r=Date.now(),i=`flex items-baseline gap-1.5 rounded px-2 py-0.5 ${t?`bg-slate-200`:``}`;if(e.kind===`label`)return(0,z.jsx)(`li`,{className:`px-2 pt-2 pb-0.5 text-xs uppercase tracking-wide text-slate-400`,children:e.text});if(e.kind===`spacer`)return(0,z.jsx)(`li`,{className:`h-2`,"aria-hidden":!0});if(e.kind===`clean`)return(0,z.jsxs)(`li`,{className:i,onClick:n,children:[(0,z.jsx)(`span`,{className:`text-green-600`,children:`✓`}),(0,z.jsx)(`span`,{className:`text-slate-400`,children:`nothing to commit, working tree clean`})]});if(e.kind===`note`)return(0,z.jsxs)(`li`,{className:i,onClick:n,children:[(0,z.jsx)(`span`,{className:`text-slate-400`,children:`·`}),(0,z.jsx)(`span`,{className:`text-slate-400`,children:e.text})]});if(e.kind===`file`){let t=e.file,r=dA[t.cls]||dA.modified;return(0,z.jsxs)(`li`,{className:i,onClick:n,children:[(0,z.jsx)(`span`,{className:r.cls,children:r.glyph}),(0,z.jsx)(`span`,{className:`text-slate-400`,children:t.xy.replace(/ /g,`·`)}),(0,z.jsx)(`span`,{className:t.cls===`conflict`?`text-red-600`:``,children:t.path}),t.add||t.del?(0,z.jsxs)(`span`,{className:`ml-auto shrink-0 text-slate-400`,children:[`+`,t.add,` −`,t.del]}):null]})}let a=e.pr,o=fA[a.review]||fA.review,s=pA[a.ci]||pA.none,c=Ik(a.updatedAt,r);return(0,z.jsxs)(`li`,{className:i,onClick:n,children:[(0,z.jsxs)(`span`,{className:`text-cyan-700 ${a.current?`font-bold`:``}`,children:[`#`,a.number]}),(0,z.jsx)(`span`,{className:a.isDraft?`text-slate-400`:``,children:a.title}),a.isDraft?(0,z.jsx)(`span`,{className:`text-slate-400`,children:`(draft)`}):null,(0,z.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-baseline gap-2`,children:[(0,z.jsx)(`span`,{className:o.cls,children:o.glyph}),(0,z.jsx)(`span`,{className:s.cls,children:s.glyph}),c?(0,z.jsx)(`span`,{className:`text-slate-400`,children:c}):null]})]})}function _A({state:e,dispatch:t}){if(!e.git){if(e.gitErr){let n=e.gitErr.display;return(0,z.jsx)(n.level===`error`?nE:rE,{headline:n.headline,explanation:n.explanation,nextStep:n.nextStep,onRetry:()=>t(`refresh`)})}return(0,z.jsx)(eE,{label:`Reading git…`})}let n=e.git,r=n.files.length===0&&e.prs.length===0&&!e.prNote;return(0,z.jsxs)(`div`,{className:`font-mono text-sm outline-none`,tabIndex:0,onKeyDown:e=>{e.key===`j`||e.key===`ArrowDown`?(t(`cursorDown`),e.preventDefault()):e.key===`k`||e.key===`ArrowUp`?(t(`cursorUp`),e.preventDefault()):e.key===`g`&&t(`refresh`)},children:[(0,z.jsx)(mA,{g:n}),r?(0,z.jsx)(tE,{label:`${n.branch} — clean working tree, no open PRs.`}):(0,z.jsx)(`ul`,{className:`mt-1`,children:e.board.map((n,r)=>(0,z.jsx)(gA,{row:n,selected:r===e.cursor,onClick:()=>t(`select`,r)},r))})]})}function vA({rec:e,dispatch:t}){let n=e.display;return e.spinner?(0,z.jsx)(eE,{label:n.headline}):(0,z.jsx)(n.level===`error`?nE:rE,{headline:n.headline,explanation:n.explanation,nextStep:n.nextStep||void 0,onRetry:()=>t(`refresh`)})}function yA({state:e,dispatch:t}){return(0,z.jsx)(`ul`,{className:`divide-y divide-slate-100 overflow-y-auto`,children:e.convos.map((n,r)=>{let i=r===e.convCursor,a=n.urn===e.openUrn,o=OD(n.ts);return(0,z.jsxs)(`li`,{onClick:()=>t(`openThread`,r),className:`flex cursor-pointer items-baseline gap-2 px-3 py-2 ${i?`bg-slate-100`:``} ${a?`border-l-2 border-cyan-500`:`border-l-2 border-transparent`}`,children:[(0,z.jsx)(`span`,{className:`shrink-0 ${n.unread?`text-cyan-600`:`text-transparent`}`,children:`●`}),(0,z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`span`,{className:n.unread?`font-semibold`:``,children:n.name||`Unknown`}),n.lastMessage?(0,z.jsx)(`span`,{className:`ml-2 truncate text-slate-400`,children:n.lastMessage.replace(/\s+/g,` `).trim()}):null]}),o?(0,z.jsx)(`span`,{className:`shrink-0 text-xs text-slate-400`,children:o}):null]},n.urn||r)})})}function bA({m:e}){let t=OD(e.ts);return e.fromMe?(0,z.jsxs)(`div`,{className:`border-l-2 border-green-500 pl-2`,children:[(0,z.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,z.jsx)(`span`,{className:`font-semibold text-green-600`,children:`You`}),t?(0,z.jsx)(`span`,{className:`text-xs text-slate-400`,children:t}):null]}),(0,z.jsx)(`div`,{className:`whitespace-pre-wrap text-slate-700`,children:e.text})]}):(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,z.jsx)(`span`,{className:`font-semibold text-cyan-700`,children:e.sender||`Them`}),t?(0,z.jsx)(`span`,{className:`text-xs text-slate-400`,children:t}):null]}),(0,z.jsx)(`div`,{className:`whitespace-pre-wrap text-slate-700`,children:e.text})]})}function xA({state:e,dispatch:t}){let n=e.openUrn?e.convos.find(t=>t.urn===e.openUrn):null;return e.openUrn?(0,z.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,z.jsxs)(`div`,{className:`flex items-baseline justify-between border-b border-slate-200 px-3 py-2`,children:[(0,z.jsx)(`span`,{className:`font-semibold`,children:n?n.name:`Conversation`}),n&&OD(n.ts)?(0,z.jsx)(`span`,{className:`text-xs text-slate-400`,children:OD(n.ts)}):null]}),(0,z.jsx)(`div`,{className:`flex-1 space-y-3 overflow-y-auto px-3 py-3`,children:e.thread.length===0?(0,z.jsx)(`div`,{className:`text-slate-400`,children:`Loading messages…`}):e.thread.map((e,t)=>(0,z.jsx)(bA,{m:e},e.urn||t))}),e.mode===`reply`?(0,z.jsx)(SA,{state:e,dispatch:t}):null,e.mode===`react`?(0,z.jsx)(CA,{state:e,dispatch:t}):null]}):(0,z.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-1 p-8 text-center text-slate-400`,children:[(0,z.jsx)(`div`,{children:`✉ No conversation open`}),(0,z.jsx)(`div`,{className:`text-sm`,children:`Select a conversation to open it.`})]})}function SA({state:e,dispatch:t}){return(0,z.jsx)(`div`,{className:`border-t border-slate-200 p-2`,children:(0,z.jsx)(`textarea`,{autoFocus:!0,rows:2,value:e.draft,placeholder:`Reply… (Enter to send · Esc to cancel)`,onChange:e=>t(`setDraft`,e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),t(`submitReply`)):e.key===`Escape`&&(e.preventDefault(),t(`cancelCompose`))},className:`w-full resize-none rounded border border-slate-300 p-2 font-mono text-sm outline-none focus:border-amber-500`})})}function CA({state:e,dispatch:t}){return(0,z.jsxs)(`div`,{className:`flex items-center gap-2 border-t border-slate-200 p-2`,children:[(0,z.jsx)(`span`,{className:`text-amber-600`,children:`☺ React`}),_D.map((n,r)=>(0,z.jsx)(`button`,{type:`button`,onClick:()=>{t(`reactPick`,r),t(`submitReact`)},className:`rounded px-2 py-1 text-lg ${r===e.reactCursor?`bg-slate-200`:``} hover:bg-slate-100`,children:n},n)),(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`cancelCompose`),className:`ml-auto text-sm text-slate-500 hover:text-slate-700`,children:`Esc cancel`})]})}function wA({state:e,dispatch:t}){return e.recovery?(0,z.jsx)(vA,{rec:e.recovery,dispatch:t}):e.convos.length===0?e.lastFetch===0?(0,z.jsx)(eE,{label:`Loading conversations…`}):(0,z.jsx)(tE,{label:`All caught up — no conversations in your inbox.`}):(0,z.jsxs)(`div`,{className:`grid h-full grid-cols-3 font-mono text-sm outline-none`,tabIndex:0,onKeyDown:n=>{e.mode===`list`&&(n.key===`j`||n.key===`ArrowDown`?(n.preventDefault(),t(`cursorDown`)):n.key===`k`||n.key===`ArrowUp`?(n.preventDefault(),t(`cursorUp`)):n.key===`Enter`?(n.preventDefault(),t(`openThread`,e.convCursor)):n.key===`r`?(n.preventDefault(),t(`startReply`)):n.key===`e`?(n.preventDefault(),t(`startReact`)):n.key===`g`&&t(`refresh`))},children:[(0,z.jsx)(`div`,{className:`col-span-1 border-r border-slate-200`,children:(0,z.jsx)(yA,{state:e,dispatch:t})}),(0,z.jsx)(`div`,{className:`col-span-2`,children:(0,z.jsx)(xA,{state:e,dispatch:t})})]})}var TA=`user`,EA=[`ultra`,`strong`,`medium`,`light`],DA={ultra:`anthropic`,strong:`anthropic`,medium:`anthropic`,light:`anthropic`};function OA(e){return{ok:!0,data:e}}function kA(e){return{ok:!1,error:e}}function AA(e){return e==null?``:String(e)}function jA(e,t=`error`){return{kind:`settings-config`,display:{headline:`Settings unavailable`,explanation:e,nextStep:`Press g to retry.`,level:t,blocking:t===`error`}}}function MA(e){return{id:`config-get-${e}`,request:()=>({kind:`exec`,bin:`crtr`,args:[`sys`,`config`,`get`,e,`--scope`,TA,`--json`]}),parse:t=>{if(!t.ok||t.exitCode!==0)return kA(jA(AA(t.stderr||t.stdout||`crtr sys config get ${e} failed`)));let n;try{n=JSON.parse(String(t.stdout||``).trim()||`{}`)}catch{return kA(jA(`could not parse crtr sys config get ${e} output as JSON`))}return!n||typeof n!=`object`||!(`value`in n)?kA(jA(`unexpected response from crtr sys config get ${e}`)):OA(n.value)}}}function NA(e,t){return{id:`config-set-${e}`,request:()=>({kind:`exec`,bin:`crtr`,args:[`sys`,`config`,`set`,e,`--value`,t,`--scope`,TA,`--json`]}),parse:t=>{if(!t.ok||t.exitCode!==0)return kA(jA(AA(t.stderr||t.stdout||`crtr sys config set ${e} failed`),`error`));let n;try{n=JSON.parse(String(t.stdout||``).trim()||`{}`)}catch{return kA(jA(`could not parse crtr sys config set ${e} output as JSON`))}return!n||typeof n!=`object`||!(`value`in n)?kA(jA(`unexpected response from crtr sys config set ${e}`)):OA(n.value)}}}function PA(e){if(!e.modelLadders)return[];let t=[{kind:`defaultProvider`}];for(let e of EA)t.push({kind:`matrix`,strength:e});return t}function FA(e){let t=PA(e);return t.length===0?0:Math.min(e.cursor,t.length-1)}function IA(e){return PA(e)[FA(e)]}function LA(e,t){if(t.kind===`defaultProvider`)return{kind:`defaultProvider`,draft:``,value:e.modelLadders?.defaultProvider??`anthropic`,label:`default provider`};let n=e.matrixSelection[t.strength]??DA[t.strength];return{kind:`matrixCell`,strength:t.strength,provider:n,draft:``,value:e.modelLadders?.[n]?.[t.strength]??``,label:`${n} / ${t.strength}`}}async function RA(e){let t=await e.resolve(MA(`modelLadders`));return t.ok?OA({ladders:t.data}):t}function zA(e,t,n=`error`){n===`info`?e.signal.setStatus(t):e.signal.setBanner(t,n)}async function BA(e,t){let n=String(t.value??``).trim();if(t.kind===`defaultProvider`){if(n!==`anthropic`&&n!==`openai`)return zA(e,`default provider must be anthropic or openai`,`action`),!1}else if(t.kind===`matrixCell`&&!n)return zA(e,`model id cannot be empty`,`action`),!1;e.signal.setStatus(`Saving…`);let r=``,i=n;r=t.kind===`defaultProvider`?`modelLadders.defaultProvider`:`modelLadders.${t.provider}.${t.strength}`;let a=await e.execute(NA(r,i));return a.ok?(e.set(e=>{let r={...e,edit:null};return t.kind===`defaultProvider`&&r.modelLadders&&(r.modelLadders={...r.modelLadders,defaultProvider:n}),t.kind===`matrixCell`&&r.modelLadders&&(r.modelLadders={...r.modelLadders,[t.provider]:{...r.modelLadders[t.provider],[t.strength]:n}}),r}),e.signal.setStatus(`Saved`),await e.dispatch(`refresh`),!0):(zA(e,a.error.display.explanation||a.error.display.headline,a.error.display.level),e.signal.setStatus(null),!1)}var VA={manifest:{id:`settings`,title:`Model Ladders`,subtitle:`provider × strength matrix`,description:`edit model ladders through crtr commands`},init(){return{modelLadders:null,matrixSelection:{...DA},cursor:0,scroll:0,lastFetch:0,sourceError:null,edit:null}},sources:{modelLadders:MA(`modelLadders`)},intents:{async refresh(e){e.signal.setStatus(`Loading settings…`);let t=await RA(e);if(!t.ok){e.state.lastFetch===0||e.state.modelLadders===null?e.set(e=>({...e,sourceError:t.error,lastFetch:Date.now()})):zA(e,t.error.display.explanation||t.error.display.headline,t.error.display.level),e.signal.setStatus(null);return}e.set(e=>{let n={...e,modelLadders:t.data.ladders,sourceError:null,lastFetch:Date.now()};return{...n,cursor:Math.min(n.cursor,Math.max(0,PA(n).length-1))}}),e.signal.clearBanner(),e.signal.setStatus(null)},cursorDown:e=>e.set(e=>({...e,cursor:Math.min(Math.max(0,PA(e).length-1),e.cursor+1)})),cursorUp:e=>e.set(e=>({...e,cursor:Math.max(0,e.cursor-1)})),matrixLeft:e=>e.set(e=>{let t=IA(e);return!t||t.kind!==`matrix`?e:{...e,matrixSelection:{...e.matrixSelection,[t.strength]:`anthropic`}}}),matrixRight:e=>e.set(e=>{let t=IA(e);return!t||t.kind!==`matrix`?e:{...e,matrixSelection:{...e.matrixSelection,[t.strength]:`openai`}}}),beginEdit:e=>e.set(e=>{let t=IA(e);if(!t||e.modelLadders===null)return e;let n=LA(e,t);return{...e,edit:{...n}}}),beginEditFor:(e,t)=>e.set(e=>{if(e.modelLadders===null)return e;let n=t&&typeof t==`object`?t:{};if(n.kind===`matrix`&&typeof n.strength==`string`){let t=n.provider===`openai`?`openai`:`anthropic`,r=e.modelLadders?.[t]?.[n.strength]??``;return{...e,edit:{kind:`matrixCell`,strength:n.strength,provider:t,draft:r,value:r,label:`${t} / ${n.strength}`}}}if(n.kind===`defaultProvider`){let t=e.modelLadders.defaultProvider??`anthropic`;return{...e,edit:{kind:`defaultProvider`,draft:t,value:t,label:`default provider`}}}return e}),setDraft:(e,t)=>e.set(e=>e.edit?{...e,edit:{...e.edit,draft:typeof t==`string`?t:``}}:e),cancelEdit:e=>e.set(e=>e.edit?{...e,edit:null}:e),async submitEdit(e){let t=e.state.edit;t&&await BA(e,{kind:t.kind,value:t.draft,strength:t.strength,provider:t.provider})},async applyValue(e,t){let n=t&&typeof t==`object`?t:null;!n||e.state.modelLadders===null||await BA(e,n)},selectRow:(e,t)=>e.set(e=>{let n=t&&typeof t==`object`?t:{},r=PA(e).findIndex(e=>e.kind===`defaultProvider`&&n.kind===`defaultProvider`||e.kind===`matrix`&&n.kind===`matrix`&&n.strength===e.strength);return r<0?e:n.kind===`matrix`&&(n.provider===`anthropic`||n.provider===`openai`)&&typeof n.strength==`string`?{...e,cursor:r,matrixSelection:{...e.matrixSelection,[n.strength]:n.provider}}:{...e,cursor:r}}),quit:e=>e.signal.quit()}},HA=[`ultra`,`strong`,`medium`,`light`],UA=[`anthropic`,`openai`];function WA({choices:e,value:t,onPick:n}){return(0,z.jsx)(`div`,{className:`inline-flex overflow-hidden rounded border border-slate-300`,children:e.map(r=>(0,z.jsx)(`button`,{type:`button`,onClick:()=>n(r),className:`px-2.5 py-1 text-sm capitalize ${r===t?`bg-cyan-600 text-white`:`bg-white text-slate-600 hover:bg-slate-100`} ${r===e[0]?``:`border-l border-slate-300`}`,children:r},r))})}function GA(e,t,n){return!!e.edit&&e.edit.kind===`matrixCell`&&e.edit.strength===t&&e.edit.provider===n}function KA({state:e,dispatch:t}){if(e.sourceError&&e.modelLadders===null){let n=e.sourceError.display;return(0,z.jsx)(n.level===`error`?nE:rE,{headline:n.headline,explanation:n.explanation,nextStep:n.nextStep||void 0,onRetry:()=>t(`refresh`)})}if(e.modelLadders===null)return(0,z.jsx)(eE,{label:`Loading model ladders…`});let n=e.modelLadders;return(0,z.jsx)(`div`,{className:`h-full overflow-auto text-sm`,children:(0,z.jsxs)(`div`,{className:`space-y-5 p-4`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h1`,{className:`text-base font-semibold`,children:`Model ladders`}),(0,z.jsx)(`p`,{className:`text-xs text-slate-500`,children:`Click a model id to edit it; click a provider or strength to switch it. Changes save immediately.`})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,z.jsx)(`span`,{className:`font-semibold`,children:`Default provider`}),(0,z.jsx)(WA,{choices:UA,value:n.defaultProvider??`anthropic`,onPick:e=>t(`applyValue`,{kind:`defaultProvider`,value:e})})]}),(0,z.jsx)(`div`,{className:`space-y-3`,children:HA.map(r=>(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`mb-1 font-semibold capitalize`,children:r}),(0,z.jsx)(`div`,{className:`grid grid-cols-1 gap-2 md:grid-cols-2`,children:UA.map(i=>{if(GA(e,r,i))return(0,z.jsxs)(`div`,{className:`rounded border border-cyan-300 bg-cyan-50 p-2`,children:[(0,z.jsx)(`div`,{className:`mb-1 text-xs uppercase tracking-wide text-slate-400`,children:i}),(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(`input`,{autoFocus:!0,value:e.edit.draft,onChange:e=>t(`setDraft`,e.target.value),onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),t(`submitEdit`)):e.key===`Escape`&&(e.preventDefault(),t(`cancelEdit`))},className:`flex-1 rounded border border-slate-300 bg-white px-2 py-1 font-mono text-sm outline-none focus:border-cyan-500`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`submitEdit`),className:`rounded bg-cyan-600 px-2 py-1 text-xs font-semibold text-white hover:bg-cyan-700`,children:`Save`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`cancelEdit`),className:`rounded border border-slate-300 bg-white px-2 py-1 text-xs text-slate-600 hover:bg-slate-100`,children:`Cancel`})]})]},i);let a=n[i]?.[r]??`—`;return(0,z.jsxs)(`button`,{type:`button`,title:`Click to edit`,onClick:()=>t(`beginEditFor`,{kind:`matrix`,strength:r,provider:i}),className:`rounded border border-slate-200 bg-white px-2 py-1 text-left hover:border-cyan-400 hover:bg-cyan-50`,children:[(0,z.jsx)(`div`,{className:`text-xs uppercase tracking-wide text-slate-400`,children:i}),(0,z.jsx)(`div`,{className:`truncate font-mono text-sm text-slate-800`,children:a})]},i)})})]},r))})]})})}var qA=`developer`,JA=`base`,YA=`terminal`,XA=!0;function ZA(e){return{ok:!0,data:e}}function QA(e){return{ok:!1,error:e}}function $(e){return e==null?``:String(e)}function $A(e){return e===!0||e===`true`||e===1||e===`1`}function ej(e){return Math.ceil(Math.max(0,e)/4)}function tj(e){return $(e).split(/\r?\n/).map(e=>e.trim()).find(Boolean)||``}function nj(e,t=`error`){return{kind:`prompt-review`,display:{headline:`Prompt Studio unavailable`,explanation:e,nextStep:`Press g to retry.`,level:t,blocking:t===`error`}}}function rj(e,t,n){let r={kind:`exec`,bin:e,args:t};return n===void 0?r:{...r,stdin:n}}function ij(e){return{kind:e.kind,mode:e.mode===`base`?`orchestrator`:`base`,lifecycle:e.lifecycle===`terminal`?`resident`:`terminal`,hasManager:e.hasManager,node:e.node}}function aj(e){return{kind:$(e.kind)||qA,mode:e.mode===`orchestrator`?`orchestrator`:`base`,lifecycle:e.lifecycle===`resident`?`resident`:`terminal`,hasManager:$A(e.hasManager),node:e.node?$(e.node):null}}function oj(e){return $(e).replace(/\r\n/g,`
77
+ `).map(e=>{let t=e.indexOf(`:`);return t<1?null:{key:e.slice(0,t).trim(),val:e.slice(t+1).trim()}}).filter(Boolean);return(0,z.jsxs)(z.Fragment,{children:[i.length>0&&(0,z.jsx)(`div`,{className:`fm-chips`,children:i.map(({key:e,val:t})=>(0,z.jsxs)(`span`,{className:`fm-chip`,children:[e,` `,(0,z.jsx)(`b`,{children:t})]},e))}),(0,z.jsx)(`div`,{className:Ww,dangerouslySetInnerHTML:{__html:AC(r)}})]})}}return(0,z.jsx)(`div`,{className:Ww,dangerouslySetInnerHTML:{__html:AC(e)}})}var Jw=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`],Yw=e=>({"--i":e}),Xw={borderBottom:`1px solid var(--line)`,background:`linear-gradient(180deg, rgba(33,31,25,.7), rgba(20,19,16,0))`};function Zw(e){let t=lt(),n=Eh(e.id),[r,i]=(0,S.useState)(null),[a,o]=(0,S.useState)(``),[s,c]=(0,S.useState)(!1),[l,u]=(0,S.useState)(null),[d,f]=(0,S.useState)(null),p=n.source===`static`,m=n.brokerStatus===`connected`||n.brokerStatus===`revived`,h=n.role===`controller`,g=n.state?.isStreaming??!1,_=h&&!p&&m&&n.serverConnected,v=Rh(`node.arbitration`),y=Rh(`node.internals`),b=Rh(`commands.palette`),x=Ih().nav[0]??{label:`Home`,path:`/`},C=n.commands,w=!v&&!p&&m&&n.role===`observer`&&!!n.presence.controller;(0,S.useEffect)(()=>{let t=!1;return Wf(e.id).then(e=>{t||i(e)}).catch(e=>{t||u(oT(e))}),()=>{t=!0}},[e.id]);let T=(0,S.useRef)(0);(0,S.useEffect)(()=>{T.current=0},[e.id]),(0,S.useEffect)(()=>{if(!Sg({dormant:p,status:r?.status,socketReady:n.socketReady,attempt:T.current}))return;let e=T.current;T.current+=1;let t=setTimeout(()=>n.reconnect(),Cg(e));return()=>clearTimeout(t)},[p,r?.status,n.socketReady,n.reconnect]);let E=(0,S.useRef)(null);(0,S.useEffect)(()=>{n.socketReady||(E.current=null)},[n.socketReady]),(0,S.useEffect)(()=>{v||p||!n.socketReady||!m||n.role!==`controller`&&E.current!==e.id&&(E.current=e.id,n.requestControl())},[v,p,n.socketReady,m,n.role,e.id,n]),(0,S.useEffect)(()=>{let e=e=>{!e.altKey||e.metaKey||e.ctrlKey||e.code!==`KeyD`||document.activeElement instanceof HTMLTextAreaElement||(e.preventDefault(),zC())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let D=()=>{let e=a.trim();!e||!_||(g?n.steer(e):n.prompt(e),o(``))},O=e=>{Lm(e,o,D)},k=e=>{o(`/${e.name} `)},A=async()=>{c(!0),u(null);try{await Jf(e.id),n.reconnect()}catch(e){u(oT(e))}finally{c(!1)}},j=async()=>{u(null);try{await Yf(e.id)}catch(e){u(oT(e))}},M=Bh(`steer`),N={header:{render:()=>(0,z.jsx)(Gh,{store:n,detail:r})},chrome:{cap:`node.internals`,render:()=>(0,z.jsx)(Zh,{store:n,detail:r})},stream:{render:()=>(0,z.jsx)(Lw,{messages:n.messages,streaming:g})},arbitration:{cap:`node.arbitration`,render:()=>(0,z.jsx)(yg,{store:n})},rail:{cap:`subnodes.activity`,render:()=>(0,z.jsx)(Bw,{rootId:e.id})},graphRail:{cap:`node.graphRail`,render:()=>(0,z.jsx)(lg,{currentId:e.id,onNavigate:e=>t(`/nodes/${e}`)})},filePeek:{cap:`files.peek`,render:()=>(0,z.jsx)(Gw,{nodeId:e.id,path:d,onClose:()=>f(null)})},composer:{render:()=>p?(0,z.jsx)(rT,{id:e.id,reviving:s,onRevive:A,onClose:j}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(Tg,{cap:`node.internals`,children:(0,z.jsx)(nT,{store:n,canDrive:_,streaming:g,onClose:j})}),!y&&g&&(0,z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-t border-border px-4 py-2 text-sm text-success`,children:[(0,z.jsx)(`span`,{className:`size-1.5 animate-pulse rounded-full bg-success`}),`Agent is working…`,(0,z.jsx)(Z,{variant:`secondary`,size:`sm`,className:`ml-auto`,disabled:!_,onClick:()=>n.abort(),children:`Stop`})]}),(0,z.jsxs)(`div`,{className:`relative flex shrink-0 flex-col gap-2 border-t border-border px-4 py-3`,children:[b&&(0,z.jsx)(Dg,{commands:C,query:a,visible:a.startsWith(`/`),onSelect:k}),(0,z.jsx)(Np,{className:Y(`resize-none text-sm`,y&&`font-mono`),value:a,onChange:e=>o(e.currentTarget.value),onKeyDown:O,disabled:!_,placeholder:eT(y,b,h,m),rows:3}),(0,z.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,z.jsx)(Tg,{cap:`node.internals`,children:(0,z.jsx)(iT,{id:e.id})}),(0,z.jsx)(Z,{variant:`default`,onClick:D,disabled:!_||!a.trim(),children:g?M:`Send`})]})]})]})}};return(0,z.jsx)(ew.Provider,{value:{peekedPath:d,onPeek:f},children:(0,z.jsxs)(`div`,{className:`in flex h-full min-h-0 flex-col`,children:[(0,z.jsxs)(`div`,{className:Y(`con-head rv flex shrink-0 items-center gap-3 px-6 py-4`,p&&`opacity-80`),style:{...Xw,...Yw(1)},children:[(0,z.jsxs)(`button`,{type:`button`,onClick:()=>t(x.path),className:`flex shrink-0 items-center gap-1.5 text-sm text-muted-foreground transition-colors hover:text-[var(--ink)]`,children:[(0,z.jsx)(uf,{className:`size-4`}),x.label]}),(0,z.jsx)(wg,{reg:N,name:`header`}),(0,z.jsx)(`div`,{className:`flex-1`}),(0,z.jsx)($w,{}),(0,z.jsx)(wg,{reg:N,name:`arbitration`})]}),(0,z.jsx)(`div`,{className:`rv`,style:Yw(2),children:(0,z.jsx)(wg,{reg:N,name:`chrome`})}),(0,z.jsx)(tT,{state:n.brokerStatus,dormant:p}),w&&(0,z.jsx)(`div`,{className:`border-b border-border bg-muted/40 px-4 py-2 text-sm text-muted-foreground`,children:`Someone else is steering this conversation.`}),n.error&&y&&(0,z.jsxs)(`div`,{className:`border-b border-destructive/30 bg-destructive/15 px-4 py-2 text-sm text-destructive`,children:[n.error.code,`: `,n.error.message]}),l&&(0,z.jsx)(`div`,{className:`border-b border-destructive/30 bg-destructive/15 px-4 py-2 text-sm text-destructive`,children:y?l:`Something went wrong — please try again.`}),(0,z.jsx)(Hw,{conversationId:e.id}),(0,z.jsxs)(`div`,{className:`streamwrap relative flex min-h-0 flex-1 overflow-hidden`,children:[(0,z.jsx)(wg,{reg:N,name:`graphRail`}),(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,z.jsx)(`main`,{className:`min-h-0 flex-1 overflow-auto`,children:(0,z.jsx)(wg,{reg:N,name:`stream`})}),(0,z.jsx)(wg,{reg:N,name:`rail`}),(0,z.jsx)(wg,{reg:N,name:`composer`})]}),(0,z.jsx)(wg,{reg:N,name:`filePeek`})]}),(0,z.jsx)(wg,{reg:N,name:`trace`}),(0,z.jsx)(Tg,{cap:`node.internals`,children:(0,z.jsx)(tg,{store:n,detail:r})}),(0,z.jsx)(Ag,{store:n})]})})}var Qw=[{value:`focused`,label:`Focused`},{value:`standard`,label:`Standard`},{value:`verbose`,label:`Verbose`}];function $w(){let e=VC();return(0,z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,title:`Transcript detail — Focused / Standard / Verbose (⌥D to cycle)`,children:[(0,z.jsx)(`span`,{className:`instlabel`,children:`Detail`}),(0,z.jsxs)(Ep,{value:e,onValueChange:e=>RC(e),children:[(0,z.jsx)(Op,{size:`sm`,className:`text-sm`,"aria-label":`Transcript detail`,children:(0,z.jsx)(Dp,{})}),(0,z.jsx)(kp,{children:Qw.map(e=>(0,z.jsx)(Ap,{value:e.value,children:e.label},e.value))})]})]})}function eT(e,t,n,r){return e?n?r?t?`Type a prompt, or / for commands…`:`Type a prompt…`:`broker is down — input is frozen`:`observer — request control to drive this session`:r?`Message your agent`:`Reconnecting to your agent…`}function tT({state:e,dormant:t}){let n=!Rh(`diagnostics`);return t||e!==`down`&&e!==`reconnecting`?null:n?(0,z.jsx)(`div`,{className:`broker-banner border border-warning/30 bg-warning/15 px-4 py-2 text-sm`,children:`Reconnecting to your agent…`}):(0,z.jsx)(`div`,{className:[`broker-banner border px-4 py-2 text-sm`,e===`down`?`bg-destructive/15 text-destructive border-destructive/30`:`bg-warning/15 border-warning/30`].join(` `),children:e===`down`?`Broker is down — history frozen, input disabled. Waiting for auto-revive…`:`Reconnecting to the broker…`})}function nT({store:e,canDrive:t,streaming:n,onClose:r}){let[i,a]=(0,S.useState)(null),o=i??e.state?.thinkingLevel??`medium`,s=Bh(`compact`),c=Bh(`close`),l=Bh(`node`);return(0,z.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2 border-t border-border px-4 py-2`,children:[(0,z.jsx)(Z,{variant:`secondary`,size:`sm`,disabled:!t||!n,onClick:()=>e.abort(),children:`Abort`}),(0,z.jsxs)(`label`,{className:`tiny-sel relative`,"aria-disabled":!t,children:[`thinking `,(0,z.jsx)(`b`,{children:o}),(0,z.jsx)(lf,{className:`size-3.5`}),(0,z.jsx)(`select`,{disabled:!t,value:o,onChange:t=>{let n=t.currentTarget.value;a(n),e.setThinkingLevel(n)},"aria-label":`Thinking level`,className:`absolute inset-0 cursor-pointer opacity-0`,children:Jw.map(e=>(0,z.jsx)(`option`,{value:e,children:e},e))})]}),(0,z.jsx)(Z,{variant:`ghost`,size:`sm`,disabled:!t,onClick:()=>e.cycleModel(),children:`Cycle model`}),(0,z.jsx)(Z,{variant:`ghost`,size:`sm`,disabled:!t,onClick:()=>e.compact(),children:s}),(0,z.jsx)(Tg,{cap:`node.lifecycle.raw`,children:(0,z.jsxs)(Z,{variant:`destructive`,size:`sm`,className:`ml-auto`,onClick:r,children:[c,` `,l]})})]})}function rT({id:e,reviving:t,onRevive:n,onClose:r}){let i=zh(),a=Rh(`node.internals`),o=Bh(`node`),s=Bh(`revive`),c=Bh(`close`),l=[{key:`revive`,node:(0,z.jsx)(Z,{variant:`default`,disabled:t,onClick:n,children:t?`${s}…`:s})},{key:`close`,cap:`node.lifecycle.raw`,node:(0,z.jsxs)(Z,{variant:`destructive`,onClick:r,children:[c,` `,o]})}];return(0,z.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2 border-t border-border px-4 py-3`,children:[(0,z.jsx)(`span`,{className:`text-muted-foreground text-sm`,children:a?`This ${o} is dormant (read-only). ${s} to drive it live.`:`This ${o} is finished. ${s} to keep going.`}),(0,z.jsx)(Tg,{cap:`node.internals`,children:(0,z.jsx)(iT,{id:e})}),Eg(l,i).map(e=>(0,z.jsx)(S.Fragment,{children:e.node},e.key))]})}function iT({id:e}){let[t,n]=(0,S.useState)(!1);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(Z,{variant:`secondary`,onClick:()=>n(!0),children:`Message (inbox)`}),(0,z.jsx)(aT,{id:e,open:t,onOpenChange:n})]})}function aT({id:e,open:t,onOpenChange:n}){let[r,i]=(0,S.useState)(``),[a,o]=(0,S.useState)(``),[s,c]=(0,S.useState)(!1),[l,u]=(0,S.useState)(null);return(0,S.useEffect)(()=>{t&&(i(``),o(``),u(null))},[t]),(0,z.jsx)(gp,{open:t,onOpenChange:n,children:(0,z.jsxs)(yp,{children:[(0,z.jsxs)(bp,{children:[(0,z.jsx)(Sp,{children:`Send an inbox message`}),(0,z.jsx)(Cp,{children:`A directive deliverable to any node, including a dormant one.`})]}),(0,z.jsxs)(`form`,{onSubmit:async t=>{if(t.preventDefault(),r.trim()){c(!0),u(null);try{let t=await qf(e,{body:r.trim(),...a.trim()?{tier:a.trim()}:{}});u(`delivered=${String(t.delivered)} revived=${String(t.revived)}`),i(``)}catch(e){u(oT(e))}finally{c(!1)}}},className:`flex flex-col gap-3`,children:[(0,z.jsx)(Np,{value:r,onChange:e=>i(e.currentTarget.value),rows:4,required:!0,placeholder:`Message body…`}),(0,z.jsxs)(`label`,{className:`flex flex-col gap-1 text-sm`,children:[`tier`,(0,z.jsx)(`input`,{className:`rounded border bg-transparent px-2 py-1 text-sm`,value:a,onChange:e=>o(e.currentTarget.value),placeholder:`(default)`})]}),l&&(0,z.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:l}),(0,z.jsxs)(xp,{children:[(0,z.jsx)(Z,{type:`button`,variant:`secondary`,onClick:()=>n(!1),disabled:s,children:`Close`}),(0,z.jsx)(Z,{type:`submit`,variant:`default`,disabled:s,children:s?`Sending…`:`Send`})]})]})]})})}function oT(e){return e instanceof Bf?`${e.code}: ${e.message}`:String(e)}function sT(){let{decks:e,loading:t}=Jp();return(0,z.jsxs)(`div`,{className:`mx-auto flex h-full min-h-0 max-w-3xl flex-col px-6 py-8`,children:[(0,z.jsxs)(`div`,{className:`mb-6 flex items-center gap-3`,children:[(0,z.jsx)(`h1`,{className:`text-3xl`,style:{fontFamily:`var(--font-display)`,fontWeight:460,letterSpacing:`-0.01em`,color:`var(--ink)`},children:`Inbox`}),e.length>0&&(0,z.jsx)(`span`,{className:`text-xs`,style:{fontFamily:`var(--font-inst)`,fontWeight:600,color:`#ff8260`,background:`var(--blk-dim)`,border:`1px solid rgba(255,94,54,.35)`,padding:`1.5px 7px`,borderRadius:`99px`},children:e.length})]}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto`,children:t?(0,z.jsx)(dT,{}):e.length===0?(0,z.jsx)(uT,{}):(0,z.jsx)(`ul`,{className:`flex flex-col gap-2.5`,children:e.map(e=>(0,z.jsx)(cT,{deck:e},e.id))})})]})}function cT({deck:e}){let t=lt(),n=Zp(e.kind),r=n.icon;return(0,z.jsx)(`li`,{className:`list-none`,children:(0,z.jsxs)(`button`,{type:`button`,onClick:()=>t(`/inbox/${encodeURIComponent(e.job_id)}`),className:`panel flex w-full items-start gap-4 px-4 py-3.5 text-left transition-colors hover:bg-[color-mix(in_oklch,var(--ink)_3%,transparent)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,children:[(0,z.jsx)(`span`,{className:`mt-0.5 inline-flex size-9 shrink-0 items-center justify-center rounded-lg`,style:{border:`1px solid var(--line)`,color:`var(--ink2)`,background:`color-mix(in oklch, var(--ink) 4%, transparent)`},title:n.label,children:(0,z.jsx)(r,{className:`size-4.5`})}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,z.jsx)(`span`,{className:`truncate text-sm`,style:{fontWeight:500,color:`var(--ink)`},children:e.title}),(0,z.jsx)(`span`,{className:`instlabel shrink-0`,children:n.label})]}),e.subtitle&&(0,z.jsx)(`p`,{className:`mt-0.5 truncate text-sm`,style:{color:`var(--mut)`},children:e.subtitle}),(0,z.jsx)(lT,{deck:e,className:`mt-1.5`})]}),(0,z.jsx)(`span`,{className:`shrink-0 text-xs`,style:{fontFamily:`var(--font-inst)`,letterSpacing:`0.08em`,color:`var(--mut)`},title:`waiting ${Qp(e.blocked_since)}`,children:Qp(e.blocked_since)})]})})}function lT({deck:e,className:t}){let n=Rh(`node.internals`);return(0,z.jsxs)(`div`,{className:Y(`flex flex-wrap items-center gap-x-2 gap-y-0.5 text-xs`,t),children:[(0,z.jsxs)(`span`,{className:`text-muted-foreground`,children:[`in `,(0,z.jsx)(`span`,{className:`font-medium text-foreground/80`,children:e.conversation_title})]}),n&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`span`,{className:`text-muted-foreground/40`,children:`·`}),(0,z.jsxs)(kn,{to:`/nodes/${encodeURIComponent(e.asking_node_id)}`,onClick:e=>e.stopPropagation(),className:`font-mono text-muted-foreground hover:text-primary hover:underline`,title:e.cwd,children:[e.asking_node_name,` (`,e.asking_node_id,`)`]}),(0,z.jsx)(`span`,{className:`text-muted-foreground/40`,children:`·`}),(0,z.jsx)(`span`,{className:`font-mono text-muted-foreground/60`,title:e.cwd,children:e.cwd})]})]})}function uT(){return(0,z.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center py-16 text-center`,children:[(0,z.jsx)(`p`,{className:`text-2xl`,style:{fontFamily:`var(--font-display)`,fontStyle:`italic`,color:`var(--ink)`},children:`You're all caught up.`}),(0,z.jsx)(`p`,{className:`mt-1.5 text-sm`,style:{color:`var(--mut)`},children:`Nothing needs your input right now.`})]})}function dT(){return(0,z.jsx)(`ul`,{className:`flex flex-col gap-2.5`,children:[0,1,2].map(e=>(0,z.jsxs)(`li`,{className:`panel flex items-center gap-4 px-4 py-3.5`,children:[(0,z.jsx)(`div`,{className:`size-9 shrink-0 animate-pulse rounded-lg bg-muted`}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-2`,children:[(0,z.jsx)(`div`,{className:`h-4 w-1/3 animate-pulse rounded bg-muted`}),(0,z.jsx)(`div`,{className:`h-3 w-2/3 animate-pulse rounded bg-muted/70`})]})]},e))})}function fT({deckId:e}){let t=lt(),[n,r]=(0,S.useState)(null),[i,a]=(0,S.useState)(!0),[o,s]=(0,S.useState)(null),[c,l]=(0,S.useState)({}),[u,d]=(0,S.useState)(!1),[f,p]=(0,S.useState)(0);(0,S.useEffect)(()=>{let n=!1;return r(null),l({}),s(null),d(!1),a(!0),Wp(e).then(e=>{n||(r(e),l(Object.fromEntries(e.interactions.map(e=>[e.id,{id:e.id}]))),a(!1))}).catch(e=>{if(!n){if(Ip(e)){tm(e instanceof Bf?e.message:`That request was already handled.`),t(`/inbox`,{replace:!0});return}s(e instanceof Error?e:Error(`Failed to load deck.`)),a(!1)}}),()=>{n=!0}},[e,t,f]);let m=(e,t)=>l(n=>({...n,[e]:{...n[e],id:e,...t}}));if(i)return(0,z.jsx)(TT,{});if(o)return(0,z.jsx)(pT,{error:o,onRetry:()=>p(e=>e+1),onBack:()=>t(`/inbox`)});if(!n)return(0,z.jsx)(TT,{});let h=async e=>{if(u)return;d(!0);let r=Object.values(e??c).map(({selectedOptionId:e,...t})=>t);try{await Gp(n.job_id,{responses:r}),tm(`Done — thanks!`,`success`),t(`/inbox`,{replace:!0})}catch(e){if(Ip(e)){tm(e instanceof Bf?e.message:`That request was already handled.`),t(`/inbox`,{replace:!0});return}tm(e instanceof Bf?e.message:`Something went wrong — try again.`),d(!1)}},g=n.interactions.length===1?n.interactions[0]:null,_=Zp(n.kind).icon;return(0,z.jsxs)(`div`,{className:`mx-auto flex h-full min-h-0 max-w-2xl flex-col px-6 py-8`,children:[(0,z.jsxs)(`button`,{type:`button`,onClick:()=>t(`/inbox`),className:`mb-4 inline-flex items-center gap-1.5 text-sm text-muted-foreground hover:text-foreground`,children:[(0,z.jsx)(af,{className:`size-4`}),` Inbox`]}),(0,z.jsxs)(`header`,{className:`mb-5 flex items-start gap-3`,children:[(0,z.jsx)(`span`,{className:`mt-0.5 inline-flex size-10 shrink-0 items-center justify-center rounded-lg`,style:{border:`1px solid var(--line)`,color:`var(--ink2)`,background:`color-mix(in oklch, var(--ink) 4%, transparent)`},children:(0,z.jsx)(_,{className:`size-5`})}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`h1`,{className:`text-2xl`,style:{fontFamily:`var(--font-display)`,fontWeight:460,letterSpacing:`-0.01em`,color:`var(--ink)`},children:n.title}),n.subtitle&&(0,z.jsx)(`p`,{className:`mt-0.5 text-sm`,style:{color:`var(--mut)`},children:n.subtitle}),(0,z.jsx)(lT,{deck:n,className:`mt-2`})]})]}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto`,children:(0,z.jsx)(`div`,{className:`flex flex-col gap-6`,children:n.interactions.map(e=>(0,z.jsx)(gT,{interaction:e,answer:c[e.id]??{id:e.id},onChange:t=>m(e.id,t),conversationId:n.conversation_id,busy:u,onResolveWith:g?t=>void h({[e.id]:t}):void 0},e.id))})}),!mT(g)&&(0,z.jsxs)(`footer`,{className:`mt-6 flex shrink-0 items-center justify-end gap-2 border-t border-border pt-4`,children:[(0,z.jsx)(Z,{variant:`ghost`,onClick:()=>t(`/inbox`),disabled:u,children:`Cancel`}),(0,z.jsx)(Z,{onClick:()=>void h(),disabled:u||!hT(n,c),children:u?`Sending…`:`Submit`})]})]})}function pT({error:e,onRetry:t,onBack:n}){return(0,z.jsx)(`div`,{className:`mx-auto flex h-full min-h-0 max-w-2xl flex-col justify-center px-6 py-8`,children:(0,z.jsxs)(`section`,{className:`panel p-5`,children:[(0,z.jsx)(`h1`,{className:`text-lg font-semibold`,children:`Couldn’t load the deck`}),(0,z.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:e.message}),(0,z.jsxs)(`div`,{className:`mt-4 flex gap-2`,children:[(0,z.jsx)(Z,{onClick:t,children:`Retry`}),(0,z.jsx)(Z,{variant:`ghost`,onClick:n,children:`Back to inbox`})]})]})})}function mT(e){return e!==null&&(e.kind===`notify`||e.kind===`validation`)}function hT(e,t){return e.interactions.every(e=>{let n=t[e.id];if(!n)return!1;if(e.kind===`notify`||e.kind===`error`)return!0;let r=!!n.selectedOptionIds?.length||!!n.freetext?.trim();return e.options.length===0&&!e.allowFreetext?!0:r})}function gT({interaction:e,answer:t,onChange:n,conversationId:r,busy:i,onResolveWith:a}){switch(e.kind){case`notify`:return(0,z.jsx)(bT,{interaction:e,onGotIt:()=>a?.({id:e.id}),direct:!!a});case`validation`:return(0,z.jsx)(xT,{interaction:e,answer:t,onChange:n,busy:i,onResolveWith:a});case`context`:return(0,z.jsx)(CT,{interaction:e,answer:t,onChange:n});case`error`:return(0,z.jsx)(wT,{interaction:e,answer:t,onChange:n,conversationId:r});default:return(0,z.jsx)(ST,{interaction:e,answer:t,onChange:n})}}function _T({body:e}){return e?(0,z.jsx)(`div`,{className:`prose prose-sm max-w-none text-sm text-foreground/85 dark:prose-invert`,dangerouslySetInnerHTML:{__html:wC(AC(e))}}):null}function vT({children:e,className:t}){return(0,z.jsx)(`section`,{className:Y(`panel p-5`,t),children:e})}function yT({it:e}){return(0,z.jsxs)(`div`,{className:`mb-3`,children:[(0,z.jsx)(`h2`,{className:`text-base font-semibold`,children:e.title}),e.subtitle&&(0,z.jsx)(`p`,{className:`mt-0.5 text-sm text-muted-foreground`,children:e.subtitle})]})}function bT({interaction:e,onGotIt:t,direct:n}){return(0,z.jsxs)(vT,{children:[(0,z.jsx)(yT,{it:e}),(0,z.jsx)(_T,{body:e.body}),n&&(0,z.jsx)(`div`,{className:`mt-4 flex justify-end`,children:(0,z.jsxs)(Z,{onClick:t,children:[(0,z.jsx)(cf,{className:`mr-1.5 size-4`}),` Got it`]})})]})}function xT({interaction:e,answer:t,onChange:n,busy:r,onResolveWith:i}){let a=e.options.find(e=>e.id===`yes`)??e.options[0],o=e.options.find(e=>e.id===`no`)??e.options[1],s=r=>{let a={...t,id:e.id,selectedOptionIds:[r]};i?i(a):n({selectedOptionIds:[r],selectedOptionId:void 0})};return(0,z.jsxs)(vT,{children:[(0,z.jsx)(yT,{it:e}),(0,z.jsx)(_T,{body:e.body}),(0,z.jsxs)(`div`,{className:`mt-4 flex flex-col gap-3`,children:[(0,z.jsx)(Np,{rows:2,value:t.freetext??``,onChange:e=>n({freetext:e.currentTarget.value}),placeholder:e.freetextLabel??`Add a comment (optional)`,className:`resize-none text-sm`}),(0,z.jsxs)(`div`,{className:`flex gap-3`,children:[(0,z.jsx)(Z,{className:`flex-1`,size:`lg`,disabled:r,onClick:()=>a&&s(a.id),children:a?.label??`Approve`}),(0,z.jsx)(Z,{className:`flex-1`,size:`lg`,variant:`outline`,disabled:r,onClick:()=>o&&s(o.id),children:o?.label??`Reject`})]}),!i&&t.selectedOptionIds?.[0]&&(0,z.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Selected: `,e.options.find(e=>e.id===t.selectedOptionIds?.[0])?.label]})]})]})}function ST({interaction:e,answer:t,onChange:n}){let r=new Set(t.selectedOptionIds??[]),i=t=>{if(e.multiSelect){let e=new Set(r);e.has(t)?e.delete(t):e.add(t),n({selectedOptionIds:[...e],selectedOptionId:void 0})}else n({selectedOptionIds:[t],selectedOptionId:void 0})};return(0,z.jsxs)(vT,{children:[(0,z.jsx)(yT,{it:e}),(0,z.jsx)(_T,{body:e.body}),(0,z.jsx)(`ul`,{className:`mt-4 flex flex-col gap-2`,children:e.options.map(t=>{let n=r.has(t.id);return(0,z.jsx)(`li`,{children:(0,z.jsxs)(`button`,{type:`button`,onClick:()=>i(t.id),className:Y(`flex w-full items-start gap-3 rounded-xl border px-4 py-3 text-left transition-colors`,n?`border-primary bg-primary/5 ring-1 ring-primary`:`border-border hover:border-primary/40 hover:bg-accent/40`),children:[(0,z.jsx)(`span`,{className:Y(`mt-0.5 flex size-4 shrink-0 items-center justify-center border`,e.multiSelect?`rounded`:`rounded-full`,n?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground/40`),children:n&&(0,z.jsx)(cf,{className:`size-3`})}),(0,z.jsxs)(`span`,{className:`min-w-0`,children:[(0,z.jsx)(`span`,{className:`block text-sm font-medium`,children:t.label}),t.description&&(0,z.jsx)(`span`,{className:`mt-0.5 block text-xs text-muted-foreground`,children:t.description})]})]})},t.id)})}),e.allowFreetext&&(0,z.jsx)(Np,{rows:2,value:t.freetext??``,onChange:e=>n({freetext:e.currentTarget.value}),placeholder:e.freetextLabel??`Anything else? (optional)`,className:`mt-3 resize-none text-sm`})]})}function CT({interaction:e,answer:t,onChange:n}){let r=t.selectedOptionIds?.[0];return(0,z.jsxs)(vT,{children:[(0,z.jsx)(yT,{it:e}),e.body&&(0,z.jsxs)(`div`,{className:`mb-4 rounded-xl border border-border p-3`,style:{background:`color-mix(in oklch, var(--ink) 3%, transparent)`},children:[(0,z.jsx)(`p`,{className:`instlabel mb-1.5`,children:`Why we're asking`}),(0,z.jsx)(_T,{body:e.body})]}),e.options.length>0&&(0,z.jsx)(`ul`,{className:`mb-3 flex flex-col gap-2`,children:e.options.map(e=>(0,z.jsx)(`li`,{children:(0,z.jsx)(`button`,{type:`button`,onClick:()=>n({selectedOptionIds:[e.id],selectedOptionId:void 0}),className:Y(`flex w-full items-start gap-3 rounded-xl border px-4 py-3 text-left transition-colors`,r===e.id?`border-primary bg-primary/5 ring-1 ring-primary`:`border-border hover:border-primary/40 hover:bg-accent/40`),children:(0,z.jsxs)(`span`,{className:`min-w-0`,children:[(0,z.jsx)(`span`,{className:`block text-sm font-medium`,children:e.label}),e.description&&(0,z.jsx)(`span`,{className:`mt-0.5 block text-xs text-muted-foreground`,children:e.description})]})})},e.id))}),(e.allowFreetext||e.options.length===0)&&(0,z.jsx)(Np,{autoFocus:!0,rows:3,value:t.freetext??``,onChange:e=>n({freetext:e.currentTarget.value}),placeholder:e.freetextLabel??`Your answer`,className:`resize-none text-sm`})]})}function wT({interaction:e,answer:t,onChange:n,conversationId:r}){let i=lt();return(0,z.jsxs)(vT,{className:`border-destructive/30`,children:[(0,z.jsx)(yT,{it:e}),(0,z.jsx)(_T,{body:e.body}),(0,z.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[e.options.map(e=>(0,z.jsx)(`button`,{type:`button`,onClick:()=>n({selectedOptionIds:[e.id],selectedOptionId:void 0}),className:Y(`flex w-full items-start gap-3 rounded-xl border px-4 py-3 text-left transition-colors`,t.selectedOptionIds?.[0]===e.id?`border-primary bg-primary/5 ring-1 ring-primary`:`border-border hover:border-primary/40 hover:bg-accent/40`),children:(0,z.jsxs)(`span`,{className:`min-w-0`,children:[(0,z.jsx)(`span`,{className:`block text-sm font-medium`,children:e.label}),e.description&&(0,z.jsx)(`span`,{className:`mt-0.5 block text-xs text-muted-foreground`,children:e.description})]})},e.id)),(0,z.jsx)(`button`,{type:`button`,onClick:()=>i(`/c/${encodeURIComponent(r)}`),className:`flex w-full items-center gap-2 rounded-xl border border-border px-4 py-3 text-left text-sm font-medium transition-colors hover:border-primary/40 hover:bg-accent/40`,children:`Take over — open the conversation`})]})]})}function TT(){return(0,z.jsxs)(`div`,{className:`mx-auto flex h-full max-w-2xl flex-col gap-5 px-6 py-8`,children:[(0,z.jsx)(`div`,{className:`h-4 w-16 animate-pulse rounded bg-muted`}),(0,z.jsx)(`div`,{className:`h-7 w-1/2 animate-pulse rounded bg-muted`}),(0,z.jsx)(`div`,{className:`h-40 w-full animate-pulse rounded-2xl bg-muted/60`})]})}var ET=[`operator`,`studio`];function DT(){let e=Ih(),t=Lh();return(0,z.jsx)(`div`,{role:`group`,"aria-label":`Switch profile`,className:`inline-flex items-center rounded-md border border-border bg-card/50 p-0.5 text-xs`,children:ET.map(n=>{let r=e.id===n;return(0,z.jsx)(`button`,{type:`button`,"aria-pressed":r,onClick:()=>t(n),className:Y(`inline-flex h-8 items-center rounded px-3 font-medium transition-colors`,r?`bg-primary text-primary-foreground`:`text-muted-foreground hover:text-foreground`),children:Dh[n].label},n)})})}function OT(){let e=Ih(),[t,n]=(0,S.useState)(()=>e.defaultTheme===`dark`);return(0,z.jsxs)(`div`,{className:`mx-auto flex h-full min-h-0 max-w-2xl flex-col gap-8 overflow-auto px-6 py-8`,children:[(0,z.jsx)(`h1`,{className:`text-3xl`,style:{fontFamily:`var(--font-display)`,fontWeight:460,letterSpacing:`-0.01em`,color:`var(--ink)`},children:`Settings`}),(0,z.jsxs)(`section`,{className:`space-y-2.5`,children:[(0,z.jsx)(`h2`,{className:`instlabel`,children:`Profile`}),(0,z.jsx)(`p`,{className:`text-sm`,style:{color:`var(--mut)`},children:`Choose the experience. You can also switch from the header at any time.`}),(0,z.jsx)(DT,{})]}),(0,z.jsxs)(`section`,{className:`space-y-2.5`,children:[(0,z.jsx)(`h2`,{className:`instlabel`,children:`Appearance`}),(0,z.jsxs)(`p`,{className:`text-sm`,style:{color:`var(--mut)`},children:[t?`Dark theme`:`Light theme`,` is active.`]}),(0,z.jsxs)(Z,{variant:`outline`,onClick:()=>{let e=document.documentElement,t=!e.classList.contains(`dark`);e.classList.toggle(`dark`,t),e.classList.toggle(`light`,!t),n(t)},children:[`Switch to `,t?`light`:`dark`]})]})]})}function kT(e){return e.busy?`working`:e.banner?.level===`error`?`blocked`:e.banner?.level===`action`?`attention`:e.loaded?`ready`:`idle`}function AT(){return{status:null,banner:null,subtitle:null,mode:null,busy:!1,loaded:!1,lastRefresh:0}}var jT={working:`working`,blocked:`blocked`,attention:`attention`,ready:`ready`,idle:`idle`},MT={working:`bg-blue-500`,blocked:`bg-red-500`,attention:`bg-amber-500`,ready:`bg-green-500`,idle:`bg-slate-400`},NT={info:`bg-slate-100 text-slate-800 border-slate-300`,action:`bg-amber-100 text-amber-900 border-amber-300`,error:`bg-red-100 text-red-900 border-red-300`};function PT({chrome:e,title:t,children:n}){let r=e.mode?`attention`:kT(e);return(0,z.jsxs)(`div`,{className:`min-h-screen bg-white text-slate-900`,children:[(0,z.jsxs)(`header`,{className:`flex items-center gap-3 border-b border-slate-200 px-4 py-2`,children:[(0,z.jsx)(`h1`,{className:`font-mono text-sm font-semibold`,children:t}),e.subtitle?(0,z.jsxs)(`span`,{className:`font-mono text-xs text-slate-400`,children:[`· `,e.subtitle]}):null,e.mode?(0,z.jsx)(`span`,{className:`rounded-full bg-slate-800 px-2 py-0.5 text-xs text-white`,children:e.mode}):null,(0,z.jsxs)(`span`,{className:`ml-auto flex items-center gap-2 text-xs text-slate-500`,children:[e.busy?(0,z.jsx)(`span`,{className:`inline-block h-3 w-3 animate-spin rounded-full border-2 border-slate-300 border-t-slate-600`}):null,(0,z.jsx)(`span`,{className:`inline-block h-2 w-2 rounded-full ${MT[r]}`}),(0,z.jsx)(`span`,{children:jT[r]})]})]}),e.banner?(0,z.jsx)(`div`,{className:`border-b px-4 py-1.5 font-mono text-xs ${NT[e.banner.level]}`,children:e.banner.msg}):null,(0,z.jsx)(`main`,{className:`px-4 py-3`,children:n}),e.status?(0,z.jsx)(`footer`,{className:`border-t border-slate-200 px-4 py-1.5 font-mono text-xs text-slate-500`,children:e.status}):null]})}function FT(e){return typeof e==`object`&&!!e}function IT(e){return typeof e==`string`?e:``}function LT(e){let t=e??``;return/rate.?limit|\b429\b|too many requests|quota/i.test(t)?`rate-limit`:/overloaded|\b529\b|\b503\b|capacity|server.{0,3}busy|temporarily unavailable/i.test(t)?`overloaded`:/invalid_grant|refresh token|unauthori[sz]ed|invalid.?api.?key|authentication failed|\b401\b|\b403\b/i.test(t)?`auth`:/connection|econnreset|etimedout|enotfound|econnrefused|network|fetch failed|socket hang|timed? out|timeout/i.test(t)?`connection`:`other`}function RT(e){let t=IT(e.code)||IT(e.errno);return t===``?null:/^(ECONNREFUSED|ECONNRESET|ETIMEDOUT|ENOENT|ENOTFOUND|EAI_AGAIN|EPIPE|EHOSTUNREACH|ENETUNREACH)$/i.test(t)?`connection`:null}function zT(e){let t=typeof e.status==`number`?e.status:null;return t===null?null:t===401||t===403?`auth`:t===429?`rate-limit`:t===503||t===529||t>=500&&t<=599?`overloaded`:t>=400&&t<=499?`protocol`:null}function BT(e){let t=typeof e.code==`number`?e.code:null;if(t===null)return null;if(t===1008)return`protocol`;if(t===1006)return`connection`;if(t===1011){let t=IT(e.reason);return/no running broker/i.test(t)||LT(t)===`connection`?`connection`:`other`}return null}function VT(e,t){return t===`auth`||t===`protocol`?`fatal`:e===`pi→provider`?t===`connection`||t===`rate-limit`||t===`overloaded`?`auto`:`fatal`:`manual`}function HT(e){if(typeof e==`string`)return e;if(!FT(e))return``;let t=[e.message,e.errorMessage,e.reason,e.body,e.statusText];for(let e of t)if(typeof e==`string`&&e!==``)return e;let n=e.error;if(FT(n)){let e=n.message;if(typeof e==`string`&&e!==``)return e;let t=n.reason;if(typeof t==`string`&&t!==``)return t}return``}function UT(e,t){if(FT(t)){let n=RT(t);if(n!==null)return{kind:n,disposition:VT(e,n)};let r=zT(t);if(r!==null)return{kind:r,disposition:VT(e,r)};let i=BT(t);if(i!==null)return{kind:i,disposition:VT(e,i)}}let n=LT(HT(t));return{kind:n,disposition:VT(e,n)}}function WT(e){let t=new URL(`/node/${encodeURIComponent(e)}`,window.location.href);t.protocol=location.protocol===`https:`?`wss:`:`ws:`;let n=new URLSearchParams(window.location.search).get(`token`);return n!==null&&n!==``&&t.searchParams.set(`token`,n),t}function GT(e){let t=UT(`browser↔relay`,{code:e.code,reason:e.reason});return e.code===1008||t.kind===`protocol`?`invalid`:e.code===1011&&/^no node /.test(e.reason)?`no-node`:e.code===1011&&/^no running broker/.test(e.reason)?`no-broker`:`transient`}function KT(e){return{kind:`browser-stream-no-broker`,display:{headline:`node ${e} is asleep or has no running broker`,explanation:`This browser stream connects only to an already-running local broker.`,nextStep:`Run crtr node focus ${e} or crtr node lifecycle revive ${e}, then reconnect.`,level:`error`,blocking:!1}}}function qT(e){return{kind:`browser-stream-no-node`,display:{headline:`node ${e} does not exist`,explanation:`The browser relay could not find a live node with that id.`,nextStep:`Choose a valid node id, then reconnect.`,level:`error`,blocking:!1}}}function JT(e){return{kind:`browser-stream-invalid`,display:{headline:`node ${e} was rejected by the relay`,explanation:`The browser relay closed the stream because the request was not valid.`,nextStep:`Fix the node id or connection parameters, then reconnect.`,level:`error`,blocking:!1}}}function YT(e,t){let n=globalThis.crypto.randomUUID(),r=null,i=!1,a=!1,o=null,s=200,c=()=>{o!==null&&(window.clearTimeout(o),o=null)},l=(e,n)=>{if(!a){if(a=!0,c(),r=null,n!==void 0)try{t.onError(n)}catch{}try{t.onClose(e)}catch{}}},u=()=>{i||a||(c(),o=window.setTimeout(()=>{o=null,!i&&!a&&d()},s),s=Math.min(s*2,1e3))},d=()=>{if(i||a)return;let o=WT(e.target),c;try{c=new WebSocket(o)}catch{u();return}r=c,c.onopen=()=>{if(!(i||a)){s=200;try{c.send(JSON.stringify({type:`hello`,role:e.role??`controller`,client_id:n}))}catch{}}},c.onmessage=e=>{if(typeof e.data!=`string`)return;let n;try{n=JSON.parse(e.data)}catch{return}try{t.onFrame(n)}catch{}},c.onclose=t=>{r===c&&(r=null);let n=t.reason||`closed (${t.code})`;if(i){l(n);return}let a=GT(t);if(a===`transient`){u();return}if(a===`no-broker`){l(n,KT(e.target));return}if(a===`no-node`){l(n,qT(e.target));return}l(n,JT(e.target))},c.onerror=()=>{}},f={id:n,send(e){let t=r;if(!(t===null||t.readyState!==WebSocket.OPEN))try{t.send(JSON.stringify(e))}catch{}},close(){i=!0,c();let e=r;if(e===null){l(`closed by view`);return}if(e.readyState===WebSocket.CLOSED){l(`closed by view`);return}try{e.close()}catch{l(`closed by view`)}}};return d(),f}function XT(e=`/__crtr/source`){return{async send(t){try{let n=await fetch(e,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(t)});return n.ok?await n.json():{ok:!1,stdout:``,stderr:`bridge ${n.status} ${n.statusText}`}}catch(e){return{ok:!1,stdout:``,stderr:e instanceof Error?e.message:String(e)}}},open(e,t){return YT(e,t)}}}function ZT(e,t={}){let n=XT(t.endpoint),r=Object.freeze({...t.options??{}}),i=e.init(r),a=AT(),o=t.onIntent,s=0,c=new Set,l=()=>{s+=1;for(let e of c)e()},u=e=>(c.add(e),()=>{c.delete(e)}),d=e=>{a={...a,...e},l()},f={setStatus:e=>d({status:e}),setBanner:(e,t)=>d({banner:{msg:e,level:t}}),clearBanner:()=>d({banner:null}),setSubtitle:e=>d({subtitle:e}),setMode:e=>d({mode:e}),quit:()=>{}},p=new Set,m=0,h=!1,g=null,_=0,v=!1,y=[],b=()=>({get state(){return i},set(e){i=typeof e==`function`?e(i):e,l()},async resolve(e,t){let r=await n.send(e.request(t));return e.parse(r)},async execute(e,t){let r=await n.send(e.request(t));return e.parse(r)},connect(e,t){let r=m,i;return i=n.open(e.request(t),{onFrame(t){r===m&&C(e.onFrame,t)},onClose(t){r===m&&(p.delete(i),e.onClose&&C(e.onClose,{reason:t,channelId:i.id}))},onError(e){r===m&&d({banner:{msg:e.display.headline,level:e.display.level}})}}),p.add(i),e.onOpen&&C(e.onOpen,i),i},signal:f,dispatch(e,t){return T(e,t)}});function x(){v||(v=!0,S())}async function S(){try{for(;h&&y.length>0;){if(_>0)return;let e=y.shift();try{await T(e.intent,e.payload),e.resolve()}catch(t){e.reject(t)}}}finally{v=!1,h&&y.length>0&&_===0&&x()}}function C(e,t){return h?new Promise((n,r)=>{y.push({intent:e,payload:t,resolve:n,reject:r}),x()}):Promise.resolve()}function w(e){if(e===`refresh`){a={...a,busy:_>0,loaded:!0,lastRefresh:Date.now()},l();return}a={...a,busy:_>0},l()}async function T(t,n){if(!h)return;o?.(t,n,i);let r=e.intents[t];if(!r){console.warn(`[crtr view] unknown intent: ${t}`);return}let s;try{s=r(b(),n)}catch(e){throw console.warn(`[crtr view] intent ${t} threw:`,e),e}if(s instanceof Promise){let e=_>0;_+=1,e||d({busy:!0});try{await s}finally{--_,a={...a,busy:_>0,loaded:a.loaded||t===`refresh`,lastRefresh:Date.now()},l(),_===0&&h&&y.length>0&&x()}return}w(t)}let E=()=>{_===0&&C(`refresh`)};function D(){if(h)return;h=!0,m+=1,i=e.init(r),a=AT(),y=[],v=!1,C(`refresh`);let t=e.manifest.refreshMs;typeof t==`number`&&t>0&&(g=setInterval(E,t))}function O(){if(!h)return;h=!1,m+=1;let e=Array.from(p);for(let t of e)try{t.close()}catch{}if(p.clear(),g&&=(clearInterval(g),null),y.length>0){let e=Error(`view stopped`);for(let t of y)t.reject(e);y=[]}v=!1}return{getState:()=>i,getChrome:()=>a,dispatch:C,refresh:E,subscribe:u,getVersion:()=>s,start:D,stop:O,get onIntent(){return o},set onIntent(e){o=e}}}function QT(e,t={}){let n=(0,S.useRef)(null);n.current===null&&(n.current=ZT(e,{options:t.options,endpoint:t.endpoint}));let r=n.current;return r.onIntent=t.onIntent,(0,S.useSyncExternalStore)(r.subscribe,r.getVersion,r.getVersion),(0,S.useEffect)(()=>(r.start(),()=>r.stop()),[r]),{state:r.getState(),chrome:r.getChrome(),dispatch:r.dispatch,refresh:r.refresh}}function $T({children:e}){return(0,z.jsx)(`div`,{className:`flex min-h-[40vh] flex-col items-center justify-center gap-2 p-8 text-center font-mono text-sm text-slate-600`,children:e})}function eE({label:e=`Loading…`}){return(0,z.jsxs)($T,{children:[(0,z.jsx)(`span`,{className:`inline-block h-3 w-3 animate-spin rounded-full border-2 border-slate-300 border-t-slate-600`}),(0,z.jsx)(`span`,{children:e})]})}function tE({label:e=`Nothing here yet.`}){return(0,z.jsx)($T,{children:(0,z.jsx)(`span`,{className:`text-slate-400`,children:e})})}function nE({headline:e,explanation:t,nextStep:n,onRetry:r}){return(0,z.jsxs)($T,{children:[(0,z.jsx)(`div`,{className:`font-semibold text-red-700`,children:e}),t?(0,z.jsx)(`div`,{className:`text-slate-600`,children:t}):null,n?(0,z.jsx)(`div`,{className:`text-slate-500`,children:n}):null,r?(0,z.jsx)(iE,{onRetry:r}):null]})}function rE({headline:e=`Not ready`,explanation:t,nextStep:n,onRetry:r}){return(0,z.jsxs)($T,{children:[(0,z.jsx)(`div`,{className:`font-semibold text-amber-700`,children:e}),t?(0,z.jsx)(`div`,{className:`text-slate-600`,children:t}):null,n?(0,z.jsx)(`div`,{className:`text-slate-500`,children:n}):null,r?(0,z.jsx)(iE,{onRetry:r}):null]})}function iE({onRetry:e}){return(0,z.jsx)(`button`,{type:`button`,onClick:e,className:`mt-2 rounded border border-slate-300 px-3 py-1 text-slate-700 hover:bg-slate-100`,children:`Retry`})}function aE(e){return{ok:!0,data:e}}function oE(e){return{ok:!1,error:e}}function sE(e){return e==null?``:String(e)}function cE(e){let t=e||{};return{nodeId:sE(t.node_id),name:sE(t.name)||`(unnamed)`,kind:sE(t.kind)||`?`,mode:sE(t.mode)||`?`,lifecycle:sE(t.lifecycle)||`?`,status:sE(t.status)||`?`,parent:t.parent?sE(t.parent):null,created:sE(t.created),hanging:t.hanging&&typeof t.hanging==`object`?t.hanging:null}}function lE(e){let t=e||{};return{nodeId:sE(t.node_id),name:sE(t.name),cwd:sE(t.cwd),count:typeof t.count==`number`?t.count:0}}var uE=new Set([`active`,`idle`]),dE={active:`●`,idle:`○`,done:`✓`,dead:`✗`,canceled:`⊘`};function fE(e){return e===`rate-limit`?`rate-limited`:e===`overloaded`?`overloaded`:e===`connection`?`down`:e===`auth`?`auth`:e===`protocol`?`protocol`:e===`wedged`?`wedged`:`other`}function pE(e,t){let n=Date.parse(e);if(Number.isNaN(n))return`now`;let r=n-t;return r<=0?`now`:r>=6e4?`${Math.max(1,Math.round(r/6e4))}m`:`${Math.max(1,Math.ceil(r/1e3))}s`}function mE(e,t){if(e.retry.disposition===`auto`){if(e.retry.by===`client`)return`redialing`;let n=typeof e.retry.attempt==`number`&&typeof e.retry.max==`number`?`auto-retry ${e.retry.attempt}/${e.retry.max}`:`auto-retrying`;return e.retry.nextAt?`${n}, next ${pE(e.retry.nextAt,t)}`:n}return`needs you`}function hE(e,t){return`${e.link} ${fE(e.kind)} · ${mE(e,t)}`}function gE(e){let t=String(e||``),n=t.indexOf(`-`);return n>0?t.slice(0,n):t.slice(0,8)}var _E=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function vE(e,t){let n=Date.parse(e);if(Number.isNaN(n))return``;let r=Math.max(0,Math.floor((t-n)/1e3));if(r<60)return`now`;let i=Math.floor(r/60);if(i<60)return`${i}m`;let a=Math.floor(i/60);if(a<24)return`${a}h`;let o=Math.floor(a/24);if(o<7)return`${o}d`;let s=new Date(n),c=_E[s.getMonth()]||`?`;return s.getFullYear()===new Date(t).getFullYear()?`${c} ${s.getDate()}`:`${c} ʼ${String(s.getFullYear()).slice(-2)}`}function yE(e,t){return`${e} ${t}${e===1?``:`s`}`}var bE={kind:`crtr-missing`,display:{headline:`Canvas unavailable`,explanation:`crtr could not be found to read the canvas graph.`,nextStep:`Install crtr (or set CRTR_BIN on PATH), then press g.`,level:`error`,blocking:!0}};function xE(e){let t=String(e||``);return/help-gate:\s*blocked/i.test(t)?{kind:`help-gate`,display:{headline:`Canvas unavailable`,explanation:`crtr help-gate blocked the call (run the command with -h once).`,nextStep:`Press g to retry.`,level:`error`,blocking:!0}}:{kind:`crtr-failed`,display:{headline:`Canvas unavailable`,explanation:`crtr could not read the canvas graph: `+(CE(t)||`unknown error`),nextStep:`Press g to retry.`,level:`error`,blocking:!0}}}function SE(e){return{kind:`parse`,display:{headline:`Canvas unavailable`,explanation:`Could not parse \`crtr ${e}\` output as JSON.`,nextStep:`Press g to retry.`,level:`error`,blocking:!0}}}function CE(e){let t=String(e||``).split(/\r?\n/).map(e=>e.trim()).filter(Boolean);for(let e=t.length-1;e>=0;e--)if(/^ERROR:/i.test(t[e]))return t[e].replace(/^ERROR:\s*/i,``).trim();return t.length?t[t.length-1]:``}var wE={id:`nodes`,request:()=>({kind:`exec`,bin:`crtr`,args:[`node`,`inspect`,`list`,`--json`]}),parse:e=>{if(!e.ok)return oE(bE);if(e.exitCode!==0)return oE(xE(e.stderr||e.stdout));let t=String(e.stdout||``).trim(),n;try{n=t===``?{}:JSON.parse(t)}catch{return oE(SE(`node inspect list`))}return aE((n&&Array.isArray(n.nodes)?n.nodes:[]).map(cE))}},TE={id:`attention`,request:()=>({kind:`exec`,bin:`crtr`,args:[`canvas`,`attention`,`list`,`--json`]}),parse:e=>{if(!e.ok||e.exitCode!==0)return aE({items:[],total:0});let t=String(e.stdout||``).trim(),n;try{n=t===``?{}:JSON.parse(t)}catch{return aE({items:[],total:0})}let r=n&&Array.isArray(n.items)?n.items:[],i=n&&typeof n.total==`number`?n.total:0;return aE({items:r.map(lE),total:i})}};function EE(e,t){let n=new Map;for(let t of e)n.set(t.nodeId,t);let r=new Map,i=[];for(let t of e){let e=t.parent&&n.has(t.parent)?t.parent:null;if(e){let n=r.get(e);n?n.push(t):r.set(e,[t])}else i.push(t)}let a=(e,t)=>e.created<t.created?-1:+(e.created>t.created);for(let e of r.values())e.sort(a);i.sort(a);let o=new Map;function s(e,i){let a=o.get(e);if(a!==void 0)return a;if(i.has(e))return!1;i.add(e);let c=n.get(e),l=!!c&&(uE.has(c.status)||t.has(e));if(!l){for(let t of r.get(e)||[])if(s(t.nodeId,i)){l=!0;break}}return i.delete(e),o.set(e,l),l}function c(e,n){let r=t.get(e.nodeId)||0;return{nodeId:e.nodeId,prefix:n,glyph:e.hanging?`⚠`:dE[e.status]||`?`,status:e.status,name:e.name,kind:e.kind,mode:e.mode,lifecycle:e.lifecycle,shortId:gE(e.nodeId),created:e.created,blocked:r>0,askCount:r,hanging:e.hanging||null}}let l=[],u=new Set;function d(e,t,n,i){if(u.has(e.nodeId))return;u.add(e.nodeId);let a=i?``:t+(n?`└─ `:`├─ `);l.push(c(e,a));let o=r.get(e.nodeId)||[],s=i?``:t+(n?` `:`│ `);for(let e=0;e<o.length;e++)d(o[e],s,e===o.length-1,!1)}let f=0;for(let e of i)s(e.nodeId,new Set)&&(f++,d(e,``,!0,!0));return{rows:l,shownRoots:f}}function DE(e){return e.totalNodes===0?null:`${e.activeCount} active · ${yE(e.totalNodes,`node`)}`}function OE(e){return e.rows.length===0?null:`${yE(e.shownRoots,`live tree`)} · ${e.rows.length} shown`}var kE={manifest:{id:`canvas`,title:`Canvas`,description:`Live agent graph — who is working, who is blocked`,refreshMs:3e3},init(){return{rows:[],cursor:0,scroll:0,shownRoots:0,totalNodes:0,activeCount:0,attnTotal:0,lastFetch:0,sourceError:null}},sources:{nodesSource:wE,attentionSource:TE},intents:{async refresh(e){e.signal.setStatus(`Loading the canvas…`);let t=await e.resolve(wE);if(!t.ok){e.set(e=>({...e,sourceError:t.error})),e.signal.setStatus(null),e.signal.setBanner(t.error.display.explanation,t.error.display.level);return}let n=t.data,r=new Map,i=0,a=await e.resolve(TE);if(a.ok){for(let e of a.data.items)e.nodeId&&r.set(e.nodeId,e.count);i=a.data.total}let o=EE(n,r);e.set(e=>{let t={...e,sourceError:null,rows:o.rows,shownRoots:o.shownRoots,totalNodes:n.length,activeCount:n.filter(e=>e.status===`active`).length,attnTotal:i,lastFetch:Date.now()};return t.cursor>=t.rows.length&&(t.cursor=Math.max(0,t.rows.length-1)),t}),e.signal.setSubtitle(DE(e.state)),i>0?e.signal.setBanner(`${yE(i,`ask`)} waiting on a human — see the ⚑ rows`,`action`):e.signal.clearBanner(),e.signal.setStatus(OE(e.state))},cursorDown:e=>e.set(e=>({...e,cursor:e.rows.length?Math.min(e.rows.length-1,e.cursor+1):0})),cursorUp:e=>e.set(e=>({...e,cursor:Math.max(0,e.cursor-1)})),activate:(e,t)=>{let n=t&&t.nodeId;n&&e.set(e=>{let t=e.rows.findIndex(e=>e.nodeId===n);return t>=0?{...e,cursor:t}:e})},quit:e=>e.signal.quit()}},AE={active:`text-green-600`,idle:`text-amber-600`,done:`text-cyan-700`,dead:`text-red-600`,canceled:`text-slate-400`};function jE(e){return e===`active`?`font-bold`:e===`done`||e===`dead`||e===`canceled`?`text-slate-400`:``}function ME({row:e,selected:t,onClick:n}){let r=Date.now(),i=vE(e.created,r);return(0,z.jsxs)(`li`,{className:`flex items-baseline gap-1.5 rounded px-2 py-0.5 ${t?`bg-slate-200`:``}`,onClick:n,children:[e.prefix?(0,z.jsx)(`span`,{className:`whitespace-pre text-slate-400`,children:e.prefix}):null,(0,z.jsx)(`span`,{className:e.hanging?`font-bold text-amber-500`:AE[e.status]||`text-slate-400`,children:e.glyph}),(0,z.jsx)(`span`,{className:jE(e.status),children:e.name}),(0,z.jsxs)(`span`,{className:`text-slate-400`,children:[`[`,e.kind,`/`,e.mode,`]`]}),e.blocked?(0,z.jsxs)(`span`,{className:`font-bold text-yellow-500`,children:[`⚑`,e.askCount]}):null,e.hanging?(0,z.jsx)(`span`,{className:`text-amber-500`,children:hE(e.hanging,r)}):null,i?(0,z.jsx)(`span`,{className:`ml-auto shrink-0 text-slate-400`,children:i}):null]})}function NE({state:e,dispatch:t}){if(e.rows.length===0){if(e.sourceError){let n=e.sourceError.display;return(0,z.jsx)(n.level===`error`?nE:rE,{headline:n.headline,explanation:n.explanation,nextStep:n.nextStep,onRetry:()=>t(`refresh`)})}return e.lastFetch===0?(0,z.jsx)(eE,{label:`Loading the canvas…`}):e.totalNodes===0?(0,z.jsx)(tE,{label:"No nodes on the canvas — spawn one with `crtr node new`."}):(0,z.jsx)(tE,{label:`All caught up — ${e.totalNodes} node${e.totalNodes===1?``:`s`} finished, none active.`})}return(0,z.jsx)(`div`,{className:`font-mono text-sm outline-none`,tabIndex:0,onKeyDown:e=>{e.key===`j`||e.key===`ArrowDown`?(t(`cursorDown`),e.preventDefault()):e.key===`k`||e.key===`ArrowUp`?(t(`cursorUp`),e.preventDefault()):e.key===`g`&&t(`refresh`)},children:(0,z.jsx)(`ul`,{children:e.rows.map((n,r)=>(0,z.jsx)(ME,{row:n,selected:r===e.cursor,onClick:()=>t(`activate`,{nodeId:n.nodeId})},n.nodeId||r))})})}function PE(){let e=globalThis.crypto;return e&&typeof e.randomUUID==`function`?e.randomUUID():`n-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function FE(e){return typeof e==`object`&&!!e}function IE(e){return typeof e==`string`?e:``}function LE(e){return typeof e==`string`&&e!==``?e:null}function RE(e){return FE(e)&&typeof e.role==`string`?e.role:null}function zE(e){return typeof e==`string`?e:Array.isArray(e)?e.filter(e=>FE(e)&&e.type===`text`).map(e=>IE(e.text)).join(``):``}function BE(e){return FE(e)?zE(e.content)||IE(e.text):``}function VE(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(RE(n)!==`assistant`)continue;let r=BE(n).trim();if(r)return r}return null}function HE(){return{messages:[],streamingIndex:null,executingToolIds:[],activity:null,lastAssistantText:null}}function UE(e){let t=Array.isArray(e?.messages)?e.messages.slice():[];return{messages:t,streamingIndex:null,executingToolIds:[],activity:e?.state?.isStreaming===!0?`Working…`:null,lastAssistantText:VE(t)}}function WE(e,t){switch(t?.type){case`agent_start`:return e.activity===`Working…`?e:{...e,activity:`Working…`};case`agent_end`:return{...e,streamingIndex:null,activity:null,executingToolIds:e.executingToolIds.length?[]:e.executingToolIds};case`message_start`:{let n=e.messages.concat(t.message),r=RE(t.message)===`assistant`?n.length-1:e.streamingIndex;return{...e,messages:n,streamingIndex:r,lastAssistantText:VE(n)}}case`message_update`:{let n=e.streamingIndex;if(n===null){let t=e.messages.length-1;t>=0&&RE(e.messages[t])===`assistant`&&(n=t)}if(n===null)return e;let r=e.messages.slice();return r[n]=t.message,{...e,messages:r,streamingIndex:n,lastAssistantText:VE(r)}}case`message_end`:{let n=e.streamingIndex;if(n===null){let t=e.messages.length-1;t>=0&&RE(e.messages[t])===`assistant`&&(n=t)}if(n===null)return e;let r=e.messages.slice();return r[n]=t.message,{...e,messages:r,streamingIndex:null,lastAssistantText:VE(r)}}case`tool_execution_start`:return e.executingToolIds.includes(t.toolCallId)?e:{...e,executingToolIds:e.executingToolIds.concat(t.toolCallId)};case`tool_execution_end`:return e.executingToolIds.includes(t.toolCallId)?{...e,executingToolIds:e.executingToolIds.filter(e=>e!==t.toolCallId)}:e;case`compaction_start`:return e.activity===`Compacting context…`?e:{...e,activity:`Compacting context…`};case`compaction_end`:return{...e,activity:e.activity===`Working…`?`Working…`:null};case`auto_retry_start`:{let n=typeof t.attempt==`number`?t.attempt:0,r=typeof t.maxAttempts==`number`?t.maxAttempts:0,i=typeof t.delayMs==`number`?Math.ceil(t.delayMs/1e3):0;return{...e,activity:`Retrying (${n}/${r}) in ${i}s…`}}case`auto_retry_end`:return{...e,activity:e.activity===`Working…`?`Working…`:null};default:return e}}function GE(e,t,n){let r={role:`bashExecution`,command:t,output:``,exitCode:void 0,cancelled:!1,truncated:!1,excludeFromContext:n,timestamp:Date.now()};return{...e,messages:e.messages.concat(r)}}function KE(e,t){for(let n=e.messages.length-1;n>=0;n--){let r=e.messages[n];if(RE(r)!==`bashExecution`)continue;let i=e.messages.slice(),a=FE(i[n])?i[n]:{};return i[n]={...a,output:`${IE(a.output)}${t}`},{...e,messages:i}}return e}function qE(e,t){for(let n=e.messages.length-1;n>=0;n--){let r=e.messages[n];if(RE(r)!==`bashExecution`)continue;let i=e.messages.slice();return i[n]={...FE(i[n])?i[n]:{},exitCode:t.exitCode,cancelled:t.cancelled,truncated:t.truncated,fullOutputPath:t.fullOutputPath},{...e,messages:i}}return e}function JE(e){let t=FE(e)?e:{};return{sessionId:LE(t.sessionId),sessionFile:LE(t.sessionFile),model:LE(t.model),isStreaming:t.isStreaming===!0,thinkingLevel:IE(t.thinkingLevel)||`off`,steeringMode:IE(t.steeringMode)||`all`,followUpMode:IE(t.followUpMode)||`all`,sessionName:LE(t.sessionName),autoCompactionEnabled:t.autoCompactionEnabled===!0,pendingMessageCount:typeof t.pendingMessageCount==`number`?t.pendingMessageCount:0}}function YE(e,t){let n=e.session??JE(null),r=!1,i={...n};for(let[e,n]of Object.entries(t))n!==void 0&&(i[e]=n,r=!0);return r?{...e,session:i}:e}function XE(e,t,n){return{...e,notices:e.notices.concat({id:PE(),level:t,text:n,at:Date.now()})}}function ZE(e){return typeof e==`string`?e:FE(e)?typeof e.reason==`string`?e.reason:typeof e.message==`string`?e.message:typeof e.kind==`string`?e.kind:``:``}function QE(e){let t=ZE(e).toLowerCase();return t.includes(`no running broker`)?`no-broker`:t.includes(`does not exist`)||t.includes(`no node`)?`no-node`:t.includes(`invalid`)||t.includes(`rejected`)?`invalid`:`closed`}function $E(e){if(!FE(e)||e.role!==`assistant`)return;let t=FE(e.usage)?e.usage:null;if(!t)return;let n=typeof t.input==`number`?t.input:null,r=typeof t.cacheRead==`number`?t.cacheRead:null,i=typeof t.cacheWrite==`number`?t.cacheWrite:null;if(!(n===null||r===null||i===null))return n+r+i}function eD(e,t,n=`info`){return XE(e,n,t)}var tD={manifest:{id:`chat`,title:`Chat`,description:`Portable chat-as-a-view core`},init(e){return{target:typeof e.target==`string`&&e.target.trim()!==``?e.target:null,desiredRole:`controller`,channel:null,clientId:null,conn:`idle`,role:`observer`,controllerId:null,session:null,transcript:HE(),draft:``,notices:[],pendingDialog:null,queued:[],contextTokens:void 0}},streams:{chat:{id:`chat`,request:({target:e,role:t})=>({kind:`stream`,target:e,role:t}),onOpen:`streamOpen`,onFrame:`streamFrame`,onClose:`streamClose`}},intents:{refresh(e){let t=e.state;if(t.channel==null){if(t.target==null){e.set(e=>({...e,conn:`error`})),e.set(e=>eD(e,`missing target — run crtr view run chat --target <node-id>`,`action`)),e.signal.setBanner(`missing target — run crtr view run chat --target <node-id>`,`action`),e.signal.setStatus(null);return}e.signal.setStatus(`connecting…`);try{let n=e.connect(tD.streams.chat,{target:t.target,role:t.desiredRole});e.set(e=>({...e,channel:n,clientId:n.id,conn:`connecting`}))}catch(t){let n=t instanceof Error?t.message:String(t);e.set(e=>({...e,conn:`error`})),e.set(e=>eD(e,`stream connect failed — ${n}`,`error`)),e.signal.setBanner(`stream connect failed — ${n}`,`error`),e.signal.setStatus(null)}}},streamOpen(e,t){FE(t)&&(e.set(e=>({...e,channel:e.channel??t,clientId:e.clientId??LE(t.id),conn:`connecting`})),e.signal.setStatus(`connected — waiting for welcome`))},streamClose(e,t){let n=FE(t)&&typeof t.channelId==`string`?t.channelId:void 0;if(n!==void 0&&e.state.channel!=null&&e.state.channel.id!==n)return;let r=QE(t);if(r===`closed`&&e.state.channel==null&&e.state.conn===`connecting`)return;let i=r===`no-broker`?`node is asleep / focus or revive it first`:r===`no-node`?`node not found / check the target`:r===`invalid`?`invalid target / check the target`:`stream closed / reconnect`;e.set(e=>({...e,channel:null,conn:r})),e.set(e=>eD(e,i,`action`)),e.signal.setBanner(i,`action`),e.signal.setStatus(null)},reconnect(e){let t=e.state.channel;if(e.set(e=>({...e,channel:null,conn:`connecting`})),t&&typeof t.close==`function`)try{t.close()}catch{}e.dispatch(`refresh`)},streamFrame(e,t){if(FE(t))switch(t.type){case`welcome`:{let n=t.snapshot,r=UE(n),i=JE(n?.state),a=n?.stats,o=typeof a?.contextUsage?.tokens==`number`?a.contextUsage.tokens:typeof a?.tokens?.total==`number`?a.tokens.total:void 0;e.set(e=>({...e,conn:`open`,controllerId:LE(t.controller_id),role:t.controller_id===e.clientId?`controller`:t.role??`observer`,session:i,transcript:r,pendingDialog:t.pending_dialog??null,contextTokens:o})),e.signal.clearBanner(),e.signal.setStatus(null),e.signal.setSubtitle(i.sessionName??e.state.target);return}case`control_changed`:e.set(e=>{let n=t.controller_id===e.clientId?`controller`:`observer`,r=n!==e.role,i=e.role===`controller`&&n===`observer`,a={...e,controllerId:LE(t.controller_id),role:n,desiredRole:i?`observer`:e.desiredRole};return r&&(a=eD(a,n===`controller`?`control changed — you are controller`:`control changed — read-only`,`info`)),a});return;case`model_changed`:e.set(e=>YE(e,{model:LE(t.model)}));return;case`error`:{if(t.code===`not_controller`){let t=`read-only — take control before sending`;e.set(e=>({...e,role:`observer`})),e.set(e=>eD(e,t,`action`)),e.signal.setBanner(t,`action`);return}let n=t.message||t.code||`stream error`;e.set(e=>eD(e,n,`error`)),e.signal.setBanner(n,`error`);return}case`ack`:{if(t.ok)return;let n=t.detail?`${t.for} failed — ${t.detail}`:`${t.for} failed`;e.set(e=>eD(e,n,`error`)),e.signal.setBanner(n,`error`);return}case`extension_ui_request`:{let n=`cannot answer dialogs yet`;e.set(e=>({...e,pendingDialog:t})),e.set(e=>eD(e,n,`action`)),e.signal.setBanner(n,`action`);return}case`display_status`:{let n=t.text===void 0?`${t.key} cleared`:`${t.key}: ${t.text}`;e.set(e=>eD(e,n,`info`));return}case`display_widget`:{let n=t.lines===void 0?`${t.key} cleared`:`${t.key}: ${t.lines.join(` | `)}`;e.set(e=>eD(e,n,`info`));return}case`display_title`:e.set(e=>eD(e,`title: ${t.title}`,`info`));return;case`bash_start`:e.set(e=>({...e,transcript:GE(e.transcript,t.command,t.excludeFromContext)}));return;case`bash_output`:e.set(e=>({...e,transcript:KE(e.transcript,t.chunk)}));return;case`bash_end`:e.set(e=>({...e,transcript:qE(e.transcript,t)}));return;default:e.set(e=>{let n=WE(e.transcript,t),r={...e,transcript:n};if(t.type===`agent_start`)r=YE(r,{isStreaming:!0});else if(t.type===`agent_end`)r=YE(r,{isStreaming:!1});else if(t.type===`session_info_changed`)r=YE(r,{sessionName:LE(t.name)});else if(t.type===`thinking_level_changed`)r=YE(r,{thinkingLevel:IE(t.level)||r.session?.thinkingLevel||`off`});else if(t.type===`queue_update`){let e=[...Array.isArray(t.steering)?t.steering:[],...Array.isArray(t.followUp)?t.followUp:[]].map(e=>String(e));r={...r,queued:e},r=YE(r,{pendingMessageCount:e.length})}let i=t.type===`message_end`?$E(t.message):void 0;return i!==void 0&&(r={...r,contextTokens:i}),r})}},setDraft(e,t){e.set(e=>({...e,draft:t}))},submitDraft(e){let t=e.state.draft.trim();if(!t)return;let n=e.state.channel;if(!n||e.state.conn!==`open`){let t=`not connected — reconnect`;e.set(e=>eD(e,t,`error`)),e.signal.setBanner(t,`error`);return}if(e.state.role!==`controller`){let t=`read-only — take control before sending`;e.set(e=>eD(e,t,`action`)),e.signal.setBanner(t,`action`);return}let r=e.state.session?.isStreaming===!0?{type:`steer`,text:t}:{type:`prompt`,text:t};n.send(r),e.set(e=>({...e,draft:``}))},abort(e){if(e.state.role!==`controller`){let t=`read-only — take control before sending`;e.set(e=>eD(e,t,`action`)),e.signal.setBanner(t,`action`);return}if(!e.state.channel||e.state.conn!==`open`){let t=`not connected — reconnect`;e.set(e=>eD(e,t,`error`)),e.signal.setBanner(t,`error`);return}e.state.channel.send({type:`abort`})},requestControl(e){e.set(e=>({...e,desiredRole:`controller`})),e.state.channel&&e.state.conn===`open`&&e.state.channel.send({type:`request_control`})},releaseControl(e){e.set(e=>({...e,desiredRole:`observer`}));let t=e.state.channel;t&&e.state.conn===`open`&&t.send({type:`release_control`}),e.dispatch(`reconnect`)},clearNotice(e,t){e.set(e=>t==null||t===``?{...e,notices:[]}:{...e,notices:e.notices.filter(e=>e.id!==t)})},quit(e){if(e.state.channel)try{e.state.channel.close()}catch{}e.signal.quit()}}},nD={info:`border-slate-200 bg-slate-50 text-slate-700`,action:`border-amber-200 bg-amber-50 text-amber-800`,error:`border-rose-200 bg-rose-50 text-rose-800`},rD={info:`bg-slate-100 text-slate-700`,action:`bg-amber-100 text-amber-800`,error:`bg-rose-100 text-rose-800`};function iD(e){return typeof e==`object`&&!!e}function aD(e,t=120){let n=String(e||``);return n.length>t?`${n.slice(0,Math.max(0,t-1))}…`:n}function oD(e){return iD(e)&&typeof e.role==`string`?e.role:``}function sD(e){return iD(e)?typeof e.customType==`string`&&e.customType?`custom · ${e.customType}`:typeof e.type==`string`&&e.type?e.type:``:``}function cD(e){return iD(e)?typeof e.timestamp==`string`?e.timestamp:typeof e.timestamp==`number`?new Date(e.timestamp).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}):``:``}function lD(e){return iD(e)?typeof e.text==`string`?e.text:Array.isArray(e.text)?e.text.map(e=>iD(e)&&typeof e.text==`string`?e.text:``).join(``):typeof e.content==`string`?e.content:``:``}function uD(e){if(!iD(e))return``;let t=typeof e.type==`string`?e.type:``,n=typeof e.name==`string`?e.name:``;switch(t){case`text`:return``;case`thinking`:case`reasoning`:{let t=aD(lD(e).replace(/\s+/g,` `).trim(),88);return t?`Thinking · ${t}`:`Thinking`}case`toolCall`:{let t=lD(e),r=t?` · ${aD(t.replace(/\s+/g,` `).trim(),88)}`:``;return`Tool · ${n||`tool`}${r}`}case`toolResult`:{let t=lD(e);return`Tool result${t?` · ${aD(t.replace(/\s+/g,` `).trim(),88)}`:``}`}default:return t?`${t}${n?` · ${n}`:``}`:``}}function dD(e){let t=[];if(!iD(e))return t;if(oD(e)===`bashExecution`){let n=typeof e.command==`string`?e.command:``;n&&t.push(`$ ${aD(n.replace(/\s+/g,` `).trim(),96)}`),typeof e.exitCode==`number`&&t.push(`exit ${e.exitCode}`),e.cancelled===!0&&t.push(`cancelled`),e.truncated===!0&&t.push(`truncated`)}let n=Array.isArray(e.content)?e.content:[];for(let e of n){let n=uD(e);n&&t.push(n)}let r=sD(e);return r&&oD(e)===`custom`&&t.push(r),oD(e)===`compactionSummary`&&t.push(`Compaction summary`),oD(e)===`branchSummary`&&t.push(`Branch summary`),t}function fD(e){let t=e.target||`<node-id>`;switch(e.conn){case`no-broker`:return{level:`action`,Comp:rE,headline:`node is asleep`,explanation:`Focus or revive the node first, then reconnect.`,nextStep:`crtr node focus ${t} · or crtr node lifecycle revive ${t}`};case`no-node`:return{level:`error`,Comp:nE,headline:`node not found`,explanation:`Check the target node id and try again.`,nextStep:`crtr view run chat --target ${t}`};case`invalid`:return{level:`error`,Comp:nE,headline:`invalid target`,explanation:`The target was rejected by the broker.`,nextStep:`crtr view run chat --target <node-id>`};case`error`:return e.target?{level:`error`,Comp:nE,headline:`chat connection failed`,explanation:`Reconnect to retry the stream.`,nextStep:`Press Reconnect`}:{level:`error`,Comp:nE,headline:`missing target`,explanation:`Open chat with a node id so the view can connect.`,nextStep:`crtr view run chat --target <node-id>`};default:return null}}function pD({label:e,value:t,cls:n=``}){return(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-[11px] ${n}`,children:[(0,z.jsx)(`span`,{className:`opacity-60`,children:e}),(0,z.jsx)(`span`,{className:`font-semibold`,children:t})]})}function mD({notice:e,onDismiss:t}){return(0,z.jsxs)(`div`,{className:`flex items-start gap-3 rounded-xl border px-3 py-2 text-sm ${nD[e.level]||nD.info}`,children:[(0,z.jsx)(`span`,{className:`rounded-full px-2 py-0.5 text-[11px] font-semibold uppercase tracking-wide ${rD[e.level]||rD.info}`,children:e.level}),(0,z.jsx)(`div`,{className:`min-w-0 flex-1 whitespace-pre-wrap`,children:e.text}),(0,z.jsx)(`button`,{type:`button`,className:`shrink-0 text-slate-400 hover:text-slate-700`,onClick:()=>t(e.id),"aria-label":`Dismiss notice`,children:`×`})]})}function hD({message:e,index:t,streaming:n}){let r=oD(e),i=r===`user`,a=r===`assistant`,o=i?`border-emerald-200 bg-emerald-50`:a?`border-cyan-200 bg-cyan-50`:`border-slate-200 bg-white`,s=i?`text-emerald-700`:a?`text-cyan-700`:`text-slate-700`,c=BE(e).trim(),l=dD(e),u=cD(e);return(0,z.jsxs)(`article`,{className:`rounded-2xl border px-3 py-2 shadow-sm ${o}`,children:[(0,z.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,z.jsx)(`div`,{className:`font-semibold ${s}`,children:i?`You`:a?`Agent`:r||`Message`}),n?(0,z.jsx)(`span`,{className:`rounded-full bg-cyan-100 px-2 py-0.5 text-[11px] font-semibold text-cyan-800`,children:`streaming`}):null,r===`bashExecution`?(0,z.jsx)(`span`,{className:`rounded-full bg-slate-100 px-2 py-0.5 text-[11px] font-semibold text-slate-700`,children:`bash`}):null,u?(0,z.jsx)(`div`,{className:`ml-auto text-xs text-slate-400`,children:u}):null]}),c?(0,z.jsx)(`div`,{className:`mt-1 whitespace-pre-wrap text-slate-800`,children:c}):null,l.length?(0,z.jsx)(`div`,{className:`mt-2 space-y-1 border-t border-slate-200 pt-2 text-xs text-slate-500`,children:l.map((e,n)=>(0,z.jsxs)(`div`,{className:`whitespace-pre-wrap pl-3 text-slate-500`,children:[`• `,e]},`${t}:${n}`))}):null]})}function gD({state:e,dispatch:t}){let n=fD(e);if(e.target===null)return(0,z.jsx)(`div`,{className:`flex h-full items-center justify-center p-6 text-sm text-slate-500`,children:(0,z.jsx)(rE,{headline:`missing target`,explanation:`Open chat with a node id so the view can connect.`,nextStep:`crtr view run chat --target <node-id>`,onRetry:()=>t(`reconnect`)})});if(n){let e=n.Comp;return(0,z.jsx)(`div`,{className:`flex h-full items-center justify-center p-6 text-sm text-slate-500`,children:(0,z.jsx)(e,{headline:n.headline,explanation:n.explanation,nextStep:n.nextStep,onRetry:()=>t(`reconnect`)})})}let r=e.conn===`open`?`connected`:e.conn===`connecting`?`connecting…`:e.conn,i=e.session?.sessionName||``,a=e.session?.model||``,o=e.session?.isStreaming===!0,s=e.channel!=null&&e.conn===`open`&&e.role===`controller`&&e.draft.trim()!==``,c=e.channel!=null&&e.conn===`open`&&e.role===`controller`&&o,l=e.role===`controller`?`Release control`:`Request control`,u=e.role===`controller`?`releaseControl`:`requestControl`,d=e.conn===`open`?e.role===`observer`?`Take control before sending…`:o?`Type a steer…`:`Type a message…`:`Waiting for connection…`;return(0,z.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-3 font-mono text-sm text-slate-900 outline-none`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 rounded-2xl border border-slate-200 bg-white px-3 py-2 shadow-sm`,children:[(0,z.jsx)(pD,{label:`target`,value:e.target||`—`,cls:`border-slate-200 bg-slate-50 text-slate-700`}),(0,z.jsx)(pD,{label:`conn`,value:r,cls:e.conn===`open`?`border-emerald-200 bg-emerald-50 text-emerald-700`:e.conn===`connecting`?`border-amber-200 bg-amber-50 text-amber-800`:`border-slate-200 bg-slate-50 text-slate-700`}),(0,z.jsx)(pD,{label:`role`,value:e.role,cls:e.role===`controller`?`border-cyan-200 bg-cyan-50 text-cyan-700`:`border-slate-200 bg-slate-50 text-slate-700`}),a?(0,z.jsx)(pD,{label:`model`,value:a,cls:`border-violet-200 bg-violet-50 text-violet-700`}):null,i?(0,z.jsx)(pD,{label:`session`,value:i,cls:`border-slate-200 bg-slate-50 text-slate-700`}):null,e.controllerId?(0,z.jsx)(pD,{label:`controller`,value:e.controllerId,cls:`border-slate-200 bg-slate-50 text-slate-700`}):null,typeof e.contextTokens==`number`?(0,z.jsx)(pD,{label:`tokens`,value:String(e.contextTokens),cls:`border-slate-200 bg-slate-50 text-slate-700`}):null,e.transcript.activity?(0,z.jsx)(pD,{label:`activity`,value:e.transcript.activity,cls:`border-amber-200 bg-amber-50 text-amber-800`}):null,e.queued.length?(0,z.jsx)(pD,{label:`queued`,value:e.queued.join(` · `),cls:`border-slate-200 bg-slate-50 text-slate-700`}):null,(0,z.jsxs)(`div`,{className:`ml-auto flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(`button`,{type:`button`,className:`rounded-lg border border-slate-200 bg-white px-3 py-1.5 text-sm text-slate-700 hover:bg-slate-50`,onClick:()=>t(`reconnect`),children:`Reconnect`}),(0,z.jsx)(`button`,{type:`button`,className:`rounded-lg border border-slate-200 bg-white px-3 py-1.5 text-sm text-slate-700 hover:bg-slate-50`,onClick:()=>t(u),children:l})]})]}),e.notices.length?(0,z.jsx)(`div`,{className:`space-y-2`,children:e.notices.map(e=>(0,z.jsx)(mD,{notice:e,onDismiss:e=>t(`clearNotice`,e)},e.id))}):null,(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden rounded-2xl border border-slate-200 bg-white shadow-sm`,children:(0,z.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,z.jsx)(`div`,{className:`border-b border-slate-200 px-3 py-2 text-xs uppercase tracking-[0.18em] text-slate-400`,children:`Transcript`}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1 space-y-3 overflow-y-auto p-3`,children:e.transcript.messages.length===0?e.conn===`connecting`?(0,z.jsx)(eE,{label:`Connecting to chat…`}):e.conn===`open`?(0,z.jsx)(tE,{label:`No messages yet.`}):(0,z.jsx)(`div`,{className:`flex h-full items-center justify-center text-slate-400`,children:`Waiting for welcome…`}):e.transcript.messages.map((t,n)=>(0,z.jsx)(hD,{message:t,index:n,streaming:n===e.transcript.streamingIndex&&o},n))})]})}),(0,z.jsxs)(`div`,{className:`rounded-2xl border border-slate-200 bg-white p-3 shadow-sm`,children:[(0,z.jsx)(`textarea`,{value:e.draft,onChange:e=>t(`setDraft`,e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),t(`submitDraft`))},placeholder:d,rows:3,className:`w-full resize-none rounded-xl border border-slate-200 bg-slate-50 px-3 py-2 font-mono text-sm outline-none focus:border-slate-400`}),(0,z.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(`button`,{type:`button`,className:`rounded-lg px-3 py-1.5 text-sm font-medium ${s?`bg-slate-900 text-white hover:bg-slate-800`:`cursor-not-allowed bg-slate-200 text-slate-500`}`,onClick:()=>t(`submitDraft`),disabled:!s,children:`Send`}),(0,z.jsx)(`button`,{type:`button`,className:`rounded-lg border px-3 py-1.5 text-sm ${c?`border-rose-200 bg-rose-50 text-rose-700 hover:bg-rose-100`:`cursor-not-allowed border-slate-200 bg-slate-50 text-slate-400`}`,onClick:()=>t(`abort`),disabled:!c,children:`Stop`}),(0,z.jsx)(`div`,{className:`ml-auto text-xs text-slate-400`,children:`Enter sends · Shift+Enter inserts a newline`})]})]})]})}var _D=[`👍`,`❤️`,`😂`,`🔥`,`👏`,`😮`],vD=25,yD=5,bD=1200,xD=new Set([`no-cdp`,`not-logged-in`,`capture-not-dev`,`capture-missing`]),SD=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],CD=`https://www.linkedin.com/messaging/`,wD=e=>new Promise(t=>setTimeout(t,e));function TD(e){return{ok:!0,data:e}}function ED(e){return{ok:!1,error:e}}function DD(e,t){let n=String(e??``);return n.length>t?n.slice(0,Math.max(0,t-1))+`…`:n}function OD(e,t=Date.now()){if(!e)return``;let n=Math.floor((t-e)/1e3);if(n<60)return`now`;let r=Math.floor(n/60);if(r<60)return`${r}m`;let i=Math.floor(r/60);if(i<24)return`${i}h`;let a=Math.floor(i/24);if(a<7)return`${a}d`;let o=new Date(e),s=SD[o.getMonth()]||``,c=new Date(t);return o.getFullYear()===c.getFullYear()?`${s} ${o.getDate()}`:`${s} ʼ${String(o.getFullYear()).slice(-2)}`}function kD(e){return e.slice().sort((e,t)=>!!e.unread==!!t.unread?(t.ts||0)-(e.ts||0):e.unread?-1:1)}function AD(e){return e.openUrn&&e.convos.find(t=>t.urn===e.openUrn)||null}function jD(e){return JSON.stringify(e).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}function MD(e,t,n={}){let r=[`exec`,`import {${e}} from 'libs/linkedin'; return await ${t===null?`${e}()`:`${e}(${jD(t)})`}`];return n.target&&r.push(`--target`,String(n.target)),n.port!=null&&n.port!==``&&r.push(`--port`,String(n.port)),{kind:`exec`,bin:`capture`,args:r}}function ND(e={}){let t=[`list`];return e.port!=null&&e.port!==``&&t.push(`--port`,String(e.port)),{kind:`exec`,bin:`capture`,args:t}}function PD(e={}){let t=[`open`,CD];return e.port!=null&&e.port!==``&&t.push(`--port`,String(e.port)),{kind:`exec`,bin:`capture`,args:t}}function FD(e={}){let t=[`navigate`,CD];return e.target&&t.push(`--target`,String(e.target)),e.port!=null&&e.port!==``&&t.push(`--port`,String(e.port)),{kind:`exec`,bin:`capture`,args:t}}var ID={"no-cdp":{headline:`No debuggable browser`,explanation:`crtr drives a browser over CDP and none is running.`,nextStep:`Launch Arc, or Chrome with --remote-debugging-port=9222, then press g`,level:`error`,blocking:!0},"capture-missing":{headline:`capture not found`,explanation:`crtr drives the browser through the capture CLI, which is not on PATH.`,nextStep:`Install capture (or add it to PATH), then press g`,level:`error`,blocking:!0},"capture-not-dev":{headline:`Browser bridge unavailable`,explanation:`This view needs a capture dev checkout (vault/ + esbuild).`,nextStep:``,level:`error`,blocking:!0},"not-logged-in":{headline:`Log in to continue`,explanation:`LinkedIn needs a sign-in in the browser.`,nextStep:`Log in in the opened tab, then press g`,level:`action`,blocking:!0},"no-tab":{headline:`Opening LinkedIn…`,explanation:`No messaging tab was open — opening one and waiting for it to load.`,nextStep:``,level:`action`,blocking:!0},"not-messaging":{headline:`Opening your inbox…`,explanation:`Found LinkedIn on another page — switching it to Messages.`,nextStep:``,level:`action`,blocking:!0},"rate-limited":{headline:`LinkedIn is throttling`,explanation:`Too many requests — waiting before trying again.`,nextStep:`Press g to retry`,level:`info`,blocking:!1},"not-connection":{headline:`Not a 1st-degree connection`,explanation:`LinkedIn only allows messaging 1st-degree connections.`,nextStep:``,level:`error`,blocking:!1}};function LD(e){return{headline:`Something went wrong`,explanation:e||`Unknown error.`,nextStep:`Press g to retry.`,level:`error`,blocking:!0}}function RD(e){switch(e){case`no-tab`:return{auto:`open`};case`not-messaging`:return{auto:`navigate`};case`not-logged-in`:return{banner:`Log in in the opened tab, then press g`,bannerLevel:`action`};case`no-cdp`:return{banner:`No debuggable browser — launch one, then press g`,bannerLevel:`error`};case`capture-missing`:return{banner:`capture not found — install it, then press g`,bannerLevel:`error`};case`capture-not-dev`:return{banner:`Browser bridge unavailable — capture dev checkout required`,bannerLevel:`error`};case`rate-limited`:return{keepContent:!0,banner:`LinkedIn is throttling — waiting, then retry with g`,bannerLevel:`info`};case`not-connection`:return{inline:!0,banner:`Can only message 1st-degree connections`,bannerLevel:`error`};default:return{}}}function zD(e){let t=String(e||``).split(/\r?\n/).map(e=>e.trim()).filter(Boolean);for(let e=t.length-1;e>=0;e--)if(/^ERROR:/i.test(t[e]))return t[e].replace(/^ERROR:\s*/i,``).trim();return t.length?t[t.length-1]:`capture exec failed`}function BD(e){if(!e.ok){let t=String(e.stderr||``);return/command not found|ENOENT/i.test(t)?{kind:`capture-missing`,display:ID[`capture-missing`]}:{kind:`error`,display:LD(zD(t))}}let t=String(e.stderr||``);return/No browser with CDP found/i.test(t)||/fetch failed/i.test(t)||/failed to fetch/i.test(t)||/ECONNREFUSED/i.test(t)?{kind:`no-cdp`,display:ID[`no-cdp`]}:/No tab found/i.test(t)?{kind:`no-tab`,display:ID[`no-tab`]}:/Unauthenticated/i.test(t)?{kind:`not-logged-in`,display:ID[`not-logged-in`]}:/Messaging queryId not found/i.test(t)||/Navigate to \/messaging\//i.test(t)?{kind:`not-messaging`,display:ID[`not-messaging`]}:/RateLimited/i.test(t)||/\b429\b/.test(t)?{kind:`rate-limited`,display:ID[`rate-limited`]}:/must be a 1st-degree connection/i.test(t)?{kind:`not-connection`,display:ID[`not-connection`]}:/DEV_ONLY_MSG/i.test(t)?{kind:`capture-not-dev`,display:ID[`capture-not-dev`]}:{kind:`error`,display:LD(zD(t))}}function VD(e){let t=String(e.stdout||``).trim();if(t===``)return TD(null);try{return TD(JSON.parse(t))}catch{return ED({kind:`error`,display:LD(`could not parse capture output as JSON: ${DD(t,300)}`)})}}function HD(e){if(typeof e!=`string`||e===``)return 0;let t=Date.parse(e);return Number.isNaN(t)?0:t}function UD(e){let t=e||{},n=Array.isArray(t.participants)?t.participants:[],r=n[0]||{},i=n.map(e=>e&&e.name).filter(Boolean),a=t.title||r.name||(i.length?i.join(`, `):`Unknown`);return{urn:typeof t.conversationUrn==`string`?t.conversationUrn:``,name:a,lastMessage:typeof t.lastMessage==`string`?t.lastMessage:``,unread:typeof t.unreadCount==`number`?t.unreadCount>0:!1,ts:HD(t.lastActivityAt),recipientId:typeof r.memberId==`string`?r.memberId:``}}function WD(e){let t=e||{};return{urn:typeof t.messageUrn==`string`?t.messageUrn:``,sender:typeof t.fromName==`string`?t.fromName:``,text:typeof t.text==`string`?t.text:``,ts:HD(t.sentAt),fromMe:!1,fromMemberId:typeof t.fromMemberId==`string`?t.fromMemberId:``}}function GD(e,t){return e.map(e=>({urn:e.urn,sender:e.sender,text:e.text,ts:e.ts,fromMe:!!t&&e.fromMemberId===t}))}function KD(e){if(!e.ok||e.exitCode!==0)return ED(BD(e));let t=VD(e);return t.ok?TD((t.data&&Array.isArray(t.data.messages)?t.data.messages:[]).map(WD)):t}function qD(e){try{let t=new URL(e).hostname.toLowerCase();return t===`linkedin.com`||t.endsWith(`.linkedin.com`)}catch{return!1}}var JD={id:`li-discover-tab`,request:e=>ND(e),parse:e=>{if(!e.ok||e.exitCode!==0)return ED(BD(e));let t;try{t=JSON.parse(String(e.stdout||``).trim()||`[]`)}catch{return ED({kind:`error`,display:LD(`could not parse capture list output: ${DD(e.stdout,300)}`)})}if(!Array.isArray(t))return ED({kind:`no-tab`,display:ID[`no-tab`]});let n=t.filter(e=>e&&typeof e.url==`string`&&qD(e.url)),r=n.find(e=>/\/messaging\//i.test(e.url))||n[0];return r&&r.id?TD(String(r.id)):ED({kind:`no-tab`,display:ID[`no-tab`]})}},YD={id:`li-context`,request:e=>MD(`getContext`,null,e),parse:e=>{if(!e.ok||e.exitCode!==0)return ED(BD(e));let t=VD(e);if(!t.ok)return t;let n=t.data||{};return!n.csrf||!n.memberId?ED({kind:`error`,display:LD(`getContext() returned no csrf/memberId`)}):TD({csrf:String(n.csrf),memberId:String(n.memberId)})}},XD={id:`li-conversations`,request:e=>MD(`listConversations`,{count:e.count,csrf:e.csrf,memberId:e.memberId},e),parse:e=>{if(!e.ok||e.exitCode!==0)return ED(BD(e));let t=VD(e);return t.ok?TD((t.data&&Array.isArray(t.data.conversations)?t.data.conversations:[]).map(UD)):t}},ZD={id:`li-open-tab`,request:e=>PD(e),parse:e=>{if(!e.ok||e.exitCode!==0)return ED(BD(e));let t=VD(e);return t.ok?t.data&&t.data.id?TD(String(t.data.id)):ED({kind:`error`,display:LD(`capture open returned no tab id`)}):t}},QD={id:`li-navigate`,request:e=>FD(e),parse:e=>e.ok&&e.exitCode===0?TD(void 0):ED(BD(e))},$D={id:`li-view-thread`,request:e=>MD(`viewConversation`,{csrf:e.csrf,conversationUrn:e.conversationUrn},e),parse:KD},eO={id:`li-mark-read`,request:e=>MD(`markConversationAsRead`,{csrf:e.csrf,conversationUrn:e.conversationUrn},e),parse:e=>e.ok&&e.exitCode===0?TD(void 0):ED(BD(e))},tO={id:`li-send`,request:e=>{let t={csrf:e.csrf,myMemberId:e.myMemberId,recipient:e.recipient,text:e.text};return e.conversationUrn&&(t.conversationUrn=e.conversationUrn),MD(`sendMessage`,t,e)},parse:e=>{if(!e.ok||e.exitCode!==0)return ED(BD(e));let t=VD(e);if(!t.ok)return t;let n=t.data||{};if(n.success===!1){let e=typeof n.error==`string`?n.error:`send failed`;return/1st-degree connection/i.test(e)?ED({kind:`not-connection`,display:ID[`not-connection`]}):ED({kind:`error`,display:LD(e)})}return TD(void 0)}},nO={id:`li-react`,request:e=>MD(`reactToMessage`,{csrf:e.csrf,messageUrn:e.messageUrn,emoji:e.emoji},e),parse:e=>{if(!e.ok||e.exitCode!==0)return ED(BD(e));let t=VD(e);return t.ok?t.data&&t.data.success===!1?ED({kind:`error`,display:LD(`LinkedIn rejected the reaction`)}):TD(void 0):t}};function rO(e){return{target:e.target||void 0,port:e.port}}async function iO(e){let t=e.state,n=t.target||``,r=t.auth,i=t.port;if(!n){let t=await e.resolve(JD,{port:i});if(!t.ok)return t;n=t.data}if(!r){let t=await e.resolve(YD,{target:n,port:i});if(!t.ok)return t;r=t.data}let a=await e.resolve(XD,{target:n,port:i,csrf:r.csrf,memberId:r.memberId,count:vD});if(!a.ok)return a;let o=kD(a.data),s=t.thread;if(t.openUrn){let a=await e.execute($D,{target:n,port:i,csrf:r.csrf,conversationUrn:t.openUrn});a.ok&&(s=GD(a.data,r.memberId))}return{ok:!0,data:{target:n,auth:r,convos:o,thread:s}}}function aO(e,t){e.set(e=>{let n=e.convCursor>=t.convos.length?Math.max(0,t.convos.length-1):e.convCursor;return{...e,target:t.target,auth:t.auth,convos:t.convos,thread:t.thread,convCursor:n,recovery:null,loginTabOpened:!1,lastFetch:Date.now()}}),e.signal.setStatus(null),e.signal.clearBanner(),e.state.mode===`list`&&e.signal.setMode(null),oO(e)}function oO(e){let t=0;for(let n of e.state.convos)n.unread&&t++;e.signal.setSubtitle(t>0?`${t} unread`:null)}function sO(e,t){e.signal.setStatus(null),e.signal.setMode(null);let n=RD(t.kind);n.inline||n.keepContent&&e.state.convos.length?e.set(e=>({...e,recovery:null})):e.set(e=>({...e,recovery:{display:t.display,spinner:!1}})),n.banner?e.signal.setBanner(n.banner,n.bannerLevel||`error`):e.signal.clearBanner()}async function cO(e){for(let t=1;t<=yD;t++){await wD(bD);let n=e.state.recovery,r=n&&n.startedAt?Math.max(0,Math.floor((Date.now()-n.startedAt)/1e3)):t;e.signal.setStatus(`Loading messages… (${r}s)`);let i=await iO(e);if(i.ok){aO(e,i.data);return}if(xD.has(i.error.kind)){sO(e,i.error);return}}e.set(e=>({...e,recovery:e.recovery?{...e.recovery,spinner:!1}:null})),e.signal.setStatus(null),e.signal.setBanner(`Still loading — press g to retry`,`action`)}async function lO(e,t){let n=RD(t.kind),r=e.state.port;if(n.auto){e.signal.setMode(null),e.signal.clearBanner(),e.set(e=>({...e,recovery:{display:t.display,spinner:!0,startedAt:Date.now()}})),e.signal.setStatus(t.display.headline);let i=n.auto===`open`?await e.execute(ZD,{port:r}):await e.execute(QD,{target:e.state.target||void 0,port:r});if(!i.ok){sO(e,i.error);return}e.set(e=>({...e,target:n.auto===`open`&&i.data?i.data:e.target,auth:null})),await cO(e);return}if(t.kind===`not-logged-in`&&!e.state.loginTabOpened){let t=await e.execute(ZD,{port:r});e.set(e=>({...e,target:t.ok&&t.data?t.data:e.target,loginTabOpened:!0}))}sO(e,t)}function uO(e,t){let n=RD(t.kind);n.banner?e.signal.setBanner(n.banner,n.bannerLevel||`error`):e.signal.setBanner(t.display.explanation||t.display.headline,t.display.level)}var dO={manifest:{id:`linkedin`,title:`LinkedIn Messages`,description:`Inbox — read, reply, react`,refreshMs:3e4},init(e){let t=e||{};return{auth:null,target:t.target||null,port:t.port||void 0,convos:[],convCursor:0,convScroll:0,openUrn:null,thread:[],threadScroll:0,mode:`list`,draft:``,reactCursor:0,lastFetch:0,recovery:null,loginTabOpened:!1}},sources:{discoverTabSource:JD,contextSource:YD,conversationsSource:XD},commands:{openTabCommand:ZD,navigateCommand:QD,viewThreadCommand:$D,markReadCommand:eO,sendMessageCommand:tO,reactCommand:nO},intents:{async refresh(e){if(e.state.mode!==`list`)return;e.signal.setStatus(`Loading…`);let t=await iO(e);if(t.ok){aO(e,t.data);return}await lO(e,t.error)},cursorDown:e=>e.set(e=>({...e,convCursor:e.convos.length?Math.min(e.convos.length-1,e.convCursor+1):0})),cursorUp:e=>e.set(e=>({...e,convCursor:Math.max(0,e.convCursor-1)})),async openThread(e,t){let n=typeof t==`number`?t:e.state.convCursor,r=e.state.convos[n];if(!r)return;if(!e.state.auth){e.signal.setBanner(`Not ready yet — press g to refresh`,`action`);return}let i=e.state.auth;e.set(e=>({...e,convCursor:n,openUrn:r.urn,thread:[],threadScroll:0})),e.signal.setStatus(`Loading thread…`);let a=await e.execute($D,{...rO(e.state),csrf:i.csrf,conversationUrn:r.urn});if(!a.ok){e.signal.setStatus(null),uO(e,a.error);return}e.set(e=>({...e,thread:GD(a.data,i.memberId)})),await e.execute(eO,{...rO(e.state),csrf:i.csrf,conversationUrn:r.urn}),e.set(e=>({...e,convos:e.convos.map(e=>e.urn===r.urn?{...e,unread:!1}:e)})),e.signal.setStatus(null),e.signal.clearBanner(),oO(e)},startReply:e=>{if(!e.state.openUrn){e.signal.setBanner(`Open a conversation first`,`action`);return}e.set(e=>({...e,mode:`reply`,draft:``})),e.signal.setMode(`compose`),e.signal.clearBanner()},setDraft:(e,t)=>e.set(e=>({...e,draft:typeof t==`string`?t:``})),cancelCompose:e=>{e.set(e=>({...e,mode:`list`,draft:``})),e.signal.setMode(null)},async submitReply(e){let t=e.state.draft.trim();if(!t){e.set(e=>({...e,mode:`list`,draft:``})),e.signal.setMode(null);return}let n=AD(e.state),r=e.state.auth;if(!n||!r){e.signal.setBanner(`No open conversation to reply to.`,`error`),e.set(e=>({...e,mode:`list`})),e.signal.setMode(null);return}let i=e.state.openUrn;e.set(e=>({...e,mode:`list`})),e.signal.setMode(null),e.signal.setStatus(`Sending…`);let a=await e.execute(tO,{...rO(e.state),csrf:r.csrf,myMemberId:r.memberId,recipient:n.recipientId,text:t,conversationUrn:i||void 0});if(!a.ok){e.signal.setStatus(null),uO(e,a.error);return}e.set(e=>({...e,thread:[...e.thread,{urn:``,sender:`You`,text:t,ts:Date.now(),fromMe:!0}],draft:``}));let o=await e.execute($D,{...rO(e.state),csrf:r.csrf,conversationUrn:i||``});o.ok&&e.set(e=>({...e,thread:GD(o.data,r.memberId)})),e.signal.clearBanner(),e.signal.setStatus(`Sent`)},startReact:e=>{if(!e.state.openUrn||e.state.thread.length===0){e.signal.setBanner(`Open a conversation first`,`action`);return}e.set(e=>({...e,mode:`react`,reactCursor:0})),e.signal.setMode(`react`),e.signal.clearBanner()},reactPrev:e=>e.set(e=>({...e,reactCursor:Math.max(0,e.reactCursor-1)})),reactNext:e=>e.set(e=>({...e,reactCursor:Math.min(_D.length-1,e.reactCursor+1)})),reactPick:(e,t)=>e.set(e=>({...e,reactCursor:typeof t==`number`?Math.max(0,Math.min(_D.length-1,t)):e.reactCursor})),async submitReact(e){let t=e.state.thread.length?e.state.thread[e.state.thread.length-1]:null,n=e.state.auth;if(e.set(e=>({...e,mode:`list`})),e.signal.setMode(null),!t||!t.urn||!n){e.signal.setBanner(`No message to react to.`,`error`);return}let r=_D[e.state.reactCursor]||_D[0];e.signal.setStatus(`Reacting…`);let i=await e.execute(nO,{...rO(e.state),csrf:n.csrf,messageUrn:t.urn,emoji:r});if(!i.ok){e.signal.setStatus(null),uO(e,i.error);return}e.signal.clearBanner(),e.signal.setStatus(`Reacted `+r)},quit:e=>e.signal.quit()}};function fO(e){return{ok:!0,data:e}}function pO(e){return{ok:!1,error:e}}var mO=[`👍`,`❤️`,`😂`,`🔥`,`👏`,`😮`],hO={error:3,action:2,info:1},gO=[{id:`linkedin`,label:`LinkedIn`,badge:{glyph:`in`,fg:`36`},connectKey:`L`},{id:`gmail`,label:`Gmail`,badge:{glyph:`@`,fg:`31`},connectKey:`G`}],_O={};for(let e of gO)_O[e.id]=e;function vO(e){let t=_O[e];return t&&t.badge||{glyph:`?`,fg:`37`}}function yO(e){let t=_O[e];return t&&t.label||e}var bO=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function xO(e,t){let n=String(e??``);return n.length>t?n.slice(0,Math.max(0,t-1))+`…`:n}function SO(e,t=Date.now()){if(!e)return``;let n=Math.floor((t-e)/1e3);if(n<60)return`now`;let r=Math.floor(n/60);if(r<60)return`${r}m`;let i=Math.floor(r/60);if(i<24)return`${i}h`;let a=Math.floor(i/24);if(a<7)return`${a}d`;let o=new Date(e),s=bO[o.getMonth()]||``,c=new Date(t);return o.getFullYear()===c.getFullYear()?`${s} ${o.getDate()}`:`${s} ʼ${String(o.getFullYear()).slice(-2)}`}function CO(e){if(!e)return``;let t=new Date(e);return`${t.getFullYear()}-${t.getMonth()}-${t.getDate()}`}function wO(e,t=Date.now()){let n=new Date(e),r=new Date(t),i=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate();if(i(n,r))return`Today`;if(i(n,new Date(t-864e5)))return`Yesterday`;let a=bO[n.getMonth()]||``;return n.getFullYear()===r.getFullYear()?`${a} ${n.getDate()}`:`${a} ${n.getDate()}, ${n.getFullYear()}`}function TO(e,t){let n=String(t??``),r=`${e}:`.toLowerCase();return n.toLowerCase().startsWith(r)?n:`${e}: ${n}`}function EO(e){let t=0;for(let n of gO)if(e.ready[n.id])for(let r of e.rowsBySource[n.id]||[])r.unread&&t++;return t}function DO(e){let t=null,n=-1;for(let r of gO){let i=e.banners[r.id];if(!i||!i.display)continue;let a=(hO[i.display.level]||0)+(i.display.blocking?10:0);a>n&&(n=a,t={label:r.label,d:i.display})}return t}var OO=`https://mail.google.com`,kO=25,AO=25,jO=5,MO=1200,NO=new Set([`no-cdp`,`not-logged-in`,`capture-not-dev`,`capture-missing`]);function PO(e){return new Promise(t=>setTimeout(t,e))}function FO(e){return JSON.stringify(e).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}function IO(e,t,n){return`import {${t}} from '${e}'; return await ${n===null?`${t}()`:`${t}(${FO(n)})`}`}function LO(e,t,n){return t&&e.push(`--target`,String(t)),n!=null&&n!==``&&e.push(`--port`,String(n)),e}function RO(e,t){return t!=null&&t!==``&&e.push(`--port`,String(t)),e}function zO(e){let t=String(e||``).trim();return t===``?null:JSON.parse(t)}function BO(e){let t=String(e||``).split(/\r?\n/).map(e=>e.trim()).filter(Boolean);for(let e=t.length-1;e>=0;e--)if(/^ERROR:/i.test(t[e]))return t[e].replace(/^ERROR:\s*/i,``).trim();return t.length?t[t.length-1]:`capture exec failed`}function VO(e,t){return{kind:e,display:t}}var HO=`This view needs a capture dev checkout (vault/ source + esbuild). Not available in the published package.`;function UO(e){let t=String(e||``);return/No browser with CDP found/i.test(t)||/fetch failed/i.test(t)||/failed to fetch/i.test(t)||/ECONNREFUSED/i.test(t)?{kind:`no-cdp`}:/No tab found/i.test(t)?{kind:`no-tab`}:/DEV_ONLY/i.test(t)||/dev-only feature of capture/i.test(t)||/published package/i.test(t)?{kind:`capture-not-dev`}:/RateLimited/i.test(t)||/\b429\b/.test(t)?{kind:`rate-limited`}:/Unauthenticated/i.test(t)||/XSRF token not found/i.test(t)||/GLOBALS not found/i.test(t)||/may not be logged in/i.test(t)||/not be logged in/i.test(t)||/Not on Gmail domain/i.test(t)||/Account number not found/i.test(t)||/Navigate to mail\.google\.com/i.test(t)?{kind:`not-logged-in`}:{kind:`error`,message:BO(t)}}function WO(e){switch(e&&e.kind||`error`){case`no-cdp`:return VO(`no-cdp`,{headline:`No debuggable browser`,explanation:`crtr drives a browser over CDP and none is running.`,nextStep:`Launch Chrome with --remote-debugging-port=9222 (or Arc), then press g`,banner:`Gmail: no debuggable browser — launch one, then g`,level:`error`,blocking:!0});case`no-tab`:return VO(`no-tab`,{headline:`No Gmail tab`,explanation:`Open mail.google.com in the debuggable browser.`,nextStep:`Press G to connect`,banner:`Gmail: open mail.google.com, then press g`,level:`action`,blocking:!0});case`not-logged-in`:return VO(`not-logged-in`,{headline:`Log in to Gmail`,explanation:`Gmail needs a sign-in in the browser.`,nextStep:`Log in in the opened tab, then press g`,banner:`Gmail: log in, then press g`,level:`action`,blocking:!0});case`rate-limited`:return VO(`rate-limited`,{headline:`Gmail is throttling`,explanation:`Too many requests — wait a moment before retrying.`,nextStep:`Press g to retry`,banner:`Gmail: throttled — wait, then press g`,level:`info`,blocking:!1});case`capture-not-dev`:return VO(`capture-not-dev`,{headline:`Browser bridge unavailable`,explanation:HO,nextStep:null,banner:`Gmail: browser bridge unavailable — capture dev checkout required`,level:`error`,blocking:!0});case`still-loading`:return VO(`still-loading`,{headline:`Still loading Gmail…`,explanation:`Gmail is taking a while to load.`,nextStep:`Press g to retry`,banner:`Gmail: still loading — press g to retry`,level:`action`,blocking:!1});default:{let t=e&&e.message||`Unknown error.`;return VO(`error`,{headline:`Something went wrong`,explanation:t,nextStep:`Press g to retry`,banner:`Gmail: ${xO(t,80)}`,level:`error`,blocking:!0})}}}function GO(){return WO({kind:`error`,message:`capture binary not found — install capture or set CAPTURE_BIN.`})}function KO(e){return typeof e==`number`&&Number.isFinite(e)?e:0}function qO(e){let t=e||{};return typeof t.name==`string`&&t.name.trim()?t.name:typeof t.email==`string`&&t.email.trim()?t.email:`Unknown`}function JO(e){let t=e||{};return typeof t.email==`string`?t.email:``}function YO(e){let t=e||{},n=typeof t.threadId==`string`?t.threadId:``,r=t.from||{};return{sourceId:`gmail`,key:`gmail:${n}`,name:qO(r),snippet:typeof t.snippet==`string`&&t.snippet?t.snippet:typeof t.subject==`string`?t.subject:``,unread:t.unread===!0,ts:KO(t.date),ref:{threadId:n,messageId:typeof t.messageId==`string`?t.messageId:``,subject:typeof t.subject==`string`?t.subject:``,fromEmail:JO(r),fromName:qO(r)}}}function XO(e,t){let n=e||{},r=n.from||{},i=JO(r);return{sender:qO(r),fromMe:!!t&&i.toLowerCase()===t.toLowerCase(),text:typeof n.body==`string`&&n.body?n.body:typeof n.snippet==`string`?n.snippet:``,ts:KO(n.date)}}function ZO(e){let t=String(e||``).replace(/^\s*(re:\s*)+/i,``).trim();return t?`Re: ${t}`:`Re:`}function QO(e){try{return new URL(e).hostname.toLowerCase()===`mail.google.com`}catch{return!1}}var $O={id:`gmail-discover`,request:e=>({kind:`exec`,bin:`capture`,args:RO([`list`],e&&e.port)}),parse:e=>{if(!e.ok)return pO(GO());if(e.exitCode!==0)return pO(WO(UO(e.stderr)));let t;try{t=zO(e.stdout)||[]}catch{return pO(WO({kind:`error`,message:`could not parse capture list output`}))}if(!Array.isArray(t))return pO(WO({kind:`no-tab`}));let n=t.filter(e=>e&&typeof e.url==`string`&&QO(e.url))[0];return n&&n.id?fO(String(n.id)):pO(WO({kind:`no-tab`}))}},ek={id:`gmail-context`,request:e=>({kind:`exec`,bin:`capture`,args:LO([`exec`,IO(`libs/gmail`,`getContext`,null)],e&&e.target,e&&e.port)}),parse:e=>{if(!e.ok)return pO(GO());if(e.exitCode!==0)return pO(WO(UO(e.stderr)));let t;try{t=zO(e.stdout)||{}}catch{return pO(WO({kind:`error`,message:`could not parse getContext output`}))}return!t.xsrf||t.account==null||!t.globals?pO(WO({kind:`error`,message:`getContext() returned no xsrf/account/globals`})):fO({xsrf:String(t.xsrf),account:Number(t.account),email:typeof t.email==`string`?t.email:``,globals:t.globals})}},tk={id:`gmail-inbox`,request:e=>({kind:`exec`,bin:`capture`,args:LO([`exec`,IO(`libs/gmail`,`listInbox`,{xsrf:e.xsrf,account:e.account,globals:e.globals,count:e&&e.count||AO})],e&&e.target,e&&e.port)}),parse:e=>{if(!e.ok)return pO(GO());if(e.exitCode!==0)return pO(WO(UO(e.stderr)));let t;try{t=zO(e.stdout)||{}}catch{return pO(WO({kind:`error`,message:`could not parse listInbox output`}))}return fO((t&&Array.isArray(t.messages)?t.messages:[]).map(YO))}},nk={id:`gmail-thread`,request:e=>({kind:`exec`,bin:`capture`,args:LO([`exec`,IO(`libs/gmail`,`readEmail`,{xsrf:e.xsrf,account:e.account,globals:e.globals,threadId:e.threadId})],e&&e.target,e&&e.port)}),parse:e=>{if(!e.ok)return pO(GO());if(e.exitCode!==0)return pO(WO(UO(e.stderr)));let t;try{t=zO(e.stdout)||{}}catch{return pO(WO({kind:`error`,message:`could not parse readEmail output`}))}return fO(t&&Array.isArray(t.messages)?t.messages:[])}},rk={id:`gmail-open`,request:e=>({kind:`exec`,bin:`capture`,args:RO([`open`,OO],e&&e.port)}),parse:e=>{if(!e.ok)return pO(GO());if(e.exitCode!==0)return pO(WO(UO(e.stderr)));let t;try{t=zO(e.stdout)||{}}catch{return pO(WO({kind:`error`,message:`could not parse capture open output`}))}return t&&t.id?fO(String(t.id)):pO(WO({kind:`error`,message:`capture open returned no tab id`}))}},ik={id:`gmail-reply`,request:e=>({kind:`exec`,bin:`capture`,args:LO([`exec`,IO(`libs/gmail`,`replyEmail`,{xsrf:e.xsrf,account:e.account,globals:e.globals,threadId:e.threadId,originalMsgId:e.originalMsgId,to:e.to,subject:e.subject,body:e.body})],e&&e.target,e&&e.port)}),parse:e=>{if(!e.ok)return pO(GO());if(e.exitCode!==0)return pO(WO(UO(e.stderr)));let t;try{t=zO(e.stdout)||{}}catch{return pO(WO({kind:`error`,message:`could not parse replyEmail output`}))}return t&&t.success===!1?pO(WO({kind:`error`,message:`Gmail rejected the reply`})):fO(void 0)}};function ak(e,t){let n=t&&t.message?String(t.message):e;return VO(`error`,{headline:e,explanation:n,nextStep:`Press g to retry`,banner:n,level:`error`,blocking:!1})}function ok(e){return e===`no-tab`?`open`:e===`not-messaging`?`navigate`:null}async function sk(e,t){if(!t.target){let n=await e.resolve(JD,{port:t.port});if(!n.ok)return n;t.target=n.data}if(!t.ctx){let n=await e.resolve(YD,{target:t.target,port:t.port});if(!n.ok)return n;t.ctx=n.data}let n=await e.resolve(XD,{target:t.target,port:t.port,csrf:t.ctx.csrf,memberId:t.ctx.memberId,count:kO});return n.ok?(t.convos=n.data,{ok:!0}):n}async function ck(e,t){for(let n=1;n<=jO;n++){await PO(MO);let n=await sk(e,t);if(n.ok)return t.loginTabOpened=!1,{ok:!0};if(NO.has(n.error.kind))return n}return pO(VO(`settling`,{headline:`Still loading`,explanation:`LinkedIn is taking a moment to load.`,nextStep:`Press g to retry`,banner:`still loading — press g to retry`,level:`action`,blocking:!1}))}async function lk(e,t){let n=await sk(e,t);if(n.ok)return t.loginTabOpened=!1,{ok:!0};let r=n.error,i=ok(r.kind);if(i){let n=i===`open`?await e.execute(ZD,{port:t.port}):await e.execute(QD,{target:t.target,port:t.port});return n.ok?(i===`open`&&n.data&&(t.target=n.data),t.ctx=null,ck(e,t)):n}if(r.kind===`not-logged-in`&&!t.loginTabOpened){let n=await e.execute(ZD,{port:t.port});n.ok&&n.data&&(t.target=n.data),t.loginTabOpened=!0}return n}async function uk(e,t){if(!t.target){let n=await e.resolve($O,{port:t.port});if(!n.ok)return n;t.target=n.data}if(!t.ctx){let n=await e.resolve(ek,{target:t.target,port:t.port});if(!n.ok)return n;t.ctx=n.data}return{ok:!0}}async function dk(e,t){for(let n=1;n<=jO;n++){await PO(MO),e.signal.setStatus(`Loading Gmail… (${n})`);let r=await uk(e,t);if(r.ok)return t.loginTabOpened=!1,{ok:!0};if(NO.has(r.error.kind))return r}return pO(WO({kind:`still-loading`}))}async function fk(e,t){let n=await uk(e,t);if(n.ok)return t.loginTabOpened=!1,{ok:!0};let r=n.error.kind;if(r===`no-tab`){e.signal.setStatus(`Opening Gmail…`);let n=await e.execute(rk,{port:t.port});return n.ok?(t.target=n.data,t.ctx=null,dk(e,t)):n}if(r===`not-logged-in`){if(!t.loginTabOpened){let n=await e.execute(rk,{port:t.port});n.ok&&n.data&&(t.target=n.data),t.loginTabOpened=!0}return n}return n}function pk(e){let t=e.ctx?e.ctx.csrf:``,n=e.ctx?e.ctx.memberId:``;return(e.convos||[]).map(e=>({sourceId:`linkedin`,key:`linkedin:${e.urn}`,name:e.name||`Unknown`,snippet:e.lastMessage||``,unread:!!e.unread,ts:e.ts||0,ref:{urn:e.urn,recipientId:e.recipientId,csrf:t,memberId:n}}))}async function mk(e,t,n){let r=t.ctx&&t.ctx.csrf||n.csrf,i=t.ctx&&t.ctx.memberId||n.memberId;if(!r)return pO(VO(`error`,{headline:`Something went wrong`,explanation:`not authenticated yet`,nextStep:`Press g to retry`,banner:`not authenticated yet`,level:`error`,blocking:!1}));let a=await e.execute($D,{target:t.target,port:t.port,csrf:r,conversationUrn:n.urn});if(!a.ok)return a;let o=GD(a.data,i);t.threads={...t.threads,[n.urn]:o};let s=(t.convos||[]).find(e=>e.urn===n.urn);s&&(s.unread=!1);let c=s?s.name:`Conversation`,l=o.map(e=>({sender:e.sender,fromMe:e.fromMe,text:e.text,ts:e.ts}));return fO({title:c||`Conversation`,messages:l,canReply:!0,canReact:!0})}async function hk(e,t,n){let r=n&&n.threadId?n.threadId:``;if(!r)return pO(WO({kind:`error`,message:`loadThread: missing threadId`}));let i=await e.resolve(nk,{xsrf:t.ctx.xsrf,account:t.ctx.account,globals:t.ctx.globals,threadId:r,target:t.target,port:t.port});if(!i.ok)return i;let a=i.data,o=t.ctx.email||``,s=a[0]||{},c=a[a.length-1]||{},l=typeof s.subject==`string`&&s.subject||n&&n.subject||`(no subject)`,u=JO(c.from)||JO(s.from),d=c.to&&c.to[0]&&JO(c.to[0])||s.to&&s.to[0]&&JO(s.to[0])||``,f=u||d?`from ${u||`—`} · to ${d||`—`}`:void 0;return fO({title:l,...f?{subtitle:f}:{},messages:a.map(e=>XO(e,o)),canReply:!0,canReact:!1})}async function gk(e,t,n,r){let i=n&&n.threadId?n.threadId:``;if(!i)return pO(WO({kind:`error`,message:`reply: missing threadId`}));let a=String(r??``);if(!a.trim())return pO(WO({kind:`error`,message:`reply: empty body`}));let o=await e.resolve(nk,{xsrf:t.ctx.xsrf,account:t.ctx.account,globals:t.ctx.globals,threadId:i,target:t.target,port:t.port});if(!o.ok)return o;let s=o.data;if(s.length===0)return pO(WO({kind:`error`,message:`reply: thread has no messages`}));let c=(t.ctx.email||``).toLowerCase(),l=s[s.length-1]||{},u=typeof l.messageId==`string`?l.messageId:n&&n.messageId||``;if(!u)return pO(WO({kind:`error`,message:`reply: could not resolve message id`}));let d=null;for(let e=s.length-1;e>=0;e--){let t=JO((s[e]||{}).from).toLowerCase();if(t&&t!==c){d=s[e];break}}let f=d?JO(d.from):``;if(f||=l.to&&l.to[0]&&JO(l.to[0])||``,!f&&n&&n.fromEmail&&(f=n.fromEmail),!f)return pO(WO({kind:`error`,message:`reply: could not determine recipient`}));let p=ZO(d&&d.subject||l.subject||n&&n.subject||``);return e.execute(ik,{xsrf:t.ctx.xsrf,account:t.ctx.account,globals:t.ctx.globals,threadId:i,originalMsgId:u,to:f,subject:p,body:a,target:t.target,port:t.port})}function _k(e){e.sort((e,t)=>!!e.unread==!!t.unread?(t.ts||0)-(e.ts||0):e.unread?-1:1)}function vk(e,t,n,r){let i=n[r],a=i&&i.key,o=[];for(let n of gO)t!==`all`&&t!==n.id||(o=o.concat(e[n.id]||[]));_k(o);let s=r;if(a){let e=o.findIndex(e=>e.key===a);e>=0&&(s=e)}return s>=o.length&&(s=Math.max(0,o.length-1)),s<0&&(s=0),{rows:o,cursor:s}}function yk(e,t){let n=[];for(let e of gO){let r=t&&t[e.id];r&&r.display&&n.push({label:e.label,d:r.display})}if(n.length===0){e.signal.clearBanner();return}let r=`info`;for(let e of n)(hO[e.d.level]||0)>(hO[r]||0)&&(r=e.d.level);let i=n.map(e=>TO(e.label,e.d.banner||e.d.explanation||e.d.headline)).join(` · `);e.signal.setBanner(i,r)}function bk(e,t,n){let r=yO(t),i=n&&n.display,a=i&&(i.banner||i.explanation||i.headline);a?e.signal.setBanner(TO(r,a),i&&i.level||`error`):e.signal.setBanner(`${r}: error`,`error`)}function xk(e){let t=e.state,n=EO(t),r=[];if(n>0&&r.push(`${n} unread`),t.filter!==`all`){let e=_O[t.filter];r.push(`${e?e.label:t.filter} only`)}e.signal.setSubtitle(r.length?r.join(` · `):null)}function Sk(e){return{...e,threads:{...e.threads||{}},convos:(e.convos||[]).map(e=>({...e}))}}function Ck(e){return{...e}}function wk(e){return{linkedin:Sk(e.linkedin),gmail:Ck(e.gmail)}}var Tk={manifest:{id:`inbox`,title:`Inbox`,description:`Combined inbox — triage LinkedIn + Gmail in one ranked list`,refreshMs:3e4},init(e){return{subs:{linkedin:{ctx:null,target:e&&e.target||null,port:e&&e.port||void 0,convos:[],threads:{},loginTabOpened:!1},gmail:{target:null,port:void 0,ctx:null,loginTabOpened:!1}},rowsBySource:{},rows:[],cursor:0,scroll:0,openKey:null,openRow:null,thread:null,threadScroll:0,mode:`list`,draft:``,reactCursor:0,filter:`all`,banners:{},ready:{},lastFetch:0}},sources:{gmailDiscover:$O,gmailContext:ek,gmailInbox:tk,gmailThread:nk},commands:{gmailOpen:rk,gmailReply:ik},intents:{async refresh(e){if(e.state.mode!==`list`)return;e.signal.setStatus(`Refreshing…`);let t=e.state,n=wk(t.subs),r={},i={},a={};for(let t of gO){let o=t.id,s=n[o],c;try{c=o===`linkedin`?await lk(e,s):await fk(e,s)}catch(e){c={ok:!1,error:ak(`source error`,e)}}if(c.ok)if(a[o]=!0,i[o]=null,o===`linkedin`)r[o]=pk(s);else{let t;try{t=await e.resolve(tk,{xsrf:s.ctx.xsrf,account:s.ctx.account,globals:s.ctx.globals,count:AO,target:s.target,port:s.port})}catch(e){t={ok:!1,error:ak(`list failed`,e)}}t.ok?r[o]=t.data:(r[o]=[],i[o]=t.error)}else a[o]=!1,r[o]=[],i[o]=c.error}e.set(e=>{let{rows:t,cursor:o}=vk(r,e.filter,e.rows,e.cursor);return{...e,subs:n,rowsBySource:r,banners:i,ready:a,rows:t,cursor:o,lastFetch:Date.now()}}),e.signal.setStatus(null),yk(e,i),xk(e)},cursorDown:e=>e.set(e=>({...e,cursor:e.rows.length?Math.min(e.rows.length-1,e.cursor+1):0})),cursorUp:e=>e.set(e=>({...e,cursor:Math.max(0,e.cursor-1)})),async open(e,t){let n=e.state,r=typeof t==`number`?t:n.cursor,i=n.rows[r];if(!i)return;e.signal.setStatus(`Loading thread…`);let a=wk(n.subs),o=i.sourceId,s;try{s=o===`linkedin`?await mk(e,a.linkedin,i.ref):await hk(e,a.gmail,i.ref)}catch(e){s={ok:!1,error:ak(`could not load thread`,e)}}if(e.signal.setStatus(null),!s.ok){e.set(e=>({...e,subs:a,openKey:i.key,openRow:i,thread:null,threadScroll:0})),bk(e,o,s.error);return}e.set(e=>{let t=e=>e.key===i.key?{...e,unread:!1}:e,n=e.rows.map(t),r={...e.rowsBySource};return r[o]=(r[o]||[]).map(t),{...e,subs:a,rows:n,rowsBySource:r,openKey:i.key,openRow:i,thread:s.data,threadScroll:0}}),xk(e)},cycleFilter(e){e.set(e=>{let t=[`all`,`linkedin`,`gmail`],n=t[(t.indexOf(e.filter)+1)%t.length]||`all`,{rows:r,cursor:i}=vk(e.rowsBySource,n,e.rows,e.cursor);return{...e,filter:n,rows:r,cursor:i}}),xk(e)},startReply(e){let t=e.state;if(!t.openKey||!t.thread){e.signal.setBanner(`Open a conversation first`,`action`);return}t.thread.canReply&&(e.set(e=>({...e,mode:`reply`,draft:``})),e.signal.setMode(`compose`))},startReact(e){let t=e.state;if(!t.openKey||!t.thread){e.signal.setBanner(`Open a conversation first`,`action`);return}!t.thread.canReact||(t.thread.messages||[]).length===0||(e.set(e=>({...e,mode:`react`,reactCursor:0})),e.signal.setMode(`react`))},setDraft:(e,t)=>e.set(e=>({...e,draft:typeof t==`string`?t:``})),async submitReply(e){let t=e.state,n=t.draft.trim();if(e.set(e=>({...e,mode:`list`})),e.signal.setMode(null),!n)return;let r=t.openRow,i=r?r.sourceId:null;if(!r||!i){e.signal.setBanner(`No open conversation to reply to.`,`error`);return}e.signal.setStatus(`Sending…`);let a=wk(t.subs),o;try{o=i===`linkedin`?await e.execute(tO,{target:a.linkedin.target,port:a.linkedin.port,csrf:a.linkedin.ctx&&a.linkedin.ctx.csrf||r.ref.csrf,myMemberId:a.linkedin.ctx&&a.linkedin.ctx.memberId||r.ref.memberId,recipient:r.ref.recipientId,text:n,conversationUrn:r.ref.urn}):await gk(e,a.gmail,r.ref,n)}catch(e){o={ok:!1,error:ak(`send failed`,e)}}if(!o.ok){e.signal.setStatus(null),bk(e,i,o.error);return}let s=t.thread;try{let t=i===`linkedin`?await mk(e,a.linkedin,r.ref):await hk(e,a.gmail,r.ref);t.ok&&(s=t.data)}catch{}e.set(e=>({...e,subs:a,draft:``,thread:s})),e.signal.setStatus(`Sent`),yk(e,e.state.banners)},reactPrev:e=>e.set(e=>({...e,reactCursor:Math.max(0,e.reactCursor-1)})),reactNext:e=>e.set(e=>({...e,reactCursor:Math.min(mO.length-1,e.reactCursor+1)})),async submitReact(e,t){let n=e.state,r=n.openRow,i=r?r.sourceId:null;if(e.set(e=>({...e,mode:`list`})),e.signal.setMode(null),i!==`linkedin`||!r){e.signal.setBanner(`Cannot react here.`,`error`);return}let a=mO[typeof t==`number`?t:n.reactCursor]||mO[0],o=wk(n.subs).linkedin,s=o.threads[r.ref.urn]||[],c=s.length?s[s.length-1]:null;if(!c||!c.urn){e.signal.setBanner(`LinkedIn: no message to react to`,`error`);return}let l=o.ctx&&o.ctx.csrf||r.ref.csrf;if(!l){e.signal.setBanner(`LinkedIn: not authenticated yet`,`error`);return}e.signal.setStatus(`Reacting…`);let u;try{u=await e.execute(nO,{target:o.target,port:o.port,csrf:l,messageUrn:c.urn,emoji:a})}catch(e){u={ok:!1,error:ak(`react failed`,e)}}if(!u.ok){e.signal.setStatus(null),bk(e,`linkedin`,u.error);return}e.signal.setStatus(`Reacted `+a),yk(e,e.state.banners)},cancelCompose(e){e.set(e=>({...e,mode:`list`,draft:``})),e.signal.setMode(null)},async connectLinkedin(e){let t=wk(e.state.subs),n=t.linkedin;e.signal.setStatus(`Connecting LinkedIn…`);let r;try{r=await e.execute(ZD,{port:n.port})}catch(e){r={ok:!1,error:ak(`connect failed`,e)}}if(e.signal.setStatus(null),!r.ok){e.set(e=>({...e,banners:{...e.banners,linkedin:r.error}})),yk(e,e.state.banners);return}r.data&&(n.target=r.data),n.ctx=null,e.set(e=>({...e,subs:t})),await e.dispatch(`refresh`)},async connectGmail(e){let t=wk(e.state.subs),n=t.gmail;e.signal.setStatus(`Connecting Gmail…`);let r;try{r=await e.execute(rk,{port:n.port})}catch(e){r={ok:!1,error:ak(`connect failed`,e)}}if(e.signal.setStatus(null),!r.ok){e.set(e=>({...e,banners:{...e.banners,gmail:r.error}})),yk(e,e.state.banners);return}r.data&&(n.target=r.data),n.ctx=null,n.loginTabOpened=!0,e.set(e=>({...e,subs:t})),await e.dispatch(`refresh`)},quit:e=>e.signal.quit()}},Ek={linkedin:`text-cyan-600`,gmail:`text-red-600`};function Dk({row:e,selected:t,onClick:n}){let r=Ek[e.sourceId]||`text-slate-400`,i=(e.snippet||``).replace(/\s+/g,` `).trim(),a=SO(e.ts);return(0,z.jsxs)(`li`,{onClick:n,className:`flex items-baseline gap-1.5 rounded px-2 py-1 cursor-pointer ${t?`bg-slate-200`:`hover:bg-slate-100`}`,children:[(0,z.jsx)(`span`,{className:`shrink-0 ${e.unread?`text-cyan-600`:`text-transparent`}`,children:`●`}),(0,z.jsx)(`span`,{className:`shrink-0 font-bold ${r}`,children:vO(e.sourceId).glyph}),(0,z.jsx)(`span`,{className:`shrink-0 ${e.unread?`font-semibold`:``}`,children:e.name||`Unknown`}),i?(0,z.jsx)(`span`,{className:`truncate text-slate-400`,children:i}):null,a?(0,z.jsx)(`span`,{className:`ml-auto shrink-0 text-slate-400`,children:a}):null]})}function Ok({state:e,dispatch:t}){if(!e.openKey||!e.thread)return(0,z.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-1 text-slate-400`,children:[(0,z.jsx)(`div`,{children:`✉ No conversation open`}),(0,z.jsx)(`div`,{className:`text-slate-500`,children:`Click a conversation to open it.`})]});let n=e.thread,r=n.messages||[],i=null;return(0,z.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,z.jsxs)(`div`,{className:`border-b border-slate-200 pb-1`,children:[(0,z.jsx)(`div`,{className:`font-semibold`,children:n.title||`Conversation`}),n.subtitle?(0,z.jsx)(`div`,{className:`text-slate-400`,children:n.subtitle}):null]}),(0,z.jsx)(`div`,{className:`flex-1 overflow-y-auto py-2`,children:r.length===0?(0,z.jsx)(`div`,{className:`text-slate-400`,children:`Loading messages…`}):r.map((e,t)=>{let n=CO(e.ts),r=e.ts&&n!==i?wO(e.ts):null;return e.ts&&(i=n),(0,z.jsxs)(`div`,{children:[r?(0,z.jsxs)(`div`,{className:`my-1 text-center text-xs text-slate-400`,children:[`── `,r,` ──`]}):null,e.fromMe?(0,z.jsxs)(`div`,{className:`border-l-2 border-green-600 pl-2`,children:[(0,z.jsx)(`div`,{className:`font-semibold text-green-700`,children:`You`}),(0,z.jsx)(`div`,{className:`whitespace-pre-wrap`,children:e.text})]}):(0,z.jsxs)(`div`,{className:`mb-2`,children:[(0,z.jsx)(`div`,{className:`font-semibold text-cyan-700`,children:e.sender||`Them`}),(0,z.jsx)(`div`,{className:`whitespace-pre-wrap`,children:e.text})]})]},t)})}),e.mode===`reply`?(0,z.jsxs)(`div`,{className:`border-t border-slate-200 pt-2`,children:[(0,z.jsx)(`textarea`,{autoFocus:!0,value:e.draft,onChange:e=>t(`setDraft`,e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),t(`submitReply`)):e.key===`Escape`&&(e.preventDefault(),t(`cancelCompose`))},className:`w-full rounded border border-slate-300 p-2 font-mono text-sm outline-none focus:border-slate-500`,rows:3,placeholder:`Type a reply…`}),(0,z.jsxs)(`div`,{className:`mt-1 flex gap-2`,children:[(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`submitReply`),className:`rounded bg-slate-700 px-3 py-1 text-white hover:bg-slate-800`,children:`Send`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`cancelCompose`),className:`rounded border border-slate-300 px-3 py-1 text-slate-700 hover:bg-slate-100`,children:`Cancel`})]})]}):null,e.mode===`react`?(0,z.jsx)(`div`,{className:`border-t border-slate-200 pt-2`,children:(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(`span`,{className:`text-amber-600`,children:`☺ React`}),mO.map((n,r)=>(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`submitReact`,r),className:`rounded px-2 py-1 text-lg ${r===e.reactCursor?`bg-slate-200`:`hover:bg-slate-100`}`,children:n},n)),(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`cancelCompose`),className:`ml-auto rounded border border-slate-300 px-3 py-1 text-slate-700 hover:bg-slate-100`,children:`Cancel`})]})}):null]})}function kk({state:e,dispatch:t}){if(e.rows.length===0){if(e.lastFetch===0)return(0,z.jsx)(eE,{label:`Loading inbox…`});let n=DO(e);if(n){let e=n.d;return(0,z.jsx)(e.level===`error`?nE:rE,{headline:`${n.label}: ${e.headline}`,explanation:e.explanation,nextStep:e.nextStep||void 0,onRetry:()=>t(`refresh`)})}return(0,z.jsx)(tE,{label:`All caught up — no messages.`})}return(0,z.jsxs)(`div`,{className:`flex h-full gap-3 font-mono text-sm outline-none`,tabIndex:0,onKeyDown:n=>{e.mode===`list`&&(n.key===`j`||n.key===`ArrowDown`?(t(`cursorDown`),n.preventDefault()):n.key===`k`||n.key===`ArrowUp`?(t(`cursorUp`),n.preventDefault()):n.key===`Enter`?(t(`open`,e.cursor),n.preventDefault()):n.key===`g`?t(`refresh`):n.key===`r`?t(`startReply`):n.key===`e`?t(`startReact`):n.key===`f`&&t(`cycleFilter`))},children:[(0,z.jsx)(`ul`,{className:`w-2/5 shrink-0 overflow-y-auto border-r border-slate-200 pr-2`,children:e.rows.map((n,r)=>(0,z.jsx)(Dk,{row:n,selected:r===e.cursor,onClick:()=>t(`open`,r)},n.key))}),(0,z.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,z.jsx)(Ok,{state:e,dispatch:t})})]})}function Ak(e){return{ok:!0,data:e}}function jk(e){return{ok:!1,error:e}}function Mk(e){let t=String(e||``).split(/\r?\n/).map(e=>e.trim()).filter(Boolean);return t.length?t[0]:``}function Nk(e){let t=parseInt(String(e),10);return Number.isFinite(t)?t:0}function Pk(e,t){return`${e} ${t}${e===1?``:`s`}`}var Fk=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function Ik(e,t){let n=Date.parse(e);if(Number.isNaN(n))return``;let r=Math.max(0,Math.floor((t-n)/1e3));if(r<60)return`now`;let i=Math.floor(r/60);if(i<60)return`${i}m`;let a=Math.floor(i/60);if(a<24)return`${a}h`;let o=Math.floor(a/24);if(o<7)return`${o}d`;let s=new Date(n),c=Fk[s.getMonth()]||`?`;return s.getFullYear()===new Date(t).getFullYear()?`${c} ${s.getDate()}`:`${c} ʼ${String(s.getFullYear()).slice(-2)}`}function Lk(e,t){return e===`U`||t===`U`||e===`A`&&t===`A`||e===`D`&&t===`D`?`conflict`:e===`?`||t===`?`?`untracked`:t!==` `&&t!==``?`modified`:e!==` `&&e!==``?`staged`:`modified`}function Rk(e){let t=String(e||``).split(`\0`),n=[],r={staged:0,modified:0,untracked:0,conflict:0};for(let e=0;e<t.length;e++){let i=t[e];if(!i||i.length<3)continue;let a=i[0],o=i[1],s=i.slice(3);(a===`R`||a===`C`||o===`R`||o===`C`)&&e++;let c=Lk(a,o);c===`conflict`?r.conflict++:c===`untracked`?r.untracked++:(a!==` `&&a!==`?`&&a!==``&&r.staged++,o!==` `&&o!==`?`&&o!==``&&r.modified++),n.push({path:s,xy:`${a}${o}`,cls:c,add:0,del:0})}return{files:n,counts:r}}function zk(e){let t=[];for(let n of String(e||``).split(/\r?\n/)){if(!n.trim())continue;let e=n.split(` `);if(e.length<3)continue;let r=e[0],i=e[1],a=e.slice(2).join(` `);r===`-`||i===`-`||a.includes(` => `)||t.push({path:a,add:Nk(r),del:Nk(i)})}return t}var Bk={conflict:0,staged:1,modified:2,untracked:3},Vk=new Set([`FAILURE`,`ERROR`,`CANCELLED`,`TIMED_OUT`,`ACTION_REQUIRED`,`STARTUP_FAILURE`]),Hk=new Set([`SUCCESS`,`NEUTRAL`,`SKIPPED`]);function Uk(e){if(!Array.isArray(e)||e.length===0)return`none`;let t=!1;for(let n of e){let e=String(n&&n.conclusion||``).toUpperCase(),r=String(n&&n.state||``).toUpperCase(),i=String(n&&n.status||``).toUpperCase();if(Vk.has(e)||Vk.has(r))return`fail`;(i&&i!==`COMPLETED`||r&&!Hk.has(r)&&!Vk.has(r)||!e&&!r&&!i)&&(t=!0)}return t?`pending`:`pass`}function Wk(e){let t=String(e||``).toUpperCase();return t===`APPROVED`?`approved`:t===`CHANGES_REQUESTED`?`changes`:`review`}var Gk={kind:`git-missing`,display:{headline:`git not found`,explanation:`crtr could not find the git binary on PATH.`,nextStep:`Install git, then press g.`,level:`error`,blocking:!0}},Kk={kind:`not-a-repo`,display:{headline:`Not a git repository`,explanation:`This view monitors a git repo, and the current directory is not one.`,nextStep:"cd into a repository (or run `git init`), then press g.",level:`action`,blocking:!0}};function qk(e){return{kind:`git-failed`,display:{headline:`Git unavailable`,explanation:e||`A git command failed.`,nextStep:`Press g to retry.`,level:`error`,blocking:!1}}}function Jk(e,t){return{kind:e,display:{headline:t,explanation:``,nextStep:``,level:`info`,blocking:!1}}}function Yk(e){let t=String(e||``).toLowerCase();return/auth|logged in|gh auth login|authentication|not logged/.test(t)?Jk(`gh-unauthed`,"gh is not authenticated — run `gh auth login`."):/could not resolve host|dial tcp|network is unreachable|no such host|timeout|temporary failure|connection refused/.test(t)?Jk(`gh-network`,`Cannot reach GitHub (offline?).`):/could not resolve to a repository|no git remote|none of the git remotes|no default remote|not a github|head branch could not/.test(t)?Jk(`gh-no-remote`,`No GitHub remote for this repository.`):Jk(`gh-failed`,Mk(e)||`gh command failed.`)}var Xk={id:`git-status`,request:()=>({kind:`exec`,bin:`git`,args:[`status`,`--porcelain=v1`,`-z`,`--untracked-files=all`]}),parse:e=>{if(!e.ok)return jk(Gk);if(e.exitCode!==0){let t=String(e.stderr||``).toLowerCase();return/not a git repository/.test(t)?jk(Kk):jk(qk(Mk(e.stderr)))}return Ak(Rk(e.stdout))}},Zk={id:`git-branch`,request:()=>({kind:`exec`,bin:`git`,args:[`branch`,`--show-current`]}),parse:e=>Ak(e.ok&&e.exitCode===0?e.stdout.trim():``)},Qk={id:`git-head`,request:()=>({kind:`exec`,bin:`git`,args:[`rev-parse`,`--short`,`HEAD`]}),parse:e=>Ak(e.ok&&e.exitCode===0?e.stdout.trim():``)},$k={id:`git-upstream`,request:()=>({kind:`exec`,bin:`git`,args:[`rev-parse`,`--abbrev-ref`,`--symbolic-full-name`,`@{upstream}`]}),parse:e=>Ak(e.ok&&e.exitCode===0?e.stdout.trim():null)},eA={id:`git-ahead-behind`,request:()=>({kind:`exec`,bin:`git`,args:[`rev-list`,`--left-right`,`--count`,`@{upstream}...HEAD`]}),parse:e=>{if(!e.ok||e.exitCode!==0)return Ak({ahead:0,behind:0});let t=e.stdout.trim().split(/\s+/);return Ak({behind:Nk(t[0]),ahead:Nk(t[1])})}},tA={id:`git-log`,request:()=>({kind:`exec`,bin:`git`,args:[`log`,`-1`,`--pretty=%h%x1f%s%x1f%cI`]}),parse:e=>{if(!e.ok||e.exitCode!==0||e.stdout.trim()===``)return Ak(null);let[t,n,r]=e.stdout.replace(/\n$/,``).split(``);return Ak({sha:t||``,subject:n||``,when:r||``})}},nA={id:`git-diff`,request:()=>({kind:`exec`,bin:`git`,args:[`diff`,`--numstat`]}),parse:e=>Ak(e.ok&&e.exitCode===0?zk(e.stdout):[])},rA={id:`git-diff-cached`,request:()=>({kind:`exec`,bin:`git`,args:[`diff`,`--cached`,`--numstat`]}),parse:e=>Ak(e.ok&&e.exitCode===0?zk(e.stdout):[])},iA={id:`prs`,request:()=>({kind:`exec`,bin:`gh`,args:[`pr`,`list`,`--state`,`open`,`--limit`,`30`,`--json`,`number,title,headRefName,reviewDecision,statusCheckRollup,updatedAt,isDraft`]}),parse:e=>{if(!e.ok)return jk(Jk(`gh-missing`,`gh (GitHub CLI) not found — install it to see PRs.`));if(e.exitCode!==0)return jk(Yk(e.stderr||e.stdout));let t;try{t=JSON.parse(e.stdout.trim()||`[]`)}catch{return jk(Jk(`gh-failed`,`could not parse gh output as JSON.`))}return Array.isArray(t)||(t=[]),Ak(t.map(e=>{let t=e||{},n=String(t.headRefName||``);return{number:typeof t.number==`number`?t.number:Nk(t.number),title:String(t.title||`(untitled)`),headRefName:n,isDraft:!!t.isDraft,current:!1,review:Wk(t.reviewDecision),ci:Uk(t.statusCheckRollup),updatedAt:String(t.updatedAt||``)}}))}};function aA(e){let t=[],n=e.git;if(t.push({kind:`label`,text:`Working tree`}),!n||n.files.length===0)t.push({kind:`clean`});else for(let e of n.files)t.push({kind:`file`,file:e});if(t.push({kind:`spacer`}),t.push({kind:`label`,text:`Pull requests`}),e.prNote)t.push({kind:`note`,text:e.prNote});else if(e.prs.length===0)t.push({kind:`note`,text:`No open pull requests.`});else for(let n of e.prs)t.push({kind:`pr`,pr:n});return t}function oA(e){let t=e.counts;if(e.files.length===0)return`clean`;let n=[];return t.conflict&&n.push(`${t.conflict} conflict`),t.staged&&n.push(`${t.staged} staged`),t.modified&&n.push(`${t.modified} modified`),t.untracked&&n.push(`${t.untracked} untracked`),n.join(` · `)||Pk(e.files.length,`change`)}function sA(e){let t=e.git;if(!t)return null;let n=t.branch;return t.ahead&&(n+=` ↑${t.ahead}`),t.behind&&(n+=` ↓${t.behind}`),n+=` · ${oA(t)}`,n}function cA(e){let t=e.git;return t?`${t.files.length===0?`clean`:Pk(t.files.length,`change`)} · ${e.prNote?`PRs n/a`:Pk(e.prs.length,`PR`)}`:null}function lA(e){let t=e.git,n=[];if(t&&t.counts.conflict&&n.push(`${Pk(t.counts.conflict,`conflict`)}`),!e.prNote){let t=e.prs.filter(e=>e.ci===`fail`).length,r=e.prs.filter(e=>e.review===`changes`).length;t&&n.push(`${t} PR${t===1?``:`s`} failing CI`),r&&n.push(`${r} PR${r===1?``:`s`} need changes`)}return n.length?`${n.join(` · `)} — needs attention`:null}var uA={manifest:{id:`git-pr`,title:`Git / PR`,description:`Local git state + GitHub PR/CI status for the repo at this cwd`,refreshMs:5e3},init(){return{git:null,gitErr:null,prs:[],prNote:null,board:[],cursor:0,scroll:0,lastFetch:0}},sources:{gitStatusSource:Xk,gitBranchSource:Zk,gitHeadSource:Qk,gitUpstreamSource:$k,gitAheadBehindSource:eA,gitLogSource:tA,gitDiffSource:nA,gitDiffCachedSource:rA,prsSource:iA},intents:{async refresh(e){e.signal.setStatus(`Reading git…`);let t=await e.resolve(Xk);if(!t.ok){let n=t.error,r=e.state.git!=null,i=!n.display.blocking&&r;e.set(e=>{let t={...e,gitErr:n};return i||(t.git=null,t.prs=[],t.prNote=null,t.board=aA(t)),t.lastFetch=Date.now(),t}),i?e.signal.setBanner(n.display.explanation,n.display.level):e.signal.clearBanner(),e.signal.setStatus(null),e.signal.setSubtitle(i?sA(e.state):null);return}let[n,r,i,a,o,s,c]=await Promise.all([e.resolve(Zk),e.resolve(Qk),e.resolve($k),e.resolve(eA),e.resolve(tA),e.resolve(nA),e.resolve(rA)]),l=n.ok?n.data:``,u=!1;l===``&&(u=!0,l=r.ok&&r.data?`(detached ${r.data})`:`(no branch)`);let d=i.ok?i.data:null,f=0,p=0;d&&a.ok&&(f=a.data.ahead,p=a.data.behind);let m=o.ok?o.data:null,h=new Map,g=e=>{for(let t of e){let e=h.get(t.path)||{add:0,del:0};e.add+=t.add,e.del+=t.del,h.set(t.path,e)}};s.ok&&g(s.data),c.ok&&g(c.data);let{files:_,counts:v}=t.data;for(let e of _){let t=h.get(e.path);t&&(e.add=t.add,e.del=t.del)}_.sort((e,t)=>{let n=Bk[e.cls]-Bk[t.cls];return n===0?e.path<t.path?-1:+(e.path>t.path):n});let y={branch:l,detached:u,upstream:d,ahead:f,behind:p,lastCommit:m,files:_,counts:v},b=await e.resolve(iA),x=[],S=null;b.ok?(x=b.data.map(e=>({...e,current:e.headRefName!==``&&e.headRefName===l})),x.sort((e,t)=>e.current===t.current?e.updatedAt<t.updatedAt?1:e.updatedAt>t.updatedAt?-1:0:e.current?-1:1)):S=b.error.display.headline,e.set(e=>{let t={...e,git:y,gitErr:null,prs:x,prNote:S};return t.board=aA(t),t.cursor>=t.board.length&&(t.cursor=Math.max(0,t.board.length-1)),t.lastFetch=Date.now(),t});let C={git:y,prs:x,prNote:S};e.signal.setSubtitle(sA(C));let w=lA(C);w?e.signal.setBanner(w,`action`):e.signal.clearBanner(),e.signal.setStatus(cA(C))},cursorDown:e=>e.set(e=>({...e,cursor:e.board.length?Math.min(e.board.length-1,e.cursor+1):0})),cursorUp:e=>e.set(e=>({...e,cursor:Math.max(0,e.cursor-1)})),select:(e,t)=>e.set(e=>({...e,cursor:typeof t==`number`?Math.max(0,Math.min(e.board.length-1,t)):e.cursor})),quit:e=>e.signal.quit()}},dA={staged:{glyph:`●`,cls:`text-green-600`},modified:{glyph:`○`,cls:`text-amber-600`},untracked:{glyph:`?`,cls:`text-slate-400`},conflict:{glyph:`✗`,cls:`text-red-600`}},fA={approved:{glyph:`✓`,cls:`text-green-600`},changes:{glyph:`✗`,cls:`text-red-600`},review:{glyph:`◌`,cls:`text-slate-400`}},pA={pass:{glyph:`✓`,cls:`text-green-600`},fail:{glyph:`✗`,cls:`text-red-600`},pending:{glyph:`⟳`,cls:`text-amber-600`},none:{glyph:`·`,cls:`text-slate-400`}};function mA({g:e}){let t=Date.now();return(0,z.jsxs)(`div`,{className:`border-b border-slate-200 pb-2`,children:[(0,z.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,z.jsxs)(`span`,{className:`font-semibold text-cyan-700`,children:[`⎇ `,e.branch]}),e.upstream?(0,z.jsxs)(`span`,{className:`text-slate-400`,children:[`→ `,e.upstream,e.ahead?(0,z.jsxs)(`span`,{className:`ml-1 text-green-600`,children:[`↑`,e.ahead]}):null,e.behind?(0,z.jsxs)(`span`,{className:`ml-1 text-amber-600`,children:[`↓`,e.behind]}):null,!e.ahead&&!e.behind?(0,z.jsx)(`span`,{className:`ml-1 text-green-600`,children:`✓ up to date`}):null]}):(0,z.jsx)(`span`,{className:`text-slate-400`,children:`· no upstream`}),(0,z.jsx)(`span`,{className:`ml-auto`,children:hA(e)})]}),(0,z.jsx)(`div`,{className:`mt-0.5 text-slate-600`,children:e.lastCommit?(0,z.jsxs)(`span`,{className:`flex items-baseline gap-2`,children:[(0,z.jsx)(`span`,{className:`text-slate-400`,children:`⊙`}),(0,z.jsx)(`span`,{className:`text-amber-600`,children:e.lastCommit.sha}),(0,z.jsx)(`span`,{className:`truncate`,children:e.lastCommit.subject}),(0,z.jsx)(`span`,{className:`ml-auto shrink-0 text-slate-400`,children:Ik(e.lastCommit.when,t)})]}):(0,z.jsx)(`span`,{className:`text-slate-400`,children:`⊙ no commits yet`})})]})}function hA(e){if(e.files.length===0)return(0,z.jsx)(`span`,{className:`text-green-600`,children:`✓ clean`});let t=e.counts;return(0,z.jsx)(`span`,{className:`flex gap-3`,children:[{n:t.conflict,word:`conflict`,glyph:`✗`,cls:`text-red-600`},{n:t.staged,word:`staged`,glyph:`●`,cls:`text-green-600`},{n:t.modified,word:`modified`,glyph:`○`,cls:`text-amber-600`},{n:t.untracked,word:`untracked`,glyph:`?`,cls:`text-slate-400`}].filter(e=>e.n).map((e,t)=>(0,z.jsxs)(`span`,{className:e.cls,children:[e.glyph,` `,e.n,` `,e.word]},t))})}function gA({row:e,selected:t,onClick:n}){let r=Date.now(),i=`flex items-baseline gap-1.5 rounded px-2 py-0.5 ${t?`bg-slate-200`:``}`;if(e.kind===`label`)return(0,z.jsx)(`li`,{className:`px-2 pt-2 pb-0.5 text-xs uppercase tracking-wide text-slate-400`,children:e.text});if(e.kind===`spacer`)return(0,z.jsx)(`li`,{className:`h-2`,"aria-hidden":!0});if(e.kind===`clean`)return(0,z.jsxs)(`li`,{className:i,onClick:n,children:[(0,z.jsx)(`span`,{className:`text-green-600`,children:`✓`}),(0,z.jsx)(`span`,{className:`text-slate-400`,children:`nothing to commit, working tree clean`})]});if(e.kind===`note`)return(0,z.jsxs)(`li`,{className:i,onClick:n,children:[(0,z.jsx)(`span`,{className:`text-slate-400`,children:`·`}),(0,z.jsx)(`span`,{className:`text-slate-400`,children:e.text})]});if(e.kind===`file`){let t=e.file,r=dA[t.cls]||dA.modified;return(0,z.jsxs)(`li`,{className:i,onClick:n,children:[(0,z.jsx)(`span`,{className:r.cls,children:r.glyph}),(0,z.jsx)(`span`,{className:`text-slate-400`,children:t.xy.replace(/ /g,`·`)}),(0,z.jsx)(`span`,{className:t.cls===`conflict`?`text-red-600`:``,children:t.path}),t.add||t.del?(0,z.jsxs)(`span`,{className:`ml-auto shrink-0 text-slate-400`,children:[`+`,t.add,` −`,t.del]}):null]})}let a=e.pr,o=fA[a.review]||fA.review,s=pA[a.ci]||pA.none,c=Ik(a.updatedAt,r);return(0,z.jsxs)(`li`,{className:i,onClick:n,children:[(0,z.jsxs)(`span`,{className:`text-cyan-700 ${a.current?`font-bold`:``}`,children:[`#`,a.number]}),(0,z.jsx)(`span`,{className:a.isDraft?`text-slate-400`:``,children:a.title}),a.isDraft?(0,z.jsx)(`span`,{className:`text-slate-400`,children:`(draft)`}):null,(0,z.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-baseline gap-2`,children:[(0,z.jsx)(`span`,{className:o.cls,children:o.glyph}),(0,z.jsx)(`span`,{className:s.cls,children:s.glyph}),c?(0,z.jsx)(`span`,{className:`text-slate-400`,children:c}):null]})]})}function _A({state:e,dispatch:t}){if(!e.git){if(e.gitErr){let n=e.gitErr.display;return(0,z.jsx)(n.level===`error`?nE:rE,{headline:n.headline,explanation:n.explanation,nextStep:n.nextStep,onRetry:()=>t(`refresh`)})}return(0,z.jsx)(eE,{label:`Reading git…`})}let n=e.git,r=n.files.length===0&&e.prs.length===0&&!e.prNote;return(0,z.jsxs)(`div`,{className:`font-mono text-sm outline-none`,tabIndex:0,onKeyDown:e=>{e.key===`j`||e.key===`ArrowDown`?(t(`cursorDown`),e.preventDefault()):e.key===`k`||e.key===`ArrowUp`?(t(`cursorUp`),e.preventDefault()):e.key===`g`&&t(`refresh`)},children:[(0,z.jsx)(mA,{g:n}),r?(0,z.jsx)(tE,{label:`${n.branch} — clean working tree, no open PRs.`}):(0,z.jsx)(`ul`,{className:`mt-1`,children:e.board.map((n,r)=>(0,z.jsx)(gA,{row:n,selected:r===e.cursor,onClick:()=>t(`select`,r)},r))})]})}function vA({rec:e,dispatch:t}){let n=e.display;return e.spinner?(0,z.jsx)(eE,{label:n.headline}):(0,z.jsx)(n.level===`error`?nE:rE,{headline:n.headline,explanation:n.explanation,nextStep:n.nextStep||void 0,onRetry:()=>t(`refresh`)})}function yA({state:e,dispatch:t}){return(0,z.jsx)(`ul`,{className:`divide-y divide-slate-100 overflow-y-auto`,children:e.convos.map((n,r)=>{let i=r===e.convCursor,a=n.urn===e.openUrn,o=OD(n.ts);return(0,z.jsxs)(`li`,{onClick:()=>t(`openThread`,r),className:`flex cursor-pointer items-baseline gap-2 px-3 py-2 ${i?`bg-slate-100`:``} ${a?`border-l-2 border-cyan-500`:`border-l-2 border-transparent`}`,children:[(0,z.jsx)(`span`,{className:`shrink-0 ${n.unread?`text-cyan-600`:`text-transparent`}`,children:`●`}),(0,z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`span`,{className:n.unread?`font-semibold`:``,children:n.name||`Unknown`}),n.lastMessage?(0,z.jsx)(`span`,{className:`ml-2 truncate text-slate-400`,children:n.lastMessage.replace(/\s+/g,` `).trim()}):null]}),o?(0,z.jsx)(`span`,{className:`shrink-0 text-xs text-slate-400`,children:o}):null]},n.urn||r)})})}function bA({m:e}){let t=OD(e.ts);return e.fromMe?(0,z.jsxs)(`div`,{className:`border-l-2 border-green-500 pl-2`,children:[(0,z.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,z.jsx)(`span`,{className:`font-semibold text-green-600`,children:`You`}),t?(0,z.jsx)(`span`,{className:`text-xs text-slate-400`,children:t}):null]}),(0,z.jsx)(`div`,{className:`whitespace-pre-wrap text-slate-700`,children:e.text})]}):(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,z.jsx)(`span`,{className:`font-semibold text-cyan-700`,children:e.sender||`Them`}),t?(0,z.jsx)(`span`,{className:`text-xs text-slate-400`,children:t}):null]}),(0,z.jsx)(`div`,{className:`whitespace-pre-wrap text-slate-700`,children:e.text})]})}function xA({state:e,dispatch:t}){let n=e.openUrn?e.convos.find(t=>t.urn===e.openUrn):null;return e.openUrn?(0,z.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,z.jsxs)(`div`,{className:`flex items-baseline justify-between border-b border-slate-200 px-3 py-2`,children:[(0,z.jsx)(`span`,{className:`font-semibold`,children:n?n.name:`Conversation`}),n&&OD(n.ts)?(0,z.jsx)(`span`,{className:`text-xs text-slate-400`,children:OD(n.ts)}):null]}),(0,z.jsx)(`div`,{className:`flex-1 space-y-3 overflow-y-auto px-3 py-3`,children:e.thread.length===0?(0,z.jsx)(`div`,{className:`text-slate-400`,children:`Loading messages…`}):e.thread.map((e,t)=>(0,z.jsx)(bA,{m:e},e.urn||t))}),e.mode===`reply`?(0,z.jsx)(SA,{state:e,dispatch:t}):null,e.mode===`react`?(0,z.jsx)(CA,{state:e,dispatch:t}):null]}):(0,z.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-1 p-8 text-center text-slate-400`,children:[(0,z.jsx)(`div`,{children:`✉ No conversation open`}),(0,z.jsx)(`div`,{className:`text-sm`,children:`Select a conversation to open it.`})]})}function SA({state:e,dispatch:t}){return(0,z.jsx)(`div`,{className:`border-t border-slate-200 p-2`,children:(0,z.jsx)(`textarea`,{autoFocus:!0,rows:2,value:e.draft,placeholder:`Reply… (Enter to send · Esc to cancel)`,onChange:e=>t(`setDraft`,e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),t(`submitReply`)):e.key===`Escape`&&(e.preventDefault(),t(`cancelCompose`))},className:`w-full resize-none rounded border border-slate-300 p-2 font-mono text-sm outline-none focus:border-amber-500`})})}function CA({state:e,dispatch:t}){return(0,z.jsxs)(`div`,{className:`flex items-center gap-2 border-t border-slate-200 p-2`,children:[(0,z.jsx)(`span`,{className:`text-amber-600`,children:`☺ React`}),_D.map((n,r)=>(0,z.jsx)(`button`,{type:`button`,onClick:()=>{t(`reactPick`,r),t(`submitReact`)},className:`rounded px-2 py-1 text-lg ${r===e.reactCursor?`bg-slate-200`:``} hover:bg-slate-100`,children:n},n)),(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`cancelCompose`),className:`ml-auto text-sm text-slate-500 hover:text-slate-700`,children:`Esc cancel`})]})}function wA({state:e,dispatch:t}){return e.recovery?(0,z.jsx)(vA,{rec:e.recovery,dispatch:t}):e.convos.length===0?e.lastFetch===0?(0,z.jsx)(eE,{label:`Loading conversations…`}):(0,z.jsx)(tE,{label:`All caught up — no conversations in your inbox.`}):(0,z.jsxs)(`div`,{className:`grid h-full grid-cols-3 font-mono text-sm outline-none`,tabIndex:0,onKeyDown:n=>{e.mode===`list`&&(n.key===`j`||n.key===`ArrowDown`?(n.preventDefault(),t(`cursorDown`)):n.key===`k`||n.key===`ArrowUp`?(n.preventDefault(),t(`cursorUp`)):n.key===`Enter`?(n.preventDefault(),t(`openThread`,e.convCursor)):n.key===`r`?(n.preventDefault(),t(`startReply`)):n.key===`e`?(n.preventDefault(),t(`startReact`)):n.key===`g`&&t(`refresh`))},children:[(0,z.jsx)(`div`,{className:`col-span-1 border-r border-slate-200`,children:(0,z.jsx)(yA,{state:e,dispatch:t})}),(0,z.jsx)(`div`,{className:`col-span-2`,children:(0,z.jsx)(xA,{state:e,dispatch:t})})]})}var TA=`user`,EA=[`ultra`,`strong`,`medium`,`light`],DA={ultra:`anthropic`,strong:`anthropic`,medium:`anthropic`,light:`anthropic`};function OA(e){return{ok:!0,data:e}}function kA(e){return{ok:!1,error:e}}function AA(e){return e==null?``:String(e)}function jA(e,t=`error`){return{kind:`settings-config`,display:{headline:`Settings unavailable`,explanation:e,nextStep:`Press g to retry.`,level:t,blocking:t===`error`}}}function MA(e){return{id:`config-get-${e}`,request:()=>({kind:`exec`,bin:`crtr`,args:[`sys`,`config`,`get`,e,`--scope`,TA,`--json`]}),parse:t=>{if(!t.ok||t.exitCode!==0)return kA(jA(AA(t.stderr||t.stdout||`crtr sys config get ${e} failed`)));let n;try{n=JSON.parse(String(t.stdout||``).trim()||`{}`)}catch{return kA(jA(`could not parse crtr sys config get ${e} output as JSON`))}return!n||typeof n!=`object`||!(`value`in n)?kA(jA(`unexpected response from crtr sys config get ${e}`)):OA(n.value)}}}function NA(e,t){return{id:`config-set-${e}`,request:()=>({kind:`exec`,bin:`crtr`,args:[`sys`,`config`,`set`,e,`--value`,t,`--scope`,TA,`--json`]}),parse:t=>{if(!t.ok||t.exitCode!==0)return kA(jA(AA(t.stderr||t.stdout||`crtr sys config set ${e} failed`),`error`));let n;try{n=JSON.parse(String(t.stdout||``).trim()||`{}`)}catch{return kA(jA(`could not parse crtr sys config set ${e} output as JSON`))}return!n||typeof n!=`object`||!(`value`in n)?kA(jA(`unexpected response from crtr sys config set ${e}`)):OA(n.value)}}}function PA(e){if(!e.modelLadders)return[];let t=[{kind:`defaultProvider`}];for(let e of EA)t.push({kind:`matrix`,strength:e});return t}function FA(e){let t=PA(e);return t.length===0?0:Math.min(e.cursor,t.length-1)}function IA(e){return PA(e)[FA(e)]}function LA(e,t){if(t.kind===`defaultProvider`)return{kind:`defaultProvider`,draft:``,value:e.modelLadders?.defaultProvider??`anthropic`,label:`default provider`};let n=e.matrixSelection[t.strength]??DA[t.strength];return{kind:`matrixCell`,strength:t.strength,provider:n,draft:``,value:e.modelLadders?.[n]?.[t.strength]??``,label:`${n} / ${t.strength}`}}async function RA(e){let t=await e.resolve(MA(`modelLadders`));return t.ok?OA({ladders:t.data}):t}function zA(e,t,n=`error`){n===`info`?e.signal.setStatus(t):e.signal.setBanner(t,n)}async function BA(e,t){let n=String(t.value??``).trim();if(t.kind===`defaultProvider`){if(n!==`anthropic`&&n!==`openai`)return zA(e,`default provider must be anthropic or openai`,`action`),!1}else if(t.kind===`matrixCell`&&!n)return zA(e,`model id cannot be empty`,`action`),!1;e.signal.setStatus(`Saving…`);let r=``,i=n;r=t.kind===`defaultProvider`?`modelLadders.defaultProvider`:`modelLadders.${t.provider}.${t.strength}`;let a=await e.execute(NA(r,i));return a.ok?(e.set(e=>{let r={...e,edit:null};return t.kind===`defaultProvider`&&r.modelLadders&&(r.modelLadders={...r.modelLadders,defaultProvider:n}),t.kind===`matrixCell`&&r.modelLadders&&(r.modelLadders={...r.modelLadders,[t.provider]:{...r.modelLadders[t.provider],[t.strength]:n}}),r}),e.signal.setStatus(`Saved`),await e.dispatch(`refresh`),!0):(zA(e,a.error.display.explanation||a.error.display.headline,a.error.display.level),e.signal.setStatus(null),!1)}var VA={manifest:{id:`settings`,title:`Model Ladders`,subtitle:`provider × strength matrix`,description:`edit model ladders through crtr commands`},init(){return{modelLadders:null,matrixSelection:{...DA},cursor:0,scroll:0,lastFetch:0,sourceError:null,edit:null}},sources:{modelLadders:MA(`modelLadders`)},intents:{async refresh(e){e.signal.setStatus(`Loading settings…`);let t=await RA(e);if(!t.ok){e.state.lastFetch===0||e.state.modelLadders===null?e.set(e=>({...e,sourceError:t.error,lastFetch:Date.now()})):zA(e,t.error.display.explanation||t.error.display.headline,t.error.display.level),e.signal.setStatus(null);return}e.set(e=>{let n={...e,modelLadders:t.data.ladders,sourceError:null,lastFetch:Date.now()};return{...n,cursor:Math.min(n.cursor,Math.max(0,PA(n).length-1))}}),e.signal.clearBanner(),e.signal.setStatus(null)},cursorDown:e=>e.set(e=>({...e,cursor:Math.min(Math.max(0,PA(e).length-1),e.cursor+1)})),cursorUp:e=>e.set(e=>({...e,cursor:Math.max(0,e.cursor-1)})),matrixLeft:e=>e.set(e=>{let t=IA(e);return!t||t.kind!==`matrix`?e:{...e,matrixSelection:{...e.matrixSelection,[t.strength]:`anthropic`}}}),matrixRight:e=>e.set(e=>{let t=IA(e);return!t||t.kind!==`matrix`?e:{...e,matrixSelection:{...e.matrixSelection,[t.strength]:`openai`}}}),beginEdit:e=>e.set(e=>{let t=IA(e);if(!t||e.modelLadders===null)return e;let n=LA(e,t);return{...e,edit:{...n}}}),beginEditFor:(e,t)=>e.set(e=>{if(e.modelLadders===null)return e;let n=t&&typeof t==`object`?t:{};if(n.kind===`matrix`&&typeof n.strength==`string`){let t=n.provider===`openai`?`openai`:`anthropic`,r=e.modelLadders?.[t]?.[n.strength]??``;return{...e,edit:{kind:`matrixCell`,strength:n.strength,provider:t,draft:r,value:r,label:`${t} / ${n.strength}`}}}if(n.kind===`defaultProvider`){let t=e.modelLadders.defaultProvider??`anthropic`;return{...e,edit:{kind:`defaultProvider`,draft:t,value:t,label:`default provider`}}}return e}),setDraft:(e,t)=>e.set(e=>e.edit?{...e,edit:{...e.edit,draft:typeof t==`string`?t:``}}:e),cancelEdit:e=>e.set(e=>e.edit?{...e,edit:null}:e),async submitEdit(e){let t=e.state.edit;t&&await BA(e,{kind:t.kind,value:t.draft,strength:t.strength,provider:t.provider})},async applyValue(e,t){let n=t&&typeof t==`object`?t:null;!n||e.state.modelLadders===null||await BA(e,n)},selectRow:(e,t)=>e.set(e=>{let n=t&&typeof t==`object`?t:{},r=PA(e).findIndex(e=>e.kind===`defaultProvider`&&n.kind===`defaultProvider`||e.kind===`matrix`&&n.kind===`matrix`&&n.strength===e.strength);return r<0?e:n.kind===`matrix`&&(n.provider===`anthropic`||n.provider===`openai`)&&typeof n.strength==`string`?{...e,cursor:r,matrixSelection:{...e.matrixSelection,[n.strength]:n.provider}}:{...e,cursor:r}}),quit:e=>e.signal.quit()}},HA=[`ultra`,`strong`,`medium`,`light`],UA=[`anthropic`,`openai`];function WA({choices:e,value:t,onPick:n}){return(0,z.jsx)(`div`,{className:`inline-flex overflow-hidden rounded border border-slate-300`,children:e.map(r=>(0,z.jsx)(`button`,{type:`button`,onClick:()=>n(r),className:`px-2.5 py-1 text-sm capitalize ${r===t?`bg-cyan-600 text-white`:`bg-white text-slate-600 hover:bg-slate-100`} ${r===e[0]?``:`border-l border-slate-300`}`,children:r},r))})}function GA(e,t,n){return!!e.edit&&e.edit.kind===`matrixCell`&&e.edit.strength===t&&e.edit.provider===n}function KA({state:e,dispatch:t}){if(e.sourceError&&e.modelLadders===null){let n=e.sourceError.display;return(0,z.jsx)(n.level===`error`?nE:rE,{headline:n.headline,explanation:n.explanation,nextStep:n.nextStep||void 0,onRetry:()=>t(`refresh`)})}if(e.modelLadders===null)return(0,z.jsx)(eE,{label:`Loading model ladders…`});let n=e.modelLadders;return(0,z.jsx)(`div`,{className:`h-full overflow-auto text-sm`,children:(0,z.jsxs)(`div`,{className:`space-y-5 p-4`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h1`,{className:`text-base font-semibold`,children:`Model ladders`}),(0,z.jsx)(`p`,{className:`text-xs text-slate-500`,children:`Click a model id to edit it; click a provider or strength to switch it. Changes save immediately.`})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,z.jsx)(`span`,{className:`font-semibold`,children:`Default provider`}),(0,z.jsx)(WA,{choices:UA,value:n.defaultProvider??`anthropic`,onPick:e=>t(`applyValue`,{kind:`defaultProvider`,value:e})})]}),(0,z.jsx)(`div`,{className:`space-y-3`,children:HA.map(r=>(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`mb-1 font-semibold capitalize`,children:r}),(0,z.jsx)(`div`,{className:`grid grid-cols-1 gap-2 md:grid-cols-2`,children:UA.map(i=>{if(GA(e,r,i))return(0,z.jsxs)(`div`,{className:`rounded border border-cyan-300 bg-cyan-50 p-2`,children:[(0,z.jsx)(`div`,{className:`mb-1 text-xs uppercase tracking-wide text-slate-400`,children:i}),(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(`input`,{autoFocus:!0,value:e.edit.draft,onChange:e=>t(`setDraft`,e.target.value),onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),t(`submitEdit`)):e.key===`Escape`&&(e.preventDefault(),t(`cancelEdit`))},className:`flex-1 rounded border border-slate-300 bg-white px-2 py-1 font-mono text-sm outline-none focus:border-cyan-500`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`submitEdit`),className:`rounded bg-cyan-600 px-2 py-1 text-xs font-semibold text-white hover:bg-cyan-700`,children:`Save`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`cancelEdit`),className:`rounded border border-slate-300 bg-white px-2 py-1 text-xs text-slate-600 hover:bg-slate-100`,children:`Cancel`})]})]},i);let a=n[i]?.[r]??`—`;return(0,z.jsxs)(`button`,{type:`button`,title:`Click to edit`,onClick:()=>t(`beginEditFor`,{kind:`matrix`,strength:r,provider:i}),className:`rounded border border-slate-200 bg-white px-2 py-1 text-left hover:border-cyan-400 hover:bg-cyan-50`,children:[(0,z.jsx)(`div`,{className:`text-xs uppercase tracking-wide text-slate-400`,children:i}),(0,z.jsx)(`div`,{className:`truncate font-mono text-sm text-slate-800`,children:a})]},i)})})]},r))})]})})}var qA=`developer`,JA=`base`,YA=`terminal`,XA=!0;function ZA(e){return{ok:!0,data:e}}function QA(e){return{ok:!1,error:e}}function $(e){return e==null?``:String(e)}function $A(e){return e===!0||e===`true`||e===1||e===`1`}function ej(e){return Math.ceil(Math.max(0,e)/4)}function tj(e){return $(e).split(/\r?\n/).map(e=>e.trim()).find(Boolean)||``}function nj(e,t=`error`){return{kind:`prompt-review`,display:{headline:`Prompt Studio unavailable`,explanation:e,nextStep:`Press g to retry.`,level:t,blocking:t===`error`}}}function rj(e,t,n){let r={kind:`exec`,bin:e,args:t};return n===void 0?r:{...r,stdin:n}}function ij(e){return{kind:e.kind,mode:e.mode===`base`?`orchestrator`:`base`,lifecycle:e.lifecycle===`terminal`?`resident`:`terminal`,hasManager:e.hasManager,node:e.node}}function aj(e){return{kind:$(e.kind)||qA,mode:e.mode===`orchestrator`?`orchestrator`:`base`,lifecycle:e.lifecycle===`resident`?`resident`:`terminal`,hasManager:$A(e.hasManager),node:e.node?$(e.node):null}}function oj(e){return $(e).replace(/\r\n/g,`
78
78
  `)}function sj(e){return oj(e).length}function cj(e){return`${e.kind}/${e.mode} · ${e.lifecycle} · manager:${e.hasManager?`yes`:`no`}${e.node?` · node:${e.node}`:``}`}function lj(e){return{"runtime-base":`Runtime base`,"spine-has-manager":`Spine (has manager)`,"spine-no-manager":`Spine (no manager)`,"lifecycle-terminal":`Lifecycle (terminal)`,"lifecycle-resident":`Lifecycle (resident)`,waiting:`Waiting`,"persona-body":`Persona body`,"orchestration-kernel":`Orchestration kernel`,"subpersona-menu":`Sub-persona menu`,"substrate-preferences":`Preferences substrate`,"substrate-memory-guidance":`Memory guidance substrate`,"substrate-knowledge":`Context message — not system prompt`}[e]||e.replace(/[-_]/g,` `)}function uj(e){return!!e&&typeof e==`object`&&`kind`in e&&`mode`in e&&`lifecycle`in e}function dj(e){return $(e).replace(/\s+/g,` `).trim()}function fj(e){return oj(e).split(`
79
79
  `)}function pj(e,t){let n=fj(e),r=fj(t),i=0;for(;i<n.length&&i<r.length&&n[i]===r[i];)i++;let a=n.length-1,o=r.length-1;for(;a>=i&&o>=i&&n[a]===r[o];)a--,o--;let s=[],c=n.slice(0,i),l=n.slice(a+1);for(let e of c.slice(-2))s.push(` ${e}`);for(let e of n.slice(i,a+1))s.push(`- ${e}`);for(let e of r.slice(i,o+1))s.push(`+ ${e}`);for(let e of l.slice(0,2))s.push(` ${e}`);return s.join(`
80
80
  `).trim()}function mj(e,t){return!e&&!t?``:e?t?e.text===t.text?e.text:pj(e.text,t.text):`- ${e.text}`:t?`+ ${t.text}`:``}function hj(e,t){let n=new Map(e.map(e=>[e.id,e])),r=new Map(t.map(e=>[e.id,e])),i=[...new Set([...n.keys(),...r.keys()])],a=[];for(let e of i){let t=n.get(e)||null,i=r.get(e)||null;t&&!i?a.push({id:e,label:t.label,kind:`removed`,left:t,right:null,summary:`${t.label} removed in compare config`,diffText:`- ${dj(t.text)}`}):!t&&i?a.push({id:e,label:i.label,kind:`added`,left:null,right:i,summary:`${i.label} added in compare config`,diffText:`+ ${dj(i.text)}`}):t&&i&&(t.included!==i.included||t.text!==i.text||t.condition!==i.condition||t.sourcePath!==i.sourcePath||t.scope!==i.scope)&&a.push({id:e,label:t.label,kind:`changed`,left:t,right:i,summary:`${t.label} changed`,diffText:mj(t,i)})}return a}var gj={id:`prompt-review-list`,request:()=>rj(`crtr`,[`sys`,`prompt-review`,`--list`,`--json`]),parse:e=>{if(!e.ok||e.exitCode!==0)return QA(nj(tj(e.stderr||e.stdout||`crtr sys prompt-review --list failed`)));let t;try{t=JSON.parse(String(e.stdout||``).trim()||`{}`)}catch{return QA(nj(`could not parse crtr sys prompt-review --list output as JSON`))}return!t||typeof t!=`object`||!Array.isArray(t.kinds)||!Array.isArray(t.modes)||!Array.isArray(t.lifecycles)||typeof t.subPersonas!=`object`?QA(nj(`unexpected response from crtr sys prompt-review --list`)):ZA({kinds:t.kinds.map(e=>({kind:$(e.kind),whenToUse:$(e.whenToUse)})),modes:t.modes.filter(e=>e===`base`||e===`orchestrator`),lifecycles:t.lifecycles.filter(e=>e===`terminal`||e===`resident`),subPersonas:Object.fromEntries(Object.entries(t.subPersonas).map(([e,t])=>[e,Array.isArray(t)?t.map(e=>({kind:$(e.kind),whenToUse:$(e.whenToUse)})):[]]))})}},_j={id:`prompt-review-review`,request:e=>{let t=aj(e||{kind:qA,mode:JA,lifecycle:YA,hasManager:XA,node:null}),n=[`sys`,`prompt-review`,`--kind`,t.kind,`--mode`,t.mode,`--lifecycle`,t.lifecycle,`--has-manager`,t.hasManager?`true`:`false`,`--json`];return t.node&&n.push(`--node`,t.node),rj(`crtr`,n)},parse:e=>{if(!e.ok||e.exitCode!==0)return QA(nj(tj(e.stderr||e.stdout||`crtr sys prompt-review failed`)));let t;try{t=JSON.parse(String(e.stdout||``).trim()||`{}`)}catch{return QA(nj(`could not parse crtr sys prompt-review output as JSON`))}if(!t||typeof t!=`object`||!uj(t.config)||!Array.isArray(t.layers)||typeof t.assembled!=`string`||!t.total||typeof t.total!=`object`||!Array.isArray(t.sources))return QA(nj(`unexpected response from crtr sys prompt-review`));let n=t.layers.map(e=>({id:$(e.id),label:$(e.label)||lj($(e.id)),group:e.group===`persona`||e.group===`generated`||e.group===`substrate`?e.group:`protocol`,source:$(e.source),sourcePath:e.sourcePath?$(e.sourcePath):null,scope:e.scope===`project`||e.scope===`user`||e.scope===`builtin`||e.scope===`generated`||e.scope===`runtime`?e.scope:`builtin`,included:e.included===!0,condition:e.condition==null?null:$(e.condition),text:oj(e.text),tokens:typeof e.tokens==`number`?e.tokens:ej(sj(e.text)),chars:typeof e.chars==`number`?e.chars:sj(e.text)})),r=aj({kind:$(t.config.kind)||qA,mode:t.config.mode===`orchestrator`?`orchestrator`:`base`,lifecycle:t.config.lifecycle===`resident`?`resident`:`terminal`,hasManager:$A(t.config.hasManager),node:t.config.node?$(t.config.node):null}),i=t.sources.map(e=>({id:$(e.id),label:$(e.label)||lj($(e.id)),path:e.path?$(e.path):``,scope:e.scope===`project`||e.scope===`user`||e.scope===`builtin`||e.scope===`generated`||e.scope===`runtime`?e.scope:`builtin`})).filter(e=>e.path),a=oj(t.assembled);return ZA({config:r,layers:n,assembled:a,total:{tokens:typeof t.total.tokens==`number`?t.total.tokens:ej(sj(a)),chars:typeof t.total.chars==`number`?t.total.chars:sj(a)},sources:i})}},vj={id:`prompt-review-nodes`,request:()=>rj(`crtr`,[`node`,`inspect`,`list`,`--json`]),parse:e=>{if(!e.ok||e.exitCode!==0)return QA(nj(tj(e.stderr||e.stdout||`crtr node inspect list failed`),`action`));let t;try{t=JSON.parse(String(e.stdout||``).trim()||`{}`)}catch{return QA(nj(`could not parse crtr node inspect list output as JSON`))}return!t||typeof t!=`object`||!Array.isArray(t.nodes)?QA(nj(`unexpected response from crtr node inspect list`)):ZA(t.nodes.map(e=>({node_id:$(e.node_id),name:$(e.name),kind:$(e.kind),mode:$(e.mode),lifecycle:$(e.lifecycle),status:$(e.status),cwd:$(e.cwd),parent:e.parent==null?null:$(e.parent),created:$(e.created),enterable:e.enterable===!0})).filter(e=>e.status===`active`||e.status===`idle`))}},yj={id:`prompt-review-export`,request:e=>rj(`crtr`,[`sys`,`prompt-review`,`export`,`--json`],JSON.stringify(e||{})),parse:e=>{if(!e.ok||e.exitCode!==0)return QA(nj(tj(e.stderr||e.stdout||`crtr sys prompt-review export failed`)));let t;try{t=JSON.parse(String(e.stdout||``).trim()||`{}`)}catch{return QA(nj(`could not parse crtr sys prompt-review export output as JSON`))}return!t||typeof t!=`object`||typeof t.path!=`string`?QA(nj(`unexpected response from crtr sys prompt-review export`)):ZA({path:t.path})}};async function bj(e,t,n){let r=[e.resolve(gj),e.resolve(_j,t),e.resolve(vj)];n&&r.push(e.resolve(_j,n));let[i,a,o,s]=await Promise.all(r);if(!a.ok)throw a.error;return{list:i.ok?i.data:null,review:a.data,liveNodes:o.ok?o.data:null,compareReview:n&&s&&s.ok?s.data:null}}function xj(e){let t=e.review||[];return t.find(t=>t.id===e.selectedLayerId)||t[e.cursor]||t.find(e=>e.included)||t[0]}function Sj(e){let t=e.compareReview||[];return t.find(t=>t.id===e.compareSelectedLayerId)||t[e.compareCursor]||t.find(e=>e.included)||t[0]}function Cj(e,t){return!t||t.length===0?``:t.find(e=>e.included)?.id||t[0].id}function wj(e,t){if(!e||e.length===0)return 0;let n=t?e.findIndex(e=>e.id===t):-1;return n>=0?n:Math.max(0,e.findIndex(e=>e.included)>=0?e.findIndex(e=>e.included):0)}function Tj(e,t,n,r,i){let a=r?r.layers:null,o=i?i.layers:null,s={...e,config:t,compareConfig:n,review:a,compareReview:o};if(a&&a.length){let n=e.selectedLayerId&&a.some(t=>t.id===e.selectedLayerId)?e.selectedLayerId:Cj(t,a);s.selectedLayerId=n,s.cursor=wj(a,n);let r={...e.expanded};n in r||(r[n]=!0),s.expanded=r}return o&&o.length&&(s.compareSelectedLayerId=e.compareSelectedLayerId&&o.some(t=>t.id===e.compareSelectedLayerId)?e.compareSelectedLayerId:Cj(n||t,o),s.compareCursor=wj(o,s.compareSelectedLayerId),s.compareSelectedLayerId in s.expanded||(s.expanded={...s.expanded,[s.compareSelectedLayerId]:!0})),s.sources=r?r.sources:[],s.assembled=r?r.assembled:null,s.totalTokens=r?r.total.tokens:0,s.totalChars=r?r.total.chars:0,s.compareAssembled=i?i.assembled:null,s}var Ej={manifest:{id:`prompt-review`,title:`Prompt Studio`,subtitle:`prompt assembly review + export`,description:`inspect assembled prompts, provenance, comments, and diffs`},init(){let e=aj({kind:qA,mode:JA,lifecycle:YA,hasManager:XA,node:null});return{config:e,compareConfig:ij(e),list:null,liveNodes:[],review:null,compareReview:null,sources:[],totalTokens:0,totalChars:0,assembled:null,compareAssembled:null,selectedLayerId:null,cursor:0,scroll:0,compareSelectedLayerId:null,compareCursor:0,expanded:{},viewMode:`layered`,comments:[],draftComment:null,rawSelection:``,lastExportPath:null,compareOpen:!0,lastFetch:0,sourceError:null,auxiliaryError:null}},sources:{list:gj,nodes:vj,review:_j},commands:{export:yj},intents:{async refresh(e){e.signal.setStatus(`Loading Prompt Studio…`);let t=aj(e.state.config),n=e.state.compareOpen&&e.state.compareConfig?aj(e.state.compareConfig):null;try{let r=await bj(e,t,n);e.set(e=>{let i=Tj({...e},t,n,r.review,r.compareReview);return i.list=r.list||e.list,i.liveNodes=r.liveNodes||e.liveNodes,i.sourceError=null,i.auxiliaryError=null,i.lastFetch=Date.now(),i}),r.list&&r.liveNodes&&e.signal.clearBanner(),e.signal.setStatus(null)}catch(t){let n=t;e.set(e=>{let t={...e,lastFetch:Date.now()};return e.review?t.auxiliaryError=n:t.sourceError=n,t}),e.state.review&&e.signal.setBanner(n.display.explanation||n.display.headline,n.display.level),e.signal.setStatus(null)}},setKind(e,t){return e.set(e=>({...e,config:{...e.config,kind:$(t)||qA}})),e.dispatch(`refresh`)},setMode(e,t){return e.set(e=>({...e,config:{...e.config,mode:t===`orchestrator`?`orchestrator`:`base`}})),e.dispatch(`refresh`)},setLifecycle(e,t){return e.set(e=>({...e,config:{...e.config,lifecycle:t===`resident`?`resident`:`terminal`}})),e.dispatch(`refresh`)},toggleHasManager(e){return e.set(e=>({...e,config:{...e.config,hasManager:!e.config.hasManager}})),e.dispatch(`refresh`)},setNode(e,t){return e.set(e=>({...e,config:{...e.config,node:t?$(t):null}})),e.dispatch(`refresh`)},setCompareKind(e,t){return e.set(e=>({...e,compareConfig:{...e.compareConfig||ij(e.config),kind:$(t)||qA}})),e.dispatch(`refresh`)},setCompareMode(e,t){return e.set(e=>({...e,compareConfig:{...e.compareConfig||ij(e.config),mode:t===`orchestrator`?`orchestrator`:`base`}})),e.dispatch(`refresh`)},setCompareLifecycle(e,t){return e.set(e=>({...e,compareConfig:{...e.compareConfig||ij(e.config),lifecycle:t===`resident`?`resident`:`terminal`}})),e.dispatch(`refresh`)},toggleCompareHasManager(e){return e.set(e=>({...e,compareConfig:{...e.compareConfig||ij(e.config),hasManager:!(e.compareConfig||ij(e.config)).hasManager}})),e.dispatch(`refresh`)},setCompareNode(e,t){return e.set(e=>({...e,compareConfig:{...e.compareConfig||ij(e.config),node:t?$(t):null}})),e.dispatch(`refresh`)},toggleCompareOpen(e){return e.set(e=>{let t=!e.compareOpen,n=t?e.compareConfig||ij(e.config):e.compareConfig;return{...e,compareOpen:t,compareConfig:n}}),e.dispatch(`refresh`)},setViewMode(e,t){e.set(e=>({...e,viewMode:t===`raw`?`raw`:`layered`}))},selectLayer(e,t){e.set(e=>{let n=$(t)||e.selectedLayerId,r=e.review?Math.max(0,e.review.findIndex(e=>e.id===n)):e.cursor;return{...e,selectedLayerId:n,cursor:r}})},cursorDown(e){e.set(e=>{if(!e.review||e.review.length===0)return e;let t=Math.min(e.review.length-1,e.cursor+1),n=e.review[t];return{...e,cursor:t,selectedLayerId:n?n.id:e.selectedLayerId}})},cursorUp(e){e.set(e=>{if(!e.review||e.review.length===0)return e;let t=Math.max(0,e.cursor-1),n=e.review[t];return{...e,cursor:t,selectedLayerId:n?n.id:e.selectedLayerId}})},selectCompareLayer(e,t){e.set(e=>{let n=$(t)||e.compareSelectedLayerId,r=e.compareReview?Math.max(0,e.compareReview.findIndex(e=>e.id===n)):e.compareCursor;return{...e,compareSelectedLayerId:n,compareCursor:r}})},compareCursorDown(e){e.set(e=>{if(!e.compareReview||e.compareReview.length===0)return e;let t=Math.min(e.compareReview.length-1,e.compareCursor+1),n=e.compareReview[t];return{...e,compareCursor:t,compareSelectedLayerId:n?n.id:e.compareSelectedLayerId}})},compareCursorUp(e){e.set(e=>{if(!e.compareReview||e.compareReview.length===0)return e;let t=Math.max(0,e.compareCursor-1),n=e.compareReview[t];return{...e,compareCursor:t,compareSelectedLayerId:n?n.id:e.compareSelectedLayerId}})},toggleLayerExpanded(e,t){e.set(e=>({...e,expanded:{...e.expanded,[$(t)]:!e.expanded[$(t)]}}))},captureRawSelection(e,t){e.set(e=>({...e,rawSelection:dj(t)}))},beginComment(e){let t=xj(e.state);if(!t)return;let n=e.state.viewMode===`raw`&&e.state.rawSelection||null;e.set(e=>({...e,draftComment:{layerId:t.id,label:t.label,sourcePath:t.sourcePath,scope:t.scope,anchor:n,body:``}}))},setCommentBody(e,t){e.set(e=>e.draftComment?{...e,draftComment:{...e.draftComment,body:$(t)}}:e)},cancelComment(e){e.set(e=>({...e,draftComment:null}))},saveComment(e){let t=e.state.draftComment;!t||!dj(t.body)||e.set(e=>({...e,comments:[...e.comments,{...t,body:dj(t.body)}],draftComment:null}))},removeComment(e,t){let n=typeof t==`number`?t:Number(t);!Number.isFinite(n)||n<0||e.set(e=>({...e,comments:e.comments.filter((e,t)=>t!==n)}))},async exportComments(e){if(!e.state.review)return;let t={config:e.state.config,comments:e.state.comments,sources:e.state.sources};e.signal.setStatus(`Exporting review…`);let n=await e.execute(yj,t);if(!n.ok){e.signal.setBanner(n.error.display.explanation||n.error.display.headline,n.error.display.level),e.signal.setStatus(null);return}e.set(e=>({...e,lastExportPath:n.data.path})),e.signal.setStatus(`Review copied: ${n.data.path}`)},copyRaw(e){e.signal.setStatus(`Use Copy raw in the web view; the TUI is read-only.`)}}},Dj=2e5,Oj={protocol:`border-cyan-200 bg-cyan-50 text-cyan-800`,persona:`border-amber-200 bg-amber-50 text-amber-800`,generated:`border-violet-200 bg-violet-50 text-violet-800`,substrate:`border-lime-200 bg-lime-50 text-lime-800`},kj={builtin:`border-slate-200 bg-slate-50 text-slate-700`,project:`border-emerald-200 bg-emerald-50 text-emerald-800`,user:`border-amber-200 bg-amber-50 text-amber-800`,generated:`border-violet-200 bg-violet-50 text-violet-800`,runtime:`border-lime-200 bg-lime-50 text-lime-800`},Aj={added:`border-emerald-200 bg-emerald-50 text-emerald-800`,removed:`border-rose-200 bg-rose-50 text-rose-800`,changed:`border-amber-200 bg-amber-50 text-amber-800`};function jj(e){return kj[e]||`border-slate-200 bg-slate-50 text-slate-700`}function Mj(e){return Oj[e]||`border-slate-200 bg-slate-50 text-slate-700`}function Nj(e){return new Intl.NumberFormat(`en-US`).format(Math.max(0,Math.floor(e||0)))}async function Pj(e){if(!e)return!1;try{return await navigator.clipboard.writeText(e),!0}catch{return!1}}function Fj({label:e,value:t,cls:n}){return(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-[11px] ${n}`,children:[(0,z.jsx)(`span`,{className:`opacity-60`,children:e}),(0,z.jsx)(`span`,{className:`font-semibold`,children:t})]})}function Ij(e){return(0,z.jsx)(`button`,{type:`button`,title:e.title,onClick:e.onClick,className:`rounded-lg border px-3 py-1.5 text-left text-sm transition ${e.active?`border-slate-900 bg-slate-900 text-white`:`border-slate-200 bg-white text-slate-700 hover:bg-slate-50`} ${e.className||``}`,children:e.children})}function Lj({state:e,dispatch:t}){let n=e.list?.kinds||[{kind:e.config.kind,whenToUse:``}],r=e.list?.modes||[`base`,`orchestrator`],i=e.list?.lifecycles||[`terminal`,`resident`],a=e.list?.subPersonas?.[e.config.kind]||[],o=e.config.node?e.liveNodes.find(t=>t.node_id===e.config.node)?.name||e.config.node:`none`;return(0,z.jsxs)(`section`,{className:`flex min-h-0 flex-col overflow-hidden rounded-2xl border border-slate-200 bg-white shadow-sm`,children:[(0,z.jsxs)(`div`,{className:`border-b border-slate-200 px-4 py-3`,children:[(0,z.jsx)(`div`,{className:`text-xs font-semibold uppercase tracking-[0.2em] text-slate-400`,children:`Config`}),(0,z.jsx)(`div`,{className:`mt-1 text-sm text-slate-600`,children:cj(e.config)})]}),(0,z.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-y-auto p-4`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`mb-2 text-xs font-semibold uppercase tracking-[0.18em] text-slate-400`,children:`Kind`}),(0,z.jsx)(`select`,{className:`w-full rounded-lg border border-slate-200 bg-white px-3 py-2 text-sm outline-none focus:border-slate-400`,value:e.config.kind,onChange:e=>t(`setKind`,e.target.value),children:n.map(e=>(0,z.jsx)(`option`,{value:e.kind,children:e.kind},e.kind))}),a.length?(0,z.jsxs)(`div`,{className:`mt-2 text-xs text-slate-500`,children:[`Sub-personas: `,a.map(e=>e.kind).join(`, `)]}):(0,z.jsx)(`div`,{className:`mt-2 text-xs text-slate-400`,children:`No sub-personas listed.`})]}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`mb-2 text-xs font-semibold uppercase tracking-[0.18em] text-slate-400`,children:`Mode`}),(0,z.jsx)(`div`,{className:`grid grid-cols-2 gap-2`,children:r.map(n=>(0,z.jsx)(Ij,{label:n,active:e.config.mode===n,onClick:()=>t(`setMode`,n),children:(0,z.jsx)(`span`,{className:`capitalize`,children:n})},n))})]}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`mb-2 text-xs font-semibold uppercase tracking-[0.18em] text-slate-400`,children:`Lifecycle`}),(0,z.jsx)(`div`,{className:`grid grid-cols-2 gap-2`,children:i.map(n=>(0,z.jsx)(Ij,{label:n,active:e.config.lifecycle===n,onClick:()=>t(`setLifecycle`,n),children:(0,z.jsx)(`span`,{className:`capitalize`,children:n})},n))})]}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`mb-2 text-xs font-semibold uppercase tracking-[0.18em] text-slate-400`,children:`Has manager`}),(0,z.jsxs)(`button`,{type:`button`,onClick:()=>t(`toggleHasManager`),className:`flex w-full items-center justify-between rounded-lg border px-3 py-2 text-sm ${e.config.hasManager?`border-cyan-200 bg-cyan-50 text-cyan-800`:`border-slate-200 bg-slate-50 text-slate-700`}`,children:[(0,z.jsx)(`span`,{children:e.config.hasManager?`yes`:`no`}),(0,z.jsx)(`span`,{className:`text-xs opacity-60`,children:`re-fetches prompt`})]})]}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`mb-2 text-xs font-semibold uppercase tracking-[0.18em] text-slate-400`,children:`Node`}),(0,z.jsxs)(`select`,{className:`w-full rounded-lg border border-slate-200 bg-white px-3 py-2 text-sm outline-none focus:border-slate-400`,value:e.config.node||``,onChange:e=>t(`setNode`,e.target.value||null),children:[(0,z.jsx)(`option`,{value:``,children:`none`}),e.liveNodes.map(e=>(0,z.jsxs)(`option`,{value:e.node_id,children:[e.name,` · `,e.kind,` · `,e.status]},e.node_id))]}),(0,z.jsx)(`div`,{className:`mt-2 text-xs text-slate-500`,children:o})]}),(0,z.jsxs)(`div`,{className:`rounded-xl border border-slate-200 bg-slate-50 p-3`,children:[(0,z.jsx)(`div`,{className:`text-xs font-semibold uppercase tracking-[0.18em] text-slate-400`,children:`Sub-personas`}),a.length?(0,z.jsx)(`div`,{className:`mt-2 space-y-2`,children:a.map(e=>(0,z.jsxs)(`div`,{className:`rounded-lg border border-slate-200 bg-white px-3 py-2`,children:[(0,z.jsx)(`div`,{className:`font-medium text-slate-900`,children:e.kind}),(0,z.jsx)(`div`,{className:`text-xs text-slate-500`,children:e.whenToUse})]},e.kind))}):(0,z.jsx)(`div`,{className:`mt-2 text-xs text-slate-500`,children:`No sub-persona entries for this kind.`})]})]})]})}function Rj({layer:e,state:t,selected:n,dispatch:r}){let i=!!t.expanded[e.id],a=e.included,o=a?`opacity-100`:`opacity-55`,s=!a&&e.condition?`✕ ${e.condition}`:null,c=e.sourcePath||e.source;return(0,z.jsxs)(`div`,{className:`rounded-xl border ${n?`border-slate-900 ring-1 ring-slate-900/10`:`border-slate-200`} bg-white ${o}`,children:[(0,z.jsxs)(`button`,{type:`button`,onClick:()=>{r(`selectLayer`,e.id),r(`toggleLayerExpanded`,e.id)},className:`flex w-full items-start gap-3 px-3 py-3 text-left`,children:[(0,z.jsx)(`div`,{className:`mt-0.5 text-slate-400`,children:i?`▾`:`▸`}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(`div`,{className:`truncate font-semibold text-slate-900`,children:e.label}),(0,z.jsx)(`span`,{className:`rounded-full border px-2 py-0.5 text-[11px] ${Mj(e.group)}`,children:e.group}),(0,z.jsx)(`span`,{className:`rounded-full border px-2 py-0.5 text-[11px] ${jj(e.scope)}`,children:e.scope}),(0,z.jsxs)(`span`,{className:`rounded-full border border-slate-200 bg-slate-50 px-2 py-0.5 text-[11px] text-slate-700`,children:[`≈`,Nj(e.tokens),` tok`]}),a?null:(0,z.jsx)(`span`,{className:`rounded-full border border-rose-200 bg-rose-50 px-2 py-0.5 text-[11px] text-rose-700`,children:`excluded`})]}),(0,z.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-2 text-xs text-slate-500`,children:[(0,z.jsx)(`span`,{className:`truncate`,children:e.source}),s?(0,z.jsx)(`span`,{className:`rounded-full border border-rose-200 bg-rose-50 px-2 py-0.5 text-rose-700`,children:s}):null]})]})]}),i?(0,z.jsxs)(`div`,{className:`border-t border-slate-200 px-3 py-3`,children:[(0,z.jsx)(`pre`,{className:`max-h-72 overflow-auto whitespace-pre-wrap break-words rounded-lg bg-slate-950 px-3 py-2 font-mono text-[12px] leading-5 text-slate-100`,children:e.text}),(0,z.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-2 text-xs text-slate-500`,children:[(0,z.jsx)(`span`,{children:a?`included`:`excluded`}),(0,z.jsx)(`span`,{children:`·`}),(0,z.jsxs)(`span`,{children:[Nj(e.chars),` chars`]}),(0,z.jsx)(`span`,{children:`·`}),(0,z.jsx)(`span`,{children:c})]})]}):null]})}function zj({state:e,dispatch:t}){let n=e.review||[],r=xj(e)||n[0]||null,i=e.assembled||``,a=Math.min(100,e.totalTokens/Dj*100);return(0,z.jsxs)(`section`,{className:`flex min-h-0 flex-col overflow-hidden rounded-2xl border border-slate-200 bg-white shadow-sm`,children:[(0,z.jsxs)(`div`,{className:`border-b border-slate-200 px-4 py-3`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(`div`,{className:`text-xs font-semibold uppercase tracking-[0.2em] text-slate-400`,children:`Assembled`}),(0,z.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,z.jsx)(Ij,{label:`layered`,active:e.viewMode===`layered`,onClick:()=>t(`setViewMode`,`layered`),className:`px-2 py-1 text-xs`,children:(0,z.jsx)(`span`,{children:`Layered`})}),(0,z.jsx)(Ij,{label:`raw`,active:e.viewMode===`raw`,onClick:()=>t(`setViewMode`,`raw`),className:`px-2 py-1 text-xs`,children:(0,z.jsx)(`span`,{children:`Raw`})})]})]}),(0,z.jsx)(`div`,{className:`mt-1 text-sm text-slate-600`,children:cj(e.config)})]}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-4`,children:e.viewMode===`raw`?(0,z.jsx)(`pre`,{className:`select-text whitespace-pre-wrap break-words rounded-xl border border-slate-200 bg-slate-950 p-4 font-mono text-[12px] leading-5 text-slate-100`,onMouseUp:e=>{t(`captureRawSelection`,window.getSelection?.()?.toString()||``)},children:i}):(0,z.jsx)(`div`,{className:`space-y-3`,children:n.map(n=>(0,z.jsx)(Rj,{layer:n,state:e,selected:r?.id===n.id,dispatch:t},n.id))})}),(0,z.jsxs)(`div`,{className:`border-t border-slate-200 p-4`,children:[(0,z.jsxs)(`div`,{className:`flex items-center justify-between text-xs text-slate-500`,children:[(0,z.jsxs)(`div`,{children:[`≈`,Nj(e.totalTokens),` tokens · `,Nj(e.totalChars),` chars`]}),(0,z.jsxs)(`div`,{children:[Math.round(a),`% of `,Nj(Dj),` budget`]})]}),(0,z.jsx)(`div`,{className:`mt-2 h-2 overflow-hidden rounded-full bg-slate-100`,children:(0,z.jsx)(`div`,{className:`h-full rounded-full ${a>90?`bg-rose-500`:a>75?`bg-amber-500`:`bg-cyan-500`}`,style:{width:`${Math.min(100,a)}%`}})})]})]})}function Bj({state:e,dispatch:t}){let n=e.draftComment;return n?(0,z.jsxs)(`div`,{className:`rounded-xl border border-slate-200 bg-slate-50 p-3`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-slate-500`,children:[(0,z.jsx)(`span`,{className:`font-semibold text-slate-700`,children:`Commenting on`}),(0,z.jsx)(`span`,{className:`rounded-full border border-slate-200 bg-white px-2 py-0.5 text-slate-700`,children:n.label}),(0,z.jsx)(`span`,{className:`rounded-full border px-2 py-0.5 ${jj(n.scope)}`,children:n.scope})]}),n.anchor?(0,z.jsxs)(`div`,{className:`mt-2 rounded-lg border border-slate-200 bg-white p-2 text-xs text-slate-600`,children:[(0,z.jsx)(`div`,{className:`mb-1 font-semibold text-slate-500`,children:`Anchor`}),(0,z.jsx)(`pre`,{className:`whitespace-pre-wrap break-words font-mono text-[11px] leading-5`,children:n.anchor})]}):null,(0,z.jsx)(`textarea`,{autoFocus:!0,value:n.body,onChange:e=>t(`setCommentBody`,e.target.value),rows:4,placeholder:`Write the review comment here…`,className:`mt-2 w-full rounded-lg border border-slate-200 bg-white p-3 font-mono text-sm outline-none focus:border-slate-400`}),(0,z.jsxs)(`div`,{className:`mt-2 flex gap-2`,children:[(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`saveComment`),className:`rounded-lg bg-slate-900 px-3 py-1.5 text-sm text-white hover:bg-slate-800`,children:`Save comment`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`cancelComment`),className:`rounded-lg border border-slate-200 bg-white px-3 py-1.5 text-sm text-slate-700 hover:bg-slate-50`,children:`Cancel`})]})]}):null}function Vj({comment:e,index:t,onDelete:n}){return(0,z.jsxs)(`div`,{className:`rounded-xl border border-slate-200 bg-white p-3`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-slate-500`,children:[(0,z.jsx)(`span`,{className:`font-semibold text-slate-900`,children:e.label}),(0,z.jsx)(`span`,{className:`rounded-full border px-2 py-0.5 ${jj(e.scope)}`,children:e.scope}),(0,z.jsxs)(`span`,{className:`ml-auto text-slate-400`,children:[`#`,t+1]})]}),e.anchor?(0,z.jsx)(`pre`,{className:`mt-2 whitespace-pre-wrap break-words rounded-lg bg-slate-50 p-2 font-mono text-[11px] leading-5 text-slate-600`,children:e.anchor}):null,(0,z.jsx)(`div`,{className:`mt-2 whitespace-pre-wrap text-sm text-slate-800`,children:e.body}),(0,z.jsxs)(`div`,{className:`mt-2 flex items-center gap-2 text-xs text-slate-500`,children:[e.sourcePath?(0,z.jsx)(`span`,{className:`truncate`,children:e.sourcePath}):(0,z.jsx)(`span`,{className:`text-slate-400`,children:`generated layer`}),(0,z.jsx)(`button`,{type:`button`,onClick:n,className:`ml-auto rounded-full border border-slate-200 px-2 py-0.5 hover:bg-slate-50`,children:`Remove`})]})]})}function Hj({state:e,dispatch:t}){let n=xj(e)||e.review?.[0]||null,r=Sj(e)||e.compareReview?.[0]||null,i=(0,S.useMemo)(()=>hj(e.review||[],e.compareReview||[]),[e.review,e.compareReview]),a=e.compareConfig||e.config;return(0,z.jsxs)(`section`,{className:`flex min-h-0 flex-col overflow-hidden rounded-2xl border border-slate-200 bg-white shadow-sm`,children:[(0,z.jsxs)(`div`,{className:`border-b border-slate-200 px-4 py-3`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(`div`,{className:`text-xs font-semibold uppercase tracking-[0.2em] text-slate-400`,children:`Inspector`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`beginComment`),disabled:!n,className:`ml-auto rounded-full border border-slate-200 bg-white px-3 py-1 text-xs text-slate-700 hover:bg-slate-50 disabled:cursor-not-allowed disabled:opacity-40`,children:`Add comment`})]}),(0,z.jsx)(`div`,{className:`mt-1 text-sm text-slate-600`,children:n?n.label:`No layer selected`})]}),(0,z.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-y-auto p-4`,children:[n?(0,z.jsxs)(`div`,{className:`rounded-xl border border-slate-200 bg-slate-50 p-3`,children:[(0,z.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`div`,{className:`font-semibold text-slate-900`,children:n.label}),(0,z.jsx)(`div`,{className:`mt-1 text-xs text-slate-500`,children:n.source})]}),(0,z.jsx)(`span`,{className:`rounded-full border px-2 py-0.5 text-[11px] ${Mj(n.group)}`,children:n.group})]}),(0,z.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2 text-[11px]`,children:[(0,z.jsx)(Fj,{label:`scope`,value:n.scope,cls:jj(n.scope)}),(0,z.jsx)(Fj,{label:`status`,value:n.included?`included`:`excluded`,cls:n.included?`border-emerald-200 bg-emerald-50 text-emerald-800`:`border-rose-200 bg-rose-50 text-rose-800`}),(0,z.jsx)(Fj,{label:`tokens`,value:`≈${Nj(n.tokens)}`,cls:`border-slate-200 bg-white text-slate-700`}),(0,z.jsx)(Fj,{label:`chars`,value:Nj(n.chars),cls:`border-slate-200 bg-white text-slate-700`})]}),n.condition?(0,z.jsxs)(`div`,{className:`mt-2 rounded-lg border border-rose-200 bg-rose-50 px-3 py-2 text-xs text-rose-700`,children:[`Condition: `,n.condition]}):null,(0,z.jsxs)(`div`,{className:`mt-2 flex items-center gap-2 text-xs text-slate-500`,children:[(0,z.jsx)(`div`,{className:`min-w-0 flex-1 truncate font-mono`,children:n.sourcePath||`no source path (generated or runtime-spliced)`}),n.sourcePath?(0,z.jsx)(`button`,{type:`button`,onClick:async()=>{let e=await Pj(n.sourcePath||``);tm(e?`Source path copied`:`Could not copy source path`,e?`success`:`info`)},className:`rounded-full border border-slate-200 px-2 py-0.5 hover:bg-white`,children:`Copy path`}):null]}),(0,z.jsx)(`pre`,{className:`mt-3 max-h-44 overflow-auto whitespace-pre-wrap break-words rounded-lg bg-slate-950 px-3 py-2 font-mono text-[12px] leading-5 text-slate-100`,children:n.text})]}):(0,z.jsx)(tE,{label:`No layer selected.`}),(0,z.jsxs)(`div`,{className:`rounded-xl border border-slate-200 bg-slate-50 p-3`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(`div`,{className:`text-xs font-semibold uppercase tracking-[0.18em] text-slate-400`,children:`Compare`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`toggleCompareOpen`),className:`ml-auto rounded-full border border-slate-200 bg-white px-3 py-1 text-xs text-slate-700 hover:bg-slate-50`,children:e.compareOpen?`Hide`:`Show`})]}),e.compareOpen?(0,z.jsxs)(`div`,{className:`mt-3 space-y-3`,children:[(0,z.jsxs)(`div`,{className:`grid grid-cols-1 gap-2 lg:grid-cols-2`,children:[(0,z.jsx)(`select`,{className:`w-full rounded-lg border border-slate-200 bg-white px-3 py-2 text-sm outline-none focus:border-slate-400`,value:a.kind,onChange:e=>t(`setCompareKind`,e.target.value),children:(e.list?.kinds||[{kind:a.kind}]).map(e=>(0,z.jsx)(`option`,{value:e.kind,children:e.kind},e.kind))}),(0,z.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`setCompareMode`,`base`),className:`rounded-lg border px-2 py-1 text-sm ${a.mode===`base`?`border-slate-900 bg-slate-900 text-white`:`border-slate-200 bg-white text-slate-700`}`,children:`base`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`setCompareMode`,`orchestrator`),className:`rounded-lg border px-2 py-1 text-sm ${a.mode===`orchestrator`?`border-slate-900 bg-slate-900 text-white`:`border-slate-200 bg-white text-slate-700`}`,children:`orchestrator`})]})]}),(0,z.jsxs)(`div`,{className:`grid grid-cols-1 gap-2 lg:grid-cols-2`,children:[(0,z.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`setCompareLifecycle`,`terminal`),className:`rounded-lg border px-2 py-1 text-sm ${a.lifecycle===`terminal`?`border-slate-900 bg-slate-900 text-white`:`border-slate-200 bg-white text-slate-700`}`,children:`terminal`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`setCompareLifecycle`,`resident`),className:`rounded-lg border px-2 py-1 text-sm ${a.lifecycle===`resident`?`border-slate-900 bg-slate-900 text-white`:`border-slate-200 bg-white text-slate-700`}`,children:`resident`})]}),(0,z.jsxs)(`button`,{type:`button`,onClick:()=>t(`toggleCompareHasManager`),className:`flex items-center justify-between rounded-lg border px-3 py-2 text-sm ${a.hasManager?`border-cyan-200 bg-cyan-50 text-cyan-800`:`border-slate-200 bg-white text-slate-700`}`,children:[(0,z.jsxs)(`span`,{children:[`manager `,a.hasManager?`yes`:`no`]}),(0,z.jsx)(`span`,{className:`text-xs opacity-60`,children:`compare`})]})]}),(0,z.jsxs)(`select`,{className:`w-full rounded-lg border border-slate-200 bg-white px-3 py-2 text-sm outline-none focus:border-slate-400`,value:a.node||``,onChange:e=>t(`setCompareNode`,e.target.value||null),children:[(0,z.jsx)(`option`,{value:``,children:`no node`}),e.liveNodes.map(e=>(0,z.jsxs)(`option`,{value:e.node_id,children:[e.name,` · `,e.kind,` · `,e.status]},e.node_id))]}),e.compareReview?(0,z.jsxs)(`div`,{className:`rounded-xl border border-slate-200 bg-white p-3`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-slate-500`,children:[(0,z.jsx)(`span`,{className:`font-semibold text-slate-900`,children:`Compared selection`}),(0,z.jsx)(`span`,{className:`rounded-full border border-slate-200 bg-slate-50 px-2 py-0.5`,children:r?.label||`none`})]}),r?(0,z.jsx)(`pre`,{className:`mt-2 max-h-40 overflow-auto whitespace-pre-wrap break-words rounded-lg bg-slate-950 px-3 py-2 font-mono text-[12px] leading-5 text-slate-100`,children:r.text}):null]}):(0,z.jsx)(`div`,{className:`text-xs text-slate-500`,children:`Pick a second config to render the diff.`}),(0,z.jsx)(`div`,{className:`space-y-2`,children:i.length?i.map(e=>(0,z.jsxs)(`button`,{type:`button`,onClick:()=>t(`selectCompareLayer`,e.id),className:`w-full rounded-xl border px-3 py-3 text-left ${Aj[e.kind]||`border-slate-200 bg-white text-slate-700`}`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-xs`,children:[(0,z.jsx)(`span`,{className:`rounded-full border border-current/20 bg-white/70 px-2 py-0.5 font-semibold uppercase`,children:e.kind}),(0,z.jsx)(`span`,{className:`font-semibold text-slate-900`,children:e.label})]}),(0,z.jsx)(`div`,{className:`mt-1 whitespace-pre-wrap font-mono text-[11px] leading-5`,children:e.diffText||e.summary})]},e.id)):(0,z.jsx)(`div`,{className:`text-xs text-slate-500`,children:`No differences for the current pair.`})})]}):(0,z.jsx)(`div`,{className:`mt-2 text-xs text-slate-500`,children:`Compare panel hidden.`})]}),e.draftComment?(0,z.jsx)(Bj,{state:e,dispatch:t}):null,(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`div`,{className:`text-xs font-semibold uppercase tracking-[0.18em] text-slate-400`,children:`Comments`}),e.comments.length?e.comments.map((e,n)=>(0,z.jsx)(Vj,{comment:e,index:n,onDelete:()=>t(`removeComment`,n)},`${e.layerId}-${n}`)):(0,z.jsx)(`div`,{className:`rounded-xl border border-dashed border-slate-200 bg-slate-50 p-4 text-sm text-slate-500`,children:`No comments yet.`})]})]})]})}function Uj({state:e,dispatch:t}){return(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 border-t border-slate-200 bg-white px-4 py-3 text-sm text-slate-600`,children:[(0,z.jsx)(`button`,{type:`button`,onClick:async()=>{let t=await Pj(e.assembled||``);tm(t?`Copied assembled prompt`:`Could not copy assembled prompt`,t?`success`:`info`)},className:`rounded-full border border-slate-200 bg-slate-50 px-3 py-1.5 hover:bg-slate-100`,disabled:!e.assembled,children:`Copy raw`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`toggleCompareOpen`),className:`rounded-full border border-slate-200 bg-slate-50 px-3 py-1.5 hover:bg-slate-100`,children:`Compare configs`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(`exportComments`),className:`rounded-full border border-slate-900 bg-slate-900 px-3 py-1.5 text-white hover:bg-slate-800`,disabled:!e.review,children:`Export comments`}),(0,z.jsx)(`div`,{className:`ml-auto text-xs text-slate-500`,children:e.lastExportPath?(0,z.jsx)(`span`,{className:`font-mono`,children:e.lastExportPath}):(0,z.jsx)(`span`,{children:`Export writes a markdown file and copies its path.`})})]})}function Wj({state:e,dispatch:t}){let n=(0,S.useRef)(``);if((0,S.useEffect)(()=>{!e.lastExportPath||e.lastExportPath===n.current||(n.current=e.lastExportPath,(async()=>{let t=await Pj(e.lastExportPath||``);tm(t?`Review copied: ${e.lastExportPath}`:`Export written: ${e.lastExportPath}`,t?`success`:`info`)})())},[e.lastExportPath]),e.sourceError&&!e.review){let n=e.sourceError.display;return(0,z.jsx)(n.level===`error`?nE:rE,{headline:n.headline,explanation:n.explanation,nextStep:n.nextStep||void 0,onRetry:()=>t(`refresh`)})}return e.review?e.review.length===0?(0,z.jsx)(tE,{label:`No prompt layers were returned.`}):(0,z.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col bg-slate-50 text-slate-900`,children:[e.auxiliaryError?(0,z.jsx)(`div`,{className:`border-b border-amber-200 bg-amber-50 px-4 py-2 text-xs text-amber-800`,children:e.auxiliaryError.display.explanation||e.auxiliaryError.display.headline}):null,(0,z.jsxs)(`div`,{className:`grid min-h-0 flex-1 grid-cols-1 gap-3 p-4 lg:grid-cols-[18rem_minmax(0,1fr)_24rem]`,children:[(0,z.jsx)(Lj,{state:e,dispatch:t}),(0,z.jsx)(zj,{state:e,dispatch:t}),(0,z.jsx)(Hj,{state:e,dispatch:t})]}),(0,z.jsx)(Uj,{state:e,dispatch:t})]}):(0,z.jsx)(eE,{label:`Loading Prompt Studio…`})}var Gj=new Set([`active`,`idle`]);function Kj(e){return{ok:!0,data:e}}function qj(e){return{ok:!1,error:e}}function Jj(e){let t=String(e||``).split(/\r?\n/).map(e=>e.trim()).filter(Boolean);return t.length?t[0]:``}function Yj(e){return e==null?``:String(e)}function Xj(e,t){return`${e} ${t}${e===1?``:`s`}`}function Zj(e){let t=e||{};return{nodeId:Yj(t.node_id),name:Yj(t.name)||`(unnamed)`,kind:Yj(t.kind)||`?`,mode:Yj(t.mode)||`?`,lifecycle:Yj(t.lifecycle)||`?`,status:Yj(t.status)||`?`,cwd:Yj(t.cwd),parent:t.parent?Yj(t.parent):null,created:Yj(t.created)}}var Qj={kind:`crtr-missing`,display:{headline:`crtr unavailable`,explanation:`The crtr binary was not found on PATH.`,nextStep:`Install crtr (or set it on PATH), then press g.`,level:`error`,blocking:!0}};function $j(e){return{kind:`crtr-failed`,display:{headline:`Canvas unavailable`,explanation:e||`crtr could not read the graph.`,nextStep:`Press g to retry.`,level:`error`,blocking:!1}}}var eM={id:`nodes`,request:()=>({kind:`exec`,bin:`crtr`,args:[`node`,`inspect`,`list`,`--json`]}),parse:e=>{if(!e.ok)return qj(Qj);if(e.exitCode!==0)return qj($j(Jj(e.stderr||e.stdout)));let t=String(e.stdout||``).trim(),n;try{n=t===``?{}:JSON.parse(t)}catch{return qj($j("could not parse `crtr node inspect list` output as JSON"))}return Kj((n&&Array.isArray(n.nodes)?n.nodes:[]).map(Zj))}},tM={id:`attention`,request:({viewRoot:e,nodeIds:t})=>{let n=[`canvas`,`attention`,`map`,`--json`];e&&n.push(`--view`,e);let r=(t||[]).filter(Boolean);return r.length&&n.push(`--nodes`,r.join(`,`)),{kind:`exec`,bin:`crtr`,args:n}},parse:e=>{if(!e.ok||e.exitCode!==0)return Kj({});let t;try{t=JSON.parse(String(e.stdout||``).trim()||`{}`)}catch{return Kj({})}let n=t&&t.counts&&typeof t.counts==`object`?t.counts:{},r={};for(let[e,t]of Object.entries(n))r[e]=typeof t==`number`?t:0;return Kj(r)}},nM={id:`cwd`,request:()=>({kind:`exec`,bin:`pwd`,args:[]}),parse:e=>Kj(e.ok&&e.exitCode===0?String(e.stdout||``).trim():``)},rM={id:`tmux-panes`,request:()=>({kind:`exec`,bin:`tmux`,args:[`list-panes`,`-F`,`#{pane_id} #{@crtr_node}`]}),parse:e=>{if(!e.ok||e.exitCode!==0)return Kj([]);let t=[];for(let n of String(e.stdout||``).split(/\r?\n/)){if(!n)continue;let e=n.indexOf(` `),r=(e<0?n:n.slice(0,e)).trim(),i=e<0?``:n.slice(e+1).trim();r&&t.push({pane:r,node:i})}return Kj(t)}},iM={id:`focus`,request:({nodeId:e,pane:t})=>({kind:`exec`,bin:`crtr`,args:[`node`,`focus`,e,`--pane`,t]}),parse:e=>Kj(e.ok&&e.exitCode===0)};function aM(e,t){return e.created<t.created?-1:+(e.created>t.created)}function oM(e){let t=new Map;for(let n of e)t.set(n.nodeId,n);let n=new Map,r=[];for(let i of e)if(i.parent&&t.has(i.parent)){let e=n.get(i.parent);e?e.push(i):n.set(i.parent,[i])}else r.push(i);for(let e of n.values())e.sort(aM);return r.sort(aM),{byId:t,children:n,roots:r}}function sM(e,t){let n=new Set,r=e;for(;;){if(n.has(r))return r;n.add(r);let e=t.get(r);if(!e||!e.parent||!t.has(e.parent))return r;r=e.parent}}function cM(e,t,n,r=new Set){if(r.has(e))return!1;r.add(e);let i=n.get(e),a=!!i&&Gj.has(i.status);if(!a){for(let i of t.get(e)||[])if(cM(i.nodeId,t,n,r)){a=!0;break}}return r.delete(e),a}function lM(e,t,n,r){return{kind:`node`,nodeId:e.nodeId,name:e.name,status:e.status,prefix:t,attached:n,asks:r}}function uM(e){return{kind:`header`,text:e}}function dM(e){return{kind:`chrome`,text:e||``}}function fM(e,t){let{byId:n,children:r,roots:i}=oM(e),a=null;if(t&&n.has(t))a=sM(t,n);else{let e=i.filter(e=>cM(e.nodeId,r,n)),t=e.length?e:i;t.length&&(a=t[t.length-1].nodeId)}return{byId:n,children:r,roots:i,currentRoot:a,liveRoots:i.filter(e=>cM(e.nodeId,r,n))}}function pM(e){let t=[];for(let n=0;n<e.length;n++)e[n].kind===`node`&&t.push(n);return t}function mM(e,t,n){let r=pM(e);if(r.length===0)return 0;let i=t||n,a=i?e.findIndex(e=>e.kind===`node`&&e.nodeId===i):-1;return a>=0?a:r[0]}function hM(e,t){let n=pM(e.rows);if(n.length===0)return e;let r=n.indexOf(e.cursor);if(r<0)return{...e,cursor:n[0]};let i=Math.max(0,Math.min(n.length-1,r+t));return{...e,cursor:n[i]}}var gM={manifest:{id:`workspace-sidebar`,title:`Workspace`,description:"Left rail for `crtr workspace` — this graph + other agents in this cwd",refreshMs:2500},init(e){return{cwd:typeof process<`u`&&process.cwd?process.cwd():``,targetOverride:String(e&&e.target||``),chatPane:``,attachedNode:null,currentRoot:null,rows:[],cursor:0,scroll:0,graphsHere:0,nodesHere:0,asksHere:0,lastFetch:0,srcError:null}},sources:{cwdSource:nM,nodesSource:eM,attentionSource:tM,panesSource:rM},commands:{focusCommand:iM},intents:{async refresh(e){e.signal.setStatus(`Loading…`);let t=await e.resolve(rM),n=``,r=null;if(t.ok){let e=t.data.find(e=>e.node);e&&(n=e.pane,r=e.node)}!n&&e.state.targetOverride&&(n=e.state.targetOverride);let i=await e.resolve(nM),a=i.ok&&i.data?i.data:e.state.cwd,o=await e.resolve(eM);if(!o.ok){let t=o.error,i=e.state.rows.length>0,s=!t.display.blocking&&i;e.set(e=>{let i={...e,cwd:a,chatPane:n,attachedNode:r,srcError:t};return s||(i.rows=[],i.currentRoot=null,i.graphsHere=0,i.nodesHere=0,i.asksHere=0),i}),s?e.signal.setBanner(t.display.explanation,t.display.level):e.signal.clearBanner(),e.signal.setStatus(null),e.signal.setSubtitle(null);return}let s=o.data.filter(e=>e.cwd===a),{byId:c,children:l,roots:u,currentRoot:d,liveRoots:f}=fM(s,r),p=u.map(e=>e.nodeId),m={};if(d||p.length){let t=await e.resolve(tM,{viewRoot:d,nodeIds:p});t.ok&&(m=t.data)}let h=0;for(let e of Object.values(m))h+=e;let g=u.filter(e=>e.nodeId!==d&&(cM(e.nodeId,l,c)||(m[e.nodeId]||0)>0));g.sort((e,t)=>{let n=+!!cM(e.nodeId,l,c),r=+!!cM(t.nodeId,l,c);return n===r?e.created<t.created?1:-1:r-n});let _=[];if(_.push(uM(`⌗ this graph`)),d&&c.has(d)){let e=new Set,t=(n,i,a,o)=>{if(e.has(n.nodeId))return;e.add(n.nodeId);let s=o?``:i+(a?`└─ `:`├─ `);_.push(lM(n,s,n.nodeId===r,m[n.nodeId]||0));let c=l.get(n.nodeId)||[],u=o?``:i+(a?` `:`│ `);for(let e=0;e<c.length;e++)t(c[e],u,e===c.length-1,!1)};t(c.get(d),``,!0,!0)}else _.push(dM(` no agent here yet`));if(_.push(dM(``)),_.push(uM(`↪ elsewhere${g.length?` · ${g.length}`:``}`)),g.length)for(let e of g)_.push(lM(e,``,!1,m[e.nodeId]||0));else _.push(dM(` —`));let v=e.state.rows[e.state.cursor],y=mM(_,v&&v.kind===`node`?v.nodeId:null,r);e.set(e=>({...e,cwd:a,chatPane:n,attachedNode:r,currentRoot:d,rows:_,cursor:y,graphsHere:f.length,nodesHere:s.length,asksHere:h,lastFetch:Date.now(),srcError:null})),e.signal.setSubtitle(f.length>0?`${Xj(f.length,`live graph`)}`:null),h>0?e.signal.setBanner(`${Xj(h,`ask`)} waiting on a human — see the ⚑ rows`,`action`):e.signal.clearBanner(),e.signal.setStatus(null)},cursorDown:e=>e.set(e=>hM(e,1)),cursorUp:e=>e.set(e=>hM(e,-1)),select:(e,t)=>e.set(e=>typeof t==`number`&&pM(e.rows).includes(t)?{...e,cursor:t}:e),async open(e){let t=e.state,n=t.rows[t.cursor];if(!(!n||n.kind!==`node`)){if(!t.chatPane){e.signal.setBanner("No chat pane wired — run this rail via `crtr workspace`.",`error`);return}await e.execute(iM,{nodeId:n.nodeId,pane:t.chatPane}),e.signal.setStatus(`→ ${n.name}`)}},quit:e=>e.signal.quit()}},_M={active:{glyph:`●`,cls:`text-green-600`},idle:{glyph:`○`,cls:`text-amber-600`},done:{glyph:`✓`,cls:`text-cyan-600`},dead:{glyph:`✗`,cls:`text-red-600`},canceled:{glyph:`⊘`,cls:`text-slate-400`}};function vM(e,t){return t?`font-bold text-cyan-700`:e===`active`?`font-semibold`:e===`done`||e===`dead`||e===`canceled`?`text-slate-400`:``}function yM({row:e,selected:t,onClick:n}){if(e.kind===`header`)return(0,z.jsx)(`li`,{className:`px-2 pt-3 pb-0.5 font-semibold text-cyan-700`,children:e.text});if(e.kind===`chrome`)return(0,z.jsx)(`li`,{className:`px-2 text-slate-400`,children:e.text||`\xA0`});let r=_M[e.status]||{glyph:`?`,cls:`text-slate-400`};return(0,z.jsxs)(`li`,{className:`flex items-baseline gap-1 rounded px-2 py-0.5 cursor-pointer ${t?`bg-slate-200`:`hover:bg-slate-100`}`,onClick:n,children:[(0,z.jsx)(`span`,{className:`w-3 shrink-0 ${e.attached?`font-bold text-cyan-700`:``}`,children:e.attached?`▸`:`\xA0`}),e.prefix?(0,z.jsx)(`span`,{className:`whitespace-pre text-slate-400`,children:e.prefix}):null,(0,z.jsx)(`span`,{className:r.cls,children:r.glyph}),(0,z.jsx)(`span`,{className:vM(e.status,e.attached),children:e.name}),e.asks>0?(0,z.jsxs)(`span`,{className:`ml-auto shrink-0 font-bold text-amber-500`,children:[`⚑`,e.asks]}):null]})}function bM({state:e,dispatch:t}){if(e.rows.length===0){if(e.srcError){let n=e.srcError.display;return(0,z.jsx)(n.level===`error`?nE:rE,{headline:n.headline,explanation:n.explanation,nextStep:n.nextStep,onRetry:()=>t(`refresh`)})}return e.lastFetch===0?(0,z.jsx)(eE,{label:`Loading…`}):(0,z.jsx)(tE,{label:`No agents in this cwd.`})}return(0,z.jsx)(`ul`,{className:`font-mono text-sm outline-none`,tabIndex:0,onKeyDown:e=>{e.key===`j`||e.key===`ArrowDown`?(t(`cursorDown`),e.preventDefault()):e.key===`k`||e.key===`ArrowUp`?(t(`cursorUp`),e.preventDefault()):e.key===`Enter`?(t(`open`),e.preventDefault()):e.key===`g`&&t(`refresh`)},children:e.rows.map((n,r)=>(0,z.jsx)(yM,{row:n,index:r,selected:r===e.cursor,onClick:()=>t(`select`,r)},r))})}var xM={canvas:{core:kE,View:NE},chat:{core:tD,View:gD},inbox:{core:Tk,View:kk},"git-pr":{core:uA,View:_A},linkedin:{core:dO,View:wA},settings:{core:VA,View:KA},"prompt-review":{core:Ej,View:Wj},"workspace-sidebar":{core:gM,View:bM}};Object.keys(xM).filter(e=>e!==`canvas`);function SM(e){if(e===void 0)return``;let t=new URLSearchParams;for(let[n,r]of Object.entries(e).sort(([e,t],[n,r])=>{let i=e.localeCompare(n);return i===0?t.localeCompare(r):i}))t.append(n,r);return t.toString()}function CM({viewId:e,options:t,onIntent:n,sseKinds:r=[]}){let i=xM[e];return i===void 0?(0,z.jsxs)(`div`,{className:`flex h-full items-center justify-center p-6 text-sm text-slate-500`,children:[`Unknown view: `,(0,z.jsx)(`code`,{className:`ml-1 rounded bg-slate-100 px-1.5 py-0.5`,children:e})]}):(0,z.jsx)(wM,{entry:i,options:t,onIntent:n,sseKinds:r},`${e}::${SM(t)}`)}function wM({entry:e,options:t,onIntent:n,sseKinds:r}){let{state:i,chrome:a,dispatch:o,refresh:s}=QT(e.core,{options:t,onIntent:n});return np(r,s),(0,z.jsx)(PT,{chrome:a,title:e.core.manifest.title,children:(0,S.createElement)(e.View,{state:i,dispatch:o,chrome:a})})}function TM(e){let t={};for(let[n,r]of e.entries())t[n]=r;return t}function EM({viewId:e}){let[t]=Ln();return(0,z.jsx)(`div`,{className:`flex h-full min-h-0`,children:(0,z.jsx)(`div`,{className:`min-w-0 flex-1 overflow-auto`,children:(0,z.jsx)(CM,{viewId:e,options:TM(t)})})})}function DM(){let{viewId:e,tab:t}=dt();return(0,z.jsx)(EM,{viewId:e??``,tab:t})}var OM=3e4;function kM(){return Object.values(xM).map(e=>({id:e.core.manifest.id,title:e.core.manifest.title,description:e.core.manifest.description}))}function AM(){let[e,t]=(0,S.useState)(kM()),[n,r]=(0,S.useState)(!0),[i,a]=(0,S.useState)(0),o=(0,S.useCallback)(()=>a(e=>e+1),[]);return(0,S.useEffect)(()=>{let e=!1,n=()=>{Zf().then(n=>{e||(t(n.length>0?n:kM()),r(!1))}).catch(()=>{e||(t(kM()),r(!1))})};n();let i=setInterval(n,OM),a=()=>{document.visibilityState===`visible`&&n()};return window.addEventListener(`focus`,n),document.addEventListener(`visibilitychange`,a),()=>{e=!0,clearInterval(i),window.removeEventListener(`focus`,n),document.removeEventListener(`visibilitychange`,a)}},[i]),{views:e,loading:n,refetch:o}}function jM(){let{id:e}=dt();return(0,z.jsx)(Zw,{id:e??``},e)}function MM(){let{deckId:e}=dt();return(0,z.jsx)(fT,{deckId:e??``})}function NM(){let{views:e,loading:t}=AM(),n=lt();return(0,S.useEffect)(()=>{if(t)return;let r=e[0];r&&n(`/views/${encodeURIComponent(r.id)}`,{replace:!0})},[e,t,n]),t?null:e.length===0?(0,z.jsx)(zm,{}):null}function PM(){let{home:e}=Ih(),[t]=Ln();return t.has(`new`)?(0,z.jsx)(zm,{}):e===`views`?(0,z.jsx)(NM,{}):(0,z.jsx)(zm,{})}function FM(){return(0,z.jsxs)(Lt,{children:[(0,z.jsx)(Ft,{path:`/`,element:(0,z.jsx)(PM,{})}),(0,z.jsx)(Ft,{path:`/canvas`,element:(0,z.jsx)(Sm,{})}),(0,z.jsx)(Ft,{path:`/nodes/:id`,element:(0,z.jsx)(jM,{})}),(0,z.jsx)(Ft,{path:`/c/:id`,element:(0,z.jsx)(jM,{})}),(0,z.jsx)(Ft,{path:`/inbox`,element:(0,z.jsx)(sT,{})}),(0,z.jsx)(Ft,{path:`/inbox/:deckId`,element:(0,z.jsx)(MM,{})}),(0,z.jsx)(Ft,{path:`/settings`,element:(0,z.jsx)(OT,{})}),(0,z.jsx)(Ft,{path:`/views/:viewId`,element:(0,z.jsx)(DM,{})}),(0,z.jsx)(Ft,{path:`/views/:viewId/:tab`,element:(0,z.jsx)(DM,{})}),(0,z.jsx)(Ft,{path:`*`,element:(0,z.jsx)(PM,{})})]})}function IM(){return lp(e=>e.reachable)?null:(0,z.jsx)(`div`,{role:`status`,className:`fixed inset-x-0 top-0 z-50 bg-warning/90 px-4 py-1.5 text-center text-sm font-medium text-background`,children:`Reconnecting…`})}function LM({nav:e}){let t=Rh(`views.host`),{views:n}=AM(),r=lt();return(0,z.jsxs)(`nav`,{"aria-label":`Primary`,className:`flex w-56 shrink-0 flex-col gap-1 border-r border-border bg-card/40 px-3 py-4`,children:[(t?e.filter(e=>e.id!==`views`):e).map(e=>(0,z.jsxs)(An,{to:e.path,end:e.path===`/`,className:({isActive:e})=>Y(`flex items-center justify-between rounded-lg px-3 py-2 text-sm font-medium transition-colors`,e?`bg-primary/10 text-primary`:`text-foreground/70 hover:bg-accent hover:text-foreground`),children:[(0,z.jsx)(`span`,{children:e.label}),e.id===`inbox`&&(0,z.jsx)(RM,{})]},e.id)),t&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`div`,{className:`instlabel mx-3 mb-0.5 mt-3 uppercase tracking-widest text-muted-foreground/60`,children:`Views`}),n.map(e=>(0,z.jsxs)(An,{to:`/views/${encodeURIComponent(e.id)}`,className:({isActive:e})=>Y(`flex items-center gap-2 truncate rounded-lg px-3 py-2 text-sm font-medium transition-colors`,e?`bg-primary/10 text-primary`:`text-foreground/70 hover:bg-accent hover:text-foreground`),children:[(0,z.jsx)(`span`,{className:`size-1.5 shrink-0 rounded-full`,style:{background:`var(--status-active, #3ba55d)`}}),(0,z.jsx)(`span`,{className:`truncate`,children:e.title})]},e.id)),(0,z.jsxs)(`button`,{type:`button`,onClick:()=>r(`/views`),className:`flex items-center gap-2 rounded-lg px-3 py-2 text-sm text-muted-foreground/50 transition-colors hover:text-foreground`,children:[(0,z.jsx)(`span`,{className:`text-base leading-none`,children:`+`}),(0,z.jsx)(`span`,{children:`New view`})]})]})]})}function RM(){let e=qp();return e<=0?null:(0,z.jsx)(`span`,{className:`inline-flex min-w-5 items-center justify-center rounded-full bg-primary px-1.5 text-xs font-semibold text-primary-foreground`,children:e})}function zM(e){e(`/?new=1`)}var BM={canvas:Of,conversations:Df,inbox:Sf,views:wf,settings:jf};function VM(e){return BM[e]??wf}var HM=wf;function UM(e){return Y(`flex h-9 items-center gap-2.5 rounded-lg px-3 text-sm font-medium no-underline transition-all`,e?`[color:var(--ink)] [background:rgba(232,228,216,.06)] [border:1px_solid_var(--line)] [box-shadow:inset_0_1px_0_var(--raise)]`:`border border-transparent [color:var(--ink2)] hover:[color:var(--ink)] hover:[background:rgba(232,228,216,.04)]`)}function WM({nav:e,home:t}){let n=Rh(`views.host`),{views:r}=AM(),i=lt(),a=n?e.filter(e=>e.id!==`views`):e;return(0,z.jsxs)(`aside`,{"aria-label":`Primary`,className:`flex w-57 flex-none flex-col gap-0.5 px-3 py-4 [border-right:1px_solid_var(--line)] [background:linear-gradient(180deg,rgba(20,19,16,.6),rgba(20,19,16,.2))]`,children:[(0,z.jsxs)(kn,{to:t,className:`flex items-center gap-2.5 px-2.5 pt-1 pb-4 text-base font-medium tracking-[.01em] no-underline [color:var(--ink)] [font-family:var(--font-display)]`,children:[(0,z.jsx)(`span`,{className:`flex flex-none items-center justify-center rounded-md text-xs font-bold [background:var(--bone)] [color:var(--bone-ink)] [font-family:var(--font-inst)]`,style:{width:22,height:22},children:`cr`}),`crouter`]}),(0,z.jsxs)(`button`,{type:`button`,onClick:()=>zM(i),title:`New chat (⌘⇧O)`,className:`mb-1.5 flex h-9 items-center gap-2.5 rounded-lg px-3 text-sm font-medium transition-all [color:var(--bone-ink)] [background:var(--bone)] hover:[background:var(--ink)]`,children:[(0,z.jsx)(kf,{size:16,className:`flex-none`,"aria-hidden":!0}),(0,z.jsx)(`span`,{children:`New chat`})]}),a.map(e=>{let t=VM(e.id);return(0,z.jsxs)(An,{to:e.path,end:e.path===`/`,className:({isActive:e})=>UM(e),children:[(0,z.jsx)(t,{size:18,className:`flex-none opacity-75`,"aria-hidden":!0}),(0,z.jsx)(`span`,{children:e.label}),e.id===`inbox`&&(0,z.jsx)(GM,{})]},e.id)}),n&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`div`,{className:`instlabel px-2.5 pt-3.5 pb-1.5`,children:`Views`}),r.map(e=>(0,z.jsxs)(An,{to:`/views/${encodeURIComponent(e.id)}`,className:({isActive:e})=>UM(e),children:[(0,z.jsx)(HM,{size:18,className:`flex-none opacity-75`,"aria-hidden":!0}),(0,z.jsx)(`span`,{className:`truncate`,children:e.title})]},e.id)),(0,z.jsxs)(`button`,{type:`button`,onClick:()=>i(`/views`),className:`flex h-9 items-center gap-2.5 rounded-lg border border-transparent bg-transparent px-3 text-sm font-medium transition-all [color:var(--dim)] hover:[color:var(--ink)]`,children:[(0,z.jsx)(kf,{size:16,className:`flex-none opacity-75`,"aria-hidden":!0}),(0,z.jsx)(`span`,{children:`New view`})]})]}),(0,z.jsx)(`div`,{className:`flex-1`}),(0,z.jsxs)(`div`,{className:`mt-2.5 pt-2.5 [border-top:1px_solid_var(--line)]`,children:[(0,z.jsxs)(`div`,{className:`flex items-center justify-between gap-2 px-1`,children:[(0,z.jsxs)(`span`,{className:`flex items-center gap-2.5 text-sm font-medium [color:var(--ink2)]`,children:[(0,z.jsx)(_f,{size:18,className:`flex-none opacity-75`,"aria-hidden":!0}),` silas`]}),(0,z.jsx)(`span`,{className:`kbd`,children:`⌘K`})]}),(0,z.jsx)(`div`,{className:`px-1 pt-2`,children:(0,z.jsx)(DT,{})})]})]})}function GM(){let e=qp();return e<=0?null:(0,z.jsx)(`span`,{className:`ml-auto rounded-full border px-2 py-0.5 text-xs font-semibold [font-family:var(--font-inst)] [color:#ff8260] [background:var(--blk-dim)] [border-color:rgba(255,94,54,.35)]`,children:e})}function KM(e){return Y(`relative flex size-9 items-center justify-center rounded-lg no-underline opacity-75 transition-all`,e?`[color:var(--ink)] opacity-100 [background:rgba(232,228,216,.06)] [border:1px_solid_var(--line)] [box-shadow:inset_0_1px_0_var(--raise)]`:`border border-transparent [color:var(--ink2)] hover:opacity-100 hover:[color:var(--ink)] hover:[background:rgba(232,228,216,.04)]`)}function qM({nav:e,home:t}){let n=Rh(`views.host`),{views:r}=AM(),i=qp(),a=lt(),o=n?e.filter(e=>e.id!==`views`):e;return(0,z.jsxs)(`aside`,{"aria-label":`Primary`,style:{width:58},className:`flex flex-none flex-col items-center gap-0.5 py-4 [border-right:1px_solid_var(--line)] [background:linear-gradient(180deg,rgba(20,19,16,.6),rgba(20,19,16,.2))]`,children:[(0,z.jsx)(kn,{to:t,title:`crouter`,className:`flex items-center justify-center pt-1 pb-4 no-underline`,children:(0,z.jsx)(`span`,{className:`flex flex-none items-center justify-center rounded-md text-xs font-bold [background:var(--bone)] [color:var(--bone-ink)] [font-family:var(--font-inst)]`,style:{width:22,height:22},children:`cr`})}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>zM(a),title:`New chat (⌘⇧O)`,"aria-label":`New chat`,className:`mb-1 flex size-9 items-center justify-center rounded-lg transition-all [color:var(--bone-ink)] [background:var(--bone)] hover:[background:var(--ink)]`,children:(0,z.jsx)(kf,{size:18,"aria-hidden":!0})}),o.map(e=>{let t=VM(e.id);return(0,z.jsxs)(An,{to:e.path,end:e.path===`/`,title:e.label,className:({isActive:e})=>KM(e),children:[(0,z.jsx)(t,{size:18,"aria-hidden":!0}),e.id===`inbox`&&i>0&&(0,z.jsx)(`span`,{className:`absolute right-[5px] top-[5px] size-2.5 rounded-full [background:var(--blk)] [box-shadow:0_0_10px_rgba(255,94,54,.55)] [animation:pulse-hot_1.6s_ease-out_infinite]`})]},e.id)}),n&&r.map(e=>(0,z.jsx)(An,{to:`/views/${encodeURIComponent(e.id)}`,title:e.title,className:({isActive:e})=>KM(e),children:(0,z.jsx)(HM,{size:18,"aria-hidden":!0})},e.id)),(0,z.jsx)(`div`,{className:`flex-1`}),(0,z.jsx)(kn,{to:`/settings`,title:`silas`,className:`flex size-9 items-center justify-center rounded-lg border border-transparent no-underline opacity-75 transition-all [color:var(--ink2)] hover:opacity-100 hover:[color:var(--ink)] hover:[background:rgba(232,228,216,.04)]`,children:(0,z.jsx)(_f,{size:18,"aria-hidden":!0})})]})}function JM(e,t){let n=(0,S.useRef)(e),r=(0,S.useRef)(t);n.current=e,r.current=t,(0,S.useEffect)(()=>{let e=e=>{let t=document.activeElement;t instanceof HTMLTextAreaElement||t instanceof HTMLInputElement||t instanceof HTMLElement&&t.isContentEditable||n.current(e)&&(e.preventDefault(),r.current(e))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[])}function YM(e){return e.attention_count>0?`blocked`:e.status}function XM({open:e,onClose:t}){let{nodes:n}=dp(),r=lt(),[i,a]=(0,S.useState)(``),[o,s]=(0,S.useState)(0),c=(0,S.useRef)(null),l=(0,S.useMemo)(()=>{let e=n.filter(e=>e.enterable).map(e=>({id:e.node_id,title:Dm(e),dot:YM(e),kind:e.kind,last:e.last_activity??e.created}));e.sort((e,t)=>t.last.localeCompare(e.last));let t=i.trim().toLowerCase();return t?e.filter(e=>e.title.toLowerCase().includes(t)||e.kind.toLowerCase().includes(t)):e},[n,i]);if((0,S.useEffect)(()=>{e&&(a(``),s(0),c.current?.focus())},[e]),(0,S.useEffect)(()=>{s(e=>Math.min(e,Math.max(0,l.length-1)))},[l.length]),!e)return null;let u=e=>{e&&(r(`/c/${encodeURIComponent(e.id)}`),t())};return(0,z.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-start justify-center px-4 pt-24`,style:{background:`var(--scrim)`},onClick:t,children:(0,z.jsxs)(`div`,{className:`panel w-full max-w-xl overflow-hidden p-0`,onClick:e=>e.stopPropagation(),onKeyDown:e=>{e.key===`Escape`?(e.preventDefault(),t()):e.key===`ArrowDown`?(e.preventDefault(),s(e=>Math.min(e+1,l.length-1))):e.key===`ArrowUp`?(e.preventDefault(),s(e=>Math.max(e-1,0))):e.key===`Enter`&&(e.preventDefault(),u(l[o]))},children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 border-b px-4 py-3`,style:{borderColor:`var(--line)`},children:[(0,z.jsx)(`span`,{className:`instlabel`,style:{color:`var(--dim)`},children:`Jump to`}),(0,z.jsx)(`input`,{ref:c,value:i,onChange:e=>a(e.currentTarget.value),placeholder:`Search conversations…`,className:`flex-1 bg-transparent text-sm outline-none`,style:{color:`var(--ink)`}}),(0,z.jsx)(`span`,{className:`kbd`,children:`esc`})]}),(0,z.jsx)(`ul`,{className:`max-h-80 overflow-auto py-1`,children:l.length===0?(0,z.jsx)(`li`,{className:`px-4 py-3 text-sm italic`,style:{color:`var(--mut)`},children:`no live nodes`}):l.map((e,t)=>(0,z.jsx)(`li`,{children:(0,z.jsxs)(`button`,{type:`button`,onClick:()=>u(e),onMouseEnter:()=>s(t),className:Y(`flex w-full items-center gap-2.5 px-4 py-2 text-left transition-colors`,t===o&&`bg-[color-mix(in_oklch,var(--ink)_6%,transparent)]`),children:[(0,z.jsx)(`span`,{className:Y(`dot shrink-0`,e.dot)}),(0,z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm`,style:{color:`var(--ink)`},children:e.title}),(0,z.jsx)(`span`,{className:`shrink-0 text-xs`,style:{fontFamily:`var(--font-inst)`,letterSpacing:`0.04em`,color:`var(--mut)`},children:e.kind})]})},e.id))})]})})}var ZM=/^\/(nodes|c)\//;function QM({children:e}){let t=Ih(),n=ot(),r=lt(),i=Rh(`views.host`),[a,o]=(0,S.useState)(!1);JM((0,S.useCallback)(e=>(e.metaKey||e.ctrlKey)&&e.shiftKey&&!e.altKey&&e.code===`KeyO`,[]),(0,S.useCallback)(()=>zM(r),[r])),JM((0,S.useCallback)(e=>(e.metaKey||e.ctrlKey)&&!e.shiftKey&&!e.altKey&&e.code===`KeyK`,[]),(0,S.useCallback)(()=>o(e=>!e),[]));let s=t.density===`comfortable`,c=i&&s,l=t.nav[0]?.path??`/`,u=(0,z.jsx)(XM,{open:a,onClose:()=>o(!1)});return c?(0,z.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,z.jsx)($M,{home:l}),(0,z.jsx)(`main`,{className:`min-h-0 flex-1 overflow-hidden`,children:e}),u]}):s?(0,z.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,z.jsxs)(`header`,{className:`flex h-10 shrink-0 items-center justify-between gap-3 border-b border-border bg-card/40 px-3`,children:[(0,z.jsx)(kn,{to:l,className:`text-sm font-semibold tracking-tight text-foreground`,children:`crouter`}),(0,z.jsx)(DT,{})]}),(0,z.jsxs)(`div`,{className:`flex min-h-0 flex-1`,children:[(0,z.jsx)(LM,{nav:t.nav}),(0,z.jsx)(`main`,{className:`min-h-0 flex-1 overflow-hidden`,children:e})]}),u]}):(0,z.jsxs)(`div`,{className:`flex h-full min-h-0`,children:[ZM.test(n.pathname)?(0,z.jsx)(qM,{nav:t.nav,home:l}):(0,z.jsx)(WM,{nav:t.nav,home:l}),(0,z.jsx)(`main`,{className:`min-h-0 flex-1 overflow-hidden`,children:e}),u]})}function $M({home:e}){let{views:t}=AM(),n=qp(),r=lt();return(0,z.jsxs)(`header`,{className:`flex h-13 shrink-0 items-center gap-0 border-b px-9`,style:{borderColor:`rgba(40,36,26,.1)`,background:`var(--card)`},children:[(0,z.jsxs)(kn,{to:e,className:`flex items-center gap-2 shrink-0`,children:[(0,z.jsx)(`span`,{className:`flex size-5.5 items-center justify-center rounded-md text-xs font-bold`,style:{fontFamily:`var(--font-inst)`,background:`var(--foreground)`,color:`var(--background)`},children:`cr`}),(0,z.jsx)(`span`,{className:`text-lg`,style:{fontFamily:`var(--font-display)`,fontWeight:500,color:`var(--foreground)`},children:`crouter`})]}),(0,z.jsxs)(`div`,{className:`ml-3.5 flex items-center gap-1 overflow-x-auto`,children:[t.map(e=>(0,z.jsxs)(An,{to:`/views/${encodeURIComponent(e.id)}`,className:({isActive:e})=>Y(`flex shrink-0 items-center gap-2 whitespace-nowrap rounded-lg border px-3.5 py-1.5 text-sm font-medium transition-colors`,e?`border-border/50 bg-background text-foreground shadow-sm`:`border-transparent text-muted-foreground hover:bg-accent/40 hover:text-foreground`),style:({isActive:e})=>e?{boxShadow:`0 6px 16px -10px rgba(60,50,30,.5), inset 0 1px 0 rgba(255,255,255,.9)`}:{},children:[(0,z.jsx)(`span`,{className:`size-1.5 shrink-0 rounded-full`,style:{background:`#247d4b`}}),e.title]},e.id)),(0,z.jsx)(`button`,{type:`button`,onClick:()=>zM(r),className:`flex shrink-0 items-center rounded-lg border border-transparent px-3 py-1.5 text-muted-foreground/50 transition-colors hover:text-foreground`,title:`New chat (⌘⇧O)`,"aria-label":`New chat`,children:(0,z.jsx)(kf,{className:`size-4`})})]}),(0,z.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,z.jsx)(DT,{}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>r(`/`),className:`flex size-9 items-center justify-center rounded-lg border text-muted-foreground transition-colors hover:text-foreground`,style:{borderColor:`rgba(40,36,26,.1)`,background:`rgba(255,255,255,.4)`},title:`Chats`,"aria-label":`Chats`,children:(0,z.jsx)(Df,{className:`size-4`})}),(0,z.jsxs)(`button`,{type:`button`,onClick:()=>r(`/inbox`),className:`relative flex size-9 items-center justify-center rounded-lg border text-muted-foreground transition-colors hover:text-foreground`,style:{borderColor:`rgba(40,36,26,.1)`,background:`rgba(255,255,255,.4)`},title:`Inbox`,"aria-label":`Inbox`,children:[(0,z.jsx)(Sf,{className:`size-4`}),n>0&&(0,z.jsx)(`span`,{className:`absolute -right-1 -top-1 rounded-full bg-destructive px-1 text-xs font-bold text-white`,style:{fontFamily:`var(--font-inst)`,minWidth:`14px`,lineHeight:`14px`},children:n})]}),(0,z.jsx)(`div`,{className:`size-8 shrink-0 rounded-full border-2 border-white`,style:{background:`linear-gradient(135deg,#d8b97a,#b08b4a)`,boxShadow:`0 2px 8px rgba(60,50,30,.25)`}})]})]})}function eN(){let e=em(e=>e.toasts),t=em(e=>e.dismiss);return e.length===0?null:(0,z.jsx)(`div`,{className:`pointer-events-none fixed inset-x-0 bottom-4 z-50 flex flex-col items-center gap-2`,children:e.map(e=>(0,z.jsx)(`button`,{type:`button`,onClick:()=>t(e.id),className:Y(`pointer-events-auto rounded-lg border px-4 py-2 text-sm shadow-md transition-opacity`,e.tone===`success`?`border-success/40 bg-success/10 text-success`:`border-border bg-card text-foreground`),children:e.message},e.id))})}function tN(){return(0,z.jsx)(Ph,{children:(0,z.jsx)(Dn,{children:(0,z.jsxs)($d,{delayDuration:300,children:[(0,z.jsx)(IM,{}),(0,z.jsx)(QM,{children:(0,z.jsx)(FM,{})}),(0,z.jsx)(eN,{})]})})})}var nN=document.getElementById(`root`);if(!nN)throw Error(`crtr web: #root element not found in index.html`);(0,nd.createRoot)(nN).render((0,z.jsx)(S.StrictMode,{children:(0,z.jsx)(tN,{})}));