@xfey/tenso 0.1.133 → 0.1.134

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.
@@ -46,7 +46,7 @@ Error generating stack: `+e.message+`
46
46
  `},nD=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},rD=function(){L.useEffect(function(){return document.body.setAttribute(eD,(nD()+1).toString()),function(){var e=nD()-1;e<=0?document.body.removeAttribute(eD):document.body.setAttribute(eD,e.toString())}},[])},iD=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;rD();var a=L.useMemo(function(){return QE(i)},[i]);return L.createElement($E,{styles:tD(a,!t,i,n?``:`!important`)})},aD=!1;if(typeof window<`u`)try{var oD=Object.defineProperty({},`passive`,{get:function(){return aD=!0,!0}});window.addEventListener(`test`,oD,oD),window.removeEventListener(`test`,oD,oD)}catch{aD=!1}var sD=aD?{passive:!1}:!1,cD=function(e){return e.tagName===`TEXTAREA`},lD=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!cD(e)&&n[t]===`visible`)},uD=function(e){return lD(e,`overflowY`)},dD=function(e){return lD(e,`overflowX`)},fD=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),hD(e,r)){var i=gD(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},pD=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},mD=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},hD=function(e,t){return e===`v`?uD(t):dD(t)},gD=function(e,t){return e===`v`?pD(t):mD(t)},_D=function(e,t){return e===`h`&&t===`rtl`?-1:1},vD=function(e,t,n,r,i){var a=_D(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=gD(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&hD(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},yD=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},bD=function(e){return[e.deltaX,e.deltaY]},xD=function(e){return e&&`current`in e?e.current:e},SD=function(e,t){return e[0]===t[0]&&e[1]===t[1]},CD=function(e){return`
47
47
  .block-interactivity-${e} {pointer-events: none;}
48
48
  .allow-interactivity-${e} {pointer-events: all;}
49
- `},wD=0,TD=[];function ED(e){var t=L.useRef([]),n=L.useRef([0,0]),r=L.useRef(),i=L.useState(wD++)[0],a=L.useState(JE)[0],o=L.useRef(e);L.useEffect(function(){o.current=e},[e]),L.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=CE([e.lockRef.current],(e.shards||[]).map(xD),!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=L.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=yD(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=fD(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=fD(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 vD(h,t,e,h===`h`?s:c,!0)},[]),c=L.useCallback(function(e){var n=e;if(!(!TD.length||TD[TD.length-1]!==a)){var r=`deltaY`in n?bD(n):yD(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&SD(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(xD).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=L.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:DD(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=L.useCallback(function(e){n.current=yD(e),r.current=void 0},[]),d=L.useCallback(function(t){l(t.type,bD(t),t.target,s(t,e.lockRef.current))},[]),f=L.useCallback(function(t){l(t.type,yD(t),t.target,s(t,e.lockRef.current))},[]);L.useEffect(function(){return TD.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,sD),document.addEventListener(`touchmove`,c,sD),document.addEventListener(`touchstart`,u,sD),function(){TD=TD.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,sD),document.removeEventListener(`touchmove`,c,sD),document.removeEventListener(`touchstart`,u,sD)}},[]);var p=e.removeScrollBar,m=e.inert;return L.createElement(L.Fragment,null,m?L.createElement(a,{styles:CD(i)}):null,p?L.createElement(iD,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function DD(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var OD=LE(RE,ED),kD=L.forwardRef(function(e,t){return L.createElement(BE,xE({},e,{ref:t,sideCar:OD}))});kD.classNames=BE.classNames;var AD=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},jD=new WeakMap,MD=new WeakMap,ND={},PD=0,FD=function(e){return e&&(e.host||FD(e.parentNode))},ID=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=FD(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})},LD=function(e,t,n,r){var i=ID(t,Array.isArray(e)?e:[e]);ND[n]||(ND[n]=new WeakMap);var a=ND[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=(jD.get(e)||0)+1,l=(a.get(e)||0)+1;jD.set(e,c),a.set(e,l),o.push(e),c===1&&i&&MD.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(),PD++,function(){o.forEach(function(e){var t=jD.get(e)-1,i=a.get(e)-1;jD.set(e,t),a.set(e,i),t||(MD.has(e)||e.removeAttribute(r),MD.delete(e)),i||e.removeAttribute(n)}),PD--,PD||(jD=new WeakMap,jD=new WeakMap,MD=new WeakMap,ND={})}},RD=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||AD(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),LD(r,i,n,`aria-hidden`)):function(){return null}},zD=Object.defineProperty,BD=(e,t)=>zD(e,`name`,{value:t,configurable:!0}),VD=`Dialog`,[HD,UD]=Qw(VD),[WD,GD]=HD(VD),KD=BD(e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=L.useRef(null),c=L.useRef(null),[l,u]=mT({prop:r,defaultProp:i??!1,onChange:a,caller:VD}),[d,f]=L.useState(0),[p,m]=L.useState(0);return(0,R.jsx)(WD,{scope:t,triggerRef:s,contentRef:c,contentId:aT(),titleId:aT(),descriptionId:aT(),titlePresent:d>0,descriptionPresent:p>0,setTitleCount:f,setDescriptionCount:m,open:l,onOpenChange:u,onOpenToggle:L.useCallback(()=>u(e=>!e),[u]),modal:o,children:n})},`Dialog`),qD=`DialogPortal`,[JD,YD]=HD(qD,{forceMount:void 0}),XD=BD(e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=GD(qD,t);return(0,R.jsx)(JD,{scope:t,forceMount:n,children:L.Children.map(r,e=>(0,R.jsx)(cE,{present:n||a.open,children:(0,R.jsx)(iE,{asChild:!0,container:i,children:e})}))})},`DialogPortal`),ZD=`DialogOverlay`,QD=L.forwardRef(BD(function(e,t){let n=YD(ZD,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=GD(ZD,e.__scopeDialog);return a.modal?(0,R.jsx)(cE,{present:r||a.open,children:(0,R.jsx)(eO,{...i,ref:t})}):null},`DialogOverlay`)),$D=aw(`DialogOverlay.RemoveScroll`),eO=L.forwardRef(BD(function(e,t){let{__scopeDialog:n,...r}=e,i=GD(ZD,n),a=nw(t,PT());return(0,R.jsx)(kD,{as:$D,allowPinchZoom:!0,shards:[i.contentRef],children:(0,R.jsx)(xT.div,{"data-state":fO(i.open),...r,ref:a,style:{pointerEvents:`auto`,...r.style}})})},`DialogOverlayImpl`)),tO=`DialogContent`,nO=L.forwardRef(BD(function(e,t){let n=YD(tO,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=GD(tO,e.__scopeDialog);return(0,R.jsx)(cE,{present:r||a.open,children:a.modal?(0,R.jsx)(rO,{...i,ref:t}):(0,R.jsx)(iO,{...i,ref:t})})},`DialogContent`)),rO=L.forwardRef(BD(function(e,t){let n=GD(tO,e.__scopeDialog),r=L.useRef(null),i=nw(t,n.contentRef,r);return L.useEffect(()=>{let e=r.current;if(e)return RD(e)},[]),(0,R.jsx)(aO,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:Ww(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:Ww(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:Ww(e.onFocusOutside,e=>e.preventDefault())})},`DialogContentModal`)),iO=L.forwardRef(BD(function(e,t){let n=GD(tO,e.__scopeDialog),r=L.useRef(!1),i=L.useRef(!1);return(0,R.jsx)(aO,{...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()}})},`DialogContentNonModal`)),aO=L.forwardRef(BD(function(e,t){let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=GD(tO,n);return yE(),(0,R.jsx)(R.Fragment,{children:(0,R.jsx)(GT,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,R.jsx)(NT,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionPresent?s.descriptionId:void 0,"aria-labelledby":s.titlePresent?s.titleId:void 0,"data-state":fO(s.open),...o,ref:t,deferPointerDownOutside:!0,onDismiss:()=>s.onOpenChange(!1)})})})},`DialogContentImpl`)),oO=`DialogTitle`,sO=L.forwardRef(BD(function(e,t){let{__scopeDialog:n,...r}=e,i=GD(oO,n),{setTitleCount:a}=i;return eT(()=>(a(e=>e+1),()=>a(e=>e-1)),[a]),(0,R.jsx)(xT.h2,{id:i.titleId,...r,ref:t})},`DialogTitle`)),cO=`DialogDescription`,lO=L.forwardRef(BD(function(e,t){let{__scopeDialog:n,...r}=e,i=GD(cO,n),{setDescriptionCount:a}=i;return eT(()=>(a(e=>e+1),()=>a(e=>e-1)),[a]),(0,R.jsx)(xT.p,{id:i.descriptionId,...r,ref:t})},`DialogDescription`)),uO=`DialogClose`,dO=L.forwardRef(BD(function(e,t){let{__scopeDialog:n,...r}=e,i=GD(uO,n);return(0,R.jsx)(xT.button,{type:`button`,...r,ref:t,onClick:Ww(e.onClick,()=>i.onOpenChange(!1))})},`DialogClose`));function fO(e){return e?`open`:`closed`}BD(fO,`getState`);function pO({brand:e,visual:t,auth:n,mobileAuth:r,footer:i,className:a,...o}){return(0,R.jsxs)(`section`,{className:Y(`homepage-entry`,a),...o,children:[(0,R.jsxs)(`div`,{className:`homepage-entry-desktop`,children:[(0,R.jsxs)(`section`,{className:`homepage-entry-visual-column`,"aria-label":`Tenso product preview`,children:[(0,R.jsx)(`div`,{className:`homepage-entry-brand`,children:e}),(0,R.jsx)(`div`,{className:`homepage-entry-visual`,children:t})]}),(0,R.jsxs)(`aside`,{className:`homepage-entry-auth-rail`,"aria-label":`Sign in to Tenso`,children:[(0,R.jsx)(`div`,{className:`homepage-entry-auth-content`,children:n}),i===void 0?null:(0,R.jsx)(`div`,{className:`homepage-entry-auth-footnote`,children:i})]})]}),(0,R.jsxs)(`section`,{className:`homepage-entry-mobile`,"aria-label":`Sign in to Tenso`,children:[(0,R.jsx)(`div`,{className:`product-appbar`,children:e}),(0,R.jsx)(`div`,{className:`auth-shell`,children:r}),i===void 0?null:(0,R.jsx)(`div`,{className:`homepage-entry-mobile-footnote`,children:i})]})]})}function mO({className:e,...t}){return(0,R.jsx)(`p`,{className:Y(`product-entry-footnote`,e),...t})}function hO({title:e,description:t,children:n,action:r,feedback:i,secondaryAction:a,className:o,...s}){return(0,R.jsxs)(`form`,{className:Y(`product-entry-auth-form`,o),...s,children:[(0,R.jsxs)(`header`,{className:`product-entry-auth-header`,children:[(0,R.jsx)(`h1`,{children:e}),(0,R.jsx)(`p`,{children:t})]}),(0,R.jsx)(`div`,{className:`product-entry-auth-body`,children:n}),a===void 0?null:(0,R.jsx)(`div`,{className:`product-entry-auth-secondary`,children:a}),i===void 0?null:(0,R.jsx)(`div`,{className:`product-entry-auth-feedback`,children:i}),(0,R.jsx)(`footer`,{className:`product-entry-auth-footer`,children:r})]})}var gO=40.1,_O=gO+.6,vO={openingFadeEnd:1.05,chatEnd:7.45,scratchpadPanEnd:8.8,scratchpadEnd:17.8,runCursorStart:17.95,runCursorArrive:18.65,runClickStart:18.67,runEnd:18.9,executionPrepareEnd:20.35,executionImplementEnd:24.55,executionValidateEnd:26.35,executionComplete:28.15,executionEnd:28.95,fullWorkspace:30.95,artifactLive:30.55,artifactClick:32.65,artifactScroll:36.1,artifactScrollEnd:39.55,finalHoldEnd:gO,fadeEnd:_O},yO={centerX:.325,centerY:.25,scale:1.62},bO={centerX:.325,centerY:.47,scale:1.64},xO={centerX:.855,centerY:.23,scale:1.72},SO={centerX:.855,centerY:.35,scale:1.72},CO={centerX:.855,centerY:.79,scale:1.72},wO={centerX:.5,centerY:.5,scale:1},TO=[{start:1.35,end:5.95,from:yO,to:bO,linearPosition:!0},{start:7.45,end:8.8,from:bO,to:xO},{start:8.8,end:14.3,from:xO,to:SO,linearPosition:!0},{start:14.6,end:17.8,from:SO,to:CO},{start:vO.executionEnd,end:vO.fullWorkspace,from:CO,to:wO}];function EO(e,t=0,n=1){return Math.min(n,Math.max(t,e))}function DO(e){return 1-(1-EO(e))**3}function OO(e){let t=EO(e);return t<.5?4*t*t*t:1-(-2*t+2)**3/2}function kO(e){let t=EO(e);return t<.5?16*t**5:1-(-2*t+2)**5/2}function AO(e,t,n,r=DO){let i=Math.max(.001,n-t);return r(EO((e-t)/i))}function jO(e,t,n){return e+(t-e)*n}function MO(e,t){let n=EO((t-e.start)/Math.max(.001,e.end-e.start)),r=e.linearPosition?n:kO(n);return{centerX:jO(e.from.centerX,e.to.centerX,r),centerY:jO(e.from.centerY,e.to.centerY,r),scale:jO(e.from.scale,e.to.scale,e.linearPosition?n:OO(n))}}function NO(e){if(e<TO[0].start)return yO;for(let t of TO)if(e<=t.end)return e<t.start?t.from:MO(t,e);return wO}function PO(e){return e>=vO.executionComplete?{id:`complete`,label:`Task completed`}:e>=vO.executionValidateEnd?{id:`update`,label:`Synchronizing project`}:e>=vO.executionImplementEnd?{id:`validate`,label:`Validating result`}:e>=vO.executionPrepareEnd?{id:`implement`,label:`Implementing with Codex`}:{id:`prepare`,label:`Preparing workspace`}}function FO(e){return AO(e,vO.artifactScroll,vO.artifactScrollEnd,OO)}function IO(e){return 1-AO(e,gO,_O,OO)}var LO=1500,RO=1e3,zO=2.5,BO=`(min-width: 980px) and (prefers-reduced-motion: no-preference)`,VO=(0,L.lazy)(async()=>({default:(await vS(()=>import(`./homepage-motion-scene-Dxts_1ov.js`),[])).HomepageMotionScene}));function HO(e){let[t,n]=(0,L.useState)(()=>typeof window>`u`||typeof window.matchMedia!=`function`?!0:window.matchMedia(e).matches);return(0,L.useEffect)(()=>{if(typeof window.matchMedia!=`function`)return;let t=window.matchMedia(e),r=()=>n(t.matches);return r(),t.addEventListener(`change`,r),()=>t.removeEventListener(`change`,r)},[e]),t}function UO(){return HO(BO)}function WO(e,t){let[n,r]=(0,L.useState)({elapsed:0,cycle:0}),i=(0,L.useRef)(null),a=_O+t;return(0,L.useEffect)(()=>{if(!e){i.current=null;return}let t=0,n=e=>{let o=i.current??e;i.current=e;let s=Math.min(.1,(e-o)/1e3);r(e=>{let t=e.elapsed+s;return t<a?{...e,elapsed:t}:{elapsed:t%a,cycle:e.cycle+1}}),t=window.requestAnimationFrame(n)};return t=window.requestAnimationFrame(n),()=>window.cancelAnimationFrame(t)},[a,e]),{cycle:n.cycle,time:Math.min(n.elapsed,_O)}}function GO(e,t){let[n,r]=(0,L.useState)(0),i=(0,L.useRef)(t),a=(0,L.useRef)(!1);return i.current=t,(0,L.useEffect)(()=>{if(r(0),a.current=!1,!e)return;let t=0,n=null,o=e=>{n??=e;let s=Math.min((e-n)/1e3,_O);if(r(s),s>=_O){a.current||(a.current=!0,i.current());return}t=window.requestAnimationFrame(o)};return t=window.requestAnimationFrame(o),()=>window.cancelAnimationFrame(t)},[e]),n}function KO(e){let t=(0,L.useRef)(null),[n,r]=(0,L.useState)(0);return(0,L.useLayoutEffect)(()=>{if(!e)return;let n=t.current;if(n===null)return;let i=()=>{let e=n.getBoundingClientRect(),t=Math.min(e.width/LO,e.height/RO);r(Number.isFinite(t)?t:0)};if(i(),typeof ResizeObserver>`u`)return;let a=new ResizeObserver(i);return a.observe(n),()=>a.disconnect()},[e]),{frameRef:t,masterScale:n}}function qO({assets:e,enabled:t,sceneKey:n,time:r,className:i,...a}){let{frameRef:o,masterScale:s}=KO(t);return t?(0,R.jsx)(`div`,{ref:o,className:Y(`homepage-motion-frame`,i),...a,children:(0,R.jsx)(`div`,{className:`homepage-motion-master`,style:{"--homepage-motion-scale":s},children:(0,R.jsx)(L.Suspense,{fallback:null,children:(0,R.jsx)(VO,{time:r,assets:e},n)})})}):null}function JO({assets:e,idleSeconds:t=zO,className:n,...r}){let i=UO(),a=WO(i,Math.max(0,t));return(0,R.jsx)(qO,{...r,assets:e,enabled:i,sceneKey:a.cycle,time:a.time,className:n})}function YO({assets:e,onComplete:t,className:n,...r}){let i=UO(),a=GO(i,(0,L.useCallback)(()=>t(),[t]));return(0,R.jsx)(qO,{...r,assets:e,enabled:i,time:a,className:n})}function XO({onOpen:e,onDismiss:t,className:n,...r}){return(0,R.jsxs)(`aside`,{className:Y(`product-tour-pill`,n),"aria-label":`Product tour`,...r,children:[(0,R.jsxs)(X,{type:`button`,className:`product-tour-pill-open`,onClick:e,children:[(0,R.jsx)(`span`,{className:`product-tour-pill-icon`,"aria-hidden":`true`,children:(0,R.jsx)(ix,{})}),(0,R.jsxs)(`span`,{className:`product-tour-pill-copy`,children:[(0,R.jsx)(`strong`,{children:`New to Tenso?`}),(0,R.jsx)(`span`,{children:`Take a tour`})]})]}),(0,R.jsx)(xw,{type:`button`,className:`product-tour-pill-dismiss`,label:`Dismiss product tour`,icon:(0,R.jsx)(nS,{"aria-hidden":`true`}),onClick:t})]})}function ZO({assets:e,open:t,onOpenChange:n}){let r=UO();return(0,L.useEffect)(()=>{t&&!r&&n(!1)},[r,n,t]),r?(0,R.jsx)(KD,{open:t,onOpenChange:n,children:(0,R.jsxs)(XD,{children:[(0,R.jsx)(QD,{className:`product-tour-dialog-overlay`}),(0,R.jsxs)(nO,{className:`product-tour-dialog-content`,onInteractOutside:e=>e.preventDefault(),onPointerDownOutside:e=>e.preventDefault(),children:[(0,R.jsx)(sO,{className:`product-tour-dialog-title`,children:`Welcome to Tenso`}),(0,R.jsx)(dO,{asChild:!0,children:(0,R.jsx)(xw,{type:`button`,className:`product-tour-dialog-close`,label:`Close product tour`,icon:(0,R.jsx)(nS,{"aria-hidden":`true`})})}),t?(0,R.jsx)(YO,{className:`product-tour-dialog-motion`,assets:e,onComplete:()=>n(!1)}):null]})]})}):null}function QO({status:e,className:t,...n}){let r=e===`online`?`Online`:e===`connecting`?`Connecting`:e===`stopped`?`Stopped`:e===`offline`?`Offline`:`Status unknown`,i=e===`online`?(0,R.jsx)(Lx,{"aria-hidden":`true`}):e===`connecting`?(0,R.jsx)(Rx,{"aria-hidden":`true`}):e===`stopped`?(0,R.jsx)(Fx,{"aria-hidden":`true`}):e===`offline`?(0,R.jsx)(eS,{"aria-hidden":`true`}):(0,R.jsx)(ix,{"aria-hidden":`true`});return(0,R.jsx)(`span`,{className:Y(`project-list-status-icon`,`is-${e}`,t),"aria-label":r,role:`img`,...n,children:i})}function $O(e){let t=(0,L.useId)();return(0,R.jsxs)(`fieldset`,{className:`product-choice-cards`,disabled:e.disabled,children:[(0,R.jsx)(`legend`,{children:e.legend}),(0,R.jsx)(`div`,{children:e.options.map(n=>(0,R.jsxs)(`label`,{className:Y(`product-choice-card`,n.value===e.value&&`is-selected`),children:[(0,R.jsx)(`input`,{type:`radio`,name:t,value:n.value,checked:n.value===e.value,disabled:n.disabled,onChange:()=>e.onValueChange(n.value)}),(0,R.jsx)(`span`,{className:`product-choice-icon`,"aria-hidden":`true`,children:n.icon}),(0,R.jsx)(`strong`,{children:n.title}),(0,R.jsx)(`small`,{children:n.description}),n.note===void 0?null:(0,R.jsx)(`small`,{className:`product-choice-note`,"aria-live":`polite`,children:n.note})]},n.value))})]})}function ek(e){let t=[{value:`managed`,title:`Tenso credit`,description:`Use Tenso credit for this project`,icon:e.tuttiLogo,note:e.creditNote},{value:`byok`,title:`Custom endpoint`,description:`Use your own API key and model`,icon:e.customIcon,disabled:e.customDisabled}];return(0,R.jsx)($O,{legend:`Model access`,value:e.value,onValueChange:e.onValueChange,disabled:e.disabled,options:t})}function tk(e){return(0,R.jsx)($O,{legend:`Where will this project be used?`,value:e.value,onValueChange:e.onValueChange,disabled:e.disabled,options:[{value:`standalone`,title:`Tenso Workspace`,description:`Collaborate in Tenso's own workspace`,icon:e.tuttiLogo},{value:`feishu`,title:`Feishu`,description:`Collaborate in your Feishu group`,icon:e.feishuIcon}]})}function nk({className:e,...t}){return(0,R.jsx)(`div`,{className:Y(`product-card-body`,e),...t})}function rk({items:e}){return(0,R.jsx)(`dl`,{className:`product-entry-summary`,children:e.map(e=>(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`dt`,{children:e.label}),(0,R.jsx)(`dd`,{className:e.mono?`is-mono`:void 0,children:e.value})]},e.label))})}function ik({items:e}){return(0,R.jsx)(`dl`,{className:`product-metric-list`,children:e.map(e=>(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`dt`,{children:e.label}),(0,R.jsx)(`dd`,{children:e.value})]},e.label))})}function ak({title:e,description:t,children:n,action:r}){return(0,R.jsxs)(`div`,{className:`product-access-row`,children:[(0,R.jsxs)(`div`,{className:`product-access-identity`,children:[(0,R.jsx)(`strong`,{children:e}),t===void 0?null:(0,R.jsx)(`small`,{children:t}),n]}),r===void 0?null:(0,R.jsx)(`div`,{className:`product-access-action`,children:r})]})}function ok(e){return(0,R.jsxs)(`div`,{className:`product-account-actions`,"aria-label":`Account actions`,children:[(0,R.jsx)(X,{type:`button`,disabled:e.disabled,onClick:e.onCredit,"aria-label":`View credits`,children:e.credit}),(0,R.jsxs)(X,{type:`button`,disabled:e.disabled,onClick:e.onAccount,"aria-label":`Account settings`,children:[(0,R.jsx)(`span`,{className:`product-account-name`,children:e.name}),(0,R.jsx)(tx,{"aria-hidden":`true`})]})]})}function sk({brand:e,account:t,actions:n,toolbar:r,children:i,rail:a}){let o=(0,L.useId)(),s=r.connected&&r.local;return(0,R.jsxs)(`div`,{className:`project-studio`,children:[(0,R.jsxs)(`header`,{className:`studio-header`,children:[e,(0,R.jsx)(`div`,{className:`studio-account`,children:t})]}),(0,R.jsxs)(`main`,{className:`studio-main`,"aria-label":`Project Center`,children:[(0,R.jsxs)(`header`,{className:`studio-heading`,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`p`,{className:`studio-eyebrow`,children:`One place to begin`}),(0,R.jsxs)(`h1`,{children:[`Projects`,(0,R.jsx)(`span`,{children:`.`})]})]}),(0,R.jsx)(`div`,{className:`studio-heading-actions`,children:n})]}),(0,R.jsxs)(`div`,{className:`studio-grid${s?` is-computer-scope`:``}`,children:[(0,R.jsxs)(`section`,{className:`studio-projects`,"aria-label":`Projects`,children:[(0,R.jsx)(ck,{...r,panelId:o}),(0,R.jsx)(`div`,{id:o,role:r.connected?`tabpanel`:`region`,"aria-labelledby":r.connected?`${o}-${s?`computer`:`account`}`:void 0,"aria-label":r.connected?void 0:`Your projects`,tabIndex:r.connected?0:void 0,className:`studio-project-panel`,children:i})]}),a]})]})]})}function ck({local:e,onLocalChange:t,search:n,onSearchChange:r,connected:i,panelId:a}){return(0,R.jsxs)(`div`,{className:`studio-toolbar`,children:[i?(0,R.jsx)(`div`,{className:`studio-filters`,role:`tablist`,"aria-label":`Project scope`,onKeyDown:n=>{let r=n.key===`Home`?!1:n.key===`End`?!0:n.key===`ArrowLeft`||n.key===`ArrowRight`?!e:null;r!==null&&(n.preventDefault(),t(r),n.currentTarget.querySelectorAll(`[role="tab"]`)[Number(r)]?.focus())},children:[!1,!0].map(n=>(0,R.jsxs)(`button`,{type:`button`,role:`tab`,id:`${a}-${n?`computer`:`account`}`,"aria-controls":a,"aria-selected":e===n,tabIndex:e===n?0:-1,onClick:()=>t(n),children:[n?(0,R.jsx)(Ax,{"aria-hidden":`true`}):(0,R.jsx)(hx,{"aria-hidden":`true`}),n?`This computer`:`Your projects`]},String(n)))}):null,(0,R.jsxs)(`label`,{className:`studio-search`,children:[(0,R.jsx)(Hx,{"aria-hidden":`true`}),(0,R.jsx)(`input`,{type:`search`,"aria-label":`Find a project`,placeholder:`Find a project`,value:n,onChange:e=>r(e.target.value)})]})]})}function lk({label:e=`Currently unavailable`,count:t,open:n,onOpenChange:r,children:i}){let a=(0,L.useId)();return(0,R.jsxs)(`div`,{className:`studio-unavailable`,children:[(0,R.jsxs)(`button`,{type:`button`,"aria-expanded":n,"aria-controls":a,onClick:()=>r(!n),children:[(0,R.jsx)(tx,{"aria-hidden":`true`}),e,` `,(0,R.jsxs)(`span`,{children:[`(`,t,`)`]})]}),(0,R.jsx)(`div`,{id:a,children:n?i:null})]})}function uk({children:e}){return(0,R.jsx)(`div`,{className:`studio-computer-controls`,children:e})}function dk({title:e,status:t,meta:n,local:r,selected:i,onSelect:a,action:o,children:s}){let c=(0,L.useId)(),l=(0,L.useRef)(null);return(0,L.useEffect)(()=>{if(!i)return;let e=requestAnimationFrame(()=>{let e=l.current;if(!e)return;let t=e.getBoundingClientRect();t.top>=16&&t.bottom<=window.innerHeight-16||e.scrollIntoView({block:`nearest`,inline:`nearest`,behavior:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?`instant`:`smooth`})});return()=>cancelAnimationFrame(e)},[i]),(0,R.jsxs)(`div`,{ref:l,className:`studio-project-item${i?` is-selected`:``}`,children:[(0,R.jsxs)(`div`,{className:`studio-project-row`,children:[(0,R.jsxs)(`button`,{type:`button`,className:`studio-project-select`,onClick:a,"aria-expanded":i,"aria-controls":c,"aria-label":`Details for ${e}`,children:[(0,R.jsx)(`span`,{className:`studio-monogram`,"aria-hidden":`true`,children:Array.from(e)[0]}),(0,R.jsxs)(`span`,{className:`studio-project-copy`,children:[(0,R.jsx)(`strong`,{children:e}),(0,R.jsxs)(`span`,{children:[n,r?(0,R.jsxs)(`span`,{className:`studio-local-label`,children:[(0,R.jsx)(Ax,{"aria-hidden":`true`}),`This computer`]}):null]})]}),(0,R.jsx)(tx,{className:`studio-project-chevron`,"aria-hidden":`true`})]}),(0,R.jsx)(`span`,{className:`studio-project-status`,children:(0,R.jsx)(QO,{status:t})}),(0,R.jsx)(`div`,{className:`studio-row-actions`,children:o})]}),(0,R.jsx)(`div`,{id:c,hidden:!i,children:i?s:null})]})}function fk({title:e,children:t,actions:n}){return(0,R.jsxs)(`section`,{className:`studio-details`,"aria-label":`Selected project: ${e}`,children:[(0,R.jsx)(`div`,{className:`studio-detail-copy`,children:t}),(0,R.jsx)(`div`,{className:`studio-detail-actions`,children:n})]})}function pk({state:e,version:t,children:n}){return(0,R.jsxs)(`aside`,{className:`studio-computer`,"aria-label":`This computer`,children:[(0,R.jsxs)(`header`,{children:[(0,R.jsx)(`h2`,{children:`This computer`}),(0,R.jsx)(`span`,{className:`studio-connection ${e===`connected`?`is-connected`:``}`,children:e===`connected`?`Connected`:e===`lost`?`Connection lost`:`Not connected`})]}),(0,R.jsx)(`div`,{className:`studio-computer-drawing`,"aria-hidden":`true`,children:(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`span`,{children:`> tenso`}),(0,R.jsx)(`small`,{children:e===`connected`?`Connected to your projects.`:`Ready to connect.`}),(0,R.jsx)(`span`,{children:`_`})]})}),(0,R.jsx)(`h3`,{children:e===`connected`?(0,R.jsxs)(R.Fragment,{children:[`Your computer.`,(0,R.jsx)(`br`,{}),(0,R.jsx)(`em`,{children:`Your workspace.`})]}):(0,R.jsxs)(R.Fragment,{children:[`Bring your`,(0,R.jsx)(`br`,{}),(0,R.jsx)(`em`,{children:`projects closer.`})]})}),(0,R.jsx)(`p`,{children:e===`connected`?`Manage local projects without leaving this page.`:e===`lost`?`Reconnect to manage local projects. Your hosts may still be running.`:`Connect Tenso on this computer to manage your local projects here.`}),(0,R.jsx)(`div`,{className:`studio-computer-actions`,children:n}),t?(0,R.jsxs)(`small`,{className:`studio-version`,children:[`Tenso `,t]}):null]})}function mk({asChild:e=!1,className:t,...n}){return(0,R.jsx)(e?ow:`section`,{className:Y(`product-card`,t),...n})}function hk({children:e,className:t,...n}){return(0,R.jsx)(`div`,{className:Y(`product-card-header`,t),...n,children:e})}function gk({children:e,className:t,...n}){return(0,R.jsx)(`div`,{className:Y(`product-card-body`,t),...n,children:e})}function _k({children:e,className:t,...n}){return(0,R.jsx)(`div`,{className:Y(`product-card-feedback`,t),...n,children:e})}function vk({children:e,className:t,...n}){return(0,R.jsx)(`div`,{className:Y(`product-card-footer`,t),...n,children:e})}function yk({title:e,description:t,children:n,action:r,feedback:i,secondaryAction:a,size:o=`standard`,className:s,...c}){return(0,R.jsx)(mk,{className:Y(`entry-card auth-card`,o===`wide`?`is-wide`:void 0,s),asChild:!0,children:(0,R.jsxs)(`form`,{...c,children:[(0,R.jsx)(`section`,{className:`auth-card-intro`,children:(0,R.jsxs)(hk,{className:`auth-card-header`,children:[(0,R.jsx)(`h1`,{children:e}),(0,R.jsx)(`p`,{children:t})]})}),(0,R.jsx)(`section`,{className:`auth-card-action`,children:(0,R.jsxs)(`div`,{className:`auth-card-action-content`,children:[(0,R.jsx)(gk,{children:n}),a===void 0?null:(0,R.jsx)(`div`,{className:`auth-card-secondary`,children:a}),i===void 0?null:(0,R.jsx)(_k,{children:i}),(0,R.jsx)(vk,{children:r})]})})]})})}function bk({projectName:e,hostLabel:t,hostOnline:n=!1,members:r,invitedBy:i,className:a,...o}){return(0,R.jsxs)(`section`,{className:Y(`invite-summary`,a),"aria-label":`Project invitation`,...o,children:[(0,R.jsxs)(`div`,{className:`invite-project`,children:[(0,R.jsx)(`h2`,{children:e}),(0,R.jsxs)(`p`,{className:Y(`project-line`,n?`is-online`:`is-offline`),children:[(0,R.jsx)(`span`,{className:`status-dot`,"aria-hidden":`true`}),t]})]}),r===void 0?null:(0,R.jsx)(`div`,{className:`invite-members`,children:r}),i===void 0?null:(0,R.jsxs)(`div`,{className:`invite-meta`,children:[(0,R.jsx)(`span`,{children:`Invited by`}),(0,R.jsx)(`strong`,{children:i})]})]})}function xk({label:e,value:t,action:n,className:r,...i}){return(0,R.jsxs)(`div`,{className:Y(`account-row`,r),...i,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`span`,{children:e}),(0,R.jsx)(`strong`,{children:t})]}),n]})}function Sk({title:e,accountName:t,accountAction:n,children:r,className:i,...a}){return(0,R.jsxs)(mk,{className:Y(`project-center-card`,i),...a,children:[(0,R.jsxs)(`header`,{className:`project-center-card-header`,children:[(0,R.jsx)(`h1`,{children:e}),t===void 0&&n===void 0?null:(0,R.jsxs)(`div`,{className:`project-center-account`,"aria-label":t===void 0?`Page actions`:`Signed in user`,children:[t===void 0?null:(0,R.jsx)(`span`,{className:`project-center-account-name`,children:t}),n]})]}),r]})}function Ck({action:e,description:t,descriptionId:n,disabledTrigger:r=!1,className:i,...a}){return(0,R.jsx)(`div`,{className:Y(`project-center-header-action`,i),...a,children:t===void 0?e:(0,R.jsx)(Ew,{content:t,disabledTrigger:r,side:`bottom`,...n===void 0?{}:{contentId:n},children:e})})}function wk({items:e,className:t,...n}){return(0,R.jsx)(`nav`,{className:Y(`project-scope-navigation`,t),"aria-label":`Project scope`,...n,children:(0,R.jsx)(`ul`,{children:e.map(e=>(0,R.jsx)(`li`,{children:(0,R.jsx)(`a`,{href:e.href,"aria-current":e.current===!0?`page`:void 0,...e.current!==!0&&e.onClick===void 0?{}:{onClick:t=>{e.current===!0&&t.preventDefault(),e.onClick?.(t)}},children:e.label})},e.id))})})}function Tk({items:e,action:t,className:n,...r}){return(0,R.jsxs)(`section`,{className:Y(`project-scope-toolbar`,n),...r,children:[(0,R.jsx)(wk,{items:e}),(0,R.jsx)(`div`,{className:`project-scope-toolbar-action`,children:t})]})}function Ek({command:e,terminalLabel:t=`Install and start in your terminal`,copyLabel:n=`Copy`,copyAriaLabel:r=`Copy launch command`,commandAriaLabel:i=`Launch command`,onCopyCommand:a,className:o,...s}){return(0,R.jsxs)(`section`,{className:Y(`project-launch-terminal`,o),...s,children:[(0,R.jsxs)(`div`,{className:`project-launch-terminal-bar`,children:[(0,R.jsx)(`span`,{children:t}),a===void 0?null:(0,R.jsxs)(X,{className:`project-launch-copy-button`,type:`button`,"aria-label":r,onClick:()=>a(e),children:[(0,R.jsx)(lx,{"aria-hidden":`true`}),n]})]}),(0,R.jsx)(`pre`,{className:`project-launch-command-block`,"aria-label":i,children:(0,R.jsx)(`code`,{children:(0,R.jsxs)(`span`,{className:`project-launch-command-line`,children:[(0,R.jsx)(`span`,{className:`project-launch-command-prompt`,"aria-hidden":`true`,children:`>`}),(0,R.jsx)(`span`,{children:e})]})})})]})}function Dk({open:e,onOpenChange:t,status:n=`opening`,description:r,command:i,onCopyCommand:a,retryHref:o,onRetry:s}){return(0,R.jsx)(Mk,{open:e,onOpenChange:t,title:`Projects on this computer`,description:n===`opening`?`Opening Tenso…`:`Tenso did not open in this tab.`,className:`project-local-handoff-dialog-card`,children:(0,R.jsxs)(`div`,{className:`project-local-handoff-dialog-body`,children:[(0,R.jsxs)(`div`,{className:`project-local-handoff-intro`,children:[(0,R.jsx)(`span`,{className:`project-local-handoff-icon`,"aria-hidden":`true`,children:(0,R.jsx)(Zx,{})}),(0,R.jsx)(`p`,{children:r})]}),(0,R.jsx)(Ek,{command:i,...a===void 0?{}:{onCopyCommand:a}}),n!==`failed`||o===void 0?null:(0,R.jsx)(`div`,{className:`project-local-handoff-actions`,children:(0,R.jsx)(Sw,{asChild:!0,children:(0,R.jsxs)(`a`,{href:o,...s===void 0?{}:{onClick:s},children:[(0,R.jsx)(Rx,{"aria-hidden":`true`}),`Retry`]})})})]})})}function Ok({open:e,onOpenChange:t,projectName:n,state:r,command:i,unavailableMessage:a,onCopyCommand:o}){let s=r===`loading`?{icon:(0,R.jsx)(Rx,{"aria-hidden":`true`}),message:`Reading the connection state from the running Host…`}:r===`pairing_required`?{icon:(0,R.jsx)(Zx,{"aria-hidden":`true`}),message:`In the target Feishu group, send this command once.`}:r===`connected`?{icon:(0,R.jsx)(Lx,{"aria-hidden":`true`}),message:`This project is connected to its Feishu project group.`}:r===`not_recoverable`?{icon:(0,R.jsx)(ix,{"aria-hidden":`true`}),message:`The previous pairing command is no longer available. Stop and Resume this project to issue a new one.`}:r===`account_handoff_required`?{icon:(0,R.jsx)(ix,{"aria-hidden":`true`}),message:`This Host needs a fresh Tenso account handoff. Sign in to Local Console again, then Stop and Resume the project.`}:{icon:(0,R.jsx)(ix,{"aria-hidden":`true`}),message:a??`The Feishu connection state is temporarily unavailable. Try again from Connect.`};return(0,R.jsx)(Mk,{open:e,onOpenChange:t,title:`Feishu connection`,description:`Connect ${n} to a Feishu project group.`,className:`project-local-handoff-dialog-card`,children:(0,R.jsxs)(`div`,{className:`project-local-handoff-dialog-body`,children:[(0,R.jsxs)(`div`,{className:`project-local-handoff-intro`,"aria-live":`polite`,children:[(0,R.jsx)(`span`,{className:`project-local-handoff-icon`,"aria-hidden":`true`,children:s.icon}),(0,R.jsx)(`p`,{children:s.message})]}),r===`pairing_required`&&i!==void 0?(0,R.jsx)(Ek,{command:i,terminalLabel:`Send in the target Feishu group`,copyAriaLabel:`Copy connection command`,commandAriaLabel:`Connection command`,...o===void 0?{}:{onCopyCommand:o}}):null]})})}function kk({children:e,className:t,...n}){return(0,R.jsx)(`ul`,{className:Y(`project-list`,t),"aria-label":`Recent projects`,...n,children:e})}function Ak({children:e,className:t,...n}){return(0,R.jsx)(`section`,{className:Y(`project-list-surface`,t),...n,children:(0,R.jsx)(kk,{children:e})})}function jk({children:e,className:t,...n}){return(0,R.jsx)(`li`,{className:Y(`project-list-item project-list-state-row`,t),...n,children:e})}function Mk({open:e,onOpenChange:t,title:n,description:r,headerAction:i,children:a,closeDisabled:o=!1,explicitCloseOnly:s=!1,className:c}){return(0,R.jsxs)(KD,{open:e,onOpenChange:e=>{(e||!o)&&t(e)},children:[(0,R.jsx)(QD,{className:`product-entry-dialog-overlay`}),(0,R.jsx)(nO,{asChild:!0,...r===void 0?{"aria-describedby":void 0}:{},onEscapeKeyDown:e=>{(o||s)&&e.preventDefault()},onInteractOutside:e=>{(o||s)&&e.preventDefault()},onPointerDownOutside:e=>{(o||s)&&e.preventDefault()},children:(0,R.jsxs)(mk,{className:Y(`product-entry-dialog-card`,c),children:[(0,R.jsxs)(`header`,{className:`product-entry-dialog-header`,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(sO,{children:n}),r===void 0?null:(0,R.jsx)(lO,{children:r})]}),(0,R.jsxs)(`div`,{className:`product-entry-dialog-actions`,children:[i,(0,R.jsx)(dO,{asChild:!0,children:(0,R.jsx)(xw,{type:`button`,label:`Close`,icon:(0,R.jsx)(nS,{"aria-hidden":`true`}),disabled:o})})]})]}),a]})})]})}function Nk({open:e,onOpenChange:t,inputLabel:n,placeholder:r,value:i,error:a,actionLabel:o=`Continue`,onValueChange:s,className:c,...l}){return(0,R.jsx)(Mk,{open:e,onOpenChange:t,title:`Join a project`,description:`Paste an invitation link or the full invitation message.`,className:`project-join-dialog-card`,children:(0,R.jsxs)(`form`,{className:Y(`project-join-dialog-form`,c),...l,children:[(0,R.jsxs)(`div`,{className:`project-join-dialog-body`,children:[(0,R.jsx)(Aw,{type:`text`,"aria-label":n,value:i,onChange:e=>s(e.target.value),autoFocus:!0,...r===void 0?{}:{placeholder:r}}),a==null?null:(0,R.jsx)(Fw,{children:a})]}),(0,R.jsx)(`footer`,{className:`project-join-dialog-actions`,children:(0,R.jsxs)(Sw,{type:`submit`,disabled:i.trim()===``,children:[o,(0,R.jsx)(Xb,{"aria-hidden":`true`})]})})]})})}function Pk({open:e,onOpenChange:t,steps:n,currentStep:r,children:i,action:a,backAction:o,feedback:s,closeDisabled:c=!1,explicitCloseOnly:l=!1,className:u,...d}){return(0,R.jsxs)(Mk,{open:e,onOpenChange:t,title:`New project`,description:`Step ${r+1} of ${n.length}`,closeDisabled:c,explicitCloseOnly:l,className:`local-console-create-card`,children:[(0,R.jsx)(`ol`,{className:`local-console-create-steps`,"aria-label":`New project steps`,children:n.map((e,t)=>(0,R.jsxs)(`li`,{className:Y(t===r?`is-current`:void 0,t<r?`is-complete`:void 0),"aria-current":t===r?`step`:void 0,children:[(0,R.jsx)(`span`,{"aria-hidden":`true`,children:t+1}),(0,R.jsx)(`small`,{children:e})]},e))}),(0,R.jsxs)(`form`,{className:Y(`local-console-create-form`,u),...d,children:[(0,R.jsx)(`div`,{className:`local-console-create-body`,children:i}),s===void 0?null:(0,R.jsx)(`div`,{className:`local-console-create-feedback`,children:s}),(0,R.jsxs)(`footer`,{className:`local-console-create-actions`,children:[(0,R.jsx)(`div`,{children:o}),(0,R.jsx)(`div`,{children:a})]})]})]})}function Fk({children:e,className:t,...n}){return(0,R.jsx)(`div`,{className:Y(`local-console-form-grid`,t),...n,children:e})}function Ik({children:e,className:t,...n}){return(0,R.jsx)(`div`,{className:Y(`local-console-inline-actions`,t),...n,children:e})}function Lk({title:e,children:t}){return(0,R.jsxs)(`details`,{className:`local-console-field-group product-disclosure`,children:[(0,R.jsx)(`summary`,{children:e}),(0,R.jsx)(`div`,{className:`local-console-field-group-body`,children:t})]})}function Rk({title:e,description:t,children:n,className:r,...i}){return(0,R.jsxs)(`section`,{className:Y(`local-console-field-group`,r),...i,children:[(0,R.jsxs)(`header`,{children:[(0,R.jsx)(`strong`,{children:e}),t===void 0?null:(0,R.jsx)(`small`,{children:t})]}),(0,R.jsx)(`div`,{className:`local-console-field-group-body`,children:n})]})}function zk({path:e,className:t,...n}){let r=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`)),i=r>0&&r<e.length-1;return(0,R.jsx)(`span`,{className:Y(`local-console-project-path`,t),title:e,...n,children:i?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`span`,{className:`local-console-project-path-prefix`,children:e.slice(0,r)}),(0,R.jsx)(`span`,{className:`local-console-project-path-separator`,children:e[r]}),(0,R.jsx)(`span`,{className:`local-console-project-path-name`,children:e.slice(r+1)})]}):(0,R.jsx)(`span`,{className:`local-console-project-path-name`,children:e})})}function Bk({title:e,status:t,path:n,createdLabel:r,modelLabel:i,surfaceLabel:a,actions:o,className:s,...c}){return(0,R.jsx)(`li`,{className:Y(`project-list-item`,`local-console-project-item`,s),...c,children:(0,R.jsxs)(`div`,{className:Y(`local-console-project-row`,t===`stopped`?`is-inactive`:`is-active`),children:[(0,R.jsx)(QO,{status:t}),(0,R.jsxs)(`span`,{className:`project-list-identity`,children:[(0,R.jsx)(`span`,{className:`local-console-project-title`,children:(0,R.jsx)(`strong`,{children:e})}),i===void 0&&a===void 0?null:(0,R.jsxs)(`span`,{className:`local-console-project-signals`,children:[i===void 0?null:(0,R.jsx)(`small`,{className:`local-console-provider-model`,children:i}),a===void 0?null:(0,R.jsx)(`small`,{className:`local-console-project-surface`,children:a})]})]}),(0,R.jsxs)(`span`,{className:`local-console-project-metadata`,children:[(0,R.jsx)(`strong`,{className:`local-console-project-date`,children:r}),(0,R.jsx)(zk,{path:n})]}),(0,R.jsx)(`span`,{className:`local-console-project-actions`,children:o})]})})}function Vk(e,t){let n=t||{};return(e[e.length-1]===``?[...e,``]:e).join((n.padRight?` `:``)+`,`+(n.padLeft===!1?``:` `)).trim()}var Hk=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Uk=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Wk={};function Gk(e,t){return((t||Wk).jsx?Uk:Hk).test(e)}var Kk=/[ \t\n\f\r]/g;function qk(e){return typeof e==`object`?e.type===`text`?Jk(e.value):!1:Jk(e)}function Jk(e){return e.replace(Kk,``)===``}var Yk=class{constructor(e,t,n){this.normal=t,this.property=e,n&&(this.space=n)}};Yk.prototype.normal={},Yk.prototype.property={},Yk.prototype.space=void 0;function Xk(e,t){let n={},r={};for(let t of e)Object.assign(n,t.property),Object.assign(r,t.normal);return new Yk(n,r,t)}function Zk(e){return e.toLowerCase()}var Qk=class{constructor(e,t){this.attribute=t,this.property=e}};Qk.prototype.attribute=``,Qk.prototype.booleanish=!1,Qk.prototype.boolean=!1,Qk.prototype.commaOrSpaceSeparated=!1,Qk.prototype.commaSeparated=!1,Qk.prototype.defined=!1,Qk.prototype.mustUseProperty=!1,Qk.prototype.number=!1,Qk.prototype.overloadedBoolean=!1,Qk.prototype.property=``,Qk.prototype.spaceSeparated=!1,Qk.prototype.space=void 0;var $k=s({boolean:()=>tA,booleanish:()=>nA,commaOrSpaceSeparated:()=>oA,commaSeparated:()=>aA,number:()=>Z,overloadedBoolean:()=>rA,spaceSeparated:()=>iA}),eA=0,tA=sA(),nA=sA(),rA=sA(),Z=sA(),iA=sA(),aA=sA(),oA=sA();function sA(){return 2**++eA}var cA=Object.keys($k),lA=class extends Qk{constructor(e,t,n,r){let i=-1;if(super(e,t),uA(this,`space`,r),typeof n==`number`)for(;++i<cA.length;){let e=cA[i];uA(this,cA[i],(n&$k[e])===$k[e])}}};lA.prototype.defined=!0;function uA(e,t,n){n&&(e[t]=n)}function dA(e){let t={},n={};for(let[r,i]of Object.entries(e.properties)){let a=new lA(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(a.mustUseProperty=!0),t[r]=a,n[Zk(r)]=r,n[Zk(a.attribute)]=r}return new Yk(t,n,e.space)}var fA=dA({properties:{ariaActiveDescendant:null,ariaAtomic:nA,ariaAutoComplete:null,ariaBusy:nA,ariaChecked:nA,ariaColCount:Z,ariaColIndex:Z,ariaColSpan:Z,ariaControls:iA,ariaCurrent:null,ariaDescribedBy:iA,ariaDetails:null,ariaDisabled:nA,ariaDropEffect:iA,ariaErrorMessage:null,ariaExpanded:nA,ariaFlowTo:iA,ariaGrabbed:nA,ariaHasPopup:null,ariaHidden:nA,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:iA,ariaLevel:Z,ariaLive:null,ariaModal:nA,ariaMultiLine:nA,ariaMultiSelectable:nA,ariaOrientation:null,ariaOwns:iA,ariaPlaceholder:null,ariaPosInSet:Z,ariaPressed:nA,ariaReadOnly:nA,ariaRelevant:null,ariaRequired:nA,ariaRoleDescription:iA,ariaRowCount:Z,ariaRowIndex:Z,ariaRowSpan:Z,ariaSelected:nA,ariaSetSize:Z,ariaSort:null,ariaValueMax:Z,ariaValueMin:Z,ariaValueNow:Z,ariaValueText:null,role:null},transform(e,t){return t===`role`?t:`aria-`+t.slice(4).toLowerCase()}});function pA(e,t){return t in e?e[t]:t}function mA(e,t){return pA(e,t.toLowerCase())}var hA=dA({attributes:{acceptcharset:`accept-charset`,classname:`class`,htmlfor:`for`,httpequiv:`http-equiv`},mustUseProperty:[`checked`,`multiple`,`muted`,`selected`],properties:{abbr:null,accept:aA,acceptCharset:iA,accessKey:iA,action:null,allow:null,allowFullScreen:tA,allowPaymentRequest:tA,allowUserMedia:tA,alt:null,as:null,async:tA,autoCapitalize:null,autoComplete:iA,autoFocus:tA,autoPlay:tA,blocking:iA,capture:null,charSet:null,checked:tA,cite:null,className:iA,cols:Z,colSpan:null,content:null,contentEditable:nA,controls:tA,controlsList:iA,coords:Z|aA,crossOrigin:null,data:null,dateTime:null,decoding:null,default:tA,defer:tA,dir:null,dirName:null,disabled:tA,download:rA,draggable:nA,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:tA,formTarget:null,headers:iA,height:Z,hidden:rA,high:Z,href:null,hrefLang:null,htmlFor:iA,httpEquiv:iA,id:null,imageSizes:null,imageSrcSet:null,inert:tA,inputMode:null,integrity:null,is:null,isMap:tA,itemId:null,itemProp:iA,itemRef:iA,itemScope:tA,itemType:iA,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:tA,low:Z,manifest:null,max:null,maxLength:Z,media:null,method:null,min:null,minLength:Z,multiple:tA,muted:tA,name:null,nonce:null,noModule:tA,noValidate:tA,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:tA,optimum:Z,pattern:null,ping:iA,placeholder:null,playsInline:tA,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:tA,referrerPolicy:null,rel:iA,required:tA,reversed:tA,rows:Z,rowSpan:Z,sandbox:iA,scope:null,scoped:tA,seamless:tA,selected:tA,shadowRootClonable:tA,shadowRootDelegatesFocus:tA,shadowRootMode:null,shape:null,size:Z,sizes:null,slot:null,span:Z,spellCheck:nA,src:null,srcDoc:null,srcLang:null,srcSet:null,start:Z,step:null,style:null,tabIndex:Z,target:null,title:null,translate:null,type:null,typeMustMatch:tA,useMap:null,value:nA,width:Z,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:iA,axis:null,background:null,bgColor:null,border:Z,borderColor:null,bottomMargin:Z,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:tA,declare:tA,event:null,face:null,frame:null,frameBorder:null,hSpace:Z,leftMargin:Z,link:null,longDesc:null,lowSrc:null,marginHeight:Z,marginWidth:Z,noResize:tA,noHref:tA,noShade:tA,noWrap:tA,object:null,profile:null,prompt:null,rev:null,rightMargin:Z,rules:null,scheme:null,scrolling:nA,standby:null,summary:null,text:null,topMargin:Z,valueType:null,version:null,vAlign:null,vLink:null,vSpace:Z,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:tA,disableRemotePlayback:tA,prefix:null,property:null,results:Z,security:null,unselectable:null},space:`html`,transform:mA}),gA=dA({attributes:{accentHeight:`accent-height`,alignmentBaseline:`alignment-baseline`,arabicForm:`arabic-form`,baselineShift:`baseline-shift`,capHeight:`cap-height`,className:`class`,clipPath:`clip-path`,clipRule:`clip-rule`,colorInterpolation:`color-interpolation`,colorInterpolationFilters:`color-interpolation-filters`,colorProfile:`color-profile`,colorRendering:`color-rendering`,crossOrigin:`crossorigin`,dataType:`datatype`,dominantBaseline:`dominant-baseline`,enableBackground:`enable-background`,fillOpacity:`fill-opacity`,fillRule:`fill-rule`,floodColor:`flood-color`,floodOpacity:`flood-opacity`,fontFamily:`font-family`,fontSize:`font-size`,fontSizeAdjust:`font-size-adjust`,fontStretch:`font-stretch`,fontStyle:`font-style`,fontVariant:`font-variant`,fontWeight:`font-weight`,glyphName:`glyph-name`,glyphOrientationHorizontal:`glyph-orientation-horizontal`,glyphOrientationVertical:`glyph-orientation-vertical`,hrefLang:`hreflang`,horizAdvX:`horiz-adv-x`,horizOriginX:`horiz-origin-x`,horizOriginY:`horiz-origin-y`,imageRendering:`image-rendering`,letterSpacing:`letter-spacing`,lightingColor:`lighting-color`,markerEnd:`marker-end`,markerMid:`marker-mid`,markerStart:`marker-start`,navDown:`nav-down`,navDownLeft:`nav-down-left`,navDownRight:`nav-down-right`,navLeft:`nav-left`,navNext:`nav-next`,navPrev:`nav-prev`,navRight:`nav-right`,navUp:`nav-up`,navUpLeft:`nav-up-left`,navUpRight:`nav-up-right`,onAbort:`onabort`,onActivate:`onactivate`,onAfterPrint:`onafterprint`,onBeforePrint:`onbeforeprint`,onBegin:`onbegin`,onCancel:`oncancel`,onCanPlay:`oncanplay`,onCanPlayThrough:`oncanplaythrough`,onChange:`onchange`,onClick:`onclick`,onClose:`onclose`,onCopy:`oncopy`,onCueChange:`oncuechange`,onCut:`oncut`,onDblClick:`ondblclick`,onDrag:`ondrag`,onDragEnd:`ondragend`,onDragEnter:`ondragenter`,onDragExit:`ondragexit`,onDragLeave:`ondragleave`,onDragOver:`ondragover`,onDragStart:`ondragstart`,onDrop:`ondrop`,onDurationChange:`ondurationchange`,onEmptied:`onemptied`,onEnd:`onend`,onEnded:`onended`,onError:`onerror`,onFocus:`onfocus`,onFocusIn:`onfocusin`,onFocusOut:`onfocusout`,onHashChange:`onhashchange`,onInput:`oninput`,onInvalid:`oninvalid`,onKeyDown:`onkeydown`,onKeyPress:`onkeypress`,onKeyUp:`onkeyup`,onLoad:`onload`,onLoadedData:`onloadeddata`,onLoadedMetadata:`onloadedmetadata`,onLoadStart:`onloadstart`,onMessage:`onmessage`,onMouseDown:`onmousedown`,onMouseEnter:`onmouseenter`,onMouseLeave:`onmouseleave`,onMouseMove:`onmousemove`,onMouseOut:`onmouseout`,onMouseOver:`onmouseover`,onMouseUp:`onmouseup`,onMouseWheel:`onmousewheel`,onOffline:`onoffline`,onOnline:`ononline`,onPageHide:`onpagehide`,onPageShow:`onpageshow`,onPaste:`onpaste`,onPause:`onpause`,onPlay:`onplay`,onPlaying:`onplaying`,onPopState:`onpopstate`,onProgress:`onprogress`,onRateChange:`onratechange`,onRepeat:`onrepeat`,onReset:`onreset`,onResize:`onresize`,onScroll:`onscroll`,onSeeked:`onseeked`,onSeeking:`onseeking`,onSelect:`onselect`,onShow:`onshow`,onStalled:`onstalled`,onStorage:`onstorage`,onSubmit:`onsubmit`,onSuspend:`onsuspend`,onTimeUpdate:`ontimeupdate`,onToggle:`ontoggle`,onUnload:`onunload`,onVolumeChange:`onvolumechange`,onWaiting:`onwaiting`,onZoom:`onzoom`,overlinePosition:`overline-position`,overlineThickness:`overline-thickness`,paintOrder:`paint-order`,panose1:`panose-1`,pointerEvents:`pointer-events`,referrerPolicy:`referrerpolicy`,renderingIntent:`rendering-intent`,shapeRendering:`shape-rendering`,stopColor:`stop-color`,stopOpacity:`stop-opacity`,strikethroughPosition:`strikethrough-position`,strikethroughThickness:`strikethrough-thickness`,strokeDashArray:`stroke-dasharray`,strokeDashOffset:`stroke-dashoffset`,strokeLineCap:`stroke-linecap`,strokeLineJoin:`stroke-linejoin`,strokeMiterLimit:`stroke-miterlimit`,strokeOpacity:`stroke-opacity`,strokeWidth:`stroke-width`,tabIndex:`tabindex`,textAnchor:`text-anchor`,textDecoration:`text-decoration`,textRendering:`text-rendering`,transformOrigin:`transform-origin`,typeOf:`typeof`,underlinePosition:`underline-position`,underlineThickness:`underline-thickness`,unicodeBidi:`unicode-bidi`,unicodeRange:`unicode-range`,unitsPerEm:`units-per-em`,vAlphabetic:`v-alphabetic`,vHanging:`v-hanging`,vIdeographic:`v-ideographic`,vMathematical:`v-mathematical`,vectorEffect:`vector-effect`,vertAdvY:`vert-adv-y`,vertOriginX:`vert-origin-x`,vertOriginY:`vert-origin-y`,wordSpacing:`word-spacing`,writingMode:`writing-mode`,xHeight:`x-height`,playbackOrder:`playbackorder`,timelineBegin:`timelinebegin`},properties:{about:oA,accentHeight:Z,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:Z,amplitude:Z,arabicForm:null,ascent:Z,attributeName:null,attributeType:null,azimuth:Z,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:Z,by:null,calcMode:null,capHeight:Z,className:iA,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:Z,diffuseConstant:Z,direction:null,display:null,dur:null,divisor:Z,dominantBaseline:null,download:tA,dx:null,dy:null,edgeMode:null,editable:null,elevation:Z,enableBackground:null,end:null,event:null,exponent:Z,externalResourcesRequired:null,fill:null,fillOpacity:Z,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:aA,g2:aA,glyphName:aA,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:Z,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:Z,horizOriginX:Z,horizOriginY:Z,id:null,ideographic:Z,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:Z,k:Z,k1:Z,k2:Z,k3:Z,k4:Z,kernelMatrix:oA,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:Z,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:Z,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:Z,overlineThickness:Z,paintOrder:null,panose1:null,path:null,pathLength:Z,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:iA,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:Z,pointsAtY:Z,pointsAtZ:Z,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:oA,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:oA,rev:oA,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:oA,requiredFeatures:oA,requiredFonts:oA,requiredFormats:oA,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:Z,specularExponent:Z,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:Z,strikethroughThickness:Z,string:null,stroke:null,strokeDashArray:oA,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:Z,strokeOpacity:Z,strokeWidth:null,style:null,surfaceScale:Z,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:oA,tabIndex:Z,tableValues:null,target:null,targetX:Z,targetY:Z,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:oA,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:Z,underlineThickness:Z,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:Z,values:null,vAlphabetic:Z,vMathematical:Z,vectorEffect:null,vHanging:Z,vIdeographic:Z,version:null,vertAdvY:Z,vertOriginX:Z,vertOriginY:Z,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:Z,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:`svg`,transform:pA}),_A=dA({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:`xlink`,transform(e,t){return`xlink:`+t.slice(5).toLowerCase()}}),vA=dA({attributes:{xmlnsxlink:`xmlns:xlink`},properties:{xmlnsXLink:null,xmlns:null},space:`xmlns`,transform:mA}),yA=dA({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:`xml`,transform(e,t){return`xml:`+t.slice(3).toLowerCase()}}),bA={classId:`classID`,dataType:`datatype`,itemId:`itemID`,strokeDashArray:`strokeDasharray`,strokeDashOffset:`strokeDashoffset`,strokeLineCap:`strokeLinecap`,strokeLineJoin:`strokeLinejoin`,strokeMiterLimit:`strokeMiterlimit`,typeOf:`typeof`,xLinkActuate:`xlinkActuate`,xLinkArcRole:`xlinkArcrole`,xLinkHref:`xlinkHref`,xLinkRole:`xlinkRole`,xLinkShow:`xlinkShow`,xLinkTitle:`xlinkTitle`,xLinkType:`xlinkType`,xmlnsXLink:`xmlnsXlink`},xA=/[A-Z]/g,SA=/-[a-z]/g,CA=/^data[-\w.:]+$/i;function wA(e,t){let n=Zk(t),r=t,i=Qk;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)===`data`&&CA.test(t)){if(t.charAt(4)===`-`){let e=t.slice(5).replace(SA,EA);r=`data`+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=t.slice(4);if(!SA.test(e)){let n=e.replace(xA,TA);n.charAt(0)!==`-`&&(n=`-`+n),t=`data`+n}}i=lA}return new i(r,t)}function TA(e){return`-`+e.toLowerCase()}function EA(e){return e.charAt(1).toUpperCase()}var DA=Xk([fA,hA,_A,vA,yA],`html`),OA=Xk([fA,gA,_A,vA,yA],`svg`);function kA(e){return e.join(` `).trim()}var AA=o(((e,t)=>{var n=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,r=/\n/g,i=/^\s*/,a=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,c=/^[;\s]*/,l=/^\s+|\s+$/g,u=`
49
+ `},wD=0,TD=[];function ED(e){var t=L.useRef([]),n=L.useRef([0,0]),r=L.useRef(),i=L.useState(wD++)[0],a=L.useState(JE)[0],o=L.useRef(e);L.useEffect(function(){o.current=e},[e]),L.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=CE([e.lockRef.current],(e.shards||[]).map(xD),!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=L.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=yD(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=fD(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=fD(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 vD(h,t,e,h===`h`?s:c,!0)},[]),c=L.useCallback(function(e){var n=e;if(!(!TD.length||TD[TD.length-1]!==a)){var r=`deltaY`in n?bD(n):yD(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&SD(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(xD).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=L.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:DD(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=L.useCallback(function(e){n.current=yD(e),r.current=void 0},[]),d=L.useCallback(function(t){l(t.type,bD(t),t.target,s(t,e.lockRef.current))},[]),f=L.useCallback(function(t){l(t.type,yD(t),t.target,s(t,e.lockRef.current))},[]);L.useEffect(function(){return TD.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,sD),document.addEventListener(`touchmove`,c,sD),document.addEventListener(`touchstart`,u,sD),function(){TD=TD.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,sD),document.removeEventListener(`touchmove`,c,sD),document.removeEventListener(`touchstart`,u,sD)}},[]);var p=e.removeScrollBar,m=e.inert;return L.createElement(L.Fragment,null,m?L.createElement(a,{styles:CD(i)}):null,p?L.createElement(iD,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function DD(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var OD=LE(RE,ED),kD=L.forwardRef(function(e,t){return L.createElement(BE,xE({},e,{ref:t,sideCar:OD}))});kD.classNames=BE.classNames;var AD=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},jD=new WeakMap,MD=new WeakMap,ND={},PD=0,FD=function(e){return e&&(e.host||FD(e.parentNode))},ID=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=FD(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})},LD=function(e,t,n,r){var i=ID(t,Array.isArray(e)?e:[e]);ND[n]||(ND[n]=new WeakMap);var a=ND[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=(jD.get(e)||0)+1,l=(a.get(e)||0)+1;jD.set(e,c),a.set(e,l),o.push(e),c===1&&i&&MD.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(),PD++,function(){o.forEach(function(e){var t=jD.get(e)-1,i=a.get(e)-1;jD.set(e,t),a.set(e,i),t||(MD.has(e)||e.removeAttribute(r),MD.delete(e)),i||e.removeAttribute(n)}),PD--,PD||(jD=new WeakMap,jD=new WeakMap,MD=new WeakMap,ND={})}},RD=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||AD(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),LD(r,i,n,`aria-hidden`)):function(){return null}},zD=Object.defineProperty,BD=(e,t)=>zD(e,`name`,{value:t,configurable:!0}),VD=`Dialog`,[HD,UD]=Qw(VD),[WD,GD]=HD(VD),KD=BD(e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=L.useRef(null),c=L.useRef(null),[l,u]=mT({prop:r,defaultProp:i??!1,onChange:a,caller:VD}),[d,f]=L.useState(0),[p,m]=L.useState(0);return(0,R.jsx)(WD,{scope:t,triggerRef:s,contentRef:c,contentId:aT(),titleId:aT(),descriptionId:aT(),titlePresent:d>0,descriptionPresent:p>0,setTitleCount:f,setDescriptionCount:m,open:l,onOpenChange:u,onOpenToggle:L.useCallback(()=>u(e=>!e),[u]),modal:o,children:n})},`Dialog`),qD=`DialogPortal`,[JD,YD]=HD(qD,{forceMount:void 0}),XD=BD(e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=GD(qD,t);return(0,R.jsx)(JD,{scope:t,forceMount:n,children:L.Children.map(r,e=>(0,R.jsx)(cE,{present:n||a.open,children:(0,R.jsx)(iE,{asChild:!0,container:i,children:e})}))})},`DialogPortal`),ZD=`DialogOverlay`,QD=L.forwardRef(BD(function(e,t){let n=YD(ZD,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=GD(ZD,e.__scopeDialog);return a.modal?(0,R.jsx)(cE,{present:r||a.open,children:(0,R.jsx)(eO,{...i,ref:t})}):null},`DialogOverlay`)),$D=aw(`DialogOverlay.RemoveScroll`),eO=L.forwardRef(BD(function(e,t){let{__scopeDialog:n,...r}=e,i=GD(ZD,n),a=nw(t,PT());return(0,R.jsx)(kD,{as:$D,allowPinchZoom:!0,shards:[i.contentRef],children:(0,R.jsx)(xT.div,{"data-state":fO(i.open),...r,ref:a,style:{pointerEvents:`auto`,...r.style}})})},`DialogOverlayImpl`)),tO=`DialogContent`,nO=L.forwardRef(BD(function(e,t){let n=YD(tO,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=GD(tO,e.__scopeDialog);return(0,R.jsx)(cE,{present:r||a.open,children:a.modal?(0,R.jsx)(rO,{...i,ref:t}):(0,R.jsx)(iO,{...i,ref:t})})},`DialogContent`)),rO=L.forwardRef(BD(function(e,t){let n=GD(tO,e.__scopeDialog),r=L.useRef(null),i=nw(t,n.contentRef,r);return L.useEffect(()=>{let e=r.current;if(e)return RD(e)},[]),(0,R.jsx)(aO,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:Ww(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:Ww(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:Ww(e.onFocusOutside,e=>e.preventDefault())})},`DialogContentModal`)),iO=L.forwardRef(BD(function(e,t){let n=GD(tO,e.__scopeDialog),r=L.useRef(!1),i=L.useRef(!1);return(0,R.jsx)(aO,{...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()}})},`DialogContentNonModal`)),aO=L.forwardRef(BD(function(e,t){let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=GD(tO,n);return yE(),(0,R.jsx)(R.Fragment,{children:(0,R.jsx)(GT,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,R.jsx)(NT,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionPresent?s.descriptionId:void 0,"aria-labelledby":s.titlePresent?s.titleId:void 0,"data-state":fO(s.open),...o,ref:t,deferPointerDownOutside:!0,onDismiss:()=>s.onOpenChange(!1)})})})},`DialogContentImpl`)),oO=`DialogTitle`,sO=L.forwardRef(BD(function(e,t){let{__scopeDialog:n,...r}=e,i=GD(oO,n),{setTitleCount:a}=i;return eT(()=>(a(e=>e+1),()=>a(e=>e-1)),[a]),(0,R.jsx)(xT.h2,{id:i.titleId,...r,ref:t})},`DialogTitle`)),cO=`DialogDescription`,lO=L.forwardRef(BD(function(e,t){let{__scopeDialog:n,...r}=e,i=GD(cO,n),{setDescriptionCount:a}=i;return eT(()=>(a(e=>e+1),()=>a(e=>e-1)),[a]),(0,R.jsx)(xT.p,{id:i.descriptionId,...r,ref:t})},`DialogDescription`)),uO=`DialogClose`,dO=L.forwardRef(BD(function(e,t){let{__scopeDialog:n,...r}=e,i=GD(uO,n);return(0,R.jsx)(xT.button,{type:`button`,...r,ref:t,onClick:Ww(e.onClick,()=>i.onOpenChange(!1))})},`DialogClose`));function fO(e){return e?`open`:`closed`}BD(fO,`getState`);function pO({brand:e,visual:t,auth:n,mobileAuth:r,footer:i,className:a,...o}){return(0,R.jsxs)(`section`,{className:Y(`homepage-entry`,a),...o,children:[(0,R.jsxs)(`div`,{className:`homepage-entry-desktop`,children:[(0,R.jsxs)(`section`,{className:`homepage-entry-visual-column`,"aria-label":`Tenso product preview`,children:[(0,R.jsx)(`div`,{className:`homepage-entry-brand`,children:e}),(0,R.jsx)(`div`,{className:`homepage-entry-visual`,children:t})]}),(0,R.jsxs)(`aside`,{className:`homepage-entry-auth-rail`,"aria-label":`Sign in to Tenso`,children:[(0,R.jsx)(`div`,{className:`homepage-entry-auth-content`,children:n}),i===void 0?null:(0,R.jsx)(`div`,{className:`homepage-entry-auth-footnote`,children:i})]})]}),(0,R.jsxs)(`section`,{className:`homepage-entry-mobile`,"aria-label":`Sign in to Tenso`,children:[(0,R.jsx)(`div`,{className:`product-appbar`,children:e}),(0,R.jsx)(`div`,{className:`auth-shell`,children:r}),i===void 0?null:(0,R.jsx)(`div`,{className:`homepage-entry-mobile-footnote`,children:i})]})]})}function mO({className:e,...t}){return(0,R.jsx)(`p`,{className:Y(`product-entry-footnote`,e),...t})}function hO({title:e,description:t,children:n,action:r,feedback:i,secondaryAction:a,className:o,...s}){return(0,R.jsxs)(`form`,{className:Y(`product-entry-auth-form`,o),...s,children:[(0,R.jsxs)(`header`,{className:`product-entry-auth-header`,children:[(0,R.jsx)(`h1`,{children:e}),(0,R.jsx)(`p`,{children:t})]}),(0,R.jsx)(`div`,{className:`product-entry-auth-body`,children:n}),a===void 0?null:(0,R.jsx)(`div`,{className:`product-entry-auth-secondary`,children:a}),i===void 0?null:(0,R.jsx)(`div`,{className:`product-entry-auth-feedback`,children:i}),(0,R.jsx)(`footer`,{className:`product-entry-auth-footer`,children:r})]})}var gO=40.1,_O=gO+.6,vO={openingFadeEnd:1.05,chatEnd:7.45,scratchpadPanEnd:8.8,scratchpadEnd:17.8,runCursorStart:17.95,runCursorArrive:18.65,runClickStart:18.67,runEnd:18.9,executionPrepareEnd:20.35,executionImplementEnd:24.55,executionValidateEnd:26.35,executionComplete:28.15,executionEnd:28.95,fullWorkspace:30.95,artifactLive:30.55,artifactClick:32.65,artifactScroll:36.1,artifactScrollEnd:39.55,finalHoldEnd:gO,fadeEnd:_O},yO={centerX:.325,centerY:.25,scale:1.62},bO={centerX:.325,centerY:.47,scale:1.64},xO={centerX:.855,centerY:.23,scale:1.72},SO={centerX:.855,centerY:.35,scale:1.72},CO={centerX:.855,centerY:.79,scale:1.72},wO={centerX:.5,centerY:.5,scale:1},TO=[{start:1.35,end:5.95,from:yO,to:bO,linearPosition:!0},{start:7.45,end:8.8,from:bO,to:xO},{start:8.8,end:14.3,from:xO,to:SO,linearPosition:!0},{start:14.6,end:17.8,from:SO,to:CO},{start:vO.executionEnd,end:vO.fullWorkspace,from:CO,to:wO}];function EO(e,t=0,n=1){return Math.min(n,Math.max(t,e))}function DO(e){return 1-(1-EO(e))**3}function OO(e){let t=EO(e);return t<.5?4*t*t*t:1-(-2*t+2)**3/2}function kO(e){let t=EO(e);return t<.5?16*t**5:1-(-2*t+2)**5/2}function AO(e,t,n,r=DO){let i=Math.max(.001,n-t);return r(EO((e-t)/i))}function jO(e,t,n){return e+(t-e)*n}function MO(e,t){let n=EO((t-e.start)/Math.max(.001,e.end-e.start)),r=e.linearPosition?n:kO(n);return{centerX:jO(e.from.centerX,e.to.centerX,r),centerY:jO(e.from.centerY,e.to.centerY,r),scale:jO(e.from.scale,e.to.scale,e.linearPosition?n:OO(n))}}function NO(e){if(e<TO[0].start)return yO;for(let t of TO)if(e<=t.end)return e<t.start?t.from:MO(t,e);return wO}function PO(e){return e>=vO.executionComplete?{id:`complete`,label:`Task completed`}:e>=vO.executionValidateEnd?{id:`update`,label:`Synchronizing project`}:e>=vO.executionImplementEnd?{id:`validate`,label:`Validating result`}:e>=vO.executionPrepareEnd?{id:`implement`,label:`Implementing with Codex`}:{id:`prepare`,label:`Preparing workspace`}}function FO(e){return AO(e,vO.artifactScroll,vO.artifactScrollEnd,OO)}function IO(e){return 1-AO(e,gO,_O,OO)}var LO=1500,RO=1e3,zO=2.5,BO=`(min-width: 980px) and (prefers-reduced-motion: no-preference)`,VO=(0,L.lazy)(async()=>({default:(await vS(()=>import(`./homepage-motion-scene-VTaJfW68.js`),[])).HomepageMotionScene}));function HO(e){let[t,n]=(0,L.useState)(()=>typeof window>`u`||typeof window.matchMedia!=`function`?!0:window.matchMedia(e).matches);return(0,L.useEffect)(()=>{if(typeof window.matchMedia!=`function`)return;let t=window.matchMedia(e),r=()=>n(t.matches);return r(),t.addEventListener(`change`,r),()=>t.removeEventListener(`change`,r)},[e]),t}function UO(){return HO(BO)}function WO(e,t){let[n,r]=(0,L.useState)({elapsed:0,cycle:0}),i=(0,L.useRef)(null),a=_O+t;return(0,L.useEffect)(()=>{if(!e){i.current=null;return}let t=0,n=e=>{let o=i.current??e;i.current=e;let s=Math.min(.1,(e-o)/1e3);r(e=>{let t=e.elapsed+s;return t<a?{...e,elapsed:t}:{elapsed:t%a,cycle:e.cycle+1}}),t=window.requestAnimationFrame(n)};return t=window.requestAnimationFrame(n),()=>window.cancelAnimationFrame(t)},[a,e]),{cycle:n.cycle,time:Math.min(n.elapsed,_O)}}function GO(e,t){let[n,r]=(0,L.useState)(0),i=(0,L.useRef)(t),a=(0,L.useRef)(!1);return i.current=t,(0,L.useEffect)(()=>{if(r(0),a.current=!1,!e)return;let t=0,n=null,o=e=>{n??=e;let s=Math.min((e-n)/1e3,_O);if(r(s),s>=_O){a.current||(a.current=!0,i.current());return}t=window.requestAnimationFrame(o)};return t=window.requestAnimationFrame(o),()=>window.cancelAnimationFrame(t)},[e]),n}function KO(e){let t=(0,L.useRef)(null),[n,r]=(0,L.useState)(0);return(0,L.useLayoutEffect)(()=>{if(!e)return;let n=t.current;if(n===null)return;let i=()=>{let e=n.getBoundingClientRect(),t=Math.min(e.width/LO,e.height/RO);r(Number.isFinite(t)?t:0)};if(i(),typeof ResizeObserver>`u`)return;let a=new ResizeObserver(i);return a.observe(n),()=>a.disconnect()},[e]),{frameRef:t,masterScale:n}}function qO({assets:e,enabled:t,sceneKey:n,time:r,className:i,...a}){let{frameRef:o,masterScale:s}=KO(t);return t?(0,R.jsx)(`div`,{ref:o,className:Y(`homepage-motion-frame`,i),...a,children:(0,R.jsx)(`div`,{className:`homepage-motion-master`,style:{"--homepage-motion-scale":s},children:(0,R.jsx)(L.Suspense,{fallback:null,children:(0,R.jsx)(VO,{time:r,assets:e},n)})})}):null}function JO({assets:e,idleSeconds:t=zO,className:n,...r}){let i=UO(),a=WO(i,Math.max(0,t));return(0,R.jsx)(qO,{...r,assets:e,enabled:i,sceneKey:a.cycle,time:a.time,className:n})}function YO({assets:e,onComplete:t,className:n,...r}){let i=UO(),a=GO(i,(0,L.useCallback)(()=>t(),[t]));return(0,R.jsx)(qO,{...r,assets:e,enabled:i,time:a,className:n})}function XO({onOpen:e,onDismiss:t,className:n,...r}){return(0,R.jsxs)(`aside`,{className:Y(`product-tour-pill`,n),"aria-label":`Product tour`,...r,children:[(0,R.jsxs)(X,{type:`button`,className:`product-tour-pill-open`,onClick:e,children:[(0,R.jsx)(`span`,{className:`product-tour-pill-icon`,"aria-hidden":`true`,children:(0,R.jsx)(ix,{})}),(0,R.jsxs)(`span`,{className:`product-tour-pill-copy`,children:[(0,R.jsx)(`strong`,{children:`New to Tenso?`}),(0,R.jsx)(`span`,{children:`Take a tour`})]})]}),(0,R.jsx)(xw,{type:`button`,className:`product-tour-pill-dismiss`,label:`Dismiss product tour`,icon:(0,R.jsx)(nS,{"aria-hidden":`true`}),onClick:t})]})}function ZO({assets:e,open:t,onOpenChange:n}){let r=UO();return(0,L.useEffect)(()=>{t&&!r&&n(!1)},[r,n,t]),r?(0,R.jsx)(KD,{open:t,onOpenChange:n,children:(0,R.jsxs)(XD,{children:[(0,R.jsx)(QD,{className:`product-tour-dialog-overlay`}),(0,R.jsxs)(nO,{className:`product-tour-dialog-content`,onInteractOutside:e=>e.preventDefault(),onPointerDownOutside:e=>e.preventDefault(),children:[(0,R.jsx)(sO,{className:`product-tour-dialog-title`,children:`Welcome to Tenso`}),(0,R.jsx)(dO,{asChild:!0,children:(0,R.jsx)(xw,{type:`button`,className:`product-tour-dialog-close`,label:`Close product tour`,icon:(0,R.jsx)(nS,{"aria-hidden":`true`})})}),t?(0,R.jsx)(YO,{className:`product-tour-dialog-motion`,assets:e,onComplete:()=>n(!1)}):null]})]})}):null}function QO({status:e,className:t,...n}){let r=e===`online`?`Online`:e===`connecting`?`Connecting`:e===`stopped`?`Stopped`:e===`offline`?`Offline`:`Status unknown`,i=e===`online`?(0,R.jsx)(Lx,{"aria-hidden":`true`}):e===`connecting`?(0,R.jsx)(Rx,{"aria-hidden":`true`}):e===`stopped`?(0,R.jsx)(Fx,{"aria-hidden":`true`}):e===`offline`?(0,R.jsx)(eS,{"aria-hidden":`true`}):(0,R.jsx)(ix,{"aria-hidden":`true`});return(0,R.jsx)(`span`,{className:Y(`project-list-status-icon`,`is-${e}`,t),"aria-label":r,role:`img`,...n,children:i})}function $O(e){let t=(0,L.useId)();return(0,R.jsxs)(`fieldset`,{className:`product-choice-cards`,disabled:e.disabled,children:[(0,R.jsx)(`legend`,{children:e.legend}),(0,R.jsx)(`div`,{children:e.options.map(n=>(0,R.jsxs)(`label`,{className:Y(`product-choice-card`,n.value===e.value&&`is-selected`),children:[(0,R.jsx)(`input`,{type:`radio`,name:t,value:n.value,checked:n.value===e.value,disabled:n.disabled,onChange:()=>e.onValueChange(n.value)}),(0,R.jsx)(`span`,{className:`product-choice-icon`,"aria-hidden":`true`,children:n.icon}),(0,R.jsx)(`strong`,{children:n.title}),(0,R.jsx)(`small`,{children:n.description}),n.note===void 0?null:(0,R.jsx)(`small`,{className:`product-choice-note`,"aria-live":`polite`,children:n.note})]},n.value))})]})}function ek(e){let t=[{value:`managed`,title:`Tenso credit`,description:`Use Tenso credit for this project`,icon:e.tuttiLogo,note:e.creditNote},{value:`byok`,title:`Custom endpoint`,description:`Use your own API key and model`,icon:e.customIcon,disabled:e.customDisabled}];return(0,R.jsx)($O,{legend:`Model access`,value:e.value,onValueChange:e.onValueChange,disabled:e.disabled,options:t})}function tk(e){return(0,R.jsx)($O,{legend:`Where will this project be used?`,value:e.value,onValueChange:e.onValueChange,disabled:e.disabled,options:[{value:`standalone`,title:`Tenso Workspace`,description:`Collaborate in Tenso's own workspace`,icon:e.tuttiLogo},{value:`feishu`,title:`Feishu`,description:`Collaborate in your Feishu group`,icon:e.feishuIcon}]})}function nk({className:e,...t}){return(0,R.jsx)(`div`,{className:Y(`product-card-body`,e),...t})}function rk({items:e}){return(0,R.jsx)(`dl`,{className:`product-entry-summary`,children:e.map(e=>(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`dt`,{children:e.label}),(0,R.jsx)(`dd`,{className:e.mono?`is-mono`:void 0,children:e.value})]},e.label))})}function ik({items:e}){return(0,R.jsx)(`dl`,{className:`product-metric-list`,children:e.map(e=>(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`dt`,{children:e.label}),(0,R.jsx)(`dd`,{children:e.value})]},e.label))})}function ak({title:e,description:t,children:n,action:r}){return(0,R.jsxs)(`div`,{className:`product-access-row`,children:[(0,R.jsxs)(`div`,{className:`product-access-identity`,children:[(0,R.jsx)(`strong`,{children:e}),t===void 0?null:(0,R.jsx)(`small`,{children:t}),n]}),r===void 0?null:(0,R.jsx)(`div`,{className:`product-access-action`,children:r})]})}function ok(e){return(0,R.jsxs)(`div`,{className:`product-account-actions`,"aria-label":`Account actions`,children:[(0,R.jsx)(X,{type:`button`,disabled:e.disabled,onClick:e.onCredit,"aria-label":`View credits`,children:e.credit}),(0,R.jsxs)(X,{type:`button`,disabled:e.disabled,onClick:e.onAccount,"aria-label":`Account settings`,children:[(0,R.jsx)(`span`,{className:`product-account-name`,children:e.name}),(0,R.jsx)(tx,{"aria-hidden":`true`})]})]})}function sk({brand:e,account:t,actions:n,toolbar:r,children:i,rail:a}){let o=(0,L.useId)(),s=r.connected&&r.local;return(0,R.jsxs)(`div`,{className:`project-studio`,children:[(0,R.jsxs)(`header`,{className:`studio-header`,children:[e,(0,R.jsx)(`div`,{className:`studio-account`,children:t})]}),(0,R.jsxs)(`main`,{className:`studio-main`,"aria-label":`Project Center`,children:[(0,R.jsxs)(`header`,{className:`studio-heading`,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`p`,{className:`studio-eyebrow`,children:`One place to begin`}),(0,R.jsxs)(`h1`,{children:[`Projects`,(0,R.jsx)(`span`,{children:`.`})]})]}),(0,R.jsx)(`div`,{className:`studio-heading-actions`,children:n})]}),(0,R.jsxs)(`div`,{className:`studio-grid${s?` is-computer-scope`:``}`,children:[(0,R.jsxs)(`section`,{className:`studio-projects`,"aria-label":`Projects`,children:[(0,R.jsx)(ck,{...r,panelId:o}),(0,R.jsx)(`div`,{id:o,role:r.connected?`tabpanel`:`region`,"aria-labelledby":r.connected?`${o}-${s?`computer`:`account`}`:void 0,"aria-label":r.connected?void 0:`Your projects`,tabIndex:r.connected?0:void 0,className:`studio-project-panel`,children:i})]}),a]})]})]})}function ck({local:e,onLocalChange:t,search:n,onSearchChange:r,connected:i,panelId:a}){return(0,R.jsxs)(`div`,{className:`studio-toolbar`,children:[i?(0,R.jsx)(`div`,{className:`studio-filters`,role:`tablist`,"aria-label":`Project scope`,onKeyDown:n=>{let r=n.key===`Home`?!1:n.key===`End`?!0:n.key===`ArrowLeft`||n.key===`ArrowRight`?!e:null;r!==null&&(n.preventDefault(),t(r),n.currentTarget.querySelectorAll(`[role="tab"]`)[Number(r)]?.focus())},children:[!1,!0].map(n=>(0,R.jsxs)(`button`,{type:`button`,role:`tab`,id:`${a}-${n?`computer`:`account`}`,"aria-controls":a,"aria-selected":e===n,tabIndex:e===n?0:-1,onClick:()=>t(n),children:[n?(0,R.jsx)(Ax,{"aria-hidden":`true`}):(0,R.jsx)(hx,{"aria-hidden":`true`}),n?`This computer`:`Your projects`]},String(n)))}):null,(0,R.jsxs)(`label`,{className:`studio-search`,children:[(0,R.jsx)(Hx,{"aria-hidden":`true`}),(0,R.jsx)(`input`,{type:`search`,"aria-label":`Find a project`,placeholder:`Find a project`,value:n,onChange:e=>r(e.target.value)})]})]})}function lk({label:e=`Currently unavailable`,count:t,open:n,onOpenChange:r,children:i}){let a=(0,L.useId)();return(0,R.jsxs)(`div`,{className:`studio-unavailable`,children:[(0,R.jsxs)(`button`,{type:`button`,"aria-expanded":n,"aria-controls":a,onClick:()=>r(!n),children:[(0,R.jsx)(tx,{"aria-hidden":`true`}),e,` `,(0,R.jsxs)(`span`,{children:[`(`,t,`)`]})]}),(0,R.jsx)(`div`,{id:a,children:n?i:null})]})}function uk({children:e}){return(0,R.jsx)(`div`,{className:`studio-computer-controls`,children:e})}function dk({title:e,status:t,meta:n,local:r,selected:i,onSelect:a,action:o,children:s}){let c=(0,L.useId)(),l=(0,L.useRef)(null);return(0,L.useEffect)(()=>{if(!i)return;let e=requestAnimationFrame(()=>{let e=l.current;if(!e)return;let t=e.getBoundingClientRect();t.top>=16&&t.bottom<=window.innerHeight-16||e.scrollIntoView({block:`nearest`,inline:`nearest`,behavior:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?`instant`:`smooth`})});return()=>cancelAnimationFrame(e)},[i]),(0,R.jsxs)(`div`,{ref:l,className:`studio-project-item${i?` is-selected`:``}`,children:[(0,R.jsxs)(`div`,{className:`studio-project-row`,children:[(0,R.jsxs)(`button`,{type:`button`,className:`studio-project-select`,onClick:a,"aria-expanded":i,"aria-controls":c,"aria-label":`Details for ${e}`,children:[(0,R.jsx)(`span`,{className:`studio-monogram`,"aria-hidden":`true`,children:Array.from(e)[0]}),(0,R.jsxs)(`span`,{className:`studio-project-copy`,children:[(0,R.jsx)(`strong`,{children:e}),(0,R.jsxs)(`span`,{children:[n,r?(0,R.jsxs)(`span`,{className:`studio-local-label`,children:[(0,R.jsx)(Ax,{"aria-hidden":`true`}),`This computer`]}):null]})]}),(0,R.jsx)(tx,{className:`studio-project-chevron`,"aria-hidden":`true`})]}),(0,R.jsx)(`span`,{className:`studio-project-status`,children:(0,R.jsx)(QO,{status:t})}),(0,R.jsx)(`div`,{className:`studio-row-actions`,children:o})]}),(0,R.jsx)(`div`,{id:c,hidden:!i,children:i?s:null})]})}function fk({title:e,children:t,actions:n}){return(0,R.jsxs)(`section`,{className:`studio-details`,"aria-label":`Selected project: ${e}`,children:[(0,R.jsx)(`div`,{className:`studio-detail-copy`,children:t}),(0,R.jsx)(`div`,{className:`studio-detail-actions`,children:n})]})}function pk({state:e,version:t,children:n}){return(0,R.jsxs)(`aside`,{className:`studio-computer`,"aria-label":`This computer`,children:[(0,R.jsxs)(`header`,{children:[(0,R.jsx)(`h2`,{children:`This computer`}),(0,R.jsx)(`span`,{className:`studio-connection ${e===`connected`?`is-connected`:``}`,children:e===`connected`?`Connected`:e===`lost`?`Connection lost`:`Not connected`})]}),(0,R.jsx)(`div`,{className:`studio-computer-drawing`,"aria-hidden":`true`,children:(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`span`,{children:`> tenso`}),(0,R.jsx)(`small`,{children:e===`connected`?`Connected to your projects.`:`Ready to connect.`}),(0,R.jsx)(`span`,{children:`_`})]})}),(0,R.jsx)(`h3`,{children:e===`connected`?(0,R.jsxs)(R.Fragment,{children:[`Your computer.`,(0,R.jsx)(`br`,{}),(0,R.jsx)(`em`,{children:`Your workspace.`})]}):(0,R.jsxs)(R.Fragment,{children:[`Bring your`,(0,R.jsx)(`br`,{}),(0,R.jsx)(`em`,{children:`projects closer.`})]})}),(0,R.jsx)(`p`,{children:e===`connected`?`Manage local projects without leaving this page.`:e===`lost`?`Reconnect to manage local projects. Your hosts may still be running.`:`Connect Tenso on this computer to manage your local projects here.`}),(0,R.jsx)(`div`,{className:`studio-computer-actions`,children:n}),t?(0,R.jsxs)(`small`,{className:`studio-version`,children:[`Tenso `,t]}):null]})}function mk({asChild:e=!1,className:t,...n}){return(0,R.jsx)(e?ow:`section`,{className:Y(`product-card`,t),...n})}function hk({children:e,className:t,...n}){return(0,R.jsx)(`div`,{className:Y(`product-card-header`,t),...n,children:e})}function gk({children:e,className:t,...n}){return(0,R.jsx)(`div`,{className:Y(`product-card-body`,t),...n,children:e})}function _k({children:e,className:t,...n}){return(0,R.jsx)(`div`,{className:Y(`product-card-feedback`,t),...n,children:e})}function vk({children:e,className:t,...n}){return(0,R.jsx)(`div`,{className:Y(`product-card-footer`,t),...n,children:e})}function yk({title:e,description:t,children:n,action:r,feedback:i,secondaryAction:a,size:o=`standard`,className:s,...c}){return(0,R.jsx)(mk,{className:Y(`entry-card auth-card`,o===`wide`?`is-wide`:void 0,s),asChild:!0,children:(0,R.jsxs)(`form`,{...c,children:[(0,R.jsx)(`section`,{className:`auth-card-intro`,children:(0,R.jsxs)(hk,{className:`auth-card-header`,children:[(0,R.jsx)(`h1`,{children:e}),(0,R.jsx)(`p`,{children:t})]})}),(0,R.jsx)(`section`,{className:`auth-card-action`,children:(0,R.jsxs)(`div`,{className:`auth-card-action-content`,children:[(0,R.jsx)(gk,{children:n}),a===void 0?null:(0,R.jsx)(`div`,{className:`auth-card-secondary`,children:a}),i===void 0?null:(0,R.jsx)(_k,{children:i}),(0,R.jsx)(vk,{children:r})]})})]})})}function bk({projectName:e,hostLabel:t,hostOnline:n=!1,members:r,invitedBy:i,className:a,...o}){return(0,R.jsxs)(`section`,{className:Y(`invite-summary`,a),"aria-label":`Project invitation`,...o,children:[(0,R.jsxs)(`div`,{className:`invite-project`,children:[(0,R.jsx)(`h2`,{children:e}),(0,R.jsxs)(`p`,{className:Y(`project-line`,n?`is-online`:`is-offline`),children:[(0,R.jsx)(`span`,{className:`status-dot`,"aria-hidden":`true`}),t]})]}),r===void 0?null:(0,R.jsx)(`div`,{className:`invite-members`,children:r}),i===void 0?null:(0,R.jsxs)(`div`,{className:`invite-meta`,children:[(0,R.jsx)(`span`,{children:`Invited by`}),(0,R.jsx)(`strong`,{children:i})]})]})}function xk({label:e,value:t,action:n,className:r,...i}){return(0,R.jsxs)(`div`,{className:Y(`account-row`,r),...i,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`span`,{children:e}),(0,R.jsx)(`strong`,{children:t})]}),n]})}function Sk({title:e,accountName:t,accountAction:n,children:r,className:i,...a}){return(0,R.jsxs)(mk,{className:Y(`project-center-card`,i),...a,children:[(0,R.jsxs)(`header`,{className:`project-center-card-header`,children:[(0,R.jsx)(`h1`,{children:e}),t===void 0&&n===void 0?null:(0,R.jsxs)(`div`,{className:`project-center-account`,"aria-label":t===void 0?`Page actions`:`Signed in user`,children:[t===void 0?null:(0,R.jsx)(`span`,{className:`project-center-account-name`,children:t}),n]})]}),r]})}function Ck({action:e,description:t,descriptionId:n,disabledTrigger:r=!1,className:i,...a}){return(0,R.jsx)(`div`,{className:Y(`project-center-header-action`,i),...a,children:t===void 0?e:(0,R.jsx)(Ew,{content:t,disabledTrigger:r,side:`bottom`,...n===void 0?{}:{contentId:n},children:e})})}function wk({items:e,className:t,...n}){return(0,R.jsx)(`nav`,{className:Y(`project-scope-navigation`,t),"aria-label":`Project scope`,...n,children:(0,R.jsx)(`ul`,{children:e.map(e=>(0,R.jsx)(`li`,{children:(0,R.jsx)(`a`,{href:e.href,"aria-current":e.current===!0?`page`:void 0,...e.current!==!0&&e.onClick===void 0?{}:{onClick:t=>{e.current===!0&&t.preventDefault(),e.onClick?.(t)}},children:e.label})},e.id))})})}function Tk({items:e,action:t,className:n,...r}){return(0,R.jsxs)(`section`,{className:Y(`project-scope-toolbar`,n),...r,children:[(0,R.jsx)(wk,{items:e}),(0,R.jsx)(`div`,{className:`project-scope-toolbar-action`,children:t})]})}function Ek({command:e,terminalLabel:t=`Install and start in your terminal`,copyLabel:n=`Copy`,copyAriaLabel:r=`Copy launch command`,commandAriaLabel:i=`Launch command`,onCopyCommand:a,className:o,...s}){return(0,R.jsxs)(`section`,{className:Y(`project-launch-terminal`,o),...s,children:[(0,R.jsxs)(`div`,{className:`project-launch-terminal-bar`,children:[(0,R.jsx)(`span`,{children:t}),a===void 0?null:(0,R.jsxs)(X,{className:`project-launch-copy-button`,type:`button`,"aria-label":r,onClick:()=>a(e),children:[(0,R.jsx)(lx,{"aria-hidden":`true`}),n]})]}),(0,R.jsx)(`pre`,{className:`project-launch-command-block`,"aria-label":i,children:(0,R.jsx)(`code`,{children:(0,R.jsxs)(`span`,{className:`project-launch-command-line`,children:[(0,R.jsx)(`span`,{className:`project-launch-command-prompt`,"aria-hidden":`true`,children:`>`}),(0,R.jsx)(`span`,{children:e})]})})})]})}function Dk({open:e,onOpenChange:t,status:n=`opening`,description:r,command:i,onCopyCommand:a,retryHref:o,onRetry:s}){return(0,R.jsx)(Mk,{open:e,onOpenChange:t,title:`Projects on this computer`,description:n===`opening`?`Opening Tenso…`:`Tenso did not open in this tab.`,className:`project-local-handoff-dialog-card`,children:(0,R.jsxs)(`div`,{className:`project-local-handoff-dialog-body`,children:[(0,R.jsxs)(`div`,{className:`project-local-handoff-intro`,children:[(0,R.jsx)(`span`,{className:`project-local-handoff-icon`,"aria-hidden":`true`,children:(0,R.jsx)(Zx,{})}),(0,R.jsx)(`p`,{children:r})]}),(0,R.jsx)(Ek,{command:i,...a===void 0?{}:{onCopyCommand:a}}),n!==`failed`||o===void 0?null:(0,R.jsx)(`div`,{className:`project-local-handoff-actions`,children:(0,R.jsx)(Sw,{asChild:!0,children:(0,R.jsxs)(`a`,{href:o,...s===void 0?{}:{onClick:s},children:[(0,R.jsx)(Rx,{"aria-hidden":`true`}),`Retry`]})})})]})})}function Ok({open:e,onOpenChange:t,projectName:n,state:r,command:i,unavailableMessage:a,onCopyCommand:o}){let s=r===`loading`?{icon:(0,R.jsx)(Rx,{"aria-hidden":`true`}),message:`Reading the connection state from the running Host…`}:r===`pairing_required`?{icon:(0,R.jsx)(Zx,{"aria-hidden":`true`}),message:`In the target Feishu group, send this command once.`}:r===`connected`?{icon:(0,R.jsx)(Lx,{"aria-hidden":`true`}),message:`This project is connected to its Feishu project group.`}:r===`not_recoverable`?{icon:(0,R.jsx)(ix,{"aria-hidden":`true`}),message:`The previous pairing command is no longer available. Stop and Resume this project to issue a new one.`}:r===`account_handoff_required`?{icon:(0,R.jsx)(ix,{"aria-hidden":`true`}),message:`This Host needs a fresh Tenso account handoff. Sign in to Local Console again, then Stop and Resume the project.`}:{icon:(0,R.jsx)(ix,{"aria-hidden":`true`}),message:a??`The Feishu connection state is temporarily unavailable. Try again from Connect.`};return(0,R.jsx)(Mk,{open:e,onOpenChange:t,title:`Feishu connection`,description:`Connect ${n} to a Feishu project group.`,className:`project-local-handoff-dialog-card`,children:(0,R.jsxs)(`div`,{className:`project-local-handoff-dialog-body`,children:[(0,R.jsxs)(`div`,{className:`project-local-handoff-intro`,"aria-live":`polite`,children:[(0,R.jsx)(`span`,{className:`project-local-handoff-icon`,"aria-hidden":`true`,children:s.icon}),(0,R.jsx)(`p`,{children:s.message})]}),r===`pairing_required`&&i!==void 0?(0,R.jsx)(Ek,{command:i,terminalLabel:`Send in the target Feishu group`,copyAriaLabel:`Copy connection command`,commandAriaLabel:`Connection command`,...o===void 0?{}:{onCopyCommand:o}}):null]})})}function kk({children:e,className:t,...n}){return(0,R.jsx)(`ul`,{className:Y(`project-list`,t),"aria-label":`Recent projects`,...n,children:e})}function Ak({children:e,className:t,...n}){return(0,R.jsx)(`section`,{className:Y(`project-list-surface`,t),...n,children:(0,R.jsx)(kk,{children:e})})}function jk({children:e,className:t,...n}){return(0,R.jsx)(`li`,{className:Y(`project-list-item project-list-state-row`,t),...n,children:e})}function Mk({open:e,onOpenChange:t,title:n,description:r,headerAction:i,children:a,closeDisabled:o=!1,explicitCloseOnly:s=!1,className:c}){return(0,R.jsxs)(KD,{open:e,onOpenChange:e=>{(e||!o)&&t(e)},children:[(0,R.jsx)(QD,{className:`product-entry-dialog-overlay`}),(0,R.jsx)(nO,{asChild:!0,...r===void 0?{"aria-describedby":void 0}:{},onEscapeKeyDown:e=>{(o||s)&&e.preventDefault()},onInteractOutside:e=>{(o||s)&&e.preventDefault()},onPointerDownOutside:e=>{(o||s)&&e.preventDefault()},children:(0,R.jsxs)(mk,{className:Y(`product-entry-dialog-card`,c),children:[(0,R.jsxs)(`header`,{className:`product-entry-dialog-header`,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(sO,{children:n}),r===void 0?null:(0,R.jsx)(lO,{children:r})]}),(0,R.jsxs)(`div`,{className:`product-entry-dialog-actions`,children:[i,(0,R.jsx)(dO,{asChild:!0,children:(0,R.jsx)(xw,{type:`button`,label:`Close`,icon:(0,R.jsx)(nS,{"aria-hidden":`true`}),disabled:o})})]})]}),a]})})]})}function Nk({open:e,onOpenChange:t,inputLabel:n,placeholder:r,value:i,error:a,actionLabel:o=`Continue`,onValueChange:s,className:c,...l}){return(0,R.jsx)(Mk,{open:e,onOpenChange:t,title:`Join a project`,description:`Paste an invitation link or the full invitation message.`,className:`project-join-dialog-card`,children:(0,R.jsxs)(`form`,{className:Y(`project-join-dialog-form`,c),...l,children:[(0,R.jsxs)(`div`,{className:`project-join-dialog-body`,children:[(0,R.jsx)(Aw,{type:`text`,"aria-label":n,value:i,onChange:e=>s(e.target.value),autoFocus:!0,...r===void 0?{}:{placeholder:r}}),a==null?null:(0,R.jsx)(Fw,{children:a})]}),(0,R.jsx)(`footer`,{className:`project-join-dialog-actions`,children:(0,R.jsxs)(Sw,{type:`submit`,disabled:i.trim()===``,children:[o,(0,R.jsx)(Xb,{"aria-hidden":`true`})]})})]})})}function Pk({open:e,onOpenChange:t,steps:n,currentStep:r,children:i,action:a,backAction:o,feedback:s,closeDisabled:c=!1,explicitCloseOnly:l=!1,className:u,...d}){return(0,R.jsxs)(Mk,{open:e,onOpenChange:t,title:`New project`,description:`Step ${r+1} of ${n.length}`,closeDisabled:c,explicitCloseOnly:l,className:`local-console-create-card`,children:[(0,R.jsx)(`ol`,{className:`local-console-create-steps`,"aria-label":`New project steps`,children:n.map((e,t)=>(0,R.jsxs)(`li`,{className:Y(t===r?`is-current`:void 0,t<r?`is-complete`:void 0),"aria-current":t===r?`step`:void 0,children:[(0,R.jsx)(`span`,{"aria-hidden":`true`,children:t+1}),(0,R.jsx)(`small`,{children:e})]},e))}),(0,R.jsxs)(`form`,{className:Y(`local-console-create-form`,u),...d,children:[(0,R.jsx)(`div`,{className:`local-console-create-body`,children:i}),s===void 0?null:(0,R.jsx)(`div`,{className:`local-console-create-feedback`,children:s}),(0,R.jsxs)(`footer`,{className:`local-console-create-actions`,children:[(0,R.jsx)(`div`,{children:o}),(0,R.jsx)(`div`,{children:a})]})]})]})}function Fk({children:e,className:t,...n}){return(0,R.jsx)(`div`,{className:Y(`local-console-form-grid`,t),...n,children:e})}function Ik({children:e,className:t,...n}){return(0,R.jsx)(`div`,{className:Y(`local-console-inline-actions`,t),...n,children:e})}function Lk({title:e,children:t}){return(0,R.jsxs)(`details`,{className:`local-console-field-group product-disclosure`,children:[(0,R.jsx)(`summary`,{children:e}),(0,R.jsx)(`div`,{className:`local-console-field-group-body`,children:t})]})}function Rk({title:e,description:t,children:n,className:r,...i}){return(0,R.jsxs)(`section`,{className:Y(`local-console-field-group`,r),...i,children:[(0,R.jsxs)(`header`,{children:[(0,R.jsx)(`strong`,{children:e}),t===void 0?null:(0,R.jsx)(`small`,{children:t})]}),(0,R.jsx)(`div`,{className:`local-console-field-group-body`,children:n})]})}function zk({path:e,className:t,...n}){let r=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`)),i=r>0&&r<e.length-1;return(0,R.jsx)(`span`,{className:Y(`local-console-project-path`,t),title:e,...n,children:i?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`span`,{className:`local-console-project-path-prefix`,children:e.slice(0,r)}),(0,R.jsx)(`span`,{className:`local-console-project-path-separator`,children:e[r]}),(0,R.jsx)(`span`,{className:`local-console-project-path-name`,children:e.slice(r+1)})]}):(0,R.jsx)(`span`,{className:`local-console-project-path-name`,children:e})})}function Bk({title:e,status:t,path:n,createdLabel:r,modelLabel:i,surfaceLabel:a,actions:o,className:s,...c}){return(0,R.jsx)(`li`,{className:Y(`project-list-item`,`local-console-project-item`,s),...c,children:(0,R.jsxs)(`div`,{className:Y(`local-console-project-row`,t===`stopped`?`is-inactive`:`is-active`),children:[(0,R.jsx)(QO,{status:t}),(0,R.jsxs)(`span`,{className:`project-list-identity`,children:[(0,R.jsx)(`span`,{className:`local-console-project-title`,children:(0,R.jsx)(`strong`,{children:e})}),i===void 0&&a===void 0?null:(0,R.jsxs)(`span`,{className:`local-console-project-signals`,children:[i===void 0?null:(0,R.jsx)(`small`,{className:`local-console-provider-model`,children:i}),a===void 0?null:(0,R.jsx)(`small`,{className:`local-console-project-surface`,children:a})]})]}),(0,R.jsxs)(`span`,{className:`local-console-project-metadata`,children:[(0,R.jsx)(`strong`,{className:`local-console-project-date`,children:r}),(0,R.jsx)(zk,{path:n})]}),(0,R.jsx)(`span`,{className:`local-console-project-actions`,children:o})]})})}function Vk(e,t){let n=t||{};return(e[e.length-1]===``?[...e,``]:e).join((n.padRight?` `:``)+`,`+(n.padLeft===!1?``:` `)).trim()}var Hk=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Uk=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Wk={};function Gk(e,t){return((t||Wk).jsx?Uk:Hk).test(e)}var Kk=/[ \t\n\f\r]/g;function qk(e){return typeof e==`object`?e.type===`text`?Jk(e.value):!1:Jk(e)}function Jk(e){return e.replace(Kk,``)===``}var Yk=class{constructor(e,t,n){this.normal=t,this.property=e,n&&(this.space=n)}};Yk.prototype.normal={},Yk.prototype.property={},Yk.prototype.space=void 0;function Xk(e,t){let n={},r={};for(let t of e)Object.assign(n,t.property),Object.assign(r,t.normal);return new Yk(n,r,t)}function Zk(e){return e.toLowerCase()}var Qk=class{constructor(e,t){this.attribute=t,this.property=e}};Qk.prototype.attribute=``,Qk.prototype.booleanish=!1,Qk.prototype.boolean=!1,Qk.prototype.commaOrSpaceSeparated=!1,Qk.prototype.commaSeparated=!1,Qk.prototype.defined=!1,Qk.prototype.mustUseProperty=!1,Qk.prototype.number=!1,Qk.prototype.overloadedBoolean=!1,Qk.prototype.property=``,Qk.prototype.spaceSeparated=!1,Qk.prototype.space=void 0;var $k=s({boolean:()=>tA,booleanish:()=>nA,commaOrSpaceSeparated:()=>oA,commaSeparated:()=>aA,number:()=>Z,overloadedBoolean:()=>rA,spaceSeparated:()=>iA}),eA=0,tA=sA(),nA=sA(),rA=sA(),Z=sA(),iA=sA(),aA=sA(),oA=sA();function sA(){return 2**++eA}var cA=Object.keys($k),lA=class extends Qk{constructor(e,t,n,r){let i=-1;if(super(e,t),uA(this,`space`,r),typeof n==`number`)for(;++i<cA.length;){let e=cA[i];uA(this,cA[i],(n&$k[e])===$k[e])}}};lA.prototype.defined=!0;function uA(e,t,n){n&&(e[t]=n)}function dA(e){let t={},n={};for(let[r,i]of Object.entries(e.properties)){let a=new lA(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(a.mustUseProperty=!0),t[r]=a,n[Zk(r)]=r,n[Zk(a.attribute)]=r}return new Yk(t,n,e.space)}var fA=dA({properties:{ariaActiveDescendant:null,ariaAtomic:nA,ariaAutoComplete:null,ariaBusy:nA,ariaChecked:nA,ariaColCount:Z,ariaColIndex:Z,ariaColSpan:Z,ariaControls:iA,ariaCurrent:null,ariaDescribedBy:iA,ariaDetails:null,ariaDisabled:nA,ariaDropEffect:iA,ariaErrorMessage:null,ariaExpanded:nA,ariaFlowTo:iA,ariaGrabbed:nA,ariaHasPopup:null,ariaHidden:nA,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:iA,ariaLevel:Z,ariaLive:null,ariaModal:nA,ariaMultiLine:nA,ariaMultiSelectable:nA,ariaOrientation:null,ariaOwns:iA,ariaPlaceholder:null,ariaPosInSet:Z,ariaPressed:nA,ariaReadOnly:nA,ariaRelevant:null,ariaRequired:nA,ariaRoleDescription:iA,ariaRowCount:Z,ariaRowIndex:Z,ariaRowSpan:Z,ariaSelected:nA,ariaSetSize:Z,ariaSort:null,ariaValueMax:Z,ariaValueMin:Z,ariaValueNow:Z,ariaValueText:null,role:null},transform(e,t){return t===`role`?t:`aria-`+t.slice(4).toLowerCase()}});function pA(e,t){return t in e?e[t]:t}function mA(e,t){return pA(e,t.toLowerCase())}var hA=dA({attributes:{acceptcharset:`accept-charset`,classname:`class`,htmlfor:`for`,httpequiv:`http-equiv`},mustUseProperty:[`checked`,`multiple`,`muted`,`selected`],properties:{abbr:null,accept:aA,acceptCharset:iA,accessKey:iA,action:null,allow:null,allowFullScreen:tA,allowPaymentRequest:tA,allowUserMedia:tA,alt:null,as:null,async:tA,autoCapitalize:null,autoComplete:iA,autoFocus:tA,autoPlay:tA,blocking:iA,capture:null,charSet:null,checked:tA,cite:null,className:iA,cols:Z,colSpan:null,content:null,contentEditable:nA,controls:tA,controlsList:iA,coords:Z|aA,crossOrigin:null,data:null,dateTime:null,decoding:null,default:tA,defer:tA,dir:null,dirName:null,disabled:tA,download:rA,draggable:nA,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:tA,formTarget:null,headers:iA,height:Z,hidden:rA,high:Z,href:null,hrefLang:null,htmlFor:iA,httpEquiv:iA,id:null,imageSizes:null,imageSrcSet:null,inert:tA,inputMode:null,integrity:null,is:null,isMap:tA,itemId:null,itemProp:iA,itemRef:iA,itemScope:tA,itemType:iA,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:tA,low:Z,manifest:null,max:null,maxLength:Z,media:null,method:null,min:null,minLength:Z,multiple:tA,muted:tA,name:null,nonce:null,noModule:tA,noValidate:tA,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:tA,optimum:Z,pattern:null,ping:iA,placeholder:null,playsInline:tA,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:tA,referrerPolicy:null,rel:iA,required:tA,reversed:tA,rows:Z,rowSpan:Z,sandbox:iA,scope:null,scoped:tA,seamless:tA,selected:tA,shadowRootClonable:tA,shadowRootDelegatesFocus:tA,shadowRootMode:null,shape:null,size:Z,sizes:null,slot:null,span:Z,spellCheck:nA,src:null,srcDoc:null,srcLang:null,srcSet:null,start:Z,step:null,style:null,tabIndex:Z,target:null,title:null,translate:null,type:null,typeMustMatch:tA,useMap:null,value:nA,width:Z,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:iA,axis:null,background:null,bgColor:null,border:Z,borderColor:null,bottomMargin:Z,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:tA,declare:tA,event:null,face:null,frame:null,frameBorder:null,hSpace:Z,leftMargin:Z,link:null,longDesc:null,lowSrc:null,marginHeight:Z,marginWidth:Z,noResize:tA,noHref:tA,noShade:tA,noWrap:tA,object:null,profile:null,prompt:null,rev:null,rightMargin:Z,rules:null,scheme:null,scrolling:nA,standby:null,summary:null,text:null,topMargin:Z,valueType:null,version:null,vAlign:null,vLink:null,vSpace:Z,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:tA,disableRemotePlayback:tA,prefix:null,property:null,results:Z,security:null,unselectable:null},space:`html`,transform:mA}),gA=dA({attributes:{accentHeight:`accent-height`,alignmentBaseline:`alignment-baseline`,arabicForm:`arabic-form`,baselineShift:`baseline-shift`,capHeight:`cap-height`,className:`class`,clipPath:`clip-path`,clipRule:`clip-rule`,colorInterpolation:`color-interpolation`,colorInterpolationFilters:`color-interpolation-filters`,colorProfile:`color-profile`,colorRendering:`color-rendering`,crossOrigin:`crossorigin`,dataType:`datatype`,dominantBaseline:`dominant-baseline`,enableBackground:`enable-background`,fillOpacity:`fill-opacity`,fillRule:`fill-rule`,floodColor:`flood-color`,floodOpacity:`flood-opacity`,fontFamily:`font-family`,fontSize:`font-size`,fontSizeAdjust:`font-size-adjust`,fontStretch:`font-stretch`,fontStyle:`font-style`,fontVariant:`font-variant`,fontWeight:`font-weight`,glyphName:`glyph-name`,glyphOrientationHorizontal:`glyph-orientation-horizontal`,glyphOrientationVertical:`glyph-orientation-vertical`,hrefLang:`hreflang`,horizAdvX:`horiz-adv-x`,horizOriginX:`horiz-origin-x`,horizOriginY:`horiz-origin-y`,imageRendering:`image-rendering`,letterSpacing:`letter-spacing`,lightingColor:`lighting-color`,markerEnd:`marker-end`,markerMid:`marker-mid`,markerStart:`marker-start`,navDown:`nav-down`,navDownLeft:`nav-down-left`,navDownRight:`nav-down-right`,navLeft:`nav-left`,navNext:`nav-next`,navPrev:`nav-prev`,navRight:`nav-right`,navUp:`nav-up`,navUpLeft:`nav-up-left`,navUpRight:`nav-up-right`,onAbort:`onabort`,onActivate:`onactivate`,onAfterPrint:`onafterprint`,onBeforePrint:`onbeforeprint`,onBegin:`onbegin`,onCancel:`oncancel`,onCanPlay:`oncanplay`,onCanPlayThrough:`oncanplaythrough`,onChange:`onchange`,onClick:`onclick`,onClose:`onclose`,onCopy:`oncopy`,onCueChange:`oncuechange`,onCut:`oncut`,onDblClick:`ondblclick`,onDrag:`ondrag`,onDragEnd:`ondragend`,onDragEnter:`ondragenter`,onDragExit:`ondragexit`,onDragLeave:`ondragleave`,onDragOver:`ondragover`,onDragStart:`ondragstart`,onDrop:`ondrop`,onDurationChange:`ondurationchange`,onEmptied:`onemptied`,onEnd:`onend`,onEnded:`onended`,onError:`onerror`,onFocus:`onfocus`,onFocusIn:`onfocusin`,onFocusOut:`onfocusout`,onHashChange:`onhashchange`,onInput:`oninput`,onInvalid:`oninvalid`,onKeyDown:`onkeydown`,onKeyPress:`onkeypress`,onKeyUp:`onkeyup`,onLoad:`onload`,onLoadedData:`onloadeddata`,onLoadedMetadata:`onloadedmetadata`,onLoadStart:`onloadstart`,onMessage:`onmessage`,onMouseDown:`onmousedown`,onMouseEnter:`onmouseenter`,onMouseLeave:`onmouseleave`,onMouseMove:`onmousemove`,onMouseOut:`onmouseout`,onMouseOver:`onmouseover`,onMouseUp:`onmouseup`,onMouseWheel:`onmousewheel`,onOffline:`onoffline`,onOnline:`ononline`,onPageHide:`onpagehide`,onPageShow:`onpageshow`,onPaste:`onpaste`,onPause:`onpause`,onPlay:`onplay`,onPlaying:`onplaying`,onPopState:`onpopstate`,onProgress:`onprogress`,onRateChange:`onratechange`,onRepeat:`onrepeat`,onReset:`onreset`,onResize:`onresize`,onScroll:`onscroll`,onSeeked:`onseeked`,onSeeking:`onseeking`,onSelect:`onselect`,onShow:`onshow`,onStalled:`onstalled`,onStorage:`onstorage`,onSubmit:`onsubmit`,onSuspend:`onsuspend`,onTimeUpdate:`ontimeupdate`,onToggle:`ontoggle`,onUnload:`onunload`,onVolumeChange:`onvolumechange`,onWaiting:`onwaiting`,onZoom:`onzoom`,overlinePosition:`overline-position`,overlineThickness:`overline-thickness`,paintOrder:`paint-order`,panose1:`panose-1`,pointerEvents:`pointer-events`,referrerPolicy:`referrerpolicy`,renderingIntent:`rendering-intent`,shapeRendering:`shape-rendering`,stopColor:`stop-color`,stopOpacity:`stop-opacity`,strikethroughPosition:`strikethrough-position`,strikethroughThickness:`strikethrough-thickness`,strokeDashArray:`stroke-dasharray`,strokeDashOffset:`stroke-dashoffset`,strokeLineCap:`stroke-linecap`,strokeLineJoin:`stroke-linejoin`,strokeMiterLimit:`stroke-miterlimit`,strokeOpacity:`stroke-opacity`,strokeWidth:`stroke-width`,tabIndex:`tabindex`,textAnchor:`text-anchor`,textDecoration:`text-decoration`,textRendering:`text-rendering`,transformOrigin:`transform-origin`,typeOf:`typeof`,underlinePosition:`underline-position`,underlineThickness:`underline-thickness`,unicodeBidi:`unicode-bidi`,unicodeRange:`unicode-range`,unitsPerEm:`units-per-em`,vAlphabetic:`v-alphabetic`,vHanging:`v-hanging`,vIdeographic:`v-ideographic`,vMathematical:`v-mathematical`,vectorEffect:`vector-effect`,vertAdvY:`vert-adv-y`,vertOriginX:`vert-origin-x`,vertOriginY:`vert-origin-y`,wordSpacing:`word-spacing`,writingMode:`writing-mode`,xHeight:`x-height`,playbackOrder:`playbackorder`,timelineBegin:`timelinebegin`},properties:{about:oA,accentHeight:Z,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:Z,amplitude:Z,arabicForm:null,ascent:Z,attributeName:null,attributeType:null,azimuth:Z,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:Z,by:null,calcMode:null,capHeight:Z,className:iA,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:Z,diffuseConstant:Z,direction:null,display:null,dur:null,divisor:Z,dominantBaseline:null,download:tA,dx:null,dy:null,edgeMode:null,editable:null,elevation:Z,enableBackground:null,end:null,event:null,exponent:Z,externalResourcesRequired:null,fill:null,fillOpacity:Z,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:aA,g2:aA,glyphName:aA,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:Z,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:Z,horizOriginX:Z,horizOriginY:Z,id:null,ideographic:Z,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:Z,k:Z,k1:Z,k2:Z,k3:Z,k4:Z,kernelMatrix:oA,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:Z,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:Z,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:Z,overlineThickness:Z,paintOrder:null,panose1:null,path:null,pathLength:Z,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:iA,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:Z,pointsAtY:Z,pointsAtZ:Z,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:oA,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:oA,rev:oA,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:oA,requiredFeatures:oA,requiredFonts:oA,requiredFormats:oA,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:Z,specularExponent:Z,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:Z,strikethroughThickness:Z,string:null,stroke:null,strokeDashArray:oA,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:Z,strokeOpacity:Z,strokeWidth:null,style:null,surfaceScale:Z,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:oA,tabIndex:Z,tableValues:null,target:null,targetX:Z,targetY:Z,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:oA,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:Z,underlineThickness:Z,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:Z,values:null,vAlphabetic:Z,vMathematical:Z,vectorEffect:null,vHanging:Z,vIdeographic:Z,version:null,vertAdvY:Z,vertOriginX:Z,vertOriginY:Z,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:Z,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:`svg`,transform:pA}),_A=dA({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:`xlink`,transform(e,t){return`xlink:`+t.slice(5).toLowerCase()}}),vA=dA({attributes:{xmlnsxlink:`xmlns:xlink`},properties:{xmlnsXLink:null,xmlns:null},space:`xmlns`,transform:mA}),yA=dA({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:`xml`,transform(e,t){return`xml:`+t.slice(3).toLowerCase()}}),bA={classId:`classID`,dataType:`datatype`,itemId:`itemID`,strokeDashArray:`strokeDasharray`,strokeDashOffset:`strokeDashoffset`,strokeLineCap:`strokeLinecap`,strokeLineJoin:`strokeLinejoin`,strokeMiterLimit:`strokeMiterlimit`,typeOf:`typeof`,xLinkActuate:`xlinkActuate`,xLinkArcRole:`xlinkArcrole`,xLinkHref:`xlinkHref`,xLinkRole:`xlinkRole`,xLinkShow:`xlinkShow`,xLinkTitle:`xlinkTitle`,xLinkType:`xlinkType`,xmlnsXLink:`xmlnsXlink`},xA=/[A-Z]/g,SA=/-[a-z]/g,CA=/^data[-\w.:]+$/i;function wA(e,t){let n=Zk(t),r=t,i=Qk;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)===`data`&&CA.test(t)){if(t.charAt(4)===`-`){let e=t.slice(5).replace(SA,EA);r=`data`+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=t.slice(4);if(!SA.test(e)){let n=e.replace(xA,TA);n.charAt(0)!==`-`&&(n=`-`+n),t=`data`+n}}i=lA}return new i(r,t)}function TA(e){return`-`+e.toLowerCase()}function EA(e){return e.charAt(1).toUpperCase()}var DA=Xk([fA,hA,_A,vA,yA],`html`),OA=Xk([fA,gA,_A,vA,yA],`svg`);function kA(e){return e.join(` `).trim()}var AA=o(((e,t)=>{var n=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,r=/\n/g,i=/^\s*/,a=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,c=/^[;\s]*/,l=/^\s+|\s+$/g,u=`
50
50
  `,d=`/`,f=`*`,p=``,m=`comment`,h=`declaration`;function g(e,t){if(typeof e!=`string`)throw TypeError(`First argument must be a string`);if(!e)return[];t||={};var l=1,g=1;function v(e){var t=e.match(r);t&&(l+=t.length);var n=e.lastIndexOf(u);g=~n?e.length-n:g+e.length}function y(){var e={line:l,column:g};return function(t){return t.position=new b(e),C(),t}}function b(e){this.start=e,this.end={line:l,column:g},this.source=t.source}b.prototype.content=e;function x(n){var r=Error(t.source+`:`+l+`:`+g+`: `+n);if(r.reason=n,r.filename=t.source,r.line=l,r.column=g,r.source=e,!t.silent)throw r}function S(t){var n=t.exec(e);if(n){var r=n[0];return v(r),e=e.slice(r.length),n}}function C(){S(i)}function w(e){var t;for(e||=[];t=T();)t!==!1&&e.push(t);return e}function T(){var t=y();if(!(d!=e.charAt(0)||f!=e.charAt(1))){for(var n=2;p!=e.charAt(n)&&(f!=e.charAt(n)||d!=e.charAt(n+1));)++n;if(n+=2,p===e.charAt(n-1))return x(`End of comment missing`);var r=e.slice(2,n-2);return g+=2,v(r),e=e.slice(n),g+=2,t({type:m,comment:r})}}function E(){var e=y(),t=S(a);if(t){if(T(),!S(o))return x(`property missing ':'`);var r=S(s),i=e({type:h,property:_(t[0].replace(n,p)),value:r?_(r[0].replace(n,p)):p});return S(c),i}}function D(){var e=[];w(e);for(var t;t=E();)t!==!1&&(e.push(t),w(e));return e}return C(),D()}function _(e){return e?e.replace(l,p):p}t.exports=g})),jA=o((e=>{var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,`__esModule`,{value:!0}),e.default=r;var n=t(AA());function r(e,t){let r=null;if(!e||typeof e!=`string`)return r;let i=(0,n.default)(e),a=typeof t==`function`;return i.forEach(e=>{if(e.type!==`declaration`)return;let{property:n,value:i}=e;a?t(n,i,e):i&&(r||={},r[n]=i)}),r}})),MA=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.camelCase=void 0;var t=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,r=/^[^-]+$/,i=/^-(webkit|moz|ms|o|khtml)-/,a=/^-(ms)-/,o=function(e){return!e||r.test(e)||t.test(e)},s=function(e,t){return t.toUpperCase()},c=function(e,t){return`${t}-`};e.camelCase=function(e,t){return t===void 0&&(t={}),o(e)?e:(e=e.toLowerCase(),e=t.reactCompat?e.replace(a,c):e.replace(i,c),e.replace(n,s))}})),NA=o(((e,t)=>{var n=(e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})(jA()),r=MA();function i(e,t){var i={};return!e||typeof e!=`string`||(0,n.default)(e,function(e,n){e&&n&&(i[(0,r.camelCase)(e,t)]=n)}),i}i.default=i,t.exports=i})),PA=IA(`end`),FA=IA(`start`);function IA(e){return t;function t(t){let n=t&&t.position&&t.position[e]||{};if(typeof n.line==`number`&&n.line>0&&typeof n.column==`number`&&n.column>0)return{line:n.line,column:n.column,offset:typeof n.offset==`number`&&n.offset>-1?n.offset:void 0}}}function LA(e){let t=FA(e),n=PA(e);if(t&&n)return{start:t,end:n}}function RA(e){return!e||typeof e!=`object`?``:`position`in e||`type`in e?BA(e.position):`start`in e||`end`in e?BA(e):`line`in e||`column`in e?zA(e):``}function zA(e){return VA(e&&e.line)+`:`+VA(e&&e.column)}function BA(e){return zA(e&&e.start)+`-`+zA(e&&e.end)}function VA(e){return e&&typeof e==`number`?e:1}var HA=class extends Error{constructor(e,t,n){super(),typeof t==`string`&&(n=t,t=void 0);let r=``,i={},a=!1;if(t&&(i=`line`in t&&`column`in t||`start`in t&&`end`in t?{place:t}:`type`in t?{ancestors:[t],place:t.position}:{...t}),typeof e==`string`?r=e:!i.cause&&e&&(a=!0,r=e.message,i.cause=e),!i.ruleId&&!i.source&&typeof n==`string`){let e=n.indexOf(`:`);e===-1?i.ruleId=n:(i.source=n.slice(0,e),i.ruleId=n.slice(e+1))}if(!i.place&&i.ancestors&&i.ancestors){let e=i.ancestors[i.ancestors.length-1];e&&(i.place=e.position)}let o=i.place&&`start`in i.place?i.place.start:i.place;this.ancestors=i.ancestors||void 0,this.cause=i.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file=``,this.message=r,this.line=o?o.line:void 0,this.name=RA(i.place)||`1:1`,this.place=i.place||void 0,this.reason=this.message,this.ruleId=i.ruleId||void 0,this.source=i.source||void 0,this.stack=a&&i.cause&&typeof i.cause.stack==`string`?i.cause.stack:``,this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}};HA.prototype.file=``,HA.prototype.name=``,HA.prototype.reason=``,HA.prototype.message=``,HA.prototype.stack=``,HA.prototype.column=void 0,HA.prototype.line=void 0,HA.prototype.ancestors=void 0,HA.prototype.cause=void 0,HA.prototype.fatal=void 0,HA.prototype.place=void 0,HA.prototype.ruleId=void 0,HA.prototype.source=void 0;var UA=l(NA(),1),WA={}.hasOwnProperty,GA=new Map,KA=/[A-Z]/g,qA=new Set([`table`,`tbody`,`thead`,`tfoot`,`tr`]),JA=new Set([`td`,`th`]),YA=`https://github.com/syntax-tree/hast-util-to-jsx-runtime`;function XA(e,t){if(!t||t.Fragment===void 0)throw TypeError("Expected `Fragment` in options");let n=t.filePath||void 0,r;if(t.development){if(typeof t.jsxDEV!=`function`)throw TypeError("Expected `jsxDEV` in options when `development: true`");r=sj(n,t.jsxDEV)}else{if(typeof t.jsx!=`function`)throw TypeError("Expected `jsx` in production options");if(typeof t.jsxs!=`function`)throw TypeError("Expected `jsxs` in production options");r=oj(n,t.jsx,t.jsxs)}let i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||`react`,evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space===`svg`?OA:DA,stylePropertyNameCase:t.stylePropertyNameCase||`dom`,tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},a=ZA(i,e,void 0);return a&&typeof a!=`string`?a:i.create(e,i.Fragment,{children:a||void 0},void 0)}function ZA(e,t,n){if(t.type===`element`)return QA(e,t,n);if(t.type===`mdxFlowExpression`||t.type===`mdxTextExpression`)return $A(e,t);if(t.type===`mdxJsxFlowElement`||t.type===`mdxJsxTextElement`)return tj(e,t,n);if(t.type===`mdxjsEsm`)return ej(e,t);if(t.type===`root`)return nj(e,t,n);if(t.type===`text`)return rj(e,t)}function QA(e,t,n){let r=e.schema,i=r;t.tagName.toLowerCase()===`svg`&&r.space===`html`&&(i=OA,e.schema=i),e.ancestors.push(t);let a=pj(e,t.tagName,!1),o=cj(e,t),s=uj(e,t);return qA.has(t.tagName)&&(s=s.filter(function(e){return typeof e==`string`?!qk(e):!0})),ij(e,o,a,t),aj(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function $A(e,t){if(t.data&&t.data.estree&&e.evaluater){let n=t.data.estree.body[0];return n.type,e.evaluater.evaluateExpression(n.expression)}mj(e,t.position)}function ej(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);mj(e,t.position)}function tj(e,t,n){let r=e.schema,i=r;t.name===`svg`&&r.space===`html`&&(i=OA,e.schema=i),e.ancestors.push(t);let a=t.name===null?e.Fragment:pj(e,t.name,!0),o=lj(e,t),s=uj(e,t);return ij(e,o,a,t),aj(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function nj(e,t,n){let r={};return aj(r,uj(e,t)),e.create(t,e.Fragment,r,n)}function rj(e,t){return t.value}function ij(e,t,n,r){typeof n!=`string`&&n!==e.Fragment&&e.passNode&&(t.node=r)}function aj(e,t){if(t.length>0){let n=t.length>1?t:t[0];n&&(e.children=n)}}function oj(e,t,n){return r;function r(e,r,i,a){let o=Array.isArray(i.children)?n:t;return a?o(r,i,a):o(r,i)}}function sj(e,t){return n;function n(n,r,i,a){let o=Array.isArray(i.children),s=FA(n);return t(r,i,a,o,{columnNumber:s?s.column-1:void 0,fileName:e,lineNumber:s?s.line:void 0},void 0)}}function cj(e,t){let n={},r,i;for(i in t.properties)if(i!==`children`&&WA.call(t.properties,i)){let a=dj(e,i,t.properties[i]);if(a){let[i,o]=a;e.tableCellAlignToStyle&&i===`align`&&typeof o==`string`&&JA.has(t.tagName)?r=o:n[i]=o}}if(r){let t=n.style||={};t[e.stylePropertyNameCase===`css`?`text-align`:`textAlign`]=r}return n}function lj(e,t){let n={};for(let r of t.attributes)if(r.type===`mdxJsxExpressionAttribute`)if(r.data&&r.data.estree&&e.evaluater){let t=r.data.estree.body[0];t.type;let i=t.expression;i.type;let a=i.properties[0];a.type,Object.assign(n,e.evaluater.evaluateExpression(a.argument))}else mj(e,t.position);else{let i=r.name,a;if(r.value&&typeof r.value==`object`)if(r.value.data&&r.value.data.estree&&e.evaluater){let t=r.value.data.estree.body[0];t.type,a=e.evaluater.evaluateExpression(t.expression)}else mj(e,t.position);else a=r.value===null?!0:r.value;n[i]=a}return n}function uj(e,t){let n=[],r=-1,i=e.passKeys?new Map:GA;for(;++r<t.children.length;){let a=t.children[r],o;if(e.passKeys){let e=a.type===`element`?a.tagName:a.type===`mdxJsxFlowElement`||a.type===`mdxJsxTextElement`?a.name:void 0;if(e){let t=i.get(e)||0;o=e+`-`+t,i.set(e,t+1)}}let s=ZA(e,a,o);s!==void 0&&n.push(s)}return n}function dj(e,t,n){let r=wA(e.schema,t);if(!(n==null||typeof n==`number`&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?Vk(n):kA(n)),r.property===`style`){let t=typeof n==`object`?n:fj(e,String(n));return e.stylePropertyNameCase===`css`&&(t=hj(t)),[`style`,t]}return[e.elementAttributeNameCase===`react`&&r.space?bA[r.property]||r.property:r.attribute,n]}}function fj(e,t){try{return(0,UA.default)(t,{reactCompat:!0})}catch(t){if(e.ignoreInvalidStyle)return{};let n=t,r=new HA("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:n,ruleId:`style`,source:`hast-util-to-jsx-runtime`});throw r.file=e.filePath||void 0,r.url=YA+`#cannot-parse-style-attribute`,r}}function pj(e,t,n){let r;if(!n)r={type:`Literal`,value:t};else if(t.includes(`.`)){let e=t.split(`.`),n=-1,i;for(;++n<e.length;){let t=Gk(e[n])?{type:`Identifier`,name:e[n]}:{type:`Literal`,value:e[n]};i=i?{type:`MemberExpression`,object:i,property:t,computed:!!(n&&t.type===`Literal`),optional:!1}:t}r=i}else r=Gk(t)&&!/^[a-z]/.test(t)?{type:`Identifier`,name:t}:{type:`Literal`,value:t};if(r.type===`Literal`){let t=r.value;return WA.call(e.components,t)?e.components[t]:t}if(e.evaluater)return e.evaluater.evaluateExpression(r);mj(e)}function mj(e,t){let n=new HA("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:`mdx-estree`,source:`hast-util-to-jsx-runtime`});throw n.file=e.filePath||void 0,n.url=YA+`#cannot-handle-mdx-estrees-without-createevaluater`,n}function hj(e){let t={},n;for(n in e)WA.call(e,n)&&(t[gj(n)]=e[n]);return t}function gj(e){let t=e.replace(KA,_j);return t.slice(0,3)===`ms-`&&(t=`-`+t),t}function _j(e){return`-`+e.toLowerCase()}var vj={action:[`form`],cite:[`blockquote`,`del`,`ins`,`q`],data:[`object`],formAction:[`button`,`input`],href:[`a`,`area`,`base`,`link`],icon:[`menuitem`],itemId:null,manifest:[`html`],ping:[`a`,`area`],poster:[`video`],src:[`audio`,`embed`,`iframe`,`img`,`input`,`script`,`source`,`track`,`video`]},yj={};function bj(e,t){let n=t||yj;return xj(e,typeof n.includeImageAlt==`boolean`?n.includeImageAlt:!0,typeof n.includeHtml==`boolean`?n.includeHtml:!0)}function xj(e,t,n){if(Cj(e)){if(`value`in e)return e.type===`html`&&!n?``:e.value;if(t&&`alt`in e&&e.alt)return e.alt;if(`children`in e)return Sj(e.children,t,n)}return Array.isArray(e)?Sj(e,t,n):``}function Sj(e,t,n){let r=[],i=-1;for(;++i<e.length;)r[i]=xj(e[i],t,n);return r.join(``)}function Cj(e){return!!(e&&typeof e==`object`)}var wj=document.createElement(`i`);function Tj(e){let t=`&`+e+`;`;wj.innerHTML=t;let n=wj.textContent;return n.charCodeAt(n.length-1)===59&&e!==`semi`||n===t?!1:n}function Ej(e,t,n,r){let i=e.length,a=0,o;if(t=t<0?-t>i?0:i+t:t>i?i:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);a<r.length;)o=r.slice(a,a+1e4),o.unshift(t,0),e.splice(...o),a+=1e4,t+=1e4}function Dj(e,t){return e.length>0?(Ej(e,e.length,0,t),e):t}var Oj={}.hasOwnProperty;function kj(e){let t={},n=-1;for(;++n<e.length;)Aj(t,e[n]);return t}function Aj(e,t){let n;for(n in t){let r=(Oj.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n],a;if(i)for(a in i){Oj.call(r,a)||(r[a]=[]);let e=i[a];jj(r[a],Array.isArray(e)?e:e?[e]:[])}}}function jj(e,t){let n=-1,r=[];for(;++n<t.length;)(t[n].add===`after`?e:r).push(t[n]);Ej(e,0,0,r)}function Mj(e,t){let n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)==65535||(n&65535)==65534||n>1114111?`�`:String.fromCodePoint(n)}function Nj(e){return e.replace(/[\t\n\r ]+/g,` `).replace(/^ | $/g,``).toLowerCase().toUpperCase()}var Pj=Kj(/[A-Za-z]/),Fj=Kj(/[\dA-Za-z]/),Ij=Kj(/[#-'*+\--9=?A-Z^-~]/);function Lj(e){return e!==null&&(e<32||e===127)}var Rj=Kj(/\d/),zj=Kj(/[\dA-Fa-f]/),Bj=Kj(/[!-/:-@[-`{-~]/);function Vj(e){return e!==null&&e<-2}function Hj(e){return e!==null&&(e<0||e===32)}function Uj(e){return e===-2||e===-1||e===32}var Wj=Kj(/\p{P}|\p{S}/u),Gj=Kj(/\s/);function Kj(e){return t;function t(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function qj(e){let t=[],n=-1,r=0,i=0;for(;++n<e.length;){let a=e.charCodeAt(n),o=``;if(a===37&&Fj(e.charCodeAt(n+1))&&Fj(e.charCodeAt(n+2)))i=2;else if(a<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(a))||(o=String.fromCharCode(a));else if(a>55295&&a<57344){let t=e.charCodeAt(n+1);a<56320&&t>56319&&t<57344?(o=String.fromCharCode(a,t),i=1):o=`�`}else o=String.fromCharCode(a);o&&=(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+i+1,``),i&&=(n+=i,0)}return t.join(``)+e.slice(r)}function Jj(e,t,n,r){let i=r?r-1:1/0,a=0;return o;function o(r){return Uj(r)?(e.enter(n),s(r)):t(r)}function s(r){return Uj(r)&&a++<i?(e.consume(r),s):(e.exit(n),t(r))}}var Yj={tokenize:Xj};function Xj(e){let t=e.attempt(this.parser.constructs.contentInitial,r,i),n;return t;function r(n){if(n===null){e.consume(n);return}return e.enter(`lineEnding`),e.consume(n),e.exit(`lineEnding`),Jj(e,t,`linePrefix`)}function i(t){return e.enter(`paragraph`),a(t)}function a(t){let r=e.enter(`chunkText`,{contentType:`text`,previous:n});return n&&(n.next=r),n=r,o(t)}function o(t){if(t===null){e.exit(`chunkText`),e.exit(`paragraph`),e.consume(t);return}return Vj(t)?(e.consume(t),e.exit(`chunkText`),a):(e.consume(t),o)}}var Zj={tokenize:$j},Qj={tokenize:eM};function $j(e){let t=this,n=[],r=0,i,a,o;return s;function s(i){if(r<n.length){let a=n[r];return t.containerState=a[1],e.attempt(a[0].continuation,c,l)(i)}return l(i)}function c(e){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,i&&v();let n=t.events.length,a=n,o;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){o=t.events[a][1].end;break}_(r);let s=n;for(;s<t.events.length;)t.events[s][1].end={...o},s++;return Ej(t.events,a+1,0,t.events.slice(n)),t.events.length=s,l(e)}return s(e)}function l(a){if(r===n.length){if(!i)return f(a);if(i.currentConstruct&&i.currentConstruct.concrete)return m(a);t.interrupt=!!(i.currentConstruct&&!i._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(Qj,u,d)(a)}function u(e){return i&&v(),_(r),f(e)}function d(e){return t.parser.lazy[t.now().line]=r!==n.length,o=t.now().offset,m(e)}function f(n){return t.containerState={},e.attempt(Qj,p,m)(n)}function p(e){return r++,n.push([t.currentConstruct,t.containerState]),f(e)}function m(n){if(n===null){i&&v(),_(0),e.consume(n);return}return i||=t.parser.flow(t.now()),e.enter(`chunkFlow`,{_tokenizer:i,contentType:`flow`,previous:a}),h(n)}function h(n){if(n===null){g(e.exit(`chunkFlow`),!0),_(0),e.consume(n);return}return Vj(n)?(e.consume(n),g(e.exit(`chunkFlow`)),r=0,t.interrupt=void 0,s):(e.consume(n),h)}function g(e,n){let s=t.sliceStream(e);if(n&&s.push(null),e.previous=a,a&&(a.next=e),a=e,i.defineSkip(e.start),i.write(s),t.parser.lazy[e.start.line]){let e=i.events.length;for(;e--;)if(i.events[e][1].start.offset<o&&(!i.events[e][1].end||i.events[e][1].end.offset>o))return;let n=t.events.length,a=n,s,c;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){if(s){c=t.events[a][1].end;break}s=!0}for(_(r),e=n;e<t.events.length;)t.events[e][1].end={...c},e++;Ej(t.events,a+1,0,t.events.slice(n)),t.events.length=e}}function _(r){let i=n.length;for(;i-- >r;){let r=n[i];t.containerState=r[1],r[0].exit.call(t,e)}n.length=r}function v(){i.write([null]),a=void 0,i=void 0,t.containerState._closeFlow=void 0}}function eM(e,t,n){return Jj(e,e.attempt(this.parser.constructs.document,t,n),`linePrefix`,this.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)}function tM(e){if(e===null||Hj(e)||Gj(e))return 1;if(Wj(e))return 2}function nM(e,t,n){let r=[],i=-1;for(;++i<e.length;){let a=e[i].resolveAll;a&&!r.includes(a)&&(t=a(t,n),r.push(a))}return t}var rM={name:`attention`,resolveAll:iM,tokenize:aM};function iM(e,t){let n=-1,r,i,a,o,s,c,l,u;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`attentionSequence`&&e[n][1]._close){for(r=n;r--;)if(e[r][0]===`exit`&&e[r][1].type===`attentionSequence`&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;c=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let d={...e[r][1].end},f={...e[n][1].start};oM(d,-c),oM(f,c),o={type:c>1?`strongSequence`:`emphasisSequence`,start:d,end:{...e[r][1].end}},s={type:c>1?`strongSequence`:`emphasisSequence`,start:{...e[n][1].start},end:f},a={type:c>1?`strongText`:`emphasisText`,start:{...e[r][1].end},end:{...e[n][1].start}},i={type:c>1?`strong`:`emphasis`,start:{...o.start},end:{...s.end}},e[r][1].end={...o.start},e[n][1].start={...s.end},l=[],e[r][1].end.offset-e[r][1].start.offset&&(l=Dj(l,[[`enter`,e[r][1],t],[`exit`,e[r][1],t]])),l=Dj(l,[[`enter`,i,t],[`enter`,o,t],[`exit`,o,t],[`enter`,a,t]]),l=Dj(l,nM(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),l=Dj(l,[[`exit`,a,t],[`enter`,s,t],[`exit`,s,t],[`exit`,i,t]]),e[n][1].end.offset-e[n][1].start.offset?(u=2,l=Dj(l,[[`enter`,e[n][1],t],[`exit`,e[n][1],t]])):u=0,Ej(e,r-1,n-r+3,l),n=r+l.length-u-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`attentionSequence`&&(e[n][1].type=`data`);return e}function aM(e,t){let n=this.parser.constructs.attentionMarkers.null,r=this.previous,i=tM(r),a;return o;function o(t){return a=t,e.enter(`attentionSequence`),s(t)}function s(o){if(o===a)return e.consume(o),s;let c=e.exit(`attentionSequence`),l=tM(o),u=!l||l===2&&i||n.includes(o),d=!i||i===2&&l||n.includes(r);return c._open=!!(a===42?u:u&&(i||!d)),c._close=!!(a===42?d:d&&(l||!u)),t(o)}}function oM(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}var sM={name:`autolink`,tokenize:cM};function cM(e,t,n){let r=0;return i;function i(t){return e.enter(`autolink`),e.enter(`autolinkMarker`),e.consume(t),e.exit(`autolinkMarker`),e.enter(`autolinkProtocol`),a}function a(t){return Pj(t)?(e.consume(t),o):t===64?n(t):l(t)}function o(e){return e===43||e===45||e===46||Fj(e)?(r=1,s(e)):l(e)}function s(t){return t===58?(e.consume(t),r=0,c):(t===43||t===45||t===46||Fj(t))&&r++<32?(e.consume(t),s):(r=0,l(t))}function c(r){return r===62?(e.exit(`autolinkProtocol`),e.enter(`autolinkMarker`),e.consume(r),e.exit(`autolinkMarker`),e.exit(`autolink`),t):r===null||r===32||r===60||Lj(r)?n(r):(e.consume(r),c)}function l(t){return t===64?(e.consume(t),u):Ij(t)?(e.consume(t),l):n(t)}function u(e){return Fj(e)?d(e):n(e)}function d(n){return n===46?(e.consume(n),r=0,u):n===62?(e.exit(`autolinkProtocol`).type=`autolinkEmail`,e.enter(`autolinkMarker`),e.consume(n),e.exit(`autolinkMarker`),e.exit(`autolink`),t):f(n)}function f(t){if((t===45||Fj(t))&&r++<63){let n=t===45?f:d;return e.consume(t),n}return n(t)}}var lM={partial:!0,tokenize:uM};function uM(e,t,n){return r;function r(t){return Uj(t)?Jj(e,i,`linePrefix`)(t):i(t)}function i(e){return e===null||Vj(e)?t(e):n(e)}}var dM={continuation:{tokenize:pM},exit:mM,name:`blockQuote`,tokenize:fM};function fM(e,t,n){let r=this;return i;function i(t){if(t===62){let n=r.containerState;return n.open||=(e.enter(`blockQuote`,{_container:!0}),!0),e.enter(`blockQuotePrefix`),e.enter(`blockQuoteMarker`),e.consume(t),e.exit(`blockQuoteMarker`),a}return n(t)}function a(n){return Uj(n)?(e.enter(`blockQuotePrefixWhitespace`),e.consume(n),e.exit(`blockQuotePrefixWhitespace`),e.exit(`blockQuotePrefix`),t):(e.exit(`blockQuotePrefix`),t(n))}}function pM(e,t,n){let r=this;return i;function i(t){return Uj(t)?Jj(e,a,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):a(t)}function a(r){return e.attempt(dM,t,n)(r)}}function mM(e){e.exit(`blockQuote`)}var hM={name:`characterEscape`,tokenize:gM};function gM(e,t,n){return r;function r(t){return e.enter(`characterEscape`),e.enter(`escapeMarker`),e.consume(t),e.exit(`escapeMarker`),i}function i(r){return Bj(r)?(e.enter(`characterEscapeValue`),e.consume(r),e.exit(`characterEscapeValue`),e.exit(`characterEscape`),t):n(r)}}var _M={name:`characterReference`,tokenize:vM};function vM(e,t,n){let r=this,i=0,a,o;return s;function s(t){return e.enter(`characterReference`),e.enter(`characterReferenceMarker`),e.consume(t),e.exit(`characterReferenceMarker`),c}function c(t){return t===35?(e.enter(`characterReferenceMarkerNumeric`),e.consume(t),e.exit(`characterReferenceMarkerNumeric`),l):(e.enter(`characterReferenceValue`),a=31,o=Fj,u(t))}function l(t){return t===88||t===120?(e.enter(`characterReferenceMarkerHexadecimal`),e.consume(t),e.exit(`characterReferenceMarkerHexadecimal`),e.enter(`characterReferenceValue`),a=6,o=zj,u):(e.enter(`characterReferenceValue`),a=7,o=Rj,u(t))}function u(s){if(s===59&&i){let i=e.exit(`characterReferenceValue`);return o===Fj&&!Tj(r.sliceSerialize(i))?n(s):(e.enter(`characterReferenceMarker`),e.consume(s),e.exit(`characterReferenceMarker`),e.exit(`characterReference`),t)}return o(s)&&i++<a?(e.consume(s),u):n(s)}}var yM={partial:!0,tokenize:SM},bM={concrete:!0,name:`codeFenced`,tokenize:xM};function xM(e,t,n){let r=this,i={partial:!0,tokenize:x},a=0,o=0,s;return c;function c(e){return l(e)}function l(t){let n=r.events[r.events.length-1];return a=n&&n[1].type===`linePrefix`?n[2].sliceSerialize(n[1],!0).length:0,s=t,e.enter(`codeFenced`),e.enter(`codeFencedFence`),e.enter(`codeFencedFenceSequence`),u(t)}function u(t){return t===s?(o++,e.consume(t),u):o<3?n(t):(e.exit(`codeFencedFenceSequence`),Uj(t)?Jj(e,d,`whitespace`)(t):d(t))}function d(n){return n===null||Vj(n)?(e.exit(`codeFencedFence`),r.interrupt?t(n):e.check(yM,h,b)(n)):(e.enter(`codeFencedFenceInfo`),e.enter(`chunkString`,{contentType:`string`}),f(n))}function f(t){return t===null||Vj(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),d(t)):Uj(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),Jj(e,p,`whitespace`)(t)):t===96&&t===s?n(t):(e.consume(t),f)}function p(t){return t===null||Vj(t)?d(t):(e.enter(`codeFencedFenceMeta`),e.enter(`chunkString`,{contentType:`string`}),m(t))}function m(t){return t===null||Vj(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceMeta`),d(t)):t===96&&t===s?n(t):(e.consume(t),m)}function h(t){return e.attempt(i,b,g)(t)}function g(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),_}function _(t){return a>0&&Uj(t)?Jj(e,v,`linePrefix`,a+1)(t):v(t)}function v(t){return t===null||Vj(t)?e.check(yM,h,b)(t):(e.enter(`codeFlowValue`),y(t))}function y(t){return t===null||Vj(t)?(e.exit(`codeFlowValue`),v(t)):(e.consume(t),y)}function b(n){return e.exit(`codeFenced`),t(n)}function x(e,t,n){let i=0;return a;function a(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c}function c(t){return e.enter(`codeFencedFence`),Uj(t)?Jj(e,l,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):l(t)}function l(t){return t===s?(e.enter(`codeFencedFenceSequence`),u(t)):n(t)}function u(t){return t===s?(i++,e.consume(t),u):i>=o?(e.exit(`codeFencedFenceSequence`),Uj(t)?Jj(e,d,`whitespace`)(t):d(t)):n(t)}function d(r){return r===null||Vj(r)?(e.exit(`codeFencedFence`),t(r)):n(r)}}}function SM(e,t,n){let r=this;return i;function i(t){return t===null?n(t):(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}var CM={name:`codeIndented`,tokenize:TM},wM={partial:!0,tokenize:EM};function TM(e,t,n){let r=this;return i;function i(t){return e.enter(`codeIndented`),Jj(e,a,`linePrefix`,5)(t)}function a(e){let t=r.events[r.events.length-1];return t&&t[1].type===`linePrefix`&&t[2].sliceSerialize(t[1],!0).length>=4?o(e):n(e)}function o(t){return t===null?c(t):Vj(t)?e.attempt(wM,o,c)(t):(e.enter(`codeFlowValue`),s(t))}function s(t){return t===null||Vj(t)?(e.exit(`codeFlowValue`),o(t)):(e.consume(t),s)}function c(n){return e.exit(`codeIndented`),t(n)}}function EM(e,t,n){let r=this;return i;function i(t){return r.parser.lazy[r.now().line]?n(t):Vj(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),i):Jj(e,a,`linePrefix`,5)(t)}function a(e){let a=r.events[r.events.length-1];return a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(e):Vj(e)?i(e):n(e)}}var DM={name:`codeText`,previous:kM,resolve:OM,tokenize:AM};function OM(e){let t=e.length-4,n=3,r,i;if((e[n][1].type===`lineEnding`||e[n][1].type===`space`)&&(e[t][1].type===`lineEnding`||e[t][1].type===`space`)){for(r=n;++r<t;)if(e[r][1].type===`codeTextData`){e[n][1].type=`codeTextPadding`,e[t][1].type=`codeTextPadding`,n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)i===void 0?r!==t&&e[r][1].type!==`lineEnding`&&(i=r):(r===t||e[r][1].type===`lineEnding`)&&(e[i][1].type=`codeTextData`,r!==i+2&&(e[i][1].end=e[r-1][1].end,e.splice(i+2,r-i-2),t-=r-i-2,r=i+2),i=void 0);return e}function kM(e){return e!==96||this.events[this.events.length-1][1].type===`characterEscape`}function AM(e,t,n){let r=0,i,a;return o;function o(t){return e.enter(`codeText`),e.enter(`codeTextSequence`),s(t)}function s(t){return t===96?(e.consume(t),r++,s):(e.exit(`codeTextSequence`),c(t))}function c(t){return t===null?n(t):t===32?(e.enter(`space`),e.consume(t),e.exit(`space`),c):t===96?(a=e.enter(`codeTextSequence`),i=0,u(t)):Vj(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c):(e.enter(`codeTextData`),l(t))}function l(t){return t===null||t===32||t===96||Vj(t)?(e.exit(`codeTextData`),c(t)):(e.consume(t),l)}function u(n){return n===96?(e.consume(n),i++,u):i===r?(e.exit(`codeTextSequence`),e.exit(`codeText`),t(n)):(a.type=`codeTextData`,l(n))}}var jM=class{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return e<this.left.length?this.left[e]:this.right[this.right.length-e+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(e,t){let n=t??1/0;return n<this.left.length?this.left.slice(e,n):e>this.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){let r=t||0;this.setCursor(Math.trunc(e));let i=this.right.splice(this.right.length-r,1/0);return n&&MM(this.left,n),i.reverse()}pop(){return this.setCursor(1/0),this.left.pop()}push(e){this.setCursor(1/0),this.left.push(e)}pushMany(e){this.setCursor(1/0),MM(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),MM(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0))if(e<this.left.length){let t=this.left.splice(e,1/0);MM(this.right,t.reverse())}else{let t=this.right.splice(this.left.length+this.right.length-e,1/0);MM(this.left,t.reverse())}}};function MM(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function NM(e){let t={},n=-1,r,i,a,o,s,c,l,u=new jM(e);for(;++n<u.length;){for(;n in t;)n=t[n];if(r=u.get(n),n&&r[1].type===`chunkFlow`&&u.get(n-1)[1].type===`listItemPrefix`&&(c=r[1]._tokenizer.events,a=0,a<c.length&&c[a][1].type===`lineEndingBlank`&&(a+=2),a<c.length&&c[a][1].type===`content`))for(;++a<c.length&&c[a][1].type!==`content`;)c[a][1].type===`chunkText`&&(c[a][1]._isInFirstContentOfListItem=!0,a++);if(r[0]===`enter`)r[1].contentType&&(Object.assign(t,PM(u,n)),n=t[n],l=!0);else if(r[1]._container){for(a=n,i=void 0;a--;)if(o=u.get(a),o[1].type===`lineEnding`||o[1].type===`lineEndingBlank`)o[0]===`enter`&&(i&&(u.get(i)[1].type=`lineEndingBlank`),o[1].type=`lineEnding`,i=a);else if(!(o[1].type===`linePrefix`||o[1].type===`listItemIndent`))break;i&&(r[1].end={...u.get(i)[1].start},s=u.slice(i,n),s.unshift(r),u.splice(i,n-i+1,s))}}return Ej(e,0,1/0,u.slice(0)),!l}function PM(e,t){let n=e.get(t)[1],r=e.get(t)[2],i=t-1,a=[],o=n._tokenizer;o||(o=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(o._contentTypeTextTrailing=!0));let s=o.events,c=[],l={},u,d,f=-1,p=n,m=0,h=0,g=[h];for(;p;){for(;e.get(++i)[1]!==p;);a.push(i),p._tokenizer||(u=r.sliceStream(p),p.next||u.push(null),d&&o.defineSkip(p.start),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(u),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),d=p,p=p.next}for(p=n;++f<s.length;)s[f][0]===`exit`&&s[f-1][0]===`enter`&&s[f][1].type===s[f-1][1].type&&s[f][1].start.line!==s[f][1].end.line&&(h=f+1,g.push(h),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(o.events=[],p?(p._tokenizer=void 0,p.previous=void 0):g.pop(),f=g.length;f--;){let t=s.slice(g[f],g[f+1]),n=a.pop();c.push([n,n+t.length-1]),e.splice(n,2,t)}for(c.reverse(),f=-1;++f<c.length;)l[m+c[f][0]]=m+c[f][1],m+=c[f][1]-c[f][0]-1;return l}var FM={resolve:LM,tokenize:RM},IM={partial:!0,tokenize:zM};function LM(e){return NM(e),e}function RM(e,t){let n;return r;function r(t){return e.enter(`content`),n=e.enter(`chunkContent`,{contentType:`content`}),i(t)}function i(t){return t===null?a(t):Vj(t)?e.check(IM,o,a)(t):(e.consume(t),i)}function a(n){return e.exit(`chunkContent`),e.exit(`content`),t(n)}function o(t){return e.consume(t),e.exit(`chunkContent`),n.next=e.enter(`chunkContent`,{contentType:`content`,previous:n}),n=n.next,i}}function zM(e,t,n){let r=this;return i;function i(t){return e.exit(`chunkContent`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),Jj(e,a,`linePrefix`)}function a(i){if(i===null||Vj(i))return n(i);let a=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes(`codeIndented`)&&a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(i):e.interrupt(r.parser.constructs.flow,n,t)(i)}}function BM(e,t,n,r,i,a,o,s,c){let l=c||1/0,u=0;return d;function d(t){return t===60?(e.enter(r),e.enter(i),e.enter(a),e.consume(t),e.exit(a),f):t===null||t===32||t===41||Lj(t)?n(t):(e.enter(r),e.enter(o),e.enter(s),e.enter(`chunkString`,{contentType:`string`}),h(t))}function f(n){return n===62?(e.enter(a),e.consume(n),e.exit(a),e.exit(i),e.exit(r),t):(e.enter(s),e.enter(`chunkString`,{contentType:`string`}),p(n))}function p(t){return t===62?(e.exit(`chunkString`),e.exit(s),f(t)):t===null||t===60||Vj(t)?n(t):(e.consume(t),t===92?m:p)}function m(t){return t===60||t===62||t===92?(e.consume(t),p):p(t)}function h(i){return!u&&(i===null||i===41||Hj(i))?(e.exit(`chunkString`),e.exit(s),e.exit(o),e.exit(r),t(i)):u<l&&i===40?(e.consume(i),u++,h):i===41?(e.consume(i),u--,h):i===null||i===32||i===40||Lj(i)?n(i):(e.consume(i),i===92?g:h)}function g(t){return t===40||t===41||t===92?(e.consume(t),h):h(t)}}function VM(e,t,n,r,i,a){let o=this,s=0,c;return l;function l(t){return e.enter(r),e.enter(i),e.consume(t),e.exit(i),e.enter(a),u}function u(l){return s>999||l===null||l===91||l===93&&!c||l===94&&!s&&`_hiddenFootnoteSupport`in o.parser.constructs?n(l):l===93?(e.exit(a),e.enter(i),e.consume(l),e.exit(i),e.exit(r),t):Vj(l)?(e.enter(`lineEnding`),e.consume(l),e.exit(`lineEnding`),u):(e.enter(`chunkString`,{contentType:`string`}),d(l))}function d(t){return t===null||t===91||t===93||Vj(t)||s++>999?(e.exit(`chunkString`),u(t)):(e.consume(t),c||=!Uj(t),t===92?f:d)}function f(t){return t===91||t===92||t===93?(e.consume(t),s++,d):d(t)}}function HM(e,t,n,r,i,a){let o;return s;function s(t){return t===34||t===39||t===40?(e.enter(r),e.enter(i),e.consume(t),e.exit(i),o=t===40?41:t,c):n(t)}function c(n){return n===o?(e.enter(i),e.consume(n),e.exit(i),e.exit(r),t):(e.enter(a),l(n))}function l(t){return t===o?(e.exit(a),c(o)):t===null?n(t):Vj(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),Jj(e,l,`linePrefix`)):(e.enter(`chunkString`,{contentType:`string`}),u(t))}function u(t){return t===o||t===null||Vj(t)?(e.exit(`chunkString`),l(t)):(e.consume(t),t===92?d:u)}function d(t){return t===o||t===92?(e.consume(t),u):u(t)}}function UM(e,t){let n;return r;function r(i){return Vj(i)?(e.enter(`lineEnding`),e.consume(i),e.exit(`lineEnding`),n=!0,r):Uj(i)?Jj(e,r,n?`linePrefix`:`lineSuffix`)(i):t(i)}}var WM={name:`definition`,tokenize:KM},GM={partial:!0,tokenize:qM};function KM(e,t,n){let r=this,i;return a;function a(t){return e.enter(`definition`),o(t)}function o(t){return VM.call(r,e,s,n,`definitionLabel`,`definitionLabelMarker`,`definitionLabelString`)(t)}function s(t){return i=Nj(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),c):n(t)}function c(t){return Hj(t)?UM(e,l)(t):l(t)}function l(t){return BM(e,u,n,`definitionDestination`,`definitionDestinationLiteral`,`definitionDestinationLiteralMarker`,`definitionDestinationRaw`,`definitionDestinationString`)(t)}function u(t){return e.attempt(GM,d,d)(t)}function d(t){return Uj(t)?Jj(e,f,`whitespace`)(t):f(t)}function f(a){return a===null||Vj(a)?(e.exit(`definition`),r.parser.defined.push(i),t(a)):n(a)}}function qM(e,t,n){return r;function r(t){return Hj(t)?UM(e,i)(t):n(t)}function i(t){return HM(e,a,n,`definitionTitle`,`definitionTitleMarker`,`definitionTitleString`)(t)}function a(t){return Uj(t)?Jj(e,o,`whitespace`)(t):o(t)}function o(e){return e===null||Vj(e)?t(e):n(e)}}var JM={name:`hardBreakEscape`,tokenize:YM};function YM(e,t,n){return r;function r(t){return e.enter(`hardBreakEscape`),e.consume(t),i}function i(r){return Vj(r)?(e.exit(`hardBreakEscape`),t(r)):n(r)}}var XM={name:`headingAtx`,resolve:ZM,tokenize:QM};function ZM(e,t){let n=e.length-2,r=3,i,a;return e[r][1].type===`whitespace`&&(r+=2),n-2>r&&e[n][1].type===`whitespace`&&(n-=2),e[n][1].type===`atxHeadingSequence`&&(r===n-1||n-4>r&&e[n-2][1].type===`whitespace`)&&(n-=r+1===n?2:4),n>r&&(i={type:`atxHeadingText`,start:e[r][1].start,end:e[n][1].end},a={type:`chunkText`,start:e[r][1].start,end:e[n][1].end,contentType:`text`},Ej(e,r,n-r+1,[[`enter`,i,t],[`enter`,a,t],[`exit`,a,t],[`exit`,i,t]])),e}function QM(e,t,n){let r=0;return i;function i(t){return e.enter(`atxHeading`),a(t)}function a(t){return e.enter(`atxHeadingSequence`),o(t)}function o(t){return t===35&&r++<6?(e.consume(t),o):t===null||Hj(t)?(e.exit(`atxHeadingSequence`),s(t)):n(t)}function s(n){return n===35?(e.enter(`atxHeadingSequence`),c(n)):n===null||Vj(n)?(e.exit(`atxHeading`),t(n)):Uj(n)?Jj(e,s,`whitespace`)(n):(e.enter(`atxHeadingText`),l(n))}function c(t){return t===35?(e.consume(t),c):(e.exit(`atxHeadingSequence`),s(t))}function l(t){return t===null||t===35||Hj(t)?(e.exit(`atxHeadingText`),s(t)):(e.consume(t),l)}}var $M=`address.article.aside.base.basefont.blockquote.body.caption.center.col.colgroup.dd.details.dialog.dir.div.dl.dt.fieldset.figcaption.figure.footer.form.frame.frameset.h1.h2.h3.h4.h5.h6.head.header.hr.html.iframe.legend.li.link.main.menu.menuitem.nav.noframes.ol.optgroup.option.p.param.search.section.summary.table.tbody.td.tfoot.th.thead.title.tr.track.ul`.split(`.`),eN=[`pre`,`script`,`style`,`textarea`],tN={concrete:!0,name:`htmlFlow`,resolveTo:iN,tokenize:aN},nN={partial:!0,tokenize:sN},rN={partial:!0,tokenize:oN};function iN(e){let t=e.length;for(;t--&&!(e[t][0]===`enter`&&e[t][1].type===`htmlFlow`););return t>1&&e[t-2][1].type===`linePrefix`&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function aN(e,t,n){let r=this,i,a,o,s,c;return l;function l(e){return u(e)}function u(t){return e.enter(`htmlFlow`),e.enter(`htmlFlowData`),e.consume(t),d}function d(s){return s===33?(e.consume(s),f):s===47?(e.consume(s),a=!0,h):s===63?(e.consume(s),i=3,r.interrupt?t:P):Pj(s)?(e.consume(s),o=String.fromCharCode(s),g):n(s)}function f(a){return a===45?(e.consume(a),i=2,p):a===91?(e.consume(a),i=5,s=0,m):Pj(a)?(e.consume(a),i=4,r.interrupt?t:P):n(a)}function p(i){return i===45?(e.consume(i),r.interrupt?t:P):n(i)}function m(i){return i===`CDATA[`.charCodeAt(s++)?(e.consume(i),s===6?r.interrupt?t:O:m):n(i)}function h(t){return Pj(t)?(e.consume(t),o=String.fromCharCode(t),g):n(t)}function g(s){if(s===null||s===47||s===62||Hj(s)){let c=s===47,l=o.toLowerCase();return!c&&!a&&eN.includes(l)?(i=1,r.interrupt?t(s):O(s)):$M.includes(o.toLowerCase())?(i=6,c?(e.consume(s),_):r.interrupt?t(s):O(s)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(s):a?v(s):y(s))}return s===45||Fj(s)?(e.consume(s),o+=String.fromCharCode(s),g):n(s)}function _(i){return i===62?(e.consume(i),r.interrupt?t:O):n(i)}function v(t){return Uj(t)?(e.consume(t),v):E(t)}function y(t){return t===47?(e.consume(t),E):t===58||t===95||Pj(t)?(e.consume(t),b):Uj(t)?(e.consume(t),y):E(t)}function b(t){return t===45||t===46||t===58||t===95||Fj(t)?(e.consume(t),b):x(t)}function x(t){return t===61?(e.consume(t),S):Uj(t)?(e.consume(t),x):y(t)}function S(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),c=t,C):Uj(t)?(e.consume(t),S):w(t)}function C(t){return t===c?(e.consume(t),c=null,T):t===null||Vj(t)?n(t):(e.consume(t),C)}function w(t){return t===null||t===34||t===39||t===47||t===60||t===61||t===62||t===96||Hj(t)?x(t):(e.consume(t),w)}function T(e){return e===47||e===62||Uj(e)?y(e):n(e)}function E(t){return t===62?(e.consume(t),D):n(t)}function D(t){return t===null||Vj(t)?O(t):Uj(t)?(e.consume(t),D):n(t)}function O(t){return t===45&&i===2?(e.consume(t),ee):t===60&&i===1?(e.consume(t),M):t===62&&i===4?(e.consume(t),F):t===63&&i===3?(e.consume(t),P):t===93&&i===5?(e.consume(t),N):Vj(t)&&(i===6||i===7)?(e.exit(`htmlFlowData`),e.check(nN,ne,k)(t)):t===null||Vj(t)?(e.exit(`htmlFlowData`),k(t)):(e.consume(t),O)}function k(t){return e.check(rN,A,ne)(t)}function A(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),j}function j(t){return t===null||Vj(t)?k(t):(e.enter(`htmlFlowData`),O(t))}function ee(t){return t===45?(e.consume(t),P):O(t)}function M(t){return t===47?(e.consume(t),o=``,te):O(t)}function te(t){if(t===62){let n=o.toLowerCase();return eN.includes(n)?(e.consume(t),F):O(t)}return Pj(t)&&o.length<8?(e.consume(t),o+=String.fromCharCode(t),te):O(t)}function N(t){return t===93?(e.consume(t),P):O(t)}function P(t){return t===62?(e.consume(t),F):t===45&&i===2?(e.consume(t),P):O(t)}function F(t){return t===null||Vj(t)?(e.exit(`htmlFlowData`),ne(t)):(e.consume(t),F)}function ne(n){return e.exit(`htmlFlow`),t(n)}}function oN(e,t,n){let r=this;return i;function i(t){return Vj(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a):n(t)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}function sN(e,t,n){return r;function r(r){return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),e.attempt(lM,t,n)}}var cN={name:`htmlText`,tokenize:lN};function lN(e,t,n){let r=this,i,a,o;return s;function s(t){return e.enter(`htmlText`),e.enter(`htmlTextData`),e.consume(t),c}function c(t){return t===33?(e.consume(t),l):t===47?(e.consume(t),x):t===63?(e.consume(t),y):Pj(t)?(e.consume(t),w):n(t)}function l(t){return t===45?(e.consume(t),u):t===91?(e.consume(t),a=0,m):Pj(t)?(e.consume(t),v):n(t)}function u(t){return t===45?(e.consume(t),p):n(t)}function d(t){return t===null?n(t):t===45?(e.consume(t),f):Vj(t)?(o=d,M(t)):(e.consume(t),d)}function f(t){return t===45?(e.consume(t),p):d(t)}function p(e){return e===62?ee(e):e===45?f(e):d(e)}function m(t){return t===`CDATA[`.charCodeAt(a++)?(e.consume(t),a===6?h:m):n(t)}function h(t){return t===null?n(t):t===93?(e.consume(t),g):Vj(t)?(o=h,M(t)):(e.consume(t),h)}function g(t){return t===93?(e.consume(t),_):h(t)}function _(t){return t===62?ee(t):t===93?(e.consume(t),_):h(t)}function v(t){return t===null||t===62?ee(t):Vj(t)?(o=v,M(t)):(e.consume(t),v)}function y(t){return t===null?n(t):t===63?(e.consume(t),b):Vj(t)?(o=y,M(t)):(e.consume(t),y)}function b(e){return e===62?ee(e):y(e)}function x(t){return Pj(t)?(e.consume(t),S):n(t)}function S(t){return t===45||Fj(t)?(e.consume(t),S):C(t)}function C(t){return Vj(t)?(o=C,M(t)):Uj(t)?(e.consume(t),C):ee(t)}function w(t){return t===45||Fj(t)?(e.consume(t),w):t===47||t===62||Hj(t)?T(t):n(t)}function T(t){return t===47?(e.consume(t),ee):t===58||t===95||Pj(t)?(e.consume(t),E):Vj(t)?(o=T,M(t)):Uj(t)?(e.consume(t),T):ee(t)}function E(t){return t===45||t===46||t===58||t===95||Fj(t)?(e.consume(t),E):D(t)}function D(t){return t===61?(e.consume(t),O):Vj(t)?(o=D,M(t)):Uj(t)?(e.consume(t),D):T(t)}function O(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),i=t,k):Vj(t)?(o=O,M(t)):Uj(t)?(e.consume(t),O):(e.consume(t),A)}function k(t){return t===i?(e.consume(t),i=void 0,j):t===null?n(t):Vj(t)?(o=k,M(t)):(e.consume(t),k)}function A(t){return t===null||t===34||t===39||t===60||t===61||t===96?n(t):t===47||t===62||Hj(t)?T(t):(e.consume(t),A)}function j(e){return e===47||e===62||Hj(e)?T(e):n(e)}function ee(r){return r===62?(e.consume(r),e.exit(`htmlTextData`),e.exit(`htmlText`),t):n(r)}function M(t){return e.exit(`htmlTextData`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),te}function te(t){return Uj(t)?Jj(e,N,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):N(t)}function N(t){return e.enter(`htmlTextData`),o(t)}}var uN={name:`labelEnd`,resolveAll:mN,resolveTo:hN,tokenize:gN},dN={tokenize:_N},fN={tokenize:vN},pN={tokenize:yN};function mN(e){let t=-1,n=[];for(;++t<e.length;){let r=e[t][1];if(n.push(e[t]),r.type===`labelImage`||r.type===`labelLink`||r.type===`labelEnd`){let e=r.type===`labelImage`?4:2;r.type=`data`,t+=e}}return e.length!==n.length&&Ej(e,0,e.length,n),e}function hN(e,t){let n=e.length,r=0,i,a,o,s;for(;n--;)if(i=e[n][1],a){if(i.type===`link`||i.type===`labelLink`&&i._inactive)break;e[n][0]===`enter`&&i.type===`labelLink`&&(i._inactive=!0)}else if(o){if(e[n][0]===`enter`&&(i.type===`labelImage`||i.type===`labelLink`)&&!i._balanced&&(a=n,i.type!==`labelLink`)){r=2;break}}else i.type===`labelEnd`&&(o=n);let c={type:e[a][1].type===`labelLink`?`link`:`image`,start:{...e[a][1].start},end:{...e[e.length-1][1].end}},l={type:`label`,start:{...e[a][1].start},end:{...e[o][1].end}},u={type:`labelText`,start:{...e[a+r+2][1].end},end:{...e[o-2][1].start}};return s=[[`enter`,c,t],[`enter`,l,t]],s=Dj(s,e.slice(a+1,a+r+3)),s=Dj(s,[[`enter`,u,t]]),s=Dj(s,nM(t.parser.constructs.insideSpan.null,e.slice(a+r+4,o-3),t)),s=Dj(s,[[`exit`,u,t],e[o-2],e[o-1],[`exit`,l,t]]),s=Dj(s,e.slice(o+1)),s=Dj(s,[[`exit`,c,t]]),Ej(e,a,e.length,s),e}function gN(e,t,n){let r=this,i=r.events.length,a,o;for(;i--;)if((r.events[i][1].type===`labelImage`||r.events[i][1].type===`labelLink`)&&!r.events[i][1]._balanced){a=r.events[i][1];break}return s;function s(t){return a?a._inactive?d(t):(o=r.parser.defined.includes(Nj(r.sliceSerialize({start:a.end,end:r.now()}))),e.enter(`labelEnd`),e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelEnd`),c):n(t)}function c(t){return t===40?e.attempt(dN,u,o?u:d)(t):t===91?e.attempt(fN,u,o?l:d)(t):o?u(t):d(t)}function l(t){return e.attempt(pN,u,d)(t)}function u(e){return t(e)}function d(e){return a._balanced=!0,n(e)}}function _N(e,t,n){return r;function r(t){return e.enter(`resource`),e.enter(`resourceMarker`),e.consume(t),e.exit(`resourceMarker`),i}function i(t){return Hj(t)?UM(e,a)(t):a(t)}function a(t){return t===41?u(t):BM(e,o,s,`resourceDestination`,`resourceDestinationLiteral`,`resourceDestinationLiteralMarker`,`resourceDestinationRaw`,`resourceDestinationString`,32)(t)}function o(t){return Hj(t)?UM(e,c)(t):u(t)}function s(e){return n(e)}function c(t){return t===34||t===39||t===40?HM(e,l,n,`resourceTitle`,`resourceTitleMarker`,`resourceTitleString`)(t):u(t)}function l(t){return Hj(t)?UM(e,u)(t):u(t)}function u(r){return r===41?(e.enter(`resourceMarker`),e.consume(r),e.exit(`resourceMarker`),e.exit(`resource`),t):n(r)}}function vN(e,t,n){let r=this;return i;function i(t){return VM.call(r,e,a,o,`reference`,`referenceMarker`,`referenceString`)(t)}function a(e){return r.parser.defined.includes(Nj(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(e):n(e)}function o(e){return n(e)}}function yN(e,t,n){return r;function r(t){return e.enter(`reference`),e.enter(`referenceMarker`),e.consume(t),e.exit(`referenceMarker`),i}function i(r){return r===93?(e.enter(`referenceMarker`),e.consume(r),e.exit(`referenceMarker`),e.exit(`reference`),t):n(r)}}var bN={name:`labelStartImage`,resolveAll:uN.resolveAll,tokenize:xN};function xN(e,t,n){let r=this;return i;function i(t){return e.enter(`labelImage`),e.enter(`labelImageMarker`),e.consume(t),e.exit(`labelImageMarker`),a}function a(t){return t===91?(e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelImage`),o):n(t)}function o(e){return e===94&&`_hiddenFootnoteSupport`in r.parser.constructs?n(e):t(e)}}var SN={name:`labelStartLink`,resolveAll:uN.resolveAll,tokenize:CN};function CN(e,t,n){let r=this;return i;function i(t){return e.enter(`labelLink`),e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelLink`),a}function a(e){return e===94&&`_hiddenFootnoteSupport`in r.parser.constructs?n(e):t(e)}}var wN={name:`lineEnding`,tokenize:TN};function TN(e,t){return n;function n(n){return e.enter(`lineEnding`),e.consume(n),e.exit(`lineEnding`),Jj(e,t,`linePrefix`)}}var EN={name:`thematicBreak`,tokenize:DN};function DN(e,t,n){let r=0,i;return a;function a(t){return e.enter(`thematicBreak`),o(t)}function o(e){return i=e,s(e)}function s(a){return a===i?(e.enter(`thematicBreakSequence`),c(a)):r>=3&&(a===null||Vj(a))?(e.exit(`thematicBreak`),t(a)):n(a)}function c(t){return t===i?(e.consume(t),r++,c):(e.exit(`thematicBreakSequence`),Uj(t)?Jj(e,s,`whitespace`)(t):s(t))}}var ON={continuation:{tokenize:MN},exit:PN,name:`list`,tokenize:jN},kN={partial:!0,tokenize:FN},AN={partial:!0,tokenize:NN};function jN(e,t,n){let r=this,i=r.events[r.events.length-1],a=i&&i[1].type===`linePrefix`?i[2].sliceSerialize(i[1],!0).length:0,o=0;return s;function s(t){let i=r.containerState.type||(t===42||t===43||t===45?`listUnordered`:`listOrdered`);if(i===`listUnordered`?!r.containerState.marker||t===r.containerState.marker:Rj(t)){if(r.containerState.type||(r.containerState.type=i,e.enter(i,{_container:!0})),i===`listUnordered`)return e.enter(`listItemPrefix`),t===42||t===45?e.check(EN,n,l)(t):l(t);if(!r.interrupt||t===49)return e.enter(`listItemPrefix`),e.enter(`listItemValue`),c(t)}return n(t)}function c(t){return Rj(t)&&++o<10?(e.consume(t),c):(!r.interrupt||o<2)&&(r.containerState.marker?t===r.containerState.marker:t===41||t===46)?(e.exit(`listItemValue`),l(t)):n(t)}function l(t){return e.enter(`listItemMarker`),e.consume(t),e.exit(`listItemMarker`),r.containerState.marker=r.containerState.marker||t,e.check(lM,r.interrupt?n:u,e.attempt(kN,f,d))}function u(e){return r.containerState.initialBlankLine=!0,a++,f(e)}function d(t){return Uj(t)?(e.enter(`listItemPrefixWhitespace`),e.consume(t),e.exit(`listItemPrefixWhitespace`),f):n(t)}function f(n){return r.containerState.size=a+r.sliceSerialize(e.exit(`listItemPrefix`),!0).length,t(n)}}function MN(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(lM,i,a);function i(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,Jj(e,t,`listItemIndent`,r.containerState.size+1)(n)}function a(n){return r.containerState.furtherBlankLines||!Uj(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(AN,t,o)(n))}function o(i){return r.containerState._closeFlow=!0,r.interrupt=void 0,Jj(e,e.attempt(ON,t,n),`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(i)}}function NN(e,t,n){let r=this;return Jj(e,i,`listItemIndent`,r.containerState.size+1);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`listItemIndent`&&i[2].sliceSerialize(i[1],!0).length===r.containerState.size?t(e):n(e)}}function PN(e){e.exit(this.containerState.type)}function FN(e,t,n){let r=this;return Jj(e,i,`listItemPrefixWhitespace`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:5);function i(e){let i=r.events[r.events.length-1];return!Uj(e)&&i&&i[1].type===`listItemPrefixWhitespace`?t(e):n(e)}}var IN={name:`setextUnderline`,resolveTo:LN,tokenize:RN};function LN(e,t){let n=e.length,r,i,a;for(;n--;)if(e[n][0]===`enter`){if(e[n][1].type===`content`){r=n;break}e[n][1].type===`paragraph`&&(i=n)}else e[n][1].type===`content`&&e.splice(n,1),!a&&e[n][1].type===`definition`&&(a=n);let o={type:`setextHeading`,start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type=`setextHeadingText`,a?(e.splice(i,0,[`enter`,o,t]),e.splice(a+1,0,[`exit`,e[r][1],t]),e[r][1].end={...e[a][1].end}):e[r][1]=o,e.push([`exit`,o,t]),e}function RN(e,t,n){let r=this,i;return a;function a(t){let a=r.events.length,s;for(;a--;)if(r.events[a][1].type!==`lineEnding`&&r.events[a][1].type!==`linePrefix`&&r.events[a][1].type!==`content`){s=r.events[a][1].type===`paragraph`;break}return!r.parser.lazy[r.now().line]&&(r.interrupt||s)?(e.enter(`setextHeadingLine`),i=t,o(t)):n(t)}function o(t){return e.enter(`setextHeadingLineSequence`),s(t)}function s(t){return t===i?(e.consume(t),s):(e.exit(`setextHeadingLineSequence`),Uj(t)?Jj(e,c,`lineSuffix`)(t):c(t))}function c(r){return r===null||Vj(r)?(e.exit(`setextHeadingLine`),t(r)):n(r)}}var zN={tokenize:BN};function BN(e){let t=this,n=e.attempt(lM,r,e.attempt(this.parser.constructs.flowInitial,i,Jj(e,e.attempt(this.parser.constructs.flow,i,e.attempt(FM,i)),`linePrefix`)));return n;function r(r){if(r===null){e.consume(r);return}return e.enter(`lineEndingBlank`),e.consume(r),e.exit(`lineEndingBlank`),t.currentConstruct=void 0,n}function i(r){if(r===null){e.consume(r);return}return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),t.currentConstruct=void 0,n}}var VN={resolveAll:GN()},HN=WN(`string`),UN=WN(`text`);function WN(e){return{resolveAll:GN(e===`text`?KN:void 0),tokenize:t};function t(t){let n=this,r=this.parser.constructs[e],i=t.attempt(r,a,o);return a;function a(e){return c(e)?i(e):o(e)}function o(e){if(e===null){t.consume(e);return}return t.enter(`data`),t.consume(e),s}function s(e){return c(e)?(t.exit(`data`),i(e)):(t.consume(e),s)}function c(e){if(e===null)return!0;let t=r[e],i=-1;if(t)for(;++i<t.length;){let e=t[i];if(!e.previous||e.previous.call(n,n.previous))return!0}return!1}}}function GN(e){return t;function t(t,n){let r=-1,i;for(;++r<=t.length;)i===void 0?t[r]&&t[r][1].type===`data`&&(i=r,r++):(!t[r]||t[r][1].type!==`data`)&&(r!==i+2&&(t[i][1].end=t[r-1][1].end,t.splice(i+2,r-i-2),r=i+2),i=void 0);return e?e(t,n):t}}function KN(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type===`lineEnding`)&&e[n-1][1].type===`data`){let r=e[n-1][1],i=t.sliceStream(r),a=i.length,o=-1,s=0,c;for(;a--;){let e=i[a];if(typeof e==`string`){for(o=e.length;e.charCodeAt(o-1)===32;)s++,o--;if(o)break;o=-1}else if(e===-2)c=!0,s++;else if(e!==-1){a++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(s=0),s){let i={type:n===e.length||c||s<2?`lineSuffix`:`hardBreakTrailing`,start:{_bufferIndex:a?o:r.start._bufferIndex+o,_index:r.start._index+a,line:r.end.line,column:r.end.column-s,offset:r.end.offset-s},end:{...r.end}};r.end={...i.start},r.start.offset===r.end.offset?Object.assign(r,i):(e.splice(n,0,[`enter`,i,t],[`exit`,i,t]),n+=2)}n++}return e}var qN=s({attentionMarkers:()=>tP,contentInitial:()=>YN,disable:()=>nP,document:()=>JN,flow:()=>ZN,flowInitial:()=>XN,insideSpan:()=>eP,string:()=>QN,text:()=>$N}),JN={42:ON,43:ON,45:ON,48:ON,49:ON,50:ON,51:ON,52:ON,53:ON,54:ON,55:ON,56:ON,57:ON,62:dM},YN={91:WM},XN={[-2]:CM,[-1]:CM,32:CM},ZN={35:XM,42:EN,45:[IN,EN],60:tN,61:IN,95:EN,96:bM,126:bM},QN={38:_M,92:hM},$N={[-5]:wN,[-4]:wN,[-3]:wN,33:bN,38:_M,42:rM,60:[sM,cN],91:SN,92:[JM,hM],93:uN,95:rM,96:DM},eP={null:[rM,VN]},tP={null:[42,95]},nP={null:[]};function rP(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},i={},a=[],o=[],s=[],c={attempt:C(x),check:C(S),consume:v,enter:y,exit:b,interrupt:C(S,{interrupt:!0})},l={code:null,containerState:{},defineSkip:h,events:[],now:m,parser:e,previous:null,sliceSerialize:f,sliceStream:p,write:d},u=t.tokenize.call(l,c);return t.resolveAll&&a.push(t),l;function d(e){return o=Dj(o,e),g(),o[o.length-1]===null?(w(t,0),l.events=nM(a,l.events,l),l.events):[]}function f(e,t){return aP(p(e),t)}function p(e){return iP(o,e)}function m(){let{_bufferIndex:e,_index:t,line:n,column:i,offset:a}=r;return{_bufferIndex:e,_index:t,line:n,column:i,offset:a}}function h(e){i[e.line]=e.column,E()}function g(){let e;for(;r._index<o.length;){let t=o[r._index];if(typeof t==`string`)for(e=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===e&&r._bufferIndex<t.length;)_(t.charCodeAt(r._bufferIndex));else _(t)}}function _(e){u=u(e)}function v(e){Vj(e)?(r.line++,r.column=1,r.offset+=e===-3?2:1,E()):e!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===o[r._index].length&&(r._bufferIndex=-1,r._index++)),l.previous=e}function y(e,t){let n=t||{};return n.type=e,n.start=m(),l.events.push([`enter`,n,l]),s.push(n),n}function b(e){let t=s.pop();return t.end=m(),l.events.push([`exit`,t,l]),t}function x(e,t){w(e,t.from)}function S(e,t){t.restore()}function C(e,t){return n;function n(n,r,i){let a,o,s,u;return Array.isArray(n)?f(n):`tokenize`in n?f([n]):d(n);function d(e){return t;function t(t){let n=t!==null&&e[t],r=t!==null&&e.null;return f([...Array.isArray(n)?n:n?[n]:[],...Array.isArray(r)?r:r?[r]:[]])(t)}}function f(e){return a=e,o=0,e.length===0?i:p(e[o])}function p(e){return n;function n(n){return u=T(),s=e,e.partial||(l.currentConstruct=e),e.name&&l.parser.constructs.disable.null.includes(e.name)?h(n):e.tokenize.call(t?Object.assign(Object.create(l),t):l,c,m,h)(n)}}function m(t){return e(s,u),r}function h(e){return u.restore(),++o<a.length?p(a[o]):i}}}function w(e,t){e.resolveAll&&!a.includes(e)&&a.push(e),e.resolve&&Ej(l.events,t,l.events.length-t,e.resolve(l.events.slice(t),l)),e.resolveTo&&(l.events=e.resolveTo(l.events,l))}function T(){let e=m(),t=l.previous,n=l.currentConstruct,i=l.events.length,a=Array.from(s);return{from:i,restore:o};function o(){r=e,l.previous=t,l.currentConstruct=n,l.events.length=i,s=a,E()}}function E(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}function iP(e,t){let n=t.start._index,r=t.start._bufferIndex,i=t.end._index,a=t.end._bufferIndex,o;if(n===i)o=[e[n].slice(r,a)];else{if(o=e.slice(n,i),r>-1){let e=o[0];typeof e==`string`?o[0]=e.slice(r):o.shift()}a>0&&o.push(e[i].slice(0,a))}return o}function aP(e,t){let n=-1,r=[],i;for(;++n<e.length;){let a=e[n],o;if(typeof a==`string`)o=a;else switch(a){case-5:o=`\r`;break;case-4:o=`
51
51
  `;break;case-3:o=`\r
52
52
  `;break;case-2:o=t?` `:` `;break;case-1:if(!t&&i)continue;o=` `;break;default:o=String.fromCharCode(a)}i=a===-2,r.push(o)}return r.join(``)}function oP(e){let t={constructs:kj([qN,...(e||{}).extensions||[]]),content:n(Yj),defined:[],document:n(Zj),flow:n(zN),lazy:{},string:n(HN),text:n(UN)};return t;function n(e){return n;function n(n){return rP(t,e,n)}}}function sP(e){for(;!NM(e););return e}var cP=/[\0\t\n\r]/g;function lP(){let e=1,t=``,n=!0,r;return i;function i(i,a,o){let s=[],c,l,u,d,f;for(i=t+(typeof i==`string`?i.toString():new TextDecoder(a||void 0).decode(i)),u=0,t=``,n&&=(i.charCodeAt(0)===65279&&u++,void 0);u<i.length;){if(cP.lastIndex=u,c=cP.exec(i),d=c&&c.index!==void 0?c.index:i.length,f=i.charCodeAt(d),!c){t=i.slice(u);break}if(f===10&&u===d&&r)s.push(-3),r=void 0;else switch(r&&=(s.push(-5),void 0),u<d&&(s.push(i.slice(u,d)),e+=d-u),f){case 0:s.push(65533),e++;break;case 9:for(l=Math.ceil(e/4)*4,s.push(-2);e++<l;)s.push(-1);break;case 10:s.push(-4),e=1;break;default:r=!0,e=1}u=d+1}return o&&(r&&s.push(-5),t&&s.push(t),s.push(null)),s}}var uP=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function dP(e){return e.replace(uP,fP)}function fP(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){let e=n.charCodeAt(1),t=e===120||e===88;return Mj(n.slice(t?2:1),t?16:10)}return Tj(n)||e}var pP={}.hasOwnProperty;function mP(e,t,n){return t&&typeof t==`object`&&(n=t,t=void 0),hP(n)(sP(oP(n).document().write(lP()(e,t,!0))))}function hP(e){let t={transforms:[],canContainEols:[`emphasis`,`fragment`,`heading`,`paragraph`,`strong`],enter:{autolink:a(ve),autolinkProtocol:T,autolinkEmail:T,atxHeading:a(me),blockQuote:a(le),characterEscape:T,characterReference:T,codeFenced:a(ue),codeFencedFenceInfo:o,codeFencedFenceMeta:o,codeIndented:a(ue,o),codeText:a(de,o),codeTextData:T,data:T,codeFlowValue:T,definition:a(fe),definitionDestinationString:o,definitionLabelString:o,definitionTitleString:o,emphasis:a(pe),hardBreakEscape:a(he),hardBreakTrailing:a(he),htmlFlow:a(ge,o),htmlFlowData:T,htmlText:a(ge,o),htmlTextData:T,image:a(_e),label:o,link:a(ve),listItem:a(be),listItemValue:f,listOrdered:a(ye,d),listUnordered:a(ye),paragraph:a(xe),reference:re,referenceString:o,resourceDestinationString:o,resourceTitleString:o,setextHeading:a(me),strong:a(Se),thematicBreak:a(we)},exit:{atxHeading:c(),atxHeadingSequence:x,autolink:c(),autolinkEmail:ce,autolinkProtocol:I,blockQuote:c(),characterEscapeValue:E,characterReferenceMarkerHexadecimal:ae,characterReferenceMarkerNumeric:ae,characterReferenceValue:oe,characterReference:se,codeFenced:c(g),codeFencedFence:h,codeFencedFenceInfo:p,codeFencedFenceMeta:m,codeFlowValue:E,codeIndented:c(_),codeText:c(j),codeTextData:E,data:E,definition:c(),definitionDestinationString:b,definitionLabelString:v,definitionTitleString:y,emphasis:c(),hardBreakEscape:c(O),hardBreakTrailing:c(O),htmlFlow:c(k),htmlFlowData:E,htmlText:c(A),htmlTextData:E,image:c(M),label:N,labelText:te,lineEnding:D,link:c(ee),listItem:c(),listOrdered:c(),listUnordered:c(),paragraph:c(),referenceString:ie,resourceDestinationString:P,resourceTitleString:F,resource:ne,setextHeading:c(w),setextHeadingLineSequence:C,setextHeadingText:S,strong:c(),thematicBreak:c()}};_P(t,(e||{}).mdastExtensions||[]);let n={};return r;function r(e){let r={type:`root`,children:[]},a={stack:[r],tokenStack:[],config:t,enter:s,exit:l,buffer:o,resume:u,data:n},c=[],d=-1;for(;++d<e.length;)(e[d][1].type===`listOrdered`||e[d][1].type===`listUnordered`)&&(e[d][0]===`enter`?c.push(d):d=i(e,c.pop(),d));for(d=-1;++d<e.length;){let n=t[e[d][0]];pP.call(n,e[d][1].type)&&n[e[d][1].type].call(Object.assign({sliceSerialize:e[d][2].sliceSerialize},a),e[d][1])}if(a.tokenStack.length>0){let e=a.tokenStack[a.tokenStack.length-1];(e[1]||yP).call(a,void 0,e[0])}for(r.position={start:gP(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:gP(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},d=-1;++d<t.transforms.length;)r=t.transforms[d](r)||r;return r}function i(e,t,n){let r=t-1,i=-1,a=!1,o,s,c,l;for(;++r<=n;){let t=e[r];switch(t[1].type){case`listUnordered`:case`listOrdered`:case`blockQuote`:t[0]===`enter`?i++:i--,l=void 0;break;case`lineEndingBlank`:t[0]===`enter`&&(o&&!l&&!i&&!c&&(c=r),l=void 0);break;case`linePrefix`:case`listItemValue`:case`listItemMarker`:case`listItemPrefix`:case`listItemPrefixWhitespace`:break;default:l=void 0}if(!i&&t[0]===`enter`&&t[1].type===`listItemPrefix`||i===-1&&t[0]===`exit`&&(t[1].type===`listUnordered`||t[1].type===`listOrdered`)){if(o){let i=r;for(s=void 0;i--;){let t=e[i];if(t[1].type===`lineEnding`||t[1].type===`lineEndingBlank`){if(t[0]===`exit`)continue;s&&(e[s][1].type=`lineEndingBlank`,a=!0),t[1].type=`lineEnding`,s=i}else if(!(t[1].type===`linePrefix`||t[1].type===`blockQuotePrefix`||t[1].type===`blockQuotePrefixWhitespace`||t[1].type===`blockQuoteMarker`||t[1].type===`listItemIndent`))break}c&&(!s||c<s)&&(o._spread=!0),o.end=Object.assign({},s?e[s][1].start:t[1].end),e.splice(s||r,0,[`exit`,o,t[2]]),r++,n++}if(t[1].type===`listItemPrefix`){let i={type:`listItem`,_spread:!1,start:Object.assign({},t[1].start),end:void 0};o=i,e.splice(r,0,[`enter`,i,t[2]]),r++,n++,c=void 0,l=!0}}}return e[t][1]._spread=a,n}function a(e,t){return n;function n(n){s.call(this,e(n),n),t&&t.call(this,n)}}function o(){this.stack.push({type:`fragment`,children:[]})}function s(e,t,n){this.stack[this.stack.length-1].children.push(e),this.stack.push(e),this.tokenStack.push([t,n||void 0]),e.position={start:gP(t.start),end:void 0}}function c(e){return t;function t(t){e&&e.call(this,t),l.call(this,t)}}function l(e,t){let n=this.stack.pop(),r=this.tokenStack.pop();if(r)r[0].type!==e.type&&(t?t.call(this,e,r[0]):(r[1]||yP).call(this,e,r[0]));else throw Error("Cannot close `"+e.type+"` ("+RA({start:e.start,end:e.end})+`): it’s not open`);n.position.end=gP(e.end)}function u(){return bj(this.stack.pop())}function d(){this.data.expectingFirstListItemValue=!0}function f(e){if(this.data.expectingFirstListItemValue){let t=this.stack[this.stack.length-2];t.start=Number.parseInt(this.sliceSerialize(e),10),this.data.expectingFirstListItemValue=void 0}}function p(){let e=this.resume(),t=this.stack[this.stack.length-1];t.lang=e}function m(){let e=this.resume(),t=this.stack[this.stack.length-1];t.meta=e}function h(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function g(){let e=this.resume(),t=this.stack[this.stack.length-1];t.value=e.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,``),this.data.flowCodeInside=void 0}function _(){let e=this.resume(),t=this.stack[this.stack.length-1];t.value=e.replace(/(\r?\n|\r)$/g,``)}function v(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=Nj(this.sliceSerialize(e)).toLowerCase()}function y(){let e=this.resume(),t=this.stack[this.stack.length-1];t.title=e}function b(){let e=this.resume(),t=this.stack[this.stack.length-1];t.url=e}function x(e){let t=this.stack[this.stack.length-1];t.depth||=this.sliceSerialize(e).length}function S(){this.data.setextHeadingSlurpLineEnding=!0}function C(e){let t=this.stack[this.stack.length-1];t.depth=this.sliceSerialize(e).codePointAt(0)===61?1:2}function w(){this.data.setextHeadingSlurpLineEnding=void 0}function T(e){let t=this.stack[this.stack.length-1].children,n=t[t.length-1];(!n||n.type!==`text`)&&(n=Ce(),n.position={start:gP(e.start),end:void 0},t.push(n)),this.stack.push(n)}function E(e){let t=this.stack.pop();t.value+=this.sliceSerialize(e),t.position.end=gP(e.end)}function D(e){let n=this.stack[this.stack.length-1];if(this.data.atHardBreak){let t=n.children[n.children.length-1];t.position.end=gP(e.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(n.type)&&(T.call(this,e),E.call(this,e))}function O(){this.data.atHardBreak=!0}function k(){let e=this.resume(),t=this.stack[this.stack.length-1];t.value=e}function A(){let e=this.resume(),t=this.stack[this.stack.length-1];t.value=e}function j(){let e=this.resume(),t=this.stack[this.stack.length-1];t.value=e}function ee(){let e=this.stack[this.stack.length-1];if(this.data.inReference){let t=this.data.referenceType||`shortcut`;e.type+=`Reference`,e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}function M(){let e=this.stack[this.stack.length-1];if(this.data.inReference){let t=this.data.referenceType||`shortcut`;e.type+=`Reference`,e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}function te(e){let t=this.sliceSerialize(e),n=this.stack[this.stack.length-2];n.label=dP(t),n.identifier=Nj(t).toLowerCase()}function N(){let e=this.stack[this.stack.length-1],t=this.resume(),n=this.stack[this.stack.length-1];this.data.inReference=!0,n.type===`link`?n.children=e.children:n.alt=t}function P(){let e=this.resume(),t=this.stack[this.stack.length-1];t.url=e}function F(){let e=this.resume(),t=this.stack[this.stack.length-1];t.title=e}function ne(){this.data.inReference=void 0}function re(){this.data.referenceType=`collapsed`}function ie(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=Nj(this.sliceSerialize(e)).toLowerCase(),this.data.referenceType=`full`}function ae(e){this.data.characterReferenceType=e.type}function oe(e){let t=this.sliceSerialize(e),n=this.data.characterReferenceType,r;n?(r=Mj(t,n===`characterReferenceMarkerNumeric`?10:16),this.data.characterReferenceType=void 0):r=Tj(t);let i=this.stack[this.stack.length-1];i.value+=r}function se(e){let t=this.stack.pop();t.position.end=gP(e.end)}function I(e){E.call(this,e);let t=this.stack[this.stack.length-1];t.url=this.sliceSerialize(e)}function ce(e){E.call(this,e);let t=this.stack[this.stack.length-1];t.url=`mailto:`+this.sliceSerialize(e)}function le(){return{type:`blockquote`,children:[]}}function ue(){return{type:`code`,lang:null,meta:null,value:``}}function de(){return{type:`inlineCode`,value:``}}function fe(){return{type:`definition`,identifier:``,label:null,title:null,url:``}}function pe(){return{type:`emphasis`,children:[]}}function me(){return{type:`heading`,depth:0,children:[]}}function he(){return{type:`break`}}function ge(){return{type:`html`,value:``}}function _e(){return{type:`image`,title:null,url:``,alt:null}}function ve(){return{type:`link`,title:null,url:``,children:[]}}function ye(e){return{type:`list`,ordered:e.type===`listOrdered`,start:null,spread:e._spread,children:[]}}function be(e){return{type:`listItem`,spread:e._spread,checked:null,children:[]}}function xe(){return{type:`paragraph`,children:[]}}function Se(){return{type:`strong`,children:[]}}function Ce(){return{type:`text`,value:``}}function we(){return{type:`thematicBreak`}}}function gP(e){return{line:e.line,column:e.column,offset:e.offset}}function _P(e,t){let n=-1;for(;++n<t.length;){let r=t[n];Array.isArray(r)?_P(e,r):vP(e,r)}}function vP(e,t){let n;for(n in t)if(pP.call(t,n))switch(n){case`canContainEols`:{let r=t[n];r&&e[n].push(...r);break}case`transforms`:{let r=t[n];r&&e[n].push(...r);break}case`enter`:case`exit`:{let r=t[n];r&&Object.assign(e[n],r);break}}}function yP(e,t){throw Error(e?"Cannot close `"+e.type+"` ("+RA({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+RA({start:t.start,end:t.end})+`) is open`:"Cannot close document, a token (`"+t.type+"`, "+RA({start:t.start,end:t.end})+`) is still open`)}function bP(e){let t=this;t.parser=n;function n(n){return mP(n,{...t.data(`settings`),...e,extensions:t.data(`micromarkExtensions`)||[],mdastExtensions:t.data(`fromMarkdownExtensions`)||[]})}}function xP(e,t){let n={type:`element`,tagName:`blockquote`,properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function SP(e,t){let n={type:`element`,tagName:`br`,properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:`text`,value:`
@@ -67,4 +67,4 @@ Error generating stack: `+e.message+`
67
67
  `){n.preventDefault(),y.current=null,b.current=null,I(`${e.slice(0,t.start-1)}${e.slice(t.start)}`,t.start-1);return}if(n.key===`Delete`&&e[t.start]===`
68
68
  `){n.preventDefault(),y.current=null,b.current=null,I(`${e.slice(0,t.start)}${e.slice(t.start+1)}`,t.start);return}let r=zI(e).find(r=>n.key===`Backspace`?t.start>r.start&&t.start<=r.end||t.start===r.end+1&&e[r.end]===` `:t.start>=r.start&&t.start<r.end);if(r!==void 0){n.preventDefault(),y.current=null,b.current=null;let i=n.key===`Backspace`&&t.start===r.end+1&&e[r.end]===` `?r.end+1:r.end;I(`${e.slice(0,r.start)}${e.slice(i)}`,r.start);return}if(n.key===`Backspace`&&t.start>0){n.preventDefault(),y.current=null,b.current=null,I(`${e.slice(0,t.start-1)}${e.slice(t.start)}`,t.start-1);return}if(n.key===`Delete`&&t.start<e.length){n.preventDefault(),y.current=null,b.current=null,I(`${e.slice(0,t.start)}${e.slice(t.start+1)}`,t.start);return}}if(t&&n.key===`Enter`){if(n.preventDefault(),r&&!n.shiftKey&&!n.metaKey){i?.closest(`form`)?.requestSubmit();return}le();return}if(!t&&n.key===`Enter`){n.preventDefault(),i?.closest(`form`)?.requestSubmit();return}f?.(n)},he=t=>{if(v.current||WI(t))return;let n=h.current;if(n===null)return;let r=F(n),i=ie(n).end,a=ue(r,i),o=a?.nextValue??r,s=a?.nextCaret??i,c=GI(t);if(c.inputType===`insertText`&&KI(c.data)){let t=s-c.data.length,n=`${o.slice(0,t)}${o.slice(s)}`;y.current=t>=0&&n===e?{data:c.data,start:t,end:s,valueBefore:n,createdAt:Date.now()}:null}else y.current=null;let l=de(o,s,void 0,!0);I(l.nextValue,l.nextCaret)},ge=e=>{if(v.current||WI(e))return;let t=GI(e);if(t.inputType===`insertParagraph`||t.inputType===`insertLineBreak`){le()&&e.preventDefault();return}y.current=null},_e=t=>{t.preventDefault();let n=t.clipboardData.getData(`text/plain`),r=h.current;if(r===null)return;let i=ie(r);I(`${e.slice(0,i.start)}${n}${e.slice(i.end)}`,i.start+n.length)},ve=()=>{let e=h.current;e===null||!ne(e)||E(ie(e).end)},ye=Y(`mention-input-editor`,t?`is-multiline`:`is-singleline`,c),be=ee?(0,R.jsx)(`div`,{className:`mention-menu`,id:S,role:`listbox`,"aria-label":`Mention people`,children:j.map((e,t)=>(0,R.jsx)(`button`,{className:Y(`mention-option`,t===M?`is-selected`:void 0),type:`button`,role:`option`,id:`${S}-option-${t}`,"aria-selected":t===M,onMouseEnter:()=>O(t),onMouseDown:t=>{t.preventDefault(),se(e)},children:(0,R.jsxs)(`span`,{className:`mention-option-text`,children:[`@`,e.handle]})},e.id))}):null,xe=a?.current;return(0,R.jsxs)(`span`,{className:Y(`mention-input`,t?`is-multiline`:void 0),children:[(0,R.jsx)(`div`,{className:ye,contentEditable:!N,role:`textbox`,"aria-label":P,"aria-multiline":t,"aria-disabled":N,"aria-expanded":ee,...ee?{"aria-controls":S}:{},...te===void 0?{}:{"aria-activedescendant":te},"data-placeholder":m.placeholder,"data-max-rows":n,onBlur:e=>{w(!1),l?.(e)},onClick:e=>{ve(),u?.(e)},onFocus:e=>{w(!0),ve(),d?.(e)},onCompositionStart:()=>{v.current=!0;let e=h.current,t=y.current;if(y.current=null,e!==null&&t!==null&&Date.now()-t.createdAt<500&&F(e).slice(t.start,t.end)===t.data){b.current=t,_.current=null,E(t.start),s(t.valueBefore);let n=RI(t.valueBefore,null);UI(e,n),x.current=VI(n),ae(e,t.start)}else b.current=null},onCompositionEnd:e=>{v.current=!1;let t=GI(e);pe(t.data===null?{}:{compositionData:t.data})},onBeforeInput:ge,onInput:he,onKeyDown:me,onKeyUp:e=>{!v.current&&!WI(e)&&ve(),p?.(e)},onPaste:_e,ref:h,suppressContentEditableWarning:!0}),xe==null?be:(0,rS.createPortal)(be,xe)]})}function XI(e){return(0,R.jsx)(Dx,{...e})}function ZI({avatar:e,author:t,time:n,requestStatus:r,children:i,system:a=!1,className:o,...s}){return(0,R.jsxs)(`article`,{className:Y(`message`,a?`is-system`:void 0,o),...s,children:[(0,R.jsxs)(`div`,{className:`message-byline`,children:[e,(0,R.jsxs)(`div`,{className:`message-meta`,children:[(0,R.jsx)(`span`,{className:`message-author`,children:t}),n===void 0?null:(0,R.jsx)(`span`,{className:`message-time`,children:n}),r===void 0?null:(0,R.jsx)(`span`,{className:`message-time message-request-status`,role:`status`,children:r})]})]}),(0,R.jsx)(`div`,{className:`message-content`,children:(0,R.jsx)(`div`,{className:`message-card`,children:i})})]})}function QI({children:e,className:t,...n}){return(0,R.jsx)(`div`,{className:Y(`message-markdown`,t),...n,children:(0,R.jsx)(CI,{components:lL,children:e})})}function $I({children:e}){return(0,R.jsx)(`p`,{children:qI(e)})}function eL({children:e}){return(0,R.jsx)(`li`,{children:qI(e)})}function tL({children:e}){return(0,R.jsx)(`strong`,{children:qI(e)})}function nL({children:e}){return(0,R.jsx)(`em`,{children:qI(e)})}function rL({children:e}){return(0,R.jsx)(`h1`,{children:qI(e)})}function iL({children:e}){return(0,R.jsx)(`h2`,{children:qI(e)})}function aL({children:e}){return(0,R.jsx)(`h3`,{children:qI(e)})}function oL({children:e}){return(0,R.jsx)(`h4`,{children:qI(e)})}function sL({children:e}){return(0,R.jsx)(`h5`,{children:qI(e)})}function cL({children:e}){return(0,R.jsx)(`h6`,{children:qI(e)})}var lL={p:$I,li:eL,strong:tL,em:nL,h1:rL,h2:iL,h3:aL,h4:oL,h5:sL,h6:cL};function uL({name:e,category:t,imageUrl:n,className:r,"aria-label":i,...a}){let o=t===`image`&&n!==void 0;return(0,R.jsx)(`button`,{type:`button`,"aria-label":i??`Open ${t===`image`?`image`:`file`} ${e}`,className:Y(`reference-message-card`,t===`image`?`is-image`:`is-file`,r),...a,children:o?(0,R.jsx)(`img`,{className:`reference-message-image`,src:n,alt:e,loading:`lazy`,decoding:`async`}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`span`,{className:`reference-message-icon`,"aria-hidden":`true`,children:t===`image`?(0,R.jsx)(_x,{}):(0,R.jsx)(mx,{})}),(0,R.jsx)(`span`,{className:`reference-message-main`,children:(0,R.jsx)(`strong`,{children:e})})]})})}function dL({children:e,composer:t,empty:n,title:r=`Chat`,subtitle:i,actions:a,streamRef:o,streamOverlay:s,onStreamScroll:c,dropUploadPending:l=!1,onDropFiles:u,className:d,...f}){return(0,R.jsxs)(AI,{className:Y(`panel chat-panel chat-primary`,d),"aria-label":`Group chat`,dropLabel:`Drop references to upload`,pending:l,onFilesUpload:u,...f,children:[(0,R.jsxs)(`div`,{className:`panel-header`,children:[(0,R.jsxs)(`div`,{className:`panel-title`,children:[(0,R.jsx)(mS,{icon:(0,R.jsx)(XI,{"aria-hidden":`true`})}),(0,R.jsxs)(`div`,{className:`panel-title-copy`,children:[(0,R.jsx)(`h3`,{children:r}),i===void 0?null:(0,R.jsx)(`div`,{className:`panel-subtitle`,children:i})]})]}),a===void 0?null:(0,R.jsx)(`div`,{className:`panel-actions`,children:a})]}),(0,R.jsxs)(`div`,{className:`chat-stream-frame`,children:[(0,R.jsx)(`div`,{className:`chat-stream`,ref:o,onScroll:c,children:e??n}),s===void 0?null:(0,R.jsx)(`div`,{className:`chat-stream-overlay`,children:s})]}),t]})}function fL({value:e,placeholder:t,ariaLabel:n,maxLength:r,saving:i=!1,disabled:a=!1,allowEmpty:o=!1,onUpdate:s,className:c,...l}){let u=(0,L.useRef)(null),[d,f]=(0,L.useState)(!1),[p,m]=(0,L.useState)(e),[h,g]=(0,L.useState)(!1),_=i||h,v=!a&&!_&&s!==void 0,y=e.trim(),b=y.length===0;(0,L.useEffect)(()=>{d||m(e)},[d,e]),(0,L.useEffect)(()=>{d&&(u.current?.focus(),u.current?.select())},[d]);let x=()=>{m(e),f(!1)},S=()=>{let e=p.trim();if(!o&&e.length===0){x();return}if(e===y){f(!1);return}s===void 0||_||(g(!0),Promise.resolve(s(e)).then(()=>{f(!1)}).catch(()=>void 0).finally(()=>{g(!1)}))},C=e=>{if(e.key===`Enter`){e.preventDefault(),S();return}e.key===`Escape`&&(e.preventDefault(),x())};return(0,R.jsx)(`span`,{className:Y(`inline-editable-text`,b?`is-empty`:void 0,d?`is-editing`:void 0,v?void 0:`is-disabled`,c),...l,children:d?(0,R.jsx)(`input`,{ref:u,className:`inline-editable-text-input`,"aria-label":n,value:p,maxLength:r,disabled:_,onBlur:S,onChange:e=>m(e.currentTarget.value),onKeyDown:C}):(0,R.jsx)(`button`,{className:`inline-editable-text-button`,type:`button`,"aria-label":n,disabled:!v,onClick:()=>f(!0),children:b?t:y})})}var pL={bare:``,quiet:`quiet-button`,pill:`pill-action`,action:`action-button`};function mL({variant:e=`pill`,label:t,pendingLabel:n=t,pending:r=!1,disabled:i=!1,iconOnly:a=!1,accept:o,icon:s,onFileUpload:c,className:l,...u}){let d=i||r||c===void 0,f=r?n:t,p=e=>{let t=e.currentTarget.files?.[0];e.currentTarget.value=``,t!==void 0&&c?.(t)};return(0,R.jsxs)(`label`,{...u,className:Y(pL[e],d?`is-disabled`:void 0,l),"aria-disabled":d,"aria-busy":r,"aria-label":u[`aria-label`]??f,title:u.title??f,children:[(0,R.jsx)(`input`,{type:`file`,accept:o,disabled:d,onChange:p}),s??(r?(0,R.jsx)(Sx,{className:`is-spinning`,"aria-hidden":`true`}):(0,R.jsx)(cx,{"aria-hidden":`true`})),a?null:(0,R.jsx)(`span`,{children:f})]})}function hL({value:e,pending:t=!1,uploadPending:n=!1,placeholder:r=`Write a message`,mentionOptions:i,onValueChange:a,onComposerSubmit:o,onFileUpload:s,className:c,...l}){let[u,d]=(0,L.useState)(0),f=(0,L.useRef)(null);return(0,R.jsx)(`form`,{className:Y(`composer`,c),"aria-label":`Message composer`,onSubmit:o,...l,children:(0,R.jsxs)(`div`,{className:`composer-input-shell`,ref:f,children:[(0,R.jsx)(YI,{"aria-label":`Message`,placeholder:r,value:e,multiline:!0,maxRows:8,submitOnEnter:!0,mentionRequestKey:u,menuPortalTargetRef:f,...i===void 0?{}:{mentionOptions:i},onValueChange:a}),(0,R.jsxs)(`div`,{className:`composer-tools`,"aria-label":`Message tools`,children:[(0,R.jsx)(`button`,{className:`composer-tool-button composer-mention-button`,type:`button`,"aria-label":`Mention people`,title:`Mention people`,onClick:()=>d(e=>e+1),children:(0,R.jsx)(Zb,{"aria-hidden":`true`})}),(0,R.jsx)(mL,{variant:`bare`,className:`composer-tool-button composer-upload-button`,label:`Upload image`,pendingLabel:`Uploading image`,pending:n,accept:`image/*`,icon:(0,R.jsx)(_x,{"aria-hidden":`true`}),iconOnly:!0,onFileUpload:s}),(0,R.jsx)(mL,{variant:`bare`,className:`composer-tool-button composer-upload-button`,label:`Upload file`,pendingLabel:`Uploading file`,pending:n,icon:(0,R.jsx)(mx,{"aria-hidden":`true`}),iconOnly:!0,onFileUpload:s}),(0,R.jsx)(`button`,{className:`composer-tool-button composer-send-button`,type:`submit`,disabled:e.trim()===``||t,"aria-label":t?`Sending message`:`Send message`,title:t?`Sending message`:`Send message`,children:(0,R.jsx)(Ux,{"aria-hidden":`true`})})]})]})})}function gL(e){return(0,R.jsx)(jx,{...e})}var _L={confirmed:(0,R.jsx)(ex,{"aria-hidden":`true`}),question:(0,R.jsx)(ix,{"aria-hidden":`true`}),"task-change":(0,R.jsx)(Jx,{"aria-hidden":`true`})};function vL({kind:e,children:t,className:n,...r}){return(0,R.jsxs)(`div`,{className:Y(`scratchpad-row`,`is-${e}`,n),...r,children:[(0,R.jsx)(`span`,{className:`scratchpad-marker`,"aria-hidden":`true`,children:_L[e]}),(0,R.jsx)(`p`,{children:t})]})}function yL({compiledTasks:e=[],onOpenCompiledTask:t}){return(0,R.jsxs)(`section`,{className:`scratchpad-submitted-receipt`,"aria-label":`Submitted to Worklist`,children:[(0,R.jsxs)(`div`,{className:`scratchpad-submitted-receipt-header`,children:[(0,R.jsx)(`strong`,{children:`Submitted to Worklist`}),(0,R.jsx)(ex,{className:`scratchpad-submitted-receipt-check`,"aria-hidden":`true`})]}),e.length===0?(0,R.jsxs)(`div`,{className:`scratchpad-submitted-empty`,role:`status`,children:[(0,R.jsx)(Jx,{"aria-hidden":`true`}),(0,R.jsxs)(`span`,{className:`scratchpad-submitted-empty-copy`,children:[(0,R.jsx)(`span`,{children:`No new task created`}),(0,R.jsx)(`small`,{children:`This Scratchpad was submitted, but no Worklist task was added.`})]})]}):(0,R.jsx)(`div`,{className:`scratchpad-submitted-task-list`,children:e.map(e=>(0,R.jsxs)(`button`,{className:`scratchpad-submitted-task`,disabled:t===void 0,onClick:()=>t?.(e.taskId),type:`button`,children:[(0,R.jsxs)(`span`,{className:`scratchpad-submitted-task-copy`,children:[(0,R.jsx)(`span`,{children:e.title}),(0,R.jsx)(`small`,{children:e.moduleName})]}),(0,R.jsx)(nx,{"aria-hidden":`true`})]},e.taskId))})]})}function bL({title:e,summary:t,sections:n,updatedLabel:r,updatedLabelPrefix:i=`Updated`,footerNote:a,submitAvailable:o,pages:s,empty:c,actionsDisabled:l=!1,showSubmitAction:u=!0,compact:d=!1,presentation:f=`panel`,syncPending:p=!1,submitPending:m=!1,onSubmitScratchpad:h,onOpenCompiledTask:g,className:_,...v}){let y=s!==void 0&&s.length>0,b=(0,L.useMemo)(()=>s!==void 0&&s.length>0?s:[{key:`current`,title:e,summary:t,sections:n,...r===void 0?{}:{updatedLabel:r},updatedLabelPrefix:i,...a===void 0?{}:{footerNote:a},...o===void 0?{}:{submitAvailable:o}}],[a,s,n,o,t,e,r,i]),x=Math.max(0,b.length-1),S=b[x]?.key,[C,w]=(0,L.useState)(x);(0,L.useEffect)(()=>{w(x)},[x,S]);let T=Math.min(C,Math.max(0,b.length-1)),E=b[T]??{key:`current`,title:e,summary:t,sections:n,...r===void 0?{}:{updatedLabel:r},updatedLabelPrefix:i,...a===void 0?{}:{footerNote:a},...o===void 0?{}:{submitAvailable:o}},D=p||m,O=m?`Running`:p?`Refreshing`:`Run`,k=E.submitAvailable??E.sections.length>0,A=l||D||!k||E.submitted===!0;return(0,R.jsx)(pS,{title:`Scratchpad`,frameless:f===`document`,icon:(0,R.jsx)(gL,{"aria-hidden":`true`}),className:Y(`scratchpad-panel`,d?`is-compact`:void 0,f===`document`?`is-document`:void 0,_),"aria-busy":D,...v,children:(0,R.jsxs)(`div`,{className:`scratchpad-panel-body scratchpad`,children:[!y&&E.sections.length===0?c??(0,R.jsx)(`div`,{}):(0,R.jsxs)(`div`,{className:Y(`scratchpad-content`,E.submitted===!0?`is-submitted`:void 0),children:[(0,R.jsx)(`div`,{className:`scratchpad-head`,children:(0,R.jsx)(`div`,{children:(0,R.jsx)(`h4`,{children:E.title})})}),(0,R.jsx)(`p`,{className:`scratchpad-summary`,children:E.summary}),E.sections.map(e=>(0,R.jsxs)(`section`,{className:`scratchpad-section`,"aria-labelledby":e.id,children:[(0,R.jsx)(`span`,{className:`scratchpad-label`,id:e.id,children:e.label}),(0,R.jsx)(`div`,{className:`scratchpad-list`,children:e.rows.map(t=>(0,R.jsx)(vL,{kind:t.kind,children:t.text},`${e.id}:${t.text}`))})]},e.id)),E.submitted===!0?(0,R.jsx)(yL,{compiledTasks:E.compiledTasks??[],...g===void 0?{}:{onOpenCompiledTask:g}}):null]},E.key),!d&&b.length>1?(0,R.jsx)(`div`,{className:`scratchpad-history-nav`,children:(0,R.jsx)(fS,{"aria-label":`Scratchpad history`,currentPage:T,maxVisible:7,pageAriaLabel:e=>`Scratchpad page ${e+1}`,pageCount:b.length,onPageChange:w})}):null,(0,R.jsxs)(`div`,{className:`scratchpad-footer`,children:[E.footerNote===void 0?null:(0,R.jsx)(`p`,{className:Y(`scratchpad-footer-note`,E.footerNote.tone===`error`?`is-error`:void 0),title:E.footerNote.text,children:E.footerNote.text}),d?null:(0,R.jsx)(`div`,{className:`scratchpad-submit-context`,children:E.updatedLabel===void 0?null:(0,R.jsxs)(`span`,{className:`scratchpad-updated-at`,children:[(0,R.jsx)(`span`,{children:E.updatedLabelPrefix??`Updated`}),(0,R.jsx)(`span`,{children:E.updatedLabel})]})}),u?(0,R.jsx)(`div`,{className:`scratchpad-footer-actions`,children:(0,R.jsxs)(Sw,{className:Y(`scratchpad-submit-button`,D?`is-pending`:void 0),type:`button`,"aria-busy":D,disabled:A,onClick:h,children:[D?(0,R.jsx)(Sx,{"aria-hidden":`true`}):(0,R.jsx)(Mx,{"aria-hidden":`true`}),(0,R.jsx)(`span`,{children:O})]})}):null]})]})})}function xL(e){return e===`done`?(0,R.jsx)(ex,{"aria-hidden":`true`}):e===`failed`?(0,R.jsx)(ax,{"aria-hidden":`true`}):e===`pending`?(0,R.jsx)($x,{"aria-hidden":`true`}):e===`running`?(0,R.jsx)(Sx,{"aria-hidden":`true`}):(0,R.jsx)(ox,{"aria-hidden":`true`})}function SL(e){return e===`complete`?`Complete`:e===`failed`?`Failed`:e===`pending`?`Needs input`:`Running`}function CL(e){return(0,R.jsx)(tS,{"aria-hidden":`true`,"data-tone":e})}function wL({title:e,summary:t,tone:n,steps:r,metaLabel:i,className:a,...o}){let s=i??SL(n),c=o[`aria-label`]??`${e}. ${s}. ${t}`;return(0,R.jsx)(pS,{title:e,icon:CL(n),className:Y(`execution-progress-panel`,`is-${n}`,a),"aria-label":c,...o,children:(0,R.jsx)(`div`,{className:`execution-progress-body`,children:(0,R.jsx)(`div`,{className:`execution-progress-list`,children:r.map(e=>(0,R.jsxs)(`div`,{className:Y(`execution-progress-step`,`is-${e.status}`),children:[(0,R.jsx)(`span`,{className:Y(`execution-progress-marker`,`is-${e.status}`),"aria-hidden":`true`,children:xL(e.status)}),(0,R.jsxs)(`span`,{className:`execution-progress-step-content`,children:[(0,R.jsxs)(`span`,{className:`execution-progress-step-title`,children:[(0,R.jsx)(`span`,{className:`execution-progress-step-label`,children:e.label}),e.elapsedLabel===void 0?null:(0,R.jsxs)(`span`,{className:`execution-progress-step-elapsed`,children:[` (`,e.elapsedLabel,`)`]})]}),e.detail===void 0&&e.detailPrefix===void 0?null:(0,R.jsxs)(`span`,{className:`execution-progress-step-detail`,children:[e.detailPrefix===void 0?null:(0,R.jsx)(`span`,{className:`execution-progress-step-detail-prefix`,children:e.detailPrefix}),e.detailPrefix===void 0||e.detail===void 0?null:(0,R.jsx)(`span`,{className:`execution-progress-step-detail-separator`,"aria-hidden":`true`,children:` · `}),e.detail]}),e.activityLabel===void 0?null:(0,R.jsx)(`span`,{className:`execution-progress-step-activity`,children:e.activityLabel}),e.metrics===void 0||e.metrics.length===0?null:(0,R.jsx)(`span`,{className:`execution-progress-step-metrics`,children:e.metrics.map(e=>(0,R.jsx)(`span`,{className:`execution-progress-step-metric`,children:e},e))})]})]},e.id))})})})}function TL({brand:e,projectName:t,showProjectName:n=!0,meta:r,actions:i,activeTab:a,refreshing:o=!1,onSelectTab:s,onRefresh:c,children:l,className:u,...d}){return(0,R.jsx)(`main`,{className:Y(`embedded-project-page`,u),...d,children:(0,R.jsxs)(`section`,{className:`embedded-project-surface`,children:[(0,R.jsxs)(`header`,{className:`embedded-project-header`,children:[(0,R.jsx)(`div`,{className:`embedded-project-brand`,children:e}),!n&&r===void 0?null:(0,R.jsxs)(`div`,{className:`embedded-project-identity`,children:[n?(0,R.jsx)(`h1`,{children:t}):null,r===void 0?null:(0,R.jsx)(`p`,{children:r})]}),i===void 0&&c===void 0?null:(0,R.jsxs)(`div`,{className:`embedded-project-actions`,children:[i,c===void 0?null:(0,R.jsx)(X,{"aria-label":o?`Refreshing project`:`Refresh project`,className:`embedded-project-refresh`,disabled:o,onClick:c,type:`button`,children:o?(0,R.jsx)(Sx,{"aria-hidden":`true`,className:`is-spinning`}):(0,R.jsx)(Rx,{"aria-hidden":`true`})})]})]}),a===void 0?null:(0,R.jsx)(`nav`,{className:`embedded-project-tabs`,"aria-label":`Project sections`,children:[`project`,`work`,`artifacts`,`timeline`].map(e=>(0,R.jsx)(`button`,{"aria-current":a===e?`page`:void 0,className:a===e?`is-active`:void 0,onClick:()=>s?.(e),type:`button`,children:e===`project`?`Project`:e===`work`?`Tasks`:e===`timeline`?`Timeline`:`Artifacts`},e))}),(0,R.jsx)(`div`,{className:`embedded-project-body`,children:l})]})})}function EL({message:e,diagnosticId:t,rows:n,onCopy:r}){let[i,a]=(0,L.useState)(`idle`);return(0,R.jsxs)(`div`,{className:`embedded-project-diagnostic`,children:[e===void 0?null:(0,R.jsx)(`p`,{children:e}),(0,R.jsxs)(`p`,{className:`embedded-project-diagnostic-id`,children:[`Diagnostic ID `,(0,R.jsx)(`code`,{children:t})]}),(0,R.jsxs)(`details`,{children:[(0,R.jsx)(`summary`,{children:`Diagnostic details`}),(0,R.jsx)(`dl`,{"aria-label":`Feishu diagnostic details`,children:n.map(([e,t])=>(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`dt`,{children:e}),(0,R.jsx)(`dd`,{children:t})]},e))})]}),(0,R.jsx)(X,{type:`button`,disabled:i===`pending`,onClick:()=>{a(`pending`),Promise.resolve().then(r).then(()=>a(`copied`),()=>a(`failed`))},children:`Copy diagnostics`}),(0,R.jsx)(`span`,{"aria-live":`polite`,children:i===`copied`?`Copied.`:i===`failed`?`Copy unavailable. Select and copy the details above.`:null})]})}function DL({open:e,title:t,onClose:n,children:r}){let i=(0,L.useRef)(null);return(0,R.jsx)(KD,{open:e,onOpenChange:e=>{e||n()},children:(0,R.jsxs)(XD,{children:[(0,R.jsx)(QD,{className:`bottom-sheet-overlay`}),(0,R.jsxs)(nO,{className:`bottom-sheet`,"aria-describedby":void 0,onOpenAutoFocus:()=>{i.current=document.activeElement instanceof HTMLElement?document.activeElement:null},onCloseAutoFocus:e=>{e.preventDefault(),i.current?.isConnected&&i.current.focus()},children:[(0,R.jsxs)(`header`,{className:`bottom-sheet-header`,children:[(0,R.jsx)(sO,{children:t}),(0,R.jsx)(dO,{asChild:!0,children:(0,R.jsx)(X,{className:`bottom-sheet-close`,type:`button`,"aria-label":`Close details`,children:(0,R.jsx)(nS,{"aria-hidden":`true`})})})]}),(0,R.jsx)(`div`,{className:`bottom-sheet-body`,children:r})]})]})})}function OL({tone:e=`neutral`,compact:t=!1,asChild:n=!1,className:r,...i}){return(0,R.jsx)(n?ow:`div`,{className:Y(`chat-event-card`,`is-${e}`,t?`is-compact`:void 0,r),...i})}function kL({as:e=`div`,icon:t,title:n,meta:r,action:i,className:a,...o}){return(0,R.jsxs)(e,{className:Y(`chat-event-card-header`,a),...o,children:[(0,R.jsx)(AL,{children:t}),(0,R.jsxs)(`span`,{className:`chat-event-card-title`,children:[(0,R.jsx)(`strong`,{children:n}),r===void 0?null:(0,R.jsx)(`span`,{className:`chat-event-card-meta`,children:r})]}),i]})}function AL({className:e,...t}){return(0,R.jsx)(`span`,{className:Y(`chat-event-card-status-icon`,e),...t})}function jL({className:e,...t}){return(0,R.jsx)(`div`,{className:Y(`chat-event-card-body`,e),...t})}function ML({className:e,...t}){return(0,R.jsx)(`footer`,{className:Y(`chat-event-card-footer`,e),...t})}function NL(e){return e===`done`?`success`:e===`failed`?`danger`:e===`pending`?`warning`:`neutral`}function PL(e){return e===`done`?(0,R.jsx)(ex,{"aria-hidden":`true`}):e===`failed`?(0,R.jsx)(nS,{"aria-hidden":`true`}):(0,R.jsx)(Tx,{"aria-hidden":`true`})}function FL({title:e,summary:t,request:n,messages:r,draft:i,contextLabel:a,defaultOpen:o,readOnly:s=!1,replyCount:c,status:l,statusLabel:u,mentionOptions:d,sendPending:f=!1,submitPending:p=!1,onDraftChange:m,onSendMessage:h,onSubmitRound:g,className:_,...v}){let y=t.trim()===``?n:t,b=a===void 0?y:`${y} (${a})`,[x,S]=(0,L.useState)(o??!0),C=l??(s?`done`:`pending`),w=u??(s?`submitted`:`needs input`),T=c??r.length,E=p||T===0,D=T===0?`No replies`:`${T} ${T===1?`reply`:`replies`}`,O=NL(C),k=`${w} · ${D}`,A=(0,R.jsxs)(jL,{className:`chat-clarification-card-body`,children:[(0,R.jsx)(`div`,{className:`chat-event-thread`,children:r.map(e=>(0,R.jsxs)(`article`,{className:`chat-event-message`,children:[e.avatar,(0,R.jsxs)(`div`,{className:`chat-event-message-copy`,children:[(0,R.jsxs)(`div`,{className:`message-meta`,children:[(0,R.jsx)(`span`,{className:`message-author`,children:e.author}),e.time===void 0?null:(0,R.jsx)(`span`,{className:`message-time`,children:e.time})]}),(0,R.jsx)(`p`,{children:(0,R.jsx)(JI,{children:e.body})})]})]},e.id))}),s?null:(0,R.jsx)(`form`,{className:`chat-event-composer`,"aria-label":`Round reply`,onSubmit:h,children:(0,R.jsxs)(`div`,{className:`composer-input-shell chat-event-composer-input-shell`,children:[(0,R.jsx)(YI,{type:`text`,"aria-label":`Round message`,value:i,placeholder:`Reply in this round`,multiline:!0,maxRows:4,submitOnEnter:!0,...d===void 0?{}:{mentionOptions:d},onValueChange:m}),(0,R.jsx)(`div`,{className:`composer-tools chat-event-composer-tools`,"aria-label":`Round message tools`,children:(0,R.jsx)(`button`,{className:`composer-tool-button composer-send-button chat-event-send-button`,type:`submit`,disabled:i.trim()===``||f,"aria-label":f?`Sending round message`:`Send round message`,title:f?`Sending round message`:`Send round message`,children:(0,R.jsx)(Ux,{"aria-hidden":`true`})})})]})})]});return(0,R.jsx)(`article`,{className:Y(`message is-chat-event`,_),...v,children:s?(0,R.jsx)(OL,{tone:O,asChild:!0,children:(0,R.jsxs)(`details`,{className:`chat-clarification-card`,open:x,"aria-label":b,onToggle:e=>S(e.currentTarget.open),children:[(0,R.jsx)(kL,{as:`summary`,icon:PL(C),title:e,meta:k,action:(0,R.jsx)(`span`,{className:`chat-event-card-toggle`,"aria-hidden":`true`,children:(0,R.jsx)(tx,{})})}),A]})}):(0,R.jsx)(OL,{tone:O,asChild:!0,children:(0,R.jsxs)(`section`,{className:`chat-clarification-card is-fixed-open`,"aria-label":b,children:[(0,R.jsx)(kL,{icon:PL(C),title:e,meta:k,tabIndex:-1,action:(0,R.jsxs)(Sw,{className:`chat-event-primary-action`,type:`button`,"aria-label":T===0?`Reply before submitting round`:`Submit round`,"aria-busy":p,disabled:E,title:T===0?`Reply before submitting round`:`Submit round`,onClick:g,children:[p?(0,R.jsx)(Sx,{"aria-hidden":`true`}):(0,R.jsx)(ex,{"aria-hidden":`true`}),(0,R.jsx)(`span`,{className:`button-label`,children:p?`Submitting`:`Submit`})]})}),A]})})})}function IL({decision:e,disabled:t,onDecide:n}){let r=e.tone===`primary`?Sw:X,i=e.decisionId.startsWith(`allow`)?(0,R.jsx)(ex,{"aria-hidden":`true`}):(0,R.jsx)(nS,{"aria-hidden":`true`});return(0,R.jsxs)(r,{type:`button`,className:Y(`chat-approval-card-decision`,e.tone===`primary`?`is-primary`:void 0,e.tone===`danger`?`is-danger`:void 0),disabled:t,onClick:()=>n(e.decisionId),children:[i,(0,R.jsx)(`span`,{className:`button-label`,children:e.label})]})}function LL(e,t){return e===`pending`?`warning`:e===`resolved`?`success`:/expired|cancelled/iu.test(t)?`neutral`:`danger`}function RL(e){return e===`success`?(0,R.jsx)(ex,{"aria-hidden":`true`}):e===`danger`?(0,R.jsx)(nS,{"aria-hidden":`true`}):e===`neutral`?(0,R.jsx)(sx,{"aria-hidden":`true`}):(0,R.jsx)(Kx,{"aria-hidden":`true`})}function zL({title:e,summary:t,reason:n,status:r,statusLabel:i,detailLabel:a,detail:o,detailCode:s=!1,decisions:c=[],decisionPending:l=!1,resolutionLabel:u,defaultOpen:d,onDecide:f,className:p,...m}){let[h,g]=(0,L.useState)(d??r===`pending`),_=LL(r,i),v=[...c].sort((e,t)=>e.tone===t.tone?0:e.tone===`primary`?-1:+(t.tone===`primary`)),y=r===`pending`&&f!==void 0?(0,R.jsx)(ML,{className:`chat-approval-card-actions`,children:v.map(e=>(0,R.jsx)(IL,{decision:e,disabled:l,onDecide:f},e.decisionId))}):null,b=(0,R.jsx)(jL,{className:`chat-approval-card-body`,children:(0,R.jsxs)(`div`,{className:`chat-approval-card-content`,children:[(0,R.jsx)(`p`,{className:`chat-approval-card-summary`,children:t}),n===void 0?null:(0,R.jsx)(`p`,{className:`chat-approval-card-reason`,children:n}),o===void 0?null:(0,R.jsxs)(`div`,{className:`chat-approval-card-detail`,children:[a===void 0?null:(0,R.jsx)(`span`,{className:`chat-approval-card-detail-label`,children:a}),s?(0,R.jsx)(`code`,{className:`chat-approval-card-detail-code`,children:o}):(0,R.jsx)(`span`,{className:`chat-approval-card-detail-text`,children:o})]}),r===`pending`||u===void 0?null:(0,R.jsx)(`p`,{className:`chat-approval-card-resolution`,children:u})]})});return(0,R.jsx)(`article`,{className:Y(`message is-chat-event`,p),...m,children:r===`pending`?(0,R.jsx)(OL,{tone:_,asChild:!0,children:(0,R.jsxs)(`section`,{className:`chat-approval-card is-fixed-open`,"aria-label":t,children:[(0,R.jsx)(kL,{icon:RL(_),title:e,meta:i,tabIndex:-1}),b,y]})}):(0,R.jsx)(OL,{tone:_,asChild:!0,children:(0,R.jsxs)(`details`,{className:`chat-approval-card`,open:h,"aria-label":t,onToggle:e=>g(e.currentTarget.open),children:[(0,R.jsx)(kL,{as:`summary`,icon:RL(_),title:e,meta:i,action:(0,R.jsx)(`span`,{className:`chat-event-card-toggle`,"aria-hidden":`true`,children:(0,R.jsx)(tx,{})})}),b]})})})}function BL({state:e,className:t,disabled:n,onClick:r,...i}){let a=e===`retrying`,o=e===`retried`,s=a?`Retrying`:o?`Retried`:`Retry`;return(0,R.jsxs)(X,{...i,onClick:r,className:Y(`task-retry-action`,t),disabled:n===!0||r===void 0||a||o,"aria-label":s,"aria-busy":a?`true`:void 0,type:`button`,children:[a?(0,R.jsx)(Sx,{className:`is-spinning`,"aria-hidden":`true`}):o?(0,R.jsx)(ex,{"aria-hidden":`true`}):(0,R.jsx)(Bx,{"aria-hidden":`true`}),(0,R.jsx)(`span`,{children:s})]})}function VL({status:e,title:t,taskId:n,taskTitle:r,summary:i,moduleName:a,finalNote:o,generatedFiles:s=[],errorCode:c,onOpenTask:l,retryState:u,onRetry:d,className:f,...p}){let m=o?.trim()??``,h=i.trim(),g=m.length>0?m:h,_=e===`completed`?`Task completed`:`Task failed`;return(0,R.jsx)(`article`,{className:Y(`message is-chat-event is-task-result`,f),...p,children:(0,R.jsxs)(OL,{tone:e===`completed`?`success`:`danger`,className:Y(`chat-task-result-card`,`is-${e}`),children:[(0,R.jsxs)(`button`,{className:`chat-task-result-card-open`,disabled:l===void 0,onClick:()=>l?.(n),type:`button`,"aria-label":`${t}: ${r}`,children:[(0,R.jsx)(AL,{"aria-hidden":`true`,children:e===`completed`?(0,R.jsx)(ex,{}):(0,R.jsx)(nS,{})}),(0,R.jsxs)(`span`,{className:`chat-task-result-card-main`,children:[(0,R.jsx)(`span`,{className:`chat-task-result-card-state`,children:_}),(0,R.jsx)(`strong`,{children:r}),a===void 0?null:(0,R.jsx)(`span`,{className:`chat-task-result-card-module`,children:a}),g.length===0?null:(0,R.jsx)(`span`,{className:`chat-task-result-card-summary`,children:g}),c===void 0?null:(0,R.jsx)(`span`,{className:`chat-task-result-card-error-code`,children:c}),s.length===0?null:(0,R.jsx)(`span`,{className:`chat-task-result-card-files`,"aria-label":`Generated files`,children:s.map(e=>(0,R.jsxs)(`span`,{className:`chat-task-result-card-file`,children:[(0,R.jsx)(mx,{"aria-hidden":`true`}),(0,R.jsx)(`span`,{children:e.name})]},e.path))})]}),(0,R.jsx)(`span`,{className:`chat-task-result-card-arrow`,"aria-hidden":`true`,children:(0,R.jsx)(nx,{})})]}),u===void 0?null:(0,R.jsx)(`footer`,{className:`chat-task-result-card-actions`,children:(0,R.jsx)(BL,{state:u,onClick:d})})]})})}function HL({status:e}){return e===`done`?(0,R.jsx)(`span`,{className:`task-check`,"aria-hidden":`true`,children:(0,R.jsx)(ex,{})}):e===`pending`?(0,R.jsx)(`span`,{className:`task-check`,"aria-hidden":`true`,children:(0,R.jsx)(Ox,{})}):e===`failed`?(0,R.jsx)(`span`,{className:`task-check`,"aria-hidden":`true`,children:(0,R.jsx)(nS,{})}):e===`running`?(0,R.jsx)(`span`,{className:`task-check`,"aria-hidden":`true`,children:(0,R.jsx)(Sx,{})}):(0,R.jsx)(`span`,{className:`task-check`,"aria-hidden":`true`})}function UL({title:e,status:t,selected:n=!1,className:r,type:i=`button`,...a}){return(0,R.jsxs)(`button`,{className:Y(`task-row`,n?`is-selected`:void 0,`is-${t}`,r),type:i,"aria-current":n?`true`:void 0,...a,children:[(0,R.jsx)(HL,{status:t}),(0,R.jsx)(`div`,{className:`task-row-main`,children:(0,R.jsx)(`div`,{className:`task-title-line`,children:(0,R.jsx)(`strong`,{children:e})})})]})}function WL({label:e,value:t,code:n=!1,status:r}){return(0,R.jsxs)(`div`,{className:`detail-row`,children:[(0,R.jsx)(`span`,{children:e}),r===void 0?n?(0,R.jsx)(`code`,{children:t}):(0,R.jsx)(`strong`,{children:t}):(0,R.jsx)(`strong`,{children:(0,R.jsx)(Tw,{status:r,children:t})})]})}function GL({rows:e}){return(0,R.jsx)(R.Fragment,{children:e.map((e,t)=>(0,L.createElement)(WL,{...e,key:`${e.label}-${t}`}))})}function KL({...e}){return(0,R.jsx)(UL,{...e})}function qL({detail:e,placeholder:t,missingTaskId:n,stacked:r=!1}){if(e===void 0){let e=t?.title??(n===void 0?`No task selected`:`Task not found`),i=t?.description??(n===void 0?`Select a task to inspect its contract, latest result, and run history.`:`No task exists for ${n}. Select another task from the Worklist.`);return(0,R.jsxs)(`aside`,{className:Y(`task-detail-card`,r?`is-stacked`:void 0),"aria-label":`Selected task details`,children:[(0,R.jsx)(`div`,{className:`task-detail-head`,children:(0,R.jsx)(`h4`,{children:e})}),(0,R.jsx)(`p`,{children:i})]})}return(0,R.jsxs)(`aside`,{className:Y(`task-detail-card`,r?`is-stacked`:void 0),"aria-label":`Selected task details`,children:[(0,R.jsxs)(`div`,{className:`task-detail-head`,children:[(0,R.jsx)(Tw,{status:e.status,children:e.status}),(0,R.jsx)(`h4`,{children:e.title})]}),(0,R.jsx)(`p`,{children:e.summary}),(0,R.jsxs)(`section`,{className:`task-detail-section`,"aria-label":`Task contract`,children:[(0,R.jsx)(`span`,{className:`task-section-label`,children:`Task contract`}),(0,R.jsx)(GL,{rows:e.contractRows})]}),(0,R.jsxs)(`section`,{className:`task-detail-section task-evidence-section`,"aria-label":`Evidence`,children:[(0,R.jsx)(`span`,{className:`task-section-label`,children:`Evidence`}),(0,R.jsx)(GL,{rows:e.evidenceRows??e.resultRows})]}),e.retryAction===void 0?null:(0,R.jsx)(`div`,{className:`task-detail-retry-row`,children:(0,R.jsx)(BL,{state:e.retryAction.state,onClick:e.retryAction.onRetry})}),(0,R.jsxs)(`section`,{className:`task-detail-section`,"aria-label":`Run result history`,children:[(0,R.jsx)(`span`,{className:`task-section-label`,children:`Run result history`}),e.runResults.length===0?(0,R.jsx)(`p`,{children:`No run result yet.`}):(0,R.jsx)(`div`,{className:`run-result-list`,children:e.runResults.map(e=>(0,R.jsx)(`article`,{className:`run-result-item`,children:(0,R.jsxs)(`div`,{className:`run-result-item-head`,children:[(0,R.jsxs)(`span`,{children:[(0,R.jsx)(`strong`,{children:e.title}),e.meta===void 0?null:(0,R.jsx)(`small`,{children:e.meta})]}),e.status===void 0?null:(0,R.jsx)(Tw,{status:e.status,children:e.status})]})},e.id))})]})]})}function JL({modules:e,taskCount:t,detail:n,detailPlaceholder:r,layout:i=`split`,detailOpen:a=!1,onCloseDetail:o,missingTaskId:s,runNote:c,onSelectTask:l,empty:u,className:d,...f}){let p=i!==`split`,m=(0,R.jsx)(qL,{...n===void 0?{}:{detail:n},placeholder:r,...s===void 0?{}:{missingTaskId:s},stacked:p});return(0,R.jsxs)(pS,{title:`Worklist`,frameless:i===`sheet`,icon:(0,R.jsx)(xx,{"aria-hidden":`true`}),action:(0,R.jsx)(`div`,{className:`worklist-header-summary`,children:(0,R.jsx)(`span`,{className:`mini-meta`,children:t===1?`1 task`:`${t} tasks`})}),className:Y(`tasks worklist-page-panel`,d),...f,children:[(0,R.jsxs)(`div`,{className:Y(`worklist-page-body`,p?`is-stacked`:void 0),children:[c===void 0?null:(0,R.jsx)(`p`,{className:`worklist-run-note`,children:c}),e.length===0?(0,R.jsx)(`div`,{className:`worklist-page-empty`,children:u??(0,R.jsx)(`div`,{className:`reference-empty`,children:`No compiled tasks`})}):(0,R.jsxs)(`div`,{className:Y(`task-board-body`,p?`is-stacked`:void 0),children:[(0,R.jsx)(`div`,{className:Y(`task-list`,p?`is-stacked`:void 0),"aria-label":`Tasks`,children:e.map(e=>(0,R.jsxs)(`div`,{className:`task-section`,children:[(0,R.jsx)(`span`,{className:`task-section-label`,children:e.label}),e.rows.map(e=>(0,R.jsx)(KL,{title:e.title,status:e.status,onClick:()=>l?.(e.id),...e.selected===void 0?{}:{selected:e.selected}},e.id))]},e.label))}),i===`sheet`?null:m]})]}),i===`sheet`?(0,R.jsx)(DL,{open:a,title:`Details`,onClose:()=>o?.(),children:m}):null]})}function YL({sections:e,statuses:t=[],className:n,...r}){return(0,R.jsxs)(`section`,{className:Y(`settings-sheet`,n),"aria-labelledby":`settings-title`,...r,children:[(0,R.jsxs)(`header`,{className:`settings-sheet-head`,children:[(0,R.jsxs)(`div`,{className:`panel-title`,children:[(0,R.jsx)(mS,{icon:(0,R.jsx)(Gx,{"aria-hidden":`true`})}),(0,R.jsx)(`h3`,{id:`settings-title`,children:`Settings`})]}),t.length===0?null:(0,R.jsx)(`div`,{className:`panel-actions`,children:t.map(e=>(0,R.jsx)(Cw,{className:`task-tag`,tone:e.tone,children:e.label},e.label))})]}),e.map(e=>(0,R.jsxs)(`section`,{className:`settings-section`,id:e.id,"aria-label":e.title,children:[(0,R.jsx)(`div`,{className:`settings-section-title`,children:(0,R.jsx)(`h4`,{children:e.title})}),(0,R.jsx)(`div`,{className:`settings-section-body`,children:e.rows.map(e=>(0,R.jsxs)(`div`,{className:`settings-row`,children:[(0,R.jsx)(`span`,{className:`field-label`,children:e.label}),e.value===void 0?(0,R.jsx)(`span`,{}):e.plain===!0?(0,R.jsx)(`div`,{className:`settings-row-value`,children:e.value}):(0,R.jsx)(`strong`,{children:e.value})]},e.label))})]},e.id))]})}function XL({value:e,options:t,maxLength:n,canEdit:r=!1,discovering:i=!1,saving:a=!1,onDiscover:o,onUpdate:s}){let[c,l]=(0,L.useState)(!1),[u,d]=(0,L.useState)(e),[f,p]=(0,L.useState)(e),m=u.trim(),h=i||a;return(0,L.useEffect)(()=>{c||(d(e),p(e))},[c,e]),!r||s===void 0?(0,R.jsx)(`span`,{className:`settings-model-readonly`,children:e}):c?(0,R.jsxs)(`form`,{className:`settings-model-editor`,"aria-label":`Change model`,onSubmit:e=>{e.preventDefault(),!(m.length===0||m===f||s===void 0)&&Promise.resolve(s(m,f)).then(e=>{e.kind===`saved`?l(!1):e.kind===`stale`&&p(e.currentValue)}).catch(()=>void 0)},children:[(0,R.jsx)(Mw,{autoComplete:`off`,"aria-label":`Model`,value:u,options:t,maxLength:n,maxVisibleOptions:8,disabled:a,onValueChange:d,placeholder:`Choose or enter a model`,autoFocus:!0}),(0,R.jsxs)(`div`,{className:`settings-model-editor-footer`,children:[(0,R.jsx)(`span`,{className:`settings-model-editor-status`,"aria-live":`polite`,children:i?`Loading models…`:`Choose a model or enter its name.`}),(0,R.jsxs)(`div`,{className:`settings-model-editor-actions`,children:[(0,R.jsx)(X,{className:`settings-model-editor-action`,type:`button`,disabled:a,onClick:()=>{d(e),p(e),l(!1)},children:`Cancel`}),(0,R.jsx)(Sw,{className:`settings-model-editor-action`,type:`submit`,disabled:h||m.length===0||m===f,children:a?`Saving…`:`Save`})]})]})]}):(0,R.jsx)(`button`,{"aria-label":`Change model from ${e}`,className:`settings-value-button settings-model-change-button`,type:`button`,onClick:()=>{d(e),p(e),l(!0),Promise.resolve(o?.()).catch(()=>void 0)},children:e})}function ZL({row:e}){return e.category===`image`?(0,R.jsx)(_x,{"aria-hidden":`true`}):e.canPreview===!1?(0,R.jsx)(fx,{"aria-hidden":`true`}):e.selected===!0?(0,R.jsx)(dx,{"aria-hidden":`true`}):e.extension===`md`||e.extension===`txt`?(0,R.jsx)(px,{"aria-hidden":`true`}):(0,R.jsx)(mx,{"aria-hidden":`true`})}function QL({row:e,onSelectFile:t}){return(0,R.jsxs)(`button`,{className:Y(`reference-row`,e.selected===!0?`is-selected`:void 0),type:`button`,"aria-current":e.selected===!0?`true`:void 0,onClick:()=>t?.(e.path),children:[(0,R.jsx)(`span`,{className:`reference-file-icon`,"aria-hidden":`true`,children:(0,R.jsx)(ZL,{row:e})}),(0,R.jsxs)(`span`,{className:`reference-row-main`,children:[(0,R.jsx)(`strong`,{children:e.name}),(0,R.jsx)(`span`,{children:e.meta})]})]})}function $L({name:e,rows:t,onSelectFile:n}){return(0,R.jsxs)(`details`,{className:`reference-folder-group`,children:[(0,R.jsxs)(`summary`,{className:`reference-folder-head`,children:[(0,R.jsx)(`span`,{className:`reference-file-icon`,"aria-hidden":`true`,children:(0,R.jsx)(gx,{})}),(0,R.jsxs)(`span`,{className:`reference-row-main`,children:[(0,R.jsx)(`strong`,{children:e}),(0,R.jsxs)(`span`,{children:[t.length,` `,t.length===1?`file`:`files`]})]})]}),(0,R.jsx)(`div`,{className:`reference-folder-files`,children:t.map(e=>(0,R.jsx)(QL,{row:e,...n===void 0?{}:{onSelectFile:n}},e.path))})]})}function eR(e){let t=new Map;for(let n of e){if(n.folderGroup===void 0)continue;let e=t.get(n.folderGroup)??[];e.push(n),t.set(n.folderGroup,e)}return[...t.entries()].map(([e,t])=>({name:e,rows:t}))}function tR({title:e=`References`,description:t,files:n,detail:r,uploadPending:i=!1,fileSortMode:a=`time`,empty:o,onSelectFile:s,onUploadFile:c,onDropFiles:l,onFileSortModeChange:u,className:d,...f}){let p=n.filter(e=>e.category===`image`),m=n.filter(e=>e.category!==`image`),h=m.filter(e=>e.folderGroup===void 0),g=eR(m),_=e=>(0,R.jsx)(`div`,{className:`reference-image-strip`,role:`list`,"aria-label":`Reference images`,onWheel:e=>{Math.abs(e.deltaY)>Math.abs(e.deltaX)&&(e.currentTarget.scrollLeft+=e.deltaY,e.preventDefault())},children:e.map(e=>(0,R.jsxs)(`button`,{className:Y(`reference-image-tile`,e.selected===!0?`is-selected`:void 0),type:`button`,"aria-current":e.selected===!0?`true`:void 0,"aria-label":`Open ${e.name}`,onClick:()=>s?.(e.path),children:[e.thumbnailUrl===void 0?(0,R.jsx)(`span`,{className:`reference-image-tile-fallback`,"aria-hidden":`true`,children:(0,R.jsx)(_x,{})}):(0,R.jsx)(`img`,{src:e.thumbnailUrl,alt:e.name,loading:`lazy`,decoding:`async`}),(0,R.jsx)(`span`,{children:e.name})]},e.path))}),v=e=>e.map(e=>(0,R.jsx)(QL,{row:e,...s===void 0?{}:{onSelectFile:s}},e.path)),y=l??(c===void 0?void 0:e=>{for(let t of e)c(t)});return(0,R.jsxs)(AI,{className:Y(`panel references-panel`,t===void 0?void 0:`has-description`,d),"aria-label":e,dropLabel:`Drop reference files to upload`,pending:i,onFilesUpload:y,...f,children:[(0,R.jsxs)(`div`,{className:`panel-header`,children:[(0,R.jsxs)(`div`,{className:`panel-title`,children:[(0,R.jsx)(mS,{icon:(0,R.jsx)(px,{"aria-hidden":`true`})}),(0,R.jsx)(`h3`,{children:e})]}),c===void 0?null:(0,R.jsx)(`div`,{className:`panel-actions`,children:(0,R.jsx)(mL,{variant:`action`,className:`reference-upload-button`,label:`Upload`,pendingLabel:`Uploading`,pending:i,onFileUpload:c})})]}),t===void 0?null:(0,R.jsx)(`p`,{className:`reference-panel-description`,children:t}),(0,R.jsx)(`div`,{className:`reference-board-body`,children:n.length===0?(0,R.jsx)(`div`,{className:`reference-board-empty`,children:o??(0,R.jsx)(`div`,{className:`reference-empty`,children:`No reference files`})}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`div`,{className:`reference-list`,"aria-label":`Reference file list`,children:[p.length===0?null:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`div`,{className:`reference-section-label`,children:`Images`}),_(p)]}),m.length===0?null:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`div`,{className:`reference-files-head`,children:[(0,R.jsx)(`div`,{className:`reference-section-label`,children:`Files`}),u===void 0?null:(0,R.jsxs)(`div`,{className:`reference-list-toolbar`,role:`toolbar`,"aria-label":`Sort files`,children:[(0,R.jsx)(`button`,{className:Y(`reference-sort-button`,a===`time`?`is-active`:void 0),type:`button`,"aria-label":`Sort files by upload time`,"aria-pressed":a===`time`,onClick:()=>u(`time`),children:(0,R.jsx)(sx,{"aria-hidden":`true`})}),(0,R.jsx)(`button`,{className:Y(`reference-sort-button`,a===`type`?`is-active`:void 0),type:`button`,"aria-label":`Sort files by type`,"aria-pressed":a===`type`,onClick:()=>u(`type`),children:(0,R.jsx)(Xx,{"aria-hidden":`true`})})]})]}),v(h),g.map(e=>(0,R.jsx)($L,{name:e.name,rows:e.rows,...s===void 0?{}:{onSelectFile:s}},e.name))]})]}),(0,R.jsxs)(`aside`,{className:`reference-detail-card`,"aria-label":`Selected reference content`,children:[(0,R.jsxs)(`div`,{className:`reference-detail-head`,children:[(0,R.jsx)(`h4`,{children:r?.title??`No file selected`}),r?.meta===void 0?null:(0,R.jsx)(`p`,{children:r.meta})]}),(0,R.jsxs)(`div`,{className:`reference-detail-section`,children:[(0,R.jsx)(`span`,{className:`task-section-label`,children:`Summary`}),(0,R.jsx)(`p`,{className:`reference-summary`,children:r?.summary??`Summary not available yet`}),r?.summaryStatus===void 0?null:(0,R.jsx)(`p`,{className:`reference-summary-status`,children:r.summaryStatus})]}),(0,R.jsxs)(`div`,{className:`reference-detail-section`,children:[(0,R.jsx)(`span`,{className:`task-section-label`,children:`Content`}),r?.content===void 0?r?.imageUrl===void 0?(0,R.jsx)(`p`,{className:`reference-content`,children:r?.unavailableReason??`Select a reference file`}):(0,R.jsx)(`img`,{className:`reference-image-preview`,src:r.imageUrl,alt:r.title,decoding:`async`}):(0,R.jsx)(`pre`,{className:`reference-content`,children:(0,R.jsx)(`code`,{children:r.content})})]})]})]})})]})}function nR(e){return e.status===`loading`?{status:`running`,label:`Loading`}:e.status===`not_declared`?{status:`todo`,label:`No artifact`}:e.status===`invalid`?{status:`failed`,label:`Invalid`}:e.status===`updating`?{status:`running`,label:`Updating`}:e.previewStatus===`ready`?null:e.previewStatus===`starting`?{status:`running`,label:`Starting`}:e.previewStatus===`failed`?{status:`failed`,label:`Failed`}:{status:`todo`,label:`Idle`}}function rR({state:e,empty:t,emptyWatermark:n,iframeRef:r,onPreviewLoad:i}){if(e.status===`declared`&&e.previewStatus===`ready`&&e.previewUrl!==void 0)return(0,R.jsx)(`iframe`,{className:`artifact-iframe`,src:e.previewUrl,title:`${e.title} artifact preview`,sandbox:`allow-scripts allow-forms allow-same-origin`,referrerPolicy:`no-referrer`,ref:r,onLoad:i});let a,o=`neutral`;return e.status===`loading`?a=`Loading artifact`:e.status===`updating`?a=`Artifact is updating`:e.status===`not_declared`?a=`No artifact`:e.status===`invalid`?(o=`error`,a=`Invalid artifact. ${e.message}`):e.previewStatus===`starting`?a=`Preview is starting`:e.previewStatus===`failed`?(o=`error`,a=e.errorMessage??`Preview failed`):a=`Preview is idle`,(0,R.jsx)(`div`,{className:`artifact-empty-preview`,role:e.status===`invalid`?`alert`:void 0,children:t??(0,R.jsx)(iS,{tone:o,watermark:n,children:a})})}function iR({state:e,presentation:t=`panel`,error:n=null,empty:r,emptyWatermark:i,headerAction:a,iframeRef:o,onPreviewLoad:s,className:c,...l}){let u=n===null?e:{status:`invalid`,message:n},d=nR(u);return(0,R.jsxs)(`section`,{className:Y(`panel artifacts-panel`,t===`preview`&&`is-frameless`,c),"aria-label":`Artifacts`,...l,children:[t===`preview`?null:(0,R.jsxs)(`div`,{className:`panel-header`,children:[(0,R.jsxs)(`div`,{className:`panel-title`,children:[(0,R.jsx)(mS,{icon:(0,R.jsx)(kx,{"aria-hidden":`true`})}),(0,R.jsx)(`h3`,{children:`Artifacts`})]}),(0,R.jsxs)(`div`,{className:`panel-actions`,children:[a,d===null?null:(0,R.jsx)(Tw,{status:d.status,children:d.label})]})]}),(0,R.jsx)(`div`,{className:`artifact-board-body`,children:(0,R.jsx)(`div`,{className:`artifact-preview-frame`,"aria-label":`Current artifact`,children:(0,R.jsx)(rR,{state:u,empty:r,emptyWatermark:i,...o===void 0?{}:{iframeRef:o},...s===void 0?{}:{onPreviewLoad:s}})})})]})}function aR(e){return e.accessibleName?.trim()||e.textExcerpt?.trim()||void 0}function oR(e){let t=e.role?.trim()||e.tagName.trim()||e.elementKind,n=aR(e);return n===void 0?t:`${t} “${n}”`}function sR({active:e,pending:t=!1,className:n,...r}){let i=(0,R.jsxs)(R.Fragment,{children:[e?(0,R.jsx)(ex,{"aria-hidden":`true`}):(0,R.jsx)(Px,{"aria-hidden":`true`}),t?`Submitting…`:e?`Submit comments`:`Comments`]});return e?(0,R.jsx)(Sw,{className:Y(`artifact-comments-action`,`is-active`,n),type:`button`,...r,children:i}):(0,R.jsx)(X,{className:Y(`artifact-comments-action`,n),type:`button`,...r,children:i})}function cR({author:e,avatar:t,comment:n,annotations:r,selectedTarget:i,selectedTime:a,stale:o=!1,bridgeUnavailableReason:s,sendDisabledReason:c,onCommentChange:l,onAddAnnotation:u,onCancelSelection:d,onRemoveAnnotation:f,onReset:p,className:m,...h}){let g=i!==void 0&&n.trim().length>0&&!o;function _(e){e.preventDefault(),g&&u()}function v(e){e.key!==`Enter`||e.shiftKey||e.metaKey||e.nativeEvent.isComposing||(e.preventDefault(),g&&u())}return(0,R.jsxs)(`aside`,{className:Y(`artifact-comments-rail`,m),"aria-label":`Artifact comments`,...h,children:[o?(0,R.jsxs)(`div`,{className:`artifact-comments-state is-warning`,role:`status`,children:[(0,R.jsx)(`strong`,{children:`Artifact updated`}),(0,R.jsx)(`span`,{children:`These comments belong to an earlier preview.`}),(0,R.jsx)(X,{type:`button`,onClick:p,children:`Start over`})]}):null,s===void 0?null:(0,R.jsxs)(`div`,{className:`artifact-comments-state is-warning`,role:`status`,children:[(0,R.jsx)(`strong`,{children:`Comments unavailable`}),(0,R.jsx)(`span`,{children:s})]}),c===void 0?null:(0,R.jsxs)(`div`,{className:`artifact-comments-state is-warning`,role:`status`,children:[(0,R.jsx)(`strong`,{children:`Comments cannot be submitted yet`}),(0,R.jsx)(`span`,{children:c})]}),r.map((n,r)=>(0,R.jsxs)(ZI,{"aria-label":`Comment ${r+1} on ${oR(n.target)}`,author:e,avatar:t,className:`artifact-comment-card is-sent`,...n.time===void 0?{}:{time:n.time},children:[(0,R.jsx)(`p`,{children:n.comment}),(0,R.jsx)(xw,{className:`artifact-comment-dismiss`,label:`Remove comment ${r+1}`,icon:(0,R.jsx)(nS,{"aria-hidden":`true`}),type:`button`,onClick:()=>f(r)})]},n.key)),i===void 0||o?null:(0,R.jsxs)(ZI,{"aria-label":`Comment on ${oR(i)}`,author:e,avatar:t,className:`artifact-comment-card is-composing`,...a===void 0?{}:{time:a},children:[(0,R.jsx)(xw,{className:`artifact-comment-dismiss`,label:`Cancel selected element`,icon:(0,R.jsx)(nS,{"aria-hidden":`true`}),type:`button`,onClick:d}),(0,R.jsx)(`form`,{className:`artifact-comment-composer composer`,onSubmit:_,children:(0,R.jsxs)(`div`,{className:`composer-input-shell`,children:[(0,R.jsx)(`textarea`,{"aria-label":`Comment for selected element`,autoFocus:!0,maxLength:1e3,placeholder:`Write a comment`,rows:1,value:n,onChange:e=>l(e.target.value),onKeyDown:v}),(0,R.jsx)(`div`,{className:`composer-tools`,children:(0,R.jsx)(`button`,{"aria-label":`Add comment`,className:`composer-tool-button composer-send-button`,disabled:!g,title:`Add comment`,type:`submit`,children:(0,R.jsx)(Ux,{"aria-hidden":`true`})})})]})})]})]})}function lR({artifactTitle:e,summary:t,annotations:n,onViewAnnotation:r,className:i,...a}){let o=t?.trim()||n[0]?.comment.trim()||`Artifact feedback`;return(0,R.jsxs)(`details`,{className:Y(`artifact-feedback-card`,i),...a,children:[(0,R.jsxs)(`summary`,{children:[(0,R.jsx)(Ex,{"aria-hidden":`true`}),(0,R.jsxs)(`span`,{className:`artifact-feedback-card-heading`,children:[(0,R.jsx)(`strong`,{children:e}),(0,R.jsxs)(`span`,{children:[n.length,` `,n.length===1?`note`:`notes`]}),(0,R.jsx)(`small`,{children:o})]}),(0,R.jsx)(tx,{className:`artifact-feedback-card-chevron`,"aria-hidden":`true`})]}),(0,R.jsxs)(`div`,{className:`artifact-feedback-card-body`,children:[t?.trim()?(0,R.jsx)(`p`,{className:`artifact-feedback-card-summary`,children:t}):null,(0,R.jsx)(`ol`,{children:n.map((e,t)=>(0,R.jsxs)(`li`,{children:[(0,R.jsx)(`span`,{className:`artifact-feedback-note-index`,children:t+1}),(0,R.jsxs)(`span`,{className:`artifact-feedback-note-copy`,children:[(0,R.jsx)(`strong`,{children:oR(e.target)}),(0,R.jsx)(`small`,{children:e.documentUrl}),(0,R.jsx)(`span`,{children:e.comment}),e.canView&&r!==void 0?(0,R.jsxs)(`button`,{type:`button`,onClick:()=>r(t),children:[(0,R.jsx)(Cx,{"aria-hidden":`true`}),`View in Artifact`]}):null]})]},`${e.documentUrl}:${t}`))})]})]})}function uR({row:e}){return e.selected===!0?(0,R.jsx)(dx,{"aria-hidden":`true`}):(0,R.jsx)(qx,{"aria-hidden":`true`})}function dR({skills:e,communityLinks:t=[],detail:n,readOnly:r=!1,detailFeedback:i,uploadPending:a=!1,deletePending:o=!1,empty:s,onSelectSkill:c,onUploadSkill:l,onDeleteSkill:u,className:d,...f}){let p=e.find(e=>e.selected===!0)?.name,m=t.length>0;return(0,R.jsxs)(`section`,{className:Y(`panel references-panel skills-panel`,d),"aria-label":`Skills`,...f,children:[(0,R.jsxs)(`div`,{className:`panel-header`,children:[(0,R.jsxs)(`div`,{className:`panel-title`,children:[(0,R.jsx)(mS,{icon:(0,R.jsx)(qx,{"aria-hidden":`true`})}),(0,R.jsx)(`h3`,{children:`Skills`})]}),r?null:(0,R.jsx)(`div`,{className:`panel-actions`,children:(0,R.jsx)(mL,{variant:`action`,className:`reference-upload-button`,label:`Upload`,pendingLabel:`Uploading`,pending:a,accept:`.zip,application/zip,application/x-zip-compressed`,onFileUpload:l})})]}),(0,R.jsx)(`div`,{className:`reference-board-body`,children:e.length===0&&!m?(0,R.jsx)(`div`,{className:`reference-board-empty`,children:s??(0,R.jsx)(`div`,{className:`reference-empty`,children:`No skills`})}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`div`,{className:`reference-list`,"aria-label":`Skill list`,children:[m?(0,R.jsxs)(`div`,{className:`skill-community-section`,"aria-label":`Skill communities`,children:[(0,R.jsx)(`div`,{className:`reference-section-label`,children:`Skill communities`}),(0,R.jsx)(`div`,{className:`skill-community-grid`,children:t.map(e=>(0,R.jsxs)(`a`,{className:`skill-community-card`,href:e.href,target:`_blank`,rel:`noreferrer`,children:[(0,R.jsx)(`span`,{className:`skill-community-card-icon`,"aria-hidden":`true`,children:(0,R.jsx)(bx,{})}),(0,R.jsx)(`span`,{className:`skill-community-card-main`,children:(0,R.jsx)(`strong`,{children:e.title})})]},e.href))})]}):null,e.length===0?null:(0,R.jsx)(`div`,{className:`reference-section-label`,children:`User skills`}),e.map(e=>(0,R.jsxs)(`button`,{className:Y(`reference-row`,e.selected===!0?`is-selected`:void 0),type:`button`,"aria-label":`Select skill ${e.name}`,"aria-current":e.selected===!0?`true`:void 0,onClick:()=>c?.(e.name),children:[(0,R.jsx)(`span`,{className:`reference-file-icon`,"aria-hidden":`true`,children:(0,R.jsx)(uR,{row:e})}),(0,R.jsxs)(`span`,{className:`reference-row-main`,children:[(0,R.jsx)(`strong`,{children:e.name}),(0,R.jsx)(`span`,{children:e.shortDescription??e.description})]})]},e.name))]}),(0,R.jsx)(`aside`,{className:`reference-detail-card`,"aria-label":`Selected skill content`,children:e.length===0?(0,R.jsx)(`div`,{className:`reference-board-empty`,children:s??(0,R.jsx)(`div`,{className:`reference-empty`,children:`No skills`})}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`div`,{className:`reference-detail-head skill-detail-head`,children:[(0,R.jsxs)(`div`,{className:`skill-detail-title`,children:[(0,R.jsx)(`h4`,{children:n?.title??`No skill selected`}),n?.description===void 0?null:(0,R.jsx)(`p`,{children:n.description}),n?.updatedLabel===void 0?null:(0,R.jsx)(`p`,{children:n.updatedLabel})]}),r||p===void 0||u===void 0?null:(0,R.jsxs)(X,{className:`skill-delete-button`,type:`button`,disabled:o,"aria-busy":o,onClick:()=>u(p),children:[(0,R.jsx)(Qx,{"aria-hidden":`true`}),(0,R.jsx)(`span`,{children:o?`Deleting`:`Delete`})]})]}),(0,R.jsxs)(`div`,{className:`reference-detail-section`,children:[i,(0,R.jsx)(`span`,{className:`task-section-label`,children:`SKILL.md`}),n?.skillMd===void 0?(0,R.jsx)(`p`,{className:`reference-content`,children:n?.unavailableReason??`Select a skill`}):(0,R.jsx)(`pre`,{className:`reference-content`,children:(0,R.jsx)(`code`,{"aria-label":`Skill markdown for ${n.title}`,children:n.skillMd})})]})]})})]})})]})}function fR({label:e,children:t}){return(0,R.jsxs)(`section`,{className:`timeline-trace-section`,children:[(0,R.jsx)(`span`,{className:`timeline-trace-label`,children:e}),(0,R.jsx)(`div`,{className:`timeline-trace-section-body`,children:t})]})}function pR(e){return e.replaceAll(`_`,` `)}function mR(e){return e===`passed`?`success`:e===`failed`?`error`:`warning`}function hR(e){return e.status===`promoted`?`success`:e.status===`not_promoted`?`error`:`neutral`}function gR(e){if(e.skipReasonSummary!==void 0)return e.skipReasonSummary;switch(e.checks){case`passed`:return`All validation checks passed.`;case`failed`:return`Validation checks failed.`;case`skipped`:return`Validation was skipped.`}}function _R(e){if(e.summary!==void 0)return e.summary;switch(e.status){case`promoted`:return`Changes were promoted after verification.`;case`not_promoted`:return`Changes were not promoted.`;case`not_attempted`:return`Promotion was not attempted.`}}function vR(e){switch(e){case`added`:return`+`;case`modified`:return`~`;case`deleted`:return`-`;case`renamed`:return`~`;case`unknown`:return`?`}}var yR=3;function bR({expanded:e,collapsedLabel:t,expandedLabel:n,onClick:r}){return(0,R.jsxs)(`button`,{"aria-expanded":e,className:Y(`timeline-trace-more`,e&&`is-expanded`),onClick:r,type:`button`,children:[(0,R.jsx)(`span`,{children:e?n:t}),(0,R.jsx)(tx,{"aria-hidden":`true`})]})}function xR({expanded:e,hiddenCount:t,label:n,onClick:r}){return t<=0?null:(0,R.jsx)(bR,{collapsedLabel:`Show ${t} more ${n}${t===1?``:`s`}`,expanded:e,expandedLabel:`Show fewer ${n}s`,onClick:r})}function SR(e){let t=[];return(e.origin!==void 0||e.decisions!==void 0||e.clarification!==void 0)&&t.push({id:`context`,label:`Context`,tone:`neutral`}),e.contract!==void 0&&t.push({id:`contract`,label:`Contract`,tone:`neutral`}),(e.result!==void 0||e.changes!==void 0)&&t.push({id:`result`,label:`Result`,tone:e.tone}),e.verification!==void 0&&t.push({id:`checks`,label:`Checks`,tone:mR(e.verification.checks)}),e.promotion!==void 0&&t.push({id:`promotion`,label:`Promotion`,tone:hR(e.promotion)}),e.checkpoint!==void 0&&t.push({id:`checkpoint`,label:`Checkpoint`,tone:e.tone}),t}function CR({trace:e}){let t=SR(e),n=e.links.filter(e=>e.onClick!==void 0),[r,i]=(0,L.useState)(()=>new Set),a=r.has(`origin`),o=r.has(`decisions`),s=r.has(`clarification-answers`),c=r.has(`scope`),l=r.has(`changes`),u=r.has(`checkpoint`),d=r.has(`generated-files`),f=e.origin?.snippets??[],p=e.decisions===void 0||o?e.decisions??[]:e.decisions.slice(0,yR),m=e.clarification?.answers===void 0||s?e.clarification?.answers??[]:e.clarification.answers.slice(0,yR),h=e.contract===void 0||c?e.contract?.scope??[]:e.contract.scope.slice(0,yR),g=e.checkpoint===void 0||u?e.checkpoint?.items??[]:e.checkpoint.items.slice(0,yR),_=e.checkpoint?.generatedFiles===void 0||d?e.checkpoint?.generatedFiles??[]:e.checkpoint.generatedFiles.slice(0,yR);function v(e){i(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}return(0,R.jsxs)(`div`,{className:Y(`timeline-trace-card`,`is-${e.tone}`),children:[e.summary===void 0||e.result!==void 0?null:(0,R.jsx)(`p`,{className:`timeline-trace-summary`,children:e.summary}),t.length===0?null:(0,R.jsx)(`ol`,{className:`timeline-trace-path`,"aria-label":`Recorded task trace`,children:t.map(e=>(0,R.jsxs)(`li`,{className:`is-${e.tone}`,children:[(0,R.jsx)(`span`,{"aria-hidden":`true`}),(0,R.jsx)(`strong`,{children:e.label})]},e.id))}),e.origin===void 0?null:(0,R.jsxs)(fR,{label:`Origin`,children:[e.origin.title===void 0?null:(0,R.jsx)(`strong`,{className:`timeline-trace-title`,children:e.origin.title}),e.origin.summary===void 0?null:(0,R.jsx)(`p`,{children:e.origin.summary}),e.origin.unavailableReason===void 0?null:(0,R.jsx)(`small`,{className:`timeline-trace-muted`,children:e.origin.unavailableReason}),f.length>0?(0,R.jsx)(bR,{collapsedLabel:`Show ${f.length} source message${f.length===1?``:`s`}`,expanded:a,expandedLabel:`Show fewer source messages`,onClick:()=>v(`origin`)}):e.origin.sourceCount===void 0?null:(0,R.jsxs)(`small`,{className:`timeline-trace-muted`,children:[e.origin.sourceCount,` source message`,e.origin.sourceCount===1?``:`s`]}),!a||f.length===0?null:(0,R.jsx)(`ul`,{className:`timeline-trace-snippet-list`,children:f.map(e=>(0,R.jsx)(`li`,{className:`timeline-trace-snippet`,children:e.onClick===void 0?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`span`,{children:[e.author,` · `,e.createdAt]}),(0,R.jsx)(`p`,{children:e.body})]}):(0,R.jsxs)(`button`,{className:`timeline-trace-snippet-button`,onClick:e.onClick,type:`button`,children:[(0,R.jsxs)(`span`,{children:[e.author,` · `,e.createdAt]}),(0,R.jsx)(`p`,{children:e.body})]})},e.id))})]}),e.decisions===void 0||e.decisions.length===0?null:(0,R.jsxs)(fR,{label:`Accepted Context`,children:[(0,R.jsx)(`ul`,{className:`timeline-trace-list`,children:p.map(e=>(0,R.jsxs)(`li`,{children:[e.title===void 0?null:(0,R.jsx)(Cw,{tone:`neutral`,children:e.title}),(0,R.jsx)(`span`,{children:e.summary})]},e.id))}),(0,R.jsx)(xR,{expanded:o,hiddenCount:Math.max(e.decisions.length-yR,0),label:`context item`,onClick:()=>v(`decisions`)})]}),e.clarification===void 0?null:(0,R.jsxs)(fR,{label:`Clarification`,children:[e.clarification.title===void 0?null:(0,R.jsx)(`strong`,{className:`timeline-trace-title`,children:e.clarification.title}),e.clarification.summary===void 0?null:(0,R.jsx)(`p`,{children:e.clarification.summary}),e.clarification.request===void 0?null:(0,R.jsx)(`p`,{children:e.clarification.request}),e.clarification.status===void 0&&e.clarification.answerCount===void 0?null:(0,R.jsxs)(`div`,{className:`timeline-trace-inline`,children:[e.clarification.status===void 0?null:(0,R.jsx)(Cw,{tone:e.clarification.status===`active`?`warning`:`success`,children:e.clarification.status===`active`?`needs input`:`resolved`}),e.clarification.answerCount===void 0?null:(0,R.jsxs)(`small`,{className:`timeline-trace-muted`,children:[e.clarification.answerCount,` answer`,e.clarification.answerCount===1?``:`s`]})]}),e.clarification.answers===void 0||e.clarification.answers.length===0?null:(0,R.jsx)(`ul`,{className:`timeline-trace-snippet-list`,children:m.map(e=>(0,R.jsx)(`li`,{className:`timeline-trace-snippet`,children:e.onClick===void 0?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`span`,{children:[e.author,` · `,e.createdAt]}),(0,R.jsx)(`p`,{children:e.body})]}):(0,R.jsxs)(`button`,{className:`timeline-trace-snippet-button`,onClick:e.onClick,type:`button`,children:[(0,R.jsxs)(`span`,{children:[e.author,` · `,e.createdAt]}),(0,R.jsx)(`p`,{children:e.body})]})},e.id))}),e.clarification.answers===void 0?null:(0,R.jsx)(xR,{expanded:s,hiddenCount:Math.max(e.clarification.answers.length-yR,0),label:`answer`,onClick:()=>v(`clarification-answers`)})]}),e.contract===void 0?null:(0,R.jsxs)(fR,{label:`Contract`,children:[(0,R.jsx)(`p`,{children:e.contract.goal}),h.length===0?null:(0,R.jsx)(`ul`,{className:`timeline-trace-list is-bulleted`,children:h.map((e,t)=>(0,R.jsx)(`li`,{children:(0,R.jsx)(`span`,{children:e})},`scope-${t}`))}),(0,R.jsx)(xR,{expanded:c,hiddenCount:Math.max(e.contract.scope.length-yR,0),label:`scope item`,onClick:()=>v(`scope`)}),c&&e.contract.truncated===!0?(0,R.jsx)(`small`,{className:`timeline-trace-muted`,children:`Additional scope items are outside this bounded audit preview.`}):null]}),e.result===void 0?null:(0,R.jsxs)(fR,{label:`Result`,children:[(0,R.jsx)(`p`,{children:e.result.summary}),e.result.errorCode===void 0?null:(0,R.jsx)(`code`,{className:`timeline-trace-code`,children:e.result.errorCode})]}),e.changes===void 0?null:(0,R.jsxs)(fR,{label:`Changes`,children:[e.changes.items.length===0?(0,R.jsx)(`p`,{className:`timeline-trace-muted`,children:`No repo changes recorded.`}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(bR,{collapsedLabel:`Show ${e.changes.items.length} file change${e.changes.items.length===1?``:`s`}`,expanded:l,expandedLabel:`Show fewer file changes`,onClick:()=>v(`changes`)}),l?(0,R.jsx)(`ul`,{className:`timeline-trace-diff-list`,children:e.changes.items.map(e=>(0,R.jsxs)(`li`,{className:`is-${e.status}`,children:[(0,R.jsx)(`span`,{className:`timeline-trace-diff-mark`,children:vR(e.status)}),(0,R.jsx)(`code`,{children:e.previousPath===void 0?e.path:`${e.previousPath} -> ${e.path}`})]},`${e.status}:${e.path}`))}):null]}),l&&e.changes.totalCount>e.changes.items.length?(0,R.jsxs)(`small`,{className:`timeline-trace-muted`,children:[e.changes.totalCount-e.changes.items.length,` additional files are outside this bounded audit preview.`]}):null]}),e.verification===void 0?null:(0,R.jsx)(fR,{label:`Verification`,children:(0,R.jsxs)(`div`,{className:`timeline-trace-inline`,children:[(0,R.jsx)(Cw,{tone:mR(e.verification.checks),children:pR(e.verification.checks)}),(0,R.jsx)(`p`,{children:gR(e.verification)})]})}),e.promotion===void 0?null:(0,R.jsx)(fR,{label:`Promotion`,children:(0,R.jsxs)(`div`,{className:`timeline-trace-inline`,children:[(0,R.jsx)(Cw,{tone:hR(e.promotion),children:pR(e.promotion.status)}),(0,R.jsx)(`p`,{children:_R(e.promotion)})]})}),e.checkpoint===void 0?null:(0,R.jsxs)(fR,{label:`Checkpoint`,children:[(0,R.jsxs)(`div`,{className:`timeline-trace-counters`,children:[(0,R.jsxs)(`span`,{children:[e.checkpoint.counters.completed,` completed`]}),(0,R.jsxs)(`span`,{children:[e.checkpoint.counters.failed,` failed`]}),(0,R.jsxs)(`span`,{children:[e.checkpoint.counters.remaining,` remaining`]})]}),(0,R.jsx)(`ul`,{className:`timeline-trace-list`,children:g.map(e=>(0,R.jsxs)(`li`,{children:[(0,R.jsx)(Cw,{tone:e.status===`done`?`success`:`error`,children:e.status===`done`?`done`:`failed`}),(0,R.jsx)(`strong`,{children:e.title}),(0,R.jsx)(`span`,{children:e.summary})]},e.id))}),(0,R.jsx)(xR,{expanded:u,hiddenCount:Math.max(e.checkpoint.items.length-yR,0),label:`checkpoint item`,onClick:()=>v(`checkpoint`)}),e.checkpoint.generatedFiles===void 0||e.checkpoint.generatedFiles.length===0?null:(0,R.jsx)(`ul`,{className:`timeline-trace-file-list`,children:_.map(e=>(0,R.jsxs)(`li`,{children:[(0,R.jsx)(`strong`,{children:e.name}),(0,R.jsx)(`code`,{children:e.path})]},e.id))}),e.checkpoint.generatedFiles===void 0?null:(0,R.jsx)(xR,{expanded:d,hiddenCount:Math.max(e.checkpoint.generatedFiles.length-yR,0),label:`generated file`,onClick:()=>v(`generated-files`)}),(u||d)&&e.checkpoint.truncated===!0?(0,R.jsx)(`small`,{className:`timeline-trace-muted`,children:`Additional checkpoint evidence is outside this bounded audit preview.`}):null]}),n.length===0?null:(0,R.jsx)(fR,{label:`Links`,children:(0,R.jsx)(`div`,{className:`timeline-trace-links`,children:n.map(e=>(0,R.jsxs)(X,{className:`timeline-trace-link`,onClick:e.onClick,type:`button`,children:[(0,R.jsx)(ux,{"aria-hidden":`true`}),(0,R.jsx)(`span`,{children:e.label})]},e.id))})})]})}function wR({item:e,presentation:t=`panel`,expanded:n,active:r,onActivate:i,onToggle:a}){let o=e.trace,s=o!==void 0,c=e.tone??`neutral`,l=c===`error`?(0,R.jsx)(nS,{"aria-hidden":`true`}):c===`warning`?(0,R.jsx)(Ox,{"aria-hidden":`true`}):c===`sync`?(0,R.jsx)(Sx,{"aria-hidden":`true`}):(0,R.jsx)(ex,{"aria-hidden":`true`});return(0,R.jsxs)(`li`,{className:Y(`timeline-event-item`,s?`has-trace`:void 0,n?`is-expanded`:void 0,r?`is-current`:void 0,e.tone===void 0?void 0:`is-${e.tone}`),id:`timeline-event-${e.id}`,children:[t===`sheet`?null:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`time`,{className:`timeline-event-time`,children:e.occurredAt}),(0,R.jsx)(`div`,{className:`timeline-event-marker`,"aria-hidden":`true`})]}),(0,R.jsxs)(`div`,{className:`timeline-event-main`,children:[(0,R.jsxs)(`button`,{"aria-expanded":s&&t===`panel`?n:void 0,"aria-haspopup":s&&t===`sheet`?`dialog`:void 0,className:`timeline-event-toggle`,disabled:!s,onClick:()=>{i(),a?.()},type:`button`,children:[(0,R.jsx)(`span`,{className:Y(`timeline-event-status-icon`,`is-${c}`),"aria-hidden":`true`,children:l}),(0,R.jsxs)(`span`,{className:`timeline-event-copy`,children:[(0,R.jsx)(`span`,{className:`timeline-event-stage`,children:e.stageLabel??(e.kind===`checkpoint`?`Checkpoint`:`Task event`)}),(0,R.jsxs)(`span`,{className:`timeline-event-title-line`,children:[(0,R.jsx)(`h4`,{children:e.taskTitle??e.title}),e.tokenLabel===void 0?null:(0,R.jsx)(`span`,{className:`timeline-event-token`,children:e.tokenLabel})]}),t===`sheet`?(0,R.jsx)(`time`,{className:`timeline-event-time`,children:e.occurredAt}):null]}),s?t===`sheet`?(0,R.jsx)(nx,{className:`timeline-event-chevron`,"aria-hidden":`true`}):(0,R.jsx)(tx,{className:`timeline-event-chevron`,"aria-hidden":`true`}):null]}),o!==void 0&&n?(0,R.jsx)(CR,{trace:o}):null]})]})}function TR(e){let t=new Map;for(let n of e){let e=n.taskId===void 0?`event:${n.id}`:`task:${n.taskId}`,r=t.get(e);r===void 0?t.set(e,{id:e,title:n.taskTitle??n.title,...n.taskId===void 0?{}:{taskId:n.taskId},items:[n]}):r.items.push(n)}return[...t.values()]}function ER({items:e,empty:t,className:n,...r}){let[i,a]=(0,L.useState)(),o=e.find(e=>e.id===i);return(0,R.jsxs)(pS,{title:`Timeline`,frameless:!0,className:Y(`timeline-panel is-sheet`,n),...r,children:[(0,R.jsx)(`section`,{className:`timeline-events`,"aria-label":`Project timeline`,children:e.length===0?t:(0,R.jsx)(`ol`,{className:`timeline-event-list`,children:e.map(e=>(0,R.jsx)(wR,{item:e,presentation:`sheet`,expanded:!1,active:o?.id===e.id,onActivate:()=>a(e.id)},e.id))})}),(0,R.jsx)(DL,{open:o?.trace!==void 0,title:`Details`,onClose:()=>a(void 0),children:o?.trace===void 0?null:(0,R.jsxs)(`div`,{className:`timeline-sheet-detail`,children:[(0,R.jsxs)(`header`,{className:`timeline-sheet-detail-header`,children:[(0,R.jsx)(`h3`,{children:o.taskTitle??o.title}),(0,R.jsx)(`span`,{children:o.stageLabel??o.title}),(0,R.jsx)(`time`,{children:o.occurredAt})]}),(0,R.jsx)(CR,{trace:o.trace})]},o.id)})]})}function DR({presentation:e=`panel`,tokenOverview:t,scoreUnits:n=[],defaultExpandedItemIds:r=[],...i}){return e===`sheet`?(0,R.jsx)(ER,{...i}):(0,R.jsx)(OR,{...i,tokenOverview:t,scoreUnits:n,defaultExpandedItemIds:r})}function OR({tokenOverview:e,items:t,scoreUnits:n=[],empty:r,defaultExpandedItemIds:i,className:a,...o}){let[s,c]=(0,L.useState)(()=>new Set(i??[])),[l,u]=(0,L.useState)(()=>n.at(-1)?.id),[d,f]=(0,L.useState)(0),p=(0,L.useRef)(null),m=TR(t),h=new Set(t.flatMap(e=>e.taskId===void 0?[]:[e.taskId])).size;(0,L.useEffect)(()=>{if(n.length===0){u(void 0);return}(l===void 0||!n.some(e=>e.id===l))&&u(n.at(-1)?.id)},[l,n]),(0,L.useEffect)(()=>{let e=p.current;if(e===null)return;let t=e;t.scrollLeft=t.scrollWidth;function n(e){if(Math.abs(e.deltaY)<=Math.abs(e.deltaX))return;let n=Math.max(0,t.scrollWidth-t.clientWidth),r=Math.min(n,Math.max(0,t.scrollLeft+e.deltaY));r!==t.scrollLeft&&(e.preventDefault(),t.scrollLeft=r)}return t.addEventListener(`wheel`,n,{passive:!1}),()=>t.removeEventListener(`wheel`,n)},[n.length]),(0,L.useEffect)(()=>{let e=p.current;if(e===null)return;let t=()=>f(e.clientWidth);if(t(),typeof ResizeObserver>`u`)return window.addEventListener(`resize`,t),()=>window.removeEventListener(`resize`,t);let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[n.length]);function g(e,t=!1){u(e),t&&(c(t=>new Set(t).add(e)),window.requestAnimationFrame(()=>{document.getElementById(`timeline-event-${e}`)?.scrollIntoView({behavior:`smooth`,block:`center`})}))}function _(e){c(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}return(0,R.jsx)(pS,{className:Y(`timeline-panel`,a),title:`Timeline`,icon:(0,R.jsx)($b,{"aria-hidden":`true`}),...o,children:(0,R.jsxs)(`div`,{className:`timeline-board-body`,children:[(0,R.jsxs)(`section`,{className:`timeline-events`,"aria-label":`Project timeline`,children:[(0,R.jsx)(`div`,{className:`timeline-audit-header`,children:(0,R.jsxs)(`div`,{className:`timeline-audit-intro`,children:[(0,R.jsx)(`h4`,{children:`Task traceability`}),(0,R.jsxs)(`div`,{className:`timeline-audit-meta`,"aria-label":`Timeline record summary`,children:[(0,R.jsx)(`span`,{children:h===1?`1 task`:`${h} tasks`}),(0,R.jsx)(`span`,{children:t.length===1?`1 record`:`${t.length} records`})]})]})}),t.length===0?r:(0,R.jsx)(`div`,{className:`timeline-task-groups`,children:m.map(e=>(0,R.jsxs)(`section`,{className:`timeline-task-group`,"aria-label":e.title,children:[(0,R.jsxs)(`header`,{className:`timeline-task-group-head`,children:[(0,R.jsx)(`span`,{children:e.taskId===void 0?`Project record`:`Task trace`}),(0,R.jsx)(`strong`,{children:e.title})]}),(0,R.jsx)(`ol`,{className:`timeline-event-list`,children:e.items.map(e=>(0,R.jsx)(wR,{active:l===e.id,expanded:s.has(e.id),item:e,onActivate:()=>g(e.id),onToggle:()=>_(e.id)},e.id))})]},e.id))})]}),(0,R.jsxs)(`section`,{className:`timeline-overview`,"aria-label":`Timeline score and token usage`,children:[n.length===0?null:(0,R.jsx)(`div`,{className:`timeline-score-index`,ref:p,role:`group`,"aria-label":`Timeline score index`,children:(0,R.jsx)(cC,{"aria-label":`Timeline event score`,...l===void 0?{}:{activeUnitId:l},edgePadding:0,minimumWidth:d,onUnitSelect:e=>g(e,!0),openingBarline:`double`,openingClef:`treble`,horizontalSpacingScale:pC,reveal:!0,scale:dC,units:n})}),(0,R.jsxs)(`div`,{className:`timeline-overview-token`,"aria-label":`Total tokens`,children:[(0,R.jsx)(`span`,{children:`Total tokens`}),(0,R.jsx)(`strong`,{children:e.totalLabel})]})]})]})})}function kR({value:e,pending:t,canSubmit:n,onChange:r,onSubmit:i,feedback:a}){let o=(0,L.useId)();return(0,R.jsxs)(`form`,{className:`embedded-connection-form`,onSubmit:e=>{e.preventDefault(),n&&!t&&i()},children:[(0,R.jsx)(`h2`,{children:`Connect Tenso`}),(0,R.jsx)(Pw,{label:`Connection code or command`,htmlFor:o,children:(0,R.jsx)(Aw,{id:o,name:`connection`,value:e,onChange:e=>r(e.target.value),placeholder:`Paste from Local Console`,autoComplete:`off`,autoCapitalize:`off`,spellCheck:!1,maxLength:256,disabled:t,required:!0})}),(0,R.jsx)(Sw,{type:`submit`,disabled:t||!n,children:t?`Connecting…`:`Connect`}),a]})}var AR=`/assets/Tenso-square-BjEwAR9f.png`,jR=`/assets/Tenso-wtovJHhn.svg`,MR=`/assets/tutti_avatar-_0Yc-cMJ.png`,NR=`/assets/avatar-avery-CkLXb185.svg`,PR=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2080%2080'%20fill='none'%20shape-rendering='auto'%20aria-hidden='true'%3e%3c!--%20Generated%20by%20DiceBear%20(https://dicebear.com)%20--%3e%3cmetadata%20xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23'%20xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'%20xmlns:dc='http://purl.org/dc/elements/1.1/'%20xmlns:dcterms='http://purl.org/dc/terms/'%3e%3crdf:RDF%3e%3crdf:Description%3e%3cdc:title%3eDylan!%20The%20Avatar%20Generator%3c/dc:title%3e%3cdc:creator%3eNatalia%20Spivak%3c/dc:creator%3e%3cdc:source%20xsi:type='dcterms:URI'%3ehttps://www.figma.com/community/file/1356575240759683500%3c/dc:source%3e%3cdcterms:license%20xsi:type='dcterms:URI'%3ehttps://creativecommons.org/licenses/by/4.0/%3c/dcterms:license%3e%3cdc:rights%3eRemix%20of%20“Dylan!%20The%20Avatar%20Generator”%20(https://www.figma.com/community/file/1356575240759683500)%20by%20“Natalia%20Spivak”,%20licensed%20under%20“CC%20BY%204.0”%20(https://creativecommons.org/licenses/by/4.0/)%3c/dc:rights%3e%3c/rdf:Description%3e%3c/rdf:RDF%3e%3c/metadata%3e%3cdefs%3e%3cg%20id='mood-happy-7dff0831'%3e%3cpath%20d='M.04%2017.04c2.41%209.29%2015.16%2012.28%2022.34%206.67a14%2014%200%200%200%204.7-7.22c.36-1.28-1.57-1.8-1.93-.57-1.24%204.23-4.33%207.4-8.68%208.33-3.77.8-8.03-.1-11.05-2.52a10%2010%200%200%201-3.45-5.26c-.32-1.25-2.25-.72-1.93.53'%20fill='black'/%3e%3c/g%3e%3cg%20id='hair-shortCurls-7dff0831'%3e%3cpath%20d='m15.3%2027.49%201.58%204.38%201.06-9.52s2.27%201.27%203.44-.26.16-3.47.16-3.47%201.81.55%203.31-.8c1.87-1.67%201.26-3.46%201.26-3.46s1.71%201.9%204.5%201.1c2.77-.8%203.14-2.76%203.14-2.76s.56%202.18%203.4%202.12%203.2-2.01%203.2-2.01%200%202.43%202.43%203.14%203.43-1.24%203.43-1.24c0%20.02-.9%202.39.66%203.76%201.44%201.26%203.5.35%203.5.35s-.73%202.3.77%203.62c1.6%201.4%203.48.6%203.48.6l.77%208.34%201.8-3.8s1.4-.13%202.72.15c0%20.01%202.58-2.78%201.15-5.9s-3.64-2.86-3.64-2.86%201.95-3.05.13-5.65-4.94-1.96-4.94-1.96%201.18-3.52-1.68-5.27-5.92.46-5.92.46-.1-3.7-3.2-4.16c-3.26-.48-4.58%202.66-4.58%202.66s-1.35-2.89-4.14-2.44c-2.8.44-3.32%203.53-3.32%203.53S27.32%203.57%2024.92%205s-1.8%204.51-1.8%204.51-2.98-2.24-5.32-.23-.14%205.1-.14%205.1-3.87-1.12-5.04%201.8%201.66%204.95%201.66%204.95-5.35%201.16-2.82%207.33c0%200%20.6-.27%202.02-.62s1.8-.38%201.8-.38z'%20fill='%23000000'/%3e%3c/g%3e%3cclipPath%20id='clip-7dff0831'%3e%3crect%20width='80'%20height='80'%20rx='0'%20ry='0'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20clip-path='url(%23clip-7dff0831)'%3e%3crect%20width='80'%20height='80'%20fill='%23e5f4ec'/%3e%3cpath%20d='M19.07%2030.47s1.57-20.23%2021.59-20.23S62.3%2030.55%2062.3%2030.55s9.43-.8%209.43%207.6c0%208.42-9.28%207.13-9.28%207.13S60.9%2067.15%2042.03%2067.15c-21.11%200-23.4-20.8-23.4-20.8s-9%20.72-9.93-6.25c-1.08-8.2%2010.37-9.64%2010.37-9.64'%20fill='%23c26450'/%3e%3cpath%20d='m64.3%2039.49.46-.41.1-.09c.12-.1-.13.1-.02.02l.24-.17q.5-.35%201.06-.62l.26-.12.05-.02.05-.02.58-.21q.6-.18%201.2-.28c.52-.08.85-.76.7-1.23-.18-.56-.67-.8-1.23-.7a9.3%209.3%200%200%200-4.87%202.43c-.38.36-.4%201.06%200%201.4.4.36%201%20.4%201.4%200zm-51.8-1.16.14.01c-.27-.02-.11-.01-.04%200l.3.05.52.14.28.09.12.05c.02%200%20.22.09.06.02-.14-.1%200-.04.03-.03l.15.06.26.13.47.3.27.22q.47.38.83.83c.33.4%201.07.37%201.41%200%20.4-.43.36-.98%200-1.4a7.3%207.3%200%200%200-4.84-2.53c-.52-.06-1.02.5-1%201%20.03.59.44.94%201%201m18.3-1.9v4.54c0%20.52.46%201.02%201%201s1-.44%201-1V36.4c0-.52-.46-1.02-1-1s-1%20.44-1%201M49.2%2036l-.15%204.81a1%201%200%200%200%201%201c.56-.02.98-.44%201-1l.15-4.8a1%201%200%200%200-1-1%201%201%200%200%200-1%201'%20fill='black'/%3e%3cuse%20transform='translate(27.82%2026.75)'%20href='%23mood-happy-7dff0831'/%3e%3cuse%20transform='translate(3.78%202.95)'%20href='%23hair-shortCurls-7dff0831'/%3e%3c/g%3e%3c/svg%3e`,FR=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2080%2080'%20fill='none'%20shape-rendering='auto'%20aria-hidden='true'%3e%3c!--%20Generated%20by%20DiceBear%20(https://dicebear.com)%20--%3e%3cmetadata%20xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23'%20xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'%20xmlns:dc='http://purl.org/dc/elements/1.1/'%20xmlns:dcterms='http://purl.org/dc/terms/'%3e%3crdf:RDF%3e%3crdf:Description%3e%3cdc:title%3eDylan!%20The%20Avatar%20Generator%3c/dc:title%3e%3cdc:creator%3eNatalia%20Spivak%3c/dc:creator%3e%3cdc:source%20xsi:type='dcterms:URI'%3ehttps://www.figma.com/community/file/1356575240759683500%3c/dc:source%3e%3cdcterms:license%20xsi:type='dcterms:URI'%3ehttps://creativecommons.org/licenses/by/4.0/%3c/dcterms:license%3e%3cdc:rights%3eRemix%20of%20“Dylan!%20The%20Avatar%20Generator”%20(https://www.figma.com/community/file/1356575240759683500)%20by%20“Natalia%20Spivak”,%20licensed%20under%20“CC%20BY%204.0”%20(https://creativecommons.org/licenses/by/4.0/)%3c/dc:rights%3e%3c/rdf:Description%3e%3c/rdf:RDF%3e%3c/metadata%3e%3cdefs%3e%3cg%20id='mood-happy-46c131e2'%3e%3cpath%20d='M.04%2017.04c2.41%209.29%2015.16%2012.28%2022.34%206.67a14%2014%200%200%200%204.7-7.22c.36-1.28-1.57-1.8-1.93-.57-1.24%204.23-4.33%207.4-8.68%208.33-3.77.8-8.03-.1-11.05-2.52a10%2010%200%200%201-3.45-5.26c-.32-1.25-2.25-.72-1.93.53'%20fill='black'/%3e%3c/g%3e%3cg%20id='hair-fluffy-46c131e2'%3e%3cpath%20d='M16.45%2029.48s13.74%2023.53%203.86%2028.24C9.05%2063.08-1.2%2048.01.1%2036.77s10.96-16.35%2010.96-16.35-.58-9.5%209.2-15.04c9.78-5.55%2016.64.44%2016.64.44s8.06-5.9%2015.5-1.37c7.46%204.53%207.26%2014.68%207.26%2014.68s13.74-.56%2013.65%2016.47c-.08%2015.17-10.03%2022.94-16.8%2021.6-10.45-2.07%201.27-29.22%201.27-29.22s-14.4%201.04-20.14-9.75c0%200-4%205.95-9.7%208.62a32%2032%200%200%201-11.47%202.64z'%20fill='%231d5dff'/%3e%3c/g%3e%3cclipPath%20id='clip-46c131e2'%3e%3crect%20width='80'%20height='80'%20rx='0'%20ry='0'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20clip-path='url(%23clip-46c131e2)'%3e%3crect%20width='80'%20height='80'%20fill='%23fbf0d1'/%3e%3cpath%20d='M19.07%2030.47s1.57-20.23%2021.59-20.23S62.3%2030.55%2062.3%2030.55s9.43-.8%209.43%207.6c0%208.42-9.28%207.13-9.28%207.13S60.9%2067.15%2042.03%2067.15c-21.11%200-23.4-20.8-23.4-20.8s-9%20.72-9.93-6.25c-1.08-8.2%2010.37-9.64%2010.37-9.64'%20fill='%23c26450'/%3e%3cpath%20d='m64.3%2039.49.46-.41.1-.09c.12-.1-.13.1-.02.02l.24-.17q.5-.35%201.06-.62l.26-.12.05-.02.05-.02.58-.21q.6-.18%201.2-.28c.52-.08.85-.76.7-1.23-.18-.56-.67-.8-1.23-.7a9.3%209.3%200%200%200-4.87%202.43c-.38.36-.4%201.06%200%201.4.4.36%201%20.4%201.4%200zm-51.8-1.16.14.01c-.27-.02-.11-.01-.04%200l.3.05.52.14.28.09.12.05c.02%200%20.22.09.06.02-.14-.1%200-.04.03-.03l.15.06.26.13.47.3.27.22q.47.38.83.83c.33.4%201.07.37%201.41%200%20.4-.43.36-.98%200-1.4a7.3%207.3%200%200%200-4.84-2.53c-.52-.06-1.02.5-1%201%20.03.59.44.94%201%201m18.3-1.9v4.54c0%20.52.46%201.02%201%201s1-.44%201-1V36.4c0-.52-.46-1.02-1-1s-1%20.44-1%201M49.2%2036l-.15%204.81a1%201%200%200%200%201%201c.56-.02.98-.44%201-1l.15-4.8a1%201%200%200%200-1-1%201%201%200%200%200-1%201'%20fill='black'/%3e%3cuse%20transform='translate(27.82%2026.75)'%20href='%23mood-happy-46c131e2'/%3e%3cuse%20transform='translate(3.78%202.95)'%20href='%23hair-fluffy-46c131e2'/%3e%3c/g%3e%3c/svg%3e`,IR=`/assets/ode-to-joy-SNBUPr3-.svg`,LR=AR,RR=jR,zR=MR,BR={logoSrc:jR,tuttiAvatarSrc:MR,scoreSrc:IR,humanAvatars:{fey:PR,avery:NR,jun:FR}};function VR({onClick:e}){let t=(0,R.jsx)(Dw,{src:RR,label:`Tenso`});return e===void 0?t:(0,R.jsx)(kw,{logo:t,label:`Tenso Project Center`,onClick:e})}function HR({onClick:e,label:t}){return(0,R.jsx)(kw,{logo:(0,R.jsx)(Dw,{src:RR,className:`tutti-logo`}),...t===void 0?{}:{label:t},onClick:e})}function UR({diagnostic:e,showMessage:t=!0}){let n=[[`Diagnostic ID`,e.diagnosticId],[`Web release`,e.webRelease],[`Stage`,e.stage],[`Request`,e.stage===`document_input_validation`?`Local validation (not sent)`:void 0],[`Error kind`,e.errorKind],[`HTTP status`,e.httpStatus?.toString()],[`Reason code`,e.reasonCode],[`Platform stage`,e.platformStage],[`Platform code`,e.platformCode?.toString()]].filter(e=>e[1]!==void 0);return(0,R.jsx)(EL,{...t?{message:e.message}:{},diagnosticId:e.diagnosticId,rows:n.filter(([e])=>e!==`Diagnostic ID`),onCopy:()=>navigator.clipboard.writeText([e.message,...n.map(([e,t])=>`${e}: ${t}`)].join(`
69
69
  `))},e.diagnosticId)}function WR({loading:e,pending:t,unbound:n,value:r,canSubmit:i,error:a,onChange:o,onConnect:s,onRefresh:c}){let l=a===void 0?void 0:(0,R.jsx)(UR,{diagnostic:a});return(0,R.jsx)(TL,{brand:(0,R.jsx)(HR,{label:`Tenso`}),projectName:`Connect Tenso`,showProjectName:!1,refreshing:e||t,onRefresh:c,children:e?(0,R.jsx)(aS,{count:3}):n?(0,R.jsx)(kR,{value:r,pending:t,canSubmit:i,onChange:o,onSubmit:s,feedback:l}):(0,R.jsx)(iS,{details:l,children:`Connection entry unavailable.`})})}var GR=`https://lf1-cdn-tos.bytegoofy.com/goofy/lark/op/h5-js-sdk-1.5.48.js`,KR=15e3,qR=[dg],JR=class extends Error{constructor(e,t,n,r){super(e.replaceAll(`_`,` `)),this.code=e,this.stage=t,this.errno=n,this.platformDetail=r,this.name=`FeishuH5AuthorizationError`}};function YR(e){let t=[];typeof e.errCode==`number`&&Number.isSafeInteger(e.errCode)&&t.push(`errCode ${e.errCode}`);for(let n of[e.errString,e.errMsg]){if(typeof n!=`string`)continue;let e=Array.from(n,e=>{let t=e.charCodeAt(0);return t<=31||t===127?` `:e}).join(``).replace(/\s+/gu,` `).trim();e!==``&&!t.includes(e)&&t.push(e)}if(t.length===0)return;let n=t.join(` · `);return n.length<=180?n:`${n.slice(0,177)}...`}function XR(e){return typeof e.errno==`number`&&Number.isSafeInteger(e.errno)?e.errno:void 0}function ZR(e,t){return new Promise((n,r)=>{let i=!1,a=!1,o=!1,s=e=>{i||(i=!0,clearTimeout(c),`error`in e?r(e.error):n(e.code))},c=setTimeout(()=>s({error:new JR(`client_unavailable`)}),t.timeoutMs??KR),l=()=>{if(!(a||i)){if(a=!0,e.allowLegacyFallback===!1){s({error:new JR(`request_failed`,`request_access`)});return}if(t.client.requestAuthCode===void 0){s({error:new JR(o?`request_failed`:`client_unavailable`,o?`request_access`:`request_auth_code`)});return}t.client.requestAuthCode({appId:e.appId,success:e=>{typeof e.code!=`string`||e.code.trim()===``?s({error:new JR(`request_failed`,`request_auth_code`)}):s({code:e.code})},fail:e=>s({error:new JR(`request_failed`,`request_auth_code`,XR(e),YR(e))})})}},u=()=>{if(!(o||i)){if(o=!0,t.client.requestAccess===void 0){l();return}t.client.requestAccess({appID:e.appId,scopeList:[...e.scopes??qR],state:e.state,success:t=>{if(typeof t.code!=`string`||t.code.trim()===``){s({error:new JR(`request_failed`,`request_access`)});return}if(t.state!==void 0&&t.state!==e.state){s({error:new JR(`state_mismatch`,`request_access`)});return}s({code:t.code})},fail:e=>{let t=XR(e);if(t===103){l();return}s({error:new JR(`request_failed`,`request_access`,t,YR(e))})}})}};t.sdk===void 0?u():(t.sdk.error(e=>{s({error:new JR(`request_failed`,`sdk`,XR(e))})}),t.sdk.ready(u))})}var QR=null;function $R(e){return e.tt===void 0?null:{client:e.tt,...e.h5sdk===void 0?{}:{sdk:e.h5sdk}}}function ez(e=window,t=document){let n=$R(e);if(n!==null)return Promise.resolve(n);if(QR!==null)return QR;let r=new Promise((n,r)=>{let i=t.createElement(`script`),a=setTimeout(()=>{i.remove(),r(new JR(`client_unavailable`))},KR);i.async=!0,i.crossOrigin=`anonymous`,i.src=GR,i.onload=()=>{clearTimeout(a);let t=$R(e);t===null?r(new JR(`client_unavailable`)):n(t)},i.onerror=()=>{clearTimeout(a),r(new JR(`client_unavailable`))},t.head.append(i)}).catch(e=>{throw QR=null,e});return QR=r,r}async function tz(e){return await ZR(e,await ez())}var nz=`scratchpad-submit-1`,rz=class extends Error{constructor(e,t,n){super(e.replaceAll(`_`,` `)),this.stage=e,this.cause=t,this.diagnostics=n,this.name=`FeishuProjectOpenError`}};function iz(){if(typeof globalThis.crypto?.randomUUID==`function`)return globalThis.crypto.randomUUID().replaceAll(`-`,``);if(typeof globalThis.crypto?.getRandomValues==`function`){let e=new Uint8Array(16);return globalThis.crypto.getRandomValues(e),Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``)}return`${Date.now().toString(36)}${Math.random().toString(36).slice(2)}`.padEnd(16,`0`)}function az(){let e={diagnosticId:`fdiag_${iz()}`,webRelease:nz};if(!On(e.diagnosticId)||!kn(e.webRelease))throw Error(`Feishu diagnostics could not be initialized`);return e}function oz(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function sz(e){return typeof e==`string`&&/^[a-z][a-z0-9_]{0,95}$/u.test(e)?e:void 0}function cz(e){let t=e,n=new Set;for(;t instanceof rz&&!n.has(t);)n.add(t),t=t.cause;return t}function lz(e){if(e instanceof rz){if(e.cause instanceof JR){if(e.stage===`document_authorization_request_access`)return e.stage;if(e.cause.stage===`sdk`)return`h5_sdk`;if(e.cause.stage===`request_auth_code`)return`h5_request_auth_code`;if(e.cause.stage===`request_access`)return`h5_request_access`}return e.stage}return e instanceof JR?e.stage===`sdk`?`h5_sdk`:e.stage===`request_auth_code`?`h5_request_auth_code`:`h5_request_access`:`browser_runtime`}function uz(e,t){return e instanceof rz&&e.diagnostics!==void 0?e.diagnostics:t}function dz(e){return oz(e.details)?sz(e.details.reason_code)??e.code:e.code}function fz(e){let t=cz(e);if(e instanceof rz&&e.stage.startsWith(`connection_`)){let e=t instanceof Wt?dz(t):void 0;return e===`connection_input_invalid`?`Paste a connection code or the full /tenso connect command.`:e===`pairing_code_invalid_or_expired`||e===`pairing_code_already_consumed`?`Get a current connection code from Local Console and try again.`:e===`connection_state_invalid_or_expired`?`This authorization attempt expired. Click Connect to try again.`:e===`connection_entry_unavailable`?`This group entry is unavailable. Send /tenso connect in the group to request the current entry.`:e?.includes(`bound`)||e?.includes(`binding`)?`This group or project already has a connection, or its connection is unavailable. Refresh to check. Existing connections will not be replaced.`:`Tenso could not verify or connect this group. Refresh to check its current connection; share the diagnostics if it persists.`}if(e instanceof rz&&e.stage===`reference_authorization_status`){let e=t instanceof Wt?dz(t):void 0;return e===`reference_owner_required`?`Ask the project owner to open this access request.`:e===`reference_authorization_not_found`?`This access request is no longer available. Ask Tenso to try reading again.`:`Document access could not be checked. Refresh this entry and share the diagnostics if it persists.`}if(t instanceof Wt&&t.code===`response_parse_error`)return`Tenso received an unexpected server response. Refresh to try again; if it persists, share the diagnostics.`;if(e instanceof rz){if([`skills_list`,`skill_detail`,`project_timeline`].includes(e.stage)){let t=cz(e),n=t instanceof Wt?dz(t):void 0;return n===`host_read_surfaces_unsupported`?`Update the project's local Tenso runtime to view this section.`:n===`skill_read_limit_exceeded`?`These skills exceed the sidebar read limit. No partial instructions are shown.`:t instanceof Wt&&t.statusCode===503?`The project’s local Tenso runtime is offline or temporarily unavailable.`:t instanceof Wt&&(t.statusCode===401||t.statusCode===403)?`Project access could not be verified. Reopen the project from Feishu.`:t instanceof Wt&&t.statusCode===404&&t.code!==`response_parse_error`?`This content is no longer available. Refresh this section to check again.`:`This section could not be loaded. Refresh to try again.`}if(e.stage===`external_reference_register`||e.stage===`external_reference_list`){let t=e.cause instanceof Wt?dz(e.cause):void 0;return e.stage===`external_reference_list`&&e.cause instanceof Wt&&[401,403].includes(e.cause.statusCode)?`Project access could not be verified. Reopen the project from Feishu.`:t?.startsWith(`reference_submission_`)?`This Reference request is no longer available. Reload References; submit the link again if the request expired.`:t===`reference_source_limit_reached`?`The project has reached its Reference source limit. Existing sources are unchanged.`:t===`reference_owner_required`?`Only the project Owner can add References.`:t===`reference_link_invalid`?`Use a standard Feishu Docx, Wiki or cloud file link.`:t===`feishu_user_drive_scope_missing`?`Authorize cloud file downloads and try again.`:t===`feishu_user_authorization_required`?`The Owner needs to authorize access, then retry this request.`:t===`document_wiki_type_unsupported`?`This Wiki node is not a Docx document. Use a direct cloud file link for ordinary files.`:`The Reference request could not be completed. Reload the list and try again; existing sources are unchanged.`}if(e.stage===`reference_summary_refresh`)return`The summary retry could not be requested. Your document connection and local snapshot are unchanged. Try again.`;if([`document_list`,`document_connect`,`document_refresh`].includes(e.stage)){let t=e.cause instanceof Wt?dz(e.cause):void 0;return t===`document_link_invalid`?`Use a Feishu Docx or Wiki link, or the actual Docx document ID.`:t===`document_wiki_authorization_required`?`Authorize Wiki node access and Feishu Docs, then try connecting again.`:t===`document_wiki_type_unsupported`?`This Wiki node is not a Docx document. Sheets and other resource types are not supported yet.`:t===`document_wiki_not_found`?`The Wiki node could not be found. Check the copied link.`:t===`document_wiki_access_denied`?`Your Feishu account cannot read this Wiki node. Check its sharing settings.`:t===`document_wiki_busy`?`Another Wiki connection is being checked. Try again shortly.`:t===`document_owner_required`?`Only the project Owner can connect or refresh documents.`:t===`document_authorization_required`?`Authorize Feishu Docs and try again.`:t===`document_source_limit_reached`?`This project has reached its document connection limit.`:t===`document_source_not_found`?`This document connection is no longer available. Reload the list.`:`The document request could not be completed. Your existing reference snapshots are unchanged. Try again.`}return(e.stage===`document_authorization_bootstrap`||e.stage===`document_authorization_exchange`)&&e.cause instanceof Wt?`Feishu could not authorize document access. Reopen this entry and try again.`:e.stage===`authorization_exchange`&&e.cause instanceof Wt&&(e.cause.statusCode===401||e.cause.statusCode===403||e.cause.statusCode===503)?`Feishu could not verify your identity or project group access. Try again after the app permissions are available.`:e.stage===`host_bootstrap`&&e.cause instanceof Wt&&e.cause.statusCode===503?`The project’s local Tenso runtime is offline or temporarily unavailable.`:e.stage===`browser_session_restore`?`This browser session expired. Reopen the project from Feishu and start the browser fallback again.`:e.stage===`browser_handoff_consume`?`This browser handoff expired or was already used. Reopen the project from Feishu and try again.`:fz(e.cause)}if(e instanceof JR){if(e.code===`client_unavailable`)return`Open this project through the Feishu app entry, not a regular browser link.`;if(e.code===`state_mismatch`)return`This Feishu authorization request expired. Try again.`;let t=[e.stage,e.errno===void 0?void 0:`errno ${e.errno}`,e.platformDetail].filter(e=>e!==void 0).join(`, `);return`Feishu could not authorize this app${t===``?``:` (${t})`}. Reopen it from Feishu and try again.`}return e instanceof Wt&&e.statusCode===403?`Your Feishu account must belong to the project group.`:e instanceof Wt&&e.statusCode===401?`Your project session expired. Reopen the project from Feishu.`:e instanceof Wt&&e.statusCode===429?`Too many requests. Wait a moment, then try again.`:e instanceof Wt&&e.statusCode===503?`The project’s local Tenso runtime is offline or temporarily unavailable.`:e instanceof Wt&&e.statusCode===404?`This project is no longer connected to the current Feishu group.`:e instanceof Wt&&e.statusCode>=500?`Tenso could not complete this request. Try again; if it persists, share the diagnostics.`:`Check your Feishu connection and try again.`}function pz(e,t){let n=hz(e,t);return`${n.message} Diagnostic ID: ${n.diagnosticId} · ${n.webRelease} · ${n.stage} · ${n.reasonCode??n.errorKind}${n.httpStatus===void 0?``:` · HTTP ${n.httpStatus}`}`}async function mz(e,t){let n=az();try{return await t(n)}catch(t){throw new rz(e,t,n)}}function hz(e,t){let n=cz(e),r={...uz(e,t),message:fz(e),stage:lz(e)};if(n instanceof Wt){let e=oz(n.details)?n.details:void 0,t=sz(e?.authorization_stage),i=e?.platform_code;return{...r,errorKind:n.code,...n.statusCode<=0?{}:{httpStatus:n.statusCode},reasonCode:dz(n),...t===void 0?{}:{platformStage:t},...typeof i==`number`&&Number.isSafeInteger(i)?{platformCode:i}:{}}}return n instanceof JR?{...r,errorKind:n.code,reasonCode:n.code,...n.errno===void 0?{}:{platformCode:n.errno}}:n instanceof TypeError?{...r,errorKind:`unexpected_type_error`,reasonCode:`unexpected_type_error`}:{...r,errorKind:`unexpected_error`,reasonCode:`unexpected_error`}}var gz={success:3e3,error:9e3,warning:6e3,info:4500},_z=5,vz=(0,L.createContext)(null);function yz(e){return e.persistent===!0||e.tone===`loading`?e.durationMs:e.durationMs??gz[e.tone]}function bz(e){return e.persistent??e.tone===`loading`}function xz(e){return e.dismissible??e.tone!==`loading`}function Sz(e,t){let n=yz(t);return{id:e,tone:t.tone,title:t.title,persistent:bz(t),dismissible:xz(t),...t.message===void 0?{}:{message:t.message},...n===void 0?{}:{durationMs:n}}}function Cz(e,t){let n=t.tone===void 0,r={tone:t.tone??e.tone,title:t.title??e.title,...t.message===void 0?e.message===void 0?{}:{message:e.message}:{message:t.message},...t.durationMs===void 0?!n||e.durationMs===void 0?{}:{durationMs:e.durationMs}:{durationMs:t.durationMs},...t.persistent===void 0?!n||e.persistent===void 0?{}:{persistent:e.persistent}:{persistent:t.persistent},...t.dismissible===void 0?!n||e.dismissible===void 0?{}:{dismissible:e.dismissible}:{dismissible:t.dismissible}};return Sz(e.id,r)}function wz(e){return[e.id,e.tone,e.title,e.message??``,e.durationMs??``,e.persistent===!0?`persistent`:`timed`].join(`:`)}function Tz({children:e}){let[t,n]=(0,L.useState)([]),r=(0,L.useRef)(new Map),i=(0,L.useCallback)(e=>{n(t=>t.filter(t=>t.id!==e))},[]),a=(0,L.useCallback)(e=>{let t=Vt(),r=Sz(t,e);return n(e=>[...e,r].slice(-_z)),t},[]),o=(0,L.useCallback)((e,t)=>{if(e===void 0){a(t);return}n(n=>n.map(n=>n.id===e?Cz(n,t):n))},[a]);(0,L.useEffect)(()=>{let e=new Set(t.map(e=>e.id));for(let[t,n]of r.current)e.has(t)||(window.clearTimeout(n.timeout),r.current.delete(t));for(let e of t){let t=r.current.get(e.id),n=wz(e);if(t!==void 0&&t.key!==n&&(window.clearTimeout(t.timeout),r.current.delete(e.id)),e.persistent===!0||e.durationMs===void 0||r.current.has(e.id))continue;let a=window.setTimeout(()=>i(e.id),e.durationMs);r.current.set(e.id,{key:n,timeout:a})}},[i,t]),(0,L.useEffect)(()=>()=>{for(let e of r.current.values())window.clearTimeout(e.timeout);r.current.clear()},[]);let s=(0,L.useMemo)(()=>({notify:a,update:o,dismiss:i}),[i,a,o]);return(0,R.jsxs)(vz.Provider,{value:s,children:[e,(0,R.jsx)(uS,{notices:t,onDismiss:i})]})}function Ez(){let e=(0,L.useContext)(vz);if(e===null)throw Error(`useNotify must be used inside NotificationProvider`);return e}var Dz=`en-US`;function Oz(e){if(e===void 0)return`Never`;let t=new Date(e);return Number.isFinite(t.getTime())?t.toLocaleString(Dz,{month:`short`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`}):e}function kz(e){if(e===void 0)return`Unknown`;let t=new Date(e);return Number.isFinite(t.getTime())?t.toLocaleDateString(Dz,{month:`short`,day:`numeric`,year:`numeric`}):`Unknown`}function Az(e,t=new Date){let n=new Date(e);if(!Number.isFinite(n.getTime()))return e;if(n.getFullYear()===t.getFullYear()&&n.getMonth()===t.getMonth()&&n.getDate()===t.getDate()){let e=Math.max(0,Math.floor((t.getTime()-n.getTime())/6e4));return e<1?`now`:e<60?`${e}m`:`${Math.floor(e/60)}h`}return n.toLocaleString(Dz,{month:`short`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`})}function jz(e){return e.toString().padStart(2,`0`)}function Mz(e){if(e===void 0)return`Never`;let t=new Date(e);return Number.isFinite(t.getTime())?`${t.getFullYear()}-${jz(t.getMonth()+1)}-${jz(t.getDate())} ${jz(t.getHours())}:${jz(t.getMinutes())}`:e}function Nz(e){let t=new Date(e);return Number.isFinite(t.getTime())?t.toLocaleTimeString(Dz,{hour:`2-digit`,minute:`2-digit`}):``}function Pz(e){switch(e){case`online`:return`Host online`;case`offline`:return`Host offline`;case`unknown`:return`Host unknown`}}function Fz(e){let t={running:{label:`Running`,tone:`sync`},pending:{label:`Needs input`,tone:`warning`},failed:{label:`Needs attention`,tone:`error`},idle:{label:`Idle`,tone:`neutral`}},n=e.active_activity,r=t[e.status].label;if(e.status===`running`&&n!==void 0)if(n.activity_kind===`run`)r=`Running task`;else switch(n.workflow_kind){case`context_sync`:r=`Updating docs`;break;case`task_compile`:r=`Preparing tasks`;break;case`project_context_bootstrap`:r=`Preparing project`;break;case`scratchpad_refresh`:r=`Refreshing`;break;case`reference_summary_refresh`:r=`Reading files`;break;case`follow_up_check`:r=`Reviewing input`;break}return{...t[e.status],label:r,summary:e.summary}}function Iz(e){return{relayProjectRef:e.relay_project_ref,displayName:e.display_name,hostStatus:e.host_status,surface:e.surface,membershipLabel:e.role===`owner`?`Owner`:`Member`,lastOpenedLabel:Oz(e.last_opened_at),canOpen:e.surface===`standalone`&&e.host_status===`online`}}function Lz(e){return{elementKind:e.element_kind,tagName:e.tag_name,...e.role===void 0?{}:{role:e.role},...e.accessible_name===void 0?{}:{accessibleName:e.accessible_name},...e.text_excerpt===void 0?{}:{textExcerpt:e.text_excerpt},...e.context.length===0?{}:{context:e.context.map(e=>e.accessible_name??e.role??e.tag_name)}}}function Rz(e,t,n={}){let r=n.runActive??!1;if(e===void 0)return r?{status:`updating`}:{status:`loading`};if(e.status===`not_declared`)return r?{status:`updating`}:{status:`not_declared`};if(e.status===`invalid`)return r?{status:`updating`}:{status:`invalid`,message:e.error.message};let i={status:`declared`,title:e.artifact.title,previewStatus:e.preview.status,...e.preview.error_message===void 0?{}:{errorMessage:e.preview.error_message}};return e.preview.status===`ready`?t.previewUrl===void 0?r?{status:`updating`}:t.errorMessage===void 0?{...i,previewStatus:t.pending?`starting`:`failed`,...t.pending?{}:{errorMessage:`Preview session is unavailable`}}:{...i,previewStatus:`failed`,errorMessage:t.errorMessage}:{...i,previewUrl:t.previewUrl}:r?{status:`updating`}:i}function zz(e){return e?.status===`declared`&&e.preview.status===`ready`?{status:`live`}:{status:`hidden`}}function Bz(e){return e.status===`declared`&&e.previewStatus===`ready`?{status:`live`}:{status:`hidden`}}function Vz(e){return{kind:`initials`,initials:O_(Uz(e)),color:`blue`}}function Hz(e){return e.author.ref===void 0||!Lt(e.author.ref,Nt.relayAccount)?null:{kind:`image`,image_url:`/api/v1/accounts/${encodeURIComponent(e.author.ref)}/avatar`,initials:O_(Uz(e)),color:`blue`}}function Uz(e){return Cn(e)===`operator`?`${e.author.display_name??`Dev Observer`} (operator)`:e.author.display_name??(e.author.kind===`human`?`Member`:`Tenso`)}function Wz(e,t={}){if(e.author.kind===`agent`||e.author.kind===`system`&&Cn(e)!==`operator`)return{avatarKind:`tutti`,online:!1};if(e.author.avatar!==void 0)return{avatarKind:`member`,avatar:e.author.avatar,online:t[e.author.ref??``]?.online??!1};let n=e.author.ref===void 0?void 0:t[e.author.ref];return n===void 0?{avatarKind:`member`,avatar:Hz(e)??Vz(e),online:!1}:{avatarKind:`member`,avatar:n.avatar,online:n.online??!1}}function Gz(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function Kz(e,t={}){let n={id:e.id,messageKind:e.message_kind,isClarificationAnswer:Cn(e)!==null,author:Uz(e),body:e.body,createdAt:e.created_at,time:Nz(e.created_at),...t.requestStatus===void 0?{}:{requestStatus:t.requestStatus},...Wz(e,t.authorProfiles)};if(e.refs?.workflow_ref!==void 0&&(n.workflowRef=e.refs.workflow_ref),e.refs?.reference_file!==void 0){let r=e.refs.reference_file;n.referenceFile={path:r.path,name:r.name,category:r.category,...r.media_type===void 0?{}:{mediaType:r.media_type},sizeBytes:r.size_bytes,...r.category===`image`&&r.blob_oid!==void 0&&t.referenceAssetUrl!==void 0?{imageUrl:t.referenceAssetUrl(r.path,`thumbnail`,r.blob_oid)}:{}}}if(e.clarification_card!==void 0&&(n.clarificationCard={threadId:e.clarification_card.thread_id,roundId:e.clarification_card.round_id,...e.clarification_card.title===void 0?{}:{title:e.clarification_card.title},summary:e.clarification_card.summary,status:e.clarification_card.status,isCurrentRound:e.clarification_card.is_current_round}),e.refs?.task_result!==void 0){let r=e.refs.task_result,i=r.latest_run_result_id===void 0?r.retry_action:t.taskRetryState?.(r.task_id,r.latest_run_result_id,r.retry_action)??r.retry_action;n.taskResult={title:r.title,status:r.status,taskId:r.task_id,taskTitle:r.task_title,summary:r.summary,...r.module_name===void 0?{}:{moduleName:r.module_name},...r.latest_run_result_id===void 0?{}:{latestRunResultId:r.latest_run_result_id},...r.final_note===void 0?{}:{finalNote:r.final_note},...r.generated_files===void 0?{}:{generatedFiles:r.generated_files.map(e=>({path:e.path,name:e.name,meta:e.media_type===void 0?Gz(e.size_bytes):`${e.media_type} · ${Gz(e.size_bytes)}`,...e.group===void 0?{}:{group:e.group}}))},...r.error_code===void 0?{}:{errorCode:r.error_code},...i===void 0?{}:{retryState:i}}}if(e.refs?.artifact_feedback!==void 0){let r=e.refs.artifact_feedback,i=r.preview_generation===t.artifactFeedbackPreviewGeneration;n.artifactFeedback={artifactTitle:r.artifact_title,...r.summary===void 0?{}:{summary:r.summary},annotations:r.annotations.map(e=>({documentUrl:e.document_url,comment:e.comment,target:Lz(e.target.snapshot),canView:i}))}}return n}function qz(e){return e.state===`none`?null:{threadId:e.thread.id,roundId:e.round.id,...e.round.answer_revision===void 0?{}:{answerRevision:e.round.answer_revision},cardMessageId:e.round.card_message_id,title:e.round.request_payload.title??`Clarification`,summary:e.round.request_payload.summary,request:e.round.request_payload.request,ownerLabel:e.thread.owner.kind===`task`?`Task-bound clarification ${e.thread.owner.task_id}`:`Workflow clarification`,status:e.round.status}}function Jz(e){let t=e.resolution.decided_by,n=t===void 0?``:` by ${t.display_name}`;return`${e.resolution.label}${n}`}function Yz(e){return e.resolution.outcome===`accepted`?{status:`resolved`,statusLabel:`resolved`}:{status:`expired`,statusLabel:e.resolution.outcome}}function Xz(e){return e.reason??e.summary}function Zz(e){if(e===void 0||e.state===`none`)return null;let t=e.request;return e.state===`pending`?{approvalId:t.approval_id,title:t.title,summary:Xz(t),requestedAt:t.requested_at,...t.command?.text===void 0?{}:{detailLabel:`Codex wants to run`,detail:t.command.text,detailCode:!0},status:`pending`,statusLabel:`needs approval`,decisions:t.decisions.map(e=>({decisionId:e.decision_id,label:e.label,tone:e.tone}))}:{approvalId:t.approval_id,title:t.title,summary:Xz(t),requestedAt:t.requested_at,...t.command?.text===void 0?{}:{detailLabel:`Codex wants to run`,detail:t.command.text,detailCode:!0},...Yz(e),decisions:[],resolutionLabel:Jz(e)}}function Qz(e){return e.state===`ready`?[e.topic,e.background_summary,...e.current_consensus,...e.open_questions,...e.task_changes].some(e=>e.trim().length>0):!1}function $z(e){let t=e.map(e=>e.trim()).filter(e=>e.length>0).join(`; `);return t.length===0?void 0:t}function eB(e){return[{id:`scratchpad-confirmed`,label:`CONFIRMED`,rows:e.current_consensus.map(e=>({kind:`confirmed`,text:e}))},{id:`scratchpad-questions`,label:`OPEN QUESTIONS`,rows:e.open_questions.map(e=>({kind:`question`,text:e}))}].filter(e=>e.rows.length>0)}function tB(e){let t=$z(e.task_changes);return{key:`current:${e.updated_at??`unknown`}`,title:e.topic||`Current Scratchpad`,summary:e.background_summary||`No background summary`,submitAvailable:Qz(e),sections:eB(e),...e.updated_at===void 0?{}:{updatedLabel:Az(e.updated_at)},...t===void 0?{}:{footerNote:{text:t,tone:`neutral`}}}}function nB(e){return{key:`submitted:${e.submitted_by_workflow_ref??e.submitted_at??`current`}`,title:e.topic||`Current Scratchpad`,summary:e.background_summary||`No background summary`,submitAvailable:!1,sections:eB(e),submitted:!0,updatedLabelPrefix:`Submitted`,...e.submitted_at===void 0?e.updated_at===void 0?{}:{updatedLabel:Az(e.updated_at)}:{updatedLabel:Az(e.submitted_at)}}}function rB(e){return{key:`receipt:${e.workflow_ref}`,title:e.topic||`Current Scratchpad`,summary:e.background_summary||`No background summary`,submitAvailable:!1,sections:eB(e),submitted:!0,updatedLabelPrefix:`Submitted`,updatedLabel:Az(e.submitted_at),...e.compiled_tasks===void 0||e.compiled_tasks.length===0?{}:{compiledTasks:e.compiled_tasks.map(e=>({taskId:e.task_id,title:e.title,moduleName:e.module_name,status:e.status}))}}}function iB(e){return[...e].reverse().map(rB)}function aB(e){let t=iB(e.receipts);return e.state===`ready`?[...t,tB(e)]:e.state===`submitted`&&t.length===0?[nB(e)]:t}function oB(e){let t=e.refs?.scratchpad_source;return t===void 0?e.scope.kind===`main_chat`?e.message_kind===`user_text`&&e.author.kind===`human`?!0:e.message_kind===`agent_text`&&e.author.kind===`agent`?e.refs?.workflow_ref===void 0&&e.refs?.activity_ref===void 0:!1:!1:t===`include`}function sB(e,t){let n=e.updated_at??(e.state===`submitted`?e.submitted_at:void 0);return t.some(e=>oB(e)?n===void 0||e.created_at>n:!1)}function cB(e,t=[]){let n=sB(e,t),r=aB(e),i=n?r.map((e,t)=>t===r.length-1?{...e,submitAvailable:!0}:e):r;if(i.length>0){let e=i[i.length-1];if(e===void 0)throw Error(`Scratchpad pages unexpectedly empty`);return{title:e.title,summary:e.summary,submitAvailable:e.submitAvailable,sections:e.sections,...e.updatedLabel===void 0?{}:{updatedLabel:e.updatedLabel},...e.updatedLabelPrefix===void 0?{}:{updatedLabelPrefix:e.updatedLabelPrefix},...e.footerNote===void 0?{}:{footerNote:e.footerNote},pages:i}}if(e.state!==`ready`)return{title:`Current Scratchpad`,summary:`Scratchpad empty. Discuss your ideas together.`,sections:[],submitAvailable:n};let a=tB(e);return{...a,submitAvailable:a.submitAvailable||n}}function lB(e,t=[],n){let r=cB(e,t);if(n===void 0)return r;let i={text:n,tone:`neutral`};return{...r,footerNote:i,...r.pages===void 0?{}:{pages:r.pages.map((e,t)=>t===r.pages.length-1?{...e,footerNote:i}:e)}}}function uB(e,t){let n=e.modules.map(e=>({label:e.module.name,rows:e.tasks.map(e=>({id:e.id,title:e.title,status:e.status,selected:e.id===t}))})).filter(e=>e.rows.length>0);return{modules:n,taskCount:n.reduce((e,t)=>e+t.rows.length,0)}}function dB(e){return e.modules.flatMap(e=>e.tasks)}function fB(e){return e.replace(/\s+/gu,` `).trim()}function pB(e,t=`None`){let n=fB(e??``);return n.length===0?t:n}function mB(e){let t=e.map(fB).filter(e=>e.length>0);return t.length===0?`None`:t.join(`
70
- `)}function hB(e){return e.status===`promoted`?`promoted`:e.status===`not_promoted`?`not promoted`:`not attempted`}function gB(e){return e.result_kind===`needs_human`?`needs human`:e.result_kind===`failed`?`failed`:e.result_kind===`finished`?e.outcome??`finished`:`none`}function _B(e){if(e.result_kind===`needs_human`)return`pending`;if(e.result_kind===`failed`)return`failed`;if(e.result_kind===`finished`)return e.outcome===`completed`?`done`:`failed`}function vB(e){return e.result_kind===`needs_human`?`pending`:e.result_kind===`failed`?`failed`:e.outcome===`completed`?`done`:`failed`}function yB(e){return e.result_kind===`needs_human`?`Needs human`:e.result_kind===`failed`?`Failed`:e.outcome===`completed`?`Finished`:`Finished with failure`}function bB(e){return{id:e.id,title:yB(e),meta:Mz(e.created_at),status:vB(e)}}function xB(e,t,n={}){if(e===void 0)return;let r=e.detail.result,i=e.detail.contract,a=_B(r),o=[a===void 0?{label:`STATUS`,value:gB(r)}:{label:`STATUS`,value:gB(r),status:a}];return r.updated_at!==void 0&&o.push({label:`UPDATED`,value:Mz(r.updated_at)}),o.push({label:`RESULT`,value:pB(r.summary,`No run result yet.`)}),r.checks!==void 0&&o.push({label:`CHECKS`,value:r.checks}),r.docs!==void 0&&o.push({label:`DOCS`,value:r.docs}),r.promotion!==void 0&&o.push({label:`PROMOTE`,value:hB(r.promotion)}),r.error_code!==void 0&&o.push({label:`ERROR`,value:r.error_code}),r.retryable!==void 0&&o.push({label:`RETRY`,value:r.retryable?`can retry`:`needs new scope`}),{taskId:e.task.id,title:e.task.title,status:e.task.status,summary:pB(e.task.summary),contractRows:[{label:`GOAL`,value:i.goal||`None`},{label:`SCOPE`,value:mB(i.scope)}],resultRows:o,evidenceRows:o,runResults:(t?.items??[]).map(bB),...r.retry_action===void 0||n.includeRetryAction===!1?{}:{retryAction:{state:r.retry_action}}}}var SB=new Intl.DateTimeFormat(Dz,{year:`numeric`,month:`short`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1}),CB={connected:`Connected`,reconnecting:`Reconnecting`,unavailable:`Unavailable`},wB={configured:`Configured`,invalid:`Needs attention`,not_configured:`Not configured`,managed:`Tenso trial`},TB={provider_auth_invalid:`API key is invalid`,provider_quota_or_billing_required:`Quota or billing needs attention`,provider_rate_limited:`Provider rate limit reached`,provider_model_unavailable:`Selected model is unavailable`,provider_network_error:`Provider could not be reached`,unknown:`Provider validation failed`};function EB(e){let t=new Date(e);return Number.isFinite(t.getTime())?SB.format(t):e}function DB(e){return e===`owner`?`Owner`:`Member`}function OB(e){return e.status===`managed`?{status:wB.managed,model:`Tenso`}:e.status===`not_configured`?{status:wB[e.status]}:{status:wB[e.status],...e.default_model===void 0?{}:{model:e.default_model},...e.validated_at===void 0?{}:{lastValidated:EB(e.validated_at)},...e.status!==`invalid`||e.invalid_reason_code===void 0?{}:{issue:TB[e.invalid_reason_code]}}}function kB(e,t){let n=(t?.members??[]).map(e=>({key:e.account_ref,displayName:e.display_name,avatar:e.avatar}));return n.some(t=>t.key===e.account.account_ref)?n:[...n,{key:e.account.account_ref,displayName:e.account.display_name,avatar:e.account.avatar}]}function AB(e,t,n,r){return{connectionStatus:{label:CB[e.relay.status],tone:e.relay.status===`connected`?`live`:`warning`},project:{displayName:e.project.display_name,description:e.project.description??``,members:kB(t,r)},access:{...e.relay.join_url===void 0?{}:{inviteLink:e.relay.join_url},...e.relay.join_token_expires_at===void 0?{}:{inviteExpires:EB(e.relay.join_token_expires_at)},signedInAs:{displayName:t.account.display_name,avatar:t.account.avatar},role:DB(t.membership.label),joined:EB(t.membership.joined_at)},provider:OB(n),tutti:{version:e.server.version}}}var jB=new Intl.NumberFormat(`en-US`),MB=HC(`beethoven-ode-to-joy`);function NB(e){return[...e].reverse().map((e,t)=>{let n=MB.units[t%MB.units.length];if(n===void 0)throw Error(`Timeline score theme unexpectedly has no units`);return{...n,id:e.id,label:`Open ${e.stageLabel??e.title}`}})}function PB(e){return jB.format(e)}function FB(e){if(e!==void 0)switch(e){case`completed`:return`success`;case`failed`:return`error`;case`needs_human`:return`warning`}}function IB(e){if(e.kind===`task_accepted`)return`Task accepted`;if(e.kind===`checkpoint`)return`Checkpoint`;switch(e.update_state){case`completed`:return`Task completed`;case`failed`:return`Task failed`;case`needs_input`:return`Needs input`;default:return`Task update`}}function LB(e,t){let n=Date.parse(e.occurred_at),r=Date.parse(t.occurred_at),i=Number.isFinite(n)&&Number.isFinite(r)?r-n:t.occurred_at.localeCompare(e.occurred_at);return i===0?t.id.localeCompare(e.id):i}function RB(e,t={}){let n=e.token_usage?.total_tokens??0,r=FB(e.status),i={id:e.id,title:e.task_title??e.title,occurredAt:Mz(e.occurred_at),kind:e.kind,stageLabel:IB(e)};return r!==void 0&&(i.tone=r),n>0&&(i.tokenLabel=`${PB(n)} tokens`),e.task_id!==void 0&&(i.taskId=e.task_id),e.task_title!==void 0&&(i.taskTitle=e.task_title),e.trace_card!==void 0&&(i.trace=BB(e.trace_card,t)),i}function zB(e,t){if(e.kind===`worklist_task`&&e.task_id!==void 0){let n=t.onOpenWorklistTask,r=e.task_id;return n===void 0?void 0:()=>n(r)}if(e.kind===`chat_message`&&e.message_id!==void 0){let n=t.onOpenChatMessage,r=e.message_id;return n===void 0?void 0:()=>n(r)}if(e.kind===`reference_file`&&e.path!==void 0){let n=t.onOpenReferenceFile,r=e.path;return n===void 0?void 0:()=>n(r)}}function BB(e,t={}){return{tone:e.tone,...e.summary===void 0?{}:{summary:e.summary},...e.origin===void 0?{}:{origin:{...e.origin.title===void 0?{}:{title:e.origin.title},...e.origin.summary===void 0?{}:{summary:e.origin.summary},...e.origin.unavailable_reason===void 0?{}:{unavailableReason:e.origin.unavailable_reason},...e.origin.source_count===void 0?{}:{sourceCount:e.origin.source_count},...e.origin.snippets===void 0?{}:{snippets:e.origin.snippets.map(e=>({id:e.message_id,author:e.author,body:e.body,createdAt:Mz(e.created_at),...t.onOpenChatMessage===void 0?{}:{onClick:()=>t.onOpenChatMessage?.(e.message_id)}}))}}},...e.decisions===void 0?{}:{decisions:e.decisions.map((e,t)=>({id:`${t}:${e.source??`decision`}`,...e.title===void 0?{}:{title:e.title},summary:e.summary}))},...e.clarification===void 0?{}:{clarification:{...e.clarification.title===void 0?{}:{title:e.clarification.title},...e.clarification.summary===void 0?{}:{summary:e.clarification.summary},...e.clarification.request===void 0?{}:{request:e.clarification.request},...e.clarification.status===void 0?{}:{status:e.clarification.status},...e.clarification.answer_count===void 0?{}:{answerCount:e.clarification.answer_count},...e.clarification.answers===void 0?{}:{answers:e.clarification.answers.map(e=>({id:e.message_id,author:e.author,body:e.body,createdAt:Mz(e.created_at),...t.onOpenChatMessage===void 0?{}:{onClick:()=>t.onOpenChatMessage?.(e.message_id)}}))}}},...e.contract===void 0?{}:{contract:{goal:e.contract.goal,scope:e.contract.scope,...e.contract.truncated===void 0?{}:{truncated:e.contract.truncated}}},...e.result===void 0?{}:{result:{summary:e.result.summary,...e.result.error_code===void 0?{}:{errorCode:e.result.error_code}}},...e.changes===void 0?{}:{changes:{items:e.changes.items.map(e=>({status:e.status,path:e.path,...e.previous_path===void 0?{}:{previousPath:e.previous_path}})),totalCount:e.changes.total_count,truncated:e.changes.truncated}},...e.verification===void 0?{}:{verification:{checks:e.verification.checks,...e.verification.skip_reason_code===void 0?{}:{skipReasonCode:e.verification.skip_reason_code},...e.verification.skip_reason_summary===void 0?{}:{skipReasonSummary:e.verification.skip_reason_summary}}},...e.promotion===void 0?{}:{promotion:{status:e.promotion.status,...e.promotion.commit_short_oid===void 0?{}:{commitShortOid:e.promotion.commit_short_oid},...e.promotion.summary===void 0?{}:{summary:e.promotion.summary},...e.promotion.reason_code===void 0?{}:{reasonCode:e.promotion.reason_code}}},...e.checkpoint===void 0?{}:{checkpoint:{counters:e.checkpoint.counters,items:e.checkpoint.items.map(e=>({id:e.task_id,title:e.title,status:e.status,summary:e.summary})),...e.checkpoint.generated_files===void 0?{}:{generatedFiles:e.checkpoint.generated_files.map(e=>({id:e.path,name:e.name,path:e.path}))},...e.checkpoint.truncated===void 0?{}:{truncated:e.checkpoint.truncated}}},links:e.links.flatMap(e=>{let n=e.task_id??e.message_id??e.path,r=zB(e,t);return r===void 0?[]:[{id:`${e.kind}:${n??e.label}`,label:e.label,onClick:r}]})}}function VB(e,t={}){let n=e.usage_overview,r=[...e.items].sort(LB).map(e=>RB(e,t));return{tokenOverview:{totalLabel:PB(n.total_tokens)},items:r,scoreUnits:NB(r)}}var HB=[{id:`prepare`,label:`Preparing workspace`},{id:`implement`,label:`Implementing with Codex`},{id:`validate`,label:`Validating result`},{id:`save`,label:`Saving result`}],UB=[{id:`workspace_inspect`,summary:`inspecting the persistent project workspace`,displayStageId:`prepare`},{id:`artifact_candidate_validate`,summary:`validating the candidate Artifact preview`,displayStageId:`validate`},{id:`provider_task_run`,summary:`running Codex task implementation`,displayStageId:`implement`},{id:`provider_retry`,summary:`retrying Codex task after a transient provider failure`,displayStageId:`implement`},{id:`candidate_diff_collect`,summary:`collecting candidate changes`,displayStageId:`validate`},{id:`checks`,summary:`running project checks`,displayStageId:`validate`},{id:`post_checks_diff_collect`,summary:`rechecking candidate changes after checks`,displayStageId:`validate`},{id:`accepted_checkpoint`,summary:`saving the validated project state as an accepted checkpoint`,displayStageId:`save`},{id:`promotion_reconcile`,summary:`reconciling promotion after mainline changed`,displayStageId:`save`},{id:`self_correction`,summary:`retrying task implementation after pipeline feedback`,displayStageId:`implement`}],WB={scratchpad_refresh:{key:`scratchpad_refresh`,label:`Refreshing Scratchpad`,target:{kind:`scratchpad`}},project_context_bootstrap:{key:`project_context_bootstrap`,label:`Preparing project context`,target:{kind:`scratchpad`}},task_compile:{key:`task_compile`,label:`Compiling Worklist tasks`,target:{kind:`scratchpad`}},context_sync:{key:`context_sync`,label:`Synchronizing project context`,target:{kind:`worklist`}},reference_summary_refresh:{key:`reference_summary_refresh`,label:`Processing reference`,target:{kind:`references`}},recovery_check:{key:`recovery_check`,label:`Recovering workspace`,target:{kind:`worklist`}},follow_up_check:{key:`follow_up_check`,label:`Checking follow-up`,target:{kind:`worklist`}}},GB=`Tenso is working on`,KB=new Set([`scratchpad_refresh`]),qB=`task_compile`,JB=`project_context_bootstrap`,YB=3,XB={analyzing_task:`Analyzing the task`,searching_codebase:`Searching the codebase`,reading_files:`Reading project files`,planning:`Planning the next change`,editing_files:`Editing project files`,running_checks:`Running project checks`,running_command:`Running a project command`,using_tool:`Using a project tool`,waiting_for_approval:`Waiting for approval`,preparing_result:`Preparing the result`,reading_context:`Reading project context`,finalizing:`Preparing the result`};function ZB(e){if(e===void 0)return null;if(typeof e==`number`)return Number.isFinite(e)?e:null;if(e instanceof Date)return e.getTime();let t=Date.parse(e);return Number.isNaN(t)?null:t}function QB(e){return ZB(e.now)??Date.now()}function $B(e){if(e<60)return`${e}s`;let t=Math.floor(e/60),n=e%60;if(t<60)return`${t}m${n}s`;let r=Math.floor(t/60),i=t%60;return`${r}h${String(i).padStart(2,`0`)}m`}function eV(e,t){let n=ZB(e);if(n!==null)return $B(Math.max(0,Math.floor((QB(t)-n)/1e3)))}function tV(e,t){return eV(e.active_activity?.started_at??e.runtime?.started_at,t)}function nV(e){let t=e.runtime;if(t===void 0)return;let n=e.active_activity?.activity_ref;if(!(n!==void 0&&t.activity_ref!==n))return t}function rV(e){if(e<1e3)return String(e);if(e<1e6){let t=e/1e3;return`${e<1e5?t.toFixed(1).replace(/\.0$/u,``):String(Math.round(t))}k`}return`${(e/1e6).toFixed(1).replace(/\.0$/u,``)}m`}function iV(e){let t=aV(e);return t===void 0?[]:[t]}function aV(e){let t=e?.token_usage?.total_tokens;return t===void 0?void 0:`${rV(t)} tokens`}function oV(e){if(e?.current_action_detail!==void 0)return e.current_action_detail;let t=e?.current_action;return t===void 0?e?.token_usage===void 0?void 0:XB.analyzing_task:XB[t]}function sV(e,t){if(e?.current_action!==`analyzing_task`||e.current_action_started_at===void 0)return;let n=ZB(e.current_action_started_at);if(n===null)return;let r=Math.max(0,Math.floor((QB(t)-n)/1e3));if(!(r<YB))return`Thinking for ${$B(r)}`}function cV(e){let t={};return e.active_activity?.activity_ref!==void 0&&(t.activityRef=e.active_activity.activity_ref),e.active_activity?.workflow_ref!==void 0&&(t.workflowRef=e.active_activity.workflow_ref),e.active_task?.id!==void 0&&(t.taskId=e.active_task.id),Object.keys(t).length===0?void 0:t}function lV(e,t,n){return e===`context_sync`&&t.last_conclusion?.task_id!==void 0?{kind:`task`,taskId:t.last_conclusion.task_id}:n.target}function uV(e){return UB[gV(e)]??UB[0]}function dV(e){return HB.findIndex(t=>t.id===e)}function fV(e){return HB[dV(uV(e).displayStageId)]??HB[0]}function pV(e){if(e.status!==`running`||e.active_activity?.activity_kind!==`procedure`)return null;let t=e.active_activity.workflow_kind;if(t===void 0||KB.has(t))return null;let n=WB[t],r=lV(t,e,n);return{key:`procedure:${n.key}`,label:n.label,title:n.label,tone:`running`,target:r}}function mV(e,t){if(e.status!==`running`||e.active_activity?.activity_kind!==`procedure`)return null;let n=e.active_activity.workflow_kind;if(n===void 0||KB.has(n))return null;let r=WB[n],i=lV(n,e,r),a=cV(e),o=nV(e),s=n===qB?iV(o):[],c=n===JB?`Creating project context for the first time`:void 0,l=eV(e.active_activity?.started_at??o?.started_at,t);return{key:`procedure:${r.key}`,title:GB,summary:e.summary,tone:`running`,metaLabel:r.label,completionTarget:i,...a===void 0?{}:{completionSource:a},steps:[{id:`procedure:${r.key}:active`,label:r.label,status:`running`,...l===void 0?{}:{elapsedLabel:l},...c===void 0?{}:{detail:c},...s.length===0?{}:{metrics:s}}]}}function hV(e){let t=e.indexOf(` - `);return t===-1?``:e.slice(t+3).trim().replace(/\.$/u,``)}function gV(e){let t=hV(e).toLocaleLowerCase();if(t===``)return 0;let n=UB.findIndex(e=>t.includes(e.summary.toLocaleLowerCase()));return n===-1?0:n}function _V(e,t){if(e.status!==`running`||e.active_task===void 0)return null;let n=dV(uV(e.summary).displayStageId),r=fV(e.summary),i=cV(e),a=nV(e),o=tV(e,t);return{key:`run:${e.active_task.id}`,title:GB,summary:e.active_task.title,tone:`running`,metaLabel:r.label,completionTarget:{kind:`task`,taskId:e.active_task.id},...i===void 0?{}:{completionSource:i},steps:HB.map((e,r)=>{let i=r<n?`done`:r===n?`running`:`waiting`,s=r===n,c=e.id===`implement`,l=s&&c?oV(a):void 0,u=s&&c?aV(a):void 0,d=s&&c?sV(a,t):void 0;return{id:e.id,label:e.label,status:i,...s&&o!==void 0?{elapsedLabel:o}:{},...u===void 0?{}:{detailPrefix:u},...l===void 0?{}:{detail:l},...d===void 0?{}:{activityLabel:d}}})}}function vV(e,t){if(e.status!==`running`||e.active_activity?.workflow_kind!==`context_sync`||e.last_conclusion?.kind!==`completed`||e.last_conclusion.task_id===void 0)return null;let n=cV(e),r=tV(e,t);return{key:`context-sync:${e.last_conclusion.task_id}`,title:GB,summary:e.summary,tone:`running`,metaLabel:`Synchronizing context`,completionTarget:{kind:`task`,taskId:e.last_conclusion.task_id},...n===void 0?{}:{completionSource:n},steps:[{id:`task_complete`,label:`Task completed`,status:`done`},{id:`context_sync`,label:`Synchronizing project context`,status:`running`,...r===void 0?{}:{elapsedLabel:r}}]}}function yV(e){let t=e.blocked_by?.kind===`approval`?{kind:`approval`}:{kind:`clarification`};return{key:`pending:${e.blocked_by?.kind===`approval`?e.blocked_by.approval_id:e.blocked_by?.kind===`clarification`?e.blocked_by.round_id:e.updated_at}`,title:GB,summary:e.summary,tone:`pending`,metaLabel:`Needs input`,completionTarget:t,steps:[{id:`waiting_for_input`,label:`Needs input`,status:`pending`}]}}function bV(e){let t=e.last_conclusion?.task_id??(e.status===`failed`?e.active_task?.id:void 0);return t===void 0&&e.status!==`failed`?null:{key:`failed:${t??e.updated_at}`,title:GB,summary:e.last_conclusion?.summary??e.summary,tone:`failed`,metaLabel:`Failed`,...t===void 0?{}:{completionTarget:{kind:`task`,taskId:t}},steps:[{id:`run_failed`,label:`Run failed`,status:`failed`}]}}function xV(e,t={}){let n=_V(e,t);if(n!==null)return n;let r=vV(e,t);if(r!==null)return r;let i=mV(e,t);return i===null?e.status===`pending`?yV(e):e.status===`failed`?bV(e):null:i}function SV(e){let t=e.activeTaskCompileClarification&&!e.activeScratchpadRefreshFromSubmit&&!e.activeProjectContextBootstrap&&!e.activeTaskCompile,n=[],r=eV(e.startedAt,e);if(e.activeProjectContextBootstrap)n.push({id:`scratchpad_submit:project_context`,label:`Preparing project context`,status:`running`,...r===void 0?{}:{elapsedLabel:r},detail:`Creating project context for the first time`});else if(e.activeTaskCompile||e.activeScratchpadRefreshFromSubmit){let t=e.activeTaskCompile?iV(e.runtime):[];n.push({id:`scratchpad_submit:task_compile`,label:`Compiling Worklist tasks`,status:`running`,...r===void 0?{}:{elapsedLabel:r},...t.length===0?{}:{metrics:t}})}else n.push({id:`scratchpad_submit:task_compile`,label:`Compiling Worklist tasks`,status:t?`done`:`running`});t&&n.push({id:`scratchpad_submit:needs_input`,label:`Needs input`,status:`pending`});let i=n.find(e=>e.status===`running`||e.status===`pending`)?.label??`Compiling Worklist tasks`;return{key:`scratchpad-submit`,title:GB,summary:t?`Task compilation needs a decision before Worklist can update.`:`Preparing the Scratchpad for formal tasks.`,tone:t?`pending`:`running`,metaLabel:t?`Needs input`:i,completionTarget:t?{kind:`clarification`}:{kind:`scratchpad`},steps:n}}function CV(e,t){return{...e,key:`${e.key}:complete`,title:GB,summary:t,tone:`complete`,metaLabel:`Complete`,steps:e.steps.map(e=>({...e,status:`done`}))}}function wV(e,t){let n=e.completionSource;return n===void 0?!0:n.activityRef===void 0?n.workflowRef===void 0?n.taskId===void 0?!0:t.task_id===n.taskId:t.workflow_ref===n.workflowRef:t.activity_ref===n.activityRef}function TV(e){if(e.status===`idle`)return[];let t=[];if(e.status===`pending`){let n=e.blocked_by?.kind===`approval`?{kind:`approval`}:{kind:`clarification`};t.push({key:`pending`,label:`Needs input`,title:`Needs input`,tone:`pending`,target:n})}let n=e.last_conclusion?.kind===`failed`?e.last_conclusion.task_id:e.status===`failed`?e.active_task?.id??e.last_conclusion?.task_id:void 0;if(n!==void 0&&t.push({key:`failed`,label:`Run failed`,tone:`failed`,target:{kind:`task`,taskId:n}}),e.status===`running`&&e.active_task!==void 0){let n=fV(e.summary);t.push({key:`running`,label:n.label,title:n.label,tone:`running`,target:{kind:`task`,taskId:e.active_task.id}})}let r=pV(e);return r!==null&&t.push(r),t}var EV=`http://127.0.0.1:4370`;function DV(){return typeof window<`u`?window.location.origin:EV}function OV(){let e=`https://tenso.work`;return typeof e==`string`?e:DV()}var kV=OV(),AV={relayBaseUrl:kV},jV=3e4,Q={relayRoot:[`relay`],me:[`relay`,`me`],recentProjects:[`relay`,`projects`,`recent`],accountProjects:[`relay`,`account-projects`],projectPresence:e=>[`relay`,`projects`,e,`presence`],relayJoinRoot:[`relay`,`join`],join:e=>[`relay`,`join`,e],bootstrap:e=>[`host`,e,`bootstrap`],hostRoot:e=>[`host`,e],hostSession:e=>[`host`,e,`session`],hostWorkspace:e=>[`host`,e,`workspace`],messages:e=>[`host`,e,`messages`,`main_chat`],messagesWindow:(e,t)=>[...Q.messages(e),{limit:t}],messagesAround:(e,t,n)=>[...Q.messages(e),{around:t,limit:n}],messageHistory:(e,t,n)=>[...Q.messages(e),{history:t,limit:n}],scratchpad:e=>[`host`,e,`scratchpad`],worklist:e=>[`host`,e,`worklist`],readState:e=>[`host`,e,`read-state`],activeClarification:e=>[`host`,e,`clarification`,`active`],activeApproval:e=>[`host`,e,`approval`,`active`],noActiveClarificationRoundMessages:e=>[`host`,e,`clarification-round-messages`,`none`],clarificationRoundMessages:(e,t)=>[`host`,e,`clarification-round-messages`,t],task:(e,t)=>[`host`,e,`task`,t],taskDetail:(e,t)=>[`host`,e,`task-detail`,t],taskRunResults:(e,t)=>[`host`,e,`task-run-results`,t],executionStatus:e=>[`host`,e,`execution-status`],providerConfig:e=>[`host`,e,`provider-config`],providerUsage:e=>[`host`,e,`provider-usage`],projectTimeline:e=>[`host`,e,`project-timeline`],viewerRoot:e=>[`host`,e,`viewer`],viewerFile:(e,t)=>[`host`,e,`viewer`,`file`,t],referenceFiles:e=>[`host`,e,`references`,`files`],artifacts:e=>[`host`,e,`artifacts`],artifactPreviewSession:(e,t)=>[`relay`,e,`artifact-preview-session`,t],skills:e=>[`host`,e,`skills`],skillDetail:(e,t)=>[`host`,e,`skills`,t]};function MV(){return`${window.location.pathname}${window.location.search}${window.location.hash}`}function $(e,t={}){t.replace===!0?window.history.replaceState(null,``,e):window.history.pushState(null,``,e),window.dispatchEvent(new PopStateEvent(`popstate`))}function NV(e){let t=new URL(e,window.location.origin);$(`${t.pathname}${t.search}${t.hash}`)}function PV(){let[e,t]=(0,L.useState)(MV);return(0,L.useEffect)(()=>{let e=()=>{t(MV())};return window.addEventListener(`popstate`,e),e(),()=>{window.removeEventListener(`popstate`,e)}},[]),(0,L.useMemo)(()=>{let t=new URL(e,window.location.origin);return Fb(t.pathname,t.search)},[e])}function FV(e){return e instanceof Error?e.message:`Request failed`}function IV(e){e.invalidateQueries({queryKey:Q.me}),e.invalidateQueries({queryKey:Q.recentProjects}),e.invalidateQueries({queryKey:Q.accountProjects})}function LV(e,t){if(t!==void 0)for(let n of t)switch(n.kind){case`all`:e.invalidateQueries({queryKey:Q.relayRoot});break;case`me`:e.invalidateQueries({queryKey:Q.me});break;case`recent_projects`:e.invalidateQueries({queryKey:Q.recentProjects}),e.invalidateQueries({queryKey:Q.accountProjects});break;case`join_entries`:e.invalidateQueries({queryKey:Q.relayJoinRoot});break;case`project_presence`:Lt(n.relay_project_ref,Nt.relayProject)&&e.invalidateQueries({queryKey:Q.projectPresence(n.relay_project_ref)});break}}function RV(e){let t=$e(),n=(0,L.useMemo)(()=>Wn(AV),[]);(0,L.useEffect)(()=>{if(e)try{let e=n.connectEvents({onReady:e=>{e.payload.replay.status===`missed`&&t.invalidateQueries({queryKey:Q.relayRoot})},onInvalidate:e=>{LV(t,e)}});return()=>{e.close()}}catch{return}},[e,t,n])}function zV(e,t,n){if(n!==void 0)for(let r of n)switch(r.kind){case`all`:e.invalidateQueries({queryKey:Q.hostRoot(t)});break;case`workspace`:e.invalidateQueries({queryKey:Q.hostWorkspace(t)}),e.invalidateQueries({queryKey:Q.projectTimeline(t)});break;case`session`:e.invalidateQueries({queryKey:Q.hostSession(t)});break;case`bootstrap`:e.invalidateQueries({queryKey:Q.bootstrap(t)});break;case`messages`:r.scope===`main_chat`?e.invalidateQueries({queryKey:Q.messages(t)}):e.invalidateQueries({queryKey:Q.clarificationRoundMessages(t,r.round_id)});break;case`scratchpad`:e.invalidateQueries({queryKey:Q.scratchpad(t)});break;case`worklist`:e.invalidateQueries({queryKey:Q.worklist(t)});break;case`read_state`:e.invalidateQueries({queryKey:Q.readState(t)});break;case`task`:e.invalidateQueries({queryKey:Q.task(t,r.task_id)});break;case`task_detail`:e.invalidateQueries({queryKey:Q.taskDetail(t,r.task_id)});break;case`task_run_results`:e.invalidateQueries({queryKey:Q.taskRunResults(t,r.task_id)}),e.invalidateQueries({queryKey:Q.projectTimeline(t)});break;case`execution_status`:e.invalidateQueries({queryKey:Q.executionStatus(t)});break;case`approval`:e.invalidateQueries({queryKey:Q.activeApproval(t)});break;case`provider_config`:e.invalidateQueries({queryKey:Q.providerConfig(t)});break;case`provider_usage`:e.invalidateQueries({queryKey:Q.providerUsage(t)}),e.invalidateQueries({queryKey:Q.projectTimeline(t)});break;case`project_timeline`:e.invalidateQueries({queryKey:Q.projectTimeline(t)});break;case`viewer`:e.invalidateQueries({queryKey:Q.viewerRoot(t)}),e.invalidateQueries({queryKey:Q.projectTimeline(t)}),(r.path===void 0||r.path.startsWith(`docs/reference`))&&e.invalidateQueries({queryKey:Q.referenceFiles(t)}),r.path!==void 0&&e.invalidateQueries({queryKey:Q.viewerFile(t,r.path)});break;case`skills`:e.invalidateQueries({queryKey:Q.skills(t)});break;case`artifacts`:e.invalidateQueries({queryKey:Q.artifacts(t)});break;case`recovery_summaries`:e.invalidateQueries({queryKey:Q.projectTimeline(t)});break;case`activity`:break;case`clarification`:e.invalidateQueries({queryKey:Q.activeClarification(t)}),e.invalidateQueries({queryKey:Q.projectTimeline(t)}),r.round_id!==void 0&&e.invalidateQueries({queryKey:Q.clarificationRoundMessages(t,r.round_id)});break}}function BV(){return{items:[],window:{has_older:!1,has_newer:!1,limit:50}}}function VV(){return{modules:[]}}function HV(){return{id:`current`,state:`empty`,topic:``,background_summary:``,current_consensus:[],open_questions:[],task_changes:[],receipts:[]}}function UV(e){return{chat:e?.scopes.chat.has_unread===!0,worklist:e?.scopes.worklist.has_unread===!0,references:e?.scopes.references.has_unread===!0,skills:e?.scopes.skills.has_unread===!0}}function WV({enabled:e,hostClient:t,relayProjectRef:n,readState:r,scope:i}){let a=$e(),o=(0,L.useRef)(null),s=ht({mutationFn:e=>t.markRead({scope:i,up_to_event_cursor:e}),onSuccess:e=>{zV(a,n,e.invalidates)},onError:()=>{o.current=null}});(0,L.useEffect)(()=>{if(!e||r===void 0)return;let t=r.scopes[i];if(!t.has_unread){t.read_event_cursor>=t.latest_event_cursor&&(o.current=null);return}let n=`${i}:${t.latest_event_cursor}`;o.current===n||s.isPending||(o.current=n,s.mutate(t.latest_event_cursor))},[e,s,r,i])}function GV(){return{state:`none`}}function KV(e){return{status:`idle`,summary:`Idle`,updated_at:e}}function qV(e){return e.active_activities??(e.active_activity===void 0?[]:[e.active_activity])}function JV(e,t,n){return qV(e).some(e=>e.workflow_kind===t?n===void 0||(e.lane??`foreground`)===n:!1)}function YV(e){return e.blocked_by?.kind===`clarification`||e.blocked_by?.kind===`approval`?!0:qV(e).some(e=>e.activity_kind===`run`?!0:(e.lane??`foreground`)===`foreground`)}function XV(e,t){let n=`/projects/${encodeURIComponent(Rt(e))}/references`;return t===void 0?n:`${n}?path=${encodeURIComponent(t)}`}function ZV(e){return`/projects/${encodeURIComponent(Rt(e))}/artifacts`}function QV(e,t){let n=`/projects/${encodeURIComponent(Rt(e))}/worklist`;return t===void 0?n:`${n}?task=${encodeURIComponent(t)}`}function $V(e,t){return`${$t(e)}?message=${encodeURIComponent(t)}`}function eH(e){return`/projects/${encodeURIComponent(Rt(e))}/settings`}function tH(e){return`/projects/${encodeURIComponent(Rt(e))}/timeline`}function nH(e,t){let n=`/projects/${encodeURIComponent(Rt(e))}/skills`;return t===void 0?n:`${n}?skill=${encodeURIComponent(t)}`}function rH(e,t){switch(t.target.kind){case`approval`:case`clarification`:case`scratchpad`:return $t(e);case`worklist`:return QV(e);case`references`:return XV(e);case`task`:return QV(e,t.target.taskId)}}function iH(e,t){$(rH(e,t))}function aH(e,t){let n=dB(e);if(t!==void 0&&n.some(e=>e.id===t))return t;for(let e of[`running`,`pending`,`failed`,`todo`,`done`]){let t=n.find(t=>t.status===e);if(t!==void 0)return t.id}}function oH(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function sH(e){switch(e){case`binary`:return`Binary file`;case`too_large`:return`File too large`;case`unsupported_encoding`:return`Unsupported encoding`;case`restricted_path`:case`secret_like`:return`Restricted file`;default:return`Preview unavailable`}}function cH(e){if(!(e===void 0||e.kind===`text`))return sH(e.reason)}function lH(e){return Array.from(new Uint8Array(e)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}async function uH(e){if(globalThis.crypto?.subtle===void 0)throw Error(`This browser does not support file upload hashing.`);return`sha256:${lH(await globalThis.crypto.subtle.digest(`SHA-256`,await e.arrayBuffer()))}`}async function dH(e){if(e.file.size<=0)throw Error(`Upload file cannot be empty.`);let t=Yg(e.purpose);if(e.file.size>t)throw Error(`Upload file cannot exceed ${oH(t)}.`);let n=await uH(e.file),r=e.file.type===``?void 0:e.file.type,i=Wn(AV),a=e.purpose===`skill_zip`?{relay_project_ref:e.relayProjectRef,purpose:`skill_zip`,file_name:e.file.name,size_bytes:e.file.size,sha256:n,...r===void 0?{}:{media_type:r}}:{relay_project_ref:e.relayProjectRef,purpose:`reference_file`,file_name:e.file.name,size_bytes:e.file.size,sha256:n,...r===void 0?{}:{media_type:r}},o=await i.startUpload(a);if(o.result===void 0)throw Error(`Upload session could not be started.`);let s=new Headers(o.result.put.headers??{});r!==void 0&&!s.has(`content-type`)&&s.set(`content-type`,r);let c;try{c=await fetch(o.result.put.url,{method:o.result.put.method,headers:s,body:e.file})}catch{throw Error(`File upload failed while sending the file to upload storage. Check that R2 CORS allows PUT from this Web origin.`)}if(!c.ok)throw Error(`File upload failed while sending the file to upload storage (${c.status}).`);return{upload_id:o.result.upload.upload_id,file_name:o.result.upload.file_name,size_bytes:o.result.upload.size_bytes,sha256:o.result.upload.sha256,...o.result.upload.media_type===void 0?{}:{media_type:o.result.upload.media_type}}}function fH(e){let t=$e(),n=Ez(),[r,i]=(0,L.useState)(`identity`),[a,o]=(0,L.useState)(null),[s,c]=(0,L.useState)({email:``,displayName:``,code:``}),l=ht({mutationFn:async()=>{let e=s.email.trim(),t=await Yn(AV,{email:e});if(t.result===void 0)throw Error(`Login challenge was not returned`);return{challenge:t.result.challenge,disposition:t.disposition,email:e}},onSuccess:({challenge:e,disposition:t,email:r})=>{o(e),c(e=>({...e,code:``})),i(`code`),n.notify({tone:`success`,title:t.kind===`otp_already_pending`?`Verification email already sent`:`Verification email sent`,message:t.kind===`otp_already_pending`?`Verification email already sent to ${r}.`:`Verification email sent to ${r}.`})}}),u=ht({mutationFn:async()=>{if(a===null)throw Error(`Login challenge is missing`);return rr(AV,{challenge_ref:a.challenge_ref,code:s.code.trim()},s.email)},onSuccess:n=>{if(!n.account.profile_complete){t.invalidateQueries({queryKey:Q.me}),c(e=>({...e,displayName:``})),i(`profile`);return}IV(t),e?.()}}),d=ht({mutationFn:async()=>{let e=await Xn(AV,{display_name:s.displayName.trim()});if(e.result===void 0)throw Error(`Profile response was not returned`);return e.result.account},onSuccess:()=>{IV(t),e?.()}}),f=e=>{if(e.preventDefault(),r===`identity`&&s.email.trim()!==``){l.mutate();return}if(r===`code`&&a!==null&&s.code.trim()!==``){u.mutate();return}r===`profile`&&s.displayName.trim()!==``&&d.mutate()},p=l.isPending||u.isPending||d.isPending,m=r===`identity`?l.error:r===`code`?u.error??l.error:d.error;return{phase:r,form:s,pending:p,submitDisabled:r===`identity`?s.email.trim()===``:r===`code`?a===null||s.code.replace(/\s+/gu,``).length!==6:s.displayName.trim()===``,challengeEmailHint:a?.email_hint??null,error:m===null?null:FV(m),onChange:e=>{c(t=>({...t,...e,...e.code===void 0?{}:{code:e.code.replace(/\D/gu,``).slice(0,6)}}))},onSubmit:f,onBack:()=>{l.reset(),u.reset(),d.reset(),o(null),c(e=>({...e,code:``})),i(`identity`)}}}function pH(e){let t=$e(),[n,r]=(0,L.useState)({email:``,displayName:``,code:``}),i=ht({mutationFn:async()=>{let e=await Xn(AV,{display_name:n.displayName.trim()});if(e.result===void 0)throw Error(`Profile response was not returned`);return e.result.account},onSuccess:()=>{IV(t),e?.()}});return{phase:`profile`,form:n,pending:i.isPending,submitDisabled:n.displayName.trim()===``,challengeEmailHint:null,error:i.error===null?null:FV(i.error),onChange:e=>{r(t=>({...t,...e,...e.code===void 0?{}:{code:e.code.replace(/\D/gu,``).slice(0,6)}}))},onSubmit:e=>{e.preventDefault(),n.displayName.trim()!==``&&i.mutate()}}}function mH(e){if(typeof e.feishuWebUrl!=`string`||e.pageOrigin===void 0)return e.relayBaseUrl;try{let t=new URL(e.feishuWebUrl);if(t.username===``&&t.password===``&&t.pathname===`/`&&t.search===``&&t.hash===``&&(t.protocol===`https:`||t.protocol===`http:`&&[`localhost`,`127.0.0.1`,`[::1]`].includes(t.hostname))&&t.origin===e.pageOrigin)return t.origin}catch{}return e.relayBaseUrl}var hH={...AV,relayBaseUrl:mH({relayBaseUrl:AV.relayBaseUrl,...typeof window>`u`?{}:{pageOrigin:window.location.origin},feishuWebUrl:`https://tutti.now`})},gH=pb(hH);function _H({entryRef:e}){let[t,n]=(0,L.useState)(``),[r,i]=(0,L.useState)(!0),[a,o]=(0,L.useState)(!1),[s,c]=(0,L.useState)(!1),[l,u]=(0,L.useState)(),[d,f]=(0,L.useState)(0),p=(0,L.useRef)(!1),m=(0,L.useRef)(void 0);(0,L.useEffect)(()=>n(``),[e]),(0,L.useEffect)(()=>{let t=new AbortController;return m.current=t,p.current=!1,o(!1),i(!0),u(void 0),c(!1),mz(`connection_resolve`,async n=>{if(e===null||window.location.hash!==``)throw new Wt({message:`Invalid group entry`,code:`bad_request`,statusCode:0,retryable:!1,details:{reason_code:`connection_entry_unavailable`}});return gH.resolve(e,{signal:t.signal,diagnostics:n})}).then(e=>{t.signal.aborted||(e.kind===`bound`?$(en(e.relay_project_ref),{replace:!0}):c(!0))}).catch(e=>{t.signal.aborted||u(hz(e,az()))}).finally(()=>{t.signal.aborted||i(!1)}),()=>t.abort()},[e,d]);async function h(){if(p.current||e===null||Ky(t)===null)return;p.current=!0,o(!0),u(void 0);let r=m.current.signal;try{let i=await mz(`connection_resolve`,t=>gH.resolve(e,{signal:r,diagnostics:t}));if(r.aborted)return;if(i.kind===`bound`){n(``),$(en(i.relay_project_ref),{replace:!0});return}let a=await mz(`connection_bootstrap`,t=>gH.bootstrap(e,{signal:r,diagnostics:t}));if(r.aborted)return;let o=az(),s;try{s=await tz({appId:a.app_id,state:a.state})}catch(e){throw new rz(`h5_request_access`,e,o)}if(r.aborted)return;let c=await mz(`connection_connect`,n=>gH.connect({entry_ref:e,state:a.state,authorization_code:s,input:t},{signal:r,diagnostics:n}));if(r.aborted)return;if(c.kind!==`bound`)throw new rz(`connection_connect`,Error(`connection_not_established`));n(``),$(en(c.relay_project_ref),{replace:!0})}catch(e){r.aborted||u(hz(e,az()))}finally{m.current?.signal===r&&(p.current=!1,r.aborted||o(!1))}}return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(zb,{route:{kind:`feishu_connection`,entryRef:e}}),(0,R.jsx)(WR,{loading:r,pending:a,unbound:s,value:t,canSubmit:Ky(t)!==null,...l===void 0?{}:{error:l},onChange:n,onConnect:()=>void h(),onRefresh:()=>{p.current||f(e=>e+1)}})]})}var vH=`/assets/beethoven-symphony-5-opening-ypVy5SB4.svg`,yH=`/assets/beethoven-symphony-7-allegretto-B3bc-cZD.svg`,bH=`/assets/dvorak-symphony-9-largo-BEgNL3HB.svg`,xH=`/assets/mozart-symphony-18-allegro-B5-MrLL1.svg`,SH=`https://how.tenso.work`,CH=`${SH}/start/create-a-project#choose-model-access`,wH={href:SH,target:`_blank`,rel:`noopener noreferrer`};function TH(){return(0,R.jsxs)(mO,{children:[`New to Tenso?`,` `,(0,R.jsx)(`a`,{...wH,"aria-label":`Read the Tenso documentation (opens in a new tab)`,children:`Read the docs`}),`.`]})}function EH(){return(0,R.jsx)(Rw,{...wH,label:`Support Center`,icon:(0,R.jsx)(ix,{"aria-hidden":`true`})})}var DH=[vH,yH,bH,xH];function OH(){return DH[Math.min(DH.length-1,Math.floor(Math.random()*DH.length))]}function kH({backgroundPattern:e,children:t,...n}){let[r]=(0,L.useState)(OH);return(0,R.jsx)(UC,{...e===void 0?{backgroundImageSrc:r}:{backgroundPattern:e},...n,children:t})}function AH({actions:e,children:t,onBrandClick:n}){return(0,R.jsxs)(kH,{children:[(0,R.jsx)(WC,{brand:(0,R.jsx)(HR,{onClick:n}),actions:e}),t]})}function jH({children:e,label:t,onBrandClick:n}){return(0,R.jsx)(AH,{onBrandClick:n,children:(0,R.jsx)(KC,{"aria-label":t,children:e})})}function MH({auth:e,mobileAuth:t,onBrandClick:n}){return(0,R.jsx)(kH,{backgroundPattern:`dots`,className:`homepage-entry-page`,children:(0,R.jsx)(pO,{brand:(0,R.jsx)(HR,{onClick:n}),visual:(0,R.jsx)(JO,{assets:BR}),auth:e,mobileAuth:t,footer:(0,R.jsx)(TH,{})})})}function NH({phase:e,form:t,onChange:n}){return e===`code`?(0,R.jsx)(`div`,{className:`form-stack`,children:(0,R.jsx)(Pw,{label:`Email verification code`,children:(0,R.jsx)(Aw,{autoComplete:`one-time-code`,inputMode:`numeric`,type:`text`,value:t.code,onChange:e=>n({code:e.target.value}),placeholder:`Enter email code`,maxLength:6})})}):e===`profile`?(0,R.jsxs)(`div`,{className:`form-stack`,children:[(0,R.jsx)(Pw,{label:`Display name`,children:(0,R.jsx)(Aw,{autoComplete:`name`,type:`text`,value:t.displayName,onChange:e=>n({displayName:e.target.value}),placeholder:`username`})}),(0,R.jsx)(`p`,{className:`form-note`,children:`This name cannot be changed yet.`})]}):(0,R.jsx)(`div`,{className:`form-stack`,children:(0,R.jsx)(Pw,{label:`Email`,children:(0,R.jsx)(Aw,{autoComplete:`email`,type:`email`,value:t.email,onChange:e=>n({email:e.target.value}),placeholder:`alex@example.com`})})})}function PH({surface:e,phase:t,form:n,pending:r,error:i,submitDisabled:a,submitLabel:o,pendingLabel:s,onChange:c,onSubmit:l,onBack:u}){let d={title:t===`profile`?`Choose display name`:`Sign in`,description:t===`profile`?`Set the name your teammates will see.`:t===`code`?`Enter your email verification code.`:`Use your email to continue.`,onSubmit:l,action:(0,R.jsxs)(Sw,{type:`submit`,disabled:a||r,children:[r?s??(t===`profile`?`Saving`:t===`code`?`Verifying`:`Sending code`):o??(t===`profile`?`Save name`:t===`code`?`Verify email code`:`Send code`),(0,R.jsx)(Xb,{"aria-hidden":`true`})]}),secondaryAction:t===`code`&&u!==void 0?(0,R.jsxs)(X,{type:`button`,onClick:u,disabled:r,children:[(0,R.jsx)(Yb,{"aria-hidden":`true`}),`Change email`]}):void 0,feedback:i===null?void 0:(0,R.jsx)(Fw,{children:i}),children:(0,R.jsx)(NH,{phase:t,form:n,onChange:c})};return e===`card`?(0,R.jsx)(yk,{...d}):(0,R.jsx)(hO,{...d})}function FH(e){return(0,R.jsx)(PH,{...e,surface:`card`})}function IH(e){return(0,R.jsx)(PH,{...e,surface:`rail`})}function LH({onBrandClick:e,...t}){return(0,R.jsx)(MH,{onBrandClick:e,auth:(0,R.jsx)(IH,{...t}),mobileAuth:(0,R.jsx)(FH,{...t})})}function RH({nextKind:e,actionPending:t,loginForm:n,onRetry:r,onAccept:i,onOpen:a}){if(e===`loading`)return(0,R.jsx)(X,{type:`button`,disabled:!0,children:`Loading`});if(e===`error`)return(0,R.jsx)(X,{type:`button`,onClick:r,children:`Retry`});if(e===`invalid_or_expired`)return(0,R.jsxs)(X,{type:`button`,disabled:!0,children:[(0,R.jsx)($x,{"aria-hidden":`true`}),`Invalid invite`]});if(e===`login_required`){let e=n?.phase===`profile`?`Save name`:n?.phase===`code`?`Verify email code`:`Send code`,r=n?.phase===`profile`?`Saving`:n?.phase===`code`?`Verifying`:`Sending code`;return(0,R.jsxs)(Sw,{type:`submit`,disabled:t||n?.submitDisabled===!0,children:[t?r:e,(0,R.jsx)(Xb,{"aria-hidden":`true`})]})}return e===`accept_join`?(0,R.jsxs)(Sw,{type:`button`,disabled:t,onClick:i,children:[t?`Joining`:`Accept and open workspace`,(0,R.jsx)(Xb,{"aria-hidden":`true`})]}):e===`open_workspace`?(0,R.jsxs)(Sw,{type:`button`,disabled:t,onClick:a,children:[t?`Opening`:`Open workspace`,(0,R.jsx)(Xb,{"aria-hidden":`true`})]}):(0,R.jsxs)(X,{type:`button`,disabled:!0,children:[(0,R.jsx)(Ix,{"aria-hidden":`true`}),`Host offline`]})}function zH({nextKind:e,error:t}){return e===`loading`?null:e===`error`?(0,R.jsx)(iS,{tone:`error`,icon:(0,R.jsx)($x,{"aria-hidden":`true`}),children:t??`Invite unavailable`}):e===`invalid_or_expired`?(0,R.jsx)(iS,{tone:`error`,icon:(0,R.jsx)($x,{"aria-hidden":`true`}),children:`Join token is invalid or expired`}):e===`host_offline`?(0,R.jsx)(iS,{tone:`warning`,icon:(0,R.jsx)(Ix,{"aria-hidden":`true`}),children:`Host is offline`}):null}function BH({projectName:e,description:t,hostLabel:n,hostOnline:r,nextKind:i,accountLabel:a,membershipLabel:o,actionPending:s,error:c,loginForm:l,onBrandClick:u,onRetry:d,onAccept:f,onOpen:p}){let m=i===`login_required`&&l!==void 0;return(0,R.jsx)(jH,{label:`Join project`,onBrandClick:u,children:(0,R.jsxs)(yk,{title:`Join project`,description:t,onSubmit:e=>{if(m){l.onSubmit(e);return}e.preventDefault()},action:(0,R.jsx)(RH,{nextKind:i,actionPending:m?l.pending:s,...m?{loginForm:l}:{},onAccept:f,onOpen:p,...d===void 0?{}:{onRetry:d}}),secondaryAction:m&&l.phase===`code`&&l.onBack!==void 0?(0,R.jsxs)(X,{type:`button`,onClick:l.onBack,disabled:l.pending,children:[(0,R.jsx)(Yb,{"aria-hidden":`true`}),`Change email`]}):void 0,feedback:(0,R.jsxs)(R.Fragment,{children:[m&&l.error!==null?(0,R.jsx)(Fw,{children:l.error}):null,(0,R.jsx)(zH,{nextKind:i,error:c}),c===null||i===`error`?null:(0,R.jsx)(Fw,{children:c})]}),children:[(0,R.jsx)(bk,{projectName:e,hostLabel:n,hostOnline:r}),m?(0,R.jsx)(R.Fragment,{children:(0,R.jsx)(NH,{phase:l.phase,form:l.form,onChange:l.onChange})}):(0,R.jsx)(xk,{label:a===null?`Account`:`Signed in as`,value:a??`Sign in required`,action:o===null?null:(0,R.jsx)(`span`,{className:`quiet-link`,children:o})})]})})}var VH=`http://127.0.0.1:4370`;function HH(){let e=`https://tenso.work`;return typeof e==`string`?e:typeof window<`u`&&window.location.port!==`4372`?window.location.origin:VH}function UH(e){try{return new URL(e,HH()).toString()}catch{return e}}function WH({avatar:e,label:t,plain:n=!1,online:r=!1}){return(0,R.jsx)(XC,{label:t,tone:e.color,plain:n,online:r,initials:e.initials,...e.kind===`image`?{imageUrl:UH(e.image_url)}:{}})}function GH({label:e=`Tenso`}){return(0,R.jsx)(XC,{label:e,tone:`green`,className:`is-system`,imageUrl:zR,icon:(0,R.jsx)(Qb,{"aria-hidden":`true`})})}function KH({message:e}){return e.avatarKind===`tutti`?(0,R.jsx)(GH,{label:e.author}):(0,R.jsx)(WH,{avatar:e.avatar??{kind:`initials`,initials:O_(e.author),color:`blue`},label:e.author})}function qH({supportingContent:e,state:t,onRetry:n,onBrandClick:r,onSelectTab:i,onSelectTask:a,onCloseTask:o,onSubmitScratchpad:s,onRoundDraftChange:c,onSendRoundMessage:l,onSubmitRound:u,onDecideApproval:d,onOpenInBrowser:f,browserOpenUrl:p,onBrowserOpenLinkClick:m,scratchpadSubmitPending:h=!1,scratchpadSyncPending:g=!1,scratchpadActionsDisabled:_=!1,roundSendPending:v=!1,roundSubmitPending:y=!1,approvalDecisionPending:b=!1,browserOpenPending:x=!1}){let[S,C]=(0,L.useState)(!1);if(t.kind===`loading`)return(0,R.jsx)(TL,{brand:(0,R.jsx)(HR,{label:`Reload Tenso project`,onClick:r}),projectName:`Opening Tenso`,meta:`Feishu project`,children:(0,R.jsx)(aS,{count:3})});if(t.kind===`error`)return(0,R.jsx)(TL,{brand:(0,R.jsx)(HR,{label:`Reload Tenso project`,onClick:r}),projectName:`Tenso isn’t available`,meta:`Feishu project`,onRefresh:n,children:(0,R.jsx)(iS,{icon:(0,R.jsx)($x,{"aria-hidden":`true`}),tone:`warning`,details:(0,R.jsx)(UR,{diagnostic:t,showMessage:!1}),children:t.message})});let w=t.activeClarification??null,T=t.clarificationMessages??[],E=t.activeApproval??null;return(0,R.jsxs)(TL,{activeTab:t.activeTab,actions:w!==null||E!==null?(0,R.jsx)(X,{className:`embedded-project-status-action`,"aria-label":`Review required input`,onClick:()=>C(!0),children:(0,R.jsx)(Cw,{tone:t.projectStatus.tone??`neutral`,children:t.projectStatus.label})}):(0,R.jsx)(Cw,{tone:t.projectStatus.tone??`neutral`,children:t.projectStatus.label}),brand:(0,R.jsx)(HR,{label:`Reload Tenso project`,onClick:r}),projectName:t.projectName,showProjectName:!1,refreshing:t.refreshing,onRefresh:n,onSelectTab:i,children:[t.refreshMessage===void 0?null:(0,R.jsx)(`div`,{className:`embedded-project-refresh-message`,role:`status`,children:(0,R.jsx)(UR,{diagnostic:t.refreshMessage})}),(0,R.jsxs)(DL,{open:S&&(w!==null||E!==null),title:`Needs your input`,onClose:()=>C(!1),children:[w===null?null:(0,R.jsx)(FL,{title:w.title,summary:w.summary,request:w.request,contextLabel:w.ownerLabel,messages:T.map(e=>({id:e.id,author:e.author,body:e.body,time:e.time,avatar:(0,R.jsx)(KH,{message:e})})),replyCount:w.answerRevision??T.filter(e=>e.isClarificationAnswer??e.messageKind===`user_text`).length,draft:t.roundDraft??``,defaultOpen:!0,readOnly:w.status!==`writable`,status:w.status===`writable`?`pending`:`done`,statusLabel:w.status===`writable`?`needs input`:`submitted`,sendPending:v,submitPending:y,onDraftChange:e=>c?.(e),onSendMessage:e=>{e.preventDefault(),l?.()},onSubmitRound:()=>u?.()}),E===null?null:(0,R.jsx)(zL,{title:E.title,summary:E.summary,...E.reason===void 0?{}:{reason:E.reason},...E.detail===void 0?{}:{detail:E.detail,...E.detailLabel===void 0?{}:{detailLabel:E.detailLabel},...E.detailCode===void 0?{}:{detailCode:E.detailCode}},status:E.status,statusLabel:E.statusLabel,decisions:E.decisions,decisionPending:b,...E.resolutionLabel===void 0?{}:{resolutionLabel:E.resolutionLabel},onDecide:e=>d?.(E.approvalId,e)})]}),t.activeTab===`timeline`?(0,R.jsx)(`div`,{className:`embedded-project-supporting`,children:e}):t.activeTab===`project`?(0,R.jsx)(`div`,{className:`embedded-project-stack`,children:(0,R.jsx)(bL,{...t.scratchpad,presentation:`document`,compact:!0,empty:(0,R.jsx)(iS,{children:`Start with a conversation in the group.`}),showSubmitAction:!0,submitPending:h,syncPending:g,actionsDisabled:_||s===void 0,...s===void 0?{}:{onSubmitScratchpad:s},onOpenCompiledTask:a})}):t.activeTab===`work`?(0,R.jsx)(`div`,{className:`embedded-project-work`,children:(0,R.jsx)(JL,{layout:`sheet`,detailOpen:t.worklist.detailOpen??!1,...o===void 0?{}:{onCloseDetail:o},modules:t.worklist.modules,taskCount:t.worklist.taskCount,...t.worklist.detail===void 0?{}:{detail:t.worklist.detail},...t.worklist.detailPlaceholder===void 0?{}:{detailPlaceholder:t.worklist.detailPlaceholder},empty:(0,R.jsx)(iS,{children:`No tasks yet.`}),onSelectTask:a})}):(0,R.jsxs)(`div`,{className:`embedded-project-artifacts`,children:[(0,R.jsx)(iR,{presentation:`preview`,state:t.artifacts,error:t.artifactError??null}),(0,R.jsx)(`footer`,{className:`embedded-project-artifact-actions`,children:f===void 0?void 0:p===void 0?(0,R.jsxs)(bw,{"aria-label":x?`Opening in browser`:`Open in browser`,className:`embedded-project-browser-action`,disabled:x,onClick:f,type:`button`,variant:`quiet`,children:[x?(0,R.jsx)(Sx,{"aria-hidden":`true`,className:`is-spinning`}):(0,R.jsx)(ux,{"aria-hidden":`true`}),(0,R.jsx)(`span`,{children:x?`Opening`:`Open in browser`})]}):(0,R.jsx)(bw,{asChild:!0,className:`embedded-project-browser-action`,variant:`quiet`,children:(0,R.jsxs)(`a`,{"aria-label":`Open in browser`,href:p,onClick:m,rel:`noopener noreferrer`,target:`_blank`,children:[(0,R.jsx)(ux,{"aria-hidden":`true`}),(0,R.jsx)(`span`,{children:`Open in browser`})]})})})]})]})}function JH(e){let{form:t,onChange:n,pending:r,models:i}=e;return(0,R.jsx)(Rk,{title:`Configure your model`,description:(0,R.jsxs)(R.Fragment,{children:[`Use an`,` `,(0,R.jsx)(Iw,{href:CH,icon:(0,R.jsx)(ix,{"aria-hidden":`true`}),children:`OpenAI Responses API`}),` `,`endpoint. Credentials stay on this computer.`]}),children:(0,R.jsxs)(Fk,{children:[(0,R.jsx)(Pw,{label:`Base URL`,children:(0,R.jsx)(Aw,{type:`url`,autoComplete:`off`,disabled:r,value:t.baseUrl,onChange:e=>n({baseUrl:e.target.value}),placeholder:`Enter Provider Base URL`})}),(0,R.jsx)(Pw,{label:`API key`,children:(0,R.jsx)(Aw,{type:`password`,autoComplete:`off`,disabled:r,value:t.apiKey,onChange:e=>n({apiKey:e.target.value}),placeholder:`Enter API key`})}),(0,R.jsx)(Pw,{label:`Model`,children:(0,R.jsx)(Mw,{"aria-label":`Model`,autoComplete:`off`,value:t.model,options:i,maxVisibleOptions:8,disabled:r,onValueChange:e=>n({model:e}),placeholder:`Choose or enter a model`})}),(0,R.jsx)(X,{type:`button`,disabled:r||!t.baseUrl.trim()||!t.apiKey.trim(),onClick:e.onDiscover,children:r?`Checking models`:`Check models`})]})})}function YH({pending:e,onSignOut:t}){return(0,R.jsxs)(X,{type:`button`,onClick:t,disabled:e,children:[(0,R.jsx)(wx,{"aria-hidden":`true`}),`Sign out`]})}function XH(e){return e.existingProjectId===void 0?[`project`,`surface`,`provider`,...e.accessMode===`byok`?[`model`]:[]]:[`provider`]}function ZH(e,t){switch(e){case`project`:return t.displayName.trim()!==``&&(t.folderMode!==`existing`||t.workspacePath.trim()!==``);case`model`:return!!(t.baseUrl.trim()&&t.apiKey.trim()&&t.model.trim());default:return!0}}function QH(e){return(e.status===`online`||e.status===`reconnecting`)&&(e.provider_status===`configured`||e.provider_status===`managed`)}function $H(e){return(e.status===`stopped`||e.status===`stale`||e.status===`relay-unavailable`)&&(e.provider_status===`configured`||e.provider_status===`managed`)}function eU(e){return e.status===`online`?`online`:e.status===`reconnecting`?`connecting`:`stopped`}function tU(e,t){let n=Date.parse(e.activity_at??``),r=Date.parse(t.activity_at??``),i=Number.isNaN(n)?0:n;return(Number.isNaN(r)?0:r)-i||e.display_name.localeCompare(t.display_name,`en`)||e.project_id.localeCompare(t.project_id,`en`)}function nU({project:e,pending:t,showPrimary:n=!0,onLaunch:r,onOpen:i,onCopyInvite:a,onConnectFeishu:o,onStop:s,onAuthorize:c}){return e.status===`online`||e.status===`reconnecting`?e.surface_profile.kind===`feishu`?(0,R.jsxs)(R.Fragment,{children:[n?(0,R.jsxs)(Sw,{type:`button`,disabled:t,onClick:o,children:[(0,R.jsx)(bx,{"aria-hidden":`true`}),`Connect`]}):null,(0,R.jsxs)(X,{type:`button`,disabled:t,onClick:s,children:[(0,R.jsx)(Yx,{"aria-hidden":`true`}),`Stop`]})]}):(0,R.jsxs)(R.Fragment,{children:[n?(0,R.jsxs)(Sw,{type:`button`,disabled:t||e.open_url===void 0,onClick:i,children:[(0,R.jsx)(Xb,{"aria-hidden":`true`}),`Open`]}):null,(0,R.jsxs)(X,{type:`button`,disabled:t,onClick:a,children:[(0,R.jsx)(bx,{"aria-hidden":`true`}),`Invite`]}),(0,R.jsxs)(X,{type:`button`,disabled:t,onClick:s,children:[(0,R.jsx)(Yx,{"aria-hidden":`true`}),`Stop`]})]}):(0,R.jsxs)(R.Fragment,{children:[n?(0,R.jsxs)(X,{type:`button`,disabled:t||!$H(e),onClick:r,children:[(0,R.jsx)(zx,{"aria-hidden":`true`}),`Resume`]}):null,c===void 0||e.relay_project_ref===void 0?null:(0,R.jsx)(X,{type:`button`,disabled:t,onClick:c,children:e.provider_status===`managed`?`Authorize again`:`Use Tenso trial`})]})}function rU({createDisabled:e,packageUpdateAction:t,projectsLoading:n,onCreate:r,onPackageUpdate:i,onRefresh:a}){return(0,R.jsxs)(R.Fragment,{children:[t===void 0?null:(0,R.jsx)(Ck,{description:t.description,descriptionId:`local-console-package-update-description`,disabledTrigger:t.disabled,"aria-live":`polite`,action:(0,R.jsx)(X,{type:`button`,disabled:t.disabled,onClick:i,children:t.label})}),(0,R.jsx)(xw,{type:`button`,label:`Refresh projects`,icon:(0,R.jsx)(Rx,{"aria-hidden":`true`}),disabled:n,onClick:a}),(0,R.jsxs)(Sw,{type:`button`,disabled:e,onClick:r,children:[(0,R.jsx)(Px,{"aria-hidden":`true`}),`New project`]})]})}function iU({version:e,defaultProjectsDirectory:t=`~/Tenso`,accountName:n,projectCenterHref:r,form:i,models:a,projects:o,projectsLoading:s,sessionLoading:c,sessionError:l,createOpen:u,createStep:d,modelDiscoveryPending:f,launchPending:p,projectActionPending:m,signOutPending:h,packageUpdateAction:g,onChange:_,onCreateOpenChange:v,onCreateSubmit:y,onCreateBack:b,onChooseFolder:x,onRefresh:S,onLaunchExisting:C,onAuthorizeExisting:w,onOpenProject:T,onCopyInvite:E,onConnectFeishu:D,onFeishuConnectionOpenChange:O,onCopyFeishuCommand:k,onStopProject:A,onPackageUpdate:j,onSignOut:ee,feishuConnection:M,managedPrepared:te=!1,managedStage:N,creditNote:P,onDiscoverModels:F,renderSurface:ne}){let re=XH(i),ie=te,ae=re.indexOf(d),oe=ae===re.length-1,se=f||p,I=ZH(d,i),ce=o.filter(QH).sort(tU),le=o.filter($H).sort(tU),ue=[...ce,...le],de=e=>(0,L.createElement)(Bk,{title:e.display_name,status:eU(e),path:e.workspace_path,createdLabel:kz(e.created_at),...e.provider_model?.trim()?{modelLabel:e.provider_model.trim()}:{},...e.surface_profile.kind===`feishu`?{surfaceLabel:`Feishu`}:{},actions:(0,R.jsx)(nU,{project:e,pending:m===e.project_id,onLaunch:()=>C(e),onOpen:()=>T(e),onCopyInvite:()=>E(e),onConnectFeishu:()=>D(e),onStop:()=>A(e),...w===void 0?{}:{onAuthorize:()=>w(e)}}),key:e.project_id}),fe=(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(Pk,{open:u,onOpenChange:v,steps:re.map(e=>e===`surface`?`Collaborate`:e[0].toUpperCase()+e.slice(1)),currentStep:Math.max(0,ae),closeDisabled:se,explicitCloseOnly:!0,onSubmit:y,backAction:ie||ae===0?void 0:(0,R.jsxs)(X,{type:`button`,disabled:se,onClick:b,children:[(0,R.jsx)(Yb,{"aria-hidden":`true`}),`Back`]}),action:(0,R.jsxs)(Sw,{type:`submit`,disabled:!I||se||c||N===`checking`,children:[oe?(0,R.jsx)(zx,{"aria-hidden":`true`}):(0,R.jsx)(Xb,{"aria-hidden":`true`}),ie?N===`checking`?`Checking access`:N===`validating`?`Checking model access`:N===`launching`?`Starting project`:`Check and continue`:oe?p?`Preparing`:`Launch and continue`:i.existingProjectId===void 0?`Continue`:`Launch and continue`]}),children:[d===`project`?(0,R.jsx)(Rk,{title:`What would you like to make?`,children:(0,R.jsxs)(Fk,{children:[(0,R.jsx)(Pw,{label:`Project name`,className:`local-console-field-wide`,children:(0,R.jsx)(Aw,{autoComplete:`off`,value:i.displayName,maxLength:80,onChange:e=>_({displayName:e.target.value}),placeholder:`Give your project a name`,autoFocus:!0})}),(0,R.jsx)(`div`,{className:`local-console-field-wide local-console-field-group-body`,children:i.folderMode===`new`?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`p`,{children:[`Tenso will create a folder for your project in`,` `,(0,R.jsx)(`strong`,{children:i.parentDirectory||t}),`.`]}),(0,R.jsxs)(`details`,{className:`product-disclosure`,children:[(0,R.jsx)(`summary`,{children:`Change location`}),(0,R.jsxs)(`div`,{className:`local-console-field-group-body`,children:[(0,R.jsxs)(Ik,{children:[(0,R.jsx)(Aw,{"aria-label":`Save projects in`,autoComplete:`off`,value:i.parentDirectory,placeholder:t,onChange:e=>_({parentDirectory:e.target.value})}),(0,R.jsxs)(X,{type:`button`,onClick:x,children:[(0,R.jsx)(hx,{"aria-hidden":`true`}),`Choose location`]})]}),i.parentDirectory?(0,R.jsx)(X,{type:`button`,onClick:()=>_({parentDirectory:``}),children:`Use default location`}):null]})]}),(0,R.jsx)(X,{type:`button`,onClick:()=>_({folderMode:`existing`}),children:`Use an existing project folder`})]}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Pw,{label:`Existing project folder`,children:(0,R.jsxs)(Ik,{children:[(0,R.jsx)(Aw,{"aria-label":`Existing project folder`,autoComplete:`off`,value:i.workspacePath,placeholder:`Choose the folder containing your project`,onChange:e=>_({workspacePath:e.target.value})}),(0,R.jsxs)(X,{type:`button`,onClick:x,children:[(0,R.jsx)(hx,{"aria-hidden":`true`}),`Choose folder`]})]})}),(0,R.jsx)(`p`,{children:`Tenso will work in this folder, using the files already there.`}),(0,R.jsx)(X,{type:`button`,onClick:()=>_({folderMode:`new`}),children:`Create a new folder instead`})]})}),(0,R.jsxs)(`details`,{className:`local-console-field-wide product-disclosure`,children:[(0,R.jsx)(`summary`,{children:`Add a description (optional)`}),(0,R.jsx)(Pw,{label:`Project description`,children:(0,R.jsx)(jw,{value:i.description,maxLength:160,onChange:e=>_({description:e.target.value}),placeholder:`What would you like to build?`})})]})]})}):null,d===`provider`&&!ie?(0,R.jsxs)(R.Fragment,{children:[i.existingProjectId===void 0?null:(0,R.jsxs)(`p`,{children:[`Enable trial access for `,i.displayName,`. Files and collaboration surface stay unchanged. Switching from a custom endpoint starts new model sessions; existing sessions are not moved to another model.`]}),(0,R.jsx)(ek,{value:i.accessMode,onValueChange:e=>_({accessMode:e}),tuttiLogo:(0,R.jsx)(Ow,{src:RR}),customIcon:(0,R.jsx)(Nx,{"aria-hidden":`true`}),creditNote:P,disabled:se,customDisabled:i.existingProjectId!==void 0}),i.accessMode===`managed`?(0,R.jsx)(aU,{}):null]}):null,d===`model`?(0,R.jsx)(JH,{form:i,models:a,pending:se,onChange:_,onDiscover:F}):null,ie?(0,R.jsx)(Rk,{title:`Starting your project`,description:`Tenso will check model access and start this project. If a check fails, your setup is kept here.`,children:(0,R.jsx)(rk,{items:[{label:`Project`,value:i.displayName},{label:`Folder`,value:i.workspacePath,mono:!0},{label:`Model access`,value:`Tenso credit`}]})}):null,d===`surface`&&!ie?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(tk,{value:i.surface,disabled:se,onValueChange:e=>_({surface:e}),tuttiLogo:(0,R.jsx)(Ow,{src:RR}),feishuIcon:(0,R.jsx)(Dx,{"aria-hidden":`true`})}),(0,R.jsx)(`p`,{children:`Each project uses one collaboration surface. This choice cannot be changed later.`})]}):null]}),M===null?null:(0,R.jsx)(Ok,{open:!0,onOpenChange:O,projectName:M.projectName,state:M.state,...M.command===void 0?{}:{command:M.command},...M.unavailableMessage===void 0?{}:{unavailableMessage:M.unavailableMessage},onCopyCommand:k})]});return ne?ne(fe):(0,R.jsx)(AH,{onBrandClick:S,children:(0,R.jsxs)(GC,{children:[(0,R.jsxs)(Sk,{className:`local-console-card`,title:`Projects`,accountName:n,accountAction:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(X,{asChild:!0,children:(0,R.jsx)(`a`,{href:new URL(`/projects?panel=credits`,r).toString(),target:`_blank`,rel:`noopener noreferrer`,children:`Credits`})}),(0,R.jsx)(YH,{pending:h,onSignOut:ee})]}),"aria-label":`Tenso Local Console`,children:[(0,R.jsx)(Tk,{items:[{id:`joined`,label:`Your projects`,href:r},{id:`local`,label:`This computer`,href:`/console`,current:!0}],action:(0,R.jsx)(rU,{createDisabled:c||l!==null,projectsLoading:s,onCreate:()=>v(!0),onPackageUpdate:j,onRefresh:S,...g===void 0?{}:{packageUpdateAction:g}})}),(0,R.jsx)(Ak,{"aria-label":`Projects on this computer`,children:s||c?(0,R.jsx)(jk,{"aria-label":`Loading local projects`,children:(0,R.jsx)(aS,{})}):l===null?ue.length===0?(0,R.jsx)(jk,{children:(0,R.jsx)(iS,{children:`No available projects on this computer.`})}):ue.map(de):(0,R.jsx)(jk,{children:(0,R.jsx)(iS,{children:l})})}),e===void 0?null:(0,R.jsxs)(`footer`,{className:`local-console-version`,"aria-label":`Tenso version ${e}`,children:[`Tenso `,e]})]}),fe]})})}function aU(){return(0,R.jsx)(`p`,{children:`Launching uses your signed-in account's Tenso credit for this team's AI work, including background tasks on this computer. You can revoke access in Account. Test credit only; no payment is enabled.`})}function oU({onBrandClick:e,sessionError:t=null,...n}){let r={...n,error:n.error??t};return(0,R.jsx)(MH,{onBrandClick:e,auth:(0,R.jsx)(IH,{...r}),mobileAuth:(0,R.jsx)(FH,{...r})})}function sU(e,t,n){let r=n.trim().toLocaleLowerCase(`en`),i=e.filter(e=>(t===`account`?e.account!==void 0:e.local!==void 0)&&e.title.toLocaleLowerCase(`en`).includes(r)),a=e=>t===`computer`?e.local?.status===`online`||e.local?.status===`reconnecting`:e.account?.hostStatus===`online`;return t===`computer`&&i.sort((e,t)=>{let n=e=>Date.parse(e.local?.activity_at??``)||0;return n(t)-n(e)||e.title.localeCompare(t.title,`en`)||e.key.localeCompare(t.key,`en`)}),{available:i.filter(a),unavailable:i.filter(e=>!a(e))}}function cU(e,t,n){let r=t.filter(e=>![`workspace-missing`,`workspace-replaced`,`invalid`].includes(e.status)&&(e.provider_status===`configured`||e.provider_status===`managed`)),i=e.map(e=>({key:`account:${e.relayProjectRef}`,title:e.displayName,surface:e.surface??`standalone`,account:e})),a=[];for(let e of r){let t=i.filter(t=>e.relay_origin===n&&e.relay_project_ref!==void 0&&t.account?.relayProjectRef===e.relay_project_ref&&t.surface===e.surface_profile.kind),o=r.filter(t=>t.relay_origin===e.relay_origin&&t.relay_project_ref===e.relay_project_ref);t.length===1&&o.length===1?t[0].local=e:a.push({key:`local:${e.project_id}`,title:e.display_name,surface:e.surface_profile.kind,local:e})}return[...i,...a]}function lU(e){let[t,n]=(0,L.useState)(!1),[r,i]=(0,L.useState)(``),[a,o]=(0,L.useState)(null),[s,c]=(0,L.useState)(!1),l=e.local,u=l!==void 0&&l.sessionError===null,d=t&&u;(0,L.useEffect)(()=>{u||(n(!1),i(``),o(null),c(!1))},[u]);let f=e=>{e!==d&&(n(e),i(``),c(!1),o(null))},{available:p,unavailable:m}=sU(cU(e.projects,u?l.projects:[],e.relayOrigin??``),d?`computer`:`account`,r),h=[...p,...s?m:[]].some(e=>e.key===a);(0,L.useEffect)(()=>{h||o(null)},[h]);let g=e=>{f(!0),c(e.local?.status!==`online`&&e.local?.status!==`reconnecting`),o(e.key)},_=t=>{if(d&&t.local&&l){let e=t.local,n=l.projectActionPending!==null||l.launchPending;return e.status===`online`||e.status===`reconnecting`?t.surface===`feishu`?(0,R.jsx)(X,{type:`button`,disabled:n,onClick:()=>l.onConnectFeishu(e),children:`Connect`}):(0,R.jsx)(X,{type:`button`,disabled:n||!e.open_url,onClick:()=>l.onOpenProject(e),children:`Open`}):(0,R.jsx)(X,{type:`button`,disabled:n,onClick:()=>l.onLaunchExisting(e),children:`Resume`})}return t.account?.canOpen?(0,R.jsx)(X,{type:`button`,disabled:e.openPending,onClick:()=>e.onOpenProject(t.account.relayProjectRef),children:`Open`}):t.surface===`feishu`?(0,R.jsx)(`span`,{children:`In Feishu`}):null},v=t=>(0,R.jsx)(dk,{title:t.title,status:d?t.local?.status===`online`?`online`:t.local?.status===`reconnecting`?`connecting`:`stopped`:t.account.hostStatus,meta:`${t.surface===`feishu`?`Feishu`:`Tenso Workspace`} · ${t.account?.membershipLabel??`Local only`}`,local:!d&&!!t.local,selected:t.key===a,onSelect:()=>o(e=>e===t.key?null:t.key),action:_(t),children:(0,R.jsxs)(fk,{title:t.title,actions:(0,R.jsxs)(R.Fragment,{children:[d&&t.local&&l?(0,R.jsx)(nU,{project:t.local,showPrimary:!1,pending:l.projectActionPending!==null||l.launchPending,onLaunch:()=>l.onLaunchExisting(t.local),onOpen:()=>l.onOpenProject(t.local),onCopyInvite:()=>l.onCopyInvite(t.local),onConnectFeishu:()=>l.onConnectFeishu(t.local),onStop:()=>l.onStopProject(t.local),...l.onAuthorizeExisting?{onAuthorize:()=>l.onAuthorizeExisting(t.local)}:{}}):null,!d&&t.local?(0,R.jsx)(X,{type:`button`,onClick:()=>g(t),children:`Manage on this computer`}):null,t.account?(0,R.jsx)(X,{type:`button`,onClick:()=>e.onProjectDetails?.(t.account),children:`Project settings`}):null]}),children:[(0,R.jsx)(`p`,{children:t.surface===`feishu`?`Collaboration happens in your Feishu group.`:`Your shared Tenso workspace.`}),d&&t.local?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`p`,{children:t.local.workspace_path}),(0,R.jsx)(`p`,{children:t.local.status===`online`||t.local.status===`reconnecting`?`Running on this computer`:`Stopped on this computer`})]}):null]})},`${d?`computer`:`account`}:${t.key}`);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(sk,{brand:(0,R.jsx)(HR,{onClick:e.onBrandClick}),account:e.accountActions??(e.account?(0,R.jsx)(YH,{pending:e.logoutPending,onSignOut:e.onLogout}):null),actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(X,{type:`button`,onClick:()=>e.onJoinOpenChange(!0),children:`Join project`}),u?(0,R.jsxs)(Sw,{type:`button`,disabled:l.sessionLoading,onClick:()=>l.onCreateOpenChange(!0),children:[(0,R.jsx)(Px,{"aria-hidden":`true`}),`New project`]}):(0,R.jsx)(Sw,{asChild:!0,children:(0,R.jsxs)(`a`,{href:e.localScopeHref,onClick:e.onRequestNewProject??e.onLocalScopeSelect,children:[(0,R.jsx)(Px,{"aria-hidden":`true`}),`New project`]})})]}),toolbar:{local:d,connected:u,onLocalChange:f,search:r,onSearchChange:e=>{i(e),c(!!e.trim())}},rail:(0,R.jsx)(pk,{state:u?`connected`:e.connectionState===`lost`?`lost`:`disconnected`,...l?.version?{version:l.version}:{},children:u?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(uk,{children:[(0,R.jsx)(xw,{type:`button`,label:`Refresh projects`,icon:(0,R.jsx)(Rx,{"aria-hidden":`true`}),disabled:l.projectsLoading,onClick:l.onRefresh}),(0,R.jsx)(X,{type:`button`,onClick:e.onDisconnect,children:`Disconnect`})]}),l.packageUpdateAction?(0,R.jsx)(X,{type:`button`,disabled:l.packageUpdateAction.disabled,onClick:l.onPackageUpdate,title:l.packageUpdateAction.description,children:l.packageUpdateAction.label}):null]}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Sw,{asChild:!0,children:(0,R.jsx)(`a`,{href:e.localScopeHref,onClick:e.onLocalScopeSelect,children:`Connect this computer`})}),(0,R.jsx)(X,{asChild:!0,children:(0,R.jsx)(`a`,{href:`tenso://projects`,children:`Open Local Console`})})]})}),children:[(d?l.projectsLoading:e.loading)?(0,R.jsx)(aS,{}):null,!d&&e.error?(0,R.jsx)(iS,{tone:`error`,children:e.error}):null,!(d?l.projectsLoading:e.loading)&&p.length+m.length===0?(0,R.jsx)(iS,{children:r?`No matching projects.`:`No projects yet.`}):null,p.map(v),m.length>0?(0,R.jsx)(lk,{label:d?`Not running`:`Currently unavailable`,count:m.length,open:s,onOpenChange:c,children:m.map(v)}):null,!d&&e.truncated?(0,R.jsx)(iS,{children:`Only your 100 most recent account projects are shown.`}):null]}),e.localDialogs,(0,R.jsx)(Nk,{open:e.joinOpen,onOpenChange:e.onJoinOpenChange,inputLabel:`Invitation link or message`,placeholder:`Paste an invitation link or message`,value:e.joinLinkForm.value,error:e.joinLinkForm.error,onValueChange:e.joinLinkForm.onChange,"aria-label":`Join a project`,onSubmit:t=>{t.preventDefault(),e.joinLinkForm.onSubmit()}}),(0,R.jsx)(Dk,{open:e.localHandoffOpen,onOpenChange:e.onLocalHandoffOpenChange,status:e.localHandoffStatus,description:e.localHandoffStatus===`failed`?`Connection was not completed. Allow local network access if prompted, or update Tenso and try again. Open Local Console is available as a fallback.${e.connectionDiagnostic?` Diagnostic: ${e.connectionDiagnostic}`:``}`:`Open Tenso when prompted. Allow this page to connect to your local network if your browser asks.`,command:`npm install -g @xfey/tenso && tenso`,onCopyCommand:e.onCopyLaunchCommand,retryHref:e.localHandoffRetryHref,onRetry:e.onLocalScopeSelect})]})}function uU({form:e,pending:t,tokenMissing:n,onChange:r}){return(0,R.jsxs)(`div`,{className:`form-stack`,children:[(0,R.jsx)(Pw,{label:`Project name`,children:(0,R.jsx)(Aw,{autoComplete:`off`,disabled:t||n,type:`text`,value:e.projectName,onChange:e=>r({projectName:e.target.value}),placeholder:`My project`})}),(0,R.jsx)(Pw,{label:`OpenAI API key`,children:(0,R.jsx)(Aw,{autoComplete:`off`,disabled:t||n,type:`password`,value:e.apiKey,onChange:e=>r({apiKey:e.target.value}),placeholder:`sk-...`})}),(0,R.jsx)(Pw,{label:`Base URL`,children:(0,R.jsx)(Aw,{autoComplete:`off`,disabled:t||n,type:`url`,value:e.baseUrl,onChange:e=>r({baseUrl:e.target.value}),placeholder:`https://api.openai.com/v1`})}),(0,R.jsx)(Pw,{label:`Default model`,children:(0,R.jsx)(Aw,{autoComplete:`off`,disabled:t||n,type:`text`,value:e.defaultModel,onChange:e=>r({defaultModel:e.target.value}),placeholder:`gpt-5.5`})})]})}function dU({form:e,statusLabel:t,configured:n,loading:r,pending:i,openProjectPending:a=!1,tokenMissing:o,error:s,success:c,onChange:l,onSubmit:u,onRetry:d,onBrandClick:f}){let p=i||a;return(0,R.jsx)(jH,{label:`Project setup`,onBrandClick:f,children:(0,R.jsxs)(yk,{title:`Project setup`,description:`Configure the provider for this project.`,size:`wide`,onSubmit:u,action:o?(0,R.jsxs)(X,{type:`button`,disabled:!0,children:[(0,R.jsx)($x,{"aria-hidden":`true`}),`Missing token`]}):s!==null&&r?(0,R.jsx)(X,{type:`button`,onClick:d,children:`Retry`}):a?(0,R.jsxs)(X,{type:`button`,disabled:!0,children:[(0,R.jsx)(Xb,{"aria-hidden":`true`}),`Opening project`]}):(0,R.jsxs)(Sw,{type:`submit`,disabled:i||e.apiKey.trim()===``||e.projectName.trim()===``,children:[i?`Saving`:`Save provider`,(0,R.jsx)(Vx,{"aria-hidden":`true`})]}),feedback:(0,R.jsxs)(R.Fragment,{children:[c===null?null:(0,R.jsx)(iS,{icon:(0,R.jsx)(rx,{"aria-hidden":`true`}),children:c}),s===null?null:(0,R.jsx)(Fw,{children:s})]}),children:[(0,R.jsx)(bk,{projectName:`OpenAI provider`,hostLabel:t,hostOnline:n,members:(0,R.jsx)(yx,{"aria-hidden":`true`})}),(0,R.jsx)(xk,{label:`Status`,value:r?`Loading`:t,action:n?(0,R.jsx)(rx,{"aria-hidden":`true`}):null}),(0,R.jsx)(uU,{form:e,pending:p,tokenMissing:o,onChange:l})]})})}function fU({tone:e}){return e===`pending`?(0,R.jsx)($x,{"aria-hidden":`true`}):e===`failed`?(0,R.jsx)(ax,{"aria-hidden":`true`}):e===`done`?(0,R.jsx)(ex,{"aria-hidden":`true`}):(0,R.jsx)(Sx,{"aria-hidden":`true`})}function pU({members:e}){return e===void 0||e.length===0?null:(0,R.jsx)(ZC,{"aria-label":`Members`,children:e.map(e=>(0,R.jsx)(WH,{avatar:e.avatar,label:e.displayName},e.key))})}function mU({activePage:e,statusShortcuts:t,unread:n,artifactSignal:r,mobileContext:i,rail:a,children:o,onOpenProjectCenter:s,onOpenChat:c,onOpenWorklist:l,onOpenReferences:u,onOpenArtifacts:d,onOpenSkills:f,onOpenTimeline:p,onOpenSettings:m,onActivateStatusShortcut:h,getStatusShortcutAriaControls:g}){let _=e!==`chat`&&n?.chat===!0,v=e!==`worklist`&&n?.worklist===!0,y=r?.status===`live`,b=e!==`references`&&n?.references===!0,x=e!==`skills`&&n?.skills===!0;return(0,R.jsx)(qC,{children:(0,R.jsx)(JC,{...a===void 0?{}:{rail:a},children:(0,R.jsx)(YC,{className:`is-headerless`,sidebar:(0,R.jsxs)(Lw,{brand:(0,R.jsx)(VR,{...s===void 0?{}:{onClick:s}}),mobileTitle:i.title,...i.meta===void 0?{}:{mobileMeta:i.meta},...i.action===void 0?{}:{mobileAction:i.action},...t.length===0?{}:{status:t.map(e=>(0,L.createElement)(Bw,{icon:(0,R.jsx)(fU,{tone:e.tone}),label:e.label,tone:e.tone,onClick:()=>h?.(e),...g?.(e)===void 0?{}:{"aria-controls":g(e)},key:e.key}))},footer:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(EH,{}),(0,R.jsx)(zw,{icon:(0,R.jsx)(Wx,{"aria-hidden":`true`}),label:`Settings`,active:e===`settings`,onClick:e===`settings`?void 0:m})]}),children:[(0,R.jsx)(zw,{icon:(0,R.jsx)(XI,{"aria-hidden":`true`}),label:`Chat`,active:e===`chat`,badge:_?{label:`Unread messages`}:!1,onClick:e===`chat`?void 0:c}),(0,R.jsx)(zw,{icon:(0,R.jsx)(xx,{"aria-hidden":`true`}),label:`Worklist`,active:e===`worklist`,badge:v?{label:`Unread worklist updates`}:!1,onClick:e===`worklist`?void 0:l}),(0,R.jsx)(zw,{icon:(0,R.jsx)(kx,{"aria-hidden":`true`}),label:`Artifacts`,active:e===`artifacts`,badge:y?{label:`Live preview available`,text:`Live`,variant:`pill`}:!1,onClick:e===`artifacts`?void 0:d}),(0,R.jsx)(zw,{icon:(0,R.jsx)(px,{"aria-hidden":`true`}),label:`References`,active:e===`references`,badge:b?{label:`New reference files`}:!1,onClick:e===`references`?void 0:u}),(0,R.jsx)(zw,{icon:(0,R.jsx)(qx,{"aria-hidden":`true`}),label:`Skills`,active:e===`skills`,badge:x?{label:`New skill updates`}:!1,onClick:e===`skills`?void 0:f}),(0,R.jsx)(zw,{icon:(0,R.jsx)($b,{"aria-hidden":`true`}),label:`Timeline`,active:e===`timeline`,onClick:e===`timeline`?void 0:p})]}),children:o})})})}function hU(){return(0,R.jsx)(Dw,{src:RR,className:`empty-state-brand-logo`})}function gU(e){return(0,R.jsx)(iS,{watermark:(0,R.jsx)(hU,{}),...e})}var _U=`tutti.execution-score-themes.v1`,vU=40,yU={assignments:[],bag:[]};function bU(){return{assignments:[],bag:[]}}function xU(){try{return typeof window>`u`?null:window.sessionStorage}catch{return null}}function SU(e,t){if(typeof e!=`object`||!e)return null;let n=e;if(!Array.isArray(n.assignments)||!Array.isArray(n.bag))return null;let r=n.assignments.filter(e=>typeof e==`object`&&!!e&&typeof e.identity==`string`&&t.has(String(e.themeId))),i=n.bag.filter(e=>typeof e==`string`&&t.has(e)),a=typeof n.recent==`string`&&t.has(n.recent)?n.recent:void 0;return{assignments:r,bag:i,...a===void 0?{}:{recent:a}}}function CU(e,t){if(e===null)return yU;try{let n=e.getItem(_U);return n===null?bU():SU(JSON.parse(n),t)??bU()}catch{return yU}}function wU(e,t){if(yU=t,e!==null)try{e.setItem(_U,JSON.stringify(t))}catch{}}function TU(e,t,n){let r=e.map(e=>e.id);for(let e=r.length-1;e>0;--e){let t=Math.min(e,Math.max(0,Math.floor(n()*(e+1))));[r[e],r[t]]=[r[t],r[e]]}if(r.length>1&&r[0]===t){let e=r.findIndex(e=>e!==t);[r[0],r[e]]=[r[e],r[0]]}return r}function EU(e,t={}){let n=t.themes??VC;if(n.length===0)throw Error(`Execution score themes are unavailable`);let r=new Map(n.map(e=>[e.id,e])),i=new Set(r.keys()),a=t.storage===void 0?xU():t.storage,o=CU(a,i),s=o.assignments.find(t=>t.identity===e),c=s===void 0?void 0:r.get(s.themeId);if(c!==void 0)return c;let l=t.random??Math.random,u=o.bag.length>0?[...o.bag]:TU(n,o.recent,l),d=u.shift(),f=d===void 0?void 0:r.get(d);if(f===void 0)throw Error(`Execution score themes are unavailable`);return wU(a,{assignments:[...o.assignments,{identity:e,themeId:f.id}].slice(-vU),bag:u,recent:f.id}),f}function DU(e){return`round-card-${e}`}function OU(e){return`approval-card-${e}`}function kU(e){return`chat-message-${e}`}var AU=`workspace-scratchpad`,jU=720,MU=80,NU=160,PU=96,FU=160,IU=2;function LU(e){return e.completionSource?.activityRef??e.completionSource?.workflowRef??e.completionSource?.taskId??e.key}function RU({progress:e}){let t=LU(e),[n]=(0,L.useState)(()=>EU(t)),r=(0,L.useRef)(t),i=(0,L.useRef)(e.tone),[a,o]=(0,L.useState)(null);if((0,L.useEffect)(()=>{let n=r.current,a=i.current;if(r.current=t,i.current=e.tone,e.tone!==`running`||a===`pending`||n===t){o(null);return}o(t);let s=window.setTimeout(()=>{o(e=>e===t?null:e)},jU);return()=>{window.clearTimeout(s)}},[e.tone,t]),e.tone===`running`||e.tone===`pending`||e.tone===`complete`){let r=e.tone===`running`&&a===t,i=e.steps.find(e=>e.status===`running`||e.status===`pending`)??e.steps.at(-1),o=e.completionTarget?.kind===`task`?`Task completed`:`Procedure completed`,s=e.tone===`complete`?void 0:i?.detail??(e.tone===`pending`?e.summary:void 0),c=e.tone===`complete`?void 0:i?.detailPrefix,l=e.tone===`complete`?void 0:i?.activityLabel,u=e.tone===`complete`?void 0:i?.elapsedLabel,d=e.tone===`complete`?void 0:i?.metrics,f=e.tone===`running`&&i?.id===`implement`&&s!==void 0;return(0,R.jsx)(CC,{stageLabel:r?`Loading the next movement…`:e.tone===`complete`?o:i?.label??e.summary,...r||s===void 0?{}:{stageDetail:s},...r||c===void 0?{}:{stageDetailPrefix:c},...r||l===void 0?{}:{stageActivity:l},...r||!f?{}:{detailMode:`live`},...r||u===void 0?{}:{elapsedLabel:u},...r||d===void 0?{}:{metrics:d},scoreLabel:r?`Loading the next movement score`:e.tone===`complete`?`${o} score cadence`:e.tone===`pending`?`Execution score paused while waiting for input`:`${i?.label??`Execution`} running score using ${n.shortName}`,state:r?`handoff`:e.tone===`complete`?`complete`:e.tone===`pending`?`paused`:`running`,units:n.units,playbackBpm:n.tempo,openingClef:n.clef,keySignatureFifths:n.keySignatureFifths,timeSignature:n.meter})}return(0,R.jsx)(wL,{title:e.title,summary:e.summary,tone:e.tone,steps:e.steps,...e.metaLabel===void 0?{}:{metaLabel:e.metaLabel}})}function zU(e){if(e===void 0)return null;let t=Date.parse(e);return Number.isNaN(t)?null:t}function BU(e,t){if(e===null)return null;let n=zU(e.requestedAt);if(n===null)return t.length;let r=t.findIndex(e=>{let t=zU(e.createdAt);return t!==null&&t>n});return r===-1?t.length:r}function VU(e,{focusSelector:t}={}){let n=typeof document>`u`?null:document.getElementById(e);n!==null&&(n.scrollIntoView({block:`center`}),t!==void 0&&n.querySelector(t)?.focus({preventScroll:!0}))}function HU(e){return e.messageKind===`system_notice`&&e.workflowRef!==void 0&&(e.body.startsWith(`Worklist updated with `)||e.body===`Worklist is already covered by existing tasks.`)}function UU(e,t){if(t===void 0)return;let n=t.label.trim(),r=t.handle?.trim()??n;if(n===``||r===``)return;let i=r.toLocaleLowerCase();e.has(i)||e.set(i,{id:t.id,label:n,handle:r})}function WU({members:e,messages:t,clarificationMessagesByRoundId:n}){let r=new Map;UU(r,{id:`tutti`,label:`Tenso`,handle:`tenso`});for(let t of e)UU(r,{id:t.key,label:t.displayName});for(let e of t)UU(r,{id:`message:${e.author}`,label:e.author,...e.avatarKind===`tutti`?{handle:`tenso`}:{}});for(let e of Object.values(n))for(let t of e)UU(r,{id:`round-message:${t.author}`,label:t.author,...t.avatarKind===`tutti`?{handle:`tenso`}:{}});return[...r.values()]}function GU({message:e}){return e.avatarKind===`tutti`?(0,R.jsx)(GH,{label:e.author}):(0,R.jsx)(WH,{avatar:e.avatar??{kind:`initials`,initials:O_(e.author),color:`blue`},label:e.author,online:e.online})}function KU({projectName:e,projectDescription:t=``,members:n,messages:r,scratchpad:i,executionProgress:a=null,activeApproval:o=null,activeClarification:s,clarificationMessagesByRoundId:c,statusShortcuts:l,unread:u,artifactSignal:d,draft:f,roundDraft:p,sendPending:m,scratchpadSyncPending:h=!1,scratchpadActionsDisabled:g=!1,scratchpadSubmitPending:_=!1,referenceUploadPending:v=!1,focusMessageId:y=null,messageHistoryIdentity:b=`latest`,initialMessagePosition:x=y===null?`latest`:`focus`,hasOlderMessages:S=!1,hasNewerMessages:C=!1,loadingOlderMessages:w=!1,loadingNewerMessages:T=!1,historyConnectedToLatest:E=!0,roundSendPending:D=!1,roundSubmitPending:O=!1,submittedRoundId:k=null,approvalDecisionPending:A=!1,projectNameSaving:j=!1,projectDescriptionSaving:ee=!1,loading:M=!1,unavailable:te=!1,onDraftChange:N,onMessageFocused:P,onInitialMessagePositioned:F,onLoadOlderMessages:ne,onLoadNewerMessages:re,onJumpToLatest:ie,onUploadReferenceFile:ae,onOpenReferenceFile:oe,onRoundDraftChange:se,onSendMessage:I,onSendRoundMessage:ce,onSubmitRound:le,onDecideApproval:ue,onSubmitScratchpad:de,onUpdateProjectDisplayName:fe,onUpdateProjectDescription:pe,onOpenProjectCenter:me,onOpenWorklist:he,onOpenWorklistTask:ge,onRetryTask:_e,onOpenReferences:ve,onOpenArtifacts:ye,onViewArtifactFeedback:be,onOpenSkills:xe,onOpenTimeline:Se,onOpenSettings:Ce,onActivateStatusShortcut:we}){let[Te,Ee]=(0,L.useState)(!1),De=(0,L.useRef)(null),Oe=(0,L.useRef)(!1),ke=(0,L.useRef)(null),Ae=(0,L.useRef)(null),je=(0,L.useRef)(!0),Me=(0,L.useRef)(void 0),Ne=(0,L.useRef)(b),Pe=(0,L.useRef)(null),Fe=(0,R.jsx)(fL,{className:`chat-project-title-edit`,value:e,placeholder:`Untitled project`,ariaLabel:`Edit project name`,maxLength:MU,saving:j,disabled:M,...fe===void 0?{}:{onUpdate:fe}}),Ie=(0,R.jsx)(fL,{className:`chat-project-description-edit`,value:t,placeholder:`Add a project description`,ariaLabel:`Edit project description`,maxLength:NU,allowEmpty:!0,saving:ee,disabled:M,...pe===void 0?{}:{onUpdate:pe}}),Le=s!==null&&r.some(e=>e.id===s.cardMessageId),Re=new Map;for(let e of r)e.clarificationCard!==void 0&&e.workflowRef!==void 0&&Re.set(e.workflowRef,e.clarificationCard.roundId);let ze=new Map;for(let e of r){if(!HU(e)||e.workflowRef===void 0)continue;let t=Re.get(e.workflowRef);t!==void 0&&ze.set(t,{...e,id:`round-result:${e.id}`,messageKind:`agent_text`,author:`Tenso`,avatarKind:`tutti`,online:!1})}let Be=e=>{let t=c[e]??[],n=ze.get(e);return n===void 0||t.some(e=>e.body===n.body)?t:[...t,n]},Ve=WU({members:n,messages:r,clarificationMessagesByRoundId:c}),He=ae===void 0?void 0:e=>{for(let t of e)ae(t)};(0,L.useLayoutEffect)(()=>{Ne.current!==b&&(Ne.current=b,Oe.current=!1,ke.current=null,Me.current=void 0)},[b]),(0,L.useLayoutEffect)(()=>{let e=ke.current;if(e!==null){if(r[0]?.id!==e.firstMessageId){let t=De.current;t!==null&&(t.scrollTop=e.scrollTop+Math.max(0,t.scrollHeight-e.scrollHeight),je.current=t.scrollHeight-t.clientHeight-t.scrollTop<=IU),ke.current=null;return}w||(ke.current=null)}},[w,r]),(0,L.useEffect)(()=>{if(y===null||!r.some(e=>e.id===y))return;Oe.current=!0,VU(kU(y));let e=De.current;e!==null&&(je.current=e.scrollHeight-e.clientHeight-e.scrollTop<=IU),P?.()},[y,r,P]),(0,L.useEffect)(()=>{if(Oe.current||M||te||x!==`latest`||y!==null||r.length===0&&s===null&&o===null)return;let e=De.current;if(e===null)return;let t=window.requestAnimationFrame(()=>{e.scrollTop=e.scrollHeight,je.current=!0,Oe.current=!0});return()=>window.cancelAnimationFrame(t)},[o,s,y,M,r,te]),(0,L.useEffect)(()=>{if(Oe.current||M||te||x!==`start`||y!==null)return;let e=De.current;if(e===null)return;let t=window.requestAnimationFrame(()=>{e.scrollTop=0,je.current=e.scrollHeight<=e.clientHeight+IU,Oe.current=!0,F?.()});return()=>window.cancelAnimationFrame(t)},[y,x,M,r,F,te]);let Ue=()=>{if(!S||w||ke.current!==null||ne===void 0)return;let e=De.current;e!==null&&(ke.current={firstMessageId:r[0]?.id,scrollHeight:e.scrollHeight,scrollTop:e.scrollTop},ne())},We=()=>{!C||T||re===void 0||re()},Ge=e=>{let t=e.currentTarget;je.current=t.scrollHeight-t.clientHeight-t.scrollTop<=IU,Ae.current!==null&&window.cancelAnimationFrame(Ae.current),Ae.current=window.requestAnimationFrame(()=>{if(Ae.current=null,t.scrollTop<=PU){Ue();return}t.scrollHeight-t.clientHeight-t.scrollTop<=FU&&We()})};(0,L.useEffect)(()=>()=>{Ae.current!==null&&window.cancelAnimationFrame(Ae.current)},[]),(0,L.useEffect)(()=>{if(M||te||w||T||!Oe.current)return;let e=De.current;if(e===null||e.scrollHeight>e.clientHeight+IU)return;let t=window.requestAnimationFrame(()=>{S?Ue():C&&We()});return()=>window.cancelAnimationFrame(t)},[C,S,M,T,w,r,te]);let Ke=r.at(-1)?.id;(0,L.useEffect)(()=>{let e=Me.current;if(Me.current=Ke,e===void 0||e===Ke||!E||!je.current||!Oe.current||ke.current!==null)return;let t=De.current;if(t===null)return;let n=window.requestAnimationFrame(()=>{t.scrollTop=t.scrollHeight,je.current=!0});return()=>window.cancelAnimationFrame(n)},[E,Ke]);let qe=({key:e,roundId:t,title:n,summary:r,request:i,contextLabel:a,writable:o})=>{let c=Be(t),l=(s?.roundId===t?s.answerRevision:void 0)??c.filter(e=>e.isClarificationAnswer??e.messageKind===`user_text`).length;return(0,R.jsx)(FL,{id:DU(t),tabIndex:-1,title:n,summary:r,request:i,...a===void 0?{}:{contextLabel:a},messages:c.map(e=>({id:e.id,author:e.author,body:e.body,time:e.time,avatar:(0,R.jsx)(GU,{message:e})})),replyCount:l,draft:o?p:``,defaultOpen:!0,readOnly:!o,status:o?`pending`:`done`,statusLabel:o?`needs input`:`submitted`,mentionOptions:Ve,sendPending:o&&D,submitPending:o&&O,onDraftChange:se,onSendMessage:ce,onSubmitRound:le},`${e}:${o?`writable`:`sealed`}`)},Je=e=>{if(e.target.kind===`approval`&&o!==null){if(!E){Pe.current=e,ie?.();return}VU(OU(o.approvalId),{focusSelector:`.chat-event-card-header`});return}if(e.target.kind===`clarification`&&s!==null){if(!E&&!Le){Pe.current=e,ie?.();return}VU(DU(s.roundId),{focusSelector:`.chat-event-card-header`});return}if(e.target.kind===`scratchpad`){VU(AU);return}we?.(e)};(0,L.useEffect)(()=>{let e=Pe.current;if(!E||M||e===null)return;Pe.current=null;let t=window.requestAnimationFrame(()=>{e.target.kind===`approval`&&o!==null?VU(OU(o.approvalId),{focusSelector:`.chat-event-card-header`}):e.target.kind===`clarification`&&s!==null&&VU(DU(s.roundId),{focusSelector:`.chat-event-card-header`})});return()=>window.cancelAnimationFrame(t)},[o,s,E,M,r]);let Ye=e=>s===null?null:qe({key:e,roundId:s.roundId,title:s.title,summary:s.summary,request:s.request,contextLabel:s.ownerLabel,writable:s.status===`writable`&&s.roundId!==k}),Xe=()=>o===null?null:(0,R.jsx)(zL,{id:OU(o.approvalId),tabIndex:-1,title:o.title,summary:o.summary,...o.reason===void 0?{}:{reason:o.reason},...o.detail===void 0?{}:{detail:o.detail,...o.detailLabel===void 0?{}:{detailLabel:o.detailLabel},...o.detailCode===void 0?{}:{detailCode:o.detailCode}},status:o.status,statusLabel:o.statusLabel,decisions:o.decisions,decisionPending:A,...o.resolutionLabel===void 0?{}:{resolutionLabel:o.resolutionLabel},onDecide:e=>ue?.(o.approvalId,e)},`approval:${o.approvalId}:${o.status}`),Ze=e=>{let t=e.clarificationCard;if(t===void 0)return null;let n=s!==null&&s.roundId===t.roundId;return qe({key:e.id,roundId:t.roundId,title:n&&s!==null?s.title:t.title??`Clarification round ${t.roundId.slice(-4)}`,summary:n&&s!==null?s.summary:t.summary,request:n&&s!==null?s.request:t.summary,...n&&s!==null?{contextLabel:s.ownerLabel}:{},writable:n&&t.status===`writable`&&t.roundId!==k})},Qe=e=>{if(HU(e)&&Re.has(e.workflowRef??``))return null;if(e.messageKind===`clarification_card`)return Ze(e);if(s!==null&&e.id===s.cardMessageId)return Ye(e.id);if(e.taskResult!==void 0)return(0,R.jsx)(VL,{id:kU(e.id),tabIndex:-1,className:e.id===y?`is-focused`:void 0,title:e.taskResult.title,status:e.taskResult.status,taskId:e.taskResult.taskId,taskTitle:e.taskResult.taskTitle,summary:e.taskResult.summary,...e.taskResult.moduleName===void 0?{}:{moduleName:e.taskResult.moduleName},...e.taskResult.finalNote===void 0?{}:{finalNote:e.taskResult.finalNote},...e.taskResult.generatedFiles===void 0?{}:{generatedFiles:e.taskResult.generatedFiles},...e.taskResult.errorCode===void 0?{}:{errorCode:e.taskResult.errorCode},...e.taskResult.retryState===void 0?{}:{retryState:e.taskResult.retryState},...e.taskResult.retryState===void 0||e.taskResult.latestRunResultId===void 0||_e===void 0?{}:{onRetry:()=>_e(e.taskResult.taskId,e.taskResult.latestRunResultId)},...ge===void 0?{}:{onOpenTask:ge}},e.id);let t=e.referenceFile;return(0,L.createElement)(ZI,{id:kU(e.id),tabIndex:-1,author:e.author,time:e.time,...e.requestStatus===void 0?{}:{requestStatus:e.requestStatus},avatar:(0,R.jsx)(GU,{message:e}),className:e.id===y?`is-focused`:void 0,key:e.id},e.artifactFeedback===void 0?t===void 0?e.messageKind===`agent_text`?(0,R.jsx)(QI,{children:e.body}):(0,R.jsx)(`p`,{children:(0,R.jsx)(JI,{children:e.body})}):(0,R.jsx)(uL,{name:t.name,category:t.category,...t.imageUrl===void 0?{}:{imageUrl:t.imageUrl},onClick:()=>oe?.(t.path)}):(0,R.jsx)(lR,{artifactTitle:e.artifactFeedback.artifactTitle,annotations:e.artifactFeedback.annotations,...e.artifactFeedback.summary===void 0?{}:{summary:e.artifactFeedback.summary},...be===void 0?{}:{onViewAnnotation:t=>be(e.id,t)}}))},$e=E?BU(o,r):null,et=()=>{let e=s!==null&&(Le||E)||o!==null&&E;return r.length===0&&!e&&!w&&!T?(0,R.jsx)(gU,{children:`No messages yet`}):(0,R.jsxs)(R.Fragment,{children:[w?(0,R.jsx)(`div`,{className:`chat-history-status`,role:`status`,children:`Loading earlier messages…`}):null,!E||Le?null:Ye(`active-round`),r.map((e,t)=>(0,R.jsxs)(L.Fragment,{children:[$e===t?Xe():null,Qe(e)]},`timeline:${e.id}`)),$e===r.length?Xe():null,T?(0,R.jsx)(`div`,{className:`chat-history-status`,role:`status`,children:`Loading newer messages…`}):null]})},tt=(e,t=!1)=>(0,R.jsx)(bL,{id:e,tabIndex:-1,compact:t,title:i.title,summary:i.summary,sections:i.sections,submitAvailable:i.submitAvailable,...i.pages===void 0?{}:{pages:i.pages},...i.footerNote===void 0?{}:{footerNote:i.footerNote},...i.updatedLabelPrefix===void 0?{}:{updatedLabelPrefix:i.updatedLabelPrefix},syncPending:h,actionsDisabled:g,submitPending:_,onSubmitScratchpad:de,...ge===void 0?{}:{onOpenCompiledTask:ge},empty:(0,R.jsx)(gU,{children:`Scratchpad empty. Discuss your ideas together.`}),...i.updatedLabel===void 0?{}:{updatedLabel:i.updatedLabel}}),nt=(0,R.jsx)(`div`,{className:`chat-panel-actions`,children:(0,R.jsx)(pU,{members:n})});return(0,R.jsxs)(mU,{activePage:`chat`,statusShortcuts:l,mobileContext:{title:e,action:(0,R.jsx)(zw,{className:h?`mobile-scratchpad-trigger is-syncing`:`mobile-scratchpad-trigger`,type:`button`,label:Te?`Close Scratchpad`:`Open Scratchpad`,active:Te,"aria-expanded":Te,"aria-controls":`${AU}-mobile-sheet`,icon:(0,R.jsx)(gL,{"aria-hidden":`true`}),onClick:()=>Ee(e=>!e)})},...u===void 0?{}:{unread:u},...d===void 0?{}:{artifactSignal:d},onOpenProjectCenter:me,onOpenWorklist:he,onOpenReferences:ve,onOpenArtifacts:ye,onOpenSkills:xe,onOpenTimeline:Se,onOpenSettings:Ce,onActivateStatusShortcut:Je,getStatusShortcutAriaControls:e=>e.target.kind===`approval`&&o!==null&&E?OU(o.approvalId):e.target.kind===`clarification`&&s!==null&&(E||Le)?DU(s.roundId):e.target.kind===`scratchpad`?AU:void 0,children:[(0,R.jsxs)(`section`,{className:`workspace-grid is-tutti chat-workspace-grid`,"aria-label":`Chat workspace`,children:[M?(0,R.jsx)(dL,{title:Fe,subtitle:Ie,actions:nt,children:(0,R.jsx)(aS,{})}):te?(0,R.jsx)(dL,{title:Fe,subtitle:Ie,actions:nt,children:(0,R.jsx)(gU,{children:`Workspace unavailable`})}):(0,R.jsx)(dL,{title:Fe,subtitle:Ie,actions:nt,streamRef:De,onStreamScroll:Ge,streamOverlay:C&&ie!==void 0?(0,R.jsx)(X,{className:`chat-jump-latest`,type:`button`,onClick:ie,children:`Jump to latest`}):void 0,dropUploadPending:v,...He===void 0?{}:{onDropFiles:He},composer:(0,R.jsx)(hL,{value:f,pending:m,uploadPending:v,mentionOptions:Ve,onValueChange:N,onComposerSubmit:I,...ae===void 0?{}:{onFileUpload:ae}}),empty:(0,R.jsx)(gU,{children:`No messages yet`}),children:et()}),(0,R.jsxs)(`div`,{className:a===null?`chat-side-column`:`chat-side-column has-progress`,children:[tt(AU),a===null?null:(0,R.jsx)(RU,{progress:a})]})]}),Te?(0,R.jsxs)(`div`,{className:`mobile-scratchpad-layer is-open`,id:`${AU}-mobile-sheet`,children:[(0,R.jsx)(`button`,{className:`mobile-scratchpad-backdrop`,type:`button`,"aria-label":`Close Scratchpad`,onClick:()=>Ee(!1)}),(0,R.jsxs)(`section`,{className:`mobile-scratchpad-card`,role:`dialog`,"aria-modal":`true`,"aria-label":`Scratchpad`,children:[(0,R.jsxs)(`div`,{className:`mobile-scratchpad-card-head`,children:[(0,R.jsx)(`h2`,{children:`Scratchpad`}),(0,R.jsx)(xw,{className:`mobile-scratchpad-close`,type:`button`,label:`Close Scratchpad`,icon:(0,R.jsx)(nS,{"aria-hidden":`true`}),onClick:()=>Ee(!1)})]}),(0,R.jsx)(`div`,{className:`mobile-scratchpad-card-body`,children:tt(`${AU}-mobile`,!0)})]})]}):null]})}function qU({statusShortcuts:e,unread:t,state:n,loading:r=!1,unavailable:i=!1,feedback:a,iframeRef:o,onPreviewLoad:s,onOpenProjectCenter:c,onOpenChat:l,onOpenWorklist:u,onOpenReferences:d,onOpenSkills:f,onOpenTimeline:p,onOpenSettings:m,onActivateStatusShortcut:h}){let g=r?{status:`loading`}:i?{status:`not_declared`}:n,_=a?.supported===!0?(0,R.jsx)(sR,{active:a.open,disabled:a.open?!a.canSubmit:!a.ready,...a.submitPending===void 0?{}:{pending:a.submitPending},title:a.open?a.submitDisabledReason??`Submit comments`:a.ready?`Comments`:a.unavailableReason??`Preparing comments`,onClick:a.open?a.onSubmit:a.onOpen}):void 0,v=a?.supported===!0?(0,R.jsx)(zw,{type:`button`,label:a.open?`Submit comments`:`Comments`,active:a.open,disabled:a.open?!a.canSubmit:!a.ready,icon:a.open?(0,R.jsx)(ex,{"aria-hidden":`true`}):(0,R.jsx)(Px,{"aria-hidden":`true`}),onClick:a.open?a.onSubmit:a.onOpen}):void 0,y=a?.open===!0?(0,R.jsx)(cR,{...a.rail,author:a.author.displayName,avatar:(0,R.jsx)(WH,{avatar:a.author.avatar,label:a.author.displayName})}):void 0;return(0,R.jsx)(mU,{activePage:`artifacts`,statusShortcuts:e,mobileContext:{title:g.status===`declared`?g.title:`Artifacts`,...v===void 0?{}:{action:v}},...t===void 0?{}:{unread:t},artifactSignal:Bz(g),...y===void 0?{}:{rail:y},onOpenProjectCenter:c,onOpenChat:l,onOpenWorklist:u,onOpenReferences:d,onOpenSkills:f,onOpenTimeline:p,onOpenSettings:m,onActivateStatusShortcut:h,children:(0,R.jsx)(`section`,{className:`workspace-grid artifacts-workspace-grid`,"aria-label":`Artifacts`,children:(0,R.jsx)(iR,{state:g,..._===void 0?{}:{headerAction:_},...o===void 0?{}:{iframeRef:o},...s===void 0?{}:{onPreviewLoad:s},...i?{empty:(0,R.jsx)(gU,{children:`Workspace unavailable`})}:{},emptyWatermark:(0,R.jsx)(hU,{})})})})}function JU({statusShortcuts:e,unread:t,artifactSignal:n,files:r,detail:i,uploadPending:a=!1,fileSortMode:o=`time`,loading:s=!1,unavailable:c=!1,onOpenProjectCenter:l,onOpenChat:u,onOpenWorklist:d,onOpenArtifacts:f,onOpenSkills:p,onOpenTimeline:m,onOpenSettings:h,onActivateStatusShortcut:g,onSelectFile:_,onUploadFile:v,onFileSortModeChange:y}){let b=s||c;return(0,R.jsx)(mU,{activePage:`references`,statusShortcuts:e,mobileContext:{title:`References`,action:(0,R.jsx)(mL,{variant:`bare`,className:`sidebar-button reference-upload-button`,label:`Upload reference`,pendingLabel:`Uploading reference`,pending:a,iconOnly:!0,onFileUpload:v})},...t===void 0?{}:{unread:t},...n===void 0?{}:{artifactSignal:n},onOpenProjectCenter:l,onOpenChat:u,onOpenWorklist:d,onOpenArtifacts:f,onOpenSkills:p,onOpenTimeline:m,onOpenSettings:h,onActivateStatusShortcut:g,children:(0,R.jsx)(`section`,{className:`workspace-grid references-workspace-grid`,"aria-label":`Reference files`,children:(0,R.jsx)(tR,{files:b?[]:r,...s?{detail:{title:`Loading`,unavailableReason:`Loading`}}:c?{detail:{title:`References unavailable`,unavailableReason:`Workspace unavailable`}}:i===void 0?{}:{detail:i},uploadPending:a,fileSortMode:o,empty:s?(0,R.jsx)(gU,{children:`Loading reference files`}):c?(0,R.jsx)(gU,{children:`Workspace unavailable`}):(0,R.jsx)(gU,{children:`No reference files`}),onSelectFile:_,onUploadFile:v,...y===void 0?{}:{onFileSortModeChange:y}})})})}var YU=6,XU=`......`,ZU=80,QU=160;function $U(e){let t=document.createElement(`canvas`).getContext(`2d`);if(t===null)return null;let n=window.getComputedStyle(e);return t.font=[n.fontStyle,n.fontVariant,n.fontWeight,n.fontSize,n.fontFamily].join(` `),e=>t.measureText(e).width}function eW(e,t,n){if(n(e)<=t)return e;let r=e.slice(-YU),i=Math.max(0,e.length-r.length),a=0,o=i;for(;a<o;){let i=Math.ceil((a+o)/2);n(`${e.slice(0,i)}${XU}${r}`)<=t?a=i:o=i-1}return`${e.slice(0,a)}${XU}${r}`}function tW({value:e}){let t=(0,L.useRef)(null),[n,r]=(0,L.useState)(e);return(0,L.useEffect)(()=>{let n=t.current;if(n===null)return;let i=()=>{let t=$U(n),i=n.getBoundingClientRect().width;if(t===null||i<=0){r(e);return}let a=eW(e,i,t);r(e=>e===a?e:a)};i();let a=typeof ResizeObserver>`u`?null:new ResizeObserver(i);return a?.observe(n),window.addEventListener(`resize`,i),()=>{a?.disconnect(),window.removeEventListener(`resize`,i)}},[e]),(0,R.jsx)(`span`,{ref:t,className:`settings-masked-link`,title:e,"aria-label":e,children:n})}function nW({value:e,onCopy:t}){return t===void 0?(0,R.jsx)(tW,{value:e}):(0,R.jsx)(`button`,{className:`settings-value-button settings-link-copy-button`,type:`button`,"aria-label":`Copy invite link`,onClick:t,children:(0,R.jsx)(tW,{value:e})})}function rW({avatar:e,displayName:t}){return(0,R.jsxs)(`div`,{className:`settings-identity`,children:[(0,R.jsx)(WH,{avatar:e,label:t}),(0,R.jsx)(`strong`,{children:t})]})}function iW({members:e}){return(0,R.jsx)(`div`,{className:`settings-member-list`,children:e.map(e=>(0,L.createElement)(rW,{...e,key:e.key}))})}function aW({settings:e,onCopyJoinUrl:t}){return{label:`Invite link`,value:e.access.inviteLink===void 0?`Not available`:(0,R.jsx)(nW,{value:e.access.inviteLink,onCopy:t}),...e.access.inviteLink===void 0?{}:{plain:!0}}}function oW({settings:e,projectNameSaving:t,projectDescriptionSaving:n,providerModelOptions:r,providerModelEditable:i,providerModelDiscovering:a,providerModelSaving:o,onCopyJoinUrl:s,onUpdateProjectDisplayName:c,onUpdateProjectDescription:l,onDiscoverProviderModels:u,onUpdateProviderDefaultModel:d}){return[{id:`settings-project`,title:`Project`,rows:[{label:`Project name`,plain:!0,value:(0,R.jsx)(fL,{value:e.project.displayName,placeholder:`Untitled project`,ariaLabel:`Project name`,maxLength:ZU,saving:t,...c===void 0?{}:{onUpdate:c}})},{label:`Description`,plain:!0,value:(0,R.jsx)(fL,{value:e.project.description,placeholder:`Add a project description`,ariaLabel:`Project description`,maxLength:QU,allowEmpty:!0,saving:n,...l===void 0?{}:{onUpdate:l}})},{label:`Members`,plain:!0,value:(0,R.jsx)(iW,{members:e.project.members})}]},{id:`settings-access`,title:`Access`,rows:[aW({settings:e,onCopyJoinUrl:s}),...e.access.inviteExpires===void 0?[]:[{label:`Invite expires`,value:e.access.inviteExpires}],{label:`Signed in as`,plain:!0,value:(0,R.jsx)(rW,{...e.access.signedInAs},`signed-in-account`)},{label:`Role`,value:e.access.role},{label:`Joined`,value:e.access.joined}]},{id:`settings-provider`,title:`AI provider`,rows:[{label:`Status`,value:e.provider.status},...e.provider.model===void 0?[]:[{label:`Model`,plain:!0,value:(0,R.jsx)(XL,{value:e.provider.model,options:r,maxLength:256,canEdit:i,discovering:a,saving:o,...u===void 0?{}:{onDiscover:u},...d===void 0?{}:{onUpdate:d}})}],...e.provider.lastValidated===void 0?[]:[{label:`Last validated`,value:e.provider.lastValidated}],...e.provider.issue===void 0?[]:[{label:`Issue`,value:e.provider.issue}]]},{id:`settings-tutti`,title:`Tenso`,rows:[{label:`Version`,value:e.tutti.version}]}]}function sW({settings:e,statusShortcuts:t,unread:n,artifactSignal:r,loading:i=!1,unavailable:a=!1,projectNameSaving:o=!1,projectDescriptionSaving:s=!1,providerModelOptions:c=[],providerModelEditable:l=!1,providerModelDiscovering:u=!1,providerModelSaving:d=!1,onOpenProjectCenter:f,onOpenChat:p,onOpenWorklist:m,onOpenReferences:h,onOpenArtifacts:g,onOpenSkills:_,onOpenTimeline:v,onActivateStatusShortcut:y,onCopyJoinUrl:b,onUpdateProjectDisplayName:x,onUpdateProjectDescription:S,onDiscoverProviderModels:C,onUpdateProviderDefaultModel:w}){return(0,R.jsx)(mU,{activePage:`settings`,statusShortcuts:t,mobileContext:{title:`Settings`},...n===void 0?{}:{unread:n},...r===void 0?{}:{artifactSignal:r},onOpenProjectCenter:f,onOpenChat:p,onOpenWorklist:m,onOpenReferences:h,onOpenArtifacts:g,onOpenSkills:_,onOpenTimeline:v,onActivateStatusShortcut:y,children:(0,R.jsx)(`section`,{className:`workspace-grid settings-workspace-grid`,"aria-label":`Settings`,children:(0,R.jsx)(`div`,{className:`settings-page-grid`,children:i?(0,R.jsx)(`section`,{className:`settings-sheet`,"aria-label":`Loading settings`,children:(0,R.jsx)(gU,{children:`Loading settings`})}):a?(0,R.jsx)(`section`,{className:`settings-sheet`,"aria-label":`Settings unavailable`,children:(0,R.jsx)(gU,{children:`Workspace unavailable`})}):e===void 0?(0,R.jsx)(`section`,{className:`settings-sheet`,"aria-label":`Settings unavailable`,children:(0,R.jsx)(gU,{children:`Settings unavailable`})}):(0,R.jsx)(YL,{statuses:[e.connectionStatus],sections:oW({settings:e,projectNameSaving:o,projectDescriptionSaving:s,providerModelOptions:c,providerModelEditable:l,providerModelDiscovering:u,providerModelSaving:d,onCopyJoinUrl:b,onUpdateProjectDisplayName:x,onUpdateProjectDescription:S,onDiscoverProviderModels:C,onUpdateProviderDefaultModel:w})})})})})}var cW=[{title:`Awesome GitHub Copilot Skills`,href:`https://awesome-copilot.github.com/skills/`},{title:`Anthropic official skills`,href:`https://github.com/anthropics/skills`},{title:`Claude Skills Marketplace`,href:`https://claudeskills.info/skills/`}];function lW({statusShortcuts:e,unread:t,artifactSignal:n,skills:r,detail:i,uploadPending:a=!1,deletePending:o=!1,loading:s=!1,unavailable:c=!1,onOpenProjectCenter:l,onOpenChat:u,onOpenWorklist:d,onOpenReferences:f,onOpenArtifacts:p,onOpenTimeline:m,onOpenSettings:h,onActivateStatusShortcut:g,onSelectSkill:_,onUploadSkill:v,onDeleteSkill:y}){let b=s||c;return(0,R.jsx)(mU,{activePage:`skills`,statusShortcuts:e,mobileContext:{title:`Skills`,action:(0,R.jsx)(mL,{variant:`bare`,className:`sidebar-button reference-upload-button`,label:`Upload skill`,pendingLabel:`Uploading skill`,pending:a,accept:`.zip,application/zip,application/x-zip-compressed`,iconOnly:!0,onFileUpload:v})},...t===void 0?{}:{unread:t},...n===void 0?{}:{artifactSignal:n},onOpenProjectCenter:l,onOpenChat:u,onOpenWorklist:d,onOpenReferences:f,onOpenArtifacts:p,onOpenTimeline:m,onOpenSettings:h,onActivateStatusShortcut:g,children:(0,R.jsx)(`section`,{className:`workspace-grid references-workspace-grid`,"aria-label":`Skills`,children:(0,R.jsx)(dR,{skills:b?[]:r,communityLinks:b?[]:cW,...s?{detail:{title:`Loading`,unavailableReason:`Loading`}}:c?{detail:{title:`Skills unavailable`,unavailableReason:`Workspace unavailable`}}:i===void 0?{}:{detail:i},uploadPending:a,deletePending:o,empty:s?(0,R.jsx)(gU,{children:`Loading skills`}):c?(0,R.jsx)(gU,{children:`Workspace unavailable`}):(0,R.jsx)(gU,{children:`No skills`}),onSelectSkill:_,onUploadSkill:v,onDeleteSkill:y})})})}function uW({timeline:e,statusShortcuts:t,unread:n,artifactSignal:r,loading:i=!1,unavailable:a=!1,onOpenProjectCenter:o,onOpenChat:s,onOpenWorklist:c,onOpenReferences:l,onOpenArtifacts:u,onOpenSkills:d,onOpenSettings:f,onActivateStatusShortcut:p}){return(0,R.jsx)(mU,{activePage:`timeline`,statusShortcuts:t,mobileContext:{title:`Timeline`},...n===void 0?{}:{unread:n},...r===void 0?{}:{artifactSignal:r},onOpenProjectCenter:o,onOpenChat:s,onOpenWorklist:c,onOpenReferences:l,onOpenArtifacts:u,onOpenSkills:d,onOpenSettings:f,onActivateStatusShortcut:p,children:(0,R.jsx)(`section`,{className:`workspace-grid timeline-workspace-grid`,"aria-label":`Timeline workspace`,children:i?(0,R.jsx)(`section`,{className:`panel timeline-panel`,"aria-label":`Loading timeline`,children:(0,R.jsx)(gU,{children:`Loading timeline`})}):a?(0,R.jsx)(`section`,{className:`panel timeline-panel`,"aria-label":`Timeline unavailable`,children:(0,R.jsx)(gU,{children:`Workspace unavailable`})}):e===void 0?(0,R.jsx)(`section`,{className:`panel timeline-panel`,"aria-label":`Timeline unavailable`,children:(0,R.jsx)(gU,{children:`Timeline unavailable`})}):(0,R.jsx)(DR,{tokenOverview:e.tokenOverview,items:e.items,scoreUnits:e.scoreUnits,empty:(0,R.jsx)(gU,{children:`No timeline events yet`})})})})}function dW({statusShortcuts:e,unread:t,artifactSignal:n,modules:r,taskCount:i,detail:a,missingTaskId:o,runNote:s,loading:c=!1,unavailable:l=!1,onOpenProjectCenter:u,onOpenChat:d,onOpenReferences:f,onOpenArtifacts:p,onOpenSkills:m,onOpenTimeline:h,onOpenSettings:g,onActivateStatusShortcut:_,onSelectTask:v}){return(0,R.jsx)(mU,{activePage:`worklist`,statusShortcuts:e,mobileContext:{title:`Worklist`,meta:i===1?`1 task`:`${i} tasks`},...t===void 0?{}:{unread:t},...n===void 0?{}:{artifactSignal:n},onOpenProjectCenter:u,onOpenChat:d,onOpenReferences:f,onOpenArtifacts:p,onOpenSkills:m,onOpenTimeline:h,onOpenSettings:g,onActivateStatusShortcut:_,children:(0,R.jsx)(`section`,{className:`workspace-grid worklist-workspace-grid`,"aria-label":`Worklist workspace`,children:c?(0,R.jsx)(`section`,{className:`panel tasks worklist-page-panel`,"aria-label":`Loading Worklist`,children:(0,R.jsx)(gU,{children:`Loading Worklist`})}):l?(0,R.jsx)(`section`,{className:`panel tasks worklist-page-panel`,"aria-label":`Worklist unavailable`,children:(0,R.jsx)(gU,{children:`Workspace unavailable`})}):(0,R.jsx)(JL,{modules:r,taskCount:i,...a===void 0?{}:{detail:a},...o===void 0?{}:{missingTaskId:o},...s==null?{}:{runNote:s},onSelectTask:v,empty:(0,R.jsx)(gU,{children:`No compiled tasks`})})})})}function fW(e){return(0,R.jsx)(jH,{label:`Tenso trial access`,onBrandClick:e.onBrandClick,children:(0,R.jsxs)(yk,{title:e.authorized?`Trial access authorized`:`Authorize Tenso trial`,description:e.authorized?`Local Console will verify this authorization, check model access and start the project. You can return to Local Console.`:`Confirm only if you started this request in Local Console on your computer.`,onSubmit:t=>{t.preventDefault(),e.onAuthorize()},action:e.authorized?void 0:(0,R.jsx)(Sw,{type:`submit`,disabled:e.pending||e.expired,children:e.pending?`Authorizing`:`Authorize trial access`}),feedback:e.error===null?void 0:(0,R.jsx)(Fw,{children:e.error}),children:[(0,R.jsx)(Rk,{title:e.projectName,description:`${e.surface} · Tenso`,children:(0,R.jsxs)(`p`,{children:[`Account: `,e.accountEmail]})}),e.authorized?null:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`p`,{children:`This computer may run AI tasks for this project, including team requests and background work, using your test allowance. There is no payment or recharge authorization.`}),(0,R.jsx)(`p`,{children:`Access continues until revoked. Signing out does not stop authorized project work.`}),e.expired?(0,R.jsx)(Fw,{children:`This request expired. Start again in Local Console.`}):null,(0,R.jsx)(X,{type:`button`,disabled:e.pending,onClick:e.onSignInAgain,children:`Sign in again / switch account`})]})]})})}var pW=G.Object({kind:G.Literal(`clarification`),round_id:ah,version:G.Integer({minimum:0}),answer_revision:G.Integer({minimum:0}),closed_reason:G.Optional(G.Union([G.Literal(`resolved`),G.Literal(`contract_changed`),G.Literal(`cancelled`)])),state:G.Union([G.Literal(`writable`),G.Literal(`submitted`),G.Literal(`continued`),G.Literal(`closed`)]),title:G.String({minLength:1,maxLength:512}),request:G.String({minLength:1,maxLength:4e3}),opened_at:K},{additionalProperties:!1}),mW=G.String({minLength:1,maxLength:64,pattern:`^[a-z][a-z0-9_-]*$`}),hW=G.String({minLength:1,maxLength:256,pattern:`^[^\\u0000-\\u001f\\u007f]+$`}),gW=G.String({minLength:1,maxLength:512,pattern:`^[^\\u0000-\\u001f\\u007f]+$`}),_W=G.Object({platform:mW,installation_ref:hW},{additionalProperties:!1}),vW=G.Object({installation:_W,conversation_ref:gW,thread_ref:G.Optional(gW),parent_message_ref:G.Optional(gW),root_message_ref:G.Optional(gW)},{additionalProperties:!1}),yW=G.Object({conversation:vW,message_ref:gW},{additionalProperties:!1}),bW=G.Object({installation:_W,subject_kind:G.Union([G.Literal(`human`),G.Literal(`bot`),G.Literal(`app`),G.Literal(`system`)]),subject_ref:gW},{additionalProperties:!1}),xW=G.Object({kind:G.Literal(`human`),account_ref:lh,display_name:G.String({minLength:1,maxLength:256}),membership:G.Object({relay_project_ref:ch,label:G.Union([G.Literal(`owner`),G.Literal(`member`)])},{additionalProperties:!1}),channel:G.Union([G.Literal(`platform_chat`),G.Literal(`platform_h5`),G.Literal(`platform_card_callback`),G.Literal(`platform_document_sync`)]),external_subject:bW,binding_ref:hW,verified_at:K},{additionalProperties:!1}),SW=G.Object({kind:G.Literal(`system`),purpose:G.Union([G.Literal(`live_ingestion`),G.Literal(`history_backfill`),G.Literal(`revision_observation`),G.Literal(`attachment_handoff`),G.Literal(`projection_retry`),G.Literal(`reconciliation`)]),installation:_W,binding_ref:G.Optional(hW),verified_at:K},{additionalProperties:!1}),CW=G.Object({...xW.properties,kind:G.Literal(`bot`),purpose:G.Literal(`development_operator`),channel:G.Literal(`platform_chat`)},{additionalProperties:!1});G.Union([xW,SW]);var wW=G.Object({account_ref:lh,display_name:G.String({minLength:1,maxLength:256}),external_subject:bW},{additionalProperties:!1}),TW=G.Object({external_subject:bW},{additionalProperties:!1}),EW=G.Object({external_subject:bW,account_ref:G.Optional(lh),display_text:G.Optional(G.String({minLength:1,maxLength:256})),target_kind:G.Union([G.Literal(`person`),G.Literal(`tutti`)])},{additionalProperties:!1}),DW=G.Union([G.Object({kind:G.Literal(`text`),text:G.String({minLength:1,maxLength:1e5}),mentions:G.Array(EW,{maxItems:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`post`),text:G.String({minLength:1,maxLength:1e5}),mentions:G.Array(EW,{maxItems:128})},{additionalProperties:!1})]),OW=G.Object({attachment_ref:gW,attachment_kind:G.Union([G.Literal(`file`),G.Literal(`image`),G.Literal(`audio`),G.Literal(`video`),G.Literal(`other`)]),file_name:G.Optional(G.String({minLength:1,maxLength:512})),media_type:G.Optional(G.String({minLength:1,maxLength:255})),declared_size_bytes:G.Optional(G.Integer({minimum:0,maximum:2**53-1}))},{additionalProperties:!1}),kW=G.Object({attachment:OW,size_bytes:G.Integer({minimum:1,maximum:2**53-1}),sha256:G.String({pattern:`^sha256:[0-9a-f]{64}$`}),media_type:G.String({minLength:1,maxLength:255}),verified_at:K},{additionalProperties:!1}),AW=G.Object({locator:yW,author:TW,attachment:OW,external_created_at:K,observed_at:K,adapter_version:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),jW=G.Object({external_references:G.Optional(G.Array(S_,{minItems:1,maxItems:16})),locator:yW,revision_ref:gW,author:wW,content:DW,attachments:G.Array(OW,{maxItems:64}),external_created_at:K,observed_at:K,adapter_version:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),MW=G.Object({external_references:G.Optional(G.Array(S_,{minItems:1,maxItems:16})),locator:yW,revision_ref:gW,author:TW,content:DW,attachments:G.Array(OW,{maxItems:64}),external_created_at:K,observed_at:K,adapter_version:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),NW=G.Union([G.Object({kind:G.Literal(`edited`),locator:yW,revision_ref:gW,content:DW,attachments:G.Array(OW,{maxItems:64}),external_updated_at:K,observed_at:K,adapter_version:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`deleted`),locator:yW,revision_ref:gW,external_updated_at:K,observed_at:K,adapter_version:G.String({minLength:1,maxLength:128})},{additionalProperties:!1})]),PW=G.Object({receipt_key:hW,installation:_W,external_event_ref:gW,event_kind:G.Union([G.Literal(`conversation_source`),G.Literal(`conversation_revision`),G.Literal(`attachment`),G.Literal(`card_action`)]),received_at:K,attempt:G.Integer({minimum:1,maximum:1e6})},{additionalProperties:!1}),FW=G.Object({kind:G.Literal(`conversation_source`),receipt:PW,actor:SW,source:jW},{additionalProperties:!1}),IW=G.Object({kind:G.Literal(`conversation_revision`),receipt:PW,actor:SW,observation:NW},{additionalProperties:!1});G.Union([FW,IW]);var LW=G.Union([G.Object({kind:G.Literal(`created`),message_id:Xm},{additionalProperties:!1}),G.Object({kind:G.Literal(`duplicate`),message_id:Xm},{additionalProperties:!1}),G.Object({kind:G.Literal(`revision_recorded`),message_id:Xm,revision_ref:gW},{additionalProperties:!1}),G.Object({kind:G.Literal(`stale_revision`),message_id:Xm,revision_ref:gW},{additionalProperties:!1}),G.Object({kind:G.Literal(`unsupported`),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`unauthorized`),reason_code:G.Optional(G.String({minLength:1,maxLength:128}))},{additionalProperties:!1}),G.Object({kind:G.Literal(`binding_missing`)},{additionalProperties:!1}),G.Object({kind:G.Literal(`host_unavailable`),retryable:G.Literal(!0),reason_code:G.Optional(G.String({minLength:1,maxLength:128})),retry_after:G.Optional(K)},{additionalProperties:!1}),G.Object({kind:G.Literal(`host_incompatible`),retryable:G.Literal(!0),reason_code:G.Union([G.Literal(`integration_source_ingestion_unsupported`),G.Literal(`integration_attachment_ingestion_unsupported`),G.Literal(`integration_managed_reference_ingestion_unsupported`),G.Literal(`integration_clarification_unsupported`)])},{additionalProperties:!1}),G.Object({kind:G.Literal(`invalid`),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1})]);G.Object({protocol_version:G.Union([G.Literal(2),G.Literal(3)]),command_id:sh,relay_project_ref:ch,binding_ref:hW,receipt:PW,source:MW,clarification_round_ref:G.Optional(ah)},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),command_id:sh,relay_project_ref:ch,binding_ref:hW,receipt:PW,source:AW,content:kW},{additionalProperties:!1});var RW=G.Union([G.Object({kind:G.Literal(`staged`),upload:r_,put:i_},{additionalProperties:!1}),G.Object({kind:G.Literal(`unauthorized`),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`invalid`),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`unavailable`),retryable:G.Literal(!0),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1})]);G.Object({protocol_version:G.Literal(1),disposition:RW},{additionalProperties:!1});var zW=G.String({minLength:20,maxLength:20,pattern:`^[A-Z2-7]+$`});G.Union([G.Object({state:G.Literal(`account_handoff_required`)},{additionalProperties:!1}),G.Object({state:G.Literal(`pairing_required`),pairing_code:zW,command:G.String({minLength:1,maxLength:128}),expires_at:K,visibility:G.Literal(`visible_once`)},{additionalProperties:!1}),G.Object({state:G.Literal(`pairing_required`),expires_at:G.Optional(K),visibility:G.Literal(`not_recoverable`)},{additionalProperties:!1}),G.Object({state:G.Literal(`connected`)},{additionalProperties:!1})]),G.Object({protocol_version:G.Literal(1),pairing_code:zW,binding_ref:hW,installation:_W,conversation_ref:gW,external_subject:bW,observed_at:K},{additionalProperties:!1});var BW=G.Union([G.Object({kind:G.Literal(`bound`),relay_project_ref:ch,project_display_name:G.String({minLength:1,maxLength:256})},{additionalProperties:!1}),G.Object({kind:G.Literal(`duplicate`),relay_project_ref:ch,project_display_name:G.String({minLength:1,maxLength:256})},{additionalProperties:!1}),G.Object({kind:G.Literal(`invalid`),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`unauthorized`),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`conflict`),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1})]);G.Object({protocol_version:G.Literal(1),disposition:BW},{additionalProperties:!1});var VW=G.Object({source_ref:hW,adapter_key:G.Literal(`feishu_docx`),installation:_W,external_subject:bW,reference_path:G.String({minLength:1,maxLength:1024})},{additionalProperties:!1}),HW=G.Object({size_bytes:G.Integer({minimum:0,maximum:2**53-1}),sha256:G.String({pattern:`^sha256:[0-9a-f]{64}$`}),media_type:G.Literal(`text/plain; charset=utf-8`)},{additionalProperties:!1});G.Object({protocol_version:G.Literal(1),command_id:sh,operation_ref:hW,relay_project_ref:ch,binding_ref:hW,source:VW,remote_revision_ref:gW,expected_host_blob_oid:G.Optional(G.String({pattern:`^[0-9a-f]{40,64}$`})),content:HW},{additionalProperties:!1});var UW=RW;G.Object({protocol_version:G.Literal(1),disposition:UW},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),command_id:sh,operation_ref:hW,relay_project_ref:ch,binding_ref:hW,source:VW,remote_revision_ref:gW,expected_host_blob_oid:G.Optional(G.String({pattern:`^[0-9a-f]{40,64}$`})),content:HW,staged_upload:G.Object(Zg,{additionalProperties:!1})},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),command_id:sh,operation_ref:hW,relay_project_ref:ch,binding_ref:hW,source:VW,remote_revision_ref:gW,expected_host_blob_oid:G.Optional(G.String({pattern:`^[0-9a-f]{40,64}$`})),content:HW,staged_upload:G.Object(Zg,{additionalProperties:!1}),actor:xW},{additionalProperties:!1});var WW=G.Union([G.Object({kind:G.Union([G.Literal(`created`),G.Literal(`updated`),G.Literal(`unchanged`)]),current_blob_oid:G.String({pattern:`^[0-9a-f]{40,64}$`})},{additionalProperties:!1}),G.Object({kind:G.Literal(`duplicate`),outcome:G.Union([G.Literal(`created`),G.Literal(`updated`),G.Literal(`unchanged`)]),current_blob_oid:G.String({pattern:`^[0-9a-f]{40,64}$`})},{additionalProperties:!1}),G.Object({kind:G.Literal(`host_unavailable`),retryable:G.Literal(!0),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`host_incompatible`),retryable:G.Literal(!0),reason_code:G.Literal(`integration_managed_reference_ingestion_unsupported`)},{additionalProperties:!1}),G.Object({kind:G.Union([G.Literal(`invalid`),G.Literal(`unauthorized`),G.Literal(`conflict`)]),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1})]);G.Object({protocol_version:G.Literal(1),disposition:WW},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),command_id:sh,relay_project_ref:ch,binding_ref:hW,receipt:PW,actor:G.Union([xW,CW]),source:jW,clarification_round_ref:G.Optional(ah)},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),command_id:sh,relay_project_ref:ch,binding_ref:hW,receipt:PW,source:AW,staged_upload:G.Object(Zg,{additionalProperties:!1})},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),command_id:sh,relay_project_ref:ch,binding_ref:hW,receipt:PW,actor:xW,source:AW,staged_upload:G.Object(Zg,{additionalProperties:!1})},{additionalProperties:!1}),G.Union([G.Object({protocol_version:G.Literal(1),relay_project_ref:ch,installation:_W,binding_ref:hW,receipt_key:hW,verified_at:K},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),relay_project_ref:ch,installation:_W,binding_ref:hW,operation_ref:hW,verified_at:K},{additionalProperties:!1})]),G.Object({protocol_version:G.Literal(1),disposition:LW},{additionalProperties:!1});var GW=G.Object({kind:G.Literal(`text`),text:G.String({minLength:1,maxLength:4e3}),clarification_round_ref:G.Optional(ah)},{additionalProperties:!1}),KW=G.String({minLength:1,maxLength:128,pattern:`^cardrev_[0-9a-f]{32}$`}),qW=G.Object({decision_id:G.String({minLength:1,maxLength:256}),kind:G.Union([G.Literal(`allow_once`),G.Literal(`allow_session`),G.Literal(`deny`),G.Literal(`cancel`)]),label:G.String({minLength:1,maxLength:256}),tone:G.Union([G.Literal(`primary`),G.Literal(`neutral`),G.Literal(`danger`)])},{additionalProperties:!1}),JW=G.Object({kind:G.Literal(`approval_request`),approval_id:G.String({minLength:1,maxLength:256}),card_revision:KW,title:G.String({minLength:1,maxLength:512}),summary:G.String({minLength:1,maxLength:4e3}),reason:G.Optional(G.String({minLength:1,maxLength:2e3})),requested_at:K,expires_at:G.Optional(K),decisions:G.Array(qW,{minItems:1,maxItems:8})},{additionalProperties:!1}),YW=G.Union([GW,JW,pW]),XW=G.Object({kind:G.Union([G.Literal(`chat_response`),G.Literal(`needs_input`),G.Literal(`task_completed`),G.Literal(`task_failed`)]),event_key:gW,subject:G.Object({kind:G.Union([G.Literal(`message`),G.Literal(`clarification_round`),G.Literal(`approval_request`),G.Literal(`task_result`)]),ref:gW},{additionalProperties:!1}),target:G.Object({kind:G.Union([G.Literal(`project`),G.Literal(`work`)])},{additionalProperties:!1})},{additionalProperties:!1}),ZW={protocol_version:G.Literal(1),intent_ref:sh,relay_project_ref:ch,installation:_W,binding_ref:hW,canonical_message_ref:G.Optional(Xm),trigger_message_ref:G.Optional(Xm),content:YW,event:G.Optional(XW),created_at:K,attempt:G.Integer({minimum:1,maximum:1e6})};G.Object(ZW,{additionalProperties:!1});var QW=G.Object({...ZW,conversation_ref:gW},{additionalProperties:!1}),$W=G.Object({conversation_ref:gW,message_ref:gW,action_ref:hW,card_revision:KW,external_subject:bW},{additionalProperties:!1});G.Object({protocol_version:G.Literal(1),command_id:sh,relay_project_ref:ch,binding_ref:hW,receipt:PW,callback:$W,approval_id:G.String({minLength:1,maxLength:256}),decision_id:G.String({minLength:1,maxLength:256})},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),command_id:sh,relay_project_ref:ch,binding_ref:hW,receipt:PW,actor:xW,callback:G.Object({message_ref:gW,action_ref:hW,card_revision:KW},{additionalProperties:!1}),approval_id:G.String({minLength:1,maxLength:256}),decision_id:G.String({minLength:1,maxLength:256})},{additionalProperties:!1});var eG=G.Union([G.Object({kind:G.Literal(`accepted`)},{additionalProperties:!1}),G.Object({kind:G.Literal(`stale_approval`)},{additionalProperties:!1}),G.Object({kind:G.Literal(`decision_unavailable`)},{additionalProperties:!1}),G.Object({kind:G.Literal(`interrupted`),retry_with_new_command_id:G.Boolean()},{additionalProperties:!1}),G.Object({kind:G.Literal(`unauthorized`),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`invalid`),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`host_unavailable`),retryable:G.Literal(!0),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`host_incompatible`),retryable:G.Literal(!0),reason_code:G.Literal(`integration_approval_decision_unsupported`)},{additionalProperties:!1})]);G.Object({protocol_version:G.Literal(1),disposition:eG},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),installation:_W},{additionalProperties:!1}),G.Union([G.Object({protocol_version:G.Literal(1),disposition:G.Object({kind:G.Literal(`idle`),retry_after_ms:G.Integer({minimum:100,maximum:6e4})},{additionalProperties:!1})},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),disposition:G.Object({kind:G.Literal(`claimed`),claim_ref:hW,claim_expires_at:K,intent:QW},{additionalProperties:!1})},{additionalProperties:!1})]);var tG=G.Union([G.Object({kind:G.Literal(`accepted`),delivery_ref:hW},{additionalProperties:!1}),G.Object({kind:G.Literal(`duplicate`),delivery_ref:hW},{additionalProperties:!1}),G.Object({kind:G.Literal(`rejected`),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1})]);G.Object({protocol_version:G.Literal(1),installation:_W,claim_ref:hW,intent_ref:sh,disposition:tG},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),disposition:G.Union([G.Object({kind:G.Literal(`acknowledged`)},{additionalProperties:!1}),G.Object({kind:G.Literal(`stale`),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1})])},{additionalProperties:!1});var nG=G.Union([G.Object({kind:G.Literal(`accepted`),delivery_ref:hW},{additionalProperties:!1}),G.Object({kind:G.Literal(`duplicate`),delivery_ref:hW},{additionalProperties:!1}),G.Object({kind:G.Literal(`unavailable`),retryable:G.Literal(!0),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Union([G.Literal(`invalid`),G.Literal(`unauthorized`),G.Literal(`unsupported`)]),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1})]);G.Object({protocol_version:G.Literal(1),disposition:nG},{additionalProperties:!1});var rG=G.String({minLength:1,maxLength:4096,pattern:`^[^\\u0000-\\u001f\\u007f]+$`}),iG=G.String({minLength:36,maxLength:36,pattern:`^feishu_user_[a-f0-9]{24}$`});G.Object({version:G.Literal(1),installation_ref:G.String({minLength:1,maxLength:512}),external_subject_ref:G.String({minLength:9,maxLength:508,pattern:`^open_id:[A-Za-z0-9_-]{1,500}$`}),access_token:rG,refresh_token:rG,access_expires_at:K,refresh_expires_at:G.Optional(K),scopes:G.Array(G.String({minLength:1,maxLength:256}),{minItems:1,maxItems:32,uniqueItems:!0}),authorized_at:K},{additionalProperties:!1}),G.Object({credential_ref:iG,updated_at:K},{additionalProperties:!1});var aG={authority:G.Object({project_ref:ch,installation_ref:G.String({minLength:1,maxLength:512}),binding_ref:G.String({minLength:1,maxLength:512}),external_subject_ref:G.String({pattern:`^open_id:[A-Za-z0-9_-]{1,500}$`}),role:G.Union([G.Literal(`owner`),G.Literal(`member`)])},{additionalProperties:!1}),diagnostic_id:G.Optional(G.String({pattern:`^fdiag_[a-f0-9]{32}$`}))};G.Union([G.Object({...aG,action:G.Literal(`list`)},{additionalProperties:!1}),G.Object({...aG,action:G.Literal(`connect`),document_id:G.String({pattern:`^[A-Za-z0-9]{27}$`})},{additionalProperties:!1}),G.Object({...aG,action:G.Literal(`connect_wiki`),node_token:G.String({pattern:`^[A-Za-z0-9]{1,999}$`})},{additionalProperties:!1}),G.Object({...aG,action:G.Literal(`refresh`),source_ref:p_,...m_.properties},{additionalProperties:!1})]);var oG={authority:G.Object({project_ref:ch,installation_ref:G.String({minLength:1,maxLength:512}),binding_ref:G.String({minLength:1,maxLength:512}),external_subject_ref:G.String({pattern:`^open_id:[A-Za-z0-9_-]{1,500}$`}),role:G.Union([G.Literal(`owner`),G.Literal(`member`)])},{additionalProperties:!1}),request_ref:G.String({pattern:`^eref_[a-f0-9]{32}$`})},sG={source_ref:g_};G.Union([G.Object({...oG,action:G.Literal(`list`),include_pending:G.Optional(G.Boolean())},{additionalProperties:!1}),G.Object({...oG,action:G.Literal(`register`),document_url:G.String({minLength:1,maxLength:2048})},{additionalProperties:!1}),G.Object({...oG,action:G.Literal(`confirm`),submission_ref:b_},{additionalProperties:!1}),G.Object({...oG,...sG,action:G.Literal(`prepare`)},{additionalProperties:!1}),G.Object({...oG,action:G.Literal(`resolve`),document_url:G.String({minLength:1,maxLength:2048})},{additionalProperties:!1}),G.Object({...oG,action:G.Literal(`authorization_status`),authorization_ref:__},{additionalProperties:!1}),G.Object({...oG,...sG,action:G.Literal(`transfer`),transfer_ref:G.String({pattern:`^transfer_[a-f0-9]{32}$`}),put_url:G.String({maxLength:8192,pattern:`^https://`}),headers:G.Record(G.String({maxLength:128}),G.String({maxLength:2048}))},{additionalProperties:!1})]);var cG=G.Object({source:S_,revision:G.String({minLength:1,maxLength:256}),sha256:G.String({pattern:`^[a-f0-9]{64}$`}),size_bytes:G.Integer({minimum:0,maximum:10485760}),media_type:G.String({minLength:1,maxLength:128}),transfer_ref:G.String({pattern:`^transfer_[a-f0-9]{32}$`})},{additionalProperties:!1});G.Object({...cG.properties,upload_id:G.Optional(ph)},{additionalProperties:!1}),G.Object({supports_drive_files:G.Optional(G.Boolean()),invocation_ref:G.Optional(nh),project_identity:G.Object({source:G.Literal(`git_config`),project_id:Ym},{additionalProperties:!1}),host_auth:G.Object({kind:G.Literal(`host_registration_secret_v1`),secret:G.String({minLength:1,maxLength:512})},{additionalProperties:!1}),relay_project_ref:ch,host_connection_ref:hh,request_ref:oG.request_ref,action:G.Union([G.Literal(`list`),G.Literal(`read`),G.Literal(`resolve`)]),source_ref:G.Optional(g_),document_url:G.Optional(G.String({minLength:1,maxLength:2048}))},{additionalProperties:!1});var lG={protocol_version:G.Literal(1),command_id:sh,relay_project_ref:ch,binding_ref:hW,operation_ref:hW,conversation:vW,external_subject:bW,origin:G.Union([G.Object({kind:G.Literal(`development_operator`)},{additionalProperties:!1}),G.Object({kind:G.Literal(`card_callback`),message_ref:gW,action_ref:hW},{additionalProperties:!1})]),operation:G.Union([G.Object({kind:G.Literal(`query`),round_id:G.Optional(ah)},{additionalProperties:!1}),G.Object({kind:G.Literal(`submit`),round_id:ah,expected_answer_revision:G.Integer({minimum:0})},{additionalProperties:!1})])};G.Object(lG,{additionalProperties:!1}),G.Object({...lG,actor:G.Union([xW,CW])},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),disposition:G.Union([G.Object({kind:G.Literal(`queried`),active:Mv,selected:G.Optional(Pv)},{additionalProperties:!1}),G.Object({kind:G.Literal(`submitted`),response:Vv},{additionalProperties:!1}),G.Object({kind:G.Union([G.Literal(`invalid`),G.Literal(`unauthorized`)]),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`unavailable`),retryable:G.Boolean(),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1})])},{additionalProperties:!1}),G.Union([G.Object({action:G.Literal(`resolve`),entry_ref:qy,diagnostic_id:G.Optional(G.String({pattern:`^fdiag_[a-f0-9]{32}$`}))},{additionalProperties:!1}),G.Object({action:G.Literal(`connect`),entry_ref:qy,external_subject_ref:G.String({pattern:`^open_id:[A-Za-z0-9_-]{1,128}$`}),input:G.String({minLength:1,maxLength:256}),diagnostic_id:G.Optional(G.String({pattern:`^fdiag_[a-f0-9]{32}$`}))},{additionalProperties:!1})]),G.Object({installation_ref:G.String({minLength:1,maxLength:256}),conversation_ref:G.String({pattern:`^oc_[A-Za-z0-9_-]{1,128}$`}),projection:Jy},{additionalProperties:!1}),G.Object({version:G.Literal(1),audience:G.Literal(`tutti-managed-models`),issuer:G.String({minLength:1,maxLength:200}),account_ref:lh,relay_project_ref:ch,nonce:sh,issued_at:G.Integer({minimum:0}),expires_at:G.Integer({minimum:0})},{additionalProperties:!1}),G.Object({relay_project_ref:ch},{additionalProperties:!1});var uG=e=>G.String({pattern:`^${e}${jt}$`}),dG=uG(Nt.managedCreation),fG=uG(Nt.hostInstallation),pG=uG(Nt.hostDelegation),mG=uG(Nt.projectModelGrant),hG=G.String({pattern:`^[A-Za-z0-9_-]{43}$`}),gG=G.String({pattern:`^sha256:[a-f0-9]{64}$`}),_G=G.String({pattern:`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$`});function vG(e){let t=Date.parse(e);return Number.isFinite(t)&&new Date(t).toISOString()===e}var yG=G.Object({request_ref:sh,project_id:Ym,surface:G.Union([G.Literal(`standalone`),G.Literal(`feishu`)]),existing_relay_project_ref:G.Optional(ch),installation_ref:fG,installation_secret_hash:gG,handoff_token_hash:gG,host_registration_secret_hash:gG,trial_consent:G.Literal(`trial-project-v1`),expires_before:G.Optional(_G)},{additionalProperties:!1});G.Object({console_token:hG,preparation:yG},{additionalProperties:!1}),G.Object({kind:G.Literal(`managed_project_authority_v2`),creation_ref:dG,handoff_token:hG,installation_ref:fG,installation_secret:hG},{additionalProperties:!1}),G.Object({delegation_ref:pG,installation_ref:fG,installation_secret:hG,relay_project_ref:ch,project_id:Ym,host_registration_secret:G.String({minLength:32,maxLength:256})},{additionalProperties:!1});var bG=G.Object({delegation_ref:pG,grant_ref:mG,relay_project_ref:ch,installation_ref:fG,funding_kind:G.Literal(`trial`),expires_at:G.Null(),state:G.Literal(`active`),model_access:G.Union([G.Literal(`runtime_authority_required`),G.Literal(`not_enabled`)])},{additionalProperties:!1}),xG=G.Object({creation_ref:dG,project_id:Ym,surface:G.Union([G.Literal(`standalone`),G.Literal(`feishu`)]),installation_ref:fG,expires_at:_G,state:G.Union([G.Literal(`prepared`),G.Literal(`activated`),G.Literal(`expired`),G.Literal(`revoked`)]),relay_project_ref:G.Optional(ch)},{additionalProperties:!1});G.Object({request_ref:sh,project_id:Ym,installation_ref:fG,installation_secret:hG,handoff_token:hG,host_registration_secret:G.String({minLength:32,maxLength:256})},{additionalProperties:!1}),G.Object({request_ref:sh,account_ref:lh,creation:xG,authority:G.Optional(bG)},{additionalProperties:!1}),G.Object({command_id:sh,target:G.Union([G.Object({kind:G.Literal(`grant`),ref:mG},{additionalProperties:!1}),G.Object({kind:G.Literal(`delegation`),ref:pG},{additionalProperties:!1}),G.Object({kind:G.Literal(`installation`),ref:fG},{additionalProperties:!1}),G.Object({kind:G.Literal(`creation`),ref:dG},{additionalProperties:!1})])},{additionalProperties:!1}),G.Object({version:G.Literal(2),audience:G.Literal(`tutti-creation-validation`),issuer:G.String({minLength:1,maxLength:200}),account_ref:lh,creation_ref:dG,project_id:Ym,installation_ref:fG,creation_expires_at:G.Integer({minimum:0}),nonce:sh,issued_at:G.Integer({minimum:0}),expires_at:G.Integer({minimum:0})},{additionalProperties:!1}),G.Object({creation_ref:dG,project_id:Ym,installation_ref:fG,route_ref:G.String({pattern:`^[a-z0-9][a-z0-9-]{1,60}$`}),state:G.Union([G.Literal(`started`),G.Literal(`succeeded`),G.Literal(`failed`),G.Literal(`unknown`)]),reason_code:G.Union([G.Literal(`validation_started`),G.Literal(`validation_succeeded`),G.Literal(`validation_route_unavailable`),G.Literal(`validation_http_rejected`),G.Literal(`validation_response_invalid`),G.Literal(`validation_transport_unknown`),G.Literal(`validation_interrupted`)]),http_status:G.Union([G.Null(),G.Integer({minimum:100,maximum:599})])},{additionalProperties:!1});var SG={account_ref:lh,relay_project_ref:ch,delegation_ref:pG,grant_ref:mG,installation_ref:fG},CG={issuer:G.String({minLength:1,maxLength:200}),nonce:sh,issued_at:G.Integer({minimum:0}),expires_at:G.Integer({minimum:0})};G.Object({version:G.Literal(3),audience:G.Literal(`tutti-managed-runtime`),...CG,...SG,funding_kind:G.Literal(`trial`)},{additionalProperties:!1}),G.Object({version:G.Literal(1),audience:G.Literal(`tutti-managed-revocation`),...CG,...SG},{additionalProperties:!1}),G.Object({authorization:G.String({pattern:`^tma3\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]{86}$`,maxLength:3500}),expires_at:G.Integer({minimum:0}),control_origin:G.String({minLength:1,maxLength:500}),delegation_ref:pG},{additionalProperties:!1});var wG=e=>G.String({pattern:`^${e}${jt}$`}),TG=wG(Nt.managedSession),EG=wG(Nt.managedCredential),DG=G.String({pattern:`^[a-z0-9][a-z0-9-]{1,60}$`}),OG=G.Object({base_url:G.String({minLength:1,maxLength:500}),model:G.String({pattern:`^tutti-[a-z0-9-]{1,80}$`})},{additionalProperties:!1});G.Object({session_ref:TG,route_ref:DG,disposition:G.Union([G.Literal(`created`),G.Literal(`existing`)]),provider:OG},{additionalProperties:!1});var kG=G.Object({credential_ref:EG,session_ref:TG,device_ref:wG(Nt.managedDevice),state:G.Union([G.Literal(`creating`),G.Literal(`active`),G.Literal(`expired`),G.Literal(`revoking`),G.Literal(`revoked`)]),expires_at:G.Integer({minimum:0}),quota_cap:G.Union([G.Null(),G.Integer({minimum:1})])},{additionalProperties:!1}),AG=G.Object({base_url:G.String({minLength:1,maxLength:500}),model:G.String({pattern:`^tutti-[a-z0-9-]{1,80}$`}),api_key:G.String({minLength:16,maxLength:1024,pattern:`^[^\\s]+$`})},{additionalProperties:!1});G.Union([G.Object({disposition:G.Literal(`issued`),credential:kG,route_ref:DG,provider:AG},{additionalProperties:!1}),G.Object({disposition:G.Literal(`already_issued`),credential:kG},{additionalProperties:!1})]),G.Object({disposition:G.Literal(`revoked`),credential:kG},{additionalProperties:!1}),G.Object({version:G.Literal(1),audience:G.Literal(`tutti-managed-account-read`),issuer:G.String({minLength:1,maxLength:200}),account_ref:lh,nonce:sh,issued_at:G.Integer({minimum:0}),expires_at:G.Integer({minimum:0})},{additionalProperties:!1}),G.Union([G.Literal(`in_progress`),G.Literal(`completed`),G.Literal(`failed`)]),G.Object({kind:G.Literal(`interrupted`),retry_with_new_command_id:G.Boolean()},{additionalProperties:!1});var jG=G.Union(C_.map(e=>G.Literal(e))),MG=G.Union([G.Object({kind:G.Literal(`initials`),initials:G.String({minLength:1}),color:jG},{additionalProperties:!1}),G.Object({kind:G.Literal(`image`),image_url:G.String({minLength:1}),initials:G.String({minLength:1}),color:jG},{additionalProperties:!1})]);G.Object({account_ref:lh,display_name:G.String({minLength:1}),avatar:MG,membership:G.Object({label:G.Union([G.Literal(`owner`),G.Literal(`member`)]),relay_project_ref:ch,joined_at:K},{additionalProperties:!1}),client_session_id:dh,client_session_created_at:K},{additionalProperties:!1}),G.Object({platform_session_ref:fh,account_ref:lh,display_name:G.String({minLength:1}),avatar:MG,membership:G.Object({label:G.Union([G.Literal(`owner`),G.Literal(`member`)]),relay_project_ref:ch,joined_at:K},{additionalProperties:!1}),binding_ref:G.String({minLength:1,maxLength:512}),installation_ref:G.String({minLength:1,maxLength:512}),external_subject_ref:G.String({minLength:1,maxLength:512}),platform_session_created_at:K,platform_session_expires_at:K},{additionalProperties:!1});var NG=G.Object({version:G.Literal(2),display_name:G.String({minLength:1,maxLength:80}),preparation:yG},{additionalProperties:!1});function PG(e){if(!e.startsWith(`#managed_request=`))return null;let t=e.slice(17);return Dd(sh,t)?t:null}function FG(e){if(e.length>8192||!e.startsWith(`#trial=`))return null;try{let t=JSON.parse(decodeURIComponent(e.slice(7)));return!Dd(NG,t)||!t.display_name.trim()||t.preparation.expires_before===void 0||!vG(t.preparation.expires_before)?null:t}catch{return null}}function IG(e){let t=new URL(e);if(t.protocol!==`https:`&&!(t.protocol===`http:`&&t.hostname===`127.0.0.1`)||t.username||t.password||t.pathname!==`/`||t.search||t.hash)throw Error(`Managed authorization origin is invalid.`);return t}function LG(e){if(IG(e.relay_origin),!Dd(NG,{version:2,display_name:e.draft.display_name,preparation:e.preparation})||!e.draft.display_name.trim()||e.preparation.expires_before===void 0||!vG(e.preparation.expires_before))throw Error(`Managed authorization entry is invalid.`)}function RG(e){if(!(e instanceof Wt))return`Tenso could not complete this step. Try again from Local Console.`;let t={console_setup_access_invalid:`Your computer sign-in has expired or predates this update. Close this dialog, sign out and sign in to Local Console again.`,account_session_required:`Sign in to Local Console again before starting this project.`,fresh_authentication_required:`Sign in again to confirm this computer and project with a fresh email code.`,authority_target_not_found:`Project access was not confirmed. Choose Check and continue to retry this setup.`,managed_preparation_expired:`This request expired. Close the dialog and start a new request.`,managed_creation_not_validated:`Model validation has not succeeded. Check the authorization and try again.`,managed_existing_project_requires_opt_in:`This is an existing Tenso project. Resume it with its current access; automatic enrollment is disabled.`,managed_trial_not_enabled:`This account is not enabled for the internal Tenso trial.`,managed_validation_unknown:`The model check outcome is unknown. It will not be retried automatically. Contact support before starting a new request.`,managed_validation_failed:`The model access check failed. No automatic retry was started. Review the connection before starting a new request.`,managed_project_must_be_stopped:`Stop this project before changing its model access.`,host_delegation_already_active:`This computer is already authorized. Revoke its access in Account before authorizing it again.`,host_delegation_revocation_pending:`The previous access is revoked. Wait for gateway key reconciliation in Account before authorizing again.`,managed_reauthorization_conflict:`Finish or close the existing authorization request before restoring access.`,project_owner_required:`Sign in as the project's existing owner. Feishu identity linking is not available yet.`},n=/^[a-z0-9_]{1,100}$/u.test(e.code)?e.code:`request_failed`;return`${t[n]??`Tenso could not complete this step.`} (${n}, HTTP ${e.statusCode}${e.requestId?`, ID ${e.requestId}`:``})`}function zG({entry:e}){let t=$e(),n=z({queryKey:Q.me,queryFn:()=>Gn(AV)}),r=fH(),i=pH(),a=(0,L.useRef)(null),[o,s]=(0,L.useState)(!1),[c,l]=(0,L.useState)(!1),[u,d]=(0,L.useState)(null),[f,p]=(0,L.useState)(Date.now());(0,L.useEffect)(()=>{let e=window.setInterval(()=>p(Date.now()),1e3);return()=>{window.clearInterval(e),a.current?.abort()}},[]);let m=f>=Date.parse(e.preparation.expires_before);async function h(){if(a.current||m||c)return;let t=new AbortController;a.current=t,s(!0),d(null);let n={baseUrl:AV.relayBaseUrl,credentials:`include`};try{let r;try{r=await db(n,e.preparation,t.signal)}catch(i){if(!(i instanceof Wt)||i.statusCode!==0&&i.statusCode<500)throw i;try{r=await fb(n,e.preparation.request_ref,t.signal)}catch{throw i}}if(r.project_id!==e.preparation.project_id||r.installation_ref!==e.preparation.installation_ref||r.surface!==e.preparation.surface||r.state!==`prepared`&&r.state!==`activated`)throw Error(`Authority readback mismatch`);t.signal.aborted||l(!0)}catch(e){t.signal.aborted||d(RG(e))}finally{a.current===t&&(a.current=null,s(!1))}}async function g(){if(!a.current){a.current=new AbortController,s(!0);try{await Zn(AV),t.removeQueries({queryKey:Q.me}),await n.refetch(),d(null)}catch(e){d(RG(e))}finally{a.current=null,s(!1)}}}return n.isLoading?null:n.data?.account.profile_complete?(0,R.jsx)(fW,{projectName:e.display_name,surface:e.preparation.surface===`feishu`?`Feishu`:`Tenso Workspace`,accountEmail:n.data.account.email,pending:o,authorized:c,expired:m,error:u,onAuthorize:()=>void h(),onSignInAgain:()=>void g(),onBrandClick:()=>{window.location.assign(`/projects`)}}):(0,R.jsx)(LH,{...n.data?.account?i:r,onBrandClick:()=>{window.location.assign(`/projects`)}})}function BG(){let[e]=(0,L.useState)(()=>FG(window.location.hash));return(0,L.useEffect)(()=>{window.history.replaceState(null,``,window.location.pathname)},[]),e===null?(0,R.jsx)(fW,{projectName:`Invalid trial request`,surface:``,accountEmail:``,pending:!1,authorized:!1,expired:!0,error:`Reopen trial authorization from Local Console.`,onAuthorize:()=>{},onSignInAgain:()=>{},onBrandClick:()=>{window.location.assign(`/projects`)}}):(0,R.jsx)(zG,{entry:e})}function VG(){return(0,L.useEffect)(()=>$(`/projects?panel=credits`,{replace:!0}),[]),null}var HG=`tutti.workspace-onboarding.v1`,UG={version:1,start_chat_pending:!1,tour_pending:!1};function WG(){try{return typeof window>`u`?null:window.sessionStorage}catch{return null}}function GG(e){return e.storage===void 0?WG():e.storage}function KG(e,t){return`${HG}:${e}:${t}`}function qG(e){if(typeof e!=`object`||!e)return null;let t=e;return t.version===1&&typeof t.start_chat_pending==`boolean`&&typeof t.tour_pending==`boolean`?{version:1,start_chat_pending:t.start_chat_pending,tour_pending:t.tour_pending}:null}function JG(e,t,n){if(e!==null)try{if(!n.start_chat_pending&&!n.tour_pending){e.removeItem(t);return}e.setItem(t,JSON.stringify(n))}catch{}}function YG(e,t,n={}){let r=GG(n);if(r===null)return{...UG};try{let n=r.getItem(KG(e,t));return n===null?{...UG}:qG(JSON.parse(n))??{...UG}}catch{return{...UG}}}function XG(e,t,n={}){JG(GG(n),KG(e,t),{version:1,start_chat_pending:!0,tour_pending:!0})}function ZG(e,t,n,r){let i=GG(r),a=YG(e,t,{storage:i});a[n]&&JG(i,KG(e,t),{...a,[n]:!1})}function QG(e,t,n={}){ZG(e,t,`start_chat_pending`,n)}function $G(e,t,n={}){ZG(e,t,`tour_pending`,n)}function eK({joinToken:e}){let t=$e(),n=z({queryKey:Q.join(e),queryFn:()=>Qn(AV,e)}),r=fH(()=>{n.refetch()}),i=pH(()=>{n.refetch()}),a=ht({mutationFn:()=>$n(AV,e),onSuccess:n=>{IV(t),t.invalidateQueries({queryKey:Q.join(e)}),n.disposition.kind===`joined`&&n.result!==void 0&&XG(n.result.account.account_ref,n.result.relay_project.relay_project_ref),n.result?.relay_project.host_status===`online`&&$($t(n.result.relay_project.relay_project_ref))}}),o=ht({mutationFn:e=>er(AV,e),onSuccess:e=>{IV(t),e.disposition.kind===`opened`&&e.result?.open_url!==void 0&&NV(e.result.open_url)}}),s=n.data;RV(s?.account!==void 0);let c=s?.relay_project?.display_name??`Project`,l=s?.relay_project?.host_status??`unknown`,u=s?.account?.profile_complete===!1,d=u?`login_required`:n.isLoading?`loading`:n.error===null?s?.next.kind??`invalid_or_expired`:`error`;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(zb,{route:{kind:`join`,joinToken:e},projectDisplayName:s?.relay_project?.display_name??null}),(0,R.jsx)(BH,{projectName:c,description:d===`invalid_or_expired`?`This invite can no longer be used.`:`You have been invited to join ${c}.`,hostLabel:Pz(l),hostOnline:l===`online`,nextKind:d,accountLabel:s?.account?.display_name??null,membershipLabel:s?.membership?.label??null,actionPending:a.isPending||o.isPending,error:n.error===null?a.error===null?o.error===null?null:FV(o.error):FV(a.error):FV(n.error),onBrandClick:()=>$(`/`),onRetry:()=>void n.refetch(),onAccept:()=>a.mutate(),onOpen:()=>{s?.next.kind===`open_workspace`&&o.mutate(s.next.relay_project_ref)},...d===`login_required`?{loginForm:u?i:r}:{}})]})}async function tK(e,t,n=`docx`){let r;try{r=await Db(hH,e,{diagnostics:t,profile:n})}catch(e){throw new rz(`document_authorization_bootstrap`,e,t)}let i;try{i=await tz({appId:r.app_id,state:r.state,scopes:r.authorization_scopes,allowLegacyFallback:!1})}catch(e){throw new rz(`document_authorization_request_access`,e,t)}try{await Ob(hH,{relayProjectRef:e,state:r.state,authorizationCode:i},{diagnostics:t})}catch(e){throw new rz(`document_authorization_exchange`,e,t)}}function nK({read:e}){return e.error===void 0?e.fetching?e.data===void 0?(0,R.jsx)(aS,{count:3}):(0,R.jsx)(`p`,{className:`reference-content`,role:`status`,children:`Updating…`}):null:(0,R.jsxs)(`div`,{className:`embedded-project-refresh-message`,role:`status`,children:[e.data===void 0?null:(0,R.jsx)(`p`,{children:`Showing the last loaded snapshot. It may be out of date.`}),(0,R.jsx)(UR,{diagnostic:e.error})]})}function rK(e){return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(nK,{read:e.read}),e.read.data===void 0?(0,R.jsx)(iS,{children:e.read.error?`Timeline unavailable.`:`Loading timeline…`}):(0,R.jsx)(DR,{...e.read.data,presentation:`sheet`,empty:(0,R.jsx)(iS,{children:`No timeline events yet.`})})]})}var iK={root:e=>[`feishu-project`,e],supporting:e=>[`feishu-project`,e,`supporting`],skills:e=>[`feishu-project`,e,`supporting`,`skills`],skillDetails:e=>[`feishu-project`,e,`supporting`,`skill`],skillDetail:(e,t)=>[`feishu-project`,e,`supporting`,`skill`,t],timeline:e=>[`feishu-project`,e,`supporting`,`timeline`],bootstrap:e=>[`feishu-project`,e,`bootstrap`],scratchpad:e=>[`feishu-project`,e,`scratchpad`],worklist:e=>[`feishu-project`,e,`worklist`],executionStatus:e=>[`feishu-project`,e,`execution-status`],artifacts:e=>[`feishu-project`,e,`artifacts`],artifactPreviewSession:(e,t)=>[`feishu-project`,e,`artifact-preview-session`,t],activeClarification:e=>[`feishu-project`,e,`active-clarification`],clarificationMessages:(e,t)=>[`feishu-project`,e,`clarification-messages`,t],activeApproval:e=>[`feishu-project`,e,`active-approval`],referenceFiles:e=>[`feishu-project`,e,`reference-files`],viewerFiles:e=>[`feishu-project`,e,`viewer-file`],viewerFile:(e,t)=>[`feishu-project`,e,`viewer-file`,t],taskDetail:(e,t)=>[`feishu-project`,e,`task-detail`,t],taskRunResults:(e,t)=>[`feishu-project`,e,`task-run-results`,t]};function aK(e,t){e.invalidateQueries({queryKey:iK.root(t)})}function oK(e,t,n){if(n===void 0)return;if(n.some(e=>e.kind===`all`)){aK(e,t);return}for(let r of n)switch(r.kind){case`all`:break;case`bootstrap`:case`workspace`:case`session`:e.invalidateQueries({queryKey:iK.bootstrap(t)});break;case`scratchpad`:e.invalidateQueries({queryKey:iK.scratchpad(t)});break;case`worklist`:e.invalidateQueries({queryKey:iK.worklist(t)});break;case`task`:case`task_detail`:e.invalidateQueries({queryKey:iK.taskDetail(t,r.task_id)});break;case`task_run_results`:e.invalidateQueries({queryKey:iK.taskRunResults(t,r.task_id)});break;case`messages`:r.scope===`clarification_round`&&e.invalidateQueries({queryKey:iK.clarificationMessages(t,r.round_id)});break;case`clarification`:e.invalidateQueries({queryKey:iK.activeClarification(t)}),r.round_id!==void 0&&e.invalidateQueries({queryKey:iK.clarificationMessages(t,r.round_id)});break;case`approval`:e.invalidateQueries({queryKey:iK.activeApproval(t)});break;case`execution_status`:case`activity`:e.invalidateQueries({queryKey:iK.executionStatus(t)});break;case`viewer`:(r.path===void 0||r.path.startsWith(`docs/reference`))&&(e.invalidateQueries({queryKey:iK.referenceFiles(t)}),e.invalidateQueries({queryKey:iK.viewerFiles(t)}));break;case`artifacts`:e.invalidateQueries({queryKey:iK.artifacts(t)});break;case`read_state`:case`provider_config`:case`provider_usage`:case`project_timeline`:case`skills`:case`recovery_summaries`:break}let r=new Map,i=e=>r.set(JSON.stringify(e),e);for(let e of n)e.kind===`skills`&&(i(iK.skills(t)),i(iK.skillDetails(t))),([`workspace`,`viewer`,`worklist`,`task`,`task_detail`,`task_run_results`,`clarification`,`project_timeline`,`provider_usage`].includes(e.kind)||e.kind===`messages`&&e.scope===`clarification_round`)&&i(iK.timeline(t));for(let t of r.values())e.invalidateQueries({queryKey:t})}function sK(e){return e.streamStatus!==`open`&&e.nowMs-e.lastRefreshAtMs>=(e.throttleMs??3e4)}function cK(e,t,n,r){let i=z({queryKey:e,queryFn:async({signal:e})=>{let n=az();try{return await r({signal:e,diagnostics:n})}catch(e){throw new rz(t,e,n)}},enabled:n,retry:!1,staleTime:3e4,refetchOnMount:`always`,refetchOnWindowFocus:!1}),a=i.error instanceof rz?i.error.cause:i.error,o=a instanceof Wt&&a.statusCode>=400&&a.statusCode<500;return{...i.data===void 0||o?{}:{data:i.data},...i.error===null?{}:{error:hz(i.error,az())},fetching:n&&i.isFetching}}function lK(e,t){let{data:n,...r}=e;return{...r,...n===void 0?{}:{data:t(n)}}}function uK({client:e,relayProjectRef:t,onSelectTask:n}){return(0,R.jsx)(rK,{read:lK(cK(iK.timeline(t),`project_timeline`,!0,t=>e.getProjectTimeline(t)),e=>VB(e,{onOpenWorklistTask:n}))})}function dK(e){let{tracker:t,execution:n,scratchpad:r,clarification:i,approval:a}=e,o=e.submission&&t?.kind===`activity`&&t.workflowRef!==void 0&&e.submission.operation.ref!==t.workflowRef?void 0:e.submission;if(o!==void 0&&t?.kind!==`request`){let e=o?.status===`running`||o?.status===`waiting_input`;return{activeSubmit:e,settled:o?.status===`succeeded`||o?.status===`failed`,failure:o?.status===`failed`?o.failure:void 0,submitPending:e,syncPending:JV(n,`scratchpad_refresh`),actionsDisabled:o?.status===`unknown`||o===null&&t!==null||YV(n)||i.state===`active`||a.state===`pending`}}let s=t?.kind===`activity`?t:void 0,c=e=>s!==void 0&&(e.activity_ref===s.activityRef||s.workflowRef!==void 0&&e.workflow_ref===s.workflowRef),l=qV(n).some(c),u=i.state===`active`&&i.thread.owner.kind===`task_compile`,d=l||u||JV(n,`task_compile`,`foreground`)||JV(n,`project_context_bootstrap`,`foreground`)||JV(n,`scratchpad_refresh`,`foreground`),f=s!==void 0&&(r.receipts.some(c)||r.state===`submitted`&&c({...r.submitted_by_activity_ref===void 0?{}:{activity_ref:r.submitted_by_activity_ref},...r.submitted_by_workflow_ref===void 0?{}:{workflow_ref:r.submitted_by_workflow_ref}})),p=n.last_conclusion,m=!d&&p?.kind===`failed`&&c(p)?p:void 0,h=f||m!==void 0;return{activeSubmit:d,settled:h,failure:m,submitPending:d||t!==null&&t.kind!==`unconfirmed`&&!h,syncPending:JV(n,`scratchpad_refresh`),actionsDisabled:t?.kind===`unconfirmed`||YV(n)||i.state===`active`||a.state===`pending`}}function fK(e,t){if(e.disposition.kind!==`accepted`&&e.disposition.kind!==`already_running`)return null;let n=e.result?.activity_ref,r=e.result?.submission_ref??e.result?.workflow_ref;return n===void 0?r===void 0?null:{kind:`unconfirmed`,commandId:t}:{kind:`activity`,activityRef:n,...r===void 0?{}:{workflowRef:r}}}function pK(e,t,n){return!t||e instanceof Wt&&[400,401,403,404,409,422].includes(e.statusCode)?null:{kind:`unconfirmed`,commandId:n}}function mK(e){let t=e.tracker?.kind===`unconfirmed`?{command_id:e.tracker.commandId}:e.tracker?.kind===`activity`&&e.tracker.workflowRef?{workflow_ref:e.tracker.workflowRef}:{},n=z({queryKey:[...e.key,`submission`,t],queryFn:({signal:n})=>e.read(t,n),enabled:e.enabled&&e.tracker?.kind!==`request`,retry:!1,refetchInterval:t=>t.state.error?15e3:t.state.data?.request?.status===`running`||t.state.data?.request?.status===`waiting_input`||e.tracker!==null?1500:1e4,refetchIntervalInBackground:!1,staleTime:0}),r=n.fetchStatus===`paused`?`reconnecting`:n.isError?n.data?`stale`:`unknown`:n.data?`current`:`unknown`;return{...n,request:e.enabled?n.data?.request:void 0,observation:r,note:e.enabled?hK(n.data?.request,r,e.tracker):void 0}}function hK(e,t,n){if(n?.kind!==`request`){if(!e&&n?.kind===`unconfirmed`)return`Acceptance is not confirmed. Check the project status before submitting again.`;if(t!==`current`&&(e?.status===`running`||e?.status===`waiting_input`||n!==null))return`Reconnecting. The latest request status is not confirmed; do not run it again yet.`;if(e?.status===`unknown`)return`Request status is unavailable. Refresh before starting another run.`;if(e?.status===`failed`)return`Tasks were not prepared. Review Scratchpad before running again. Diagnostic ID: ${e.failure.diagnostic_id}`}}var gK=1500,_K=6e4;function vK(e){let{client:t,relayProjectRef:n}=e,r=$e(),i=Ez(),[a,o]=(0,L.useState)(null),s=(0,L.useRef)(!1),c=(0,L.useRef)(Bt()),l=mK({enabled:e.requestStatusSupported,key:iK.worklist(n),tracker:a,read:(n,r)=>t.getWorklistSubmission(n,{signal:r,diagnostics:e.diagnostics})}),u=ht({mutationFn:()=>mz(`worklist_submit`,async n=>({response:await t.submitWorklist(e.scratchpad.updated_at===void 0?{}:{expected_scratchpad_updated_at:e.scratchpad.updated_at},{commandId:c.current},{diagnostics:n}),diagnostics:n})),onMutate:()=>(o({kind:`request`}),i.notify({tone:`loading`,title:`Running Scratchpad`})),onSuccess:({response:e},t,a)=>{let s=e.disposition.kind===`accepted`;o(fK(e,c.current)),oK(r,n,e.invalidates),i.update(a,{tone:s?`success`:`warning`,title:s?`Scratchpad run started`:`Scratchpad run not started`,message:e.disposition.kind===`already_running`?`Tenso is already processing work.`:s?`Tenso is preparing Worklist tasks.`:`Refresh the project and review its current status.`})},onError:(t,n,r)=>{o(pK(t,e.requestStatusSupported,c.current)),i.update(r,{tone:`warning`,title:`Scratchpad acceptance not confirmed`,message:pz(t,e.diagnostics)})},onSettled:()=>{s.current=!1}}),d=dK({...e,tracker:a,...l.request===void 0?{}:{submission:l.request}}),f=u.data?.diagnostics??e.diagnostics;(0,L.useEffect)(()=>{a===null||!d.settled||(o(null),oK(r,n,[{kind:`worklist`}]),d.failure!==void 0&&i.notify({tone:`error`,title:`Scratchpad run failed`,message:`Tenso could not prepare tasks. Review the project status before retrying. Diagnostic ID: ${f.diagnosticId} · ${f.webRelease} · worklist_submit · submit_chain_failed`}))},[a,d.settled,d.failure,f,i,r,n]);let p=d.submitPending;return(0,L.useEffect)(()=>{if(!p)return;let e=window.setInterval(()=>{if(document.visibilityState!==`hidden`)for(let e of[iK.scratchpad(n),iK.executionStatus(n),iK.activeClarification(n)])r.refetchQueries({queryKey:e,exact:!0,type:`active`},{cancelRefetch:!1})},gK);return()=>window.clearInterval(e)},[p,r,n]),(0,L.useEffect)(()=>{if(e.requestStatusSupported||a?.kind!==`activity`||d.activeSubmit||d.settled)return;let t=window.setTimeout(()=>{o(null),i.notify({tone:`warning`,title:`Scratchpad status could not be confirmed`,message:`The request was accepted, but its latest status is unavailable. Refresh the project before retrying. Diagnostic ID: ${f.diagnosticId} · ${f.webRelease} · worklist_submit · submit_status_unconfirmed`})},_K);return()=>window.clearTimeout(t)},[e.requestStatusSupported,a,d.activeSubmit,d.settled,f,i]),{note:l.note,submitPending:u.isPending||d.submitPending,syncPending:d.syncPending,actionsDisabled:d.actionsDisabled,submit:()=>{s.current||d.submitPending||d.syncPending||d.actionsDisabled||(s.current=!0,c.current=Bt(),u.mutate())}}}function yK(e){let t=$e(),n=Ez(),r=(0,L.useRef)(!1),i=ht({mutationFn:t=>e.hostClient.retryTask(t.taskId,{expected_latest_run_result_id:t.runResultId}),onMutate:()=>n.notify({tone:`loading`,title:`Retrying task`}),onSuccess:(r,i,a)=>{if(e.invalidate?e.invalidate(r.invalidates):zV(t,e.relayProjectRef,r.invalidates),r.disposition.kind===`accepted`){n.update(a,{tone:`success`,title:`Task retry started`});return}if(r.disposition.kind===`already_running`||r.disposition.kind===`retry_already_started`){n.update(a,{tone:`info`,title:`Task retry already started`});return}n.update(a,{tone:`warning`,title:`Task retry unavailable`,message:r.disposition.kind===`latest_run_result_changed`?`The task result changed. Review the latest result before retrying.`:r.disposition.kind===`retry_requires_resolution`?`This failure needs to be resolved before it can be retried safely.`:`The task cannot be retried in its current state.`})},onError:(t,r,i)=>{n.update(i,{tone:`error`,title:`Task retry failed`,message:(e.formatError??FV)(t)})},onSettled:()=>{r.current=!1}});return{retry:(e,t)=>{r.current||(r.current=!0,i.mutate({taskId:e,runResultId:t}))},stateFor:(e,t,n)=>i.isPending&&i.variables?.taskId===e&&i.variables.runResultId===t?`retrying`:n}}function bK({access:e,loading:t,pending:n,error:r,onAuthorize:i,onRefresh:a}){return(0,R.jsx)(TL,{brand:(0,R.jsx)(HR,{label:`Tenso`,onClick:a}),projectName:`Document access`,onRefresh:a,refreshing:t||n,children:t?(0,R.jsx)(aS,{count:3}):r?(0,R.jsx)(iS,{details:(0,R.jsx)(UR,{diagnostic:r}),children:`Document access unavailable.`}):(0,R.jsx)(iS,{details:e?.status===`pending`?(0,R.jsx)(Sw,{disabled:n,onClick:i,children:n?`Authorizing…`:`Authorize document access`}):void 0,children:e?.status===`authorized`?`Access is ready. Return to the group and retry the question, or continue the task from its pending step.`:e?.status===`expired`?`This access request expired. Ask Tenso to try reading again.`:`Tenso needs the project owner's permission to read the requested material.`})})}function xK(e){let t=new URLSearchParams(e).getAll(`access_request`);return t.length===1&&/^ref_auth_[a-f0-9]{32}$/u.test(t[0])?t[0]:void 0}function SK({project:e,authorizationRef:t,prepareSession:n}){let[r,i]=(0,L.useState)(0),[a,o]=(0,L.useState)(),[s,c]=(0,L.useState)(!0),[l,u]=(0,L.useState)(!1),[d,f]=(0,L.useState)(),p=(0,L.useRef)(!1),m=(0,L.useRef)(0);(0,L.useEffect)(()=>{let r=new AbortController;m.current+=1;let i=az();return c(!0),f(void 0),o(void 0),n(e,r.signal,i).then(()=>hb(hH,e).authorization(t,{diagnostics:i,signal:r.signal})).then(e=>{r.signal.aborted||o(e)}).catch(e=>{r.signal.aborted||f(hz(new rz(`reference_authorization_status`,e,i),i))}).finally(()=>{r.signal.aborted||c(!1)}),()=>{r.abort(),m.current+=1}},[e,t,n,r]);let h=async()=>{if(p.current||a?.status!==`pending`)return;p.current=!0,u(!0),f(void 0);let n=m.current,r=az();try{if(await tK(e,r,a.profile),n!==m.current)return;let i=await hb(hH,e).authorization(t,{diagnostics:r});n===m.current&&o(i)}catch(e){n===m.current&&f(hz(e instanceof rz?e:new rz(`reference_authorization_status`,e,r),r))}finally{p.current=!1,n===m.current&&u(!1)}};return(0,R.jsx)(bK,{loading:s,pending:l,...a===void 0?{}:{access:a},...d===void 0?{}:{error:d},onAuthorize:()=>void h(),onRefresh:()=>{p.current||i(e=>e+1)}})}var CK=3e4;function wK(e){if(!(e===void 0||e.disposition.kind===`issued`))return e.disposition.kind===`invalid_manifest`?e.disposition.message:e.disposition.kind===`preview_not_ready`?e.disposition.message??`Preview is not ready`:e.disposition.kind===`not_declared`?`Artifact is no longer declared`:`Preview session expired before it could be opened`}function TK(e){return e===void 0?!1:e.disposition.kind!==`issued`||e.result===void 0?e.disposition.kind===`preview_not_ready`||e.disposition.kind===`interrupted`?1e3:!1:Math.max(1e3,Date.parse(e.result.expires_at)-Date.now()-CK)}function EK(e){return e?.disposition.kind===`issued`?e.result?.bootstrap_url:void 0}var DK=`tutti_feishu_handoff`,OK=/^[A-Za-z0-9_-]{43}$/u;function kK(e){let t=new URLSearchParams(e),n=t.getAll(`view`),r=t.getAll(`open`);return n.length===1&&n[0]===`artifacts`&&r.length===1&&r[0]===`browser`&&!t.has(`authorize`)&&!t.has(`access_request`)&&!t.has(`lk_jump_to_browser`)}function AK(e,t){let n=new URL(`${e.pathname}${e.search}${e.hash}`,e.origin);n.searchParams.delete(`open`),t.replaceState(t.state,``,`${n.pathname}${n.search}${n.hash}`)}function jK(e){let t=`#${DK}=`,n=e.hash.startsWith(t)?e.hash.slice(t.length):void 0,r=n!==void 0&&OK.test(n)?n:void 0;return{systemBrowser:new URLSearchParams(e.search).get(`lk_jump_to_browser`)===`true`||r!==void 0,...r===void 0?{}:{handoffToken:r},shouldClearFragment:n!==void 0}}function MK(e,t){t.replaceState(t.state,``,`${e.pathname}${e.search}`)}function NK(e){if(!OK.test(e.handoffToken))throw TypeError(`Feishu browser handoff token is invalid`);let t=new URL(en(e.relayProjectRef),e.origin);return t.searchParams.set(`lk_jump_to_browser`,`true`),t.searchParams.set(`view`,`artifacts`),t.hash=`${DK}=${e.handoffToken}`,t.toString()}function PK(e,t=(e,t)=>window.open(e,t)){if(new URL(e).searchParams.get(`lk_jump_to_browser`)!==`true`)throw TypeError(`Feishu system-browser URL is missing the browser jump parameter`);let n=t(e,`_blank`);return n===null?!1:(n.opener=null,!0)}var FK=2e4;function IK(e,t){return e?.previewGeneration===t?e:{previewGeneration:t,annotations:[]}}function LK(e,t){return e!==null&&e.previewGeneration!==t}var RK=(0,L.createContext)(null);function zK(e){let t=e.intervalMs??FK,n=e.setIntervalFn??window.setInterval.bind(window),r=e.clearIntervalFn??window.clearInterval.bind(window),i=!0,a=!1,o=!1,s=()=>{!i||a||(a=!0,e.renew().then(()=>{i&&!o&&(o=!0,e.onInitialRenewed?.())}).catch(()=>void 0).finally(()=>{a=!1}))};s();let c=n(s,t);return()=>{i=!1,r(c)}}function BK({relayProjectRef:e,hostClient:t,enabled:n,feedbackEnabled:r,children:i}){let[a,o]=(0,L.useState)(null),[s,c]=(0,L.useState)(null),l=(0,L.useRef)(0),u=z({queryKey:Q.artifacts(e),queryFn:()=>t.getArtifacts(),enabled:n,staleTime:jV}),d=u.data?.artifact,f=d?.status===`declared`;(0,L.useEffect)(()=>{if(!(!n||!f))return zK({renew:()=>t.renewArtifactPreviewLease(),onInitialRenewed:()=>{u.refetch()}})},[u.refetch,f,n,t]);let p=d!==void 0,m=d?.status===`declared`?d.preview_generation:void 0,h=(0,L.useCallback)(e=>{o(t=>IK(t,e))},[]),g=(0,L.useCallback)(e=>{o(t=>{if(t===null||t.annotations.length>=64)return t;let{createdAt:n,...r}=e;return l.current+=1,{...t,annotations:[...t.annotations,{...r,createdAt:n,key:`artifact-feedback-note-${l.current}`}]}})},[]),_=(0,L.useCallback)(e=>{o(t=>t===null?null:{...t,annotations:t.annotations.filter((t,n)=>n!==e)})},[]),v=(0,L.useCallback)(()=>o(null),[]),y=(0,L.useCallback)(e=>c(e),[]),b=(0,L.useCallback)(()=>c(null),[]),x=(0,L.useMemo)(()=>({artifact:d,sidebarSignal:zz(d),loading:!p&&n&&u.isLoading,unavailable:!p&&n&&u.error!==null,feedbackEnabled:r,feedbackDraft:a,feedbackDraftStale:LK(a,m),beginFeedbackDraft:h,addFeedbackAnnotation:g,removeFeedbackAnnotation:_,clearFeedbackDraft:v,pendingActivation:s,requestFeedbackActivation:y,clearFeedbackActivation:b}),[g,d,u.error,u.isLoading,h,b,v,m,n,a,r,p,s,_,y]);return(0,R.jsx)(RK.Provider,{value:x,children:i})}function VK(){let e=(0,L.useContext)(RK);if(e===null)throw Error(`Workspace Artifact runtime is unavailable`);return e}function HK({relayProjectRef:e}){return(0,L.useEffect)(()=>{window.location.replace(en(e))},[e]),null}async function UK(e,t,n,r=!1){let i;try{await Eb(hH,e,{signal:t,diagnostics:n});return}catch(e){if(!Jt(e))throw new rz(`session_current`,e,n);i=e}if(r)throw new rz(`browser_session_restore`,i,n);let a;try{a=await wb(hH,e,{signal:t,diagnostics:n})}catch(e){throw new rz(`authorization_bootstrap`,e,n)}let o;try{o=await tz({appId:a.app_id,state:a.state})}catch(e){throw new rz(`h5_request_access`,e,n)}try{await Tb(hH,{relayProjectRef:e,state:a.state,authorizationCode:o},{signal:t,diagnostics:n})}catch(e){throw new rz(`authorization_exchange`,e,n)}}async function WK(e,t,n){try{await Ab(hH,{relayProjectRef:e,handoffToken:t},{diagnostics:n})}catch(t){try{await Eb(hH,e,{diagnostics:n});return}catch{throw new rz(`browser_handoff_consume`,t,n)}}}async function GK(e,t,n){try{return await n()}catch(n){throw new rz(e,n,t)}}function KK({relayProjectRef:e,diagnostics:t,browserEntry:n}){let r=(0,L.useMemo)(()=>Cb(hH,e),[e]),[i,a]=(0,L.useState)({kind:`loading`}),o=(0,L.useRef)(null),s=(0,L.useRef)(!1),c=(0,L.useRef)(!1);(0,L.useEffect)(()=>{let r=new AbortController;return a({kind:`loading`}),(n.handoffToken!==void 0&&!s.current?(o.current??=WK(e,n.handoffToken,t),o.current.then(()=>{s.current=!0})):UK(e,r.signal,t,!0)).then(()=>{r.signal.aborted||a({kind:`ready`})}).catch(e=>{r.signal.aborted||a({kind:`error`,...hz(e,t)})}),()=>r.abort()},[n.handoffToken,t,e]);let l=i.kind===`ready`,u=z({queryKey:iK.artifacts(e),queryFn:({signal:e})=>GK(`artifacts`,t,()=>r.getArtifacts({signal:e,diagnostics:t})),enabled:l}),d=u.data?.artifact,f=d?.status===`declared`;(0,L.useEffect)(()=>{if(!(!l||!f))return zK({renew:()=>r.renewArtifactPreviewLease({diagnostics:t}),onInitialRenewed:()=>{u.refetch()}})},[f,u.refetch,r,t,l]);let p=d?.status===`declared`&&d.preview.status===`ready`&&d.preview.url!==void 0?`${d.preview_generation}:${d.preview.url}`:null,m=z({queryKey:iK.artifactPreviewSession(e,p??`not-ready`),queryFn:()=>GK(`artifact_preview_session`,t,()=>r.issueArtifactPreviewSession(void 0,void 0,{diagnostics:t})),enabled:l&&p!==null,staleTime:1/0,retry:1,refetchInterval:e=>TK(e.state.data)}),h=m.data,g=m.error===null?wK(h):`${FV(m.error)} Diagnostic ID: ${t.diagnosticId}`,_=EK(h);return(0,L.useEffect)(()=>{_===void 0||c.current||(c.current=!0,window.location.replace(_))},[_]),i.kind===`error`||u.error!==null||m.error!==null||g!==void 0||u.isFetched&&p===null?(0,R.jsx)(`main`,{role:`status`,children:`Artifact preview is unavailable.`}):null}function qK({relayProjectRef:e,diagnostics:t,onDiagnosticsChange:n,initialTab:r,authorizeDocument:i,openArtifactInBrowser:a}){let o=(0,L.useMemo)(()=>Cb(hH,e),[e]),s=$e(),c=Ez(),[l,u]=(0,L.useState)({kind:`loading`}),[d,f]=(0,L.useState)(r),[p,m]=(0,L.useState)(),[h,g]=(0,L.useState)(``),[_,v]=(0,L.useState)(!1),[y,b]=(0,L.useState)(),[x,S]=(0,L.useState)(),[C,w]=(0,L.useState)(a),[T,E]=(0,L.useState)(!1),D=(0,L.useRef)(!1),[O,k]=(0,L.useState)(),[A,j]=(0,L.useState)(0),ee=(0,L.useRef)(null),M=(0,L.useRef)(null),te=(0,L.useRef)(0),N=(0,L.useRef)(t),P=(0,L.useRef)(!1),F=(t,n)=>UK(e,t,n);(0,L.useEffect)(()=>{let e=new AbortController;u({kind:`loading`}),b(void 0);let t=N.current;return F(e.signal,t).then(()=>{e.signal.aborted||u({kind:`ready`})}).catch(n=>{e.signal.aborted||u({kind:`error`,...hz(n,t)})}),()=>e.abort()},[e]),(0,L.useEffect)(()=>()=>{ee.current?.abort()},[]);let ne=l.kind===`ready`;(0,L.useEffect)(()=>{if(!ne||!i||P.current)return;P.current=!0;let t=N.current,n=c.notify({tone:`loading`,title:`Authorizing Feishu Docs`});tK(e,t).then(()=>{let e=new URL(window.location.href);e.searchParams.delete(`authorize`),window.history.replaceState(null,``,`${e.pathname}${e.search}${e.hash}`),c.update(n,{tone:`success`,title:`Feishu Docs authorized`,message:`Document access is ready. Retry the question or task that needed access.`})}).catch(e=>{let r=hz(e,t);c.update(n,{tone:`error`,title:`Feishu Docs authorization failed`,message:`${r.message} Diagnostic ID: ${r.diagnosticId}`})})},[i,c,e,ne]);let re=z({queryKey:iK.bootstrap(e),queryFn:({signal:e})=>GK(`host_bootstrap`,N.current,()=>o.getBootstrap({signal:e,diagnostics:N.current})),enabled:ne}),ie=re.data?.workspace.capabilities.sse===!0;(0,L.useEffect)(()=>{!ne||!ie||re.data===void 0||k(t=>t?.relayProjectRef===e?t:{relayProjectRef:e,cursor:re.data.event_cursor})},[re.data,ie,e,ne]),(0,L.useEffect)(()=>{if(!ne||!ie||O?.relayProjectRef!==e)return;let t;try{t=o.connectEvents({after:O.cursor,onReady:t=>{t.payload.replay.status===`missed`&&aK(s,e)},onInvalidate:t=>{oK(s,e,t)}})}catch{M.current=null;return}return M.current=t,()=>{M.current===t&&(M.current=null),t.close()}},[o,O,A,ie,s,e,ne]),(0,L.useEffect)(()=>{let t=()=>{let t=Date.now(),n=M.current;sK({streamStatus:n?.status(),nowMs:t,lastRefreshAtMs:te.current})&&(te.current=t,aK(s,e),n===null?j(e=>e+1):n.retryNow())},n=()=>{document.visibilityState!==`hidden`&&t()};return window.addEventListener(`focus`,t),window.addEventListener(`online`,t),document.addEventListener(`visibilitychange`,n),()=>{window.removeEventListener(`focus`,t),window.removeEventListener(`online`,t),document.removeEventListener(`visibilitychange`,n)}},[s,e]);let ae=z({queryKey:iK.scratchpad(e),queryFn:({signal:e})=>GK(`scratchpad`,N.current,()=>o.getScratchpad({signal:e,diagnostics:N.current})),enabled:ne}),oe=z({queryKey:iK.worklist(e),queryFn:({signal:e})=>GK(`worklist`,N.current,()=>o.getWorklist({signal:e,diagnostics:N.current})),enabled:ne}),se=z({queryKey:iK.executionStatus(e),queryFn:({signal:e})=>GK(`execution_status`,N.current,()=>o.getExecutionStatus({signal:e,diagnostics:N.current})),enabled:ne}),I=z({queryKey:iK.artifacts(e),queryFn:({signal:e})=>GK(`artifacts`,N.current,()=>o.getArtifacts({signal:e,diagnostics:N.current})),enabled:ne,refetchInterval:C&&d===`artifacts`?1500:!1}),ce=z({queryKey:iK.activeClarification(e),queryFn:({signal:e})=>GK(`clarification_active`,N.current,()=>o.getActiveClarification({signal:e,diagnostics:N.current})),enabled:ne}),le=z({queryKey:iK.activeApproval(e),queryFn:({signal:e})=>GK(`approval_active`,N.current,()=>o.getActiveApproval({signal:e,diagnostics:N.current})),enabled:ne}),ue=ce.data??re.data?.snapshots.active_clarification??{state:`none`},de=ue.state===`active`?ue.round.id:void 0,fe=z({queryKey:iK.clarificationMessages(e,de??`none`),queryFn:({signal:e})=>GK(`clarification_messages`,N.current,()=>o.getClarificationRoundMessages(de,{signal:e,diagnostics:N.current})),enabled:ne&&de!==void 0}),pe=le.data??re.data?.snapshots.active_approval??{state:`none`},me=I.data?.artifact,he=me?.status===`declared`;(0,L.useEffect)(()=>{if(!(!ne||!he))return zK({renew:()=>o.renewArtifactPreviewLease({diagnostics:N.current}),onInitialRenewed:()=>{I.refetch()}})},[he,I.refetch,o,ne]);let ge=me?.status===`declared`&&me.preview.status===`ready`&&me.preview.url!==void 0?`${me.preview_generation}:${me.preview.url}`:null,_e=z({queryKey:iK.artifactPreviewSession(e,ge??`not-ready`),queryFn:()=>GK(`artifact_preview_session`,N.current,()=>o.issueArtifactPreviewSession(void 0,void 0,{diagnostics:N.current})),enabled:ne&&d===`artifacts`&&ge!==null,staleTime:1/0,retry:1,refetchInterval:e=>TK(e.state.data)}),ve=_e.data,ye=_e.error===null?wK(ve):`${FV(_e.error)} Diagnostic ID: ${N.current.diagnosticId}`,be=EK(ve),xe=ht({mutationFn:()=>mz(`browser_handoff_create`,async t=>{let n=await kb(hH,e,{diagnostics:t});return NK({origin:window.location.origin,relayProjectRef:e,handoffToken:n.handoff_token})}),onSuccess:e=>{PK(e)?S(void 0):(S(e),c.notify({tone:`warning`,title:`Browser handoff ready`,message:`Click Open in browser again to continue in your system browser.`}))},onError:e=>{c.notify({tone:`error`,title:`Browser handoff failed`,message:pz(e,N.current)})}}),Se=(0,L.useCallback)(()=>{D.current=!0,w(!1)},[]),Ce=(0,L.useCallback)(()=>{if(Se(),!xe.isPending){if(ge===null){c.notify({tone:`warning`,title:`Artifact preview is not ready`,message:`Open it after the current Artifact preview becomes available.`});return}S(void 0),xe.mutate()}},[Se,xe.isPending,xe.mutate,ge,c]);(0,L.useEffect)(()=>{if(!C||!ne)return;let e=window.setTimeout(()=>E(!0),2e4);return()=>window.clearTimeout(e)},[C,ne]),(0,L.useEffect)(()=>{if(!(!C||D.current)){if(d!==`artifacts`||l.kind===`error`){Se();return}if(ne){if(I.isError||T){Se(),c.notify({tone:`warning`,title:`Artifact browser entry unavailable`,message:I.isError?pz(I.error,N.current):`Preview preparation timed out. Use Open in browser when it is ready. Diagnostic ID: ${N.current.diagnosticId}`});return}!I.isFetchedAfterMount||I.isFetching||(ge!==null||me!==void 0&&(me.status!==`declared`||me.preview.status===`failed`))&&Ce()}}},[d,me,I.error,I.isError,I.isFetchedAfterMount,I.isFetching,C,T,Se,c,ge,Ce,ne,l.kind]),(0,L.useEffect)(()=>{g(``)},[de]);let we=vK({requestStatusSupported:re.data?.workspace.capabilities.request_status_v1===!0,client:o,relayProjectRef:e,diagnostics:N.current,scratchpad:ae.data??HV(),execution:se.data??KV(new Date().toISOString()),clarification:ue,approval:pe}),Te=ht({mutationFn:({roundId:e,body:t})=>mz(`clarification_message_send`,n=>o.sendClarificationRoundMessage(e,{body:t},void 0,{diagnostics:n})),onSuccess:t=>{if(oK(s,e,t.invalidates),t.disposition.kind===`created`){g(``);return}c.notify({tone:`warning`,title:`Reply not sent`,message:`The clarification changed. Review the current request and try again.`})},onError:e=>{c.notify({tone:`error`,title:`Reply send failed`,message:pz(e,N.current)})}}),Ee=ht({mutationFn:e=>mz(`clarification_submit`,t=>o.submitClarificationRound(e,ue.state===`active`&&ue.round.answer_revision!==void 0?{expected_answer_revision:ue.round.answer_revision}:{},void 0,{diagnostics:t})),onMutate:()=>c.notify({tone:`loading`,title:`Submitting reply`}),onSuccess:(t,n,r)=>{oK(s,e,t.invalidates);let i=t.disposition.kind===`accepted`,a=t.disposition.kind===`already_submitted`;c.update(r,{tone:i?`success`:a?`info`:`warning`,title:i?`Reply submitted`:a?`Reply already submitted`:`Reply not submitted`,...i||a?{}:{message:t.disposition.kind===`no_answers`?`Add an answer before submitting.`:`The clarification or its answers changed. Review the current request and submit again.`}})},onError:(e,t,n)=>{c.update(n,{tone:`error`,title:`Reply submit failed`,message:pz(e,N.current)})}}),De=ht({mutationFn:({approvalId:e,decisionId:t})=>mz(`approval_decide`,n=>o.decideApproval(e,{decision_id:t},void 0,{diagnostics:n})),onMutate:()=>c.notify({tone:`loading`,title:`Sending decision`}),onSuccess:(t,n,r)=>{oK(s,e,t.invalidates);let i=t.disposition.kind===`accepted`;c.update(r,{tone:i?`success`:`warning`,title:i?`Decision sent`:`Decision not applied`,...i?{}:{message:`The approval changed. Review its current state.`}})},onError:(e,t,n)=>{c.update(n,{tone:`error`,title:`Decision failed`,message:pz(e,N.current)})}}),Oe=yK({hostClient:{retryTask:(e,t,n)=>mz(`task_retry`,r=>o.retryTask(e,t,n,{diagnostics:r}))},relayProjectRef:e,invalidate:t=>oK(s,e,t),formatError:e=>pz(e,N.current)}),ke=oe.data;(0,L.useEffect)(()=>{if(ke===void 0)return;let e=dB(ke);m(t=>t!==void 0&&e.some(e=>e.id===t)?t:void 0)},[ke]);let Ae=z({queryKey:iK.taskDetail(e,p??`none`),queryFn:({signal:e})=>GK(`task_detail`,N.current,()=>o.getTaskDetail(p,{signal:e,diagnostics:N.current})),enabled:ne&&p!==void 0}),je=z({queryKey:iK.taskRunResults(e,p??`none`),queryFn:({signal:e})=>GK(`task_run_results`,N.current,()=>o.getTaskRunResults(p,{limit:5},{signal:e,diagnostics:N.current})),enabled:ne&&p!==void 0}),Me=re.data!==void 0&&ae.data!==void 0&&oe.data!==void 0&&se.data!==void 0&&ce.data!==void 0&&le.data!==void 0&&(de===void 0||fe.data!==void 0),Ne=()=>{if(_)return;ee.current?.abort();let t=new AbortController;ee.current=t;let r=az();N.current=r,n(r),v(!0),b(void 0),(async()=>{try{if(await F(t.signal,r),t.signal.aborted)return;u({kind:`ready`});let n=I.refetch({throwOnError:!0});await Promise.all([s.invalidateQueries({queryKey:iK.supporting(e)}),re.refetch({throwOnError:!0}),ae.refetch({throwOnError:!0}),oe.refetch({throwOnError:!0}),se.refetch({throwOnError:!0}),n,ce.refetch({throwOnError:!0}),le.refetch({throwOnError:!0}),...de===void 0?[]:[fe.refetch({throwOnError:!0})],...p===void 0?[]:[Ae.refetch({throwOnError:!0}),je.refetch({throwOnError:!0})]]);let i=(await n).data?.artifact,a=i?.status===`declared`&&i.preview.status===`ready`&&i.preview.url!==void 0?`${i.preview_generation}:${i.preview.url}`:null;d===`artifacts`&&ge!==null&&a===ge&&await _e.refetch({throwOnError:!0})}catch(e){if(t.signal.aborted)return;let n=hz(e,r);Me?b(n):u({kind:`error`,...n})}finally{t.signal.aborted||(ee.current=null,v(!1))}})()},Pe=e=>{m(e),f(`work`)},Fe=re.data?.workspace.project.display_name??null,Ie;if(re.data===void 0||ae.data===void 0||oe.data===void 0||se.data===void 0||ce.data===void 0||le.data===void 0||de!==void 0&&fe.data===void 0){let e=re.error??ae.error??oe.error??se.error??ce.error??le.error??fe.error;Ie=l.kind===`error`?l:e===null?{kind:`loading`}:{kind:`error`,...hz(e,t)}}else{let e=re.data,t=ae.data,n=oe.data,r=se.data,i=y??(l.kind===`error`?l:void 0),a=uB(n,p),o=xB(Ae.data,je.data),s=Ae.data?.detail.result.latest_run_result_id,c=Ae.data?.detail.result.retry_action,u=o===void 0||s===void 0||c===void 0?o:{...o,retryAction:{state:Oe.stateFor(o.taskId,s,c)??c,onRetry:()=>Oe.retry(o.taskId,s)}},f=p===void 0?void 0:Ae.error!==null||je.error!==null?{title:`Task details unavailable`,description:`Refresh this project and try again.`}:u===void 0?{title:`Loading task details`,description:`Reading the latest task contract and Run results.`}:void 0,m=r.active_activity?.activity_kind===`run`||r.active_activities?.some(e=>e.activity_kind===`run`)===!0,g=Rz(me,{...be===void 0?{}:{previewUrl:be},pending:ge!==null&&be===void 0&&ye===void 0,...ye===void 0?{}:{errorMessage:ye}},{runActive:m}),v=me===void 0&&I.error!==null?`${FV(I.error)} Diagnostic ID: ${N.current.diagnosticId}`:void 0;Ie={kind:`ready`,projectName:e.workspace.project.display_name,accountName:e.session.account.display_name,membershipLabel:e.session.membership.label,hostVersion:e.workspace.server.version,activeTab:d,refreshing:_,...i===void 0?{}:{refreshMessage:i},projectStatus:Fz(r),scratchpad:lB(t,[],we.note),activeClarification:qz(ue),clarificationMessages:(fe.data?.items??[]).map(e=>Kz(e)),roundDraft:h,activeApproval:Zz(pe),worklist:{modules:a.modules,taskCount:a.taskCount,detailOpen:p!==void 0,...u===void 0?{}:{detail:u},...f===void 0?{}:{detailPlaceholder:f}},artifacts:g,...v===void 0?{}:{artifactError:v}}}return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(zb,{route:{kind:`feishu_project`,relayProjectRef:e},projectDisplayName:Fe}),(0,R.jsx)(qH,{state:Ie,supportingContent:d===`timeline`?(0,R.jsx)(uK,{client:o,relayProjectRef:e,onSelectTask:Pe},d):void 0,onRetry:Ne,onBrandClick:()=>window.location.reload(),onSelectTab:e=>{S(void 0),m(void 0),f(e)},onSelectTask:Pe,onCloseTask:()=>m(void 0),onOpenInBrowser:Ce,...x===void 0?{}:{browserOpenUrl:x,onBrowserOpenLinkClick:()=>S(void 0)},onSubmitScratchpad:we.submit,onRoundDraftChange:g,onSendRoundMessage:()=>{de!==void 0&&h.trim()!==``&&Te.mutate({roundId:de,body:h.trim()})},onSubmitRound:()=>{de!==void 0&&Ee.mutate(de)},onDecideApproval:(e,t)=>De.mutate({approvalId:e,decisionId:t}),scratchpadSubmitPending:we.submitPending,scratchpadSyncPending:we.syncPending,scratchpadActionsDisabled:we.actionsDisabled,roundSendPending:Te.isPending,roundSubmitPending:Ee.isPending,approvalDecisionPending:De.isPending,browserOpenPending:xe.isPending})]})}var JK=class extends L.Component{state={};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(){}render(){return this.state.error===void 0?this.props.children:this.props.artifactPresentation===!0?(0,R.jsx)(`main`,{role:`status`,children:`Artifact preview is unavailable.`}):(0,R.jsx)(qH,{state:{kind:`error`,...hz(new rz(`browser_runtime`,this.state.error,this.props.diagnostics),this.props.diagnostics)},onRetry:()=>window.location.reload(),onBrandClick:()=>window.location.reload(),onSelectTab:()=>void 0,onSelectTask:()=>void 0})}};function YK(e){let t=new URLSearchParams(e).getAll(`view`);return t.length===1&&(t[0]===`work`||t[0]===`artifacts`||t[0]===`timeline`)?t[0]:`project`}function XK(e){let t=new URLSearchParams(e).getAll(`authorize`);return t.length===1&&t[0]===`docx`}function ZK({relayProjectRef:e}){let[t,n]=(0,L.useState)(az),r=(0,L.useMemo)(()=>jK(window.location),[]),i=(0,L.useMemo)(()=>YK(window.location.search),[]),a=(0,L.useMemo)(()=>xK(window.location.search),[]),o=(0,L.useMemo)(()=>XK(window.location.search),[]),s=(0,L.useMemo)(()=>kK(window.location.search),[]);return(0,L.useEffect)(()=>{r.shouldClearFragment&&MK(window.location,window.history),s&&AK(window.location,window.history)},[r.shouldClearFragment,s]),(0,R.jsx)(JK,{diagnostics:t,artifactPresentation:r.systemBrowser,children:r.systemBrowser?(0,R.jsx)(KK,{browserEntry:r,diagnostics:t,relayProjectRef:e}):a===void 0?(0,R.jsx)(qK,{diagnostics:t,initialTab:i,authorizeDocument:o,openArtifactInBrowser:s,relayProjectRef:e,onDiagnosticsChange:n},e):(0,R.jsx)(SK,{project:e,authorizationRef:a,prepareSession:UK})})}function QK(){$(`/projects`,{replace:!0})}function $K(){let e=z({queryKey:Q.me,queryFn:()=>Gn(AV)}),t=fH(QK);return(0,L.useEffect)(()=>{e.data!==void 0&&QK()},[e.data]),e.isLoading||e.data!==void 0?null:(0,R.jsx)(oU,{...t,onBrandClick:()=>$(`/`),sessionError:e.error===null||Jt(e.error)?null:`Tenso could not check your current session. You can still try signing in.`})}var eq=`/account/local-console`,tq=/^[A-Za-z0-9_-]{32,128}$/u;function nq(e){return tq.test(e)}function rq(e){if(!/^[1-9]\d{0,4}$/u.test(e))return null;let t=Number(e);return Number.isInteger(t)&&t<=65535?t:null}function iq(e){if(!nq(e.accessToken))throw Error(`Local Console account continuation token is invalid.`);let t=new URL(e.localOrigin),n=rq(t.port);if(t.protocol!==`http:`||t.hostname!==`127.0.0.1`||n===null)throw Error(`Local Console account continuation requires an exact loopback origin.`);let r=new URL(eq,e.webBaseUrl);return r.search=``,r.hash=new URLSearchParams({access_token:e.accessToken,local_port:String(n),...e.intent===`sign_out`?{intent:`sign_out`}:{}}).toString(),r.toString()}function aq(e){let t=e.startsWith(`#`)?e.slice(1):e,n=new URLSearchParams(t),r=n.getAll(`intent`),i=r.length===0?`authenticate`:r[0];if(n.size!==2&&n.size!==3||n.getAll(`access_token`).length!==1||n.getAll(`local_port`).length!==1||r.length>1||n.size===3&&r.length!==1||n.size===2&&r.length!==0||i!==`authenticate`&&i!==`sign_out`)return null;let a=n.get(`access_token`)??``,o=rq(n.get(`local_port`)??``);return!nq(a)||o===null?null:{accessToken:a,localPort:o,intent:i}}function oq(e,t){let n=t.trim();if(n===``||n.length>80)throw Error(`Local Console account display name is invalid.`);let r=new URL(`http://127.0.0.1:${e.localPort}/console`);return r.hash=new URLSearchParams({access_token:e.accessToken,account_display_name:n}).toString(),r.toString()}function sq(e){let t=e.startsWith(`#`)?e.slice(1):e,n=new URLSearchParams(t);if(n.size!==1&&n.size!==2||n.getAll(`access_token`).length!==1||n.getAll(`account_display_name`).length>1||n.size===2&&n.getAll(`account_display_name`).length!==1)return null;let r=n.get(`access_token`)??``,i=n.get(`account_display_name`)?.trim();return!nq(r)||i!==void 0&&(i===``||i.length>80)?null:{accessToken:r,...i===void 0?{}:{accountDisplayName:i}}}function cq(e){let t=e.trim().replace(/[\\/]+$/u,``);return t===``?``:t.slice(Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`))+1).slice(0,80)}function lq(e){return{display_name:e.displayName.trim(),...e.description.trim()?{description:e.description.trim()}:{}}}function uq(e=``){return{workspacePath:e,folderMode:e?`existing`:`new`,parentDirectory:``,displayName:cq(e),description:``,baseUrl:``,apiKey:``,model:``,surface:`standalone`,accessMode:`managed`}}function dq(e,t,n){return{...e,workspacePath:t,...n?{}:{displayName:cq(t)}}}function fq(e){switch(e){case`console_busy`:return`Wait for the current Local Console action to finish.`;case`host_busy`:return`Wait for active project work or questions to finish.`;case`host_identity_unverified`:return`Stop or reopen the affected project before updating.`;case`update_in_progress`:return`Another Tenso update is already in progress.`;case`update_recovery_required`:return`Run tutti again after closing this page to recover the interrupted update.`;case`global_prefix_read_only`:return`Use your normal terminal installation environment to update Tenso.`;case`npm_install_failed`:return`The npm installation failed. Refresh to check whether it can be retried.`;case`post_install_validation_failed`:return`The installed package could not be verified. Run tutti again to recover.`;case`completion_start_failed`:case`completion_failed`:case`worker_crashed`:return`The update was interrupted. Run tutti again to recover.`;case`host_restore_failed`:return`Tenso updated, but one or more local projects could not restart.`;case`installation_not_global`:case`custom_home`:case`npm_unavailable`:case`npm_global_root_mismatch`:case`npm_version_unsupported`:case`registry_unavailable`:case void 0:return`Tenso cannot update from this Local Console.`}}function pq(e){if(e.status!==`updating`)return e.status===`blocked`||e.status===`failed`?fq(e.reason_code):void 0;switch(e.phase){case`stopping_hosts`:return`Safely stopping online projects.`;case`installing`:return`Installing the new Tenso version.`;case`restarting`:return`Restarting local projects.`;case`preparing`:case void 0:return`Preparing the update.`}}function mq(e){let t=e.update;if(t===null||t.status===`up_to_date`||t.latest_version===void 0&&t.status!==`updating`&&t.status!==`failed`)return;let n=e.checking&&t.status===`ready`?`Checking update readiness.`:pq(t);return{label:t.status===`updating`?`Updating…`:`Restart and Update`,disabled:t.status!==`ready`||!t.can_update||e.checking||e.starting,...n===void 0?{}:{description:n}}}function hq(e,t){let n=e.replace(/\s+/g,` `).trim();return n.length===0?t:n}function gq({inviterName:e,projectName:t,joinUrl:n}){return`${hq(e,`A teammate`)} invited you to join the Tenso project “${hq(t,`Untitled project`)}”.\n\nOpen the invitation link:\n${n.trim()}`}function _q(e){return new Wt({code:e,statusCode:409,message:e,retryable:!1})}async function vq(e){let{client:t,prepared:n,signal:r}=e,i=n.draft.request_ref,a=t=>{if(r.throwIfAborted(),t.draft.request_ref!==i||t.draft.project_id!==n.draft.project_id||t.draft.surface!==n.draft.surface||t.relay_origin!==n.relay_origin||t.preparation.installation_ref!==n.preparation.installation_ref)throw _q(`managed_preparation_mismatch`);return e.onRead(t),t};e.onStage(`checking`);let o=a(await t.reconcileManagedProject(i,AbortSignal.any([r,AbortSignal.timeout(15e3)])));if(o.draft.state===`awaiting_authorization`)throw _q(`authority_target_not_found`);if(o.draft.state===`validation_unknown`||o.draft.state===`validation_failed`||(o.draft.state===`prepared`&&(e.onStage(`validating`),o=a(await t.validateManagedProject(i,AbortSignal.any([r,AbortSignal.timeout(9e4)])))),o.draft.state!==`validated`&&o.draft.state!==`registered`))throw _q(`managed_${o.draft.state}`);r.throwIfAborted(),e.onStage(`launching`);let s=await t.launchManagedProject(i,AbortSignal.any([r,AbortSignal.timeout(12e4)]));return r.throwIfAborted(),s}var yq=uq();function bq(e,t){let n={projectId:e.project_id,projectName:e.display_name};return t.state===`connected`?{...n,state:`connected`}:t.state===`account_handoff_required`?{...n,state:`account_handoff_required`}:t.visibility===`visible_once`?{...n,state:`pairing_required`,command:t.command}:{...n,state:`not_recoverable`}}function xq(){return kV}function Sq(){window.history.replaceState(null,``,`${window.location.pathname}${window.location.search}`)}function Cq(){let e=window.open(`about:blank`,`_blank`);return e!==null&&(e.opener=null),e}function wq({connection:e,renderSurface:t,initialCreateOpen:n=!1}={}){let r=Tq(e,n);return(0,R.jsx)(iU,{...r,...t?{renderSurface:e=>t(r,e)}:{}})}function Tq(e,t=!1){let n=Ez(),r=(0,L.useRef)(void 0),i=(0,L.useRef)(void 0),a=(0,L.useRef)(!1),o=(0,L.useRef)(!1),s=(0,L.useRef)(null),[c,l]=(0,L.useState)(null),[u,d]=(0,L.useState)(`Checking credit…`),f=(0,L.useRef)(PG(window.location.hash)),[p,m]=(0,L.useState)(null),h=(0,L.useRef)(null),g=(0,L.useRef)(!1),_=(0,L.useRef)(0),v=(0,L.useRef)(null),y=(0,L.useRef)(!1),b=(0,L.useMemo)(()=>e?.client??ob({baseUrl:window.location.origin,csrfToken:()=>r.current,contextToken:()=>i.current}),[e?.client]),[x,S]=(0,L.useState)(null),[C,w]=(0,L.useState)(null),[T,E]=(0,L.useState)(yq),D=(0,L.useRef)(!1),O=(0,L.useRef)(null),k=(0,L.useRef)({baseUrl:``,apiKey:``}),[A,j]=(0,L.useState)([]),[ee,M]=(0,L.useState)(t),[te,N]=(0,L.useState)(`project`),[P,F]=(0,L.useState)([]),[ne,re]=(0,L.useState)(!0),ie=(0,L.useRef)(!1),[ae,oe]=(0,L.useState)(!1),[se,I]=(0,L.useState)(!1),[ce,le]=(0,L.useState)(null),[ue,de]=(0,L.useState)(null),[fe,pe]=(0,L.useState)(!1),[me,he]=(0,L.useState)(!1),[ge,_e]=(0,L.useState)(!1),[ve,ye]=(0,L.useState)(null);async function be(){if(!(r.current===void 0||ie.current)){ie.current=!0,re(!0);try{F((await b.getProjects()).projects)}catch(t){if(e?.signal.aborted)return;n.notify({tone:`error`,title:`Projects unavailable`,message:FV(t)})}finally{ie.current=!1,re(!1)}}}async function xe(e={}){h.current?.abort();let t=new AbortController;h.current=t,pe(!0);try{de(await b.getPackageUpdate({refresh:e.refresh===!0,signal:t.signal}))}catch{}finally{h.current===t&&(h.current=null,pe(!1))}}(0,L.useEffect)(()=>{a.current||(a.current=!0,(async()=>{try{let t=e?null:sq(window.location.hash);if(t!==null){Sq();let e=await b.exchangeSession(t.accessToken,t.accountDisplayName);r.current=e.csrf_token,i.current=e.context_token}let a=e?.bootstrap??await b.getBootstrap();if(r.current=a.csrf_token,a.account_gate?.status===`required`){let e=await b.createAccountContinuation();window.location.replace(iq({accessToken:e.access_token,localOrigin:window.location.origin,webBaseUrl:xq()}));return}if(S(a),w(null),await Promise.all([be(),xe()]),f.current!==null)try{let e=await b.readManagedProject(f.current);LG(e),m(e),E({...uq(e.draft.workspace_path),displayName:e.draft.display_name,description:e.draft.description??``,surface:e.draft.surface,...e.draft.existing_project_id===void 0?{}:{existingProjectId:e.draft.existing_project_id}}),M(!0),N(`provider`)}catch(e){n.notify({tone:`warning`,title:`Trial request could not be restored`,message:RG(e)})}}catch(e){re(!1),w(FV(e))}})())},[b]),(0,L.useEffect)(()=>()=>{h.current?.abort(),s.current?.abort()},[]),(0,L.useEffect)(()=>{if(d(`Checking credit…`),!ee||te!==`provider`||p!==null||x===null)return;let e=new AbortController;return b.readAccountUsage(e.signal).then(t=>{e.signal.aborted||d(t.state===`ready`?`${t.remaining.toLocaleString(`en`)} test credit remaining`:`No test credit account yet`)}).catch(()=>{e.signal.aborted||d(`Credit unavailable · Check Account`)}),()=>e.abort()},[b,ee,te,p,x]),(0,L.useEffect)(()=>{if(x===null||e)return;let t=window.setInterval(()=>{b.heartbeat().catch(()=>void 0)},6e4);return()=>window.clearInterval(t)},[x,b,e]),(0,L.useEffect)(()=>{if(!e||!x)return;let t=()=>{document.visibilityState!==`hidden`&&be()},n=window.setInterval(t,3e4);return window.addEventListener(`focus`,t),()=>{window.clearInterval(n),window.removeEventListener(`focus`,t)}},[e,x,b]),(0,L.useEffect)(()=>{if(x===null||ue?.latest_version===void 0||ue.status===`up_to_date`||ue.status===`failed`)return;let e=window.setInterval(()=>void xe(),ue.status===`updating`?2e3:15e3);return()=>window.clearInterval(e)},[x,ue?.latest_version,ue?.status]),(0,L.useEffect)(()=>{let e=x?.package_update_completion;e===void 0||y.current||(y.current=!0,n.notify(e.restart_failure_count===0?{tone:`success`,title:`Tenso updated to ${e.target_version}`}:{tone:`warning`,title:`Tenso updated to ${e.target_version}`,message:`${e.restart_failure_count} local project${e.restart_failure_count===1?``:`s`} could not restart.`}))},[x,n]),(0,L.useEffect)(()=>{if(ue?.status!==`failed`)return;let e=ue.reason_code??`update_failed`;v.current!==e&&(v.current=e,n.notify({tone:`error`,title:`Tenso update did not complete`,message:fq(ue.reason_code)}))},[n,ue]);async function Se(){try{let e=await b.pickFolder();e.kind===`selected`?Le(T.folderMode===`existing`?{workspacePath:e.path}:{parentDirectory:e.path}):e.kind===`unavailable`&&n.notify({tone:`info`,title:`Use a folder path`,message:e.message})}catch(e){n.notify({tone:`error`,title:`Folder picker unavailable`,message:FV(e)})}}async function Ce(){let e={baseUrl:T.baseUrl.trim(),apiKey:T.apiKey.trim()},t=()=>k.current.baseUrl.trim()===e.baseUrl&&k.current.apiKey.trim()===e.apiKey;oe(!0);try{let r=await b.discoverModels({base_url:e.baseUrl,api_key:e.apiKey});if(!t())return;r.kind===`ok`?(j(r.models),E(e=>({...e,model:``}))):(j([]),n.notify({tone:`error`,title:`Provider check failed`,message:r.reason===`model_list_empty`?`The endpoint did not return any available models.`:`Check the Base URL and API key, then try again.`}))}catch(e){if(!t())return;j([]),n.notify({tone:`error`,title:`Provider check failed`,message:FV(e)})}finally{oe(!1)}}async function we(e){if(T.folderMode===`existing`||T.existingProjectId!==void 0)return T.workspacePath.trim();if(!x?.default_projects_directory)throw Error(`Update Tenso on this computer before creating a new project.`);let t=JSON.stringify([T.displayName.trim(),T.parentDirectory.trim()]);O.current?.key!==t&&(O.current={key:t,requestRef:Bt()});let n=await b.createProjectFolder({request_ref:O.current.requestRef,display_name:T.displayName.trim(),...T.parentDirectory.trim()?{parent_directory:T.parentDirectory.trim()}:{}},e);return e?.throwIfAborted(),n.workspace_path}async function Te(){if(!o.current){o.current=!0,I(!0);try{let e=await b.launchProject({workspace_path:await we(),surface:T.surface,project:lq(T),provider:{base_url:T.baseUrl.trim(),api_key:T.apiKey.trim(),model:T.model.trim()}});Re(),e.join_url===void 0?(await be(),ke(e.project,e.feishu_setup)):window.location.assign(e.join_url)}catch(e){n.notify({tone:`error`,title:`Launch failed`,message:FV(e)})}finally{o.current=!1,I(!1)}}}async function Ee(){if(o.current)return;o.current=!0;let t=new AbortController;s.current=t,I(!0);let r=null;try{let n=await b.prepareManagedProject({request_ref:p?.draft.request_ref??Bt(),workspace_path:await we(t.signal),...lq(T),surface:T.surface,...T.existingProjectId===void 0?{}:{existing_project_id:T.existingProjectId}},t.signal);t.signal.throwIfAborted(),LG(n),m(n),E(e=>({...e,displayName:n.draft.display_name,description:n.draft.description??``})),r=n,window.history.replaceState(null,``,`${e?window.location.pathname+window.location.search:`/console`}#managed_request=${n.draft.request_ref}`)}catch(e){if(t.signal.aborted)return;n.notify({tone:`error`,title:`Trial preparation failed`,message:RG(e)})}finally{o.current=!1,I(!1),s.current===t&&(s.current=null)}r!==null&&!t.signal.aborted&&De(r)}async function De(e=p){if(o.current||s.current||e===null)return;let t=new AbortController;s.current=t;try{e.draft.state===`awaiting_authorization`&&(o.current=!0,I(!0),l(`checking`),await b.authorizeManagedProject(e.draft.request_ref,t.signal),t.signal.throwIfAborted());let n=await vq({client:b,prepared:e,signal:t.signal,onRead:m,onStage:e=>{l(e),o.current=!0,I(!0)}});Re(),n.join_url===void 0?(await be(),ke(n.project,n.feishu_setup)):window.location.assign(n.join_url)}catch(e){t.signal.aborted||n.notify({tone:`error`,title:`Managed launch paused`,message:RG(e)})}finally{s.current===t&&(s.current=null,o.current=!1,I(!1),l(null))}}async function Oe(e){le(e.project_id);try{let t=await b.launchProject({workspace_path:e.workspace_path});await be(),e.surface_profile.kind===`feishu`?ke(t.project,t.feishu_setup):n.notify({tone:`success`,title:`${e.display_name} is ready`})}catch(e){let t=e instanceof Wt&&e.code===`provider_configuration_required`;n.notify({tone:t?`warning`:`error`,title:t?`Provider required`:`Launch failed`,message:t?`Use New project with this folder to update its Provider configuration.`:FV(e)})}finally{le(null)}}function ke(e,t){let n=++_.current;if(t!==void 0){ye(bq(e,t));return}ye({projectId:e.project_id,projectName:e.display_name,state:`loading`}),b.getFeishuSetup(e.project_id).then(t=>{_.current===n&&ye(bq(e,t))}).catch(t=>{_.current===n&&ye({projectId:e.project_id,projectName:e.display_name,state:`unavailable`,unavailableMessage:FV(t)})})}function Ae(e){e||(_.current+=1,ye(null))}async function je(e){try{await navigator.clipboard.writeText(e),n.notify({tone:`success`,title:`Connection command copied`})}catch{n.notify({tone:`error`,title:`Could not copy connection command`})}}async function Me(e){le(e.project_id);try{let t=await b.refreshInvite(e.project_id);await navigator.clipboard.writeText(gq({inviterName:``,projectName:e.display_name,joinUrl:t.join_url})),n.notify({tone:`success`,title:`Invitation copied`})}catch(e){n.notify({tone:`error`,title:`Invite unavailable`,message:FV(e)})}finally{le(null)}}async function Ne(e){if(e.open_url===void 0)return;let t=Cq();le(e.project_id);try{let r=await b.openProject(e.project_id);F(e=>e.map(e=>e.project_id===r.project.project_id?r.project:e)),t===null?window.location.assign(r.handoff.url):t.location.replace(r.handoff.url),r.host_update===`updated`?n.notify({tone:`success`,title:`${e.display_name} updated`}):r.host_update===`deferred_busy`?n.notify({tone:`info`,title:`Opened without updating`,message:`Try Open again after the current project activity finishes.`}):r.host_update===`deferred_unsupported`?n.notify({tone:`info`,title:`Opened with the current Host`,message:`Stop and Resume this project once to enable safe automatic updates.`}):r.host_update===`deferred_unavailable`&&n.notify({tone:`warning`,title:`Update deferred`,message:`The current Host could not be safely restarted, so the project opened as-is.`})}catch(e){t?.close(),n.notify({tone:`error`,title:`Open failed`,message:FV(e)})}finally{le(null)}}async function Pe(e){le(e.project_id);try{await b.stopProject(e.project_id),ve?.projectId===e.project_id&&Ae(!1),await Promise.all([be(),xe()]),n.notify({tone:`success`,title:`${e.display_name} stopped`})}catch(e){n.notify({tone:`error`,title:`Stop failed`,message:FV(e)})}finally{le(null)}}async function Fe(){if(!(g.current||ue?.status!==`ready`||!ue.can_update)){g.current=!0,he(!0);try{de(await b.startPackageUpdate())}catch(e){e instanceof Wt&&e.statusCode===0?de({...ue,status:`updating`,can_update:!1,phase:`preparing`}):(n.notify({tone:`error`,title:`Update not started`,message:FV(e)}),await xe())}finally{g.current=!1,he(!1)}}}async function Ie(){if(!ge){_e(!0);try{let e=await b.createAccountContinuation();window.location.replace(iq({accessToken:e.access_token,localOrigin:window.location.origin,webBaseUrl:xq(),intent:`sign_out`}))}catch(e){_e(!1),n.notify({tone:`error`,title:`Sign out failed`,message:FV(e)})}}}function Le(e){if(o.current||s.current)return;p!==null&&(m(null),Sq()),e.displayName!==void 0&&(D.current=!0);let t=e.baseUrl!==void 0&&e.baseUrl!==T.baseUrl||e.apiKey!==void 0&&e.apiKey!==T.apiKey;t&&(j([]),k.current={baseUrl:e.baseUrl??T.baseUrl,apiKey:e.apiKey??T.apiKey}),E(n=>({...e.workspacePath===void 0?n:dq(n,e.workspacePath,D.current),...e,...t?{model:``}:{}}))}function Re(){s.current?.abort(),s.current=null,o.current=!1,I(!1),l(null),m(null),Sq(),M(!1),N(`project`),j([]),k.current={baseUrl:``,apiKey:``},D.current=!1,O.current=null,E(uq())}function ze(e){if(!e){!ae&&!se&&Re();return}if(!x?.default_projects_directory){n.notify({tone:`info`,title:`Update Tenso to create a project`,message:`Use Restart and Update on this computer, then try again.`});return}O.current=null,D.current=!1,k.current={baseUrl:``,apiKey:``},j([]),E(uq()),N(`project`),M(!0)}function Be(e){o.current||ce!==null||(m(null),Sq(),E({...uq(e.workspace_path),displayName:e.display_name,surface:e.surface_profile.kind,existingProjectId:e.project_id}),N(`provider`),M(!0))}function Ve(e){if(e.preventDefault(),o.current||s.current||ae)return;if(p!==null){De();return}if(!ZH(te,T))return;let t=XH(T),n=t[t.indexOf(te)+1];if(n!==void 0){N(n);return}T.accessMode===`managed`?Ee():Te()}function He(){p!==null||o.current||s.current||ae||N(e=>{let t=XH(T);return t[Math.max(0,t.indexOf(e)-1)]})}let Ue=mq({update:ue,checking:fe,starting:me});return{...x===null?{}:{version:x.version,defaultProjectsDirectory:x.default_projects_directory},accountName:x?.account_gate?.status===`ready`?x.account_gate.account?.display_name??`Signed in`:`Signed in`,projectCenterHref:new URL(`/projects`,kV).toString(),form:T,managedPrepared:p!==null,creditNote:u,onDiscoverModels:()=>void Ce(),models:A,projects:P,projectsLoading:ne,sessionLoading:x===null&&C===null,sessionError:C,createOpen:ee,createStep:te,modelDiscoveryPending:ae,launchPending:se,managedStage:c,projectActionPending:ce,signOutPending:ge,feishuConnection:ve,...Ue===void 0?{}:{packageUpdateAction:Ue},onChange:Le,onCreateOpenChange:ze,onCreateSubmit:Ve,onCreateBack:He,onChooseFolder:()=>void Se(),onRefresh:()=>void Promise.all([be(),xe({refresh:!0})]),onLaunchExisting:e=>void Oe(e),onAuthorizeExisting:Be,onOpenProject:e=>void Ne(e),onCopyInvite:e=>void Me(e),onConnectFeishu:e=>ke(e),onFeishuConnectionOpenChange:Ae,onCopyFeishuCommand:e=>void je(e),onStopProject:e=>void Pe(e),onPackageUpdate:()=>void Fe(),onSignOut:()=>void Ie()}}function Eq(){return(0,L.useEffect)(()=>$(`/projects`,{replace:!0}),[]),null}function Dq({continuation:e}){let t=Ez(),n=$e(),r=(0,L.useRef)(!1),[i,a]=(0,L.useState)(e.intent!==`sign_out`),o=(0,L.useCallback)(async n=>{if(!r.current){r.current=!0;try{await Jn(AV,e.accessToken,!0),window.location.replace(oq(e,n))}catch{t.notify({tone:`error`,title:`Local Console sign-in failed`,message:`Tenso could not create the private account handoff. Please try again.`}),$(`/projects`,{replace:!0})}}},[e,t]),s=z({queryKey:Q.me,queryFn:()=>Gn(AV),enabled:i}),c=fH(),l=pH();if((0,L.useEffect)(()=>{if(e.intent!==`sign_out`)return;let r=!1;return Zn(AV).then(()=>{r||(n.removeQueries({queryKey:Q.me}),a(!0))}).catch(()=>{r||(t.notify({tone:`error`,title:`Sign out failed`}),$(`/projects`,{replace:!0}))}),()=>{r=!0}},[e.intent,t,n]),(0,L.useEffect)(()=>{let e=s.data?.account;e?.profile_complete===!0&&o(e.display_name)},[s.data?.account,o]),!i||s.isLoading||s.data?.account.profile_complete===!0)return null;let u=s.data?.account.profile_complete===!1?l:c,d=s.error===null||Jt(s.error)?null:`Tenso could not check your current session. You can still try signing in.`;return(0,R.jsx)(LH,{...u,error:u.error??d,onBrandClick:()=>$(`/`)})}function Oq(){let e=aq(window.location.hash);return e===null?(0,R.jsx)(Eq,{}):(0,R.jsx)(Dq,{continuation:e})}function kq(e){let t=t=>{let n=new Map;for(let r of e)n.set(r[t],[...n.get(r[t])??[],r]);return[...n.entries()].map(([e,t])=>({ref:e,entries:t,representative:t.find(e=>e.state===`active`)??t[0],active:t.some(e=>e.state===`active`),revocationPending:t.some(e=>e.downstream_keys===`pending`),revoked:t.every(e=>e.downstream_keys===`confirmed`)}))};return{projects:t(`grant_ref`),computers:t(`installation_ref`)}}function Aq({group:e}){return e.active?(0,R.jsx)(`small`,{children:e.revocationPending?`Enabled · previous access is still being disabled`:`Enabled`}):(0,R.jsx)(`small`,{children:e.revoked?`Disabled`:`Disabling…`})}function jq(e){let t=t=>(0,R.jsx)(ak,{title:`Authorized ${Oz(t.representative.created_at)}`,action:t.active?(0,R.jsx)(X,{type:`button`,disabled:e.pending,onClick:()=>e.onSelect({kind:`grant`,ref:t.ref,label:t.representative.project_name}),children:`Disable Tenso credit`}):void 0,children:(0,R.jsx)(Aq,{group:t})},t.ref),n=e.groups.filter(e=>e.active),r=e.groups.filter(e=>!e.active);return(0,R.jsxs)(Rk,{title:`Tenso credit`,children:[e.groups.length===0?(0,R.jsx)(`p`,{children:`No Tenso credit access is recorded for your account.`}):null,n.map(t),n.length===0&&r.length>0?(0,R.jsx)(`small`,{children:r.some(e=>!e.revoked)?`Disabling…`:`Disabled`}):null,r.length>0?(0,R.jsx)(Lk,{title:`Previous authorizations`,children:r.map(t)}):null]})}function Mq(e){let t=kq(e.overview.delegations);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Rk,{title:`Computers`,children:t.computers.length===0?(0,R.jsx)(`p`,{children:`No authorized computers.`}):t.computers.map(t=>(0,R.jsx)(ak,{title:`Computer …${t.ref.slice(-8)}`,description:`${new Set(t.entries.map(e=>e.relay_project_ref)).size} project(s)`,action:t.active?(0,R.jsx)(X,{type:`button`,disabled:e.pending,onClick:()=>e.onSelect({kind:`installation`,ref:t.ref,label:`computer`}),children:`Disable Tenso credit`}):void 0,children:(0,R.jsx)(Aq,{group:t})},t.ref))}),(0,R.jsx)(Rk,{title:`Browsers`,children:e.overview.sessions.map(t=>(0,R.jsx)(ak,{title:t.current?`This browser`:`Other browser`,description:`Signed in ${Oz(t.created_at)}`,action:t.current?void 0:(0,R.jsx)(X,{type:`button`,disabled:e.pending,onClick:()=>e.onSelect({kind:`session`,ref:t.session_ref,label:`browser`}),children:`Sign out`})},t.session_ref))})]})}function Nq(e){let t=e.confirmation,n=t?.kind===`session`?`Sign out this browser?`:t?.kind===`installation`?`Disable this computer’s Tenso credit?`:`Disable Tenso credit for this project?`,r=t?.kind===`session`?`Projects running on your computers will continue.`:t?.kind===`installation`?`Stops new model access for your projects on this computer. Files stay intact; requests already running may finish.`:`Stops new model access for “${t?.label??`this project`}”. Files and membership stay intact; requests already running may finish.`;return(0,R.jsx)(Mk,{className:`product-account-dialog`,open:e.panel!==null,onOpenChange:n=>{n||(t?e.onSelectRevoke(null):e.onClose())},title:t?n:e.panel===`credits`?`Credits`:e.panel===`account`?`Account`:e.project?.displayName??`Project details`,description:t?r:e.panel===`project`&&e.project?.surface===`feishu`?`Use this project in its Feishu group.`:void 0,closeDisabled:e.pending||e.logoutPending,headerAction:t?void 0:(0,R.jsx)(xw,{type:`button`,label:`Refresh account`,icon:(0,R.jsx)(Rx,{"aria-hidden":`true`}),disabled:e.loading||e.pending,onClick:e.onRefresh}),children:(0,R.jsx)(nk,{children:t?(0,R.jsxs)(Ik,{children:[(0,R.jsx)(X,{type:`button`,disabled:e.pending,onClick:()=>e.onSelectRevoke(null),children:`Cancel`}),(0,R.jsx)(Sw,{type:`button`,disabled:e.pending,onClick:e.onConfirmRevoke,children:e.pending?`Updating…`:t.kind===`session`?`Sign out browser`:`Confirm disable`})]}):(0,R.jsxs)(R.Fragment,{children:[e.panel===`credits`?(0,R.jsxs)(R.Fragment,{children:[e.usageError?(0,R.jsx)(Fw,{children:e.usageError}):e.usage?.state===`ready`?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(ik,{items:[{label:`Available test credit`,value:e.usage.remaining.toLocaleString(`en`)}]}),(0,R.jsx)(Lk,{title:`Usage details`,children:(0,R.jsx)(rk,{items:[{label:`Used · all time`,value:e.usage.used.toLocaleString(`en`)},{label:`Requests · all time`,value:e.usage.request_count.toLocaleString(`en`)}]})})]}):e.usage?.state===`not_initialized`?(0,R.jsx)(iS,{children:`No Tenso credit yet.`}):(0,R.jsx)(aS,{}),(0,R.jsx)(`small`,{children:`Test credit only. Payments are not enabled.`})]}):null,e.panel===`project`?(0,R.jsxs)(R.Fragment,{children:[e.project?(0,R.jsx)(rk,{items:[{label:`Surface`,value:e.project.surface===`feishu`?`Feishu`:`Tenso Workspace`},{label:`Your role`,value:e.project.membershipLabel},{label:`Host`,value:e.project.hostStatus===`online`?`Online`:e.project.hostStatus===`offline`?`Offline`:`Unknown`}]}):(0,R.jsx)(iS,{children:`Project unavailable.`}),e.overviewError?(0,R.jsx)(Fw,{children:e.overviewError}):e.overview?e.project?(0,R.jsx)(jq,{groups:kq(e.overview.delegations.filter(t=>t.relay_project_ref===e.project?.relayProjectRef)).projects,pending:e.pending,onSelect:e.onSelectRevoke}):null:(0,R.jsx)(aS,{})]}):null,e.panel===`account`?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(rk,{items:[{label:`Name`,value:e.accountName},{label:`Email`,value:e.email}]}),(0,R.jsx)(Lk,{title:`Security`,children:e.overviewError?(0,R.jsx)(Fw,{children:e.overviewError}):e.overview?(0,R.jsx)(Mq,{overview:e.overview,pending:e.pending,onSelect:e.onSelectRevoke}):(0,R.jsx)(aS,{})}),(0,R.jsxs)(Rk,{title:`Sign out`,children:[(0,R.jsx)(`small`,{children:`Signing out won’t stop your projects.`}),(0,R.jsx)(X,{type:`button`,disabled:e.logoutPending||e.pending,onClick:e.onSignOut,children:`Sign out`})]})]}):null,e.panel!==`credits`&&e.overview?.truncated?(0,R.jsx)(`small`,{children:`Only recent access records are shown. Contact support for older records.`}):null]})})})}var Pq={overview:[`account-managed-access`],usage:[`account-managed-usage`]},Fq={baseUrl:AV.relayBaseUrl,credentials:`include`};function Iq(e,t){let n=$e(),r=Ez(),i=z({queryKey:[...Pq.overview,e],enabled:e!==null&&t,queryFn:({signal:e})=>sb(Fq,e),refetchOnWindowFocus:!0,refetchInterval:e=>e.state.data?.delegations.some(e=>e.downstream_keys===`pending`)?5e3:!1}),a=z({queryKey:[...Pq.usage,e],enabled:e!==null,queryFn:({signal:e})=>cb(Fq,e),refetchOnWindowFocus:!0,staleTime:3e4}),[o,s]=(0,L.useState)(null),c=o?.account===e?o.target:null,[l,u]=(0,L.useState)(!1),d=(0,L.useRef)(!1),f=(0,L.useRef)({target:``,id:Bt()});async function p(){if(d.current||!c||!e)return;d.current=!0,u(!0);let t=`${e}/${c.kind}/${c.ref}`;f.current.target!==t&&(f.current={target:t,id:Bt()});try{c.kind===`session`?await ub(Fq,c.ref):await lb(Fq,{command_id:f.current.id,target:{kind:c.kind,ref:c.ref}}),s(null),await n.invalidateQueries({queryKey:[...Pq.overview,e]}),r.notify({tone:`success`,title:c.kind===`session`?`Browser signed out`:`Disabling Tenso credit`})}catch(e){r.notify({tone:`error`,title:`Change not confirmed`,message:RG(e)})}finally{d.current=!1,u(!1)}}return{overview:i.error===null?i.data:void 0,usage:a.error===null?a.data:void 0,overviewError:i.error===null?null:RG(i.error),usageError:a.error===null?null:RG(a.error),loading:i.isFetching||a.isFetching,pending:l,confirmation:c,selectRevoke:t=>s(t?{account:e,target:t}:null),confirmRevoke:()=>void p(),refresh:()=>{a.refetch(),t&&i.refetch()}}}var Lq=/^[A-Za-z0-9_-]{8,256}$/u,Rq=/https?:\/\/[^\s<>"'`“”‘’]+/giu,zq=/(?:^|[\s("'“‘])((?:\/)?join\/[A-Za-z0-9_-]{8,256})(?=$|[\s?#.,;:!'"”’)\]}])/giu,Bq=/[.,;:!?)}\]]+$/u;function Vq(e){let t;try{t=decodeURIComponent(e)}catch{return null}return Lq.test(t)?t:null}function Hq(e){let t=e.split(`/`).filter(Boolean);return t.length!==2||t[0]!==`join`?null:Vq(t[1]??``)}function Uq(e,t){let n=Hq(t);n!==null&&e.add(`/join/${encodeURIComponent(n)}`)}function Wq(e,t){try{Uq(e,new URL(t.replace(Bq,``)).pathname)}catch{}}function Gq(e){let t=e.trim();if(t===``)return{kind:`empty`};let n=new Set;for(let e of t.matchAll(Rq))Wq(n,e[0]);for(let e of t.matchAll(zq)){let t=e[1];if(t!==void 0)try{Uq(n,new URL(t,`https://tutti.invalid`).pathname)}catch{}}let r=Vq(t);return r!==null&&n.add(`/join/${encodeURIComponent(r)}`),n.size===0?{kind:`invalid`}:n.size>1?{kind:`ambiguous`}:{kind:`matched`,route:[...n][0]}}function Kq(e){return qt(e,`project_membership_required`)?{tone:`warning`,title:`Join this project first`,message:`This account has not joined the project. Open its invitation link, or return to Local Console and copy a new invite.`}:{tone:`error`,title:`Project open failed`,message:FV(e)}}var qq=`tenso://projects`,Jq=3e4,Yq=/^[A-Za-z0-9_-]+$/u,Xq=/^[A-Za-z0-9_-]{43}$/u,Zq=class extends Error{reason;constructor(e){super(`Tenso could not complete the desktop entry continuation.`),this.name=`DesktopEntryContinuationError`,this.reason=e}};function Qq(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t).replaceAll(`+`,`-`).replaceAll(`/`,`_`).replace(/=+$/u,``)}function $q(e,t){if(!Yq.test(e))throw new Zq(`invalid`);let n=`=`.repeat((4-e.length%4)%4),r;try{r=atob(e.replaceAll(`-`,`+`).replaceAll(`_`,`/`)+n)}catch{throw new Zq(`invalid`)}let i=new Uint8Array(r.length);for(let e=0;e<r.length;e+=1)i[e]=r.charCodeAt(e);if(t!==void 0&&i.length!==t||Qq(i)!==e)throw new Zq(`invalid`);return i}function eJ(e){return typeof e==`string`&&Lt(e,Nt.relayDesktopEntryContinuation)}function tJ(e){return typeof e==`string`&&e.length===43&&Yq.test(e)}function nJ(e=globalThis.crypto){let t=new Uint8Array(32);e.getRandomValues(t);let n=Qq(t);if(n.length!==43)throw new Zq(`invalid`);return n}function rJ(e){if(!eJ(e.continuationRef)||!tJ(e.completionToken)||e.payloadKey.length!==43)throw new Zq(`invalid`);return $q(e.payloadKey,32),`${qq}?${new URLSearchParams({continuation:e.continuationRef,completion_token:e.completionToken,payload_key:e.payloadKey}).toString()}`}function iJ(e,t={}){let n=Date.parse(e.expires_at);if(!Number.isFinite(n)||n<=(t.nowMs??Date.now())||!eJ(e.continuation_ref))throw new Zq(`invalid`);let r=nJ(t.cryptoImpl);return{continuationRef:e.continuation_ref,payloadKey:r,href:rJ({continuationRef:e.continuation_ref,completionToken:e.completion_token,payloadKey:r}),expiresAtMs:n}}function aJ(e){if(typeof e!=`object`||!e)throw new Zq(`invalid`);let t=e,n=t.iv,r=t.ciphertext;if(typeof n!=`string`||typeof r!=`string`||n.length!==16||r.length<24||r.length>4096)throw new Zq(`invalid`);return{iv:$q(n,12),ciphertext:$q(r)}}function oJ(e){let t;try{t=new URL(e)}catch{throw new Zq(`invalid`)}let n=t.port,r=Number(n);if(t.protocol!==`http:`||t.hostname!==`127.0.0.1`||!/^[1-9]\d{0,4}$/u.test(n)||!Number.isInteger(r)||r>65535||t.pathname!==`/console`||t.search!==``||t.username!==``||t.password!==``||t.hash===``)throw new Zq(`invalid`);let i=t.hash.slice(1),a=new URLSearchParams(i),o=a.get(`access_token`)??``;if(a.size!==1||a.getAll(`access_token`).length!==1||!Xq.test(o)||i!==new URLSearchParams({access_token:o}).toString())throw new Zq(`invalid`);return t.toString()}async function sJ(e,t,n=globalThis.crypto){let r=$q(t,32),i=aJ(e);try{let e=await n.subtle.importKey(`raw`,r,`AES-GCM`,!1,[`decrypt`]),t=await n.subtle.decrypt({name:`AES-GCM`,iv:i.iv},e,i.ciphertext);return oJ(new TextDecoder(`utf-8`,{fatal:!0}).decode(t))}catch(e){throw e instanceof Zq?e:new Zq(`invalid`)}}function cJ(e){let t=typeof e==`string`?Date.parse(e):NaN;if(!Number.isFinite(t))throw new Zq(`invalid`);return t}function lJ(e,t){return new Promise((n,r)=>{if(t.aborted){r(new Zq(`aborted`));return}let i=()=>{globalThis.clearTimeout(a),r(new Zq(`aborted`))},a=globalThis.setTimeout(()=>{t.removeEventListener(`abort`,i),n()},e);t.addEventListener(`abort`,i,{once:!0})})}async function uJ(e){let t=e.nowMs??Date.now,n=e.wait??lJ,r=t()+(e.timeoutMs??2e4);for(;!e.signal.aborted&&t()<r;){let i;try{i=await e.read(e.prepared.continuationRef,e.signal)}catch(i){if(e.signal.aborted)throw new Zq(`aborted`);if(i instanceof Wt&&!i.retryable)throw new Zq(`unavailable`);let a=r-t();if(a<=0)break;await n(Math.min(e.pollIntervalMs??500,a),e.signal);continue}if(typeof i!=`object`||!i)throw new Zq(`invalid`);let a=i;if(!eJ(a.continuation_ref)||a.continuation_ref!==e.prepared.continuationRef)throw new Zq(`invalid`);let o=cJ(a.expires_at);if(o<=t())throw new Zq(`expired`);if(a.status===`ready`)return sJ(a.sealed_payload,e.prepared.payloadKey,e.cryptoImpl);if(a.status!==`pending`)throw new Zq(`invalid`);let s=Math.min(r,o)-t();if(s<=0)break;await n(Math.min(e.pollIntervalMs??500,s),e.signal)}throw e.signal.aborted?new Zq(`aborted`):new Zq(`timeout`)}function dJ(e,t){let[n,r]=(0,L.useState)(0),[i,a]=(0,L.useState)(null),[o,s]=(0,L.useState)(!1),[c,l]=(0,L.useState)(`opening`),u=(0,L.useRef)(null),d=(0,L.useRef)(null),f=(0,L.useRef)(0),p=(0,L.useRef)(!1),m=(0,L.useCallback)(e=>{u.current=e,a(e)},[]);(0,L.useEffect)(()=>{d.current?.abort(),d.current=null,f.current+=1,p.current=!1,m(null),s(!1),l(`opening`)},[e,m]),(0,L.useEffect)(()=>{if(e===null)return;let t=u.current?.continuationRef??null,n=null,r=!1,i=window.setTimeout(()=>{n=new AbortController,Kn(AV,{signal:n.signal}).then(t=>{r||m({accountRef:e,...iJ(t)})}).catch(()=>{!r&&t!==null&&u.current?.continuationRef===t&&m(null)})},0);return()=>{r=!0,window.clearTimeout(i),n?.abort()}},[e,n,m]),(0,L.useEffect)(()=>{if(i===null||i.accountRef!==e)return;let t=i.expiresAtMs-Date.now(),n=t>3e4?t-Jq:Math.max(1e3,Math.floor(t/2)),a=window.setTimeout(()=>{u.current?.continuationRef===i.continuationRef&&(m(null),r(e=>e+1))},Math.max(0,n));return()=>window.clearTimeout(a)},[e,i,m]),(0,L.useEffect)(()=>()=>{d.current?.abort()},[]);let h=(0,L.useCallback)(()=>{s(!0),l(`opening`),d.current?.abort();let n=u.current;if(n===null||n.accountRef!==e||n.expiresAtMs<=Date.now()){r(e=>e+1);return}r(e=>e+1);let i=new AbortController;d.current=i;let a=f.current+1;f.current=a,uJ({prepared:n,read:(e,t)=>qn(AV,e,{signal:t}),signal:i.signal}).then(async e=>{if(!(f.current!==a||i.signal.aborted||p.current)){p.current=!0;try{t?(await t(e,i.signal),i.signal.aborted||s(!1),p.current=!1):window.location.replace(e)}catch(e){throw p.current=!1,e}}}).catch(e=>{f.current!==a||i.signal.aborted||e instanceof Zq&&e.reason===`aborted`||l(`failed`)}).finally(()=>{d.current===i&&(d.current=null)})},[e,m,t]),g=(0,L.useCallback)(e=>{s(e),e||(d.current?.abort(),d.current=null,f.current+=1,l(`opening`))},[]),_=(i!==null&&i.accountRef===e?i:null)?.href??`tenso://projects`;return{localScopeHref:_,localHandoffOpen:o,localHandoffStatus:c,localHandoffRetryHref:_,onLocalHandoffOpenChange:g,onLocalScopeSelect:h}}function fJ(e){let t=(0,L.useRef)(null),[n,r]=(0,L.useState)(null),i=n?.accountRef===e?.account_ref?n?.connection??null:null,[a,o]=(0,L.useState)(`disconnected`),[s,c]=(0,L.useState)(null),l=(0,L.useCallback)(()=>{t.current?.dispose(),t.current=null,r(null),o(`disconnected`),c(null)},[]);(0,L.useEffect)(()=>(l(),l),[e?.account_ref,l]);let u=(0,L.useCallback)(async(n,i)=>{if(e){l();try{let a=await Mb({accessUrl:n,accountDisplayName:e.display_name,signal:i,registerAccount:e=>Jn(AV,e,!0),onLost:()=>{l(),o(`lost`)}});if(i.aborted){a.dispose();return}t.current=a,r({accountRef:e.account_ref,connection:a})}catch(e){throw i.aborted||(o(`lost`),e instanceof Wt&&c([/^[a-z0-9_]{1,80}$/u.test(e.code)?e.code:`bridge_connection_failed`,e.requestId].filter(Boolean).join(` · `))),e}}},[e?.account_ref,e?.display_name,l]);return(0,L.useEffect)(()=>{if(!i)return;let e=!1,t=()=>{e||document.visibilityState===`hidden`||(e=!0,i.client.heartbeat().catch(()=>{}).finally(()=>{e=!1}))},n=window.setInterval(t,1e4);return window.addEventListener(`focus`,t),()=>{window.clearInterval(n),window.removeEventListener(`focus`,t)}},[i]),{connection:i,state:a,diagnostic:s,disconnect:l,connect:u}}function pJ({requestedOpenProjectRef:e,initialPanel:t}){let n=$e(),r=Ez(),i=fH(),a=pH(),[o,s]=(0,L.useState)(``),[c,l]=(0,L.useState)(null),[u,d]=(0,L.useState)(!1),f=(0,L.useRef)(!1),[p,m]=(0,L.useState)(t??null),[h,g]=(0,L.useState)(null);(0,L.useEffect)(()=>{m(t??null)},[t]);let _=(0,L.useRef)(null),v=z({queryKey:Q.me,queryFn:()=>Gn(AV)}),y=z({queryKey:[...Q.accountProjects,v.data?.account.account_ref],queryFn:({signal:e})=>jb({baseUrl:AV.relayBaseUrl,credentials:`include`},e),enabled:v.error===null&&v.data?.account.profile_complete===!0,refetchOnWindowFocus:!0}),b=v.error===null&&v.data?.account.profile_complete===!0?v.data.account:null,x=Iq(b?.account_ref??null,p===`account`||p===`project`),S=fJ(b);RV(b!==null);let C=ht({mutationFn:e=>er(AV,e),onSuccess:e=>{if(IV(n),e.disposition.kind===`opened`&&e.result?.open_url!==void 0){NV(e.result.open_url);return}r.notify({tone:`warning`,title:`Host is offline`})},onError:e=>{let t=Kq(e);r.notify({...t})}}),w=C.mutate;(0,L.useEffect)(()=>{e===void 0||v.data?.account.profile_complete!==!0||_.current===e||(_.current=e,w(e))},[v.data?.account.profile_complete,w,e]);let T=ht({mutationFn:()=>(S.disconnect(),Zn(AV)),onSuccess:()=>{m(null),g(null),x.selectRevoke(null),n.removeQueries({queryKey:Pq.overview}),n.removeQueries({queryKey:Pq.usage}),n.removeQueries({queryKey:Q.accountProjects}),n.invalidateQueries({queryKey:Q.relayRoot}),n.invalidateQueries({queryKey:Q.me}),n.invalidateQueries({queryKey:Q.recentProjects})},onError:e=>{r.notify({tone:`error`,title:`Sign out failed`,message:FV(e)})}}),E=b??void 0,D=dJ(E?.profile_complete===!0?E.account_ref:null,S.connect),O=v.error!==null&&Jt(v.error)?i:v.data?.account!==void 0&&!v.data.account.profile_complete?a:null;if(O!==null)return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(zb,{route:{kind:`home`}}),(0,R.jsx)(LH,{...O,onBrandClick:()=>$(`/`)})]});let k=(y.error===null?y.data?.projects??[]:[]).map(Iz),A=()=>{let e=Gq(o);if(e.kind!==`matched`){l(e.kind===`ambiguous`?`Paste one Tenso invitation at a time.`:`Paste a valid Tenso invitation.`);return}$(e.route)},j=e=>{d(e),e||(s(``),l(null))},ee=(e,t)=>(0,R.jsx)(lU,{...e?{local:e}:{},localDialogs:t,connectionState:S.state,connectionDiagnostic:S.diagnostic,onDisconnect:S.disconnect,relayOrigin:new URL(AV.relayBaseUrl,window.location.origin).origin,account:E===void 0?null:{displayName:E.display_name},projects:k,truncated:y.data?.truncated??!1,accountActions:E?(0,R.jsx)(ok,{name:E.display_name,credit:x.usage?.state===`ready`?`Credits · ${x.usage.remaining.toLocaleString(`en`)}`:x.usageError?`Credits unavailable`:`Credits`,disabled:x.pending||T.isPending,onCredit:()=>m(`credits`),onAccount:()=>m(`account`)}):void 0,onProjectDetails:e=>{g(e.relayProjectRef),m(`project`)},loading:v.isLoading||y.isLoading,error:v.error===null?y.error===null?null:FV(y.error):FV(v.error),openPending:C.isPending,logoutPending:T.isPending,joinLinkForm:{value:o,error:c,onChange:e=>{s(e),l(null)},onSubmit:A},joinOpen:u,localScopeHref:D.localScopeHref,localHandoffOpen:D.localHandoffOpen,localHandoffStatus:D.localHandoffStatus,localHandoffRetryHref:D.localHandoffRetryHref,onJoinOpenChange:j,onLocalHandoffOpenChange:D.onLocalHandoffOpenChange,onLocalScopeSelect:()=>{f.current=!1,D.onLocalScopeSelect()},onRequestNewProject:()=>{f.current=!0,D.onLocalScopeSelect()},onCopyLaunchCommand:e=>{navigator.clipboard.writeText(e).then(()=>{r.notify({tone:`success`,title:`Command copied`})}).catch(()=>{r.notify({tone:`error`,title:`Copy failed`,message:`The browser could not copy the launch command.`})})},onBrandClick:()=>$(`/`),onOpenProject:e=>C.mutate(e),onLogout:()=>T.mutate()});return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(zb,{route:{kind:`project_center`}}),S.connection?(0,R.jsx)(wq,{connection:S.connection,initialCreateOpen:f.current,renderSurface:ee}):ee(),E?(0,R.jsx)(Nq,{panel:p,project:k.find(e=>e.relayProjectRef===h),accountName:E.display_name,email:E.email,...x,logoutPending:T.isPending,onSelectRevoke:x.selectRevoke,onConfirmRevoke:x.confirmRevoke,onRefresh:()=>{x.refresh(),y.refetch()},onSignOut:()=>T.mutate(),onClose:()=>{m(null),x.selectRevoke(null),t&&$(`/projects`,{replace:!0})}}):null]})}function mJ(e){let t=e?.relay;if(t?.join_url_visibility===`visible_once`&&t.join_url!==void 0&&t.join_url.trim()!==``)return t.join_url}function hJ(e,t){try{return new URL(e).origin===new URL(t,e).origin}catch{return!1}}function gJ(e,t){let n=mJ(e);if(n!==void 0)return{kind:`join`,joinUrl:n};let r=e?.relay?.relay_project_ref;return r===void 0?{kind:`unavailable`,message:`Relay project is unavailable`}:hJ(t.currentOrigin,t.relayBaseUrl)?{kind:`relay_open`,relayProjectRef:r}:{kind:`unavailable`,message:`Open the latest Join URL printed by tenso launch.`}}var _J=`gpt-5.5`,vJ=`/host-local/v1`;function yJ(){return new URL(window.location.href).searchParams.get(`token`)?.trim()??``}function bJ(e){return{baseUrl:vJ,credentials:`same-origin`,headers:{authorization:`Bearer ${e}`}}}function xJ(e){return B(bJ(e),`/provider/config`)}function SJ(e){return B(bJ(e),`/launch-status`)}function CJ(e){return B(bJ(e),`/project`)}function wJ(e,t){return B(bJ(e),`/project`,{method:`POST`,body:t})}function TJ(e,t){return B(bJ(e),`/provider/config`,{method:`POST`,body:t})}function EJ(e){return e===void 0?`loading`:e.status===`configured`?`configured`:e.status===`invalid`?`invalid`:`not configured`}function DJ(e){let t=e instanceof Error&&`code`in e?String(e.code):``;return t.startsWith(`provider_`)?t:FV(e)}function OJ(){let e=yJ(),t=e===``,[n,r]=(0,L.useState)({projectName:``,apiKey:``,baseUrl:``,defaultModel:_J}),[i,a]=(0,L.useState)(null),[o,s]=(0,L.useState)(null),c=(0,L.useRef)(!1),l=z({queryKey:[`host-local`,`provider-config`,e],queryFn:()=>xJ(e),enabled:!t}),u=z({queryKey:[`host-local`,`launch-status`,e],queryFn:()=>SJ(e),enabled:!t}),d=z({queryKey:[`host-local`,`project`,e],queryFn:()=>CJ(e),enabled:!t}),f=u.data,p=ht({mutationFn:e=>er(AV,e.relayProjectRef),onSuccess:e=>{if(e.disposition.kind===`opened`&&e.result?.open_url!==void 0){NV(e.result.open_url);return}s(`Host is offline`)},onError:e=>{s(FV(e))}}),m=ht({mutationFn:async()=>{let t=n.projectName.trim(),r=d.data?.display_name.trim()??``;t!==``&&t!==r&&await wJ(e,{display_name:t});let i={api_key:n.apiKey.trim()},a=n.baseUrl.trim(),o=n.defaultModel.trim();return a!==``&&(i.base_url=a),o!==``&&(i.default_model=o),await TJ(e,i)},onSuccess:()=>{a(`Provider saved.`),r(e=>({...e,apiKey:``})),d.refetch(),l.refetch(),v()}}),h=l.data;(0,L.useEffect)(()=>{let e=d.data?.display_name;e!==void 0&&r(t=>t.projectName.trim()===``?{...t,projectName:e}:t)},[d.data?.display_name]),(0,L.useEffect)(()=>{t||h?.status!==`configured`||v()},[h?.status,t]);let g=t?`Setup token is missing.`:d.error===null?l.error===null?m.error===null?o:DJ(m.error):DJ(l.error):DJ(d.error);function _(e){e.preventDefault(),a(null),s(null),c.current=!1,!t&&n.apiKey.trim()!==``&&n.projectName.trim()!==``&&m.mutate()}async function v(){if(c.current)return;c.current=!0;let e=gJ(f??(await u.refetch()).data,{currentOrigin:window.location.origin,relayBaseUrl:kV});if(e.kind===`join`){window.location.assign(e.joinUrl);return}if(e.kind===`unavailable`){s(e.message);return}p.mutate({relayProjectRef:e.relayProjectRef})}return(0,R.jsx)(dU,{form:n,statusLabel:EJ(h),configured:h?.status===`configured`,loading:l.isLoading||d.isLoading,pending:m.isPending,tokenMissing:t,error:g,success:i,openProjectPending:p.isPending,onChange:e=>r(t=>({...t,...e})),onSubmit:_,onRetry:()=>void l.refetch(),onBrandClick:()=>$(`/`)})}function kJ(e){return`${e.created_at}:${e.id}`}function AJ(e){return{kind:`initial`,entry:e}}function jJ(e,t=50){if(e.kind===`older`)return{before:e.before,limit:t};if(e.kind===`newer`)return{after:e.after,limit:t};switch(e.entry.kind){case`latest`:return{limit:t};case`start`:return{anchor:`start`,limit:t};case`around`:return{around:e.entry.messageId,limit:t}}}function MJ(e){let t=e.window.older_cursor;return e.window.has_older&&t!==void 0?{kind:`older`,before:t}:void 0}function NJ(e){let t=e.window.newer_cursor;return e.window.has_newer&&t!==void 0?{kind:`newer`,after:t}:void 0}function PJ(e,t=50){let n=e[0],r=e.at(-1);if(n===void 0||r===void 0)return{items:[],window:{has_older:!1,has_newer:!1,limit:t}};let i=new Map;for(let t of e)for(let e of t.items)i.set(e.id,e);let a=[...i.values()].sort((e,t)=>kJ(e).localeCompare(kJ(t))),o={has_older:n.window.has_older,has_newer:r.window.has_newer,limit:n.window.limit};return o.has_older&&n.window.older_cursor!==void 0&&(o.older_cursor=n.window.older_cursor),o.has_newer&&r.window.newer_cursor!==void 0&&(o.newer_cursor=r.window.newer_cursor),{items:a,window:o}}function FJ(e){let t=e.enabled?e.messages.filter(e=>e.author.kind===`human`&&e.message_kind===`user_text`).slice(-8).map(e=>e.id):[],n=pt({queries:t.map(t=>({queryKey:[...e.key,`chat-request`,t],queryFn:async({signal:n})=>{try{return await e.read(t,n)}catch(e){if(e instanceof Wt&&e.statusCode===404)return null;throw e}},retry:!1,refetchIntervalInBackground:!1,refetchInterval:e=>e.state.error?15e3:e.state.data?.status===`queued`||e.state.data?.status===`running`?1500:!1,structuralSharing:(e,t)=>{let n=e,r=t;return n&&r&&n.operation.ref===r.operation.ref&&n.revision>r.revision?n:t}}))});return Object.fromEntries(n.flatMap((e,n)=>{let r=IJ(e.data,e.isError||e.fetchStatus===`paused`);return r===void 0?[]:[[t[n],r]]}))}function IJ(e,t){if(e)return t&&(e.status===`running`||e.status===`queued`)?`Answer status reconnecting`:e.status===`queued`?`Answer queued`:e.status===`running`?e.phase===`workspace_wait`?`Waiting for workspace`:`Preparing answer`:e.status===`succeeded`?`Answered`:`Answer not completed · Diagnostic ID: ${e.failure.diagnostic_id}`}var LJ=5400,RJ=1500;function zJ(e){let t=e.completionSource;return t?.activityRef??t?.workflowRef??t?.taskId??e.key}function BJ(e){switch(e.kind){case`accepted`:case`already_running`:return null;case`scratchpad_empty`:return{label:`Scratchpad is empty. Let it refresh before running.`,tone:`error`};case`stale_scratchpad`:return{label:`Scratchpad changed. Review the latest snapshot and run again.`,tone:`error`};case`provider_not_configured`:return{label:`Provider is not configured yet.`,tone:`error`};case`provider_unavailable`:return{label:`Provider unavailable: ${e.reason}.`,tone:`error`};case`interrupted`:return{label:`Run was interrupted. Try again.`,tone:`error`}}}function VJ(e,t){t.displayName.trim()===``||e.has(t.key)||e.set(t.key,t)}function HJ(e){if(e.author.kind!==`human`)return null;let t=e.author.display_name?.trim()||`Member`;return{key:e.author.ref===void 0?`message-author:${t.toLocaleLowerCase()}`:e.author.ref,displayName:t,avatar:e.author.avatar??{kind:`initials`,initials:O_(t),color:`blue`}}}function UJ({account:e,presence:t,messages:n=[]}){let r=new Map;e!==void 0&&VJ(r,{key:e.account_ref,displayName:e.display_name,avatar:e.avatar});for(let e of t?.sample_members??[])VJ(r,{key:e.account_ref,displayName:e.display_name,avatar:e.avatar});for(let e of t?.members??[])VJ(r,{key:e.account_ref,displayName:e.display_name,avatar:e.avatar});for(let e of n){let t=HJ(e);t!==null&&VJ(r,t)}return[...r.values()]}function WJ({account:e,presence:t}){let n={},r=(e,t)=>{let r=n[e];n[e]={avatar:t.avatar,online:r?.online===!0||t.online}};for(let e of t?.members??[])r(e.account_ref,{avatar:e.avatar,online:e.online});for(let e of t?.sample_members??[])r(e.account_ref,{avatar:e.avatar,online:!0});return e!==void 0&&r(e.account_ref,{avatar:e.avatar,online:!0}),n}function GJ({relayProjectRef:e}){let t=$e(),n=Ez(),r=VK(),i=(0,L.useMemo)(()=>ab({...AV,relayProjectRef:e}),[e]),a=yK({hostClient:i,relayProjectRef:e}),[o,s]=(0,L.useState)(``),[c,l]=(0,L.useState)(``),[u,d]=(0,L.useState)(null),[f,p]=(0,L.useState)(null),[m,h]=(0,L.useState)(null),[g,_]=(0,L.useState)(()=>Date.now()),[v,y]=(0,L.useState)(null),b=new URL(MV(),window.location.origin).searchParams.get(`message`),x=b!==null&&Lt(b,Nt.message)?b:void 0,[S,C]=(0,L.useState)(()=>x===void 0?{kind:`latest`}:{kind:`around`,messageId:x}),w=(0,L.useRef)(null),T=(0,L.useRef)(null),E=(0,L.useRef)(null),[D,O]=(0,L.useState)(null),k=f!==null;(0,L.useEffect)(()=>{x!==void 0&&(S.kind!==`around`||S.messageId!==x)&&C({kind:`around`,messageId:x})},[S,x]);let A=(t=null)=>{C({kind:`latest`}),y(t),x!==void 0&&$($t(e),{replace:!0})},j=z({queryKey:Q.bootstrap(e),queryFn:()=>i.getBootstrap(),staleTime:jV}),ee=j.data?.session.account.account_ref,M=ee===void 0?null:`${ee}:${e}`,te=x!==void 0||M!==null&&D===M;(0,L.useEffect)(()=>{M===null||D===M||(x===void 0&&ee!==void 0&&C(YG(ee,e).start_chat_pending?{kind:`start`}:{kind:`latest`}),O(M))},[ee,M,e,x,D]);let N=gt({queryKey:Q.messageHistory(e,S,50),queryFn:({pageParam:e})=>i.getMessages(jJ(e)),initialPageParam:AJ(S),getPreviousPageParam:e=>MJ(e),getNextPageParam:e=>NJ(e),enabled:j.isSuccess&&te,staleTime:jV}),P=z({queryKey:Q.scratchpad(e),queryFn:()=>i.getScratchpad(),enabled:j.isSuccess,staleTime:jV,refetchInterval:k?RJ:!1}),F=z({queryKey:Q.activeClarification(e),queryFn:()=>i.getActiveClarification(),enabled:j.isSuccess,staleTime:jV,refetchInterval:k?RJ:!1}),ne=z({queryKey:Q.activeApproval(e),queryFn:()=>i.getActiveApproval(),enabled:j.isSuccess,staleTime:jV}),re=z({queryKey:Q.executionStatus(e),queryFn:()=>i.getExecutionStatus(),enabled:j.isSuccess,staleTime:jV,refetchInterval:k?RJ:!1}),ie=z({queryKey:Q.readState(e),queryFn:()=>i.getReadState(),enabled:j.isSuccess,staleTime:jV}),ae=z({queryKey:Q.projectPresence(e),queryFn:()=>tr(AV,e),enabled:j.isSuccess,staleTime:jV,refetchInterval:6e4});RV(j.isSuccess);let oe=ht({mutationFn:e=>i.updateProjectDisplayName({display_name:e}),onMutate:e=>n.notify({tone:`loading`,title:`Saving project name`,message:e}),onSuccess:(r,i,a)=>{zV(t,e,r.invalidates??[{kind:`workspace`},{kind:`bootstrap`}]),n.update(a,{tone:`success`,title:`Project name saved`,message:i})},onError:(e,t,r)=>{n.update(r,{tone:`error`,title:`Project name save failed`,message:`${t}: ${FV(e)}`})}}),se=ht({mutationFn:e=>i.updateProjectDescription({description:e}),onMutate:e=>n.notify({tone:`loading`,title:`Saving project description`,...e.length===0?{}:{message:e}}),onSuccess:(r,i,a)=>{zV(t,e,r.invalidates??[{kind:`workspace`},{kind:`bootstrap`}]),n.update(a,{tone:`success`,title:`Project description saved`,...i.length===0?{}:{message:i}})},onError:(e,t,r)=>{n.update(r,{tone:`error`,title:`Project description save failed`,message:FV(e)})}}),I=ht({mutationFn:({body:e,commandId:t})=>i.sendMainChatMessage({body:e},{commandId:t}),onSuccess:(n,r)=>{w.current=null,s(e=>e.trim()===r.body?``:e),n.result?.message!==void 0&&(S.kind===`latest`&&!N.hasNextPage?y(n.result.message.id):A(n.result.message.id)),zV(t,e,n.invalidates)},onError:e=>{n.notify({tone:`error`,title:`Message send failed`,message:FV(e)})}}),ce=ht({mutationFn:async t=>{let n=await dH({relayProjectRef:e,purpose:`reference_file`,file:t});return i.uploadReferenceFile(n)},onMutate:e=>n.notify({tone:`loading`,title:`Uploading reference`,message:e.name}),onSuccess:(r,i,a)=>{let o=r.result?.message;o!==void 0&&(S.kind===`latest`&&!N.hasNextPage?y(o.id):A(o.id)),zV(t,e,r.invalidates),n.update(a,{tone:`success`,title:`Reference uploaded`,message:r.result?.file.name??i.name})},onError:(e,t,r)=>{n.update(r,{tone:`error`,title:`Reference upload failed`,message:FV(e)})}}),le=mK({enabled:j.data?.workspace.capabilities.request_status_v1===!0,key:Q.worklist(e),tracker:f,read:(e,t)=>i.getWorklistSubmission(e,t)}),ue=(0,L.useRef)(Bt()),de=(0,L.useRef)(!1),fe=ht({mutationFn:e=>i.submitWorklist(e===void 0?{}:{expected_scratchpad_updated_at:e},{commandId:ue.current}),onMutate:()=>(p({kind:`request`}),n.notify({tone:`loading`,title:`Running Scratchpad`})),onSuccess:(r,i,a)=>{if(r.disposition.kind===`accepted`)p(fK(r,ue.current)),n.update(a,{tone:`success`,title:`Scratchpad run started`,message:`Tenso is preparing Worklist tasks.`});else if(r.disposition.kind===`already_running`)p(fK(r,ue.current)),n.update(a,{tone:`info`,title:`Already running`,message:`Tenso is already processing work.`});else{p(null);let e=BJ(r.disposition);n.update(a,{tone:e?.tone??`warning`,title:`Scratchpad run blocked`,...e?.label===void 0?{}:{message:e.label}})}zV(t,e,r.invalidates)},onError:(e,t,r)=>{p(pK(e,j.data?.workspace.capabilities.request_status_v1===!0,ue.current)),n.update(r,{tone:`warning`,title:`Scratchpad acceptance not confirmed`,message:FV(e)})},onSettled:()=>{de.current=!1}}),pe=j.data,me=WJ({account:pe?.session.account,presence:ae.data?.presence}),he=pe?.generated_at??new Date(0).toISOString(),ge=N.data===void 0?void 0:PJ(N.data.pages,50),_e=ge??(te&&S.kind===`latest`?pe?.snapshots.main_chat:void 0)??BV(),ve=N.data!==void 0&&N.hasPreviousPage===!0,ye=FJ({enabled:pe?.workspace.capabilities.request_status_v1===!0,key:[`host`,e],messages:_e.items,read:(e,t)=>i.getChatRequestStatus(e,t)}),be=N.data!==void 0&&N.hasNextPage===!0,xe=S.kind===`latest`||S.kind===`start`&&!be||S.kind===`around`&&_e.items.length>0&&!be,Se=S.kind===`around`?`around:${S.messageId}`:S.kind,Ce=S.kind===`around`?`focus`:S.kind===`start`?`start`:`latest`,we=pe!==void 0&&(!te||ge===void 0&&N.isLoading&&(S.kind!==`latest`||pe.snapshots.main_chat===void 0)),Te=P.data??pe?.snapshots.scratchpad??HV(),Ee=ie.data??pe?.snapshots.read_state;WV({enabled:j.isSuccess,hostClient:i,relayProjectRef:e,readState:Ee,scope:`chat`});let De=F.data??pe?.snapshots.active_clarification??GV(),Oe=ne.data??pe?.snapshots.active_approval??{state:`none`},ke=De.state===`active`?De.round.id:void 0;(0,L.useEffect)(()=>{u!==null&&(ke===void 0||u!==ke)&&d(null)},[ke,u]);let Ae=De.state===`active`&&De.thread.owner.kind===`task_compile`,je=(0,L.useMemo)(()=>{let e=new Set;for(let t of _e.items)t.clarification_card!==void 0&&e.add(t.clarification_card.round_id);return ke!==void 0&&e.add(ke),[...e]},[ke,_e.items]),Me=pt({queries:je.map(t=>({queryKey:Q.clarificationRoundMessages(e,t),queryFn:()=>i.getClarificationRoundMessages(t,{anchor:`start`,limit:50}),enabled:j.isSuccess}))}),Ne=ht({mutationFn:({roundId:e,body:t})=>i.sendClarificationRoundMessage(e,{body:t}),onSuccess:n=>{l(``),zV(t,e,n.invalidates)},onError:e=>{n.notify({tone:`error`,title:`Reply send failed`,message:FV(e)})}}),Pe=ht({mutationFn:e=>i.submitClarificationRound(e,De.state===`active`&&De.round.answer_revision!==void 0?{expected_answer_revision:De.round.answer_revision}:{}),onMutate:e=>(d(e),n.notify({tone:`loading`,title:`Submitting reply`})),onSuccess:(r,i,a)=>{zV(t,e,r.invalidates);let o=r.disposition.kind===`accepted`||r.disposition.kind===`already_submitted`;o||d(e=>e===i?null:e),n.update(a,{tone:o?`success`:`warning`,title:o?`Reply submitted`:`Reply not submitted`,...o?{}:{message:r.disposition.kind===`no_answers`?`Add an answer before submitting.`:`The clarification or its answers changed. Review it and submit again.`}})},onError:(e,t,r)=>{d(e=>e===t?null:e),n.update(r,{tone:`error`,title:`Reply submit failed`,message:FV(e)})}}),Fe=ht({mutationFn:({approvalId:e,decisionId:t})=>i.decideApproval(e,{decision_id:t}),onMutate:()=>n.notify({tone:`loading`,title:`Sending decision`}),onSuccess:(r,i,a)=>{zV(t,e,r.invalidates),n.update(a,{tone:`success`,title:`Decision sent`})},onError:(e,t,r)=>{n.update(r,{tone:`error`,title:`Decision failed`,message:FV(e)})}}),Ie=Object.fromEntries(je.map((e,t)=>[e,(Me[t]?.data??BV()).items.map(e=>Kz(e,{authorProfiles:me,taskRetryState:a.stateFor}))])),Le=UJ({account:pe?.session.account,presence:ae.data?.presence,messages:[..._e.items,...Me.flatMap(e=>e.data?.items??[])]}),Re=re.data??pe?.snapshots.execution_status??KV(he),ze=qV(Re),Be=JV(Re,`scratchpad_refresh`),Ve=JV(Re,`scratchpad_refresh`,`foreground`),He=JV(Re,`task_compile`,`foreground`),Ue=JV(Re,`project_context_bootstrap`,`foreground`),We=f?.kind===`activity`?f.activityRef:void 0,Ge=dK({tracker:f,execution:Re,scratchpad:Te,clarification:De,approval:Oe,...le.request===void 0?{}:{submission:le.request}});(0,L.useEffect)(()=>{f===null||f.kind===`request`||Ge.settled&&(p(null),Ge.failure!==void 0&&n.notify({tone:`error`,title:`Scratchpad run failed`,message:`Tasks were not prepared. Review Scratchpad before running again.`}))},[f,le.isSuccess,le.request,Ge.settled,Ge.failure,n]);let Ke=We!==void 0&&ze.some(e=>e.activity_ref===We)&&ze.some(e=>e.activity_ref===We&&e.workflow_kind===`scratchpad_refresh`)||f!==null&&Ve,qe=Be,Je=fe.isPending||Ge.submitPending,Ye=Re.status!==`idle`||Je||m!==null;(0,L.useEffect)(()=>{if(!Ye)return;_(Date.now());let e=window.setInterval(()=>{_(Date.now())},1e3);return()=>{window.clearInterval(e)}},[Ye]);let Xe=ze.some(e=>e.activity_kind===`procedure`&&(e.lane??`foreground`)===`foreground`),Ze=ze.some(e=>e.activity_kind===`run`),Qe=Ge.actionsDisabled||(Ze||Xe)&&!qe&&!Je,et=TV(Re),tt={key:`scratchpad-submit`,label:Ae?`Needs input`:Ke?`Compiling Worklist tasks`:Ue?`Preparing project context`:He?`Compiling Worklist tasks`:`Preparing Worklist`,title:Ae?`Needs input`:`Preparing Scratchpad for Worklist.`,tone:Ae?`pending`:`running`,target:Ae?{kind:`clarification`}:{kind:`scratchpad`}},nt=Je&&et.length===0?[tt]:et,rt=xV(Re,{now:g}),it=ze.find(e=>(e.lane??`foreground`)===`foreground`?e.workflow_kind===`project_context_bootstrap`&&Ue||e.workflow_kind===`task_compile`&&He||e.workflow_kind===`scratchpad_refresh`&&Ke?!0:We!==void 0&&e.activity_ref===We:!1),at=(Je?SV({activeScratchpadRefreshFromSubmit:Ke,activeProjectContextBootstrap:Ue,activeTaskCompile:He,activeTaskCompileClarification:Ae,now:g,...it?.started_at===void 0?{}:{startedAt:it.started_at},...Re.runtime===void 0?{}:{runtime:Re.runtime}}):null)??rt;(0,L.useEffect)(()=>{at!==null&&(T.current=at,h(null))},[at]),(0,L.useEffect)(()=>{if(!Be||at!==null)return;let e=T.current;if(e?.completionSource===void 0)return;let t=`hidden:${zJ(e)}`;if(E.current===t)return;E.current=t;let n=CV(e,e.summary);h(n),T.current=null;let r=window.setTimeout(()=>{h(e=>e?.key===n.key?null:e)},LJ);return()=>{window.clearTimeout(r)}},[at,Be]),(0,L.useEffect)(()=>{if(at!==null||Re.status!==`idle`)return;let e=Re.last_conclusion;if(e?.kind!==`completed`)return;let t=e.activity_ref??`${e.kind}:${e.task_id??`none`}:${e.occurred_at}`;if(E.current===t)return;let n=T.current;if(n===null)return;if(!wV(n,e)){T.current=null;return}E.current=t;let r=CV(n,e.summary);h(r);let i=window.setTimeout(()=>{h(e=>e?.key===r.key?null:e),T.current=null},LJ);return()=>{window.clearTimeout(i)}},[at,Re.last_conclusion?.activity_ref,Re.last_conclusion?.kind,Re.last_conclusion?.occurred_at,Re.last_conclusion?.summary,Re.last_conclusion?.task_id,Re.status]);let ot=at??m,st=m===null?null:{key:`completed`,label:`Completed`,tone:`done`,target:m.completionTarget??{kind:`scratchpad`}},ct=st===null?nt:[st,...nt],lt=e=>{e.preventDefault();let t=o.trim();if(t!==``&&!I.isPending){let e=w.current?.body===t?w.current:{body:t,commandId:Bt()};w.current=e,I.mutate(e)}},ut=e=>{e.preventDefault();let t=c.trim();t!==``&&ke!==void 0&&!Ne.isPending&&Ne.mutate({roundId:ke,body:t})},dt=te&&ge===void 0&&N.error!==null&&(S.kind!==`latest`||pe?.snapshots.main_chat===void 0),ft=pe===void 0&&j.error!==null||dt;return(0,L.useEffect)(()=>{x!==void 0&&y(x)},[x]),(0,R.jsx)(KU,{projectName:pe?.workspace.project.display_name??`Workspace`,projectDescription:pe?.workspace.project.description??``,members:Le,messages:_e.items.map(e=>Kz(e,{...ye[e.id]===void 0?{}:{requestStatus:ye[e.id]},authorProfiles:me,taskRetryState:a.stateFor,referenceAssetUrl:(e,t,n)=>i.viewerAssetUrl({path:e,variant:t,v:n})})),scratchpad:lB(Te,_e.items,le.note),executionProgress:ot,activeApproval:Zz(Oe),activeClarification:qz(De),clarificationMessagesByRoundId:Ie,statusShortcuts:ct,unread:UV(Ee),artifactSignal:r.sidebarSignal,draft:o,roundDraft:c,sendPending:I.isPending,focusMessageId:v,messageHistoryIdentity:Se,initialMessagePosition:Ce,hasOlderMessages:ve,hasNewerMessages:be,loadingOlderMessages:N.isFetchingPreviousPage,loadingNewerMessages:N.isFetchingNextPage,historyConnectedToLatest:xe,submittedRoundId:u,referenceUploadPending:ce.isPending,scratchpadSyncPending:qe,scratchpadActionsDisabled:Qe,scratchpadSubmitPending:Je,roundSendPending:Ne.isPending,roundSubmitPending:Pe.isPending,approvalDecisionPending:Fe.isPending,projectNameSaving:oe.isPending,projectDescriptionSaving:se.isPending,loading:pe===void 0&&j.isLoading||we,unavailable:ft,onDraftChange:e=>{w.current?.body!==e.trim()&&(w.current=null),s(e)},onMessageFocused:()=>y(null),onInitialMessagePositioned:()=>{S.kind===`start`&&N.isSuccess&&ee!==void 0&&QG(ee,e)},onLoadOlderMessages:()=>{N.fetchPreviousPage()},onLoadNewerMessages:()=>{N.fetchNextPage({cancelRefetch:!1})},onJumpToLatest:()=>A(),onUploadReferenceFile:e=>ce.mutate(e),onOpenReferenceFile:t=>$(XV(e,t)),onRoundDraftChange:l,onSendMessage:lt,onSendRoundMessage:ut,onSubmitRound:()=>{ke!==void 0&&Pe.mutate(ke)},onDecideApproval:(e,t)=>Fe.mutate({approvalId:e,decisionId:t}),onSubmitScratchpad:()=>{de.current||Je||Qe||(de.current=!0,ue.current=Bt(),fe.mutate(Te.updated_at))},onUpdateProjectDisplayName:async e=>{await oe.mutateAsync(e)},onUpdateProjectDescription:async e=>{await se.mutateAsync(e)},onOpenProjectCenter:()=>$(`/projects`),onOpenWorklist:()=>$(QV(e)),onOpenWorklistTask:t=>$(QV(e,t)),onRetryTask:(e,t)=>a.retry(e,t),onOpenReferences:()=>$(XV(e)),onOpenArtifacts:()=>$(ZV(e)),onViewArtifactFeedback:(t,n)=>{let i=_e.items.find(e=>e.id===t)?.refs?.artifact_feedback,a=i?.annotations[n];i===void 0||a===void 0||(r.requestFeedbackActivation({messageId:t,annotationIndex:n,previewGeneration:i.preview_generation,documentUrl:a.document_url,target:a.target}),$(ZV(e)))},onOpenSkills:()=>$(nH(e)),onOpenTimeline:()=>$(tH(e)),onOpenSettings:()=>$(eH(e)),onActivateStatusShortcut:t=>iH(e,t)})}function KJ(e){return Jt(e)?qt(e,`relay_session_invalid`)?`client_session`:`account_session`:null}function qJ(e){return e===`client_session`?{title:`Workspace session expired`,message:`Open the project again from Project Center.`}:{title:`Sign in required`,message:`Sign in to Tenso before opening this workspace.`}}function JJ(e){return e===`client_session`?`/projects`:`/`}function YJ({relayProjectRef:e,children:t}){let n=$e(),r=Ez(),i=(0,L.useMemo)(()=>ab({...AV,relayProjectRef:e}),[e]),a=(0,L.useRef)(void 0),o=(0,L.useRef)(null),s=z({queryKey:Q.bootstrap(e),queryFn:()=>i.getBootstrap(),staleTime:jV}),c=KJ(s.error),l=c===null&&s.data?.workspace.capabilities.sse===!0;return a.current===void 0&&s.data!==void 0&&(a.current=s.data.event_cursor),(0,L.useEffect)(()=>{if(c===null)return;let t=`${e}:${c}`;o.current!==t&&(o.current=t,r.notify({tone:`warning`,...qJ(c)}),$(JJ(c),{replace:!0}))},[c,r,e]),(0,L.useEffect)(()=>{if(!l)return;let t=i.connectEvents({...a.current===void 0?{}:{after:a.current},onReady:t=>{t.payload.replay.status===`missed`&&n.invalidateQueries({queryKey:Q.hostRoot(e)})},onInvalidate:t=>{zV(n,e,t)},onError:()=>void 0});return()=>t.close()},[i,n,e,l]),(0,R.jsxs)(BK,{relayProjectRef:e,hostClient:i,enabled:c===null&&s.isSuccess,feedbackEnabled:s.data?.workspace.capabilities.artifact_feedback===!0,children:[(0,R.jsx)(zb,{route:{kind:`workspace`,relayProjectRef:e},projectDisplayName:s.data?.workspace.project.display_name??null}),c===null?t:null]})}function XJ({relayProjectRef:e}){let t=(0,L.useMemo)(()=>ab({...AV,relayProjectRef:e}),[e]),n=z({queryKey:Q.bootstrap(e),queryFn:()=>t.getBootstrap(),staleTime:jV}).data?.session.account.account_ref,r=n===void 0?null:`${n}:${e}`,[i,a]=(0,L.useState)({identity:null,pending:!1}),[o,s]=(0,L.useState)(!1),c=UO();(0,L.useEffect)(()=>{n===void 0||r===null||i.identity===r||a({identity:r,pending:YG(n,e).tour_pending})},[n,r,i.identity,e]);let l=t=>{$G(t,e),a({identity:r,pending:!1})};return(0,R.jsxs)(R.Fragment,{children:[c&&r!==null&&i.identity===r&&i.pending&&n!==void 0&&typeof document<`u`?(0,rS.createPortal)((0,R.jsx)(XO,{onOpen:()=>{l(n),s(!0)},onDismiss:()=>l(n)}),document.body):null,(0,R.jsx)(ZO,{assets:BR,open:o,onOpenChange:s})]})}var ZJ=`tutti.artifact-inspector`,QJ=128,$J=128,eY=2048,tY=6,nY=240,rY=[`expanded`,`selected`,`checked`,`pressed`,`disabled`];function iY(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function aY(e,t){return Object.keys(e).every(e=>t.includes(e))}function oY(e,t,n=!1){return typeof e==`string`&&e.length<=t&&(n||e.length>0)}function sY(e){return{protocol:ZJ,version:1,channel_id:e.channelId,...e.requestId===void 0?{}:{request_id:e.requestId},type:e.type,payload:e.payload}}function cY(e){return iY(e)?e.protocol===`tutti.artifact-inspector`&&e.version===1&&oY(e.channel_id,QJ)&&(e.request_id===void 0||oY(e.request_id,$J))&&oY(e.type,64)&&`payload`in e:!1}function lY(e){if(!oY(e,eY))return!1;try{return new URL(e,`https://artifact.invalid`).origin===`https://artifact.invalid`&&e.startsWith(`/`)}catch{return!1}}function uY(e,t){return e===void 0||oY(e,t)}function dY(e){return iY(e)&&aY(e,[`tag_name`,`role`,`accessible_name`])&&oY(e.tag_name,64)&&uY(e.role,64)&&uY(e.accessible_name,160)}function fY(e){if(!iY(e)||!Array.isArray(e.context)||e.context.length>3||!aY(e,[`element_kind`,`tag_name`,`role`,`accessible_name`,`text_excerpt`,`context`,`state`]))return!1;let t=e.state;return t!==void 0&&(!iY(t)||!aY(t,rY)||!Object.values(t).every(e=>typeof e==`boolean`))?!1:(e.element_kind===`control`||e.element_kind===`content`||e.element_kind===`container`)&&oY(e.tag_name,64)&&uY(e.role,64)&&uY(e.accessible_name,160)&&uY(e.text_excerpt,280)&&e.context.every(dY)}function pY(e){return iY(e)&&aY(e,[`id`,`test_id`])&&uY(e.id,128)&&uY(e.test_id,160)&&(e.id!==void 0||e.test_id!==void 0)}function mY(e){return!iY(e)||!aY(e,[`version`,`explicit_anchor`,`stable_attributes`,`semantic_path`,`selector_path`])||e.version!==1||!Array.isArray(e.semantic_path)||e.semantic_path.length>4||!Array.isArray(e.selector_path)||e.selector_path.length===0||e.selector_path.length>4?!1:uY(e.explicit_anchor,160)&&(e.stable_attributes===void 0||pY(e.stable_attributes))&&e.semantic_path.every(e=>iY(e)&&aY(e,[`role`,`accessible_name`])&&(e.role!==void 0||e.accessible_name!==void 0)&&uY(e.role,64)&&uY(e.accessible_name,160))&&e.selector_path.every(e=>iY(e)&&aY(e,[`root`,`selector`])&&(e.root===`document`||e.root===`open_shadow_root`)&&oY(e.selector,1024))}function hY(e){return!iY(e)||!aY(e,[`snapshot`,`anchor`,`fallback_context`])||!fY(e.snapshot)||!mY(e.anchor)?!1:e.fallback_context===void 0||iY(e.fallback_context)&&aY(e.fallback_context,[`snapshot`,`anchor`])&&fY(e.fallback_context.snapshot)&&mY(e.fallback_context.anchor)}function gY(e){return iY(e)&&Number.isInteger(e.candidate_index)&&Number(e.candidate_index)>=0&&Number(e.candidate_index)<tY&&fY(Object.fromEntries(Object.entries(e).filter(([e])=>e!==`candidate_index`)))}function _Y(e){return!cY(e)||!iY(e.payload)?!1:e.type===`ready`?aY(e.payload,[`document_url`,`inspector_version`])&&lY(e.payload.document_url)&&e.payload.inspector_version===1:e.type===`candidates`?aY(e.payload,[`capture_id`,`recommended_index`,`items`])&&oY(e.payload.capture_id,$J)&&Number.isInteger(e.payload.recommended_index)&&Number(e.payload.recommended_index)>=0&&Array.isArray(e.payload.items)&&e.payload.items.length>0&&e.payload.items.length<=tY&&Number(e.payload.recommended_index)<e.payload.items.length&&e.payload.items.every(gY):e.type===`selection`?aY(e.payload,[`target`])&&hY(e.payload.target):e.type===`resolution`?aY(e.payload,[`status`])&&(e.payload.status===`exact`||e.payload.status===`context_only`||e.payload.status===`ambiguous`||e.payload.status===`missing`):e.type===`document_changed`?aY(e.payload,[`document_url`])&&lY(e.payload.document_url):e.type===`unavailable`?aY(e.payload,[`reason`])&&oY(e.payload.reason,nY):!1}var vY=5e3,yY=class extends Error{constructor(e){super(e),this.name=`ArtifactInspectorControllerError`}};function bY(e){let t;try{t=new URL(e)}catch{throw new yY(`Artifact preview origin is invalid`)}if(t.protocol!==`https:`&&t.protocol!==`http:`||t.origin!==e)throw new yY(`Artifact preview origin must be exact`);return t.origin}var xY=class{#e;#t;#n;#r;#i;#a;#o;#s;#c=null;#l=null;#u=!1;#d=!1;#f=0;#p=new Map;constructor(e){this.#e=e.iframe,this.#t=bY(e.targetOrigin),this.#n=e.onEvent,this.#r=e.requestTimeoutMs??vY,this.#i=e.createChannelId??(()=>crypto.randomUUID()),this.#a=e.createMessageChannel??(()=>new MessageChannel),this.#o=e.setTimeoutFn??window.setTimeout.bind(window),this.#s=e.clearTimeoutFn??window.clearTimeout.bind(window)}get ready(){return this.#u}connect(){if(this.#d)throw new yY(`Artifact inspector controller is disposed`);let e=this.#e.contentWindow;if(e===null)throw new yY(`Artifact preview is not mounted`);this.#_(`Artifact preview document changed`);let t=this.#i();if(t.length===0||t.length>128)throw new yY(`Artifact inspector channel is invalid`);let n=this.#a();this.#c=t,this.#l=n.port1,this.#l.addEventListener(`message`,this.#g),this.#l.start();try{e.postMessage(sY({channelId:t,type:`connect`,payload:{}}),this.#t,[n.port2])}catch(e){throw this.#_(`Artifact inspector connection failed`),e}}activate(){this.#m(`activate`,{})}deactivate(){this.#m(`deactivate`,{})}clearHighlight(){this.#m(`clear_highlight`,{})}confirmCandidate(e,t){return this.#h(`confirm_candidate`,{capture_id:e,candidate_index:t},`selection`).then(e=>{if(e.type!==`selection`)throw new yY(`Artifact inspector selection response is invalid`);return e.payload.target})}resolve(e){return this.#h(`resolve`,{target:e},`resolution`).then(e=>{if(e.type!==`resolution`)throw new yY(`Artifact inspector resolution response is invalid`);return e.payload.status})}dispose(){if(!this.#d){if(this.#l!==null)try{this.deactivate()}catch{}this.#d=!0,this.#_(`Artifact inspector controller was disposed`)}}#m(e,t){let n=this.#l,r=this.#c;if(this.#d||n===null||r===null||!this.#u)throw new yY(`Artifact inspector is not ready`);n.postMessage(sY({channelId:r,type:e,payload:t}))}#h(e,t,n){let r=this.#l,i=this.#c;if(this.#d||r===null||i===null||!this.#u)return Promise.reject(new yY(`Artifact inspector is not ready`));let a=`${i}:${++this.#f}`;return new Promise((o,s)=>{let c=this.#o(()=>{this.#p.delete(a),s(new yY(`Artifact inspector request timed out`))},this.#r);this.#p.set(a,{expectedType:n,resolve:o,reject:s,timeout:c}),r.postMessage(sY({channelId:i,requestId:a,type:e,payload:t}))})}#g=e=>{let t=e.data,n=this.#c;if(n===null||!_Y(t)||t.channel_id!==n)return;t.type===`ready`&&(this.#u=!0);let r=t.request_id;if(r!==void 0){let e=this.#p.get(r);e!==void 0&&(t.type===`unavailable`?(this.#s(e.timeout),this.#p.delete(r),e.reject(new yY(t.payload.reason))):t.type===e.expectedType&&(this.#s(e.timeout),this.#p.delete(r),e.resolve(t)))}this.#n?.(t)};#_(e){this.#u=!1;for(let t of this.#p.values())this.#s(t.timeout),t.reject(new yY(e));this.#p.clear(),this.#l!==null&&(this.#l.removeEventListener(`message`,this.#g),this.#l.close()),this.#l=null,this.#c=null}},SY=4e3;function CY(e){if(e!==void 0)try{let t=new URL(e,window.location.href);return t.protocol===`https:`||t.protocol===`http:`?t.origin:void 0}catch{return}}function wY(e){return(e.summary?.length??0)+e.annotations.reduce((e,t)=>e+t.comment.length,0)}function TY(e){return new TextEncoder().encode(JSON.stringify(e)).byteLength}function EY({relayProjectRef:e}){let t=VK(),n=Ez(),r=$e(),i=(0,L.useMemo)(()=>ab({...AV,relayProjectRef:e}),[e]),a=(0,L.useMemo)(()=>Wn(AV),[]),o=(0,L.useRef)(null),s=(0,L.useRef)(null),c=(0,L.useRef)(null),l=(0,L.useRef)(null),u=(0,L.useRef)(null),[d,f]=(0,L.useState)(void 0),[p,m]=(0,L.useState)(!1),[h,g]=(0,L.useState)(void 0),[_,v]=(0,L.useState)(void 0),[y,b]=(0,L.useState)(!1),[x,S]=(0,L.useState)(void 0),[C,w]=(0,L.useState)(void 0),[T,E]=(0,L.useState)(``),D=z({queryKey:Q.bootstrap(e),queryFn:()=>i.getBootstrap(),staleTime:jV}),O=z({queryKey:Q.executionStatus(e),queryFn:()=>i.getExecutionStatus(),enabled:D.isSuccess,staleTime:jV}),k=z({queryKey:Q.readState(e),queryFn:()=>i.getReadState(),enabled:D.isSuccess,staleTime:jV}),A=D.data,j=A?.generated_at??new Date(0).toISOString(),ee=k.data??A?.snapshots.read_state,M=O.data??A?.snapshots.execution_status??KV(j),te=M.active_activity?.activity_kind===`run`||M.active_activities?.some(e=>e.activity_kind===`run`)===!0,N=t.artifact,P=N?.status===`declared`&&N.preview.status===`ready`&&N.preview.url!==void 0?N.preview.url:null,F=N?.status===`declared`?N.preview_generation:void 0,ne=z({queryKey:Q.artifactPreviewSession(e,P??`not-ready`),queryFn:()=>a.issueArtifactPreviewSession(e),enabled:P!==null,staleTime:1/0,retry:1,refetchInterval:e=>TK(e.state.data)}),re=ne.data,ie=re?.disposition.kind===`issued`?re.result?.bootstrap_url:void 0,ae=ne.error===null?wK(re):FV(ne.error),oe=CY(ie);(0,L.useEffect)(()=>{f(ie)},[ie]);let se=(0,L.useCallback)(e=>{if(e.type===`ready`){m(!0),g(void 0),v(e.payload.document_url);return}if(e.type===`candidates`){g(void 0);let t=s.current;if(t===null){g(`Element selection is not ready.`);return}let n=e.payload.capture_id;u.current=n,t.confirmCandidate(n,e.payload.recommended_index).then(e=>{u.current===n&&(t.deactivate(),S(e),w(new Date().toISOString()),g(void 0))}).catch(e=>{u.current===n&&g(FV(e))}).finally(()=>{u.current===n&&(u.current=null)});return}if(e.type===`document_changed`){v(e.payload.document_url);return}e.type===`unavailable`&&g(e.payload.reason)},[]);(0,L.useEffect)(()=>{let e=o.current;if(e===null||oe===void 0)return;m(!1),g(void 0),v(void 0);let t=new xY({iframe:e,targetOrigin:oe,onEvent:se});s.current=t;try{t.connect()}catch(e){g(FV(e))}return()=>{t.dispose(),s.current===t&&(s.current=null)}},[se,oe]),(0,L.useEffect)(()=>{if(!t.feedbackEnabled||oe===void 0||p||P===null)return;let e=window.setTimeout(()=>{g(e=>e??`Element selection could not connect to this preview.`)},SY);return()=>window.clearTimeout(e)},[t.feedbackEnabled,p,oe,P]),(0,L.useEffect)(()=>{if(t.feedbackDraftStale){try{s.current?.deactivate(),s.current?.clearHighlight()}catch{}u.current=null,S(void 0),w(void 0)}},[t.feedbackDraftStale]);let I=(0,L.useCallback)(()=>{m(!1),v(void 0);try{s.current?.connect()}catch(e){g(FV(e))}},[]),ce=(0,L.useCallback)(()=>{g(void 0),u.current=null,S(void 0),w(void 0);try{s.current?.clearHighlight(),s.current?.activate()}catch(e){g(FV(e))}},[]),le=(0,L.useCallback)(()=>{try{s.current?.deactivate(),s.current?.clearHighlight()}catch{}b(!1),u.current=null,S(void 0),w(void 0),E(``)},[]),ue=(0,L.useCallback)(()=>{u.current=null,S(void 0),w(void 0),E(``),g(void 0);try{s.current?.clearHighlight(),s.current?.activate()}catch(e){g(FV(e))}},[]),de=(0,L.useCallback)(()=>{if(F===void 0||!p)return;let e=t.feedbackDraft;b(!0),!(e!==null&&e.previewGeneration!==F)&&(t.beginFeedbackDraft(F),ce())},[t,p,F,ce]),fe=t.feedbackDraft,pe=fe===null?null:{expected_preview_generation:fe.previewGeneration,annotations:fe.annotations.map(e=>({document_url:e.document_url,comment:e.comment.trim(),target:e.target}))},me=pe!==null&&wY(pe)>6e3,he=pe!==null&&TY(pe)>65536,ge=ht({mutationFn:e=>i.sendMainChatMessage({artifact_feedback:e.payload},{commandId:e.commandId}),onSuccess:i=>{if(i.disposition.kind===`created`){c.current=null,t.clearFeedbackDraft(),le(),zV(r,e,i.invalidates),n.notify({tone:`success`,title:`Artifact feedback sent`});let a=i.result?.message.id;$(a===void 0?$t(e):$V(e,a));return}i.disposition.kind===`artifact_changed`?n.notify({tone:`warning`,title:`Artifact changed`,message:`Start a new feedback batch from the current preview.`}):i.disposition.kind===`artifact_unavailable`?n.notify({tone:`warning`,title:`Artifact unavailable`,message:`The feedback draft was kept in this tab.`}):n.notify({tone:`error`,title:`Feedback send could not be confirmed`}),r.invalidateQueries({queryKey:Q.artifacts(e)})},onError:e=>{n.notify({tone:`error`,title:`Artifact feedback send failed`,message:FV(e)})}}),_e=(0,L.useCallback)(()=>{if(pe===null||pe.annotations.length===0||t.feedbackDraftStale||me||he||ge.isPending)return;let e=JSON.stringify(pe),n=c.current?.serialized===e?c.current:{commandId:Bt(),payload:pe,serialized:e};c.current=n,ge.mutate(n)},[t.feedbackDraftStale,pe,he,me,ge]);(0,L.useEffect)(()=>{let e=t.pendingActivation;if(e===null){l.current=null;return}let r=`${e.messageId}:${e.annotationIndex}`;if(F===void 0||N?.status!==`declared`||N.preview.status!==`ready`||e.previewGeneration!==F){n.notify({tone:`warning`,title:`Artifact feedback is from an earlier preview`}),t.clearFeedbackActivation();return}if(!p||oe===void 0||_===void 0){h!==void 0&&(n.notify({tone:`warning`,title:`Artifact element could not be located`,message:h}),t.clearFeedbackActivation());return}if(_!==e.documentUrl){let t=new URL(e.documentUrl,oe).toString();d!==t&&(m(!1),f(t));return}let i=s.current;i===null||l.current===r||(l.current=r,i.resolve(e.target).then(e=>{e===`exact`?n.notify({tone:`success`,title:`Artifact element highlighted`}):e===`context_only`?n.notify({tone:`warning`,title:`Only the surrounding context is still visible`}):e===`ambiguous`?n.notify({tone:`warning`,title:`The element is no longer unique in this preview`}):n.notify({tone:`warning`,title:`The element is not currently visible`})}).catch(e=>{n.notify({tone:`warning`,title:`Artifact element could not be located`,message:FV(e)})}).finally(()=>{l.current=null,t.clearFeedbackActivation()}))},[N,t,p,_,F,d,h,oe,n]);let ve=d??ie,ye=Rz(N,{...ve===void 0?{}:{previewUrl:ve},pending:P!==null&&ve===void 0&&ae===void 0,...ae===void 0?{}:{errorMessage:ae}},{runActive:te}),be=N!==void 0,xe=!be&&(D.error!==null||t.unavailable),Se=t.feedbackEnabled,Ce=Se&&p&&ye.status===`declared`&&ye.previewStatus===`ready`,we=fe?.annotations.map(e=>({key:e.key,documentUrl:e.document_url,comment:e.comment,time:Mz(e.createdAt),target:Lz(e.target.snapshot)}))??[],Te=t.feedbackDraftStale?`Start over from the current Artifact before submitting.`:we.length===0?`Add at least one comment before submitting.`:me?`Shorten these comments to 6,000 characters before submitting.`:he?`Remove some comments before submitting this batch.`:void 0,Ee=Te===void 0&&!ge.isPending;return(0,R.jsx)(qU,{statusShortcuts:TV(M),unread:UV(ee),state:ye,loading:!be&&(D.isLoading||t.loading),unavailable:xe,iframeRef:o,onPreviewLoad:I,...A?.session.account===void 0?{}:{feedback:{supported:Se,ready:Ce,open:y,canSubmit:Ee,submitPending:ge.isPending,...Te===void 0?{}:{submitDisabledReason:Te},...h===void 0?{}:{unavailableReason:h},author:{displayName:A.session.account.display_name,avatar:A.session.account.avatar},onOpen:de,onSubmit:_e,rail:{comment:T,annotations:we,...x===void 0?{}:{selectedTarget:Lz(x.snapshot)},...C===void 0?{}:{selectedTime:Mz(C)},stale:t.feedbackDraftStale,...h===void 0?{}:{bridgeUnavailableReason:h},...me||he?{sendDisabledReason:me?`Shorten these comments to 6,000 characters before submitting.`:`Remove some comments before submitting this batch.`}:{},onCommentChange:e=>{c.current=null,E(e)},onCancelSelection:ue,onAddAnnotation:()=>{if(!(x===void 0||_===void 0||T.trim().length===0)){c.current=null,t.addFeedbackAnnotation({document_url:_,comment:T.trim(),target:x,createdAt:C??new Date().toISOString()});try{s.current?.activate()}catch(e){g(FV(e))}S(void 0),w(void 0),E(``)}},onRemoveAnnotation:e=>{c.current=null,t.removeFeedbackAnnotation(e)},onReset:()=>{c.current=null,t.clearFeedbackDraft(),F!==void 0&&(t.beginFeedbackDraft(F),ce())}}}},onOpenProjectCenter:()=>$(`/projects`),onOpenChat:()=>$($t(e)),onOpenWorklist:()=>$(QV(e)),onOpenReferences:()=>$(XV(e)),onOpenSkills:()=>$(nH(e)),onOpenTimeline:()=>$(tH(e)),onOpenSettings:()=>$(eH(e)),onActivateStatusShortcut:t=>iH(e,t)})}function DY(e){let t=e.summary;return t===void 0||t.status===`missing`?{summaryStatus:`Summary not available yet`}:t.status===`stale`?{...t.text===void 0?{}:{summary:t.text},summaryStatus:`Summary may be out of date`}:t.status===`unavailable`?{...t.text===void 0?{}:{summary:t.text},summaryStatus:`Summary could not be generated`}:t.text===void 0?{summaryStatus:`Summary unavailable`}:{summary:t.text}}function OY(e){if(e.category===`image`)return[e.media_type??`Image`,oH(e.size_bytes)].join(` · `);let t=[oH(e.size_bytes)];return e.text_read.can_read||t.push(sH(e.text_read.blocked_reason)),t.join(` · `)}function kY(e){if(!e.path.startsWith(`docs/reference/`))return;let[t,n]=e.path.slice(15).split(`/`);if(!(t===void 0||t.length===0||n===void 0||t===`files`||t===`images`))return t}function AY(e,t=kY(e)){if(t===void 0){let t=e.category===`image`?`docs/reference/images/`:`docs/reference/files/`;return e.path.startsWith(t)?e.path.slice(t.length):e.name}return e.path.slice(`docs/reference/${t}/`.length)}function jY(e,t){let n=kY(e);return{path:e.path,name:AY(e,n),meta:OY(e),...n===void 0?{}:{folderGroup:n},selected:t.selected,canPreview:e.text_read.can_read,category:e.category,...t.thumbnailUrl===void 0?{}:{thumbnailUrl:t.thumbnailUrl},...e.extension===void 0?{}:{extension:e.extension}}}function MY({relayProjectRef:e}){let t=$e(),n=Ez(),r=VK(),i=(0,L.useMemo)(()=>ab({...AV,relayProjectRef:e}),[e]),a=new URL(MV(),window.location.origin).searchParams.get(`path`)??void 0,[o,s]=(0,L.useState)(a),[c,l]=(0,L.useState)(`time`),u=z({queryKey:Q.bootstrap(e),queryFn:()=>i.getBootstrap(),staleTime:jV}),d=z({queryKey:Q.referenceFiles(e),queryFn:()=>i.getReferenceFiles({limit:200}),enabled:u.isSuccess,staleTime:jV}),f=z({queryKey:Q.messagesWindow(e,200),queryFn:()=>i.getMessages({limit:200}),enabled:u.isSuccess,staleTime:jV}),p=z({queryKey:Q.executionStatus(e),queryFn:()=>i.getExecutionStatus(),enabled:u.isSuccess,staleTime:jV}),m=z({queryKey:Q.readState(e),queryFn:()=>i.getReadState(),enabled:u.isSuccess,staleTime:jV}),h=d.data?.items??[],g=(0,L.useMemo)(()=>{let e=new Map;for(let t of f.data?.items??[]){let n=t.refs?.reference_file;if(n===void 0)continue;let r=e.get(n.path);(r===void 0||t.created_at>r)&&e.set(n.path,t.created_at)}return e},[f.data?.items]),_=(0,L.useMemo)(()=>{let e=(e,t)=>e.name.localeCompare(t.name),t=(t,n)=>{let r=g.get(t.path)??``,i=g.get(n.path)??``;return r===i?e(t,n):i.localeCompare(r)},n=(e,n)=>{let r=e.extension??e.media_type??`file`,i=n.extension??n.media_type??`file`;return r===i?t(e,n):r.localeCompare(i)},r=[...h.filter(e=>e.category===`image`)].sort(t),i=[...h.filter(e=>e.category!==`image`)].sort(c===`time`?t:n);return[...r,...i]},[c,h,g]);(0,L.useEffect)(()=>{if(_.length===0){o!==void 0&&s(void 0);return}if(a!==void 0&&_.some(e=>e.path===a)){o!==a&&s(a);return}(o===void 0||!_.some(e=>e.path===o))&&s(_[0]?.path)},[_,a,o]);let v=h.find(e=>e.path===o),y=v?.category===`image`,b=v?.text_read.can_read===!0,x=z({queryKey:o===void 0?Q.viewerFile(e,`none`):Q.viewerFile(e,o),queryFn:()=>i.getViewerFile({path:o,max_bytes:204800}),enabled:u.isSuccess&&o!==void 0&&b&&!y,staleTime:jV}),S=ht({mutationFn:async t=>{let n=await dH({relayProjectRef:e,purpose:`reference_file`,file:t});return i.uploadReferenceFile(n)},onMutate:e=>n.notify({tone:`loading`,title:`Uploading reference`,message:e.name}),onSuccess:(r,i,a)=>{zV(t,e,r.invalidates),r.result?.file.path!==void 0&&(s(r.result.file.path),$(XV(e,r.result.file.path))),n.update(a,{tone:`success`,title:`Reference uploaded`,message:r.result?.file.name??i.name})},onError:(e,t,r)=>{n.update(r,{tone:`error`,title:`Reference upload failed`,message:FV(e)||t.name})}}),C=u.data,w=C?.generated_at??new Date(0).toISOString(),T=m.data??C?.snapshots.read_state;WV({enabled:u.isSuccess,hostClient:i,relayProjectRef:e,readState:T,scope:`references`});let E=p.data??C?.snapshots.execution_status??KV(w),D=_.map(e=>jY(e,{selected:e.path===o,...e.category!==`image`||e.blob_oid===void 0?{}:{thumbnailUrl:i.viewerAssetUrl({path:e.path,variant:`thumbnail`,v:e.blob_oid})}})),O=x.data?.content,k=(()=>{if(v===void 0)return{title:h.length===0?`No reference files`:`No file selected`,unavailableReason:h.length===0?`No reference files`:`Select a reference file`};if(O?.kind===`text`)return{title:v.name,meta:oH(v.size_bytes),...DY(v),content:O.text};if(y&&o!==void 0)return v.blob_oid===void 0?{title:v.name,meta:oH(v.size_bytes),...DY(v),unavailableReason:`Image version unavailable`}:{title:v.name,meta:oH(v.size_bytes),...DY(v),imageUrl:i.viewerAssetUrl({path:o,variant:`preview`,v:v.blob_oid})};let e=b&&x.isLoading?`Loading`:cH(O)??(b?void 0:sH(v.text_read.blocked_reason));return e===void 0?{title:v.name,meta:oH(v.size_bytes),...DY(v)}:{title:v.name,meta:oH(v.size_bytes),...DY(v),unavailableReason:e}})(),A=d.data!==void 0,j=!A&&(u.error!==null||d.error!==null);return(0,R.jsx)(JU,{statusShortcuts:TV(E),unread:UV(T),artifactSignal:r.sidebarSignal,files:D,detail:k,uploadPending:S.isPending,fileSortMode:c,loading:!A&&(u.isLoading||d.isLoading),unavailable:j,onOpenProjectCenter:()=>$(`/projects`),onOpenChat:()=>$($t(e)),onOpenWorklist:()=>$(QV(e)),onOpenArtifacts:()=>$(ZV(e)),onOpenSkills:()=>$(nH(e)),onOpenTimeline:()=>$(tH(e)),onOpenSettings:()=>$(eH(e)),onActivateStatusShortcut:t=>iH(e,t),onSelectFile:t=>{s(t),$(XV(e,t))},onUploadFile:e=>S.mutate(e),onFileSortModeChange:l})}var NY={provider_auth_invalid:`The existing API key was rejected.`,provider_quota_or_billing_required:`Quota or billing needs attention.`,provider_rate_limited:`The provider rate limit was reached. Try again shortly.`,provider_model_unavailable:`That model is unavailable for this provider.`,provider_network_error:`The provider could not be reached.`};function PY({relayProjectRef:e}){let t=$e(),n=Ez(),r=VK(),[i,a]=(0,L.useState)([]),o=(0,L.useMemo)(()=>ab({...AV,relayProjectRef:e}),[e]),s=z({queryKey:Q.bootstrap(e),queryFn:()=>o.getBootstrap()}),c=z({queryKey:Q.hostWorkspace(e),queryFn:()=>o.getWorkspace(),enabled:s.isSuccess}),l=z({queryKey:Q.hostSession(e),queryFn:()=>o.getSession(),enabled:s.isSuccess}),u=z({queryKey:Q.providerConfig(e),queryFn:()=>o.getProviderConfig(),enabled:s.isSuccess}),d=z({queryKey:Q.executionStatus(e),queryFn:()=>o.getExecutionStatus(),enabled:s.isSuccess}),f=z({queryKey:Q.readState(e),queryFn:()=>o.getReadState(),enabled:s.isSuccess}),p=z({queryKey:Q.projectPresence(e),queryFn:()=>tr(AV,e),enabled:s.isSuccess,staleTime:jV,refetchInterval:6e4});RV(s.isSuccess);let m=ht({mutationFn:e=>o.updateProjectDisplayName({display_name:e}),onMutate:e=>n.notify({tone:`loading`,title:`Saving project name`,message:e}),onSuccess:(r,i,a)=>{zV(t,e,r.invalidates??[{kind:`workspace`},{kind:`bootstrap`}]),n.update(a,{tone:`success`,title:`Project name saved`,message:i})},onError:(e,t,r)=>{n.update(r,{tone:`error`,title:`Project name save failed`,message:`${t}: ${FV(e)}`})}}),h=ht({mutationFn:e=>o.updateProjectDescription({description:e}),onMutate:e=>n.notify({tone:`loading`,title:`Saving project description`,...e.length===0?{}:{message:e}}),onSuccess:(r,i,a)=>{zV(t,e,r.invalidates??[{kind:`workspace`},{kind:`bootstrap`}]),n.update(a,{tone:`success`,title:`Project description saved`,...i.length===0?{}:{message:i}})},onError:(e,t,r)=>{n.update(r,{tone:`error`,title:`Project description save failed`,message:FV(e)})}}),g=ht({mutationFn:()=>o.getProviderModels(),onSuccess:e=>{if(e.status===`available`){a(e.models);return}a([]),n.notify({tone:`warning`,title:`Model list unavailable`,message:`You can still enter a model name manually.`})},onError:e=>{a([]),n.notify({tone:`warning`,title:`Model list unavailable`,message:`${FV(e)} You can still enter a model name manually.`})}}),_=ht({mutationFn:e=>o.updateProviderDefaultModel({default_model:e.defaultModel,expected_default_model:e.expectedDefaultModel}),onMutate:e=>n.notify({tone:`loading`,title:`Validating model`,message:e.defaultModel}),onSuccess:(r,i,a)=>{switch(zV(t,e,r.invalidates),r.disposition.kind){case`updated`:case`unchanged`:n.update(a,{tone:`success`,title:r.disposition.kind===`updated`?`Model saved`:`Model unchanged`,message:i.defaultModel});break;case`stale_default_model`:n.update(a,{tone:`warning`,title:`Model changed elsewhere`,message:`The current model is ${r.disposition.current_default_model}. Review and save again.`});break;case`validation_failed`:n.update(a,{tone:`error`,title:`Model validation failed`,message:NY[r.disposition.reason]});break;case`provider_unavailable`:n.update(a,{tone:`error`,title:`Provider unavailable`,message:`The project provider configuration is not ready.`});break;case`interrupted`:n.update(a,{tone:`warning`,title:`Model update interrupted`,message:`Try saving again.`});break}},onError:(e,t,r)=>{n.update(r,{tone:`error`,title:`Model update failed`,message:FV(e)})}}),v=s.data,y=v?.generated_at??new Date(0).toISOString(),b=f.data??v?.snapshots.read_state,x=c.data??v?.workspace,S=l.data??v?.session,C=u.data??v?.provider_config,w=d.data??v?.snapshots.execution_status??KV(y),T=x===void 0||S===void 0||C===void 0?void 0:AB(x,S,C,p.data?.presence),E=T===void 0&&(s.error!==null||c.error!==null||l.error!==null||u.error!==null),D=x?.relay.join_url,O=D===void 0||x===void 0||S===void 0?void 0:gq({inviterName:S.account.display_name,projectName:x.project.display_name,joinUrl:D}),k=S?.membership.label===`owner`&&x?.capabilities.provider_model_update===!0&&C?.status===`configured`,A=C?.status===`configured`?C.default_model:void 0,j=A===void 0||i.includes(A)?i:[A,...i];return(0,R.jsx)(sW,{...T===void 0?{}:{settings:T},statusShortcuts:TV(w),unread:UV(b),artifactSignal:r.sidebarSignal,loading:T===void 0&&(s.isLoading||c.isLoading||l.isLoading||u.isLoading),unavailable:E,projectNameSaving:m.isPending,projectDescriptionSaving:h.isPending,providerModelOptions:j,providerModelEditable:k,providerModelDiscovering:g.isPending,providerModelSaving:_.isPending,onOpenProjectCenter:()=>$(`/projects`),onOpenChat:()=>$($t(e)),onOpenWorklist:()=>$(QV(e)),onOpenReferences:()=>$(XV(e)),onOpenArtifacts:()=>$(ZV(e)),onOpenSkills:()=>$(nH(e)),onOpenTimeline:()=>$(tH(e)),onActivateStatusShortcut:t=>iH(e,t),...O===void 0?{}:{onCopyJoinUrl:()=>{navigator.clipboard.writeText(O).then(()=>{n.notify({tone:`success`,title:`Invitation copied`})}).catch(()=>{n.notify({tone:`error`,title:`Copy failed`,message:`The browser could not copy the invite link.`})})}},onUpdateProjectDisplayName:async e=>{await m.mutateAsync(e)},onUpdateProjectDescription:async e=>{await h.mutateAsync(e)},...k?{onDiscoverProviderModels:async()=>{a([]),await g.mutateAsync()},onUpdateProviderDefaultModel:async(e,t)=>{try{let n=await _.mutateAsync({defaultModel:e,expectedDefaultModel:t});return n.disposition.kind===`updated`||n.disposition.kind===`unchanged`?{kind:`saved`}:n.disposition.kind===`stale_default_model`?{kind:`stale`,currentValue:n.disposition.current_default_model}:{kind:`failed`}}catch{return{kind:`failed`}}}}:{}})}function FY({relayProjectRef:e}){let t=$e(),n=Ez(),r=VK(),i=(0,L.useMemo)(()=>ab({...AV,relayProjectRef:e}),[e]),a=new URL(MV(),window.location.origin).searchParams.get(`skill`)??void 0,[o,s]=(0,L.useState)(a),c=z({queryKey:Q.bootstrap(e),queryFn:()=>i.getBootstrap(),staleTime:jV}),l=z({queryKey:Q.skills(e),queryFn:()=>i.getSkills(),enabled:c.isSuccess,staleTime:jV}),u=z({queryKey:Q.executionStatus(e),queryFn:()=>i.getExecutionStatus(),enabled:c.isSuccess,staleTime:jV}),d=z({queryKey:Q.readState(e),queryFn:()=>i.getReadState(),enabled:c.isSuccess,staleTime:jV}),f=l.data?.items??[];(0,L.useEffect)(()=>{if(f.length===0){o!==void 0&&s(void 0);return}if(a!==void 0&&f.some(e=>e.name===a)){o!==a&&s(a);return}(o===void 0||!f.some(e=>e.name===o))&&s(f[0]?.name)},[a,o,f]);let p=z({queryKey:o===void 0?Q.skillDetail(e,`none`):Q.skillDetail(e,o),queryFn:()=>i.getSkill(o),enabled:c.isSuccess&&o!==void 0,staleTime:jV}),m=ht({mutationFn:async t=>{let n=await dH({relayProjectRef:e,purpose:`skill_zip`,file:t});return i.importSkillZip(n)},onMutate:e=>n.notify({tone:`loading`,title:`Uploading skill`,message:e.name}),onSuccess:(r,i,a)=>{zV(t,e,r.invalidates);let o=r.result?.skill.name??(r.disposition.kind===`created`||r.disposition.kind===`replaced`?r.disposition.skill_name:void 0);o!==void 0&&(s(o),$(nH(e,o))),n.update(a,{tone:`success`,title:`Skill installed`,message:o??i.name})},onError:(e,t,r)=>{n.update(r,{tone:`error`,title:`Skill upload failed`,message:FV(e)})}}),h=ht({mutationFn:e=>i.deleteSkill({skill_name:e}),onMutate:e=>n.notify({tone:`loading`,title:`Deleting skill`,message:e}),onSuccess:(r,i,a)=>{zV(t,e,r.invalidates);let c=r.disposition.kind===`deleted`||r.disposition.kind===`not_found`?r.disposition.skill_name:o,l=f.find(e=>e.name!==c);s(l?.name),$(l===void 0?nH(e):nH(e,l.name)),n.update(a,{tone:`success`,title:`Skill deleted`,message:c??i})},onError:(e,t,r)=>{n.update(r,{tone:`error`,title:`Skill delete failed`,message:`${t}: ${FV(e)}`})}}),g=c.data,_=g?.generated_at??new Date(0).toISOString(),v=d.data??g?.snapshots.read_state;WV({enabled:c.isSuccess,hostClient:i,relayProjectRef:e,readState:v,scope:`skills`});let y=u.data??g?.snapshots.execution_status??KV(_),b=f.map(e=>({name:e.name,description:e.description,...e.short_description===void 0?{}:{shortDescription:e.short_description},selected:e.name===o,...e.updated_at===void 0?{}:{updatedLabel:`Updated ${Oz(e.updated_at)}`}})),x=f.find(e=>e.name===o),S=(()=>{let e=p.data?.skill;return e===void 0?o===void 0?{title:f.length===0?`No skills`:`No skill selected`,unavailableReason:f.length===0?`No user skills`:`Select a skill`}:{title:x?.name??o,...x?.description===void 0?{}:{description:x.description},unavailableReason:p.isLoading?`Loading`:`Skill unavailable`}:{title:e.name,description:e.description,...e.updated_at===void 0?{}:{updatedLabel:`Updated ${Oz(e.updated_at)}`},skillMd:e.skill_md}})(),C=l.data!==void 0,w=!C&&(c.error!==null||l.error!==null);return(0,R.jsx)(lW,{statusShortcuts:TV(y),unread:UV(v),artifactSignal:r.sidebarSignal,skills:b,detail:S,uploadPending:m.isPending,deletePending:h.isPending,loading:!C&&(c.isLoading||l.isLoading),unavailable:w,onOpenProjectCenter:()=>$(`/projects`),onOpenChat:()=>$($t(e)),onOpenWorklist:()=>$(QV(e)),onOpenReferences:()=>$(XV(e)),onOpenArtifacts:()=>$(ZV(e)),onOpenTimeline:()=>$(tH(e)),onOpenSettings:()=>$(eH(e)),onActivateStatusShortcut:t=>iH(e,t),onSelectSkill:t=>{s(t),$(nH(e,t))},onUploadSkill:e=>m.mutate(e),onDeleteSkill:e=>h.mutate(e)})}function IY({relayProjectRef:e}){let t=VK(),n=(0,L.useMemo)(()=>ab({...AV,relayProjectRef:e}),[e]),r=z({queryKey:Q.bootstrap(e),queryFn:()=>n.getBootstrap(),staleTime:jV}),i=z({queryKey:Q.projectTimeline(e),queryFn:()=>n.getProjectTimeline(),enabled:r.isSuccess,staleTime:jV}),a=z({queryKey:Q.executionStatus(e),queryFn:()=>n.getExecutionStatus(),enabled:r.isSuccess,staleTime:jV}),o=z({queryKey:Q.readState(e),queryFn:()=>n.getReadState(),enabled:r.isSuccess,staleTime:jV}),s=r.data,c=s?.generated_at??new Date(0).toISOString(),l=o.data??s?.snapshots.read_state,u=a.data??s?.snapshots.execution_status??KV(c),d=i.data===void 0&&(r.error!==null||i.error!==null);return(0,R.jsx)(uW,{...i.data===void 0?{}:{timeline:VB(i.data,{onOpenWorklistTask:t=>$(QV(e,t)),onOpenChatMessage:t=>$($V(e,t)),onOpenReferenceFile:t=>$(XV(e,t))})},statusShortcuts:TV(u),unread:UV(l),artifactSignal:t.sidebarSignal,loading:i.data===void 0&&(r.isLoading||i.isLoading),unavailable:d,onOpenProjectCenter:()=>$(`/projects`),onOpenChat:()=>$($t(e)),onOpenWorklist:()=>$(QV(e)),onOpenReferences:()=>$(XV(e)),onOpenArtifacts:()=>$(ZV(e)),onOpenSkills:()=>$(nH(e)),onOpenSettings:()=>$(eH(e)),onActivateStatusShortcut:t=>iH(e,t)})}function LY({relayProjectRef:e}){let t=VK(),n=(0,L.useMemo)(()=>ab({...AV,relayProjectRef:e}),[e]),r=yK({hostClient:n,relayProjectRef:e}),i=new URL(MV(),window.location.origin).searchParams.get(`task`)??void 0,[a,o]=(0,L.useState)(void 0),s=z({queryKey:Q.bootstrap(e),queryFn:()=>n.getBootstrap()}),c=z({queryKey:Q.worklist(e),queryFn:()=>n.getWorklist(),enabled:s.isSuccess}),l=z({queryKey:Q.executionStatus(e),queryFn:()=>n.getExecutionStatus(),enabled:s.isSuccess}),u=z({queryKey:Q.readState(e),queryFn:()=>n.getReadState(),enabled:s.isSuccess}),d=s.data,f=d?.generated_at??new Date(0).toISOString(),p=c.data??d?.snapshots.worklist??VV(),m=u.data??d?.snapshots.read_state;WV({enabled:s.isSuccess,hostClient:n,relayProjectRef:e,readState:m,scope:`worklist`});let h=(0,L.useMemo)(()=>dB(p),[p]),g=i!==void 0&&h.some(e=>e.id===i),_=i!==void 0&&!g?i:void 0;(0,L.useEffect)(()=>{if(i!==void 0){o(g?e=>e===i?e:i:void 0);return}if(h.length===0){o(void 0);return}(a===void 0||!h.some(e=>e.id===a))&&o(aH(p,void 0))},[g,i,a,h,p]);let v=z({queryKey:a===void 0?Q.taskDetail(e,`none`):Q.taskDetail(e,a),queryFn:()=>n.getTaskDetail(a),enabled:s.isSuccess&&a!==void 0}),y=z({queryKey:a===void 0?Q.taskRunResults(e,`none`):Q.taskRunResults(e,a),queryFn:()=>n.getTaskRunResults(a,{limit:50}),enabled:s.isSuccess&&a!==void 0}),b=l.data??d?.snapshots.execution_status??KV(f),x=uB(p,a),S=xB(v.data,y.data),C=v.data?.detail.result.latest_run_result_id,w=v.data?.detail.result.retry_action,T=S===void 0||C===void 0||w===void 0?S:{...S,retryAction:{state:r.stateFor(S.taskId,C,w)??w,onRetry:()=>r.retry(S.taskId,C)}},E=c.data!==void 0||d?.snapshots.worklist!==void 0,D=!E&&(s.error!==null||c.error!==null);return(0,R.jsx)(dW,{statusShortcuts:TV(b),unread:UV(m),artifactSignal:t.sidebarSignal,modules:x.modules,taskCount:x.taskCount,...T===void 0?{}:{detail:T},..._===void 0?{}:{missingTaskId:_},loading:!E&&(s.isLoading||c.isLoading),unavailable:D,onOpenProjectCenter:()=>$(`/projects`),onOpenChat:()=>$($t(e)),onOpenReferences:()=>$(XV(e)),onOpenArtifacts:()=>$(ZV(e)),onOpenSkills:()=>$(nH(e)),onOpenTimeline:()=>$(tH(e)),onOpenSettings:()=>$(eH(e)),onActivateStatusShortcut:t=>iH(e,t),onSelectTask:t=>{o(t),$(QV(e,t))}})}var RY=`is-scrollbar-active`,zY=1e3;function BY(e,t){let n=e.target;return n instanceof Element?n:t.scrollingElement??t.documentElement}function VY(e){let t=new Map,n=e=>{let n=t.get(e);n!==void 0&&(window.clearTimeout(n),t.delete(e)),e.classList.remove(RY)},r=e=>{let r=t.get(e);r!==void 0&&window.clearTimeout(r),e.classList.add(RY);let i=window.setTimeout(()=>n(e),zY);t.set(e,i)},i=t=>{r(BY(t,e))};return e.addEventListener(`scroll`,i,{capture:!0,passive:!0}),()=>{e.removeEventListener(`scroll`,i,!0);for(let[e,n]of t)window.clearTimeout(n),e.classList.remove(RY);t.clear()}}var HY=`--tutti-viewport-height`,UY=`--tutti-viewport-offset-top`;function WY(e,t=window){let n=e.documentElement,r=t.visualViewport,i=()=>{let e=r?.height??t.innerHeight,i=r?.offsetTop??0;n.style.setProperty(HY,`${Math.max(0,e)}px`),n.style.setProperty(UY,`${Math.max(0,i)}px`)};return i(),t.addEventListener(`resize`,i),t.addEventListener(`orientationchange`,i),r?.addEventListener(`resize`,i),r?.addEventListener(`scroll`,i),()=>{t.removeEventListener(`resize`,i),t.removeEventListener(`orientationchange`,i),r?.removeEventListener(`resize`,i),r?.removeEventListener(`scroll`,i),n.style.removeProperty(HY),n.style.removeProperty(UY)}}var GY=new Ye({defaultOptions:{queries:{retry:!1,refetchOnWindowFocus:!1}}});function KY(){let e=PV();if(e.kind===`managed_account`)return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(zb,{route:e}),(0,R.jsx)(VG,{})]});if(e.kind===`managed_project_consent`)return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(zb,{route:e}),(0,R.jsx)(BG,{})]});if(e.kind===`local_console`)return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(zb,{route:e}),(0,R.jsx)(wq,{})]});if(e.kind===`local_console_account_gate`)return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(zb,{route:e}),(0,R.jsx)(Oq,{})]});if(e.kind===`home`)return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(zb,{route:e}),(0,R.jsx)($K,{})]});if(e.kind===`join`)return(0,R.jsx)(eK,{joinToken:e.joinToken});if(e.kind===`feishu_project`)return(0,R.jsx)(ZK,{relayProjectRef:e.relayProjectRef});if(e.kind===`feishu_connection`)return(0,R.jsx)(_H,{entryRef:e.entryRef});if(e.kind===`legacy_feishu_project`)return(0,R.jsx)(HK,{relayProjectRef:e.relayProjectRef});if(e.kind===`setup`)return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(zb,{route:e}),(0,R.jsx)(OJ,{})]});if(e.kind===`project_open`)return(0,R.jsx)(pJ,{requestedOpenProjectRef:e.relayProjectRef});if(e.kind===`workspace`||e.kind===`worklist`||e.kind===`references`||e.kind===`artifacts`||e.kind===`skills`||e.kind===`timeline`||e.kind===`settings`){let t=e.kind===`workspace`?(0,R.jsx)(GJ,{relayProjectRef:e.relayProjectRef}):e.kind===`worklist`?(0,R.jsx)(LY,{relayProjectRef:e.relayProjectRef}):e.kind===`references`?(0,R.jsx)(MY,{relayProjectRef:e.relayProjectRef}):e.kind===`artifacts`?(0,R.jsx)(EY,{relayProjectRef:e.relayProjectRef}):e.kind===`skills`?(0,R.jsx)(FY,{relayProjectRef:e.relayProjectRef}):e.kind===`timeline`?(0,R.jsx)(IY,{relayProjectRef:e.relayProjectRef}):(0,R.jsx)(PY,{relayProjectRef:e.relayProjectRef});return(0,R.jsxs)(YJ,{relayProjectRef:e.relayProjectRef,children:[t,(0,R.jsx)(XJ,{relayProjectRef:e.relayProjectRef})]},e.relayProjectRef)}return(0,R.jsx)(pJ,{...e.kind===`project_center`&&e.panel?{initialPanel:e.panel}:{}})}function qY(){return(0,L.useEffect)(()=>{let e=VY(document),t=WY(document);return()=>{e(),t()}},[]),(0,R.jsx)(et,{client:GY,children:(0,R.jsx)(Tz,{children:(0,R.jsx)(KY,{})})})}function JY(e){let t=document.querySelector(`link[rel="icon"]`),n=t??document.createElement(`link`);n.rel=`icon`,n.type=`image/png`,n.sizes=`1024x1024`,n.href=e,t===null&&document.head.append(n)}JY(LR),(0,_t.createRoot)(document.getElementById(`root`)).render((0,R.jsx)(L.StrictMode,{children:(0,R.jsx)(qY,{})}));export{J as C,$b as S,Sx as _,EO as a,nx as b,IO as c,Jx as d,qx as f,Dx as g,kx as h,NO as i,AO as l,Mx as m,vO as n,OO as o,Wx as p,FO as r,PO as s,gL as t,tS as u,xx as v,Ze as w,ex as x,px as y};
70
+ `)}function hB(e){return e.status===`promoted`?`promoted`:e.status===`not_promoted`?`not promoted`:`not attempted`}function gB(e){return e.result_kind===`needs_human`?`needs human`:e.result_kind===`failed`?`failed`:e.result_kind===`finished`?e.outcome??`finished`:`none`}function _B(e){if(e.result_kind===`needs_human`)return`pending`;if(e.result_kind===`failed`)return`failed`;if(e.result_kind===`finished`)return e.outcome===`completed`?`done`:`failed`}function vB(e){return e.result_kind===`needs_human`?`pending`:e.result_kind===`failed`?`failed`:e.outcome===`completed`?`done`:`failed`}function yB(e){return e.result_kind===`needs_human`?`Needs human`:e.result_kind===`failed`?`Failed`:e.outcome===`completed`?`Finished`:`Finished with failure`}function bB(e){return{id:e.id,title:yB(e),meta:Mz(e.created_at),status:vB(e)}}function xB(e,t,n={}){if(e===void 0)return;let r=e.detail.result,i=e.detail.contract,a=_B(r),o=[a===void 0?{label:`STATUS`,value:gB(r)}:{label:`STATUS`,value:gB(r),status:a}];return r.updated_at!==void 0&&o.push({label:`UPDATED`,value:Mz(r.updated_at)}),o.push({label:`RESULT`,value:pB(r.summary,`No run result yet.`)}),r.checks!==void 0&&o.push({label:`CHECKS`,value:r.checks}),r.docs!==void 0&&o.push({label:`DOCS`,value:r.docs}),r.promotion!==void 0&&o.push({label:`PROMOTE`,value:hB(r.promotion)}),r.error_code!==void 0&&o.push({label:`ERROR`,value:r.error_code}),r.retryable!==void 0&&o.push({label:`RETRY`,value:r.retryable?`can retry`:`needs new scope`}),{taskId:e.task.id,title:e.task.title,status:e.task.status,summary:pB(e.task.summary),contractRows:[{label:`GOAL`,value:i.goal||`None`},{label:`SCOPE`,value:mB(i.scope)}],resultRows:o,evidenceRows:o,runResults:(t?.items??[]).map(bB),...r.retry_action===void 0||n.includeRetryAction===!1?{}:{retryAction:{state:r.retry_action}}}}var SB=new Intl.DateTimeFormat(Dz,{year:`numeric`,month:`short`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1}),CB={connected:`Connected`,reconnecting:`Reconnecting`,unavailable:`Unavailable`},wB={configured:`Configured`,invalid:`Needs attention`,not_configured:`Not configured`,managed:`Tenso trial`},TB={provider_auth_invalid:`API key is invalid`,provider_quota_or_billing_required:`Quota or billing needs attention`,provider_rate_limited:`Provider rate limit reached`,provider_model_unavailable:`Selected model is unavailable`,provider_network_error:`Provider could not be reached`,unknown:`Provider validation failed`};function EB(e){let t=new Date(e);return Number.isFinite(t.getTime())?SB.format(t):e}function DB(e){return e===`owner`?`Owner`:`Member`}function OB(e){return e.status===`managed`?{status:wB.managed,model:`Tenso`}:e.status===`not_configured`?{status:wB[e.status]}:{status:wB[e.status],...e.default_model===void 0?{}:{model:e.default_model},...e.validated_at===void 0?{}:{lastValidated:EB(e.validated_at)},...e.status!==`invalid`||e.invalid_reason_code===void 0?{}:{issue:TB[e.invalid_reason_code]}}}function kB(e,t){let n=(t?.members??[]).map(e=>({key:e.account_ref,displayName:e.display_name,avatar:e.avatar}));return n.some(t=>t.key===e.account.account_ref)?n:[...n,{key:e.account.account_ref,displayName:e.account.display_name,avatar:e.account.avatar}]}function AB(e,t,n,r){return{connectionStatus:{label:CB[e.relay.status],tone:e.relay.status===`connected`?`live`:`warning`},project:{displayName:e.project.display_name,description:e.project.description??``,members:kB(t,r)},access:{...e.relay.join_url===void 0?{}:{inviteLink:e.relay.join_url},...e.relay.join_token_expires_at===void 0?{}:{inviteExpires:EB(e.relay.join_token_expires_at)},signedInAs:{displayName:t.account.display_name,avatar:t.account.avatar},role:DB(t.membership.label),joined:EB(t.membership.joined_at)},provider:OB(n),tutti:{version:e.server.version}}}var jB=new Intl.NumberFormat(`en-US`),MB=HC(`beethoven-ode-to-joy`);function NB(e){return[...e].reverse().map((e,t)=>{let n=MB.units[t%MB.units.length];if(n===void 0)throw Error(`Timeline score theme unexpectedly has no units`);return{...n,id:e.id,label:`Open ${e.stageLabel??e.title}`}})}function PB(e){return jB.format(e)}function FB(e){if(e!==void 0)switch(e){case`completed`:return`success`;case`failed`:return`error`;case`needs_human`:return`warning`}}function IB(e){if(e.kind===`task_accepted`)return`Task accepted`;if(e.kind===`checkpoint`)return`Checkpoint`;switch(e.update_state){case`completed`:return`Task completed`;case`failed`:return`Task failed`;case`needs_input`:return`Needs input`;default:return`Task update`}}function LB(e,t){let n=Date.parse(e.occurred_at),r=Date.parse(t.occurred_at),i=Number.isFinite(n)&&Number.isFinite(r)?r-n:t.occurred_at.localeCompare(e.occurred_at);return i===0?t.id.localeCompare(e.id):i}function RB(e,t={}){let n=e.token_usage?.total_tokens??0,r=FB(e.status),i={id:e.id,title:e.task_title??e.title,occurredAt:Mz(e.occurred_at),kind:e.kind,stageLabel:IB(e)};return r!==void 0&&(i.tone=r),n>0&&(i.tokenLabel=`${PB(n)} tokens`),e.task_id!==void 0&&(i.taskId=e.task_id),e.task_title!==void 0&&(i.taskTitle=e.task_title),e.trace_card!==void 0&&(i.trace=BB(e.trace_card,t)),i}function zB(e,t){if(e.kind===`worklist_task`&&e.task_id!==void 0){let n=t.onOpenWorklistTask,r=e.task_id;return n===void 0?void 0:()=>n(r)}if(e.kind===`chat_message`&&e.message_id!==void 0){let n=t.onOpenChatMessage,r=e.message_id;return n===void 0?void 0:()=>n(r)}if(e.kind===`reference_file`&&e.path!==void 0){let n=t.onOpenReferenceFile,r=e.path;return n===void 0?void 0:()=>n(r)}}function BB(e,t={}){return{tone:e.tone,...e.summary===void 0?{}:{summary:e.summary},...e.origin===void 0?{}:{origin:{...e.origin.title===void 0?{}:{title:e.origin.title},...e.origin.summary===void 0?{}:{summary:e.origin.summary},...e.origin.unavailable_reason===void 0?{}:{unavailableReason:e.origin.unavailable_reason},...e.origin.source_count===void 0?{}:{sourceCount:e.origin.source_count},...e.origin.snippets===void 0?{}:{snippets:e.origin.snippets.map(e=>({id:e.message_id,author:e.author,body:e.body,createdAt:Mz(e.created_at),...t.onOpenChatMessage===void 0?{}:{onClick:()=>t.onOpenChatMessage?.(e.message_id)}}))}}},...e.decisions===void 0?{}:{decisions:e.decisions.map((e,t)=>({id:`${t}:${e.source??`decision`}`,...e.title===void 0?{}:{title:e.title},summary:e.summary}))},...e.clarification===void 0?{}:{clarification:{...e.clarification.title===void 0?{}:{title:e.clarification.title},...e.clarification.summary===void 0?{}:{summary:e.clarification.summary},...e.clarification.request===void 0?{}:{request:e.clarification.request},...e.clarification.status===void 0?{}:{status:e.clarification.status},...e.clarification.answer_count===void 0?{}:{answerCount:e.clarification.answer_count},...e.clarification.answers===void 0?{}:{answers:e.clarification.answers.map(e=>({id:e.message_id,author:e.author,body:e.body,createdAt:Mz(e.created_at),...t.onOpenChatMessage===void 0?{}:{onClick:()=>t.onOpenChatMessage?.(e.message_id)}}))}}},...e.contract===void 0?{}:{contract:{goal:e.contract.goal,scope:e.contract.scope,...e.contract.truncated===void 0?{}:{truncated:e.contract.truncated}}},...e.result===void 0?{}:{result:{summary:e.result.summary,...e.result.error_code===void 0?{}:{errorCode:e.result.error_code}}},...e.changes===void 0?{}:{changes:{items:e.changes.items.map(e=>({status:e.status,path:e.path,...e.previous_path===void 0?{}:{previousPath:e.previous_path}})),totalCount:e.changes.total_count,truncated:e.changes.truncated}},...e.verification===void 0?{}:{verification:{checks:e.verification.checks,...e.verification.skip_reason_code===void 0?{}:{skipReasonCode:e.verification.skip_reason_code},...e.verification.skip_reason_summary===void 0?{}:{skipReasonSummary:e.verification.skip_reason_summary}}},...e.promotion===void 0?{}:{promotion:{status:e.promotion.status,...e.promotion.commit_short_oid===void 0?{}:{commitShortOid:e.promotion.commit_short_oid},...e.promotion.summary===void 0?{}:{summary:e.promotion.summary},...e.promotion.reason_code===void 0?{}:{reasonCode:e.promotion.reason_code}}},...e.checkpoint===void 0?{}:{checkpoint:{counters:e.checkpoint.counters,items:e.checkpoint.items.map(e=>({id:e.task_id,title:e.title,status:e.status,summary:e.summary})),...e.checkpoint.generated_files===void 0?{}:{generatedFiles:e.checkpoint.generated_files.map(e=>({id:e.path,name:e.name,path:e.path}))},...e.checkpoint.truncated===void 0?{}:{truncated:e.checkpoint.truncated}}},links:e.links.flatMap(e=>{let n=e.task_id??e.message_id??e.path,r=zB(e,t);return r===void 0?[]:[{id:`${e.kind}:${n??e.label}`,label:e.label,onClick:r}]})}}function VB(e,t={}){let n=e.usage_overview,r=[...e.items].sort(LB).map(e=>RB(e,t));return{tokenOverview:{totalLabel:PB(n.total_tokens)},items:r,scoreUnits:NB(r)}}var HB=[{id:`prepare`,label:`Preparing workspace`},{id:`implement`,label:`Implementing with Codex`},{id:`validate`,label:`Validating result`},{id:`save`,label:`Saving result`}],UB=[{id:`workspace_inspect`,summary:`inspecting the persistent project workspace`,displayStageId:`prepare`},{id:`artifact_candidate_validate`,summary:`validating the candidate Artifact preview`,displayStageId:`validate`},{id:`provider_task_run`,summary:`running Codex task implementation`,displayStageId:`implement`},{id:`provider_retry`,summary:`retrying Codex task after a transient provider failure`,displayStageId:`implement`},{id:`candidate_diff_collect`,summary:`collecting candidate changes`,displayStageId:`validate`},{id:`checks`,summary:`running project checks`,displayStageId:`validate`},{id:`post_checks_diff_collect`,summary:`rechecking candidate changes after checks`,displayStageId:`validate`},{id:`accepted_checkpoint`,summary:`saving the validated project state as an accepted checkpoint`,displayStageId:`save`},{id:`promotion_reconcile`,summary:`reconciling promotion after mainline changed`,displayStageId:`save`},{id:`self_correction`,summary:`retrying task implementation after pipeline feedback`,displayStageId:`implement`}],WB={scratchpad_refresh:{key:`scratchpad_refresh`,label:`Refreshing Scratchpad`,target:{kind:`scratchpad`}},project_context_bootstrap:{key:`project_context_bootstrap`,label:`Preparing project context`,target:{kind:`scratchpad`}},task_compile:{key:`task_compile`,label:`Compiling Worklist tasks`,target:{kind:`scratchpad`}},context_sync:{key:`context_sync`,label:`Synchronizing project context`,target:{kind:`worklist`}},reference_summary_refresh:{key:`reference_summary_refresh`,label:`Processing reference`,target:{kind:`references`}},recovery_check:{key:`recovery_check`,label:`Recovering workspace`,target:{kind:`worklist`}},follow_up_check:{key:`follow_up_check`,label:`Checking follow-up`,target:{kind:`worklist`}}},GB=`Tenso is working on`,KB=new Set([`scratchpad_refresh`]),qB=`task_compile`,JB=`project_context_bootstrap`,YB=3,XB={analyzing_task:`Analyzing the task`,searching_codebase:`Searching the codebase`,reading_files:`Reading project files`,planning:`Planning the next change`,editing_files:`Editing project files`,running_checks:`Running project checks`,running_command:`Running a project command`,using_tool:`Using a project tool`,waiting_for_approval:`Waiting for approval`,preparing_result:`Preparing the result`,reading_context:`Reading project context`,finalizing:`Preparing the result`};function ZB(e){if(e===void 0)return null;if(typeof e==`number`)return Number.isFinite(e)?e:null;if(e instanceof Date)return e.getTime();let t=Date.parse(e);return Number.isNaN(t)?null:t}function QB(e){return ZB(e.now)??Date.now()}function $B(e){if(e<60)return`${e}s`;let t=Math.floor(e/60),n=e%60;if(t<60)return`${t}m${n}s`;let r=Math.floor(t/60),i=t%60;return`${r}h${String(i).padStart(2,`0`)}m`}function eV(e,t){let n=ZB(e);if(n!==null)return $B(Math.max(0,Math.floor((QB(t)-n)/1e3)))}function tV(e,t){return eV(e.active_activity?.started_at??e.runtime?.started_at,t)}function nV(e){let t=e.runtime;if(t===void 0)return;let n=e.active_activity?.activity_ref;if(!(n!==void 0&&t.activity_ref!==n))return t}function rV(e){if(e<1e3)return String(e);if(e<1e6){let t=e/1e3;return`${e<1e5?t.toFixed(1).replace(/\.0$/u,``):String(Math.round(t))}k`}return`${(e/1e6).toFixed(1).replace(/\.0$/u,``)}m`}function iV(e){let t=aV(e);return t===void 0?[]:[t]}function aV(e){let t=e?.token_usage?.total_tokens;return t===void 0?void 0:`${rV(t)} tokens`}function oV(e){if(e?.current_action_detail!==void 0)return e.current_action_detail;let t=e?.current_action;return t===void 0?e?.token_usage===void 0?void 0:XB.analyzing_task:XB[t]}function sV(e,t){if(e?.current_action!==`analyzing_task`||e.current_action_started_at===void 0)return;let n=ZB(e.current_action_started_at);if(n===null)return;let r=Math.max(0,Math.floor((QB(t)-n)/1e3));if(!(r<YB))return`Thinking for ${$B(r)}`}function cV(e){let t={};return e.active_activity?.activity_ref!==void 0&&(t.activityRef=e.active_activity.activity_ref),e.active_activity?.workflow_ref!==void 0&&(t.workflowRef=e.active_activity.workflow_ref),e.active_task?.id!==void 0&&(t.taskId=e.active_task.id),Object.keys(t).length===0?void 0:t}function lV(e,t,n){return e===`context_sync`&&t.last_conclusion?.task_id!==void 0?{kind:`task`,taskId:t.last_conclusion.task_id}:n.target}function uV(e){return UB[gV(e)]??UB[0]}function dV(e){return HB.findIndex(t=>t.id===e)}function fV(e){return HB[dV(uV(e).displayStageId)]??HB[0]}function pV(e){if(e.status!==`running`||e.active_activity?.activity_kind!==`procedure`)return null;let t=e.active_activity.workflow_kind;if(t===void 0||KB.has(t))return null;let n=WB[t],r=lV(t,e,n);return{key:`procedure:${n.key}`,label:n.label,title:n.label,tone:`running`,target:r}}function mV(e,t){if(e.status!==`running`||e.active_activity?.activity_kind!==`procedure`)return null;let n=e.active_activity.workflow_kind;if(n===void 0||KB.has(n))return null;let r=WB[n],i=lV(n,e,r),a=cV(e),o=nV(e),s=n===qB?iV(o):[],c=n===JB?`Creating project context for the first time`:void 0,l=eV(e.active_activity?.started_at??o?.started_at,t);return{key:`procedure:${r.key}`,title:GB,summary:e.summary,tone:`running`,metaLabel:r.label,completionTarget:i,...a===void 0?{}:{completionSource:a},steps:[{id:`procedure:${r.key}:active`,label:r.label,status:`running`,...l===void 0?{}:{elapsedLabel:l},...c===void 0?{}:{detail:c},...s.length===0?{}:{metrics:s}}]}}function hV(e){let t=e.indexOf(` - `);return t===-1?``:e.slice(t+3).trim().replace(/\.$/u,``)}function gV(e){let t=hV(e).toLocaleLowerCase();if(t===``)return 0;let n=UB.findIndex(e=>t.includes(e.summary.toLocaleLowerCase()));return n===-1?0:n}function _V(e,t){if(e.status!==`running`||e.active_task===void 0)return null;let n=dV(uV(e.summary).displayStageId),r=fV(e.summary),i=cV(e),a=nV(e),o=tV(e,t);return{key:`run:${e.active_task.id}`,title:GB,summary:e.active_task.title,tone:`running`,metaLabel:r.label,completionTarget:{kind:`task`,taskId:e.active_task.id},...i===void 0?{}:{completionSource:i},steps:HB.map((e,r)=>{let i=r<n?`done`:r===n?`running`:`waiting`,s=r===n,c=e.id===`implement`,l=s&&c?oV(a):void 0,u=s&&c?aV(a):void 0,d=s&&c?sV(a,t):void 0;return{id:e.id,label:e.label,status:i,...s&&o!==void 0?{elapsedLabel:o}:{},...u===void 0?{}:{detailPrefix:u},...l===void 0?{}:{detail:l},...d===void 0?{}:{activityLabel:d}}})}}function vV(e,t){if(e.status!==`running`||e.active_activity?.workflow_kind!==`context_sync`||e.last_conclusion?.kind!==`completed`||e.last_conclusion.task_id===void 0)return null;let n=cV(e),r=tV(e,t);return{key:`context-sync:${e.last_conclusion.task_id}`,title:GB,summary:e.summary,tone:`running`,metaLabel:`Synchronizing context`,completionTarget:{kind:`task`,taskId:e.last_conclusion.task_id},...n===void 0?{}:{completionSource:n},steps:[{id:`task_complete`,label:`Task completed`,status:`done`},{id:`context_sync`,label:`Synchronizing project context`,status:`running`,...r===void 0?{}:{elapsedLabel:r}}]}}function yV(e){let t=e.blocked_by?.kind===`approval`?{kind:`approval`}:{kind:`clarification`};return{key:`pending:${e.blocked_by?.kind===`approval`?e.blocked_by.approval_id:e.blocked_by?.kind===`clarification`?e.blocked_by.round_id:e.updated_at}`,title:GB,summary:e.summary,tone:`pending`,metaLabel:`Needs input`,completionTarget:t,steps:[{id:`waiting_for_input`,label:`Needs input`,status:`pending`}]}}function bV(e){let t=e.last_conclusion?.task_id??(e.status===`failed`?e.active_task?.id:void 0);return t===void 0&&e.status!==`failed`?null:{key:`failed:${t??e.updated_at}`,title:GB,summary:e.last_conclusion?.summary??e.summary,tone:`failed`,metaLabel:`Failed`,...t===void 0?{}:{completionTarget:{kind:`task`,taskId:t}},steps:[{id:`run_failed`,label:`Run failed`,status:`failed`}]}}function xV(e,t={}){let n=_V(e,t);if(n!==null)return n;let r=vV(e,t);if(r!==null)return r;let i=mV(e,t);return i===null?e.status===`pending`?yV(e):e.status===`failed`?bV(e):null:i}function SV(e){let t=e.activeTaskCompileClarification&&!e.activeScratchpadRefreshFromSubmit&&!e.activeProjectContextBootstrap&&!e.activeTaskCompile,n=[],r=eV(e.startedAt,e);if(e.activeProjectContextBootstrap)n.push({id:`scratchpad_submit:project_context`,label:`Preparing project context`,status:`running`,...r===void 0?{}:{elapsedLabel:r},detail:`Creating project context for the first time`});else if(e.activeTaskCompile||e.activeScratchpadRefreshFromSubmit){let t=e.activeTaskCompile?iV(e.runtime):[];n.push({id:`scratchpad_submit:task_compile`,label:`Compiling Worklist tasks`,status:`running`,...r===void 0?{}:{elapsedLabel:r},...t.length===0?{}:{metrics:t}})}else n.push({id:`scratchpad_submit:task_compile`,label:`Compiling Worklist tasks`,status:t?`done`:`running`});t&&n.push({id:`scratchpad_submit:needs_input`,label:`Needs input`,status:`pending`});let i=n.find(e=>e.status===`running`||e.status===`pending`)?.label??`Compiling Worklist tasks`;return{key:`scratchpad-submit`,title:GB,summary:t?`Task compilation needs a decision before Worklist can update.`:`Preparing the Scratchpad for formal tasks.`,tone:t?`pending`:`running`,metaLabel:t?`Needs input`:i,completionTarget:t?{kind:`clarification`}:{kind:`scratchpad`},steps:n}}function CV(e,t){return{...e,key:`${e.key}:complete`,title:GB,summary:t,tone:`complete`,metaLabel:`Complete`,steps:e.steps.map(e=>({...e,status:`done`}))}}function wV(e,t){let n=e.completionSource;return n===void 0?!0:n.activityRef===void 0?n.workflowRef===void 0?n.taskId===void 0?!0:t.task_id===n.taskId:t.workflow_ref===n.workflowRef:t.activity_ref===n.activityRef}function TV(e){if(e.status===`idle`)return[];let t=[];if(e.status===`pending`){let n=e.blocked_by?.kind===`approval`?{kind:`approval`}:{kind:`clarification`};t.push({key:`pending`,label:`Needs input`,title:`Needs input`,tone:`pending`,target:n})}let n=e.last_conclusion?.kind===`failed`?e.last_conclusion.task_id:e.status===`failed`?e.active_task?.id??e.last_conclusion?.task_id:void 0;if(n!==void 0&&t.push({key:`failed`,label:`Run failed`,tone:`failed`,target:{kind:`task`,taskId:n}}),e.status===`running`&&e.active_task!==void 0){let n=fV(e.summary);t.push({key:`running`,label:n.label,title:n.label,tone:`running`,target:{kind:`task`,taskId:e.active_task.id}})}let r=pV(e);return r!==null&&t.push(r),t}var EV=`http://127.0.0.1:4370`;function DV(){return typeof window<`u`?window.location.origin:EV}function OV(){let e=`https://tenso.work`;return typeof e==`string`?e:DV()}var kV=OV(),AV={relayBaseUrl:kV},jV=3e4,Q={relayRoot:[`relay`],me:[`relay`,`me`],recentProjects:[`relay`,`projects`,`recent`],accountProjects:[`relay`,`account-projects`],projectPresence:e=>[`relay`,`projects`,e,`presence`],relayJoinRoot:[`relay`,`join`],join:e=>[`relay`,`join`,e],bootstrap:e=>[`host`,e,`bootstrap`],hostRoot:e=>[`host`,e],hostSession:e=>[`host`,e,`session`],hostWorkspace:e=>[`host`,e,`workspace`],messages:e=>[`host`,e,`messages`,`main_chat`],messagesWindow:(e,t)=>[...Q.messages(e),{limit:t}],messagesAround:(e,t,n)=>[...Q.messages(e),{around:t,limit:n}],messageHistory:(e,t,n)=>[...Q.messages(e),{history:t,limit:n}],scratchpad:e=>[`host`,e,`scratchpad`],worklist:e=>[`host`,e,`worklist`],readState:e=>[`host`,e,`read-state`],activeClarification:e=>[`host`,e,`clarification`,`active`],activeApproval:e=>[`host`,e,`approval`,`active`],noActiveClarificationRoundMessages:e=>[`host`,e,`clarification-round-messages`,`none`],clarificationRoundMessages:(e,t)=>[`host`,e,`clarification-round-messages`,t],task:(e,t)=>[`host`,e,`task`,t],taskDetail:(e,t)=>[`host`,e,`task-detail`,t],taskRunResults:(e,t)=>[`host`,e,`task-run-results`,t],executionStatus:e=>[`host`,e,`execution-status`],providerConfig:e=>[`host`,e,`provider-config`],providerUsage:e=>[`host`,e,`provider-usage`],projectTimeline:e=>[`host`,e,`project-timeline`],viewerRoot:e=>[`host`,e,`viewer`],viewerFile:(e,t)=>[`host`,e,`viewer`,`file`,t],referenceFiles:e=>[`host`,e,`references`,`files`],artifacts:e=>[`host`,e,`artifacts`],artifactPreviewSession:(e,t)=>[`relay`,e,`artifact-preview-session`,t],skills:e=>[`host`,e,`skills`],skillDetail:(e,t)=>[`host`,e,`skills`,t]};function MV(){return`${window.location.pathname}${window.location.search}${window.location.hash}`}function $(e,t={}){t.replace===!0?window.history.replaceState(null,``,e):window.history.pushState(null,``,e),window.dispatchEvent(new PopStateEvent(`popstate`))}function NV(e){let t=new URL(e,window.location.origin);$(`${t.pathname}${t.search}${t.hash}`)}function PV(){let[e,t]=(0,L.useState)(MV);return(0,L.useEffect)(()=>{let e=()=>{t(MV())};return window.addEventListener(`popstate`,e),e(),()=>{window.removeEventListener(`popstate`,e)}},[]),(0,L.useMemo)(()=>{let t=new URL(e,window.location.origin);return Fb(t.pathname,t.search)},[e])}function FV(e){return e instanceof Error?e.message:`Request failed`}function IV(e){e.invalidateQueries({queryKey:Q.me}),e.invalidateQueries({queryKey:Q.recentProjects}),e.invalidateQueries({queryKey:Q.accountProjects})}function LV(e,t){if(t!==void 0)for(let n of t)switch(n.kind){case`all`:e.invalidateQueries({queryKey:Q.relayRoot});break;case`me`:e.invalidateQueries({queryKey:Q.me});break;case`recent_projects`:e.invalidateQueries({queryKey:Q.recentProjects}),e.invalidateQueries({queryKey:Q.accountProjects});break;case`join_entries`:e.invalidateQueries({queryKey:Q.relayJoinRoot});break;case`project_presence`:Lt(n.relay_project_ref,Nt.relayProject)&&e.invalidateQueries({queryKey:Q.projectPresence(n.relay_project_ref)});break}}function RV(e){let t=$e(),n=(0,L.useMemo)(()=>Wn(AV),[]);(0,L.useEffect)(()=>{if(e)try{let e=n.connectEvents({onReady:e=>{e.payload.replay.status===`missed`&&t.invalidateQueries({queryKey:Q.relayRoot})},onInvalidate:e=>{LV(t,e)}});return()=>{e.close()}}catch{return}},[e,t,n])}function zV(e,t,n){if(n!==void 0)for(let r of n)switch(r.kind){case`all`:e.invalidateQueries({queryKey:Q.hostRoot(t)});break;case`workspace`:e.invalidateQueries({queryKey:Q.hostWorkspace(t)}),e.invalidateQueries({queryKey:Q.projectTimeline(t)});break;case`session`:e.invalidateQueries({queryKey:Q.hostSession(t)});break;case`bootstrap`:e.invalidateQueries({queryKey:Q.bootstrap(t)});break;case`messages`:r.scope===`main_chat`?e.invalidateQueries({queryKey:Q.messages(t)}):e.invalidateQueries({queryKey:Q.clarificationRoundMessages(t,r.round_id)});break;case`scratchpad`:e.invalidateQueries({queryKey:Q.scratchpad(t)});break;case`worklist`:e.invalidateQueries({queryKey:Q.worklist(t)});break;case`read_state`:e.invalidateQueries({queryKey:Q.readState(t)});break;case`task`:e.invalidateQueries({queryKey:Q.task(t,r.task_id)});break;case`task_detail`:e.invalidateQueries({queryKey:Q.taskDetail(t,r.task_id)});break;case`task_run_results`:e.invalidateQueries({queryKey:Q.taskRunResults(t,r.task_id)}),e.invalidateQueries({queryKey:Q.projectTimeline(t)});break;case`execution_status`:e.invalidateQueries({queryKey:Q.executionStatus(t)});break;case`approval`:e.invalidateQueries({queryKey:Q.activeApproval(t)});break;case`provider_config`:e.invalidateQueries({queryKey:Q.providerConfig(t)});break;case`provider_usage`:e.invalidateQueries({queryKey:Q.providerUsage(t)}),e.invalidateQueries({queryKey:Q.projectTimeline(t)});break;case`project_timeline`:e.invalidateQueries({queryKey:Q.projectTimeline(t)});break;case`viewer`:e.invalidateQueries({queryKey:Q.viewerRoot(t)}),e.invalidateQueries({queryKey:Q.projectTimeline(t)}),(r.path===void 0||r.path.startsWith(`docs/reference`))&&e.invalidateQueries({queryKey:Q.referenceFiles(t)}),r.path!==void 0&&e.invalidateQueries({queryKey:Q.viewerFile(t,r.path)});break;case`skills`:e.invalidateQueries({queryKey:Q.skills(t)});break;case`artifacts`:e.invalidateQueries({queryKey:Q.artifacts(t)});break;case`recovery_summaries`:e.invalidateQueries({queryKey:Q.projectTimeline(t)});break;case`activity`:break;case`clarification`:e.invalidateQueries({queryKey:Q.activeClarification(t)}),e.invalidateQueries({queryKey:Q.projectTimeline(t)}),r.round_id!==void 0&&e.invalidateQueries({queryKey:Q.clarificationRoundMessages(t,r.round_id)});break}}function BV(){return{items:[],window:{has_older:!1,has_newer:!1,limit:50}}}function VV(){return{modules:[]}}function HV(){return{id:`current`,state:`empty`,topic:``,background_summary:``,current_consensus:[],open_questions:[],task_changes:[],receipts:[]}}function UV(e){return{chat:e?.scopes.chat.has_unread===!0,worklist:e?.scopes.worklist.has_unread===!0,references:e?.scopes.references.has_unread===!0,skills:e?.scopes.skills.has_unread===!0}}function WV({enabled:e,hostClient:t,relayProjectRef:n,readState:r,scope:i}){let a=$e(),o=(0,L.useRef)(null),s=ht({mutationFn:e=>t.markRead({scope:i,up_to_event_cursor:e}),onSuccess:e=>{zV(a,n,e.invalidates)},onError:()=>{o.current=null}});(0,L.useEffect)(()=>{if(!e||r===void 0)return;let t=r.scopes[i];if(!t.has_unread){t.read_event_cursor>=t.latest_event_cursor&&(o.current=null);return}let n=`${i}:${t.latest_event_cursor}`;o.current===n||s.isPending||(o.current=n,s.mutate(t.latest_event_cursor))},[e,s,r,i])}function GV(){return{state:`none`}}function KV(e){return{status:`idle`,summary:`Idle`,updated_at:e}}function qV(e){return e.active_activities??(e.active_activity===void 0?[]:[e.active_activity])}function JV(e,t,n){return qV(e).some(e=>e.workflow_kind===t?n===void 0||(e.lane??`foreground`)===n:!1)}function YV(e){return e.blocked_by?.kind===`clarification`||e.blocked_by?.kind===`approval`?!0:qV(e).some(e=>e.activity_kind===`run`?!0:(e.lane??`foreground`)===`foreground`)}function XV(e,t){let n=`/projects/${encodeURIComponent(Rt(e))}/references`;return t===void 0?n:`${n}?path=${encodeURIComponent(t)}`}function ZV(e){return`/projects/${encodeURIComponent(Rt(e))}/artifacts`}function QV(e,t){let n=`/projects/${encodeURIComponent(Rt(e))}/worklist`;return t===void 0?n:`${n}?task=${encodeURIComponent(t)}`}function $V(e,t){return`${$t(e)}?message=${encodeURIComponent(t)}`}function eH(e){return`/projects/${encodeURIComponent(Rt(e))}/settings`}function tH(e){return`/projects/${encodeURIComponent(Rt(e))}/timeline`}function nH(e,t){let n=`/projects/${encodeURIComponent(Rt(e))}/skills`;return t===void 0?n:`${n}?skill=${encodeURIComponent(t)}`}function rH(e,t){switch(t.target.kind){case`approval`:case`clarification`:case`scratchpad`:return $t(e);case`worklist`:return QV(e);case`references`:return XV(e);case`task`:return QV(e,t.target.taskId)}}function iH(e,t){$(rH(e,t))}function aH(e,t){let n=dB(e);if(t!==void 0&&n.some(e=>e.id===t))return t;for(let e of[`running`,`pending`,`failed`,`todo`,`done`]){let t=n.find(t=>t.status===e);if(t!==void 0)return t.id}}function oH(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function sH(e){switch(e){case`binary`:return`Binary file`;case`too_large`:return`File too large`;case`unsupported_encoding`:return`Unsupported encoding`;case`restricted_path`:case`secret_like`:return`Restricted file`;default:return`Preview unavailable`}}function cH(e){if(!(e===void 0||e.kind===`text`))return sH(e.reason)}function lH(e){return Array.from(new Uint8Array(e)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}async function uH(e){if(globalThis.crypto?.subtle===void 0)throw Error(`This browser does not support file upload hashing.`);return`sha256:${lH(await globalThis.crypto.subtle.digest(`SHA-256`,await e.arrayBuffer()))}`}async function dH(e){if(e.file.size<=0)throw Error(`Upload file cannot be empty.`);let t=Yg(e.purpose);if(e.file.size>t)throw Error(`Upload file cannot exceed ${oH(t)}.`);let n=await uH(e.file),r=e.file.type===``?void 0:e.file.type,i=Wn(AV),a=e.purpose===`skill_zip`?{relay_project_ref:e.relayProjectRef,purpose:`skill_zip`,file_name:e.file.name,size_bytes:e.file.size,sha256:n,...r===void 0?{}:{media_type:r}}:{relay_project_ref:e.relayProjectRef,purpose:`reference_file`,file_name:e.file.name,size_bytes:e.file.size,sha256:n,...r===void 0?{}:{media_type:r}},o=await i.startUpload(a);if(o.result===void 0)throw Error(`Upload session could not be started.`);let s=new Headers(o.result.put.headers??{});r!==void 0&&!s.has(`content-type`)&&s.set(`content-type`,r);let c;try{c=await fetch(o.result.put.url,{method:o.result.put.method,headers:s,body:e.file})}catch{throw Error(`File upload failed while sending the file to upload storage. Check that R2 CORS allows PUT from this Web origin.`)}if(!c.ok)throw Error(`File upload failed while sending the file to upload storage (${c.status}).`);return{upload_id:o.result.upload.upload_id,file_name:o.result.upload.file_name,size_bytes:o.result.upload.size_bytes,sha256:o.result.upload.sha256,...o.result.upload.media_type===void 0?{}:{media_type:o.result.upload.media_type}}}function fH(e){let t=$e(),n=Ez(),[r,i]=(0,L.useState)(`identity`),[a,o]=(0,L.useState)(null),[s,c]=(0,L.useState)({email:``,displayName:``,code:``}),l=ht({mutationFn:async()=>{let e=s.email.trim(),t=await Yn(AV,{email:e});if(t.result===void 0)throw Error(`Login challenge was not returned`);return{challenge:t.result.challenge,disposition:t.disposition,email:e}},onSuccess:({challenge:e,disposition:t,email:r})=>{o(e),c(e=>({...e,code:``})),i(`code`),n.notify({tone:`success`,title:t.kind===`otp_already_pending`?`Verification email already sent`:`Verification email sent`,message:t.kind===`otp_already_pending`?`Verification email already sent to ${r}.`:`Verification email sent to ${r}.`})}}),u=ht({mutationFn:async()=>{if(a===null)throw Error(`Login challenge is missing`);return rr(AV,{challenge_ref:a.challenge_ref,code:s.code.trim()},s.email)},onSuccess:n=>{if(!n.account.profile_complete){t.invalidateQueries({queryKey:Q.me}),c(e=>({...e,displayName:``})),i(`profile`);return}IV(t),e?.()}}),d=ht({mutationFn:async()=>{let e=await Xn(AV,{display_name:s.displayName.trim()});if(e.result===void 0)throw Error(`Profile response was not returned`);return e.result.account},onSuccess:()=>{IV(t),e?.()}}),f=e=>{if(e.preventDefault(),r===`identity`&&s.email.trim()!==``){l.mutate();return}if(r===`code`&&a!==null&&s.code.trim()!==``){u.mutate();return}r===`profile`&&s.displayName.trim()!==``&&d.mutate()},p=l.isPending||u.isPending||d.isPending,m=r===`identity`?l.error:r===`code`?u.error??l.error:d.error;return{phase:r,form:s,pending:p,submitDisabled:r===`identity`?s.email.trim()===``:r===`code`?a===null||s.code.replace(/\s+/gu,``).length!==6:s.displayName.trim()===``,challengeEmailHint:a?.email_hint??null,error:m===null?null:FV(m),onChange:e=>{c(t=>({...t,...e,...e.code===void 0?{}:{code:e.code.replace(/\D/gu,``).slice(0,6)}}))},onSubmit:f,onBack:()=>{l.reset(),u.reset(),d.reset(),o(null),c(e=>({...e,code:``})),i(`identity`)}}}function pH(e){let t=$e(),[n,r]=(0,L.useState)({email:``,displayName:``,code:``}),i=ht({mutationFn:async()=>{let e=await Xn(AV,{display_name:n.displayName.trim()});if(e.result===void 0)throw Error(`Profile response was not returned`);return e.result.account},onSuccess:()=>{IV(t),e?.()}});return{phase:`profile`,form:n,pending:i.isPending,submitDisabled:n.displayName.trim()===``,challengeEmailHint:null,error:i.error===null?null:FV(i.error),onChange:e=>{r(t=>({...t,...e,...e.code===void 0?{}:{code:e.code.replace(/\D/gu,``).slice(0,6)}}))},onSubmit:e=>{e.preventDefault(),n.displayName.trim()!==``&&i.mutate()}}}function mH(e){if(typeof e.feishuWebUrl!=`string`||e.pageOrigin===void 0)return e.relayBaseUrl;try{let t=new URL(e.feishuWebUrl);if(t.username===``&&t.password===``&&t.pathname===`/`&&t.search===``&&t.hash===``&&(t.protocol===`https:`||t.protocol===`http:`&&[`localhost`,`127.0.0.1`,`[::1]`].includes(t.hostname))&&t.origin===e.pageOrigin)return t.origin}catch{}return e.relayBaseUrl}var hH={...AV,relayBaseUrl:mH({relayBaseUrl:AV.relayBaseUrl,...typeof window>`u`?{}:{pageOrigin:window.location.origin},feishuWebUrl:`https://tutti.now`})},gH=pb(hH);function _H({entryRef:e}){let[t,n]=(0,L.useState)(``),[r,i]=(0,L.useState)(!0),[a,o]=(0,L.useState)(!1),[s,c]=(0,L.useState)(!1),[l,u]=(0,L.useState)(),[d,f]=(0,L.useState)(0),p=(0,L.useRef)(!1),m=(0,L.useRef)(void 0);(0,L.useEffect)(()=>n(``),[e]),(0,L.useEffect)(()=>{let t=new AbortController;return m.current=t,p.current=!1,o(!1),i(!0),u(void 0),c(!1),mz(`connection_resolve`,async n=>{if(e===null||window.location.hash!==``)throw new Wt({message:`Invalid group entry`,code:`bad_request`,statusCode:0,retryable:!1,details:{reason_code:`connection_entry_unavailable`}});return gH.resolve(e,{signal:t.signal,diagnostics:n})}).then(e=>{t.signal.aborted||(e.kind===`bound`?$(en(e.relay_project_ref),{replace:!0}):c(!0))}).catch(e=>{t.signal.aborted||u(hz(e,az()))}).finally(()=>{t.signal.aborted||i(!1)}),()=>t.abort()},[e,d]);async function h(){if(p.current||e===null||Ky(t)===null)return;p.current=!0,o(!0),u(void 0);let r=m.current.signal;try{let i=await mz(`connection_resolve`,t=>gH.resolve(e,{signal:r,diagnostics:t}));if(r.aborted)return;if(i.kind===`bound`){n(``),$(en(i.relay_project_ref),{replace:!0});return}let a=await mz(`connection_bootstrap`,t=>gH.bootstrap(e,{signal:r,diagnostics:t}));if(r.aborted)return;let o=az(),s;try{s=await tz({appId:a.app_id,state:a.state})}catch(e){throw new rz(`h5_request_access`,e,o)}if(r.aborted)return;let c=await mz(`connection_connect`,n=>gH.connect({entry_ref:e,state:a.state,authorization_code:s,input:t},{signal:r,diagnostics:n}));if(r.aborted)return;if(c.kind!==`bound`)throw new rz(`connection_connect`,Error(`connection_not_established`));n(``),$(en(c.relay_project_ref),{replace:!0})}catch(e){r.aborted||u(hz(e,az()))}finally{m.current?.signal===r&&(p.current=!1,r.aborted||o(!1))}}return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(zb,{route:{kind:`feishu_connection`,entryRef:e}}),(0,R.jsx)(WR,{loading:r,pending:a,unbound:s,value:t,canSubmit:Ky(t)!==null,...l===void 0?{}:{error:l},onChange:n,onConnect:()=>void h(),onRefresh:()=>{p.current||f(e=>e+1)}})]})}var vH=`/assets/beethoven-symphony-5-opening-ypVy5SB4.svg`,yH=`/assets/beethoven-symphony-7-allegretto-B3bc-cZD.svg`,bH=`/assets/dvorak-symphony-9-largo-BEgNL3HB.svg`,xH=`/assets/mozart-symphony-18-allegro-B5-MrLL1.svg`,SH=`https://how.tenso.work`,CH=`${SH}/start/create-a-project#choose-model-access`,wH={href:SH,target:`_blank`,rel:`noopener noreferrer`};function TH(){return(0,R.jsxs)(mO,{children:[`New to Tenso?`,` `,(0,R.jsx)(`a`,{...wH,"aria-label":`Read the Tenso documentation (opens in a new tab)`,children:`Read the docs`}),`.`]})}function EH(){return(0,R.jsx)(Rw,{...wH,label:`Support Center`,icon:(0,R.jsx)(ix,{"aria-hidden":`true`})})}var DH=[vH,yH,bH,xH];function OH(){return DH[Math.min(DH.length-1,Math.floor(Math.random()*DH.length))]}function kH({backgroundPattern:e,children:t,...n}){let[r]=(0,L.useState)(OH);return(0,R.jsx)(UC,{...e===void 0?{backgroundImageSrc:r}:{backgroundPattern:e},...n,children:t})}function AH({actions:e,children:t,onBrandClick:n}){return(0,R.jsxs)(kH,{children:[(0,R.jsx)(WC,{brand:(0,R.jsx)(HR,{onClick:n}),actions:e}),t]})}function jH({children:e,label:t,onBrandClick:n}){return(0,R.jsx)(AH,{onBrandClick:n,children:(0,R.jsx)(KC,{"aria-label":t,children:e})})}function MH({auth:e,mobileAuth:t,onBrandClick:n}){return(0,R.jsx)(kH,{backgroundPattern:`dots`,className:`homepage-entry-page`,children:(0,R.jsx)(pO,{brand:(0,R.jsx)(HR,{onClick:n}),visual:(0,R.jsx)(JO,{assets:BR}),auth:e,mobileAuth:t,footer:(0,R.jsx)(TH,{})})})}function NH({phase:e,form:t,onChange:n}){return e===`code`?(0,R.jsx)(`div`,{className:`form-stack`,children:(0,R.jsx)(Pw,{label:`Email verification code`,children:(0,R.jsx)(Aw,{autoComplete:`one-time-code`,inputMode:`numeric`,type:`text`,value:t.code,onChange:e=>n({code:e.target.value}),placeholder:`Enter email code`,maxLength:6})})}):e===`profile`?(0,R.jsxs)(`div`,{className:`form-stack`,children:[(0,R.jsx)(Pw,{label:`Display name`,children:(0,R.jsx)(Aw,{autoComplete:`name`,type:`text`,value:t.displayName,onChange:e=>n({displayName:e.target.value}),placeholder:`username`})}),(0,R.jsx)(`p`,{className:`form-note`,children:`This name cannot be changed yet.`})]}):(0,R.jsx)(`div`,{className:`form-stack`,children:(0,R.jsx)(Pw,{label:`Email`,children:(0,R.jsx)(Aw,{autoComplete:`email`,type:`email`,value:t.email,onChange:e=>n({email:e.target.value}),placeholder:`alex@example.com`})})})}function PH({surface:e,phase:t,form:n,pending:r,error:i,submitDisabled:a,submitLabel:o,pendingLabel:s,onChange:c,onSubmit:l,onBack:u}){let d={title:t===`profile`?`Choose display name`:`Sign in`,description:t===`profile`?`Set the name your teammates will see.`:t===`code`?`Enter your email verification code.`:`Use your email to continue.`,onSubmit:l,action:(0,R.jsxs)(Sw,{type:`submit`,disabled:a||r,children:[r?s??(t===`profile`?`Saving`:t===`code`?`Verifying`:`Sending code`):o??(t===`profile`?`Save name`:t===`code`?`Verify email code`:`Send code`),(0,R.jsx)(Xb,{"aria-hidden":`true`})]}),secondaryAction:t===`code`&&u!==void 0?(0,R.jsxs)(X,{type:`button`,onClick:u,disabled:r,children:[(0,R.jsx)(Yb,{"aria-hidden":`true`}),`Change email`]}):void 0,feedback:i===null?void 0:(0,R.jsx)(Fw,{children:i}),children:(0,R.jsx)(NH,{phase:t,form:n,onChange:c})};return e===`card`?(0,R.jsx)(yk,{...d}):(0,R.jsx)(hO,{...d})}function FH(e){return(0,R.jsx)(PH,{...e,surface:`card`})}function IH(e){return(0,R.jsx)(PH,{...e,surface:`rail`})}function LH({onBrandClick:e,...t}){return(0,R.jsx)(MH,{onBrandClick:e,auth:(0,R.jsx)(IH,{...t}),mobileAuth:(0,R.jsx)(FH,{...t})})}function RH({nextKind:e,actionPending:t,loginForm:n,onRetry:r,onAccept:i,onOpen:a}){if(e===`loading`)return(0,R.jsx)(X,{type:`button`,disabled:!0,children:`Loading`});if(e===`error`)return(0,R.jsx)(X,{type:`button`,onClick:r,children:`Retry`});if(e===`invalid_or_expired`)return(0,R.jsxs)(X,{type:`button`,disabled:!0,children:[(0,R.jsx)($x,{"aria-hidden":`true`}),`Invalid invite`]});if(e===`login_required`){let e=n?.phase===`profile`?`Save name`:n?.phase===`code`?`Verify email code`:`Send code`,r=n?.phase===`profile`?`Saving`:n?.phase===`code`?`Verifying`:`Sending code`;return(0,R.jsxs)(Sw,{type:`submit`,disabled:t||n?.submitDisabled===!0,children:[t?r:e,(0,R.jsx)(Xb,{"aria-hidden":`true`})]})}return e===`accept_join`?(0,R.jsxs)(Sw,{type:`button`,disabled:t,onClick:i,children:[t?`Joining`:`Accept and open workspace`,(0,R.jsx)(Xb,{"aria-hidden":`true`})]}):e===`open_workspace`?(0,R.jsxs)(Sw,{type:`button`,disabled:t,onClick:a,children:[t?`Opening`:`Open workspace`,(0,R.jsx)(Xb,{"aria-hidden":`true`})]}):(0,R.jsxs)(X,{type:`button`,disabled:!0,children:[(0,R.jsx)(Ix,{"aria-hidden":`true`}),`Host offline`]})}function zH({nextKind:e,error:t}){return e===`loading`?null:e===`error`?(0,R.jsx)(iS,{tone:`error`,icon:(0,R.jsx)($x,{"aria-hidden":`true`}),children:t??`Invite unavailable`}):e===`invalid_or_expired`?(0,R.jsx)(iS,{tone:`error`,icon:(0,R.jsx)($x,{"aria-hidden":`true`}),children:`Join token is invalid or expired`}):e===`host_offline`?(0,R.jsx)(iS,{tone:`warning`,icon:(0,R.jsx)(Ix,{"aria-hidden":`true`}),children:`Host is offline`}):null}function BH({projectName:e,description:t,hostLabel:n,hostOnline:r,nextKind:i,accountLabel:a,membershipLabel:o,actionPending:s,error:c,loginForm:l,onBrandClick:u,onRetry:d,onAccept:f,onOpen:p}){let m=i===`login_required`&&l!==void 0;return(0,R.jsx)(jH,{label:`Join project`,onBrandClick:u,children:(0,R.jsxs)(yk,{title:`Join project`,description:t,onSubmit:e=>{if(m){l.onSubmit(e);return}e.preventDefault()},action:(0,R.jsx)(RH,{nextKind:i,actionPending:m?l.pending:s,...m?{loginForm:l}:{},onAccept:f,onOpen:p,...d===void 0?{}:{onRetry:d}}),secondaryAction:m&&l.phase===`code`&&l.onBack!==void 0?(0,R.jsxs)(X,{type:`button`,onClick:l.onBack,disabled:l.pending,children:[(0,R.jsx)(Yb,{"aria-hidden":`true`}),`Change email`]}):void 0,feedback:(0,R.jsxs)(R.Fragment,{children:[m&&l.error!==null?(0,R.jsx)(Fw,{children:l.error}):null,(0,R.jsx)(zH,{nextKind:i,error:c}),c===null||i===`error`?null:(0,R.jsx)(Fw,{children:c})]}),children:[(0,R.jsx)(bk,{projectName:e,hostLabel:n,hostOnline:r}),m?(0,R.jsx)(R.Fragment,{children:(0,R.jsx)(NH,{phase:l.phase,form:l.form,onChange:l.onChange})}):(0,R.jsx)(xk,{label:a===null?`Account`:`Signed in as`,value:a??`Sign in required`,action:o===null?null:(0,R.jsx)(`span`,{className:`quiet-link`,children:o})})]})})}var VH=`http://127.0.0.1:4370`;function HH(){let e=`https://tenso.work`;return typeof e==`string`?e:typeof window<`u`&&window.location.port!==`4372`?window.location.origin:VH}function UH(e){try{return new URL(e,HH()).toString()}catch{return e}}function WH({avatar:e,label:t,plain:n=!1,online:r=!1}){return(0,R.jsx)(XC,{label:t,tone:e.color,plain:n,online:r,initials:e.initials,...e.kind===`image`?{imageUrl:UH(e.image_url)}:{}})}function GH({label:e=`Tenso`}){return(0,R.jsx)(XC,{label:e,tone:`green`,className:`is-system`,imageUrl:zR,icon:(0,R.jsx)(Qb,{"aria-hidden":`true`})})}function KH({message:e}){return e.avatarKind===`tutti`?(0,R.jsx)(GH,{label:e.author}):(0,R.jsx)(WH,{avatar:e.avatar??{kind:`initials`,initials:O_(e.author),color:`blue`},label:e.author})}function qH({supportingContent:e,state:t,onRetry:n,onBrandClick:r,onSelectTab:i,onSelectTask:a,onCloseTask:o,onSubmitScratchpad:s,onRoundDraftChange:c,onSendRoundMessage:l,onSubmitRound:u,onDecideApproval:d,onOpenInBrowser:f,browserOpenUrl:p,onBrowserOpenLinkClick:m,scratchpadSubmitPending:h=!1,scratchpadSyncPending:g=!1,scratchpadActionsDisabled:_=!1,roundSendPending:v=!1,roundSubmitPending:y=!1,approvalDecisionPending:b=!1,browserOpenPending:x=!1}){let[S,C]=(0,L.useState)(!1);if(t.kind===`loading`)return(0,R.jsx)(TL,{brand:(0,R.jsx)(HR,{label:`Reload Tenso project`,onClick:r}),projectName:`Opening Tenso`,meta:`Feishu project`,children:(0,R.jsx)(aS,{count:3})});if(t.kind===`error`)return(0,R.jsx)(TL,{brand:(0,R.jsx)(HR,{label:`Reload Tenso project`,onClick:r}),projectName:`Tenso isn’t available`,meta:`Feishu project`,onRefresh:n,children:(0,R.jsx)(iS,{icon:(0,R.jsx)($x,{"aria-hidden":`true`}),tone:`warning`,details:(0,R.jsx)(UR,{diagnostic:t,showMessage:!1}),children:t.message})});let w=t.activeClarification??null,T=t.clarificationMessages??[],E=t.activeApproval??null;return(0,R.jsxs)(TL,{activeTab:t.activeTab,actions:w!==null||E!==null?(0,R.jsx)(X,{className:`embedded-project-status-action`,"aria-label":`Review required input`,onClick:()=>C(!0),children:(0,R.jsx)(Cw,{tone:t.projectStatus.tone??`neutral`,children:t.projectStatus.label})}):(0,R.jsx)(Cw,{tone:t.projectStatus.tone??`neutral`,children:t.projectStatus.label}),brand:(0,R.jsx)(HR,{label:`Reload Tenso project`,onClick:r}),projectName:t.projectName,showProjectName:!1,refreshing:t.refreshing,onRefresh:n,onSelectTab:i,children:[t.refreshMessage===void 0?null:(0,R.jsx)(`div`,{className:`embedded-project-refresh-message`,role:`status`,children:(0,R.jsx)(UR,{diagnostic:t.refreshMessage})}),(0,R.jsxs)(DL,{open:S&&(w!==null||E!==null),title:`Needs your input`,onClose:()=>C(!1),children:[w===null?null:(0,R.jsx)(FL,{title:w.title,summary:w.summary,request:w.request,contextLabel:w.ownerLabel,messages:T.map(e=>({id:e.id,author:e.author,body:e.body,time:e.time,avatar:(0,R.jsx)(KH,{message:e})})),replyCount:w.answerRevision??T.filter(e=>e.isClarificationAnswer??e.messageKind===`user_text`).length,draft:t.roundDraft??``,defaultOpen:!0,readOnly:w.status!==`writable`,status:w.status===`writable`?`pending`:`done`,statusLabel:w.status===`writable`?`needs input`:`submitted`,sendPending:v,submitPending:y,onDraftChange:e=>c?.(e),onSendMessage:e=>{e.preventDefault(),l?.()},onSubmitRound:()=>u?.()}),E===null?null:(0,R.jsx)(zL,{title:E.title,summary:E.summary,...E.reason===void 0?{}:{reason:E.reason},...E.detail===void 0?{}:{detail:E.detail,...E.detailLabel===void 0?{}:{detailLabel:E.detailLabel},...E.detailCode===void 0?{}:{detailCode:E.detailCode}},status:E.status,statusLabel:E.statusLabel,decisions:E.decisions,decisionPending:b,...E.resolutionLabel===void 0?{}:{resolutionLabel:E.resolutionLabel},onDecide:e=>d?.(E.approvalId,e)})]}),t.activeTab===`timeline`?(0,R.jsx)(`div`,{className:`embedded-project-supporting`,children:e}):t.activeTab===`project`?(0,R.jsx)(`div`,{className:`embedded-project-stack`,children:(0,R.jsx)(bL,{...t.scratchpad,presentation:`document`,compact:!0,empty:(0,R.jsx)(iS,{children:`Start with a conversation in the group.`}),showSubmitAction:!0,submitPending:h,syncPending:g,actionsDisabled:_||s===void 0,...s===void 0?{}:{onSubmitScratchpad:s},onOpenCompiledTask:a})}):t.activeTab===`work`?(0,R.jsx)(`div`,{className:`embedded-project-work`,children:(0,R.jsx)(JL,{layout:`sheet`,detailOpen:t.worklist.detailOpen??!1,...o===void 0?{}:{onCloseDetail:o},modules:t.worklist.modules,taskCount:t.worklist.taskCount,...t.worklist.detail===void 0?{}:{detail:t.worklist.detail},...t.worklist.detailPlaceholder===void 0?{}:{detailPlaceholder:t.worklist.detailPlaceholder},empty:(0,R.jsx)(iS,{children:`No tasks yet.`}),onSelectTask:a})}):(0,R.jsxs)(`div`,{className:`embedded-project-artifacts`,children:[(0,R.jsx)(iR,{presentation:`preview`,state:t.artifacts,error:t.artifactError??null}),(0,R.jsx)(`footer`,{className:`embedded-project-artifact-actions`,children:f===void 0?void 0:p===void 0?(0,R.jsxs)(bw,{"aria-label":x?`Opening in browser`:`Open in browser`,className:`embedded-project-browser-action`,disabled:x,onClick:f,type:`button`,variant:`quiet`,children:[x?(0,R.jsx)(Sx,{"aria-hidden":`true`,className:`is-spinning`}):(0,R.jsx)(ux,{"aria-hidden":`true`}),(0,R.jsx)(`span`,{children:x?`Opening`:`Open in browser`})]}):(0,R.jsx)(bw,{asChild:!0,className:`embedded-project-browser-action`,variant:`quiet`,children:(0,R.jsxs)(`a`,{"aria-label":`Open in browser`,href:p,onClick:m,rel:`noopener noreferrer`,target:`_blank`,children:[(0,R.jsx)(ux,{"aria-hidden":`true`}),(0,R.jsx)(`span`,{children:`Open in browser`})]})})})]})]})}function JH(e){let{form:t,onChange:n,pending:r,models:i}=e;return(0,R.jsx)(Rk,{title:`Configure your model`,description:(0,R.jsxs)(R.Fragment,{children:[`Use an`,` `,(0,R.jsx)(Iw,{href:CH,icon:(0,R.jsx)(ix,{"aria-hidden":`true`}),children:`OpenAI Responses API`}),` `,`endpoint. Credentials stay on this computer.`]}),children:(0,R.jsxs)(Fk,{children:[(0,R.jsx)(Pw,{label:`Base URL`,children:(0,R.jsx)(Aw,{type:`url`,autoComplete:`off`,disabled:r,value:t.baseUrl,onChange:e=>n({baseUrl:e.target.value}),placeholder:`Enter Provider Base URL`})}),(0,R.jsx)(Pw,{label:`API key`,children:(0,R.jsx)(Aw,{type:`password`,autoComplete:`off`,disabled:r,value:t.apiKey,onChange:e=>n({apiKey:e.target.value}),placeholder:`Enter API key`})}),(0,R.jsx)(Pw,{label:`Model`,children:(0,R.jsx)(Mw,{"aria-label":`Model`,autoComplete:`off`,value:t.model,options:i,maxVisibleOptions:8,disabled:r,onValueChange:e=>n({model:e}),placeholder:`Choose or enter a model`})}),(0,R.jsx)(X,{type:`button`,disabled:r||!t.baseUrl.trim()||!t.apiKey.trim(),onClick:e.onDiscover,children:r?`Checking models`:`Check models`})]})})}function YH({pending:e,onSignOut:t}){return(0,R.jsxs)(X,{type:`button`,onClick:t,disabled:e,children:[(0,R.jsx)(wx,{"aria-hidden":`true`}),`Sign out`]})}function XH(e){return e.existingProjectId===void 0?[`project`,`surface`,`provider`,...e.accessMode===`byok`?[`model`]:[]]:[`provider`]}function ZH(e,t){switch(e){case`project`:return t.displayName.trim()!==``&&(t.folderMode!==`existing`||t.workspacePath.trim()!==``);case`model`:return!!(t.baseUrl.trim()&&t.apiKey.trim()&&t.model.trim());default:return!0}}function QH(e){return(e.status===`online`||e.status===`reconnecting`)&&(e.provider_status===`configured`||e.provider_status===`managed`)}function $H(e){return(e.status===`stopped`||e.status===`stale`||e.status===`relay-unavailable`)&&(e.provider_status===`configured`||e.provider_status===`managed`)}function eU(e){return e.status===`online`?`online`:e.status===`reconnecting`?`connecting`:`stopped`}function tU(e,t){let n=Date.parse(e.activity_at??``),r=Date.parse(t.activity_at??``),i=Number.isNaN(n)?0:n;return(Number.isNaN(r)?0:r)-i||e.display_name.localeCompare(t.display_name,`en`)||e.project_id.localeCompare(t.project_id,`en`)}function nU({project:e,pending:t,showPrimary:n=!0,onLaunch:r,onOpen:i,onCopyInvite:a,onConnectFeishu:o,onStop:s,onAuthorize:c}){return e.status===`online`||e.status===`reconnecting`?e.surface_profile.kind===`feishu`?(0,R.jsxs)(R.Fragment,{children:[n?(0,R.jsxs)(Sw,{type:`button`,disabled:t,onClick:o,children:[(0,R.jsx)(bx,{"aria-hidden":`true`}),`Connect`]}):null,(0,R.jsxs)(X,{type:`button`,disabled:t,onClick:s,children:[(0,R.jsx)(Yx,{"aria-hidden":`true`}),`Stop`]})]}):(0,R.jsxs)(R.Fragment,{children:[n?(0,R.jsxs)(Sw,{type:`button`,disabled:t||e.open_url===void 0,onClick:i,children:[(0,R.jsx)(Xb,{"aria-hidden":`true`}),`Open`]}):null,(0,R.jsxs)(X,{type:`button`,disabled:t,onClick:a,children:[(0,R.jsx)(bx,{"aria-hidden":`true`}),`Invite`]}),(0,R.jsxs)(X,{type:`button`,disabled:t,onClick:s,children:[(0,R.jsx)(Yx,{"aria-hidden":`true`}),`Stop`]})]}):(0,R.jsxs)(R.Fragment,{children:[n?(0,R.jsxs)(X,{type:`button`,disabled:t||!$H(e),onClick:r,children:[(0,R.jsx)(zx,{"aria-hidden":`true`}),`Resume`]}):null,c===void 0||e.relay_project_ref===void 0?null:(0,R.jsx)(X,{type:`button`,disabled:t,onClick:c,children:e.provider_status===`managed`?`Authorize again`:`Use Tenso trial`})]})}function rU({createDisabled:e,packageUpdateAction:t,projectsLoading:n,onCreate:r,onPackageUpdate:i,onRefresh:a}){return(0,R.jsxs)(R.Fragment,{children:[t===void 0?null:(0,R.jsx)(Ck,{description:t.description,descriptionId:`local-console-package-update-description`,disabledTrigger:t.disabled,"aria-live":`polite`,action:(0,R.jsx)(X,{type:`button`,disabled:t.disabled,onClick:i,children:t.label})}),(0,R.jsx)(xw,{type:`button`,label:`Refresh projects`,icon:(0,R.jsx)(Rx,{"aria-hidden":`true`}),disabled:n,onClick:a}),(0,R.jsxs)(Sw,{type:`button`,disabled:e,onClick:r,children:[(0,R.jsx)(Px,{"aria-hidden":`true`}),`New project`]})]})}function iU({version:e,defaultProjectsDirectory:t=`~/Tenso`,accountName:n,projectCenterHref:r,form:i,models:a,projects:o,projectsLoading:s,sessionLoading:c,sessionError:l,createOpen:u,createStep:d,modelDiscoveryPending:f,launchPending:p,projectActionPending:m,signOutPending:h,packageUpdateAction:g,onChange:_,onCreateOpenChange:v,onCreateSubmit:y,onCreateBack:b,onChooseFolder:x,onRefresh:S,onLaunchExisting:C,onAuthorizeExisting:w,onOpenProject:T,onCopyInvite:E,onConnectFeishu:D,onFeishuConnectionOpenChange:O,onCopyFeishuCommand:k,onStopProject:A,onPackageUpdate:j,onSignOut:ee,feishuConnection:M,managedPrepared:te=!1,managedStage:N,creditNote:P,onDiscoverModels:F,renderSurface:ne}){let re=XH(i),ie=te,ae=re.indexOf(d),oe=ae===re.length-1,se=f||p,I=ZH(d,i),ce=o.filter(QH).sort(tU),le=o.filter($H).sort(tU),ue=[...ce,...le],de=e=>(0,L.createElement)(Bk,{title:e.display_name,status:eU(e),path:e.workspace_path,createdLabel:kz(e.created_at),...e.provider_model?.trim()?{modelLabel:e.provider_model.trim()}:{},...e.surface_profile.kind===`feishu`?{surfaceLabel:`Feishu`}:{},actions:(0,R.jsx)(nU,{project:e,pending:m===e.project_id,onLaunch:()=>C(e),onOpen:()=>T(e),onCopyInvite:()=>E(e),onConnectFeishu:()=>D(e),onStop:()=>A(e),...w===void 0?{}:{onAuthorize:()=>w(e)}}),key:e.project_id}),fe=(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(Pk,{open:u,onOpenChange:v,steps:re.map(e=>e===`surface`?`Collaborate`:e[0].toUpperCase()+e.slice(1)),currentStep:Math.max(0,ae),closeDisabled:se,explicitCloseOnly:!0,onSubmit:y,backAction:ie||ae===0?void 0:(0,R.jsxs)(X,{type:`button`,disabled:se,onClick:b,children:[(0,R.jsx)(Yb,{"aria-hidden":`true`}),`Back`]}),action:(0,R.jsxs)(Sw,{type:`submit`,disabled:!I||se||c||N===`checking`,children:[oe?(0,R.jsx)(zx,{"aria-hidden":`true`}):(0,R.jsx)(Xb,{"aria-hidden":`true`}),ie?N===`checking`?`Checking access`:N===`validating`?`Checking model access`:N===`launching`?`Starting project`:`Check and continue`:oe?p?`Preparing`:`Launch and continue`:i.existingProjectId===void 0?`Continue`:`Launch and continue`]}),children:[d===`project`?(0,R.jsx)(Rk,{title:`What would you like to make?`,children:(0,R.jsxs)(Fk,{children:[(0,R.jsx)(Pw,{label:`Project name`,className:`local-console-field-wide`,children:(0,R.jsx)(Aw,{autoComplete:`off`,value:i.displayName,maxLength:80,onChange:e=>_({displayName:e.target.value}),placeholder:`Give your project a name`,autoFocus:!0})}),(0,R.jsx)(`div`,{className:`local-console-field-wide local-console-field-group-body`,children:i.folderMode===`new`?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`p`,{children:[`Tenso will create a folder for your project in`,` `,(0,R.jsx)(`strong`,{children:i.parentDirectory||t}),`.`]}),(0,R.jsxs)(`details`,{className:`product-disclosure`,children:[(0,R.jsx)(`summary`,{children:`Change location`}),(0,R.jsxs)(`div`,{className:`local-console-field-group-body`,children:[(0,R.jsxs)(Ik,{children:[(0,R.jsx)(Aw,{"aria-label":`Save projects in`,autoComplete:`off`,value:i.parentDirectory,placeholder:t,onChange:e=>_({parentDirectory:e.target.value})}),(0,R.jsxs)(X,{type:`button`,onClick:x,children:[(0,R.jsx)(hx,{"aria-hidden":`true`}),`Choose location`]})]}),i.parentDirectory?(0,R.jsx)(X,{type:`button`,onClick:()=>_({parentDirectory:``}),children:`Use default location`}):null]})]}),(0,R.jsx)(X,{type:`button`,onClick:()=>_({folderMode:`existing`}),children:`Use an existing project folder`})]}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Pw,{label:`Existing project folder`,children:(0,R.jsxs)(Ik,{children:[(0,R.jsx)(Aw,{"aria-label":`Existing project folder`,autoComplete:`off`,value:i.workspacePath,placeholder:`Choose the folder containing your project`,onChange:e=>_({workspacePath:e.target.value})}),(0,R.jsxs)(X,{type:`button`,onClick:x,children:[(0,R.jsx)(hx,{"aria-hidden":`true`}),`Choose folder`]})]})}),(0,R.jsx)(`p`,{children:`Tenso will work in this folder, using the files already there.`}),(0,R.jsx)(X,{type:`button`,onClick:()=>_({folderMode:`new`}),children:`Create a new folder instead`})]})}),(0,R.jsxs)(`details`,{className:`local-console-field-wide product-disclosure`,children:[(0,R.jsx)(`summary`,{children:`Add a description (optional)`}),(0,R.jsx)(Pw,{label:`Project description`,children:(0,R.jsx)(jw,{value:i.description,maxLength:160,onChange:e=>_({description:e.target.value}),placeholder:`What would you like to build?`})})]})]})}):null,d===`provider`&&!ie?(0,R.jsxs)(R.Fragment,{children:[i.existingProjectId===void 0?null:(0,R.jsxs)(`p`,{children:[`Enable trial access for `,i.displayName,`. Files and collaboration surface stay unchanged. Switching from a custom endpoint starts new model sessions; existing sessions are not moved to another model.`]}),(0,R.jsx)(ek,{value:i.accessMode,onValueChange:e=>_({accessMode:e}),tuttiLogo:(0,R.jsx)(Ow,{src:RR}),customIcon:(0,R.jsx)(Nx,{"aria-hidden":`true`}),creditNote:P,disabled:se,customDisabled:i.existingProjectId!==void 0}),i.accessMode===`managed`?(0,R.jsx)(aU,{}):null]}):null,d===`model`?(0,R.jsx)(JH,{form:i,models:a,pending:se,onChange:_,onDiscover:F}):null,ie?(0,R.jsx)(Rk,{title:`Starting your project`,description:`Tenso will check model access and start this project. If a check fails, your setup is kept here.`,children:(0,R.jsx)(rk,{items:[{label:`Project`,value:i.displayName},{label:`Folder`,value:i.workspacePath||`Preparing folder…`,mono:!0},{label:`Model access`,value:`Tenso credit`}]})}):null,d===`surface`&&!ie?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(tk,{value:i.surface,disabled:se,onValueChange:e=>_({surface:e}),tuttiLogo:(0,R.jsx)(Ow,{src:RR}),feishuIcon:(0,R.jsx)(Dx,{"aria-hidden":`true`})}),(0,R.jsx)(`p`,{children:`Each project uses one collaboration surface. This choice cannot be changed later.`})]}):null]}),M===null?null:(0,R.jsx)(Ok,{open:!0,onOpenChange:O,projectName:M.projectName,state:M.state,...M.command===void 0?{}:{command:M.command},...M.unavailableMessage===void 0?{}:{unavailableMessage:M.unavailableMessage},onCopyCommand:k})]});return ne?ne(fe):(0,R.jsx)(AH,{onBrandClick:S,children:(0,R.jsxs)(GC,{children:[(0,R.jsxs)(Sk,{className:`local-console-card`,title:`Projects`,accountName:n,accountAction:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(X,{asChild:!0,children:(0,R.jsx)(`a`,{href:new URL(`/projects?panel=credits`,r).toString(),target:`_blank`,rel:`noopener noreferrer`,children:`Credits`})}),(0,R.jsx)(YH,{pending:h,onSignOut:ee})]}),"aria-label":`Tenso Local Console`,children:[(0,R.jsx)(Tk,{items:[{id:`joined`,label:`Your projects`,href:r},{id:`local`,label:`This computer`,href:`/console`,current:!0}],action:(0,R.jsx)(rU,{createDisabled:c||l!==null,projectsLoading:s,onCreate:()=>v(!0),onPackageUpdate:j,onRefresh:S,...g===void 0?{}:{packageUpdateAction:g}})}),(0,R.jsx)(Ak,{"aria-label":`Projects on this computer`,children:s||c?(0,R.jsx)(jk,{"aria-label":`Loading local projects`,children:(0,R.jsx)(aS,{})}):l===null?ue.length===0?(0,R.jsx)(jk,{children:(0,R.jsx)(iS,{children:`No available projects on this computer.`})}):ue.map(de):(0,R.jsx)(jk,{children:(0,R.jsx)(iS,{children:l})})}),e===void 0?null:(0,R.jsxs)(`footer`,{className:`local-console-version`,"aria-label":`Tenso version ${e}`,children:[`Tenso `,e]})]}),fe]})})}function aU(){return(0,R.jsx)(`p`,{children:`Launching uses your signed-in account's Tenso credit for this team's AI work, including background tasks on this computer. You can revoke access in Account. Test credit only; no payment is enabled.`})}function oU({onBrandClick:e,sessionError:t=null,...n}){let r={...n,error:n.error??t};return(0,R.jsx)(MH,{onBrandClick:e,auth:(0,R.jsx)(IH,{...r}),mobileAuth:(0,R.jsx)(FH,{...r})})}function sU(e,t,n){let r=n.trim().toLocaleLowerCase(`en`),i=e.filter(e=>(t===`account`?e.account!==void 0:e.local!==void 0)&&e.title.toLocaleLowerCase(`en`).includes(r)),a=e=>t===`computer`?e.local?.status===`online`||e.local?.status===`reconnecting`:e.account?.hostStatus===`online`;return t===`computer`&&i.sort((e,t)=>{let n=e=>Date.parse(e.local?.activity_at??``)||0;return n(t)-n(e)||e.title.localeCompare(t.title,`en`)||e.key.localeCompare(t.key,`en`)}),{available:i.filter(a),unavailable:i.filter(e=>!a(e))}}function cU(e,t,n){let r=t.filter(e=>![`workspace-missing`,`workspace-replaced`,`invalid`].includes(e.status)&&(e.provider_status===`configured`||e.provider_status===`managed`)),i=e.map(e=>({key:`account:${e.relayProjectRef}`,title:e.displayName,surface:e.surface??`standalone`,account:e})),a=[];for(let e of r){let t=i.filter(t=>e.relay_origin===n&&e.relay_project_ref!==void 0&&t.account?.relayProjectRef===e.relay_project_ref&&t.surface===e.surface_profile.kind),o=r.filter(t=>t.relay_origin===e.relay_origin&&t.relay_project_ref===e.relay_project_ref);t.length===1&&o.length===1?t[0].local=e:a.push({key:`local:${e.project_id}`,title:e.display_name,surface:e.surface_profile.kind,local:e})}return[...i,...a]}function lU(e){let[t,n]=(0,L.useState)(!1),[r,i]=(0,L.useState)(``),[a,o]=(0,L.useState)(null),[s,c]=(0,L.useState)(!1),l=e.local,u=l!==void 0&&l.sessionError===null,d=t&&u;(0,L.useEffect)(()=>{u||(n(!1),i(``),o(null),c(!1))},[u]);let f=e=>{e!==d&&(n(e),i(``),c(!1),o(null))},{available:p,unavailable:m}=sU(cU(e.projects,u?l.projects:[],e.relayOrigin??``),d?`computer`:`account`,r),h=[...p,...s?m:[]].some(e=>e.key===a);(0,L.useEffect)(()=>{h||o(null)},[h]);let g=e=>{f(!0),c(e.local?.status!==`online`&&e.local?.status!==`reconnecting`),o(e.key)},_=t=>{if(d&&t.local&&l){let e=t.local,n=l.projectActionPending!==null||l.launchPending;return e.status===`online`||e.status===`reconnecting`?t.surface===`feishu`?(0,R.jsx)(X,{type:`button`,disabled:n,onClick:()=>l.onConnectFeishu(e),children:`Connect`}):(0,R.jsx)(X,{type:`button`,disabled:n||!e.open_url,onClick:()=>l.onOpenProject(e),children:`Open`}):(0,R.jsx)(X,{type:`button`,disabled:n,onClick:()=>l.onLaunchExisting(e),children:`Resume`})}return t.account?.canOpen?(0,R.jsx)(X,{type:`button`,disabled:e.openPending,onClick:()=>e.onOpenProject(t.account.relayProjectRef),children:`Open`}):t.surface===`feishu`?(0,R.jsx)(`span`,{children:`In Feishu`}):null},v=t=>(0,R.jsx)(dk,{title:t.title,status:d?t.local?.status===`online`?`online`:t.local?.status===`reconnecting`?`connecting`:`stopped`:t.account.hostStatus,meta:`${t.surface===`feishu`?`Feishu`:`Tenso Workspace`} · ${t.account?.membershipLabel??`Local only`}`,local:!d&&!!t.local,selected:t.key===a,onSelect:()=>o(e=>e===t.key?null:t.key),action:_(t),children:(0,R.jsxs)(fk,{title:t.title,actions:(0,R.jsxs)(R.Fragment,{children:[d&&t.local&&l?(0,R.jsx)(nU,{project:t.local,showPrimary:!1,pending:l.projectActionPending!==null||l.launchPending,onLaunch:()=>l.onLaunchExisting(t.local),onOpen:()=>l.onOpenProject(t.local),onCopyInvite:()=>l.onCopyInvite(t.local),onConnectFeishu:()=>l.onConnectFeishu(t.local),onStop:()=>l.onStopProject(t.local),...l.onAuthorizeExisting?{onAuthorize:()=>l.onAuthorizeExisting(t.local)}:{}}):null,!d&&t.local?(0,R.jsx)(X,{type:`button`,onClick:()=>g(t),children:`Manage on this computer`}):null,t.account?(0,R.jsx)(X,{type:`button`,onClick:()=>e.onProjectDetails?.(t.account),children:`Project settings`}):null]}),children:[(0,R.jsx)(`p`,{children:t.surface===`feishu`?`Collaboration happens in your Feishu group.`:`Your shared Tenso workspace.`}),d&&t.local?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`p`,{children:t.local.workspace_path}),(0,R.jsx)(`p`,{children:t.local.status===`online`||t.local.status===`reconnecting`?`Running on this computer`:`Stopped on this computer`})]}):null]})},`${d?`computer`:`account`}:${t.key}`);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(sk,{brand:(0,R.jsx)(HR,{onClick:e.onBrandClick}),account:e.accountActions??(e.account?(0,R.jsx)(YH,{pending:e.logoutPending,onSignOut:e.onLogout}):null),actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(X,{type:`button`,onClick:()=>e.onJoinOpenChange(!0),children:`Join project`}),u?(0,R.jsxs)(Sw,{type:`button`,disabled:l.sessionLoading,onClick:()=>l.onCreateOpenChange(!0),children:[(0,R.jsx)(Px,{"aria-hidden":`true`}),`New project`]}):(0,R.jsx)(Sw,{asChild:!0,children:(0,R.jsxs)(`a`,{href:e.localScopeHref,onClick:e.onRequestNewProject??e.onLocalScopeSelect,children:[(0,R.jsx)(Px,{"aria-hidden":`true`}),`New project`]})})]}),toolbar:{local:d,connected:u,onLocalChange:f,search:r,onSearchChange:e=>{i(e),c(!!e.trim())}},rail:(0,R.jsx)(pk,{state:u?`connected`:e.connectionState===`lost`?`lost`:`disconnected`,...l?.version?{version:l.version}:{},children:u?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(uk,{children:[(0,R.jsx)(xw,{type:`button`,label:`Refresh projects`,icon:(0,R.jsx)(Rx,{"aria-hidden":`true`}),disabled:l.projectsLoading,onClick:l.onRefresh}),(0,R.jsx)(X,{type:`button`,onClick:e.onDisconnect,children:`Disconnect`})]}),l.packageUpdateAction?(0,R.jsx)(X,{type:`button`,disabled:l.packageUpdateAction.disabled,onClick:l.onPackageUpdate,title:l.packageUpdateAction.description,children:l.packageUpdateAction.label}):null]}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Sw,{asChild:!0,children:(0,R.jsx)(`a`,{href:e.localScopeHref,onClick:e.onLocalScopeSelect,children:`Connect this computer`})}),(0,R.jsx)(X,{asChild:!0,children:(0,R.jsx)(`a`,{href:`tenso://projects`,children:`Open Local Console`})})]})}),children:[(d?l.projectsLoading:e.loading)?(0,R.jsx)(aS,{}):null,!d&&e.error?(0,R.jsx)(iS,{tone:`error`,children:e.error}):null,!(d?l.projectsLoading:e.loading)&&p.length+m.length===0?(0,R.jsx)(iS,{children:r?`No matching projects.`:`No projects yet.`}):null,p.map(v),m.length>0?(0,R.jsx)(lk,{label:d?`Not running`:`Currently unavailable`,count:m.length,open:s,onOpenChange:c,children:m.map(v)}):null,!d&&e.truncated?(0,R.jsx)(iS,{children:`Only your 100 most recent account projects are shown.`}):null]}),e.localDialogs,(0,R.jsx)(Nk,{open:e.joinOpen,onOpenChange:e.onJoinOpenChange,inputLabel:`Invitation link or message`,placeholder:`Paste an invitation link or message`,value:e.joinLinkForm.value,error:e.joinLinkForm.error,onValueChange:e.joinLinkForm.onChange,"aria-label":`Join a project`,onSubmit:t=>{t.preventDefault(),e.joinLinkForm.onSubmit()}}),(0,R.jsx)(Dk,{open:e.localHandoffOpen,onOpenChange:e.onLocalHandoffOpenChange,status:e.localHandoffStatus,description:e.localHandoffStatus===`failed`?`Connection was not completed. Allow local network access if prompted, or update Tenso and try again. Open Local Console is available as a fallback.${e.connectionDiagnostic?` Diagnostic: ${e.connectionDiagnostic}`:``}`:`Open Tenso when prompted. Allow this page to connect to your local network if your browser asks.`,command:`npm install -g @xfey/tenso && tenso`,onCopyCommand:e.onCopyLaunchCommand,retryHref:e.localHandoffRetryHref,onRetry:e.onLocalScopeSelect})]})}function uU({form:e,pending:t,tokenMissing:n,onChange:r}){return(0,R.jsxs)(`div`,{className:`form-stack`,children:[(0,R.jsx)(Pw,{label:`Project name`,children:(0,R.jsx)(Aw,{autoComplete:`off`,disabled:t||n,type:`text`,value:e.projectName,onChange:e=>r({projectName:e.target.value}),placeholder:`My project`})}),(0,R.jsx)(Pw,{label:`OpenAI API key`,children:(0,R.jsx)(Aw,{autoComplete:`off`,disabled:t||n,type:`password`,value:e.apiKey,onChange:e=>r({apiKey:e.target.value}),placeholder:`sk-...`})}),(0,R.jsx)(Pw,{label:`Base URL`,children:(0,R.jsx)(Aw,{autoComplete:`off`,disabled:t||n,type:`url`,value:e.baseUrl,onChange:e=>r({baseUrl:e.target.value}),placeholder:`https://api.openai.com/v1`})}),(0,R.jsx)(Pw,{label:`Default model`,children:(0,R.jsx)(Aw,{autoComplete:`off`,disabled:t||n,type:`text`,value:e.defaultModel,onChange:e=>r({defaultModel:e.target.value}),placeholder:`gpt-5.5`})})]})}function dU({form:e,statusLabel:t,configured:n,loading:r,pending:i,openProjectPending:a=!1,tokenMissing:o,error:s,success:c,onChange:l,onSubmit:u,onRetry:d,onBrandClick:f}){let p=i||a;return(0,R.jsx)(jH,{label:`Project setup`,onBrandClick:f,children:(0,R.jsxs)(yk,{title:`Project setup`,description:`Configure the provider for this project.`,size:`wide`,onSubmit:u,action:o?(0,R.jsxs)(X,{type:`button`,disabled:!0,children:[(0,R.jsx)($x,{"aria-hidden":`true`}),`Missing token`]}):s!==null&&r?(0,R.jsx)(X,{type:`button`,onClick:d,children:`Retry`}):a?(0,R.jsxs)(X,{type:`button`,disabled:!0,children:[(0,R.jsx)(Xb,{"aria-hidden":`true`}),`Opening project`]}):(0,R.jsxs)(Sw,{type:`submit`,disabled:i||e.apiKey.trim()===``||e.projectName.trim()===``,children:[i?`Saving`:`Save provider`,(0,R.jsx)(Vx,{"aria-hidden":`true`})]}),feedback:(0,R.jsxs)(R.Fragment,{children:[c===null?null:(0,R.jsx)(iS,{icon:(0,R.jsx)(rx,{"aria-hidden":`true`}),children:c}),s===null?null:(0,R.jsx)(Fw,{children:s})]}),children:[(0,R.jsx)(bk,{projectName:`OpenAI provider`,hostLabel:t,hostOnline:n,members:(0,R.jsx)(yx,{"aria-hidden":`true`})}),(0,R.jsx)(xk,{label:`Status`,value:r?`Loading`:t,action:n?(0,R.jsx)(rx,{"aria-hidden":`true`}):null}),(0,R.jsx)(uU,{form:e,pending:p,tokenMissing:o,onChange:l})]})})}function fU({tone:e}){return e===`pending`?(0,R.jsx)($x,{"aria-hidden":`true`}):e===`failed`?(0,R.jsx)(ax,{"aria-hidden":`true`}):e===`done`?(0,R.jsx)(ex,{"aria-hidden":`true`}):(0,R.jsx)(Sx,{"aria-hidden":`true`})}function pU({members:e}){return e===void 0||e.length===0?null:(0,R.jsx)(ZC,{"aria-label":`Members`,children:e.map(e=>(0,R.jsx)(WH,{avatar:e.avatar,label:e.displayName},e.key))})}function mU({activePage:e,statusShortcuts:t,unread:n,artifactSignal:r,mobileContext:i,rail:a,children:o,onOpenProjectCenter:s,onOpenChat:c,onOpenWorklist:l,onOpenReferences:u,onOpenArtifacts:d,onOpenSkills:f,onOpenTimeline:p,onOpenSettings:m,onActivateStatusShortcut:h,getStatusShortcutAriaControls:g}){let _=e!==`chat`&&n?.chat===!0,v=e!==`worklist`&&n?.worklist===!0,y=r?.status===`live`,b=e!==`references`&&n?.references===!0,x=e!==`skills`&&n?.skills===!0;return(0,R.jsx)(qC,{children:(0,R.jsx)(JC,{...a===void 0?{}:{rail:a},children:(0,R.jsx)(YC,{className:`is-headerless`,sidebar:(0,R.jsxs)(Lw,{brand:(0,R.jsx)(VR,{...s===void 0?{}:{onClick:s}}),mobileTitle:i.title,...i.meta===void 0?{}:{mobileMeta:i.meta},...i.action===void 0?{}:{mobileAction:i.action},...t.length===0?{}:{status:t.map(e=>(0,L.createElement)(Bw,{icon:(0,R.jsx)(fU,{tone:e.tone}),label:e.label,tone:e.tone,onClick:()=>h?.(e),...g?.(e)===void 0?{}:{"aria-controls":g(e)},key:e.key}))},footer:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(EH,{}),(0,R.jsx)(zw,{icon:(0,R.jsx)(Wx,{"aria-hidden":`true`}),label:`Settings`,active:e===`settings`,onClick:e===`settings`?void 0:m})]}),children:[(0,R.jsx)(zw,{icon:(0,R.jsx)(XI,{"aria-hidden":`true`}),label:`Chat`,active:e===`chat`,badge:_?{label:`Unread messages`}:!1,onClick:e===`chat`?void 0:c}),(0,R.jsx)(zw,{icon:(0,R.jsx)(xx,{"aria-hidden":`true`}),label:`Worklist`,active:e===`worklist`,badge:v?{label:`Unread worklist updates`}:!1,onClick:e===`worklist`?void 0:l}),(0,R.jsx)(zw,{icon:(0,R.jsx)(kx,{"aria-hidden":`true`}),label:`Artifacts`,active:e===`artifacts`,badge:y?{label:`Live preview available`,text:`Live`,variant:`pill`}:!1,onClick:e===`artifacts`?void 0:d}),(0,R.jsx)(zw,{icon:(0,R.jsx)(px,{"aria-hidden":`true`}),label:`References`,active:e===`references`,badge:b?{label:`New reference files`}:!1,onClick:e===`references`?void 0:u}),(0,R.jsx)(zw,{icon:(0,R.jsx)(qx,{"aria-hidden":`true`}),label:`Skills`,active:e===`skills`,badge:x?{label:`New skill updates`}:!1,onClick:e===`skills`?void 0:f}),(0,R.jsx)(zw,{icon:(0,R.jsx)($b,{"aria-hidden":`true`}),label:`Timeline`,active:e===`timeline`,onClick:e===`timeline`?void 0:p})]}),children:o})})})}function hU(){return(0,R.jsx)(Dw,{src:RR,className:`empty-state-brand-logo`})}function gU(e){return(0,R.jsx)(iS,{watermark:(0,R.jsx)(hU,{}),...e})}var _U=`tutti.execution-score-themes.v1`,vU=40,yU={assignments:[],bag:[]};function bU(){return{assignments:[],bag:[]}}function xU(){try{return typeof window>`u`?null:window.sessionStorage}catch{return null}}function SU(e,t){if(typeof e!=`object`||!e)return null;let n=e;if(!Array.isArray(n.assignments)||!Array.isArray(n.bag))return null;let r=n.assignments.filter(e=>typeof e==`object`&&!!e&&typeof e.identity==`string`&&t.has(String(e.themeId))),i=n.bag.filter(e=>typeof e==`string`&&t.has(e)),a=typeof n.recent==`string`&&t.has(n.recent)?n.recent:void 0;return{assignments:r,bag:i,...a===void 0?{}:{recent:a}}}function CU(e,t){if(e===null)return yU;try{let n=e.getItem(_U);return n===null?bU():SU(JSON.parse(n),t)??bU()}catch{return yU}}function wU(e,t){if(yU=t,e!==null)try{e.setItem(_U,JSON.stringify(t))}catch{}}function TU(e,t,n){let r=e.map(e=>e.id);for(let e=r.length-1;e>0;--e){let t=Math.min(e,Math.max(0,Math.floor(n()*(e+1))));[r[e],r[t]]=[r[t],r[e]]}if(r.length>1&&r[0]===t){let e=r.findIndex(e=>e!==t);[r[0],r[e]]=[r[e],r[0]]}return r}function EU(e,t={}){let n=t.themes??VC;if(n.length===0)throw Error(`Execution score themes are unavailable`);let r=new Map(n.map(e=>[e.id,e])),i=new Set(r.keys()),a=t.storage===void 0?xU():t.storage,o=CU(a,i),s=o.assignments.find(t=>t.identity===e),c=s===void 0?void 0:r.get(s.themeId);if(c!==void 0)return c;let l=t.random??Math.random,u=o.bag.length>0?[...o.bag]:TU(n,o.recent,l),d=u.shift(),f=d===void 0?void 0:r.get(d);if(f===void 0)throw Error(`Execution score themes are unavailable`);return wU(a,{assignments:[...o.assignments,{identity:e,themeId:f.id}].slice(-vU),bag:u,recent:f.id}),f}function DU(e){return`round-card-${e}`}function OU(e){return`approval-card-${e}`}function kU(e){return`chat-message-${e}`}var AU=`workspace-scratchpad`,jU=720,MU=80,NU=160,PU=96,FU=160,IU=2;function LU(e){return e.completionSource?.activityRef??e.completionSource?.workflowRef??e.completionSource?.taskId??e.key}function RU({progress:e}){let t=LU(e),[n]=(0,L.useState)(()=>EU(t)),r=(0,L.useRef)(t),i=(0,L.useRef)(e.tone),[a,o]=(0,L.useState)(null);if((0,L.useEffect)(()=>{let n=r.current,a=i.current;if(r.current=t,i.current=e.tone,e.tone!==`running`||a===`pending`||n===t){o(null);return}o(t);let s=window.setTimeout(()=>{o(e=>e===t?null:e)},jU);return()=>{window.clearTimeout(s)}},[e.tone,t]),e.tone===`running`||e.tone===`pending`||e.tone===`complete`){let r=e.tone===`running`&&a===t,i=e.steps.find(e=>e.status===`running`||e.status===`pending`)??e.steps.at(-1),o=e.completionTarget?.kind===`task`?`Task completed`:`Procedure completed`,s=e.tone===`complete`?void 0:i?.detail??(e.tone===`pending`?e.summary:void 0),c=e.tone===`complete`?void 0:i?.detailPrefix,l=e.tone===`complete`?void 0:i?.activityLabel,u=e.tone===`complete`?void 0:i?.elapsedLabel,d=e.tone===`complete`?void 0:i?.metrics,f=e.tone===`running`&&i?.id===`implement`&&s!==void 0;return(0,R.jsx)(CC,{stageLabel:r?`Loading the next movement…`:e.tone===`complete`?o:i?.label??e.summary,...r||s===void 0?{}:{stageDetail:s},...r||c===void 0?{}:{stageDetailPrefix:c},...r||l===void 0?{}:{stageActivity:l},...r||!f?{}:{detailMode:`live`},...r||u===void 0?{}:{elapsedLabel:u},...r||d===void 0?{}:{metrics:d},scoreLabel:r?`Loading the next movement score`:e.tone===`complete`?`${o} score cadence`:e.tone===`pending`?`Execution score paused while waiting for input`:`${i?.label??`Execution`} running score using ${n.shortName}`,state:r?`handoff`:e.tone===`complete`?`complete`:e.tone===`pending`?`paused`:`running`,units:n.units,playbackBpm:n.tempo,openingClef:n.clef,keySignatureFifths:n.keySignatureFifths,timeSignature:n.meter})}return(0,R.jsx)(wL,{title:e.title,summary:e.summary,tone:e.tone,steps:e.steps,...e.metaLabel===void 0?{}:{metaLabel:e.metaLabel}})}function zU(e){if(e===void 0)return null;let t=Date.parse(e);return Number.isNaN(t)?null:t}function BU(e,t){if(e===null)return null;let n=zU(e.requestedAt);if(n===null)return t.length;let r=t.findIndex(e=>{let t=zU(e.createdAt);return t!==null&&t>n});return r===-1?t.length:r}function VU(e,{focusSelector:t}={}){let n=typeof document>`u`?null:document.getElementById(e);n!==null&&(n.scrollIntoView({block:`center`}),t!==void 0&&n.querySelector(t)?.focus({preventScroll:!0}))}function HU(e){return e.messageKind===`system_notice`&&e.workflowRef!==void 0&&(e.body.startsWith(`Worklist updated with `)||e.body===`Worklist is already covered by existing tasks.`)}function UU(e,t){if(t===void 0)return;let n=t.label.trim(),r=t.handle?.trim()??n;if(n===``||r===``)return;let i=r.toLocaleLowerCase();e.has(i)||e.set(i,{id:t.id,label:n,handle:r})}function WU({members:e,messages:t,clarificationMessagesByRoundId:n}){let r=new Map;UU(r,{id:`tutti`,label:`Tenso`,handle:`tenso`});for(let t of e)UU(r,{id:t.key,label:t.displayName});for(let e of t)UU(r,{id:`message:${e.author}`,label:e.author,...e.avatarKind===`tutti`?{handle:`tenso`}:{}});for(let e of Object.values(n))for(let t of e)UU(r,{id:`round-message:${t.author}`,label:t.author,...t.avatarKind===`tutti`?{handle:`tenso`}:{}});return[...r.values()]}function GU({message:e}){return e.avatarKind===`tutti`?(0,R.jsx)(GH,{label:e.author}):(0,R.jsx)(WH,{avatar:e.avatar??{kind:`initials`,initials:O_(e.author),color:`blue`},label:e.author,online:e.online})}function KU({projectName:e,projectDescription:t=``,members:n,messages:r,scratchpad:i,executionProgress:a=null,activeApproval:o=null,activeClarification:s,clarificationMessagesByRoundId:c,statusShortcuts:l,unread:u,artifactSignal:d,draft:f,roundDraft:p,sendPending:m,scratchpadSyncPending:h=!1,scratchpadActionsDisabled:g=!1,scratchpadSubmitPending:_=!1,referenceUploadPending:v=!1,focusMessageId:y=null,messageHistoryIdentity:b=`latest`,initialMessagePosition:x=y===null?`latest`:`focus`,hasOlderMessages:S=!1,hasNewerMessages:C=!1,loadingOlderMessages:w=!1,loadingNewerMessages:T=!1,historyConnectedToLatest:E=!0,roundSendPending:D=!1,roundSubmitPending:O=!1,submittedRoundId:k=null,approvalDecisionPending:A=!1,projectNameSaving:j=!1,projectDescriptionSaving:ee=!1,loading:M=!1,unavailable:te=!1,onDraftChange:N,onMessageFocused:P,onInitialMessagePositioned:F,onLoadOlderMessages:ne,onLoadNewerMessages:re,onJumpToLatest:ie,onUploadReferenceFile:ae,onOpenReferenceFile:oe,onRoundDraftChange:se,onSendMessage:I,onSendRoundMessage:ce,onSubmitRound:le,onDecideApproval:ue,onSubmitScratchpad:de,onUpdateProjectDisplayName:fe,onUpdateProjectDescription:pe,onOpenProjectCenter:me,onOpenWorklist:he,onOpenWorklistTask:ge,onRetryTask:_e,onOpenReferences:ve,onOpenArtifacts:ye,onViewArtifactFeedback:be,onOpenSkills:xe,onOpenTimeline:Se,onOpenSettings:Ce,onActivateStatusShortcut:we}){let[Te,Ee]=(0,L.useState)(!1),De=(0,L.useRef)(null),Oe=(0,L.useRef)(!1),ke=(0,L.useRef)(null),Ae=(0,L.useRef)(null),je=(0,L.useRef)(!0),Me=(0,L.useRef)(void 0),Ne=(0,L.useRef)(b),Pe=(0,L.useRef)(null),Fe=(0,R.jsx)(fL,{className:`chat-project-title-edit`,value:e,placeholder:`Untitled project`,ariaLabel:`Edit project name`,maxLength:MU,saving:j,disabled:M,...fe===void 0?{}:{onUpdate:fe}}),Ie=(0,R.jsx)(fL,{className:`chat-project-description-edit`,value:t,placeholder:`Add a project description`,ariaLabel:`Edit project description`,maxLength:NU,allowEmpty:!0,saving:ee,disabled:M,...pe===void 0?{}:{onUpdate:pe}}),Le=s!==null&&r.some(e=>e.id===s.cardMessageId),Re=new Map;for(let e of r)e.clarificationCard!==void 0&&e.workflowRef!==void 0&&Re.set(e.workflowRef,e.clarificationCard.roundId);let ze=new Map;for(let e of r){if(!HU(e)||e.workflowRef===void 0)continue;let t=Re.get(e.workflowRef);t!==void 0&&ze.set(t,{...e,id:`round-result:${e.id}`,messageKind:`agent_text`,author:`Tenso`,avatarKind:`tutti`,online:!1})}let Be=e=>{let t=c[e]??[],n=ze.get(e);return n===void 0||t.some(e=>e.body===n.body)?t:[...t,n]},Ve=WU({members:n,messages:r,clarificationMessagesByRoundId:c}),He=ae===void 0?void 0:e=>{for(let t of e)ae(t)};(0,L.useLayoutEffect)(()=>{Ne.current!==b&&(Ne.current=b,Oe.current=!1,ke.current=null,Me.current=void 0)},[b]),(0,L.useLayoutEffect)(()=>{let e=ke.current;if(e!==null){if(r[0]?.id!==e.firstMessageId){let t=De.current;t!==null&&(t.scrollTop=e.scrollTop+Math.max(0,t.scrollHeight-e.scrollHeight),je.current=t.scrollHeight-t.clientHeight-t.scrollTop<=IU),ke.current=null;return}w||(ke.current=null)}},[w,r]),(0,L.useEffect)(()=>{if(y===null||!r.some(e=>e.id===y))return;Oe.current=!0,VU(kU(y));let e=De.current;e!==null&&(je.current=e.scrollHeight-e.clientHeight-e.scrollTop<=IU),P?.()},[y,r,P]),(0,L.useEffect)(()=>{if(Oe.current||M||te||x!==`latest`||y!==null||r.length===0&&s===null&&o===null)return;let e=De.current;if(e===null)return;let t=window.requestAnimationFrame(()=>{e.scrollTop=e.scrollHeight,je.current=!0,Oe.current=!0});return()=>window.cancelAnimationFrame(t)},[o,s,y,M,r,te]),(0,L.useEffect)(()=>{if(Oe.current||M||te||x!==`start`||y!==null)return;let e=De.current;if(e===null)return;let t=window.requestAnimationFrame(()=>{e.scrollTop=0,je.current=e.scrollHeight<=e.clientHeight+IU,Oe.current=!0,F?.()});return()=>window.cancelAnimationFrame(t)},[y,x,M,r,F,te]);let Ue=()=>{if(!S||w||ke.current!==null||ne===void 0)return;let e=De.current;e!==null&&(ke.current={firstMessageId:r[0]?.id,scrollHeight:e.scrollHeight,scrollTop:e.scrollTop},ne())},We=()=>{!C||T||re===void 0||re()},Ge=e=>{let t=e.currentTarget;je.current=t.scrollHeight-t.clientHeight-t.scrollTop<=IU,Ae.current!==null&&window.cancelAnimationFrame(Ae.current),Ae.current=window.requestAnimationFrame(()=>{if(Ae.current=null,t.scrollTop<=PU){Ue();return}t.scrollHeight-t.clientHeight-t.scrollTop<=FU&&We()})};(0,L.useEffect)(()=>()=>{Ae.current!==null&&window.cancelAnimationFrame(Ae.current)},[]),(0,L.useEffect)(()=>{if(M||te||w||T||!Oe.current)return;let e=De.current;if(e===null||e.scrollHeight>e.clientHeight+IU)return;let t=window.requestAnimationFrame(()=>{S?Ue():C&&We()});return()=>window.cancelAnimationFrame(t)},[C,S,M,T,w,r,te]);let Ke=r.at(-1)?.id;(0,L.useEffect)(()=>{let e=Me.current;if(Me.current=Ke,e===void 0||e===Ke||!E||!je.current||!Oe.current||ke.current!==null)return;let t=De.current;if(t===null)return;let n=window.requestAnimationFrame(()=>{t.scrollTop=t.scrollHeight,je.current=!0});return()=>window.cancelAnimationFrame(n)},[E,Ke]);let qe=({key:e,roundId:t,title:n,summary:r,request:i,contextLabel:a,writable:o})=>{let c=Be(t),l=(s?.roundId===t?s.answerRevision:void 0)??c.filter(e=>e.isClarificationAnswer??e.messageKind===`user_text`).length;return(0,R.jsx)(FL,{id:DU(t),tabIndex:-1,title:n,summary:r,request:i,...a===void 0?{}:{contextLabel:a},messages:c.map(e=>({id:e.id,author:e.author,body:e.body,time:e.time,avatar:(0,R.jsx)(GU,{message:e})})),replyCount:l,draft:o?p:``,defaultOpen:!0,readOnly:!o,status:o?`pending`:`done`,statusLabel:o?`needs input`:`submitted`,mentionOptions:Ve,sendPending:o&&D,submitPending:o&&O,onDraftChange:se,onSendMessage:ce,onSubmitRound:le},`${e}:${o?`writable`:`sealed`}`)},Je=e=>{if(e.target.kind===`approval`&&o!==null){if(!E){Pe.current=e,ie?.();return}VU(OU(o.approvalId),{focusSelector:`.chat-event-card-header`});return}if(e.target.kind===`clarification`&&s!==null){if(!E&&!Le){Pe.current=e,ie?.();return}VU(DU(s.roundId),{focusSelector:`.chat-event-card-header`});return}if(e.target.kind===`scratchpad`){VU(AU);return}we?.(e)};(0,L.useEffect)(()=>{let e=Pe.current;if(!E||M||e===null)return;Pe.current=null;let t=window.requestAnimationFrame(()=>{e.target.kind===`approval`&&o!==null?VU(OU(o.approvalId),{focusSelector:`.chat-event-card-header`}):e.target.kind===`clarification`&&s!==null&&VU(DU(s.roundId),{focusSelector:`.chat-event-card-header`})});return()=>window.cancelAnimationFrame(t)},[o,s,E,M,r]);let Ye=e=>s===null?null:qe({key:e,roundId:s.roundId,title:s.title,summary:s.summary,request:s.request,contextLabel:s.ownerLabel,writable:s.status===`writable`&&s.roundId!==k}),Xe=()=>o===null?null:(0,R.jsx)(zL,{id:OU(o.approvalId),tabIndex:-1,title:o.title,summary:o.summary,...o.reason===void 0?{}:{reason:o.reason},...o.detail===void 0?{}:{detail:o.detail,...o.detailLabel===void 0?{}:{detailLabel:o.detailLabel},...o.detailCode===void 0?{}:{detailCode:o.detailCode}},status:o.status,statusLabel:o.statusLabel,decisions:o.decisions,decisionPending:A,...o.resolutionLabel===void 0?{}:{resolutionLabel:o.resolutionLabel},onDecide:e=>ue?.(o.approvalId,e)},`approval:${o.approvalId}:${o.status}`),Ze=e=>{let t=e.clarificationCard;if(t===void 0)return null;let n=s!==null&&s.roundId===t.roundId;return qe({key:e.id,roundId:t.roundId,title:n&&s!==null?s.title:t.title??`Clarification round ${t.roundId.slice(-4)}`,summary:n&&s!==null?s.summary:t.summary,request:n&&s!==null?s.request:t.summary,...n&&s!==null?{contextLabel:s.ownerLabel}:{},writable:n&&t.status===`writable`&&t.roundId!==k})},Qe=e=>{if(HU(e)&&Re.has(e.workflowRef??``))return null;if(e.messageKind===`clarification_card`)return Ze(e);if(s!==null&&e.id===s.cardMessageId)return Ye(e.id);if(e.taskResult!==void 0)return(0,R.jsx)(VL,{id:kU(e.id),tabIndex:-1,className:e.id===y?`is-focused`:void 0,title:e.taskResult.title,status:e.taskResult.status,taskId:e.taskResult.taskId,taskTitle:e.taskResult.taskTitle,summary:e.taskResult.summary,...e.taskResult.moduleName===void 0?{}:{moduleName:e.taskResult.moduleName},...e.taskResult.finalNote===void 0?{}:{finalNote:e.taskResult.finalNote},...e.taskResult.generatedFiles===void 0?{}:{generatedFiles:e.taskResult.generatedFiles},...e.taskResult.errorCode===void 0?{}:{errorCode:e.taskResult.errorCode},...e.taskResult.retryState===void 0?{}:{retryState:e.taskResult.retryState},...e.taskResult.retryState===void 0||e.taskResult.latestRunResultId===void 0||_e===void 0?{}:{onRetry:()=>_e(e.taskResult.taskId,e.taskResult.latestRunResultId)},...ge===void 0?{}:{onOpenTask:ge}},e.id);let t=e.referenceFile;return(0,L.createElement)(ZI,{id:kU(e.id),tabIndex:-1,author:e.author,time:e.time,...e.requestStatus===void 0?{}:{requestStatus:e.requestStatus},avatar:(0,R.jsx)(GU,{message:e}),className:e.id===y?`is-focused`:void 0,key:e.id},e.artifactFeedback===void 0?t===void 0?e.messageKind===`agent_text`?(0,R.jsx)(QI,{children:e.body}):(0,R.jsx)(`p`,{children:(0,R.jsx)(JI,{children:e.body})}):(0,R.jsx)(uL,{name:t.name,category:t.category,...t.imageUrl===void 0?{}:{imageUrl:t.imageUrl},onClick:()=>oe?.(t.path)}):(0,R.jsx)(lR,{artifactTitle:e.artifactFeedback.artifactTitle,annotations:e.artifactFeedback.annotations,...e.artifactFeedback.summary===void 0?{}:{summary:e.artifactFeedback.summary},...be===void 0?{}:{onViewAnnotation:t=>be(e.id,t)}}))},$e=E?BU(o,r):null,et=()=>{let e=s!==null&&(Le||E)||o!==null&&E;return r.length===0&&!e&&!w&&!T?(0,R.jsx)(gU,{children:`No messages yet`}):(0,R.jsxs)(R.Fragment,{children:[w?(0,R.jsx)(`div`,{className:`chat-history-status`,role:`status`,children:`Loading earlier messages…`}):null,!E||Le?null:Ye(`active-round`),r.map((e,t)=>(0,R.jsxs)(L.Fragment,{children:[$e===t?Xe():null,Qe(e)]},`timeline:${e.id}`)),$e===r.length?Xe():null,T?(0,R.jsx)(`div`,{className:`chat-history-status`,role:`status`,children:`Loading newer messages…`}):null]})},tt=(e,t=!1)=>(0,R.jsx)(bL,{id:e,tabIndex:-1,compact:t,title:i.title,summary:i.summary,sections:i.sections,submitAvailable:i.submitAvailable,...i.pages===void 0?{}:{pages:i.pages},...i.footerNote===void 0?{}:{footerNote:i.footerNote},...i.updatedLabelPrefix===void 0?{}:{updatedLabelPrefix:i.updatedLabelPrefix},syncPending:h,actionsDisabled:g,submitPending:_,onSubmitScratchpad:de,...ge===void 0?{}:{onOpenCompiledTask:ge},empty:(0,R.jsx)(gU,{children:`Scratchpad empty. Discuss your ideas together.`}),...i.updatedLabel===void 0?{}:{updatedLabel:i.updatedLabel}}),nt=(0,R.jsx)(`div`,{className:`chat-panel-actions`,children:(0,R.jsx)(pU,{members:n})});return(0,R.jsxs)(mU,{activePage:`chat`,statusShortcuts:l,mobileContext:{title:e,action:(0,R.jsx)(zw,{className:h?`mobile-scratchpad-trigger is-syncing`:`mobile-scratchpad-trigger`,type:`button`,label:Te?`Close Scratchpad`:`Open Scratchpad`,active:Te,"aria-expanded":Te,"aria-controls":`${AU}-mobile-sheet`,icon:(0,R.jsx)(gL,{"aria-hidden":`true`}),onClick:()=>Ee(e=>!e)})},...u===void 0?{}:{unread:u},...d===void 0?{}:{artifactSignal:d},onOpenProjectCenter:me,onOpenWorklist:he,onOpenReferences:ve,onOpenArtifacts:ye,onOpenSkills:xe,onOpenTimeline:Se,onOpenSettings:Ce,onActivateStatusShortcut:Je,getStatusShortcutAriaControls:e=>e.target.kind===`approval`&&o!==null&&E?OU(o.approvalId):e.target.kind===`clarification`&&s!==null&&(E||Le)?DU(s.roundId):e.target.kind===`scratchpad`?AU:void 0,children:[(0,R.jsxs)(`section`,{className:`workspace-grid is-tutti chat-workspace-grid`,"aria-label":`Chat workspace`,children:[M?(0,R.jsx)(dL,{title:Fe,subtitle:Ie,actions:nt,children:(0,R.jsx)(aS,{})}):te?(0,R.jsx)(dL,{title:Fe,subtitle:Ie,actions:nt,children:(0,R.jsx)(gU,{children:`Workspace unavailable`})}):(0,R.jsx)(dL,{title:Fe,subtitle:Ie,actions:nt,streamRef:De,onStreamScroll:Ge,streamOverlay:C&&ie!==void 0?(0,R.jsx)(X,{className:`chat-jump-latest`,type:`button`,onClick:ie,children:`Jump to latest`}):void 0,dropUploadPending:v,...He===void 0?{}:{onDropFiles:He},composer:(0,R.jsx)(hL,{value:f,pending:m,uploadPending:v,mentionOptions:Ve,onValueChange:N,onComposerSubmit:I,...ae===void 0?{}:{onFileUpload:ae}}),empty:(0,R.jsx)(gU,{children:`No messages yet`}),children:et()}),(0,R.jsxs)(`div`,{className:a===null?`chat-side-column`:`chat-side-column has-progress`,children:[tt(AU),a===null?null:(0,R.jsx)(RU,{progress:a})]})]}),Te?(0,R.jsxs)(`div`,{className:`mobile-scratchpad-layer is-open`,id:`${AU}-mobile-sheet`,children:[(0,R.jsx)(`button`,{className:`mobile-scratchpad-backdrop`,type:`button`,"aria-label":`Close Scratchpad`,onClick:()=>Ee(!1)}),(0,R.jsxs)(`section`,{className:`mobile-scratchpad-card`,role:`dialog`,"aria-modal":`true`,"aria-label":`Scratchpad`,children:[(0,R.jsxs)(`div`,{className:`mobile-scratchpad-card-head`,children:[(0,R.jsx)(`h2`,{children:`Scratchpad`}),(0,R.jsx)(xw,{className:`mobile-scratchpad-close`,type:`button`,label:`Close Scratchpad`,icon:(0,R.jsx)(nS,{"aria-hidden":`true`}),onClick:()=>Ee(!1)})]}),(0,R.jsx)(`div`,{className:`mobile-scratchpad-card-body`,children:tt(`${AU}-mobile`,!0)})]})]}):null]})}function qU({statusShortcuts:e,unread:t,state:n,loading:r=!1,unavailable:i=!1,feedback:a,iframeRef:o,onPreviewLoad:s,onOpenProjectCenter:c,onOpenChat:l,onOpenWorklist:u,onOpenReferences:d,onOpenSkills:f,onOpenTimeline:p,onOpenSettings:m,onActivateStatusShortcut:h}){let g=r?{status:`loading`}:i?{status:`not_declared`}:n,_=a?.supported===!0?(0,R.jsx)(sR,{active:a.open,disabled:a.open?!a.canSubmit:!a.ready,...a.submitPending===void 0?{}:{pending:a.submitPending},title:a.open?a.submitDisabledReason??`Submit comments`:a.ready?`Comments`:a.unavailableReason??`Preparing comments`,onClick:a.open?a.onSubmit:a.onOpen}):void 0,v=a?.supported===!0?(0,R.jsx)(zw,{type:`button`,label:a.open?`Submit comments`:`Comments`,active:a.open,disabled:a.open?!a.canSubmit:!a.ready,icon:a.open?(0,R.jsx)(ex,{"aria-hidden":`true`}):(0,R.jsx)(Px,{"aria-hidden":`true`}),onClick:a.open?a.onSubmit:a.onOpen}):void 0,y=a?.open===!0?(0,R.jsx)(cR,{...a.rail,author:a.author.displayName,avatar:(0,R.jsx)(WH,{avatar:a.author.avatar,label:a.author.displayName})}):void 0;return(0,R.jsx)(mU,{activePage:`artifacts`,statusShortcuts:e,mobileContext:{title:g.status===`declared`?g.title:`Artifacts`,...v===void 0?{}:{action:v}},...t===void 0?{}:{unread:t},artifactSignal:Bz(g),...y===void 0?{}:{rail:y},onOpenProjectCenter:c,onOpenChat:l,onOpenWorklist:u,onOpenReferences:d,onOpenSkills:f,onOpenTimeline:p,onOpenSettings:m,onActivateStatusShortcut:h,children:(0,R.jsx)(`section`,{className:`workspace-grid artifacts-workspace-grid`,"aria-label":`Artifacts`,children:(0,R.jsx)(iR,{state:g,..._===void 0?{}:{headerAction:_},...o===void 0?{}:{iframeRef:o},...s===void 0?{}:{onPreviewLoad:s},...i?{empty:(0,R.jsx)(gU,{children:`Workspace unavailable`})}:{},emptyWatermark:(0,R.jsx)(hU,{})})})})}function JU({statusShortcuts:e,unread:t,artifactSignal:n,files:r,detail:i,uploadPending:a=!1,fileSortMode:o=`time`,loading:s=!1,unavailable:c=!1,onOpenProjectCenter:l,onOpenChat:u,onOpenWorklist:d,onOpenArtifacts:f,onOpenSkills:p,onOpenTimeline:m,onOpenSettings:h,onActivateStatusShortcut:g,onSelectFile:_,onUploadFile:v,onFileSortModeChange:y}){let b=s||c;return(0,R.jsx)(mU,{activePage:`references`,statusShortcuts:e,mobileContext:{title:`References`,action:(0,R.jsx)(mL,{variant:`bare`,className:`sidebar-button reference-upload-button`,label:`Upload reference`,pendingLabel:`Uploading reference`,pending:a,iconOnly:!0,onFileUpload:v})},...t===void 0?{}:{unread:t},...n===void 0?{}:{artifactSignal:n},onOpenProjectCenter:l,onOpenChat:u,onOpenWorklist:d,onOpenArtifacts:f,onOpenSkills:p,onOpenTimeline:m,onOpenSettings:h,onActivateStatusShortcut:g,children:(0,R.jsx)(`section`,{className:`workspace-grid references-workspace-grid`,"aria-label":`Reference files`,children:(0,R.jsx)(tR,{files:b?[]:r,...s?{detail:{title:`Loading`,unavailableReason:`Loading`}}:c?{detail:{title:`References unavailable`,unavailableReason:`Workspace unavailable`}}:i===void 0?{}:{detail:i},uploadPending:a,fileSortMode:o,empty:s?(0,R.jsx)(gU,{children:`Loading reference files`}):c?(0,R.jsx)(gU,{children:`Workspace unavailable`}):(0,R.jsx)(gU,{children:`No reference files`}),onSelectFile:_,onUploadFile:v,...y===void 0?{}:{onFileSortModeChange:y}})})})}var YU=6,XU=`......`,ZU=80,QU=160;function $U(e){let t=document.createElement(`canvas`).getContext(`2d`);if(t===null)return null;let n=window.getComputedStyle(e);return t.font=[n.fontStyle,n.fontVariant,n.fontWeight,n.fontSize,n.fontFamily].join(` `),e=>t.measureText(e).width}function eW(e,t,n){if(n(e)<=t)return e;let r=e.slice(-YU),i=Math.max(0,e.length-r.length),a=0,o=i;for(;a<o;){let i=Math.ceil((a+o)/2);n(`${e.slice(0,i)}${XU}${r}`)<=t?a=i:o=i-1}return`${e.slice(0,a)}${XU}${r}`}function tW({value:e}){let t=(0,L.useRef)(null),[n,r]=(0,L.useState)(e);return(0,L.useEffect)(()=>{let n=t.current;if(n===null)return;let i=()=>{let t=$U(n),i=n.getBoundingClientRect().width;if(t===null||i<=0){r(e);return}let a=eW(e,i,t);r(e=>e===a?e:a)};i();let a=typeof ResizeObserver>`u`?null:new ResizeObserver(i);return a?.observe(n),window.addEventListener(`resize`,i),()=>{a?.disconnect(),window.removeEventListener(`resize`,i)}},[e]),(0,R.jsx)(`span`,{ref:t,className:`settings-masked-link`,title:e,"aria-label":e,children:n})}function nW({value:e,onCopy:t}){return t===void 0?(0,R.jsx)(tW,{value:e}):(0,R.jsx)(`button`,{className:`settings-value-button settings-link-copy-button`,type:`button`,"aria-label":`Copy invite link`,onClick:t,children:(0,R.jsx)(tW,{value:e})})}function rW({avatar:e,displayName:t}){return(0,R.jsxs)(`div`,{className:`settings-identity`,children:[(0,R.jsx)(WH,{avatar:e,label:t}),(0,R.jsx)(`strong`,{children:t})]})}function iW({members:e}){return(0,R.jsx)(`div`,{className:`settings-member-list`,children:e.map(e=>(0,L.createElement)(rW,{...e,key:e.key}))})}function aW({settings:e,onCopyJoinUrl:t}){return{label:`Invite link`,value:e.access.inviteLink===void 0?`Not available`:(0,R.jsx)(nW,{value:e.access.inviteLink,onCopy:t}),...e.access.inviteLink===void 0?{}:{plain:!0}}}function oW({settings:e,projectNameSaving:t,projectDescriptionSaving:n,providerModelOptions:r,providerModelEditable:i,providerModelDiscovering:a,providerModelSaving:o,onCopyJoinUrl:s,onUpdateProjectDisplayName:c,onUpdateProjectDescription:l,onDiscoverProviderModels:u,onUpdateProviderDefaultModel:d}){return[{id:`settings-project`,title:`Project`,rows:[{label:`Project name`,plain:!0,value:(0,R.jsx)(fL,{value:e.project.displayName,placeholder:`Untitled project`,ariaLabel:`Project name`,maxLength:ZU,saving:t,...c===void 0?{}:{onUpdate:c}})},{label:`Description`,plain:!0,value:(0,R.jsx)(fL,{value:e.project.description,placeholder:`Add a project description`,ariaLabel:`Project description`,maxLength:QU,allowEmpty:!0,saving:n,...l===void 0?{}:{onUpdate:l}})},{label:`Members`,plain:!0,value:(0,R.jsx)(iW,{members:e.project.members})}]},{id:`settings-access`,title:`Access`,rows:[aW({settings:e,onCopyJoinUrl:s}),...e.access.inviteExpires===void 0?[]:[{label:`Invite expires`,value:e.access.inviteExpires}],{label:`Signed in as`,plain:!0,value:(0,R.jsx)(rW,{...e.access.signedInAs},`signed-in-account`)},{label:`Role`,value:e.access.role},{label:`Joined`,value:e.access.joined}]},{id:`settings-provider`,title:`AI provider`,rows:[{label:`Status`,value:e.provider.status},...e.provider.model===void 0?[]:[{label:`Model`,plain:!0,value:(0,R.jsx)(XL,{value:e.provider.model,options:r,maxLength:256,canEdit:i,discovering:a,saving:o,...u===void 0?{}:{onDiscover:u},...d===void 0?{}:{onUpdate:d}})}],...e.provider.lastValidated===void 0?[]:[{label:`Last validated`,value:e.provider.lastValidated}],...e.provider.issue===void 0?[]:[{label:`Issue`,value:e.provider.issue}]]},{id:`settings-tutti`,title:`Tenso`,rows:[{label:`Version`,value:e.tutti.version}]}]}function sW({settings:e,statusShortcuts:t,unread:n,artifactSignal:r,loading:i=!1,unavailable:a=!1,projectNameSaving:o=!1,projectDescriptionSaving:s=!1,providerModelOptions:c=[],providerModelEditable:l=!1,providerModelDiscovering:u=!1,providerModelSaving:d=!1,onOpenProjectCenter:f,onOpenChat:p,onOpenWorklist:m,onOpenReferences:h,onOpenArtifacts:g,onOpenSkills:_,onOpenTimeline:v,onActivateStatusShortcut:y,onCopyJoinUrl:b,onUpdateProjectDisplayName:x,onUpdateProjectDescription:S,onDiscoverProviderModels:C,onUpdateProviderDefaultModel:w}){return(0,R.jsx)(mU,{activePage:`settings`,statusShortcuts:t,mobileContext:{title:`Settings`},...n===void 0?{}:{unread:n},...r===void 0?{}:{artifactSignal:r},onOpenProjectCenter:f,onOpenChat:p,onOpenWorklist:m,onOpenReferences:h,onOpenArtifacts:g,onOpenSkills:_,onOpenTimeline:v,onActivateStatusShortcut:y,children:(0,R.jsx)(`section`,{className:`workspace-grid settings-workspace-grid`,"aria-label":`Settings`,children:(0,R.jsx)(`div`,{className:`settings-page-grid`,children:i?(0,R.jsx)(`section`,{className:`settings-sheet`,"aria-label":`Loading settings`,children:(0,R.jsx)(gU,{children:`Loading settings`})}):a?(0,R.jsx)(`section`,{className:`settings-sheet`,"aria-label":`Settings unavailable`,children:(0,R.jsx)(gU,{children:`Workspace unavailable`})}):e===void 0?(0,R.jsx)(`section`,{className:`settings-sheet`,"aria-label":`Settings unavailable`,children:(0,R.jsx)(gU,{children:`Settings unavailable`})}):(0,R.jsx)(YL,{statuses:[e.connectionStatus],sections:oW({settings:e,projectNameSaving:o,projectDescriptionSaving:s,providerModelOptions:c,providerModelEditable:l,providerModelDiscovering:u,providerModelSaving:d,onCopyJoinUrl:b,onUpdateProjectDisplayName:x,onUpdateProjectDescription:S,onDiscoverProviderModels:C,onUpdateProviderDefaultModel:w})})})})})}var cW=[{title:`Awesome GitHub Copilot Skills`,href:`https://awesome-copilot.github.com/skills/`},{title:`Anthropic official skills`,href:`https://github.com/anthropics/skills`},{title:`Claude Skills Marketplace`,href:`https://claudeskills.info/skills/`}];function lW({statusShortcuts:e,unread:t,artifactSignal:n,skills:r,detail:i,uploadPending:a=!1,deletePending:o=!1,loading:s=!1,unavailable:c=!1,onOpenProjectCenter:l,onOpenChat:u,onOpenWorklist:d,onOpenReferences:f,onOpenArtifacts:p,onOpenTimeline:m,onOpenSettings:h,onActivateStatusShortcut:g,onSelectSkill:_,onUploadSkill:v,onDeleteSkill:y}){let b=s||c;return(0,R.jsx)(mU,{activePage:`skills`,statusShortcuts:e,mobileContext:{title:`Skills`,action:(0,R.jsx)(mL,{variant:`bare`,className:`sidebar-button reference-upload-button`,label:`Upload skill`,pendingLabel:`Uploading skill`,pending:a,accept:`.zip,application/zip,application/x-zip-compressed`,iconOnly:!0,onFileUpload:v})},...t===void 0?{}:{unread:t},...n===void 0?{}:{artifactSignal:n},onOpenProjectCenter:l,onOpenChat:u,onOpenWorklist:d,onOpenReferences:f,onOpenArtifacts:p,onOpenTimeline:m,onOpenSettings:h,onActivateStatusShortcut:g,children:(0,R.jsx)(`section`,{className:`workspace-grid references-workspace-grid`,"aria-label":`Skills`,children:(0,R.jsx)(dR,{skills:b?[]:r,communityLinks:b?[]:cW,...s?{detail:{title:`Loading`,unavailableReason:`Loading`}}:c?{detail:{title:`Skills unavailable`,unavailableReason:`Workspace unavailable`}}:i===void 0?{}:{detail:i},uploadPending:a,deletePending:o,empty:s?(0,R.jsx)(gU,{children:`Loading skills`}):c?(0,R.jsx)(gU,{children:`Workspace unavailable`}):(0,R.jsx)(gU,{children:`No skills`}),onSelectSkill:_,onUploadSkill:v,onDeleteSkill:y})})})}function uW({timeline:e,statusShortcuts:t,unread:n,artifactSignal:r,loading:i=!1,unavailable:a=!1,onOpenProjectCenter:o,onOpenChat:s,onOpenWorklist:c,onOpenReferences:l,onOpenArtifacts:u,onOpenSkills:d,onOpenSettings:f,onActivateStatusShortcut:p}){return(0,R.jsx)(mU,{activePage:`timeline`,statusShortcuts:t,mobileContext:{title:`Timeline`},...n===void 0?{}:{unread:n},...r===void 0?{}:{artifactSignal:r},onOpenProjectCenter:o,onOpenChat:s,onOpenWorklist:c,onOpenReferences:l,onOpenArtifacts:u,onOpenSkills:d,onOpenSettings:f,onActivateStatusShortcut:p,children:(0,R.jsx)(`section`,{className:`workspace-grid timeline-workspace-grid`,"aria-label":`Timeline workspace`,children:i?(0,R.jsx)(`section`,{className:`panel timeline-panel`,"aria-label":`Loading timeline`,children:(0,R.jsx)(gU,{children:`Loading timeline`})}):a?(0,R.jsx)(`section`,{className:`panel timeline-panel`,"aria-label":`Timeline unavailable`,children:(0,R.jsx)(gU,{children:`Workspace unavailable`})}):e===void 0?(0,R.jsx)(`section`,{className:`panel timeline-panel`,"aria-label":`Timeline unavailable`,children:(0,R.jsx)(gU,{children:`Timeline unavailable`})}):(0,R.jsx)(DR,{tokenOverview:e.tokenOverview,items:e.items,scoreUnits:e.scoreUnits,empty:(0,R.jsx)(gU,{children:`No timeline events yet`})})})})}function dW({statusShortcuts:e,unread:t,artifactSignal:n,modules:r,taskCount:i,detail:a,missingTaskId:o,runNote:s,loading:c=!1,unavailable:l=!1,onOpenProjectCenter:u,onOpenChat:d,onOpenReferences:f,onOpenArtifacts:p,onOpenSkills:m,onOpenTimeline:h,onOpenSettings:g,onActivateStatusShortcut:_,onSelectTask:v}){return(0,R.jsx)(mU,{activePage:`worklist`,statusShortcuts:e,mobileContext:{title:`Worklist`,meta:i===1?`1 task`:`${i} tasks`},...t===void 0?{}:{unread:t},...n===void 0?{}:{artifactSignal:n},onOpenProjectCenter:u,onOpenChat:d,onOpenReferences:f,onOpenArtifacts:p,onOpenSkills:m,onOpenTimeline:h,onOpenSettings:g,onActivateStatusShortcut:_,children:(0,R.jsx)(`section`,{className:`workspace-grid worklist-workspace-grid`,"aria-label":`Worklist workspace`,children:c?(0,R.jsx)(`section`,{className:`panel tasks worklist-page-panel`,"aria-label":`Loading Worklist`,children:(0,R.jsx)(gU,{children:`Loading Worklist`})}):l?(0,R.jsx)(`section`,{className:`panel tasks worklist-page-panel`,"aria-label":`Worklist unavailable`,children:(0,R.jsx)(gU,{children:`Workspace unavailable`})}):(0,R.jsx)(JL,{modules:r,taskCount:i,...a===void 0?{}:{detail:a},...o===void 0?{}:{missingTaskId:o},...s==null?{}:{runNote:s},onSelectTask:v,empty:(0,R.jsx)(gU,{children:`No compiled tasks`})})})})}function fW(e){return(0,R.jsx)(jH,{label:`Tenso trial access`,onBrandClick:e.onBrandClick,children:(0,R.jsxs)(yk,{title:e.authorized?`Trial access authorized`:`Authorize Tenso trial`,description:e.authorized?`Local Console will verify this authorization, check model access and start the project. You can return to Local Console.`:`Confirm only if you started this request in Local Console on your computer.`,onSubmit:t=>{t.preventDefault(),e.onAuthorize()},action:e.authorized?void 0:(0,R.jsx)(Sw,{type:`submit`,disabled:e.pending||e.expired,children:e.pending?`Authorizing`:`Authorize trial access`}),feedback:e.error===null?void 0:(0,R.jsx)(Fw,{children:e.error}),children:[(0,R.jsx)(Rk,{title:e.projectName,description:`${e.surface} · Tenso`,children:(0,R.jsxs)(`p`,{children:[`Account: `,e.accountEmail]})}),e.authorized?null:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`p`,{children:`This computer may run AI tasks for this project, including team requests and background work, using your test allowance. There is no payment or recharge authorization.`}),(0,R.jsx)(`p`,{children:`Access continues until revoked. Signing out does not stop authorized project work.`}),e.expired?(0,R.jsx)(Fw,{children:`This request expired. Start again in Local Console.`}):null,(0,R.jsx)(X,{type:`button`,disabled:e.pending,onClick:e.onSignInAgain,children:`Sign in again / switch account`})]})]})})}var pW=G.Object({kind:G.Literal(`clarification`),round_id:ah,version:G.Integer({minimum:0}),answer_revision:G.Integer({minimum:0}),closed_reason:G.Optional(G.Union([G.Literal(`resolved`),G.Literal(`contract_changed`),G.Literal(`cancelled`)])),state:G.Union([G.Literal(`writable`),G.Literal(`submitted`),G.Literal(`continued`),G.Literal(`closed`)]),title:G.String({minLength:1,maxLength:512}),request:G.String({minLength:1,maxLength:4e3}),opened_at:K},{additionalProperties:!1}),mW=G.String({minLength:1,maxLength:64,pattern:`^[a-z][a-z0-9_-]*$`}),hW=G.String({minLength:1,maxLength:256,pattern:`^[^\\u0000-\\u001f\\u007f]+$`}),gW=G.String({minLength:1,maxLength:512,pattern:`^[^\\u0000-\\u001f\\u007f]+$`}),_W=G.Object({platform:mW,installation_ref:hW},{additionalProperties:!1}),vW=G.Object({installation:_W,conversation_ref:gW,thread_ref:G.Optional(gW),parent_message_ref:G.Optional(gW),root_message_ref:G.Optional(gW)},{additionalProperties:!1}),yW=G.Object({conversation:vW,message_ref:gW},{additionalProperties:!1}),bW=G.Object({installation:_W,subject_kind:G.Union([G.Literal(`human`),G.Literal(`bot`),G.Literal(`app`),G.Literal(`system`)]),subject_ref:gW},{additionalProperties:!1}),xW=G.Object({kind:G.Literal(`human`),account_ref:lh,display_name:G.String({minLength:1,maxLength:256}),membership:G.Object({relay_project_ref:ch,label:G.Union([G.Literal(`owner`),G.Literal(`member`)])},{additionalProperties:!1}),channel:G.Union([G.Literal(`platform_chat`),G.Literal(`platform_h5`),G.Literal(`platform_card_callback`),G.Literal(`platform_document_sync`)]),external_subject:bW,binding_ref:hW,verified_at:K},{additionalProperties:!1}),SW=G.Object({kind:G.Literal(`system`),purpose:G.Union([G.Literal(`live_ingestion`),G.Literal(`history_backfill`),G.Literal(`revision_observation`),G.Literal(`attachment_handoff`),G.Literal(`projection_retry`),G.Literal(`reconciliation`)]),installation:_W,binding_ref:G.Optional(hW),verified_at:K},{additionalProperties:!1}),CW=G.Object({...xW.properties,kind:G.Literal(`bot`),purpose:G.Literal(`development_operator`),channel:G.Literal(`platform_chat`)},{additionalProperties:!1});G.Union([xW,SW]);var wW=G.Object({account_ref:lh,display_name:G.String({minLength:1,maxLength:256}),external_subject:bW},{additionalProperties:!1}),TW=G.Object({external_subject:bW},{additionalProperties:!1}),EW=G.Object({external_subject:bW,account_ref:G.Optional(lh),display_text:G.Optional(G.String({minLength:1,maxLength:256})),target_kind:G.Union([G.Literal(`person`),G.Literal(`tutti`)])},{additionalProperties:!1}),DW=G.Union([G.Object({kind:G.Literal(`text`),text:G.String({minLength:1,maxLength:1e5}),mentions:G.Array(EW,{maxItems:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`post`),text:G.String({minLength:1,maxLength:1e5}),mentions:G.Array(EW,{maxItems:128})},{additionalProperties:!1})]),OW=G.Object({attachment_ref:gW,attachment_kind:G.Union([G.Literal(`file`),G.Literal(`image`),G.Literal(`audio`),G.Literal(`video`),G.Literal(`other`)]),file_name:G.Optional(G.String({minLength:1,maxLength:512})),media_type:G.Optional(G.String({minLength:1,maxLength:255})),declared_size_bytes:G.Optional(G.Integer({minimum:0,maximum:2**53-1}))},{additionalProperties:!1}),kW=G.Object({attachment:OW,size_bytes:G.Integer({minimum:1,maximum:2**53-1}),sha256:G.String({pattern:`^sha256:[0-9a-f]{64}$`}),media_type:G.String({minLength:1,maxLength:255}),verified_at:K},{additionalProperties:!1}),AW=G.Object({locator:yW,author:TW,attachment:OW,external_created_at:K,observed_at:K,adapter_version:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),jW=G.Object({external_references:G.Optional(G.Array(S_,{minItems:1,maxItems:16})),locator:yW,revision_ref:gW,author:wW,content:DW,attachments:G.Array(OW,{maxItems:64}),external_created_at:K,observed_at:K,adapter_version:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),MW=G.Object({external_references:G.Optional(G.Array(S_,{minItems:1,maxItems:16})),locator:yW,revision_ref:gW,author:TW,content:DW,attachments:G.Array(OW,{maxItems:64}),external_created_at:K,observed_at:K,adapter_version:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),NW=G.Union([G.Object({kind:G.Literal(`edited`),locator:yW,revision_ref:gW,content:DW,attachments:G.Array(OW,{maxItems:64}),external_updated_at:K,observed_at:K,adapter_version:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`deleted`),locator:yW,revision_ref:gW,external_updated_at:K,observed_at:K,adapter_version:G.String({minLength:1,maxLength:128})},{additionalProperties:!1})]),PW=G.Object({receipt_key:hW,installation:_W,external_event_ref:gW,event_kind:G.Union([G.Literal(`conversation_source`),G.Literal(`conversation_revision`),G.Literal(`attachment`),G.Literal(`card_action`)]),received_at:K,attempt:G.Integer({minimum:1,maximum:1e6})},{additionalProperties:!1}),FW=G.Object({kind:G.Literal(`conversation_source`),receipt:PW,actor:SW,source:jW},{additionalProperties:!1}),IW=G.Object({kind:G.Literal(`conversation_revision`),receipt:PW,actor:SW,observation:NW},{additionalProperties:!1});G.Union([FW,IW]);var LW=G.Union([G.Object({kind:G.Literal(`created`),message_id:Xm},{additionalProperties:!1}),G.Object({kind:G.Literal(`duplicate`),message_id:Xm},{additionalProperties:!1}),G.Object({kind:G.Literal(`revision_recorded`),message_id:Xm,revision_ref:gW},{additionalProperties:!1}),G.Object({kind:G.Literal(`stale_revision`),message_id:Xm,revision_ref:gW},{additionalProperties:!1}),G.Object({kind:G.Literal(`unsupported`),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`unauthorized`),reason_code:G.Optional(G.String({minLength:1,maxLength:128}))},{additionalProperties:!1}),G.Object({kind:G.Literal(`binding_missing`)},{additionalProperties:!1}),G.Object({kind:G.Literal(`host_unavailable`),retryable:G.Literal(!0),reason_code:G.Optional(G.String({minLength:1,maxLength:128})),retry_after:G.Optional(K)},{additionalProperties:!1}),G.Object({kind:G.Literal(`host_incompatible`),retryable:G.Literal(!0),reason_code:G.Union([G.Literal(`integration_source_ingestion_unsupported`),G.Literal(`integration_attachment_ingestion_unsupported`),G.Literal(`integration_managed_reference_ingestion_unsupported`),G.Literal(`integration_clarification_unsupported`)])},{additionalProperties:!1}),G.Object({kind:G.Literal(`invalid`),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1})]);G.Object({protocol_version:G.Union([G.Literal(2),G.Literal(3)]),command_id:sh,relay_project_ref:ch,binding_ref:hW,receipt:PW,source:MW,clarification_round_ref:G.Optional(ah)},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),command_id:sh,relay_project_ref:ch,binding_ref:hW,receipt:PW,source:AW,content:kW},{additionalProperties:!1});var RW=G.Union([G.Object({kind:G.Literal(`staged`),upload:r_,put:i_},{additionalProperties:!1}),G.Object({kind:G.Literal(`unauthorized`),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`invalid`),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`unavailable`),retryable:G.Literal(!0),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1})]);G.Object({protocol_version:G.Literal(1),disposition:RW},{additionalProperties:!1});var zW=G.String({minLength:20,maxLength:20,pattern:`^[A-Z2-7]+$`});G.Union([G.Object({state:G.Literal(`account_handoff_required`)},{additionalProperties:!1}),G.Object({state:G.Literal(`pairing_required`),pairing_code:zW,command:G.String({minLength:1,maxLength:128}),expires_at:K,visibility:G.Literal(`visible_once`)},{additionalProperties:!1}),G.Object({state:G.Literal(`pairing_required`),expires_at:G.Optional(K),visibility:G.Literal(`not_recoverable`)},{additionalProperties:!1}),G.Object({state:G.Literal(`connected`)},{additionalProperties:!1})]),G.Object({protocol_version:G.Literal(1),pairing_code:zW,binding_ref:hW,installation:_W,conversation_ref:gW,external_subject:bW,observed_at:K},{additionalProperties:!1});var BW=G.Union([G.Object({kind:G.Literal(`bound`),relay_project_ref:ch,project_display_name:G.String({minLength:1,maxLength:256})},{additionalProperties:!1}),G.Object({kind:G.Literal(`duplicate`),relay_project_ref:ch,project_display_name:G.String({minLength:1,maxLength:256})},{additionalProperties:!1}),G.Object({kind:G.Literal(`invalid`),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`unauthorized`),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`conflict`),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1})]);G.Object({protocol_version:G.Literal(1),disposition:BW},{additionalProperties:!1});var VW=G.Object({source_ref:hW,adapter_key:G.Literal(`feishu_docx`),installation:_W,external_subject:bW,reference_path:G.String({minLength:1,maxLength:1024})},{additionalProperties:!1}),HW=G.Object({size_bytes:G.Integer({minimum:0,maximum:2**53-1}),sha256:G.String({pattern:`^sha256:[0-9a-f]{64}$`}),media_type:G.Literal(`text/plain; charset=utf-8`)},{additionalProperties:!1});G.Object({protocol_version:G.Literal(1),command_id:sh,operation_ref:hW,relay_project_ref:ch,binding_ref:hW,source:VW,remote_revision_ref:gW,expected_host_blob_oid:G.Optional(G.String({pattern:`^[0-9a-f]{40,64}$`})),content:HW},{additionalProperties:!1});var UW=RW;G.Object({protocol_version:G.Literal(1),disposition:UW},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),command_id:sh,operation_ref:hW,relay_project_ref:ch,binding_ref:hW,source:VW,remote_revision_ref:gW,expected_host_blob_oid:G.Optional(G.String({pattern:`^[0-9a-f]{40,64}$`})),content:HW,staged_upload:G.Object(Zg,{additionalProperties:!1})},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),command_id:sh,operation_ref:hW,relay_project_ref:ch,binding_ref:hW,source:VW,remote_revision_ref:gW,expected_host_blob_oid:G.Optional(G.String({pattern:`^[0-9a-f]{40,64}$`})),content:HW,staged_upload:G.Object(Zg,{additionalProperties:!1}),actor:xW},{additionalProperties:!1});var WW=G.Union([G.Object({kind:G.Union([G.Literal(`created`),G.Literal(`updated`),G.Literal(`unchanged`)]),current_blob_oid:G.String({pattern:`^[0-9a-f]{40,64}$`})},{additionalProperties:!1}),G.Object({kind:G.Literal(`duplicate`),outcome:G.Union([G.Literal(`created`),G.Literal(`updated`),G.Literal(`unchanged`)]),current_blob_oid:G.String({pattern:`^[0-9a-f]{40,64}$`})},{additionalProperties:!1}),G.Object({kind:G.Literal(`host_unavailable`),retryable:G.Literal(!0),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`host_incompatible`),retryable:G.Literal(!0),reason_code:G.Literal(`integration_managed_reference_ingestion_unsupported`)},{additionalProperties:!1}),G.Object({kind:G.Union([G.Literal(`invalid`),G.Literal(`unauthorized`),G.Literal(`conflict`)]),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1})]);G.Object({protocol_version:G.Literal(1),disposition:WW},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),command_id:sh,relay_project_ref:ch,binding_ref:hW,receipt:PW,actor:G.Union([xW,CW]),source:jW,clarification_round_ref:G.Optional(ah)},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),command_id:sh,relay_project_ref:ch,binding_ref:hW,receipt:PW,source:AW,staged_upload:G.Object(Zg,{additionalProperties:!1})},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),command_id:sh,relay_project_ref:ch,binding_ref:hW,receipt:PW,actor:xW,source:AW,staged_upload:G.Object(Zg,{additionalProperties:!1})},{additionalProperties:!1}),G.Union([G.Object({protocol_version:G.Literal(1),relay_project_ref:ch,installation:_W,binding_ref:hW,receipt_key:hW,verified_at:K},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),relay_project_ref:ch,installation:_W,binding_ref:hW,operation_ref:hW,verified_at:K},{additionalProperties:!1})]),G.Object({protocol_version:G.Literal(1),disposition:LW},{additionalProperties:!1});var GW=G.Object({kind:G.Literal(`text`),text:G.String({minLength:1,maxLength:4e3}),clarification_round_ref:G.Optional(ah)},{additionalProperties:!1}),KW=G.String({minLength:1,maxLength:128,pattern:`^cardrev_[0-9a-f]{32}$`}),qW=G.Object({decision_id:G.String({minLength:1,maxLength:256}),kind:G.Union([G.Literal(`allow_once`),G.Literal(`allow_session`),G.Literal(`deny`),G.Literal(`cancel`)]),label:G.String({minLength:1,maxLength:256}),tone:G.Union([G.Literal(`primary`),G.Literal(`neutral`),G.Literal(`danger`)])},{additionalProperties:!1}),JW=G.Object({kind:G.Literal(`approval_request`),approval_id:G.String({minLength:1,maxLength:256}),card_revision:KW,title:G.String({minLength:1,maxLength:512}),summary:G.String({minLength:1,maxLength:4e3}),reason:G.Optional(G.String({minLength:1,maxLength:2e3})),requested_at:K,expires_at:G.Optional(K),decisions:G.Array(qW,{minItems:1,maxItems:8})},{additionalProperties:!1}),YW=G.Union([GW,JW,pW]),XW=G.Object({kind:G.Union([G.Literal(`chat_response`),G.Literal(`needs_input`),G.Literal(`task_completed`),G.Literal(`task_failed`)]),event_key:gW,subject:G.Object({kind:G.Union([G.Literal(`message`),G.Literal(`clarification_round`),G.Literal(`approval_request`),G.Literal(`task_result`)]),ref:gW},{additionalProperties:!1}),target:G.Object({kind:G.Union([G.Literal(`project`),G.Literal(`work`)])},{additionalProperties:!1})},{additionalProperties:!1}),ZW={protocol_version:G.Literal(1),intent_ref:sh,relay_project_ref:ch,installation:_W,binding_ref:hW,canonical_message_ref:G.Optional(Xm),trigger_message_ref:G.Optional(Xm),content:YW,event:G.Optional(XW),created_at:K,attempt:G.Integer({minimum:1,maximum:1e6})};G.Object(ZW,{additionalProperties:!1});var QW=G.Object({...ZW,conversation_ref:gW},{additionalProperties:!1}),$W=G.Object({conversation_ref:gW,message_ref:gW,action_ref:hW,card_revision:KW,external_subject:bW},{additionalProperties:!1});G.Object({protocol_version:G.Literal(1),command_id:sh,relay_project_ref:ch,binding_ref:hW,receipt:PW,callback:$W,approval_id:G.String({minLength:1,maxLength:256}),decision_id:G.String({minLength:1,maxLength:256})},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),command_id:sh,relay_project_ref:ch,binding_ref:hW,receipt:PW,actor:xW,callback:G.Object({message_ref:gW,action_ref:hW,card_revision:KW},{additionalProperties:!1}),approval_id:G.String({minLength:1,maxLength:256}),decision_id:G.String({minLength:1,maxLength:256})},{additionalProperties:!1});var eG=G.Union([G.Object({kind:G.Literal(`accepted`)},{additionalProperties:!1}),G.Object({kind:G.Literal(`stale_approval`)},{additionalProperties:!1}),G.Object({kind:G.Literal(`decision_unavailable`)},{additionalProperties:!1}),G.Object({kind:G.Literal(`interrupted`),retry_with_new_command_id:G.Boolean()},{additionalProperties:!1}),G.Object({kind:G.Literal(`unauthorized`),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`invalid`),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`host_unavailable`),retryable:G.Literal(!0),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`host_incompatible`),retryable:G.Literal(!0),reason_code:G.Literal(`integration_approval_decision_unsupported`)},{additionalProperties:!1})]);G.Object({protocol_version:G.Literal(1),disposition:eG},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),installation:_W},{additionalProperties:!1}),G.Union([G.Object({protocol_version:G.Literal(1),disposition:G.Object({kind:G.Literal(`idle`),retry_after_ms:G.Integer({minimum:100,maximum:6e4})},{additionalProperties:!1})},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),disposition:G.Object({kind:G.Literal(`claimed`),claim_ref:hW,claim_expires_at:K,intent:QW},{additionalProperties:!1})},{additionalProperties:!1})]);var tG=G.Union([G.Object({kind:G.Literal(`accepted`),delivery_ref:hW},{additionalProperties:!1}),G.Object({kind:G.Literal(`duplicate`),delivery_ref:hW},{additionalProperties:!1}),G.Object({kind:G.Literal(`rejected`),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1})]);G.Object({protocol_version:G.Literal(1),installation:_W,claim_ref:hW,intent_ref:sh,disposition:tG},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),disposition:G.Union([G.Object({kind:G.Literal(`acknowledged`)},{additionalProperties:!1}),G.Object({kind:G.Literal(`stale`),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1})])},{additionalProperties:!1});var nG=G.Union([G.Object({kind:G.Literal(`accepted`),delivery_ref:hW},{additionalProperties:!1}),G.Object({kind:G.Literal(`duplicate`),delivery_ref:hW},{additionalProperties:!1}),G.Object({kind:G.Literal(`unavailable`),retryable:G.Literal(!0),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Union([G.Literal(`invalid`),G.Literal(`unauthorized`),G.Literal(`unsupported`)]),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1})]);G.Object({protocol_version:G.Literal(1),disposition:nG},{additionalProperties:!1});var rG=G.String({minLength:1,maxLength:4096,pattern:`^[^\\u0000-\\u001f\\u007f]+$`}),iG=G.String({minLength:36,maxLength:36,pattern:`^feishu_user_[a-f0-9]{24}$`});G.Object({version:G.Literal(1),installation_ref:G.String({minLength:1,maxLength:512}),external_subject_ref:G.String({minLength:9,maxLength:508,pattern:`^open_id:[A-Za-z0-9_-]{1,500}$`}),access_token:rG,refresh_token:rG,access_expires_at:K,refresh_expires_at:G.Optional(K),scopes:G.Array(G.String({minLength:1,maxLength:256}),{minItems:1,maxItems:32,uniqueItems:!0}),authorized_at:K},{additionalProperties:!1}),G.Object({credential_ref:iG,updated_at:K},{additionalProperties:!1});var aG={authority:G.Object({project_ref:ch,installation_ref:G.String({minLength:1,maxLength:512}),binding_ref:G.String({minLength:1,maxLength:512}),external_subject_ref:G.String({pattern:`^open_id:[A-Za-z0-9_-]{1,500}$`}),role:G.Union([G.Literal(`owner`),G.Literal(`member`)])},{additionalProperties:!1}),diagnostic_id:G.Optional(G.String({pattern:`^fdiag_[a-f0-9]{32}$`}))};G.Union([G.Object({...aG,action:G.Literal(`list`)},{additionalProperties:!1}),G.Object({...aG,action:G.Literal(`connect`),document_id:G.String({pattern:`^[A-Za-z0-9]{27}$`})},{additionalProperties:!1}),G.Object({...aG,action:G.Literal(`connect_wiki`),node_token:G.String({pattern:`^[A-Za-z0-9]{1,999}$`})},{additionalProperties:!1}),G.Object({...aG,action:G.Literal(`refresh`),source_ref:p_,...m_.properties},{additionalProperties:!1})]);var oG={authority:G.Object({project_ref:ch,installation_ref:G.String({minLength:1,maxLength:512}),binding_ref:G.String({minLength:1,maxLength:512}),external_subject_ref:G.String({pattern:`^open_id:[A-Za-z0-9_-]{1,500}$`}),role:G.Union([G.Literal(`owner`),G.Literal(`member`)])},{additionalProperties:!1}),request_ref:G.String({pattern:`^eref_[a-f0-9]{32}$`})},sG={source_ref:g_};G.Union([G.Object({...oG,action:G.Literal(`list`),include_pending:G.Optional(G.Boolean())},{additionalProperties:!1}),G.Object({...oG,action:G.Literal(`register`),document_url:G.String({minLength:1,maxLength:2048})},{additionalProperties:!1}),G.Object({...oG,action:G.Literal(`confirm`),submission_ref:b_},{additionalProperties:!1}),G.Object({...oG,...sG,action:G.Literal(`prepare`)},{additionalProperties:!1}),G.Object({...oG,action:G.Literal(`resolve`),document_url:G.String({minLength:1,maxLength:2048})},{additionalProperties:!1}),G.Object({...oG,action:G.Literal(`authorization_status`),authorization_ref:__},{additionalProperties:!1}),G.Object({...oG,...sG,action:G.Literal(`transfer`),transfer_ref:G.String({pattern:`^transfer_[a-f0-9]{32}$`}),put_url:G.String({maxLength:8192,pattern:`^https://`}),headers:G.Record(G.String({maxLength:128}),G.String({maxLength:2048}))},{additionalProperties:!1})]);var cG=G.Object({source:S_,revision:G.String({minLength:1,maxLength:256}),sha256:G.String({pattern:`^[a-f0-9]{64}$`}),size_bytes:G.Integer({minimum:0,maximum:10485760}),media_type:G.String({minLength:1,maxLength:128}),transfer_ref:G.String({pattern:`^transfer_[a-f0-9]{32}$`})},{additionalProperties:!1});G.Object({...cG.properties,upload_id:G.Optional(ph)},{additionalProperties:!1}),G.Object({supports_drive_files:G.Optional(G.Boolean()),invocation_ref:G.Optional(nh),project_identity:G.Object({source:G.Literal(`git_config`),project_id:Ym},{additionalProperties:!1}),host_auth:G.Object({kind:G.Literal(`host_registration_secret_v1`),secret:G.String({minLength:1,maxLength:512})},{additionalProperties:!1}),relay_project_ref:ch,host_connection_ref:hh,request_ref:oG.request_ref,action:G.Union([G.Literal(`list`),G.Literal(`read`),G.Literal(`resolve`)]),source_ref:G.Optional(g_),document_url:G.Optional(G.String({minLength:1,maxLength:2048}))},{additionalProperties:!1});var lG={protocol_version:G.Literal(1),command_id:sh,relay_project_ref:ch,binding_ref:hW,operation_ref:hW,conversation:vW,external_subject:bW,origin:G.Union([G.Object({kind:G.Literal(`development_operator`)},{additionalProperties:!1}),G.Object({kind:G.Literal(`card_callback`),message_ref:gW,action_ref:hW},{additionalProperties:!1})]),operation:G.Union([G.Object({kind:G.Literal(`query`),round_id:G.Optional(ah)},{additionalProperties:!1}),G.Object({kind:G.Literal(`submit`),round_id:ah,expected_answer_revision:G.Integer({minimum:0})},{additionalProperties:!1})])};G.Object(lG,{additionalProperties:!1}),G.Object({...lG,actor:G.Union([xW,CW])},{additionalProperties:!1}),G.Object({protocol_version:G.Literal(1),disposition:G.Union([G.Object({kind:G.Literal(`queried`),active:Mv,selected:G.Optional(Pv)},{additionalProperties:!1}),G.Object({kind:G.Literal(`submitted`),response:Vv},{additionalProperties:!1}),G.Object({kind:G.Union([G.Literal(`invalid`),G.Literal(`unauthorized`)]),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1}),G.Object({kind:G.Literal(`unavailable`),retryable:G.Boolean(),reason_code:G.String({minLength:1,maxLength:128})},{additionalProperties:!1})])},{additionalProperties:!1}),G.Union([G.Object({action:G.Literal(`resolve`),entry_ref:qy,diagnostic_id:G.Optional(G.String({pattern:`^fdiag_[a-f0-9]{32}$`}))},{additionalProperties:!1}),G.Object({action:G.Literal(`connect`),entry_ref:qy,external_subject_ref:G.String({pattern:`^open_id:[A-Za-z0-9_-]{1,128}$`}),input:G.String({minLength:1,maxLength:256}),diagnostic_id:G.Optional(G.String({pattern:`^fdiag_[a-f0-9]{32}$`}))},{additionalProperties:!1})]),G.Object({installation_ref:G.String({minLength:1,maxLength:256}),conversation_ref:G.String({pattern:`^oc_[A-Za-z0-9_-]{1,128}$`}),projection:Jy},{additionalProperties:!1}),G.Object({version:G.Literal(1),audience:G.Literal(`tutti-managed-models`),issuer:G.String({minLength:1,maxLength:200}),account_ref:lh,relay_project_ref:ch,nonce:sh,issued_at:G.Integer({minimum:0}),expires_at:G.Integer({minimum:0})},{additionalProperties:!1}),G.Object({relay_project_ref:ch},{additionalProperties:!1});var uG=e=>G.String({pattern:`^${e}${jt}$`}),dG=uG(Nt.managedCreation),fG=uG(Nt.hostInstallation),pG=uG(Nt.hostDelegation),mG=uG(Nt.projectModelGrant),hG=G.String({pattern:`^[A-Za-z0-9_-]{43}$`}),gG=G.String({pattern:`^sha256:[a-f0-9]{64}$`}),_G=G.String({pattern:`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$`});function vG(e){let t=Date.parse(e);return Number.isFinite(t)&&new Date(t).toISOString()===e}var yG=G.Object({request_ref:sh,project_id:Ym,surface:G.Union([G.Literal(`standalone`),G.Literal(`feishu`)]),existing_relay_project_ref:G.Optional(ch),installation_ref:fG,installation_secret_hash:gG,handoff_token_hash:gG,host_registration_secret_hash:gG,trial_consent:G.Literal(`trial-project-v1`),expires_before:G.Optional(_G)},{additionalProperties:!1});G.Object({console_token:hG,preparation:yG},{additionalProperties:!1}),G.Object({kind:G.Literal(`managed_project_authority_v2`),creation_ref:dG,handoff_token:hG,installation_ref:fG,installation_secret:hG},{additionalProperties:!1}),G.Object({delegation_ref:pG,installation_ref:fG,installation_secret:hG,relay_project_ref:ch,project_id:Ym,host_registration_secret:G.String({minLength:32,maxLength:256})},{additionalProperties:!1});var bG=G.Object({delegation_ref:pG,grant_ref:mG,relay_project_ref:ch,installation_ref:fG,funding_kind:G.Literal(`trial`),expires_at:G.Null(),state:G.Literal(`active`),model_access:G.Union([G.Literal(`runtime_authority_required`),G.Literal(`not_enabled`)])},{additionalProperties:!1}),xG=G.Object({creation_ref:dG,project_id:Ym,surface:G.Union([G.Literal(`standalone`),G.Literal(`feishu`)]),installation_ref:fG,expires_at:_G,state:G.Union([G.Literal(`prepared`),G.Literal(`activated`),G.Literal(`expired`),G.Literal(`revoked`)]),relay_project_ref:G.Optional(ch)},{additionalProperties:!1});G.Object({request_ref:sh,project_id:Ym,installation_ref:fG,installation_secret:hG,handoff_token:hG,host_registration_secret:G.String({minLength:32,maxLength:256})},{additionalProperties:!1}),G.Object({request_ref:sh,account_ref:lh,creation:xG,authority:G.Optional(bG)},{additionalProperties:!1}),G.Object({command_id:sh,target:G.Union([G.Object({kind:G.Literal(`grant`),ref:mG},{additionalProperties:!1}),G.Object({kind:G.Literal(`delegation`),ref:pG},{additionalProperties:!1}),G.Object({kind:G.Literal(`installation`),ref:fG},{additionalProperties:!1}),G.Object({kind:G.Literal(`creation`),ref:dG},{additionalProperties:!1})])},{additionalProperties:!1}),G.Object({version:G.Literal(2),audience:G.Literal(`tutti-creation-validation`),issuer:G.String({minLength:1,maxLength:200}),account_ref:lh,creation_ref:dG,project_id:Ym,installation_ref:fG,creation_expires_at:G.Integer({minimum:0}),nonce:sh,issued_at:G.Integer({minimum:0}),expires_at:G.Integer({minimum:0})},{additionalProperties:!1}),G.Object({creation_ref:dG,project_id:Ym,installation_ref:fG,route_ref:G.String({pattern:`^[a-z0-9][a-z0-9-]{1,60}$`}),state:G.Union([G.Literal(`started`),G.Literal(`succeeded`),G.Literal(`failed`),G.Literal(`unknown`)]),reason_code:G.Union([G.Literal(`validation_started`),G.Literal(`validation_succeeded`),G.Literal(`validation_route_unavailable`),G.Literal(`validation_http_rejected`),G.Literal(`validation_response_invalid`),G.Literal(`validation_transport_unknown`),G.Literal(`validation_interrupted`)]),http_status:G.Union([G.Null(),G.Integer({minimum:100,maximum:599})])},{additionalProperties:!1});var SG={account_ref:lh,relay_project_ref:ch,delegation_ref:pG,grant_ref:mG,installation_ref:fG},CG={issuer:G.String({minLength:1,maxLength:200}),nonce:sh,issued_at:G.Integer({minimum:0}),expires_at:G.Integer({minimum:0})};G.Object({version:G.Literal(3),audience:G.Literal(`tutti-managed-runtime`),...CG,...SG,funding_kind:G.Literal(`trial`)},{additionalProperties:!1}),G.Object({version:G.Literal(1),audience:G.Literal(`tutti-managed-revocation`),...CG,...SG},{additionalProperties:!1}),G.Object({authorization:G.String({pattern:`^tma3\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]{86}$`,maxLength:3500}),expires_at:G.Integer({minimum:0}),control_origin:G.String({minLength:1,maxLength:500}),delegation_ref:pG},{additionalProperties:!1});var wG=e=>G.String({pattern:`^${e}${jt}$`}),TG=wG(Nt.managedSession),EG=wG(Nt.managedCredential),DG=G.String({pattern:`^[a-z0-9][a-z0-9-]{1,60}$`}),OG=G.Object({base_url:G.String({minLength:1,maxLength:500}),model:G.String({pattern:`^tutti-[a-z0-9-]{1,80}$`})},{additionalProperties:!1});G.Object({session_ref:TG,route_ref:DG,disposition:G.Union([G.Literal(`created`),G.Literal(`existing`)]),provider:OG},{additionalProperties:!1});var kG=G.Object({credential_ref:EG,session_ref:TG,device_ref:wG(Nt.managedDevice),state:G.Union([G.Literal(`creating`),G.Literal(`active`),G.Literal(`expired`),G.Literal(`revoking`),G.Literal(`revoked`)]),expires_at:G.Integer({minimum:0}),quota_cap:G.Union([G.Null(),G.Integer({minimum:1})])},{additionalProperties:!1}),AG=G.Object({base_url:G.String({minLength:1,maxLength:500}),model:G.String({pattern:`^tutti-[a-z0-9-]{1,80}$`}),api_key:G.String({minLength:16,maxLength:1024,pattern:`^[^\\s]+$`})},{additionalProperties:!1});G.Union([G.Object({disposition:G.Literal(`issued`),credential:kG,route_ref:DG,provider:AG},{additionalProperties:!1}),G.Object({disposition:G.Literal(`already_issued`),credential:kG},{additionalProperties:!1})]),G.Object({disposition:G.Literal(`revoked`),credential:kG},{additionalProperties:!1}),G.Object({version:G.Literal(1),audience:G.Literal(`tutti-managed-account-read`),issuer:G.String({minLength:1,maxLength:200}),account_ref:lh,nonce:sh,issued_at:G.Integer({minimum:0}),expires_at:G.Integer({minimum:0})},{additionalProperties:!1}),G.Union([G.Literal(`in_progress`),G.Literal(`completed`),G.Literal(`failed`)]),G.Object({kind:G.Literal(`interrupted`),retry_with_new_command_id:G.Boolean()},{additionalProperties:!1});var jG=G.Union(C_.map(e=>G.Literal(e))),MG=G.Union([G.Object({kind:G.Literal(`initials`),initials:G.String({minLength:1}),color:jG},{additionalProperties:!1}),G.Object({kind:G.Literal(`image`),image_url:G.String({minLength:1}),initials:G.String({minLength:1}),color:jG},{additionalProperties:!1})]);G.Object({account_ref:lh,display_name:G.String({minLength:1}),avatar:MG,membership:G.Object({label:G.Union([G.Literal(`owner`),G.Literal(`member`)]),relay_project_ref:ch,joined_at:K},{additionalProperties:!1}),client_session_id:dh,client_session_created_at:K},{additionalProperties:!1}),G.Object({platform_session_ref:fh,account_ref:lh,display_name:G.String({minLength:1}),avatar:MG,membership:G.Object({label:G.Union([G.Literal(`owner`),G.Literal(`member`)]),relay_project_ref:ch,joined_at:K},{additionalProperties:!1}),binding_ref:G.String({minLength:1,maxLength:512}),installation_ref:G.String({minLength:1,maxLength:512}),external_subject_ref:G.String({minLength:1,maxLength:512}),platform_session_created_at:K,platform_session_expires_at:K},{additionalProperties:!1});var NG=G.Object({version:G.Literal(2),display_name:G.String({minLength:1,maxLength:80}),preparation:yG},{additionalProperties:!1});function PG(e){if(!e.startsWith(`#managed_request=`))return null;let t=e.slice(17);return Dd(sh,t)?t:null}function FG(e){if(e.length>8192||!e.startsWith(`#trial=`))return null;try{let t=JSON.parse(decodeURIComponent(e.slice(7)));return!Dd(NG,t)||!t.display_name.trim()||t.preparation.expires_before===void 0||!vG(t.preparation.expires_before)?null:t}catch{return null}}function IG(e){let t=new URL(e);if(t.protocol!==`https:`&&!(t.protocol===`http:`&&t.hostname===`127.0.0.1`)||t.username||t.password||t.pathname!==`/`||t.search||t.hash)throw Error(`Managed authorization origin is invalid.`);return t}function LG(e){if(IG(e.relay_origin),!Dd(NG,{version:2,display_name:e.draft.display_name,preparation:e.preparation})||!e.draft.display_name.trim()||e.preparation.expires_before===void 0||!vG(e.preparation.expires_before))throw Error(`Managed authorization entry is invalid.`)}function RG(e){if(!(e instanceof Wt))return`Tenso could not complete this step. Try again from Local Console.`;let t={console_setup_access_invalid:`Your computer sign-in has expired or predates this update. Close this dialog, sign out and sign in to Local Console again.`,account_session_required:`Sign in to Local Console again before starting this project.`,fresh_authentication_required:`Sign in again to confirm this computer and project with a fresh email code.`,authority_target_not_found:`Project access was not confirmed. Choose Check and continue to retry this setup.`,managed_preparation_expired:`This request expired. Close the dialog and start a new request.`,managed_creation_not_validated:`Model validation has not succeeded. Check the authorization and try again.`,managed_existing_project_requires_opt_in:`This is an existing Tenso project. Resume it with its current access; automatic enrollment is disabled.`,managed_trial_not_enabled:`This account is not enabled for the internal Tenso trial.`,managed_validation_unknown:`The model check outcome is unknown. It will not be retried automatically. Contact support before starting a new request.`,managed_validation_failed:`The model access check failed. No automatic retry was started. Review the connection before starting a new request.`,managed_project_must_be_stopped:`Stop this project before changing its model access.`,host_delegation_already_active:`This computer is already authorized. Revoke its access in Account before authorizing it again.`,host_delegation_revocation_pending:`The previous access is revoked. Wait for gateway key reconciliation in Account before authorizing again.`,managed_reauthorization_conflict:`Finish or close the existing authorization request before restoring access.`,project_owner_required:`Sign in as the project's existing owner. Feishu identity linking is not available yet.`},n=/^[a-z0-9_]{1,100}$/u.test(e.code)?e.code:`request_failed`;return`${t[n]??`Tenso could not complete this step.`} (${n}, HTTP ${e.statusCode}${e.requestId?`, ID ${e.requestId}`:``})`}function zG({entry:e}){let t=$e(),n=z({queryKey:Q.me,queryFn:()=>Gn(AV)}),r=fH(),i=pH(),a=(0,L.useRef)(null),[o,s]=(0,L.useState)(!1),[c,l]=(0,L.useState)(!1),[u,d]=(0,L.useState)(null),[f,p]=(0,L.useState)(Date.now());(0,L.useEffect)(()=>{let e=window.setInterval(()=>p(Date.now()),1e3);return()=>{window.clearInterval(e),a.current?.abort()}},[]);let m=f>=Date.parse(e.preparation.expires_before);async function h(){if(a.current||m||c)return;let t=new AbortController;a.current=t,s(!0),d(null);let n={baseUrl:AV.relayBaseUrl,credentials:`include`};try{let r;try{r=await db(n,e.preparation,t.signal)}catch(i){if(!(i instanceof Wt)||i.statusCode!==0&&i.statusCode<500)throw i;try{r=await fb(n,e.preparation.request_ref,t.signal)}catch{throw i}}if(r.project_id!==e.preparation.project_id||r.installation_ref!==e.preparation.installation_ref||r.surface!==e.preparation.surface||r.state!==`prepared`&&r.state!==`activated`)throw Error(`Authority readback mismatch`);t.signal.aborted||l(!0)}catch(e){t.signal.aborted||d(RG(e))}finally{a.current===t&&(a.current=null,s(!1))}}async function g(){if(!a.current){a.current=new AbortController,s(!0);try{await Zn(AV),t.removeQueries({queryKey:Q.me}),await n.refetch(),d(null)}catch(e){d(RG(e))}finally{a.current=null,s(!1)}}}return n.isLoading?null:n.data?.account.profile_complete?(0,R.jsx)(fW,{projectName:e.display_name,surface:e.preparation.surface===`feishu`?`Feishu`:`Tenso Workspace`,accountEmail:n.data.account.email,pending:o,authorized:c,expired:m,error:u,onAuthorize:()=>void h(),onSignInAgain:()=>void g(),onBrandClick:()=>{window.location.assign(`/projects`)}}):(0,R.jsx)(LH,{...n.data?.account?i:r,onBrandClick:()=>{window.location.assign(`/projects`)}})}function BG(){let[e]=(0,L.useState)(()=>FG(window.location.hash));return(0,L.useEffect)(()=>{window.history.replaceState(null,``,window.location.pathname)},[]),e===null?(0,R.jsx)(fW,{projectName:`Invalid trial request`,surface:``,accountEmail:``,pending:!1,authorized:!1,expired:!0,error:`Reopen trial authorization from Local Console.`,onAuthorize:()=>{},onSignInAgain:()=>{},onBrandClick:()=>{window.location.assign(`/projects`)}}):(0,R.jsx)(zG,{entry:e})}function VG(){return(0,L.useEffect)(()=>$(`/projects?panel=credits`,{replace:!0}),[]),null}var HG=`tutti.workspace-onboarding.v1`,UG={version:1,start_chat_pending:!1,tour_pending:!1};function WG(){try{return typeof window>`u`?null:window.sessionStorage}catch{return null}}function GG(e){return e.storage===void 0?WG():e.storage}function KG(e,t){return`${HG}:${e}:${t}`}function qG(e){if(typeof e!=`object`||!e)return null;let t=e;return t.version===1&&typeof t.start_chat_pending==`boolean`&&typeof t.tour_pending==`boolean`?{version:1,start_chat_pending:t.start_chat_pending,tour_pending:t.tour_pending}:null}function JG(e,t,n){if(e!==null)try{if(!n.start_chat_pending&&!n.tour_pending){e.removeItem(t);return}e.setItem(t,JSON.stringify(n))}catch{}}function YG(e,t,n={}){let r=GG(n);if(r===null)return{...UG};try{let n=r.getItem(KG(e,t));return n===null?{...UG}:qG(JSON.parse(n))??{...UG}}catch{return{...UG}}}function XG(e,t,n={}){JG(GG(n),KG(e,t),{version:1,start_chat_pending:!0,tour_pending:!0})}function ZG(e,t,n,r){let i=GG(r),a=YG(e,t,{storage:i});a[n]&&JG(i,KG(e,t),{...a,[n]:!1})}function QG(e,t,n={}){ZG(e,t,`start_chat_pending`,n)}function $G(e,t,n={}){ZG(e,t,`tour_pending`,n)}function eK({joinToken:e}){let t=$e(),n=z({queryKey:Q.join(e),queryFn:()=>Qn(AV,e)}),r=fH(()=>{n.refetch()}),i=pH(()=>{n.refetch()}),a=ht({mutationFn:()=>$n(AV,e),onSuccess:n=>{IV(t),t.invalidateQueries({queryKey:Q.join(e)}),n.disposition.kind===`joined`&&n.result!==void 0&&XG(n.result.account.account_ref,n.result.relay_project.relay_project_ref),n.result?.relay_project.host_status===`online`&&$($t(n.result.relay_project.relay_project_ref))}}),o=ht({mutationFn:e=>er(AV,e),onSuccess:e=>{IV(t),e.disposition.kind===`opened`&&e.result?.open_url!==void 0&&NV(e.result.open_url)}}),s=n.data;RV(s?.account!==void 0);let c=s?.relay_project?.display_name??`Project`,l=s?.relay_project?.host_status??`unknown`,u=s?.account?.profile_complete===!1,d=u?`login_required`:n.isLoading?`loading`:n.error===null?s?.next.kind??`invalid_or_expired`:`error`;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(zb,{route:{kind:`join`,joinToken:e},projectDisplayName:s?.relay_project?.display_name??null}),(0,R.jsx)(BH,{projectName:c,description:d===`invalid_or_expired`?`This invite can no longer be used.`:`You have been invited to join ${c}.`,hostLabel:Pz(l),hostOnline:l===`online`,nextKind:d,accountLabel:s?.account?.display_name??null,membershipLabel:s?.membership?.label??null,actionPending:a.isPending||o.isPending,error:n.error===null?a.error===null?o.error===null?null:FV(o.error):FV(a.error):FV(n.error),onBrandClick:()=>$(`/`),onRetry:()=>void n.refetch(),onAccept:()=>a.mutate(),onOpen:()=>{s?.next.kind===`open_workspace`&&o.mutate(s.next.relay_project_ref)},...d===`login_required`?{loginForm:u?i:r}:{}})]})}async function tK(e,t,n=`docx`){let r;try{r=await Db(hH,e,{diagnostics:t,profile:n})}catch(e){throw new rz(`document_authorization_bootstrap`,e,t)}let i;try{i=await tz({appId:r.app_id,state:r.state,scopes:r.authorization_scopes,allowLegacyFallback:!1})}catch(e){throw new rz(`document_authorization_request_access`,e,t)}try{await Ob(hH,{relayProjectRef:e,state:r.state,authorizationCode:i},{diagnostics:t})}catch(e){throw new rz(`document_authorization_exchange`,e,t)}}function nK({read:e}){return e.error===void 0?e.fetching?e.data===void 0?(0,R.jsx)(aS,{count:3}):(0,R.jsx)(`p`,{className:`reference-content`,role:`status`,children:`Updating…`}):null:(0,R.jsxs)(`div`,{className:`embedded-project-refresh-message`,role:`status`,children:[e.data===void 0?null:(0,R.jsx)(`p`,{children:`Showing the last loaded snapshot. It may be out of date.`}),(0,R.jsx)(UR,{diagnostic:e.error})]})}function rK(e){return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(nK,{read:e.read}),e.read.data===void 0?(0,R.jsx)(iS,{children:e.read.error?`Timeline unavailable.`:`Loading timeline…`}):(0,R.jsx)(DR,{...e.read.data,presentation:`sheet`,empty:(0,R.jsx)(iS,{children:`No timeline events yet.`})})]})}var iK={root:e=>[`feishu-project`,e],supporting:e=>[`feishu-project`,e,`supporting`],skills:e=>[`feishu-project`,e,`supporting`,`skills`],skillDetails:e=>[`feishu-project`,e,`supporting`,`skill`],skillDetail:(e,t)=>[`feishu-project`,e,`supporting`,`skill`,t],timeline:e=>[`feishu-project`,e,`supporting`,`timeline`],bootstrap:e=>[`feishu-project`,e,`bootstrap`],scratchpad:e=>[`feishu-project`,e,`scratchpad`],worklist:e=>[`feishu-project`,e,`worklist`],executionStatus:e=>[`feishu-project`,e,`execution-status`],artifacts:e=>[`feishu-project`,e,`artifacts`],artifactPreviewSession:(e,t)=>[`feishu-project`,e,`artifact-preview-session`,t],activeClarification:e=>[`feishu-project`,e,`active-clarification`],clarificationMessages:(e,t)=>[`feishu-project`,e,`clarification-messages`,t],activeApproval:e=>[`feishu-project`,e,`active-approval`],referenceFiles:e=>[`feishu-project`,e,`reference-files`],viewerFiles:e=>[`feishu-project`,e,`viewer-file`],viewerFile:(e,t)=>[`feishu-project`,e,`viewer-file`,t],taskDetail:(e,t)=>[`feishu-project`,e,`task-detail`,t],taskRunResults:(e,t)=>[`feishu-project`,e,`task-run-results`,t]};function aK(e,t){e.invalidateQueries({queryKey:iK.root(t)})}function oK(e,t,n){if(n===void 0)return;if(n.some(e=>e.kind===`all`)){aK(e,t);return}for(let r of n)switch(r.kind){case`all`:break;case`bootstrap`:case`workspace`:case`session`:e.invalidateQueries({queryKey:iK.bootstrap(t)});break;case`scratchpad`:e.invalidateQueries({queryKey:iK.scratchpad(t)});break;case`worklist`:e.invalidateQueries({queryKey:iK.worklist(t)});break;case`task`:case`task_detail`:e.invalidateQueries({queryKey:iK.taskDetail(t,r.task_id)});break;case`task_run_results`:e.invalidateQueries({queryKey:iK.taskRunResults(t,r.task_id)});break;case`messages`:r.scope===`clarification_round`&&e.invalidateQueries({queryKey:iK.clarificationMessages(t,r.round_id)});break;case`clarification`:e.invalidateQueries({queryKey:iK.activeClarification(t)}),r.round_id!==void 0&&e.invalidateQueries({queryKey:iK.clarificationMessages(t,r.round_id)});break;case`approval`:e.invalidateQueries({queryKey:iK.activeApproval(t)});break;case`execution_status`:case`activity`:e.invalidateQueries({queryKey:iK.executionStatus(t)});break;case`viewer`:(r.path===void 0||r.path.startsWith(`docs/reference`))&&(e.invalidateQueries({queryKey:iK.referenceFiles(t)}),e.invalidateQueries({queryKey:iK.viewerFiles(t)}));break;case`artifacts`:e.invalidateQueries({queryKey:iK.artifacts(t)});break;case`read_state`:case`provider_config`:case`provider_usage`:case`project_timeline`:case`skills`:case`recovery_summaries`:break}let r=new Map,i=e=>r.set(JSON.stringify(e),e);for(let e of n)e.kind===`skills`&&(i(iK.skills(t)),i(iK.skillDetails(t))),([`workspace`,`viewer`,`worklist`,`task`,`task_detail`,`task_run_results`,`clarification`,`project_timeline`,`provider_usage`].includes(e.kind)||e.kind===`messages`&&e.scope===`clarification_round`)&&i(iK.timeline(t));for(let t of r.values())e.invalidateQueries({queryKey:t})}function sK(e){return e.streamStatus!==`open`&&e.nowMs-e.lastRefreshAtMs>=(e.throttleMs??3e4)}function cK(e,t,n,r){let i=z({queryKey:e,queryFn:async({signal:e})=>{let n=az();try{return await r({signal:e,diagnostics:n})}catch(e){throw new rz(t,e,n)}},enabled:n,retry:!1,staleTime:3e4,refetchOnMount:`always`,refetchOnWindowFocus:!1}),a=i.error instanceof rz?i.error.cause:i.error,o=a instanceof Wt&&a.statusCode>=400&&a.statusCode<500;return{...i.data===void 0||o?{}:{data:i.data},...i.error===null?{}:{error:hz(i.error,az())},fetching:n&&i.isFetching}}function lK(e,t){let{data:n,...r}=e;return{...r,...n===void 0?{}:{data:t(n)}}}function uK({client:e,relayProjectRef:t,onSelectTask:n}){return(0,R.jsx)(rK,{read:lK(cK(iK.timeline(t),`project_timeline`,!0,t=>e.getProjectTimeline(t)),e=>VB(e,{onOpenWorklistTask:n}))})}function dK(e){let{tracker:t,execution:n,scratchpad:r,clarification:i,approval:a}=e,o=e.submission&&t?.kind===`activity`&&t.workflowRef!==void 0&&e.submission.operation.ref!==t.workflowRef?void 0:e.submission;if(o!==void 0&&t?.kind!==`request`){let e=o?.status===`running`||o?.status===`waiting_input`;return{activeSubmit:e,settled:o?.status===`succeeded`||o?.status===`failed`,failure:o?.status===`failed`?o.failure:void 0,submitPending:e,syncPending:JV(n,`scratchpad_refresh`),actionsDisabled:o?.status===`unknown`||o===null&&t!==null||YV(n)||i.state===`active`||a.state===`pending`}}let s=t?.kind===`activity`?t:void 0,c=e=>s!==void 0&&(e.activity_ref===s.activityRef||s.workflowRef!==void 0&&e.workflow_ref===s.workflowRef),l=qV(n).some(c),u=i.state===`active`&&i.thread.owner.kind===`task_compile`,d=l||u||JV(n,`task_compile`,`foreground`)||JV(n,`project_context_bootstrap`,`foreground`)||JV(n,`scratchpad_refresh`,`foreground`),f=s!==void 0&&(r.receipts.some(c)||r.state===`submitted`&&c({...r.submitted_by_activity_ref===void 0?{}:{activity_ref:r.submitted_by_activity_ref},...r.submitted_by_workflow_ref===void 0?{}:{workflow_ref:r.submitted_by_workflow_ref}})),p=n.last_conclusion,m=!d&&p?.kind===`failed`&&c(p)?p:void 0,h=f||m!==void 0;return{activeSubmit:d,settled:h,failure:m,submitPending:d||t!==null&&t.kind!==`unconfirmed`&&!h,syncPending:JV(n,`scratchpad_refresh`),actionsDisabled:t?.kind===`unconfirmed`||YV(n)||i.state===`active`||a.state===`pending`}}function fK(e,t){if(e.disposition.kind!==`accepted`&&e.disposition.kind!==`already_running`)return null;let n=e.result?.activity_ref,r=e.result?.submission_ref??e.result?.workflow_ref;return n===void 0?r===void 0?null:{kind:`unconfirmed`,commandId:t}:{kind:`activity`,activityRef:n,...r===void 0?{}:{workflowRef:r}}}function pK(e,t,n){return!t||e instanceof Wt&&[400,401,403,404,409,422].includes(e.statusCode)?null:{kind:`unconfirmed`,commandId:n}}function mK(e){let t=e.tracker?.kind===`unconfirmed`?{command_id:e.tracker.commandId}:e.tracker?.kind===`activity`&&e.tracker.workflowRef?{workflow_ref:e.tracker.workflowRef}:{},n=z({queryKey:[...e.key,`submission`,t],queryFn:({signal:n})=>e.read(t,n),enabled:e.enabled&&e.tracker?.kind!==`request`,retry:!1,refetchInterval:t=>t.state.error?15e3:t.state.data?.request?.status===`running`||t.state.data?.request?.status===`waiting_input`||e.tracker!==null?1500:1e4,refetchIntervalInBackground:!1,staleTime:0}),r=n.fetchStatus===`paused`?`reconnecting`:n.isError?n.data?`stale`:`unknown`:n.data?`current`:`unknown`;return{...n,request:e.enabled?n.data?.request:void 0,observation:r,note:e.enabled?hK(n.data?.request,r,e.tracker):void 0}}function hK(e,t,n){if(n?.kind!==`request`){if(!e&&n?.kind===`unconfirmed`)return`Acceptance is not confirmed. Check the project status before submitting again.`;if(t!==`current`&&(e?.status===`running`||e?.status===`waiting_input`||n!==null))return`Reconnecting. The latest request status is not confirmed; do not run it again yet.`;if(e?.status===`unknown`)return`Request status is unavailable. Refresh before starting another run.`;if(e?.status===`failed`)return`Tasks were not prepared. Review Scratchpad before running again. Diagnostic ID: ${e.failure.diagnostic_id}`}}var gK=1500,_K=6e4;function vK(e){let{client:t,relayProjectRef:n}=e,r=$e(),i=Ez(),[a,o]=(0,L.useState)(null),s=(0,L.useRef)(!1),c=(0,L.useRef)(Bt()),l=mK({enabled:e.requestStatusSupported,key:iK.worklist(n),tracker:a,read:(n,r)=>t.getWorklistSubmission(n,{signal:r,diagnostics:e.diagnostics})}),u=ht({mutationFn:()=>mz(`worklist_submit`,async n=>({response:await t.submitWorklist(e.scratchpad.updated_at===void 0?{}:{expected_scratchpad_updated_at:e.scratchpad.updated_at},{commandId:c.current},{diagnostics:n}),diagnostics:n})),onMutate:()=>(o({kind:`request`}),i.notify({tone:`loading`,title:`Running Scratchpad`})),onSuccess:({response:e},t,a)=>{let s=e.disposition.kind===`accepted`;o(fK(e,c.current)),oK(r,n,e.invalidates),i.update(a,{tone:s?`success`:`warning`,title:s?`Scratchpad run started`:`Scratchpad run not started`,message:e.disposition.kind===`already_running`?`Tenso is already processing work.`:s?`Tenso is preparing Worklist tasks.`:`Refresh the project and review its current status.`})},onError:(t,n,r)=>{o(pK(t,e.requestStatusSupported,c.current)),i.update(r,{tone:`warning`,title:`Scratchpad acceptance not confirmed`,message:pz(t,e.diagnostics)})},onSettled:()=>{s.current=!1}}),d=dK({...e,tracker:a,...l.request===void 0?{}:{submission:l.request}}),f=u.data?.diagnostics??e.diagnostics;(0,L.useEffect)(()=>{a===null||!d.settled||(o(null),oK(r,n,[{kind:`worklist`}]),d.failure!==void 0&&i.notify({tone:`error`,title:`Scratchpad run failed`,message:`Tenso could not prepare tasks. Review the project status before retrying. Diagnostic ID: ${f.diagnosticId} · ${f.webRelease} · worklist_submit · submit_chain_failed`}))},[a,d.settled,d.failure,f,i,r,n]);let p=d.submitPending;return(0,L.useEffect)(()=>{if(!p)return;let e=window.setInterval(()=>{if(document.visibilityState!==`hidden`)for(let e of[iK.scratchpad(n),iK.executionStatus(n),iK.activeClarification(n)])r.refetchQueries({queryKey:e,exact:!0,type:`active`},{cancelRefetch:!1})},gK);return()=>window.clearInterval(e)},[p,r,n]),(0,L.useEffect)(()=>{if(e.requestStatusSupported||a?.kind!==`activity`||d.activeSubmit||d.settled)return;let t=window.setTimeout(()=>{o(null),i.notify({tone:`warning`,title:`Scratchpad status could not be confirmed`,message:`The request was accepted, but its latest status is unavailable. Refresh the project before retrying. Diagnostic ID: ${f.diagnosticId} · ${f.webRelease} · worklist_submit · submit_status_unconfirmed`})},_K);return()=>window.clearTimeout(t)},[e.requestStatusSupported,a,d.activeSubmit,d.settled,f,i]),{note:l.note,submitPending:u.isPending||d.submitPending,syncPending:d.syncPending,actionsDisabled:d.actionsDisabled,submit:()=>{s.current||d.submitPending||d.syncPending||d.actionsDisabled||(s.current=!0,c.current=Bt(),u.mutate())}}}function yK(e){let t=$e(),n=Ez(),r=(0,L.useRef)(!1),i=ht({mutationFn:t=>e.hostClient.retryTask(t.taskId,{expected_latest_run_result_id:t.runResultId}),onMutate:()=>n.notify({tone:`loading`,title:`Retrying task`}),onSuccess:(r,i,a)=>{if(e.invalidate?e.invalidate(r.invalidates):zV(t,e.relayProjectRef,r.invalidates),r.disposition.kind===`accepted`){n.update(a,{tone:`success`,title:`Task retry started`});return}if(r.disposition.kind===`already_running`||r.disposition.kind===`retry_already_started`){n.update(a,{tone:`info`,title:`Task retry already started`});return}n.update(a,{tone:`warning`,title:`Task retry unavailable`,message:r.disposition.kind===`latest_run_result_changed`?`The task result changed. Review the latest result before retrying.`:r.disposition.kind===`retry_requires_resolution`?`This failure needs to be resolved before it can be retried safely.`:`The task cannot be retried in its current state.`})},onError:(t,r,i)=>{n.update(i,{tone:`error`,title:`Task retry failed`,message:(e.formatError??FV)(t)})},onSettled:()=>{r.current=!1}});return{retry:(e,t)=>{r.current||(r.current=!0,i.mutate({taskId:e,runResultId:t}))},stateFor:(e,t,n)=>i.isPending&&i.variables?.taskId===e&&i.variables.runResultId===t?`retrying`:n}}function bK({access:e,loading:t,pending:n,error:r,onAuthorize:i,onRefresh:a}){return(0,R.jsx)(TL,{brand:(0,R.jsx)(HR,{label:`Tenso`,onClick:a}),projectName:`Document access`,onRefresh:a,refreshing:t||n,children:t?(0,R.jsx)(aS,{count:3}):r?(0,R.jsx)(iS,{details:(0,R.jsx)(UR,{diagnostic:r}),children:`Document access unavailable.`}):(0,R.jsx)(iS,{details:e?.status===`pending`?(0,R.jsx)(Sw,{disabled:n,onClick:i,children:n?`Authorizing…`:`Authorize document access`}):void 0,children:e?.status===`authorized`?`Access is ready. Return to the group and retry the question, or continue the task from its pending step.`:e?.status===`expired`?`This access request expired. Ask Tenso to try reading again.`:`Tenso needs the project owner's permission to read the requested material.`})})}function xK(e){let t=new URLSearchParams(e).getAll(`access_request`);return t.length===1&&/^ref_auth_[a-f0-9]{32}$/u.test(t[0])?t[0]:void 0}function SK({project:e,authorizationRef:t,prepareSession:n}){let[r,i]=(0,L.useState)(0),[a,o]=(0,L.useState)(),[s,c]=(0,L.useState)(!0),[l,u]=(0,L.useState)(!1),[d,f]=(0,L.useState)(),p=(0,L.useRef)(!1),m=(0,L.useRef)(0);(0,L.useEffect)(()=>{let r=new AbortController;m.current+=1;let i=az();return c(!0),f(void 0),o(void 0),n(e,r.signal,i).then(()=>hb(hH,e).authorization(t,{diagnostics:i,signal:r.signal})).then(e=>{r.signal.aborted||o(e)}).catch(e=>{r.signal.aborted||f(hz(new rz(`reference_authorization_status`,e,i),i))}).finally(()=>{r.signal.aborted||c(!1)}),()=>{r.abort(),m.current+=1}},[e,t,n,r]);let h=async()=>{if(p.current||a?.status!==`pending`)return;p.current=!0,u(!0),f(void 0);let n=m.current,r=az();try{if(await tK(e,r,a.profile),n!==m.current)return;let i=await hb(hH,e).authorization(t,{diagnostics:r});n===m.current&&o(i)}catch(e){n===m.current&&f(hz(e instanceof rz?e:new rz(`reference_authorization_status`,e,r),r))}finally{p.current=!1,n===m.current&&u(!1)}};return(0,R.jsx)(bK,{loading:s,pending:l,...a===void 0?{}:{access:a},...d===void 0?{}:{error:d},onAuthorize:()=>void h(),onRefresh:()=>{p.current||i(e=>e+1)}})}var CK=3e4;function wK(e){if(!(e===void 0||e.disposition.kind===`issued`))return e.disposition.kind===`invalid_manifest`?e.disposition.message:e.disposition.kind===`preview_not_ready`?e.disposition.message??`Preview is not ready`:e.disposition.kind===`not_declared`?`Artifact is no longer declared`:`Preview session expired before it could be opened`}function TK(e){return e===void 0?!1:e.disposition.kind!==`issued`||e.result===void 0?e.disposition.kind===`preview_not_ready`||e.disposition.kind===`interrupted`?1e3:!1:Math.max(1e3,Date.parse(e.result.expires_at)-Date.now()-CK)}function EK(e){return e?.disposition.kind===`issued`?e.result?.bootstrap_url:void 0}var DK=`tutti_feishu_handoff`,OK=/^[A-Za-z0-9_-]{43}$/u;function kK(e){let t=new URLSearchParams(e),n=t.getAll(`view`),r=t.getAll(`open`);return n.length===1&&n[0]===`artifacts`&&r.length===1&&r[0]===`browser`&&!t.has(`authorize`)&&!t.has(`access_request`)&&!t.has(`lk_jump_to_browser`)}function AK(e,t){let n=new URL(`${e.pathname}${e.search}${e.hash}`,e.origin);n.searchParams.delete(`open`),t.replaceState(t.state,``,`${n.pathname}${n.search}${n.hash}`)}function jK(e){let t=`#${DK}=`,n=e.hash.startsWith(t)?e.hash.slice(t.length):void 0,r=n!==void 0&&OK.test(n)?n:void 0;return{systemBrowser:new URLSearchParams(e.search).get(`lk_jump_to_browser`)===`true`||r!==void 0,...r===void 0?{}:{handoffToken:r},shouldClearFragment:n!==void 0}}function MK(e,t){t.replaceState(t.state,``,`${e.pathname}${e.search}`)}function NK(e){if(!OK.test(e.handoffToken))throw TypeError(`Feishu browser handoff token is invalid`);let t=new URL(en(e.relayProjectRef),e.origin);return t.searchParams.set(`lk_jump_to_browser`,`true`),t.searchParams.set(`view`,`artifacts`),t.hash=`${DK}=${e.handoffToken}`,t.toString()}function PK(e,t=(e,t)=>window.open(e,t)){if(new URL(e).searchParams.get(`lk_jump_to_browser`)!==`true`)throw TypeError(`Feishu system-browser URL is missing the browser jump parameter`);let n=t(e,`_blank`);return n===null?!1:(n.opener=null,!0)}var FK=2e4;function IK(e,t){return e?.previewGeneration===t?e:{previewGeneration:t,annotations:[]}}function LK(e,t){return e!==null&&e.previewGeneration!==t}var RK=(0,L.createContext)(null);function zK(e){let t=e.intervalMs??FK,n=e.setIntervalFn??window.setInterval.bind(window),r=e.clearIntervalFn??window.clearInterval.bind(window),i=!0,a=!1,o=!1,s=()=>{!i||a||(a=!0,e.renew().then(()=>{i&&!o&&(o=!0,e.onInitialRenewed?.())}).catch(()=>void 0).finally(()=>{a=!1}))};s();let c=n(s,t);return()=>{i=!1,r(c)}}function BK({relayProjectRef:e,hostClient:t,enabled:n,feedbackEnabled:r,children:i}){let[a,o]=(0,L.useState)(null),[s,c]=(0,L.useState)(null),l=(0,L.useRef)(0),u=z({queryKey:Q.artifacts(e),queryFn:()=>t.getArtifacts(),enabled:n,staleTime:jV}),d=u.data?.artifact,f=d?.status===`declared`;(0,L.useEffect)(()=>{if(!(!n||!f))return zK({renew:()=>t.renewArtifactPreviewLease(),onInitialRenewed:()=>{u.refetch()}})},[u.refetch,f,n,t]);let p=d!==void 0,m=d?.status===`declared`?d.preview_generation:void 0,h=(0,L.useCallback)(e=>{o(t=>IK(t,e))},[]),g=(0,L.useCallback)(e=>{o(t=>{if(t===null||t.annotations.length>=64)return t;let{createdAt:n,...r}=e;return l.current+=1,{...t,annotations:[...t.annotations,{...r,createdAt:n,key:`artifact-feedback-note-${l.current}`}]}})},[]),_=(0,L.useCallback)(e=>{o(t=>t===null?null:{...t,annotations:t.annotations.filter((t,n)=>n!==e)})},[]),v=(0,L.useCallback)(()=>o(null),[]),y=(0,L.useCallback)(e=>c(e),[]),b=(0,L.useCallback)(()=>c(null),[]),x=(0,L.useMemo)(()=>({artifact:d,sidebarSignal:zz(d),loading:!p&&n&&u.isLoading,unavailable:!p&&n&&u.error!==null,feedbackEnabled:r,feedbackDraft:a,feedbackDraftStale:LK(a,m),beginFeedbackDraft:h,addFeedbackAnnotation:g,removeFeedbackAnnotation:_,clearFeedbackDraft:v,pendingActivation:s,requestFeedbackActivation:y,clearFeedbackActivation:b}),[g,d,u.error,u.isLoading,h,b,v,m,n,a,r,p,s,_,y]);return(0,R.jsx)(RK.Provider,{value:x,children:i})}function VK(){let e=(0,L.useContext)(RK);if(e===null)throw Error(`Workspace Artifact runtime is unavailable`);return e}function HK({relayProjectRef:e}){return(0,L.useEffect)(()=>{window.location.replace(en(e))},[e]),null}async function UK(e,t,n,r=!1){let i;try{await Eb(hH,e,{signal:t,diagnostics:n});return}catch(e){if(!Jt(e))throw new rz(`session_current`,e,n);i=e}if(r)throw new rz(`browser_session_restore`,i,n);let a;try{a=await wb(hH,e,{signal:t,diagnostics:n})}catch(e){throw new rz(`authorization_bootstrap`,e,n)}let o;try{o=await tz({appId:a.app_id,state:a.state})}catch(e){throw new rz(`h5_request_access`,e,n)}try{await Tb(hH,{relayProjectRef:e,state:a.state,authorizationCode:o},{signal:t,diagnostics:n})}catch(e){throw new rz(`authorization_exchange`,e,n)}}async function WK(e,t,n){try{await Ab(hH,{relayProjectRef:e,handoffToken:t},{diagnostics:n})}catch(t){try{await Eb(hH,e,{diagnostics:n});return}catch{throw new rz(`browser_handoff_consume`,t,n)}}}async function GK(e,t,n){try{return await n()}catch(n){throw new rz(e,n,t)}}function KK({relayProjectRef:e,diagnostics:t,browserEntry:n}){let r=(0,L.useMemo)(()=>Cb(hH,e),[e]),[i,a]=(0,L.useState)({kind:`loading`}),o=(0,L.useRef)(null),s=(0,L.useRef)(!1),c=(0,L.useRef)(!1);(0,L.useEffect)(()=>{let r=new AbortController;return a({kind:`loading`}),(n.handoffToken!==void 0&&!s.current?(o.current??=WK(e,n.handoffToken,t),o.current.then(()=>{s.current=!0})):UK(e,r.signal,t,!0)).then(()=>{r.signal.aborted||a({kind:`ready`})}).catch(e=>{r.signal.aborted||a({kind:`error`,...hz(e,t)})}),()=>r.abort()},[n.handoffToken,t,e]);let l=i.kind===`ready`,u=z({queryKey:iK.artifacts(e),queryFn:({signal:e})=>GK(`artifacts`,t,()=>r.getArtifacts({signal:e,diagnostics:t})),enabled:l}),d=u.data?.artifact,f=d?.status===`declared`;(0,L.useEffect)(()=>{if(!(!l||!f))return zK({renew:()=>r.renewArtifactPreviewLease({diagnostics:t}),onInitialRenewed:()=>{u.refetch()}})},[f,u.refetch,r,t,l]);let p=d?.status===`declared`&&d.preview.status===`ready`&&d.preview.url!==void 0?`${d.preview_generation}:${d.preview.url}`:null,m=z({queryKey:iK.artifactPreviewSession(e,p??`not-ready`),queryFn:()=>GK(`artifact_preview_session`,t,()=>r.issueArtifactPreviewSession(void 0,void 0,{diagnostics:t})),enabled:l&&p!==null,staleTime:1/0,retry:1,refetchInterval:e=>TK(e.state.data)}),h=m.data,g=m.error===null?wK(h):`${FV(m.error)} Diagnostic ID: ${t.diagnosticId}`,_=EK(h);return(0,L.useEffect)(()=>{_===void 0||c.current||(c.current=!0,window.location.replace(_))},[_]),i.kind===`error`||u.error!==null||m.error!==null||g!==void 0||u.isFetched&&p===null?(0,R.jsx)(`main`,{role:`status`,children:`Artifact preview is unavailable.`}):null}function qK({relayProjectRef:e,diagnostics:t,onDiagnosticsChange:n,initialTab:r,authorizeDocument:i,openArtifactInBrowser:a}){let o=(0,L.useMemo)(()=>Cb(hH,e),[e]),s=$e(),c=Ez(),[l,u]=(0,L.useState)({kind:`loading`}),[d,f]=(0,L.useState)(r),[p,m]=(0,L.useState)(),[h,g]=(0,L.useState)(``),[_,v]=(0,L.useState)(!1),[y,b]=(0,L.useState)(),[x,S]=(0,L.useState)(),[C,w]=(0,L.useState)(a),[T,E]=(0,L.useState)(!1),D=(0,L.useRef)(!1),[O,k]=(0,L.useState)(),[A,j]=(0,L.useState)(0),ee=(0,L.useRef)(null),M=(0,L.useRef)(null),te=(0,L.useRef)(0),N=(0,L.useRef)(t),P=(0,L.useRef)(!1),F=(t,n)=>UK(e,t,n);(0,L.useEffect)(()=>{let e=new AbortController;u({kind:`loading`}),b(void 0);let t=N.current;return F(e.signal,t).then(()=>{e.signal.aborted||u({kind:`ready`})}).catch(n=>{e.signal.aborted||u({kind:`error`,...hz(n,t)})}),()=>e.abort()},[e]),(0,L.useEffect)(()=>()=>{ee.current?.abort()},[]);let ne=l.kind===`ready`;(0,L.useEffect)(()=>{if(!ne||!i||P.current)return;P.current=!0;let t=N.current,n=c.notify({tone:`loading`,title:`Authorizing Feishu Docs`});tK(e,t).then(()=>{let e=new URL(window.location.href);e.searchParams.delete(`authorize`),window.history.replaceState(null,``,`${e.pathname}${e.search}${e.hash}`),c.update(n,{tone:`success`,title:`Feishu Docs authorized`,message:`Document access is ready. Retry the question or task that needed access.`})}).catch(e=>{let r=hz(e,t);c.update(n,{tone:`error`,title:`Feishu Docs authorization failed`,message:`${r.message} Diagnostic ID: ${r.diagnosticId}`})})},[i,c,e,ne]);let re=z({queryKey:iK.bootstrap(e),queryFn:({signal:e})=>GK(`host_bootstrap`,N.current,()=>o.getBootstrap({signal:e,diagnostics:N.current})),enabled:ne}),ie=re.data?.workspace.capabilities.sse===!0;(0,L.useEffect)(()=>{!ne||!ie||re.data===void 0||k(t=>t?.relayProjectRef===e?t:{relayProjectRef:e,cursor:re.data.event_cursor})},[re.data,ie,e,ne]),(0,L.useEffect)(()=>{if(!ne||!ie||O?.relayProjectRef!==e)return;let t;try{t=o.connectEvents({after:O.cursor,onReady:t=>{t.payload.replay.status===`missed`&&aK(s,e)},onInvalidate:t=>{oK(s,e,t)}})}catch{M.current=null;return}return M.current=t,()=>{M.current===t&&(M.current=null),t.close()}},[o,O,A,ie,s,e,ne]),(0,L.useEffect)(()=>{let t=()=>{let t=Date.now(),n=M.current;sK({streamStatus:n?.status(),nowMs:t,lastRefreshAtMs:te.current})&&(te.current=t,aK(s,e),n===null?j(e=>e+1):n.retryNow())},n=()=>{document.visibilityState!==`hidden`&&t()};return window.addEventListener(`focus`,t),window.addEventListener(`online`,t),document.addEventListener(`visibilitychange`,n),()=>{window.removeEventListener(`focus`,t),window.removeEventListener(`online`,t),document.removeEventListener(`visibilitychange`,n)}},[s,e]);let ae=z({queryKey:iK.scratchpad(e),queryFn:({signal:e})=>GK(`scratchpad`,N.current,()=>o.getScratchpad({signal:e,diagnostics:N.current})),enabled:ne}),oe=z({queryKey:iK.worklist(e),queryFn:({signal:e})=>GK(`worklist`,N.current,()=>o.getWorklist({signal:e,diagnostics:N.current})),enabled:ne}),se=z({queryKey:iK.executionStatus(e),queryFn:({signal:e})=>GK(`execution_status`,N.current,()=>o.getExecutionStatus({signal:e,diagnostics:N.current})),enabled:ne}),I=z({queryKey:iK.artifacts(e),queryFn:({signal:e})=>GK(`artifacts`,N.current,()=>o.getArtifacts({signal:e,diagnostics:N.current})),enabled:ne,refetchInterval:C&&d===`artifacts`?1500:!1}),ce=z({queryKey:iK.activeClarification(e),queryFn:({signal:e})=>GK(`clarification_active`,N.current,()=>o.getActiveClarification({signal:e,diagnostics:N.current})),enabled:ne}),le=z({queryKey:iK.activeApproval(e),queryFn:({signal:e})=>GK(`approval_active`,N.current,()=>o.getActiveApproval({signal:e,diagnostics:N.current})),enabled:ne}),ue=ce.data??re.data?.snapshots.active_clarification??{state:`none`},de=ue.state===`active`?ue.round.id:void 0,fe=z({queryKey:iK.clarificationMessages(e,de??`none`),queryFn:({signal:e})=>GK(`clarification_messages`,N.current,()=>o.getClarificationRoundMessages(de,{signal:e,diagnostics:N.current})),enabled:ne&&de!==void 0}),pe=le.data??re.data?.snapshots.active_approval??{state:`none`},me=I.data?.artifact,he=me?.status===`declared`;(0,L.useEffect)(()=>{if(!(!ne||!he))return zK({renew:()=>o.renewArtifactPreviewLease({diagnostics:N.current}),onInitialRenewed:()=>{I.refetch()}})},[he,I.refetch,o,ne]);let ge=me?.status===`declared`&&me.preview.status===`ready`&&me.preview.url!==void 0?`${me.preview_generation}:${me.preview.url}`:null,_e=z({queryKey:iK.artifactPreviewSession(e,ge??`not-ready`),queryFn:()=>GK(`artifact_preview_session`,N.current,()=>o.issueArtifactPreviewSession(void 0,void 0,{diagnostics:N.current})),enabled:ne&&d===`artifacts`&&ge!==null,staleTime:1/0,retry:1,refetchInterval:e=>TK(e.state.data)}),ve=_e.data,ye=_e.error===null?wK(ve):`${FV(_e.error)} Diagnostic ID: ${N.current.diagnosticId}`,be=EK(ve),xe=ht({mutationFn:()=>mz(`browser_handoff_create`,async t=>{let n=await kb(hH,e,{diagnostics:t});return NK({origin:window.location.origin,relayProjectRef:e,handoffToken:n.handoff_token})}),onSuccess:e=>{PK(e)?S(void 0):(S(e),c.notify({tone:`warning`,title:`Browser handoff ready`,message:`Click Open in browser again to continue in your system browser.`}))},onError:e=>{c.notify({tone:`error`,title:`Browser handoff failed`,message:pz(e,N.current)})}}),Se=(0,L.useCallback)(()=>{D.current=!0,w(!1)},[]),Ce=(0,L.useCallback)(()=>{if(Se(),!xe.isPending){if(ge===null){c.notify({tone:`warning`,title:`Artifact preview is not ready`,message:`Open it after the current Artifact preview becomes available.`});return}S(void 0),xe.mutate()}},[Se,xe.isPending,xe.mutate,ge,c]);(0,L.useEffect)(()=>{if(!C||!ne)return;let e=window.setTimeout(()=>E(!0),2e4);return()=>window.clearTimeout(e)},[C,ne]),(0,L.useEffect)(()=>{if(!(!C||D.current)){if(d!==`artifacts`||l.kind===`error`){Se();return}if(ne){if(I.isError||T){Se(),c.notify({tone:`warning`,title:`Artifact browser entry unavailable`,message:I.isError?pz(I.error,N.current):`Preview preparation timed out. Use Open in browser when it is ready. Diagnostic ID: ${N.current.diagnosticId}`});return}!I.isFetchedAfterMount||I.isFetching||(ge!==null||me!==void 0&&(me.status!==`declared`||me.preview.status===`failed`))&&Ce()}}},[d,me,I.error,I.isError,I.isFetchedAfterMount,I.isFetching,C,T,Se,c,ge,Ce,ne,l.kind]),(0,L.useEffect)(()=>{g(``)},[de]);let we=vK({requestStatusSupported:re.data?.workspace.capabilities.request_status_v1===!0,client:o,relayProjectRef:e,diagnostics:N.current,scratchpad:ae.data??HV(),execution:se.data??KV(new Date().toISOString()),clarification:ue,approval:pe}),Te=ht({mutationFn:({roundId:e,body:t})=>mz(`clarification_message_send`,n=>o.sendClarificationRoundMessage(e,{body:t},void 0,{diagnostics:n})),onSuccess:t=>{if(oK(s,e,t.invalidates),t.disposition.kind===`created`){g(``);return}c.notify({tone:`warning`,title:`Reply not sent`,message:`The clarification changed. Review the current request and try again.`})},onError:e=>{c.notify({tone:`error`,title:`Reply send failed`,message:pz(e,N.current)})}}),Ee=ht({mutationFn:e=>mz(`clarification_submit`,t=>o.submitClarificationRound(e,ue.state===`active`&&ue.round.answer_revision!==void 0?{expected_answer_revision:ue.round.answer_revision}:{},void 0,{diagnostics:t})),onMutate:()=>c.notify({tone:`loading`,title:`Submitting reply`}),onSuccess:(t,n,r)=>{oK(s,e,t.invalidates);let i=t.disposition.kind===`accepted`,a=t.disposition.kind===`already_submitted`;c.update(r,{tone:i?`success`:a?`info`:`warning`,title:i?`Reply submitted`:a?`Reply already submitted`:`Reply not submitted`,...i||a?{}:{message:t.disposition.kind===`no_answers`?`Add an answer before submitting.`:`The clarification or its answers changed. Review the current request and submit again.`}})},onError:(e,t,n)=>{c.update(n,{tone:`error`,title:`Reply submit failed`,message:pz(e,N.current)})}}),De=ht({mutationFn:({approvalId:e,decisionId:t})=>mz(`approval_decide`,n=>o.decideApproval(e,{decision_id:t},void 0,{diagnostics:n})),onMutate:()=>c.notify({tone:`loading`,title:`Sending decision`}),onSuccess:(t,n,r)=>{oK(s,e,t.invalidates);let i=t.disposition.kind===`accepted`;c.update(r,{tone:i?`success`:`warning`,title:i?`Decision sent`:`Decision not applied`,...i?{}:{message:`The approval changed. Review its current state.`}})},onError:(e,t,n)=>{c.update(n,{tone:`error`,title:`Decision failed`,message:pz(e,N.current)})}}),Oe=yK({hostClient:{retryTask:(e,t,n)=>mz(`task_retry`,r=>o.retryTask(e,t,n,{diagnostics:r}))},relayProjectRef:e,invalidate:t=>oK(s,e,t),formatError:e=>pz(e,N.current)}),ke=oe.data;(0,L.useEffect)(()=>{if(ke===void 0)return;let e=dB(ke);m(t=>t!==void 0&&e.some(e=>e.id===t)?t:void 0)},[ke]);let Ae=z({queryKey:iK.taskDetail(e,p??`none`),queryFn:({signal:e})=>GK(`task_detail`,N.current,()=>o.getTaskDetail(p,{signal:e,diagnostics:N.current})),enabled:ne&&p!==void 0}),je=z({queryKey:iK.taskRunResults(e,p??`none`),queryFn:({signal:e})=>GK(`task_run_results`,N.current,()=>o.getTaskRunResults(p,{limit:5},{signal:e,diagnostics:N.current})),enabled:ne&&p!==void 0}),Me=re.data!==void 0&&ae.data!==void 0&&oe.data!==void 0&&se.data!==void 0&&ce.data!==void 0&&le.data!==void 0&&(de===void 0||fe.data!==void 0),Ne=()=>{if(_)return;ee.current?.abort();let t=new AbortController;ee.current=t;let r=az();N.current=r,n(r),v(!0),b(void 0),(async()=>{try{if(await F(t.signal,r),t.signal.aborted)return;u({kind:`ready`});let n=I.refetch({throwOnError:!0});await Promise.all([s.invalidateQueries({queryKey:iK.supporting(e)}),re.refetch({throwOnError:!0}),ae.refetch({throwOnError:!0}),oe.refetch({throwOnError:!0}),se.refetch({throwOnError:!0}),n,ce.refetch({throwOnError:!0}),le.refetch({throwOnError:!0}),...de===void 0?[]:[fe.refetch({throwOnError:!0})],...p===void 0?[]:[Ae.refetch({throwOnError:!0}),je.refetch({throwOnError:!0})]]);let i=(await n).data?.artifact,a=i?.status===`declared`&&i.preview.status===`ready`&&i.preview.url!==void 0?`${i.preview_generation}:${i.preview.url}`:null;d===`artifacts`&&ge!==null&&a===ge&&await _e.refetch({throwOnError:!0})}catch(e){if(t.signal.aborted)return;let n=hz(e,r);Me?b(n):u({kind:`error`,...n})}finally{t.signal.aborted||(ee.current=null,v(!1))}})()},Pe=e=>{m(e),f(`work`)},Fe=re.data?.workspace.project.display_name??null,Ie;if(re.data===void 0||ae.data===void 0||oe.data===void 0||se.data===void 0||ce.data===void 0||le.data===void 0||de!==void 0&&fe.data===void 0){let e=re.error??ae.error??oe.error??se.error??ce.error??le.error??fe.error;Ie=l.kind===`error`?l:e===null?{kind:`loading`}:{kind:`error`,...hz(e,t)}}else{let e=re.data,t=ae.data,n=oe.data,r=se.data,i=y??(l.kind===`error`?l:void 0),a=uB(n,p),o=xB(Ae.data,je.data),s=Ae.data?.detail.result.latest_run_result_id,c=Ae.data?.detail.result.retry_action,u=o===void 0||s===void 0||c===void 0?o:{...o,retryAction:{state:Oe.stateFor(o.taskId,s,c)??c,onRetry:()=>Oe.retry(o.taskId,s)}},f=p===void 0?void 0:Ae.error!==null||je.error!==null?{title:`Task details unavailable`,description:`Refresh this project and try again.`}:u===void 0?{title:`Loading task details`,description:`Reading the latest task contract and Run results.`}:void 0,m=r.active_activity?.activity_kind===`run`||r.active_activities?.some(e=>e.activity_kind===`run`)===!0,g=Rz(me,{...be===void 0?{}:{previewUrl:be},pending:ge!==null&&be===void 0&&ye===void 0,...ye===void 0?{}:{errorMessage:ye}},{runActive:m}),v=me===void 0&&I.error!==null?`${FV(I.error)} Diagnostic ID: ${N.current.diagnosticId}`:void 0;Ie={kind:`ready`,projectName:e.workspace.project.display_name,accountName:e.session.account.display_name,membershipLabel:e.session.membership.label,hostVersion:e.workspace.server.version,activeTab:d,refreshing:_,...i===void 0?{}:{refreshMessage:i},projectStatus:Fz(r),scratchpad:lB(t,[],we.note),activeClarification:qz(ue),clarificationMessages:(fe.data?.items??[]).map(e=>Kz(e)),roundDraft:h,activeApproval:Zz(pe),worklist:{modules:a.modules,taskCount:a.taskCount,detailOpen:p!==void 0,...u===void 0?{}:{detail:u},...f===void 0?{}:{detailPlaceholder:f}},artifacts:g,...v===void 0?{}:{artifactError:v}}}return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(zb,{route:{kind:`feishu_project`,relayProjectRef:e},projectDisplayName:Fe}),(0,R.jsx)(qH,{state:Ie,supportingContent:d===`timeline`?(0,R.jsx)(uK,{client:o,relayProjectRef:e,onSelectTask:Pe},d):void 0,onRetry:Ne,onBrandClick:()=>window.location.reload(),onSelectTab:e=>{S(void 0),m(void 0),f(e)},onSelectTask:Pe,onCloseTask:()=>m(void 0),onOpenInBrowser:Ce,...x===void 0?{}:{browserOpenUrl:x,onBrowserOpenLinkClick:()=>S(void 0)},onSubmitScratchpad:we.submit,onRoundDraftChange:g,onSendRoundMessage:()=>{de!==void 0&&h.trim()!==``&&Te.mutate({roundId:de,body:h.trim()})},onSubmitRound:()=>{de!==void 0&&Ee.mutate(de)},onDecideApproval:(e,t)=>De.mutate({approvalId:e,decisionId:t}),scratchpadSubmitPending:we.submitPending,scratchpadSyncPending:we.syncPending,scratchpadActionsDisabled:we.actionsDisabled,roundSendPending:Te.isPending,roundSubmitPending:Ee.isPending,approvalDecisionPending:De.isPending,browserOpenPending:xe.isPending})]})}var JK=class extends L.Component{state={};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(){}render(){return this.state.error===void 0?this.props.children:this.props.artifactPresentation===!0?(0,R.jsx)(`main`,{role:`status`,children:`Artifact preview is unavailable.`}):(0,R.jsx)(qH,{state:{kind:`error`,...hz(new rz(`browser_runtime`,this.state.error,this.props.diagnostics),this.props.diagnostics)},onRetry:()=>window.location.reload(),onBrandClick:()=>window.location.reload(),onSelectTab:()=>void 0,onSelectTask:()=>void 0})}};function YK(e){let t=new URLSearchParams(e).getAll(`view`);return t.length===1&&(t[0]===`work`||t[0]===`artifacts`||t[0]===`timeline`)?t[0]:`project`}function XK(e){let t=new URLSearchParams(e).getAll(`authorize`);return t.length===1&&t[0]===`docx`}function ZK({relayProjectRef:e}){let[t,n]=(0,L.useState)(az),r=(0,L.useMemo)(()=>jK(window.location),[]),i=(0,L.useMemo)(()=>YK(window.location.search),[]),a=(0,L.useMemo)(()=>xK(window.location.search),[]),o=(0,L.useMemo)(()=>XK(window.location.search),[]),s=(0,L.useMemo)(()=>kK(window.location.search),[]);return(0,L.useEffect)(()=>{r.shouldClearFragment&&MK(window.location,window.history),s&&AK(window.location,window.history)},[r.shouldClearFragment,s]),(0,R.jsx)(JK,{diagnostics:t,artifactPresentation:r.systemBrowser,children:r.systemBrowser?(0,R.jsx)(KK,{browserEntry:r,diagnostics:t,relayProjectRef:e}):a===void 0?(0,R.jsx)(qK,{diagnostics:t,initialTab:i,authorizeDocument:o,openArtifactInBrowser:s,relayProjectRef:e,onDiagnosticsChange:n},e):(0,R.jsx)(SK,{project:e,authorizationRef:a,prepareSession:UK})})}function QK(){$(`/projects`,{replace:!0})}function $K(){let e=z({queryKey:Q.me,queryFn:()=>Gn(AV)}),t=fH(QK);return(0,L.useEffect)(()=>{e.data!==void 0&&QK()},[e.data]),e.isLoading||e.data!==void 0?null:(0,R.jsx)(oU,{...t,onBrandClick:()=>$(`/`),sessionError:e.error===null||Jt(e.error)?null:`Tenso could not check your current session. You can still try signing in.`})}var eq=`/account/local-console`,tq=/^[A-Za-z0-9_-]{32,128}$/u;function nq(e){return tq.test(e)}function rq(e){if(!/^[1-9]\d{0,4}$/u.test(e))return null;let t=Number(e);return Number.isInteger(t)&&t<=65535?t:null}function iq(e){if(!nq(e.accessToken))throw Error(`Local Console account continuation token is invalid.`);let t=new URL(e.localOrigin),n=rq(t.port);if(t.protocol!==`http:`||t.hostname!==`127.0.0.1`||n===null)throw Error(`Local Console account continuation requires an exact loopback origin.`);let r=new URL(eq,e.webBaseUrl);return r.search=``,r.hash=new URLSearchParams({access_token:e.accessToken,local_port:String(n),...e.intent===`sign_out`?{intent:`sign_out`}:{}}).toString(),r.toString()}function aq(e){let t=e.startsWith(`#`)?e.slice(1):e,n=new URLSearchParams(t),r=n.getAll(`intent`),i=r.length===0?`authenticate`:r[0];if(n.size!==2&&n.size!==3||n.getAll(`access_token`).length!==1||n.getAll(`local_port`).length!==1||r.length>1||n.size===3&&r.length!==1||n.size===2&&r.length!==0||i!==`authenticate`&&i!==`sign_out`)return null;let a=n.get(`access_token`)??``,o=rq(n.get(`local_port`)??``);return!nq(a)||o===null?null:{accessToken:a,localPort:o,intent:i}}function oq(e,t){let n=t.trim();if(n===``||n.length>80)throw Error(`Local Console account display name is invalid.`);let r=new URL(`http://127.0.0.1:${e.localPort}/console`);return r.hash=new URLSearchParams({access_token:e.accessToken,account_display_name:n}).toString(),r.toString()}function sq(e){let t=e.startsWith(`#`)?e.slice(1):e,n=new URLSearchParams(t);if(n.size!==1&&n.size!==2||n.getAll(`access_token`).length!==1||n.getAll(`account_display_name`).length>1||n.size===2&&n.getAll(`account_display_name`).length!==1)return null;let r=n.get(`access_token`)??``,i=n.get(`account_display_name`)?.trim();return!nq(r)||i!==void 0&&(i===``||i.length>80)?null:{accessToken:r,...i===void 0?{}:{accountDisplayName:i}}}function cq(e){let t=e.trim().replace(/[\\/]+$/u,``);return t===``?``:t.slice(Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`))+1).slice(0,80)}function lq(e){return{display_name:e.displayName.trim(),...e.description.trim()?{description:e.description.trim()}:{}}}function uq(e=``){return{workspacePath:e,folderMode:e?`existing`:`new`,parentDirectory:``,displayName:cq(e),description:``,baseUrl:``,apiKey:``,model:``,surface:`standalone`,accessMode:`managed`}}function dq(e,t,n){return{...e,workspacePath:t,...n?{}:{displayName:cq(t)}}}function fq(e){switch(e){case`console_busy`:return`Wait for the current Local Console action to finish.`;case`host_busy`:return`Wait for active project work or questions to finish.`;case`host_identity_unverified`:return`Stop or reopen the affected project before updating.`;case`update_in_progress`:return`Another Tenso update is already in progress.`;case`update_recovery_required`:return`Run tutti again after closing this page to recover the interrupted update.`;case`global_prefix_read_only`:return`Use your normal terminal installation environment to update Tenso.`;case`npm_install_failed`:return`The npm installation failed. Refresh to check whether it can be retried.`;case`post_install_validation_failed`:return`The installed package could not be verified. Run tutti again to recover.`;case`completion_start_failed`:case`completion_failed`:case`worker_crashed`:return`The update was interrupted. Run tutti again to recover.`;case`host_restore_failed`:return`Tenso updated, but one or more local projects could not restart.`;case`installation_not_global`:case`custom_home`:case`npm_unavailable`:case`npm_global_root_mismatch`:case`npm_version_unsupported`:case`registry_unavailable`:case void 0:return`Tenso cannot update from this Local Console.`}}function pq(e){if(e.status!==`updating`)return e.status===`blocked`||e.status===`failed`?fq(e.reason_code):void 0;switch(e.phase){case`stopping_hosts`:return`Safely stopping online projects.`;case`installing`:return`Installing the new Tenso version.`;case`restarting`:return`Restarting local projects.`;case`preparing`:case void 0:return`Preparing the update.`}}function mq(e){let t=e.update;if(t===null||t.status===`up_to_date`||t.latest_version===void 0&&t.status!==`updating`&&t.status!==`failed`)return;let n=e.checking&&t.status===`ready`?`Checking update readiness.`:pq(t);return{label:t.status===`updating`?`Updating…`:`Restart and Update`,disabled:t.status!==`ready`||!t.can_update||e.checking||e.starting,...n===void 0?{}:{description:n}}}function hq(e,t){let n=e.replace(/\s+/g,` `).trim();return n.length===0?t:n}function gq({inviterName:e,projectName:t,joinUrl:n}){return`${hq(e,`A teammate`)} invited you to join the Tenso project “${hq(t,`Untitled project`)}”.\n\nOpen the invitation link:\n${n.trim()}`}function _q(e){return new Wt({code:e,statusCode:409,message:e,retryable:!1})}async function vq(e){let{client:t,prepared:n,signal:r}=e,i=n.draft.request_ref,a=t=>{if(r.throwIfAborted(),t.draft.request_ref!==i||t.draft.project_id!==n.draft.project_id||t.draft.surface!==n.draft.surface||t.relay_origin!==n.relay_origin||t.preparation.installation_ref!==n.preparation.installation_ref)throw _q(`managed_preparation_mismatch`);return e.onRead(t),t};e.onStage(`checking`);let o=a(await t.reconcileManagedProject(i,AbortSignal.any([r,AbortSignal.timeout(15e3)])));if(o.draft.state===`awaiting_authorization`)throw _q(`authority_target_not_found`);if(o.draft.state===`validation_unknown`||o.draft.state===`validation_failed`||(o.draft.state===`prepared`&&(e.onStage(`validating`),o=a(await t.validateManagedProject(i,AbortSignal.any([r,AbortSignal.timeout(9e4)])))),o.draft.state!==`validated`&&o.draft.state!==`registered`))throw _q(`managed_${o.draft.state}`);r.throwIfAborted(),e.onStage(`launching`);let s=await t.launchManagedProject(i,AbortSignal.any([r,AbortSignal.timeout(12e4)]));return r.throwIfAborted(),s}var yq=uq();function bq(e,t){let n={projectId:e.project_id,projectName:e.display_name};return t.state===`connected`?{...n,state:`connected`}:t.state===`account_handoff_required`?{...n,state:`account_handoff_required`}:t.visibility===`visible_once`?{...n,state:`pairing_required`,command:t.command}:{...n,state:`not_recoverable`}}function xq(){return kV}function Sq(){window.history.replaceState(null,``,`${window.location.pathname}${window.location.search}`)}function Cq(){let e=window.open(`about:blank`,`_blank`);return e!==null&&(e.opener=null),e}function wq({connection:e,renderSurface:t,initialCreateOpen:n=!1}={}){let r=Tq(e,n);return(0,R.jsx)(iU,{...r,...t?{renderSurface:e=>t(r,e)}:{}})}function Tq(e,t=!1){let n=Ez(),r=(0,L.useRef)(void 0),i=(0,L.useRef)(void 0),a=(0,L.useRef)(!1),o=(0,L.useRef)(!1),s=(0,L.useRef)(null),[c,l]=(0,L.useState)(null),[u,d]=(0,L.useState)(`Checking credit…`),f=(0,L.useRef)(PG(window.location.hash)),[p,m]=(0,L.useState)(null),h=(0,L.useRef)(null),g=(0,L.useRef)(!1),_=(0,L.useRef)(0),v=(0,L.useRef)(null),y=(0,L.useRef)(!1),b=(0,L.useMemo)(()=>e?.client??ob({baseUrl:window.location.origin,csrfToken:()=>r.current,contextToken:()=>i.current}),[e?.client]),[x,S]=(0,L.useState)(null),[C,w]=(0,L.useState)(null),[T,E]=(0,L.useState)(yq),D=(0,L.useRef)(!1),O=(0,L.useRef)(null),k=(0,L.useRef)({baseUrl:``,apiKey:``}),[A,j]=(0,L.useState)([]),[ee,M]=(0,L.useState)(t),[te,N]=(0,L.useState)(`project`),[P,F]=(0,L.useState)([]),[ne,re]=(0,L.useState)(!0),ie=(0,L.useRef)(!1),[ae,oe]=(0,L.useState)(!1),[se,I]=(0,L.useState)(!1),[ce,le]=(0,L.useState)(null),[ue,de]=(0,L.useState)(null),[fe,pe]=(0,L.useState)(!1),[me,he]=(0,L.useState)(!1),[ge,_e]=(0,L.useState)(!1),[ve,ye]=(0,L.useState)(null);async function be(){if(!(r.current===void 0||ie.current)){ie.current=!0,re(!0);try{F((await b.getProjects()).projects)}catch(t){if(e?.signal.aborted)return;n.notify({tone:`error`,title:`Projects unavailable`,message:FV(t)})}finally{ie.current=!1,re(!1)}}}async function xe(e={}){h.current?.abort();let t=new AbortController;h.current=t,pe(!0);try{de(await b.getPackageUpdate({refresh:e.refresh===!0,signal:t.signal}))}catch{}finally{h.current===t&&(h.current=null,pe(!1))}}(0,L.useEffect)(()=>{a.current||(a.current=!0,(async()=>{try{let t=e?null:sq(window.location.hash);if(t!==null){Sq();let e=await b.exchangeSession(t.accessToken,t.accountDisplayName);r.current=e.csrf_token,i.current=e.context_token}let a=e?.bootstrap??await b.getBootstrap();if(r.current=a.csrf_token,a.account_gate?.status===`required`){let e=await b.createAccountContinuation();window.location.replace(iq({accessToken:e.access_token,localOrigin:window.location.origin,webBaseUrl:xq()}));return}if(S(a),w(null),await Promise.all([be(),xe()]),f.current!==null)try{let e=await b.readManagedProject(f.current);LG(e),m(e),E({...uq(e.draft.workspace_path),displayName:e.draft.display_name,description:e.draft.description??``,surface:e.draft.surface,...e.draft.existing_project_id===void 0?{}:{existingProjectId:e.draft.existing_project_id}}),M(!0),N(`provider`)}catch(e){n.notify({tone:`warning`,title:`Trial request could not be restored`,message:RG(e)})}}catch(e){re(!1),w(FV(e))}})())},[b]),(0,L.useEffect)(()=>()=>{h.current?.abort(),s.current?.abort()},[]),(0,L.useEffect)(()=>{if(d(`Checking credit…`),!ee||te!==`provider`||p!==null||x===null)return;let e=new AbortController;return b.readAccountUsage(e.signal).then(t=>{e.signal.aborted||d(t.state===`ready`?`${t.remaining.toLocaleString(`en`)} test credit remaining`:`No test credit account yet`)}).catch(()=>{e.signal.aborted||d(`Credit unavailable · Check Account`)}),()=>e.abort()},[b,ee,te,p,x]),(0,L.useEffect)(()=>{if(x===null||e)return;let t=window.setInterval(()=>{b.heartbeat().catch(()=>void 0)},6e4);return()=>window.clearInterval(t)},[x,b,e]),(0,L.useEffect)(()=>{if(!e||!x)return;let t=()=>{document.visibilityState!==`hidden`&&be()},n=window.setInterval(t,3e4);return window.addEventListener(`focus`,t),()=>{window.clearInterval(n),window.removeEventListener(`focus`,t)}},[e,x,b]),(0,L.useEffect)(()=>{if(x===null||ue?.latest_version===void 0||ue.status===`up_to_date`||ue.status===`failed`)return;let e=window.setInterval(()=>void xe(),ue.status===`updating`?2e3:15e3);return()=>window.clearInterval(e)},[x,ue?.latest_version,ue?.status]),(0,L.useEffect)(()=>{let e=x?.package_update_completion;e===void 0||y.current||(y.current=!0,n.notify(e.restart_failure_count===0?{tone:`success`,title:`Tenso updated to ${e.target_version}`}:{tone:`warning`,title:`Tenso updated to ${e.target_version}`,message:`${e.restart_failure_count} local project${e.restart_failure_count===1?``:`s`} could not restart.`}))},[x,n]),(0,L.useEffect)(()=>{if(ue?.status!==`failed`)return;let e=ue.reason_code??`update_failed`;v.current!==e&&(v.current=e,n.notify({tone:`error`,title:`Tenso update did not complete`,message:fq(ue.reason_code)}))},[n,ue]);async function Se(){try{let e=await b.pickFolder();e.kind===`selected`?Le(T.folderMode===`existing`?{workspacePath:e.path}:{parentDirectory:e.path}):e.kind===`unavailable`&&n.notify({tone:`info`,title:`Use a folder path`,message:e.message})}catch(e){n.notify({tone:`error`,title:`Folder picker unavailable`,message:FV(e)})}}async function Ce(){let e={baseUrl:T.baseUrl.trim(),apiKey:T.apiKey.trim()},t=()=>k.current.baseUrl.trim()===e.baseUrl&&k.current.apiKey.trim()===e.apiKey;oe(!0);try{let r=await b.discoverModels({base_url:e.baseUrl,api_key:e.apiKey});if(!t())return;r.kind===`ok`?(j(r.models),E(e=>({...e,model:``}))):(j([]),n.notify({tone:`error`,title:`Provider check failed`,message:r.reason===`model_list_empty`?`The endpoint did not return any available models.`:`Check the Base URL and API key, then try again.`}))}catch(e){if(!t())return;j([]),n.notify({tone:`error`,title:`Provider check failed`,message:FV(e)})}finally{oe(!1)}}async function we(e){if(T.folderMode===`existing`||T.existingProjectId!==void 0)return T.workspacePath.trim();if(!x?.default_projects_directory)throw Error(`Update Tenso on this computer before creating a new project.`);let t=JSON.stringify([T.displayName.trim(),T.parentDirectory.trim()]);O.current?.key!==t&&(O.current={key:t,requestRef:Bt()});let n=await b.createProjectFolder({request_ref:O.current.requestRef,display_name:T.displayName.trim(),...T.parentDirectory.trim()?{parent_directory:T.parentDirectory.trim()}:{}},e);return e?.throwIfAborted(),E(e=>({...e,workspacePath:n.workspace_path})),n.workspace_path}async function Te(){if(!o.current){o.current=!0,I(!0);try{let e=await b.launchProject({workspace_path:await we(),surface:T.surface,project:lq(T),provider:{base_url:T.baseUrl.trim(),api_key:T.apiKey.trim(),model:T.model.trim()}});Re(),e.join_url===void 0?(await be(),ke(e.project,e.feishu_setup)):window.location.assign(e.join_url)}catch(e){n.notify({tone:`error`,title:`Launch failed`,message:FV(e)})}finally{o.current=!1,I(!1)}}}async function Ee(){if(o.current)return;o.current=!0;let t=new AbortController;s.current=t,I(!0);let r=null;try{let n=await b.prepareManagedProject({request_ref:p?.draft.request_ref??Bt(),workspace_path:await we(t.signal),...lq(T),surface:T.surface,...T.existingProjectId===void 0?{}:{existing_project_id:T.existingProjectId}},t.signal);t.signal.throwIfAborted(),LG(n),m(n),E(e=>({...e,displayName:n.draft.display_name,description:n.draft.description??``})),r=n,window.history.replaceState(null,``,`${e?window.location.pathname+window.location.search:`/console`}#managed_request=${n.draft.request_ref}`)}catch(e){if(t.signal.aborted)return;n.notify({tone:`error`,title:`Trial preparation failed`,message:RG(e)})}finally{o.current=!1,I(!1),s.current===t&&(s.current=null)}r!==null&&!t.signal.aborted&&De(r)}async function De(e=p){if(o.current||s.current||e===null)return;let t=new AbortController;s.current=t;try{e.draft.state===`awaiting_authorization`&&(o.current=!0,I(!0),l(`checking`),await b.authorizeManagedProject(e.draft.request_ref,t.signal),t.signal.throwIfAborted());let n=await vq({client:b,prepared:e,signal:t.signal,onRead:m,onStage:e=>{l(e),o.current=!0,I(!0)}});Re(),n.join_url===void 0?(await be(),ke(n.project,n.feishu_setup)):window.location.assign(n.join_url)}catch(e){t.signal.aborted||n.notify({tone:`error`,title:`Managed launch paused`,message:RG(e)})}finally{s.current===t&&(s.current=null,o.current=!1,I(!1),l(null))}}async function Oe(e){le(e.project_id);try{let t=await b.launchProject({workspace_path:e.workspace_path});await be(),e.surface_profile.kind===`feishu`?ke(t.project,t.feishu_setup):n.notify({tone:`success`,title:`${e.display_name} is ready`})}catch(e){let t=e instanceof Wt&&e.code===`provider_configuration_required`;n.notify({tone:t?`warning`:`error`,title:t?`Provider required`:`Launch failed`,message:t?`Use New project with this folder to update its Provider configuration.`:FV(e)})}finally{le(null)}}function ke(e,t){let n=++_.current;if(t!==void 0){ye(bq(e,t));return}ye({projectId:e.project_id,projectName:e.display_name,state:`loading`}),b.getFeishuSetup(e.project_id).then(t=>{_.current===n&&ye(bq(e,t))}).catch(t=>{_.current===n&&ye({projectId:e.project_id,projectName:e.display_name,state:`unavailable`,unavailableMessage:FV(t)})})}function Ae(e){e||(_.current+=1,ye(null))}async function je(e){try{await navigator.clipboard.writeText(e),n.notify({tone:`success`,title:`Connection command copied`})}catch{n.notify({tone:`error`,title:`Could not copy connection command`})}}async function Me(e){le(e.project_id);try{let t=await b.refreshInvite(e.project_id);await navigator.clipboard.writeText(gq({inviterName:``,projectName:e.display_name,joinUrl:t.join_url})),n.notify({tone:`success`,title:`Invitation copied`})}catch(e){n.notify({tone:`error`,title:`Invite unavailable`,message:FV(e)})}finally{le(null)}}async function Ne(e){if(e.open_url===void 0)return;let t=Cq();le(e.project_id);try{let r=await b.openProject(e.project_id);F(e=>e.map(e=>e.project_id===r.project.project_id?r.project:e)),t===null?window.location.assign(r.handoff.url):t.location.replace(r.handoff.url),r.host_update===`updated`?n.notify({tone:`success`,title:`${e.display_name} updated`}):r.host_update===`deferred_busy`?n.notify({tone:`info`,title:`Opened without updating`,message:`Try Open again after the current project activity finishes.`}):r.host_update===`deferred_unsupported`?n.notify({tone:`info`,title:`Opened with the current Host`,message:`Stop and Resume this project once to enable safe automatic updates.`}):r.host_update===`deferred_unavailable`&&n.notify({tone:`warning`,title:`Update deferred`,message:`The current Host could not be safely restarted, so the project opened as-is.`})}catch(e){t?.close(),n.notify({tone:`error`,title:`Open failed`,message:FV(e)})}finally{le(null)}}async function Pe(e){le(e.project_id);try{await b.stopProject(e.project_id),ve?.projectId===e.project_id&&Ae(!1),await Promise.all([be(),xe()]),n.notify({tone:`success`,title:`${e.display_name} stopped`})}catch(e){n.notify({tone:`error`,title:`Stop failed`,message:FV(e)})}finally{le(null)}}async function Fe(){if(!(g.current||ue?.status!==`ready`||!ue.can_update)){g.current=!0,he(!0);try{de(await b.startPackageUpdate())}catch(e){e instanceof Wt&&e.statusCode===0?de({...ue,status:`updating`,can_update:!1,phase:`preparing`}):(n.notify({tone:`error`,title:`Update not started`,message:FV(e)}),await xe())}finally{g.current=!1,he(!1)}}}async function Ie(){if(!ge){_e(!0);try{let e=await b.createAccountContinuation();window.location.replace(iq({accessToken:e.access_token,localOrigin:window.location.origin,webBaseUrl:xq(),intent:`sign_out`}))}catch(e){_e(!1),n.notify({tone:`error`,title:`Sign out failed`,message:FV(e)})}}}function Le(e){if(o.current||s.current)return;p!==null&&(m(null),Sq()),e.displayName!==void 0&&(D.current=!0);let t=e.baseUrl!==void 0&&e.baseUrl!==T.baseUrl||e.apiKey!==void 0&&e.apiKey!==T.apiKey;t&&(j([]),k.current={baseUrl:e.baseUrl??T.baseUrl,apiKey:e.apiKey??T.apiKey}),E(n=>({...e.workspacePath===void 0?n:dq(n,e.workspacePath,D.current),...e,...t?{model:``}:{}}))}function Re(){s.current?.abort(),s.current=null,o.current=!1,I(!1),l(null),m(null),Sq(),M(!1),N(`project`),j([]),k.current={baseUrl:``,apiKey:``},D.current=!1,O.current=null,E(uq())}function ze(e){if(!e){!ae&&!se&&Re();return}if(!x?.default_projects_directory){n.notify({tone:`info`,title:`Update Tenso to create a project`,message:`Use Restart and Update on this computer, then try again.`});return}O.current=null,D.current=!1,k.current={baseUrl:``,apiKey:``},j([]),E(uq()),N(`project`),M(!0)}function Be(e){o.current||ce!==null||(m(null),Sq(),E({...uq(e.workspace_path),displayName:e.display_name,surface:e.surface_profile.kind,existingProjectId:e.project_id}),N(`provider`),M(!0))}function Ve(e){if(e.preventDefault(),o.current||s.current||ae)return;if(p!==null){De();return}if(!ZH(te,T))return;let t=XH(T),n=t[t.indexOf(te)+1];if(n!==void 0){N(n);return}T.accessMode===`managed`?Ee():Te()}function He(){p!==null||o.current||s.current||ae||N(e=>{let t=XH(T);return t[Math.max(0,t.indexOf(e)-1)]})}let Ue=mq({update:ue,checking:fe,starting:me});return{...x===null?{}:{version:x.version,defaultProjectsDirectory:x.default_projects_directory},accountName:x?.account_gate?.status===`ready`?x.account_gate.account?.display_name??`Signed in`:`Signed in`,projectCenterHref:new URL(`/projects`,kV).toString(),form:T,managedPrepared:p!==null,creditNote:u,onDiscoverModels:()=>void Ce(),models:A,projects:P,projectsLoading:ne,sessionLoading:x===null&&C===null,sessionError:C,createOpen:ee,createStep:te,modelDiscoveryPending:ae,launchPending:se,managedStage:c,projectActionPending:ce,signOutPending:ge,feishuConnection:ve,...Ue===void 0?{}:{packageUpdateAction:Ue},onChange:Le,onCreateOpenChange:ze,onCreateSubmit:Ve,onCreateBack:He,onChooseFolder:()=>void Se(),onRefresh:()=>void Promise.all([be(),xe({refresh:!0})]),onLaunchExisting:e=>void Oe(e),onAuthorizeExisting:Be,onOpenProject:e=>void Ne(e),onCopyInvite:e=>void Me(e),onConnectFeishu:e=>ke(e),onFeishuConnectionOpenChange:Ae,onCopyFeishuCommand:e=>void je(e),onStopProject:e=>void Pe(e),onPackageUpdate:()=>void Fe(),onSignOut:()=>void Ie()}}function Eq(){return(0,L.useEffect)(()=>$(`/projects`,{replace:!0}),[]),null}function Dq({continuation:e}){let t=Ez(),n=$e(),r=(0,L.useRef)(!1),[i,a]=(0,L.useState)(e.intent!==`sign_out`),o=(0,L.useCallback)(async n=>{if(!r.current){r.current=!0;try{await Jn(AV,e.accessToken,!0),window.location.replace(oq(e,n))}catch{t.notify({tone:`error`,title:`Local Console sign-in failed`,message:`Tenso could not create the private account handoff. Please try again.`}),$(`/projects`,{replace:!0})}}},[e,t]),s=z({queryKey:Q.me,queryFn:()=>Gn(AV),enabled:i}),c=fH(),l=pH();if((0,L.useEffect)(()=>{if(e.intent!==`sign_out`)return;let r=!1;return Zn(AV).then(()=>{r||(n.removeQueries({queryKey:Q.me}),a(!0))}).catch(()=>{r||(t.notify({tone:`error`,title:`Sign out failed`}),$(`/projects`,{replace:!0}))}),()=>{r=!0}},[e.intent,t,n]),(0,L.useEffect)(()=>{let e=s.data?.account;e?.profile_complete===!0&&o(e.display_name)},[s.data?.account,o]),!i||s.isLoading||s.data?.account.profile_complete===!0)return null;let u=s.data?.account.profile_complete===!1?l:c,d=s.error===null||Jt(s.error)?null:`Tenso could not check your current session. You can still try signing in.`;return(0,R.jsx)(LH,{...u,error:u.error??d,onBrandClick:()=>$(`/`)})}function Oq(){let e=aq(window.location.hash);return e===null?(0,R.jsx)(Eq,{}):(0,R.jsx)(Dq,{continuation:e})}function kq(e){let t=t=>{let n=new Map;for(let r of e)n.set(r[t],[...n.get(r[t])??[],r]);return[...n.entries()].map(([e,t])=>({ref:e,entries:t,representative:t.find(e=>e.state===`active`)??t[0],active:t.some(e=>e.state===`active`),revocationPending:t.some(e=>e.downstream_keys===`pending`),revoked:t.every(e=>e.downstream_keys===`confirmed`)}))};return{projects:t(`grant_ref`),computers:t(`installation_ref`)}}function Aq({group:e}){return e.active?(0,R.jsx)(`small`,{children:e.revocationPending?`Enabled · previous access is still being disabled`:`Enabled`}):(0,R.jsx)(`small`,{children:e.revoked?`Disabled`:`Disabling…`})}function jq(e){let t=t=>(0,R.jsx)(ak,{title:`Authorized ${Oz(t.representative.created_at)}`,action:t.active?(0,R.jsx)(X,{type:`button`,disabled:e.pending,onClick:()=>e.onSelect({kind:`grant`,ref:t.ref,label:t.representative.project_name}),children:`Disable Tenso credit`}):void 0,children:(0,R.jsx)(Aq,{group:t})},t.ref),n=e.groups.filter(e=>e.active),r=e.groups.filter(e=>!e.active);return(0,R.jsxs)(Rk,{title:`Tenso credit`,children:[e.groups.length===0?(0,R.jsx)(`p`,{children:`No Tenso credit access is recorded for your account.`}):null,n.map(t),n.length===0&&r.length>0?(0,R.jsx)(`small`,{children:r.some(e=>!e.revoked)?`Disabling…`:`Disabled`}):null,r.length>0?(0,R.jsx)(Lk,{title:`Previous authorizations`,children:r.map(t)}):null]})}function Mq(e){let t=kq(e.overview.delegations);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Rk,{title:`Computers`,children:t.computers.length===0?(0,R.jsx)(`p`,{children:`No authorized computers.`}):t.computers.map(t=>(0,R.jsx)(ak,{title:`Computer …${t.ref.slice(-8)}`,description:`${new Set(t.entries.map(e=>e.relay_project_ref)).size} project(s)`,action:t.active?(0,R.jsx)(X,{type:`button`,disabled:e.pending,onClick:()=>e.onSelect({kind:`installation`,ref:t.ref,label:`computer`}),children:`Disable Tenso credit`}):void 0,children:(0,R.jsx)(Aq,{group:t})},t.ref))}),(0,R.jsx)(Rk,{title:`Browsers`,children:e.overview.sessions.map(t=>(0,R.jsx)(ak,{title:t.current?`This browser`:`Other browser`,description:`Signed in ${Oz(t.created_at)}`,action:t.current?void 0:(0,R.jsx)(X,{type:`button`,disabled:e.pending,onClick:()=>e.onSelect({kind:`session`,ref:t.session_ref,label:`browser`}),children:`Sign out`})},t.session_ref))})]})}function Nq(e){let t=e.confirmation,n=t?.kind===`session`?`Sign out this browser?`:t?.kind===`installation`?`Disable this computer’s Tenso credit?`:`Disable Tenso credit for this project?`,r=t?.kind===`session`?`Projects running on your computers will continue.`:t?.kind===`installation`?`Stops new model access for your projects on this computer. Files stay intact; requests already running may finish.`:`Stops new model access for “${t?.label??`this project`}”. Files and membership stay intact; requests already running may finish.`;return(0,R.jsx)(Mk,{className:`product-account-dialog`,open:e.panel!==null,onOpenChange:n=>{n||(t?e.onSelectRevoke(null):e.onClose())},title:t?n:e.panel===`credits`?`Credits`:e.panel===`account`?`Account`:e.project?.displayName??`Project details`,description:t?r:e.panel===`project`&&e.project?.surface===`feishu`?`Use this project in its Feishu group.`:void 0,closeDisabled:e.pending||e.logoutPending,headerAction:t?void 0:(0,R.jsx)(xw,{type:`button`,label:`Refresh account`,icon:(0,R.jsx)(Rx,{"aria-hidden":`true`}),disabled:e.loading||e.pending,onClick:e.onRefresh}),children:(0,R.jsx)(nk,{children:t?(0,R.jsxs)(Ik,{children:[(0,R.jsx)(X,{type:`button`,disabled:e.pending,onClick:()=>e.onSelectRevoke(null),children:`Cancel`}),(0,R.jsx)(Sw,{type:`button`,disabled:e.pending,onClick:e.onConfirmRevoke,children:e.pending?`Updating…`:t.kind===`session`?`Sign out browser`:`Confirm disable`})]}):(0,R.jsxs)(R.Fragment,{children:[e.panel===`credits`?(0,R.jsxs)(R.Fragment,{children:[e.usageError?(0,R.jsx)(Fw,{children:e.usageError}):e.usage?.state===`ready`?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(ik,{items:[{label:`Available test credit`,value:e.usage.remaining.toLocaleString(`en`)}]}),(0,R.jsx)(Lk,{title:`Usage details`,children:(0,R.jsx)(rk,{items:[{label:`Used · all time`,value:e.usage.used.toLocaleString(`en`)},{label:`Requests · all time`,value:e.usage.request_count.toLocaleString(`en`)}]})})]}):e.usage?.state===`not_initialized`?(0,R.jsx)(iS,{children:`No Tenso credit yet.`}):(0,R.jsx)(aS,{}),(0,R.jsx)(`small`,{children:`Test credit only. Payments are not enabled.`})]}):null,e.panel===`project`?(0,R.jsxs)(R.Fragment,{children:[e.project?(0,R.jsx)(rk,{items:[{label:`Surface`,value:e.project.surface===`feishu`?`Feishu`:`Tenso Workspace`},{label:`Your role`,value:e.project.membershipLabel},{label:`Host`,value:e.project.hostStatus===`online`?`Online`:e.project.hostStatus===`offline`?`Offline`:`Unknown`}]}):(0,R.jsx)(iS,{children:`Project unavailable.`}),e.overviewError?(0,R.jsx)(Fw,{children:e.overviewError}):e.overview?e.project?(0,R.jsx)(jq,{groups:kq(e.overview.delegations.filter(t=>t.relay_project_ref===e.project?.relayProjectRef)).projects,pending:e.pending,onSelect:e.onSelectRevoke}):null:(0,R.jsx)(aS,{})]}):null,e.panel===`account`?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(rk,{items:[{label:`Name`,value:e.accountName},{label:`Email`,value:e.email}]}),(0,R.jsx)(Lk,{title:`Security`,children:e.overviewError?(0,R.jsx)(Fw,{children:e.overviewError}):e.overview?(0,R.jsx)(Mq,{overview:e.overview,pending:e.pending,onSelect:e.onSelectRevoke}):(0,R.jsx)(aS,{})}),(0,R.jsxs)(Rk,{title:`Sign out`,children:[(0,R.jsx)(`small`,{children:`Signing out won’t stop your projects.`}),(0,R.jsx)(X,{type:`button`,disabled:e.logoutPending||e.pending,onClick:e.onSignOut,children:`Sign out`})]})]}):null,e.panel!==`credits`&&e.overview?.truncated?(0,R.jsx)(`small`,{children:`Only recent access records are shown. Contact support for older records.`}):null]})})})}var Pq={overview:[`account-managed-access`],usage:[`account-managed-usage`]},Fq={baseUrl:AV.relayBaseUrl,credentials:`include`};function Iq(e,t){let n=$e(),r=Ez(),i=z({queryKey:[...Pq.overview,e],enabled:e!==null&&t,queryFn:({signal:e})=>sb(Fq,e),refetchOnWindowFocus:!0,refetchInterval:e=>e.state.data?.delegations.some(e=>e.downstream_keys===`pending`)?5e3:!1}),a=z({queryKey:[...Pq.usage,e],enabled:e!==null,queryFn:({signal:e})=>cb(Fq,e),refetchOnWindowFocus:!0,staleTime:3e4}),[o,s]=(0,L.useState)(null),c=o?.account===e?o.target:null,[l,u]=(0,L.useState)(!1),d=(0,L.useRef)(!1),f=(0,L.useRef)({target:``,id:Bt()});async function p(){if(d.current||!c||!e)return;d.current=!0,u(!0);let t=`${e}/${c.kind}/${c.ref}`;f.current.target!==t&&(f.current={target:t,id:Bt()});try{c.kind===`session`?await ub(Fq,c.ref):await lb(Fq,{command_id:f.current.id,target:{kind:c.kind,ref:c.ref}}),s(null),await n.invalidateQueries({queryKey:[...Pq.overview,e]}),r.notify({tone:`success`,title:c.kind===`session`?`Browser signed out`:`Disabling Tenso credit`})}catch(e){r.notify({tone:`error`,title:`Change not confirmed`,message:RG(e)})}finally{d.current=!1,u(!1)}}return{overview:i.error===null?i.data:void 0,usage:a.error===null?a.data:void 0,overviewError:i.error===null?null:RG(i.error),usageError:a.error===null?null:RG(a.error),loading:i.isFetching||a.isFetching,pending:l,confirmation:c,selectRevoke:t=>s(t?{account:e,target:t}:null),confirmRevoke:()=>void p(),refresh:()=>{a.refetch(),t&&i.refetch()}}}var Lq=/^[A-Za-z0-9_-]{8,256}$/u,Rq=/https?:\/\/[^\s<>"'`“”‘’]+/giu,zq=/(?:^|[\s("'“‘])((?:\/)?join\/[A-Za-z0-9_-]{8,256})(?=$|[\s?#.,;:!'"”’)\]}])/giu,Bq=/[.,;:!?)}\]]+$/u;function Vq(e){let t;try{t=decodeURIComponent(e)}catch{return null}return Lq.test(t)?t:null}function Hq(e){let t=e.split(`/`).filter(Boolean);return t.length!==2||t[0]!==`join`?null:Vq(t[1]??``)}function Uq(e,t){let n=Hq(t);n!==null&&e.add(`/join/${encodeURIComponent(n)}`)}function Wq(e,t){try{Uq(e,new URL(t.replace(Bq,``)).pathname)}catch{}}function Gq(e){let t=e.trim();if(t===``)return{kind:`empty`};let n=new Set;for(let e of t.matchAll(Rq))Wq(n,e[0]);for(let e of t.matchAll(zq)){let t=e[1];if(t!==void 0)try{Uq(n,new URL(t,`https://tutti.invalid`).pathname)}catch{}}let r=Vq(t);return r!==null&&n.add(`/join/${encodeURIComponent(r)}`),n.size===0?{kind:`invalid`}:n.size>1?{kind:`ambiguous`}:{kind:`matched`,route:[...n][0]}}function Kq(e){return qt(e,`project_membership_required`)?{tone:`warning`,title:`Join this project first`,message:`This account has not joined the project. Open its invitation link, or return to Local Console and copy a new invite.`}:{tone:`error`,title:`Project open failed`,message:FV(e)}}var qq=`tenso://projects`,Jq=3e4,Yq=/^[A-Za-z0-9_-]+$/u,Xq=/^[A-Za-z0-9_-]{43}$/u,Zq=class extends Error{reason;constructor(e){super(`Tenso could not complete the desktop entry continuation.`),this.name=`DesktopEntryContinuationError`,this.reason=e}};function Qq(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t).replaceAll(`+`,`-`).replaceAll(`/`,`_`).replace(/=+$/u,``)}function $q(e,t){if(!Yq.test(e))throw new Zq(`invalid`);let n=`=`.repeat((4-e.length%4)%4),r;try{r=atob(e.replaceAll(`-`,`+`).replaceAll(`_`,`/`)+n)}catch{throw new Zq(`invalid`)}let i=new Uint8Array(r.length);for(let e=0;e<r.length;e+=1)i[e]=r.charCodeAt(e);if(t!==void 0&&i.length!==t||Qq(i)!==e)throw new Zq(`invalid`);return i}function eJ(e){return typeof e==`string`&&Lt(e,Nt.relayDesktopEntryContinuation)}function tJ(e){return typeof e==`string`&&e.length===43&&Yq.test(e)}function nJ(e=globalThis.crypto){let t=new Uint8Array(32);e.getRandomValues(t);let n=Qq(t);if(n.length!==43)throw new Zq(`invalid`);return n}function rJ(e){if(!eJ(e.continuationRef)||!tJ(e.completionToken)||e.payloadKey.length!==43)throw new Zq(`invalid`);return $q(e.payloadKey,32),`${qq}?${new URLSearchParams({continuation:e.continuationRef,completion_token:e.completionToken,payload_key:e.payloadKey}).toString()}`}function iJ(e,t={}){let n=Date.parse(e.expires_at);if(!Number.isFinite(n)||n<=(t.nowMs??Date.now())||!eJ(e.continuation_ref))throw new Zq(`invalid`);let r=nJ(t.cryptoImpl);return{continuationRef:e.continuation_ref,payloadKey:r,href:rJ({continuationRef:e.continuation_ref,completionToken:e.completion_token,payloadKey:r}),expiresAtMs:n}}function aJ(e){if(typeof e!=`object`||!e)throw new Zq(`invalid`);let t=e,n=t.iv,r=t.ciphertext;if(typeof n!=`string`||typeof r!=`string`||n.length!==16||r.length<24||r.length>4096)throw new Zq(`invalid`);return{iv:$q(n,12),ciphertext:$q(r)}}function oJ(e){let t;try{t=new URL(e)}catch{throw new Zq(`invalid`)}let n=t.port,r=Number(n);if(t.protocol!==`http:`||t.hostname!==`127.0.0.1`||!/^[1-9]\d{0,4}$/u.test(n)||!Number.isInteger(r)||r>65535||t.pathname!==`/console`||t.search!==``||t.username!==``||t.password!==``||t.hash===``)throw new Zq(`invalid`);let i=t.hash.slice(1),a=new URLSearchParams(i),o=a.get(`access_token`)??``;if(a.size!==1||a.getAll(`access_token`).length!==1||!Xq.test(o)||i!==new URLSearchParams({access_token:o}).toString())throw new Zq(`invalid`);return t.toString()}async function sJ(e,t,n=globalThis.crypto){let r=$q(t,32),i=aJ(e);try{let e=await n.subtle.importKey(`raw`,r,`AES-GCM`,!1,[`decrypt`]),t=await n.subtle.decrypt({name:`AES-GCM`,iv:i.iv},e,i.ciphertext);return oJ(new TextDecoder(`utf-8`,{fatal:!0}).decode(t))}catch(e){throw e instanceof Zq?e:new Zq(`invalid`)}}function cJ(e){let t=typeof e==`string`?Date.parse(e):NaN;if(!Number.isFinite(t))throw new Zq(`invalid`);return t}function lJ(e,t){return new Promise((n,r)=>{if(t.aborted){r(new Zq(`aborted`));return}let i=()=>{globalThis.clearTimeout(a),r(new Zq(`aborted`))},a=globalThis.setTimeout(()=>{t.removeEventListener(`abort`,i),n()},e);t.addEventListener(`abort`,i,{once:!0})})}async function uJ(e){let t=e.nowMs??Date.now,n=e.wait??lJ,r=t()+(e.timeoutMs??2e4);for(;!e.signal.aborted&&t()<r;){let i;try{i=await e.read(e.prepared.continuationRef,e.signal)}catch(i){if(e.signal.aborted)throw new Zq(`aborted`);if(i instanceof Wt&&!i.retryable)throw new Zq(`unavailable`);let a=r-t();if(a<=0)break;await n(Math.min(e.pollIntervalMs??500,a),e.signal);continue}if(typeof i!=`object`||!i)throw new Zq(`invalid`);let a=i;if(!eJ(a.continuation_ref)||a.continuation_ref!==e.prepared.continuationRef)throw new Zq(`invalid`);let o=cJ(a.expires_at);if(o<=t())throw new Zq(`expired`);if(a.status===`ready`)return sJ(a.sealed_payload,e.prepared.payloadKey,e.cryptoImpl);if(a.status!==`pending`)throw new Zq(`invalid`);let s=Math.min(r,o)-t();if(s<=0)break;await n(Math.min(e.pollIntervalMs??500,s),e.signal)}throw e.signal.aborted?new Zq(`aborted`):new Zq(`timeout`)}function dJ(e,t){let[n,r]=(0,L.useState)(0),[i,a]=(0,L.useState)(null),[o,s]=(0,L.useState)(!1),[c,l]=(0,L.useState)(`opening`),u=(0,L.useRef)(null),d=(0,L.useRef)(null),f=(0,L.useRef)(0),p=(0,L.useRef)(!1),m=(0,L.useCallback)(e=>{u.current=e,a(e)},[]);(0,L.useEffect)(()=>{d.current?.abort(),d.current=null,f.current+=1,p.current=!1,m(null),s(!1),l(`opening`)},[e,m]),(0,L.useEffect)(()=>{if(e===null)return;let t=u.current?.continuationRef??null,n=null,r=!1,i=window.setTimeout(()=>{n=new AbortController,Kn(AV,{signal:n.signal}).then(t=>{r||m({accountRef:e,...iJ(t)})}).catch(()=>{!r&&t!==null&&u.current?.continuationRef===t&&m(null)})},0);return()=>{r=!0,window.clearTimeout(i),n?.abort()}},[e,n,m]),(0,L.useEffect)(()=>{if(i===null||i.accountRef!==e)return;let t=i.expiresAtMs-Date.now(),n=t>3e4?t-Jq:Math.max(1e3,Math.floor(t/2)),a=window.setTimeout(()=>{u.current?.continuationRef===i.continuationRef&&(m(null),r(e=>e+1))},Math.max(0,n));return()=>window.clearTimeout(a)},[e,i,m]),(0,L.useEffect)(()=>()=>{d.current?.abort()},[]);let h=(0,L.useCallback)(()=>{s(!0),l(`opening`),d.current?.abort();let n=u.current;if(n===null||n.accountRef!==e||n.expiresAtMs<=Date.now()){r(e=>e+1);return}r(e=>e+1);let i=new AbortController;d.current=i;let a=f.current+1;f.current=a,uJ({prepared:n,read:(e,t)=>qn(AV,e,{signal:t}),signal:i.signal}).then(async e=>{if(!(f.current!==a||i.signal.aborted||p.current)){p.current=!0;try{t?(await t(e,i.signal),i.signal.aborted||s(!1),p.current=!1):window.location.replace(e)}catch(e){throw p.current=!1,e}}}).catch(e=>{f.current!==a||i.signal.aborted||e instanceof Zq&&e.reason===`aborted`||l(`failed`)}).finally(()=>{d.current===i&&(d.current=null)})},[e,m,t]),g=(0,L.useCallback)(e=>{s(e),e||(d.current?.abort(),d.current=null,f.current+=1,l(`opening`))},[]),_=(i!==null&&i.accountRef===e?i:null)?.href??`tenso://projects`;return{localScopeHref:_,localHandoffOpen:o,localHandoffStatus:c,localHandoffRetryHref:_,onLocalHandoffOpenChange:g,onLocalScopeSelect:h}}function fJ(e){let t=(0,L.useRef)(null),[n,r]=(0,L.useState)(null),i=n?.accountRef===e?.account_ref?n?.connection??null:null,[a,o]=(0,L.useState)(`disconnected`),[s,c]=(0,L.useState)(null),l=(0,L.useCallback)(()=>{t.current?.dispose(),t.current=null,r(null),o(`disconnected`),c(null)},[]);(0,L.useEffect)(()=>(l(),l),[e?.account_ref,l]);let u=(0,L.useCallback)(async(n,i)=>{if(e){l();try{let a=await Mb({accessUrl:n,accountDisplayName:e.display_name,signal:i,registerAccount:e=>Jn(AV,e,!0),onLost:()=>{l(),o(`lost`)}});if(i.aborted){a.dispose();return}t.current=a,r({accountRef:e.account_ref,connection:a})}catch(e){throw i.aborted||(o(`lost`),e instanceof Wt&&c([/^[a-z0-9_]{1,80}$/u.test(e.code)?e.code:`bridge_connection_failed`,e.requestId].filter(Boolean).join(` · `))),e}}},[e?.account_ref,e?.display_name,l]);return(0,L.useEffect)(()=>{if(!i)return;let e=!1,t=()=>{e||document.visibilityState===`hidden`||(e=!0,i.client.heartbeat().catch(()=>{}).finally(()=>{e=!1}))},n=window.setInterval(t,1e4);return window.addEventListener(`focus`,t),()=>{window.clearInterval(n),window.removeEventListener(`focus`,t)}},[i]),{connection:i,state:a,diagnostic:s,disconnect:l,connect:u}}function pJ({requestedOpenProjectRef:e,initialPanel:t}){let n=$e(),r=Ez(),i=fH(),a=pH(),[o,s]=(0,L.useState)(``),[c,l]=(0,L.useState)(null),[u,d]=(0,L.useState)(!1),f=(0,L.useRef)(!1),[p,m]=(0,L.useState)(t??null),[h,g]=(0,L.useState)(null);(0,L.useEffect)(()=>{m(t??null)},[t]);let _=(0,L.useRef)(null),v=z({queryKey:Q.me,queryFn:()=>Gn(AV)}),y=z({queryKey:[...Q.accountProjects,v.data?.account.account_ref],queryFn:({signal:e})=>jb({baseUrl:AV.relayBaseUrl,credentials:`include`},e),enabled:v.error===null&&v.data?.account.profile_complete===!0,refetchOnWindowFocus:!0}),b=v.error===null&&v.data?.account.profile_complete===!0?v.data.account:null,x=Iq(b?.account_ref??null,p===`account`||p===`project`),S=fJ(b);RV(b!==null);let C=ht({mutationFn:e=>er(AV,e),onSuccess:e=>{if(IV(n),e.disposition.kind===`opened`&&e.result?.open_url!==void 0){NV(e.result.open_url);return}r.notify({tone:`warning`,title:`Host is offline`})},onError:e=>{let t=Kq(e);r.notify({...t})}}),w=C.mutate;(0,L.useEffect)(()=>{e===void 0||v.data?.account.profile_complete!==!0||_.current===e||(_.current=e,w(e))},[v.data?.account.profile_complete,w,e]);let T=ht({mutationFn:()=>(S.disconnect(),Zn(AV)),onSuccess:()=>{m(null),g(null),x.selectRevoke(null),n.removeQueries({queryKey:Pq.overview}),n.removeQueries({queryKey:Pq.usage}),n.removeQueries({queryKey:Q.accountProjects}),n.invalidateQueries({queryKey:Q.relayRoot}),n.invalidateQueries({queryKey:Q.me}),n.invalidateQueries({queryKey:Q.recentProjects})},onError:e=>{r.notify({tone:`error`,title:`Sign out failed`,message:FV(e)})}}),E=b??void 0,D=dJ(E?.profile_complete===!0?E.account_ref:null,S.connect),O=v.error!==null&&Jt(v.error)?i:v.data?.account!==void 0&&!v.data.account.profile_complete?a:null;if(O!==null)return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(zb,{route:{kind:`home`}}),(0,R.jsx)(LH,{...O,onBrandClick:()=>$(`/`)})]});let k=(y.error===null?y.data?.projects??[]:[]).map(Iz),A=()=>{let e=Gq(o);if(e.kind!==`matched`){l(e.kind===`ambiguous`?`Paste one Tenso invitation at a time.`:`Paste a valid Tenso invitation.`);return}$(e.route)},j=e=>{d(e),e||(s(``),l(null))},ee=(e,t)=>(0,R.jsx)(lU,{...e?{local:e}:{},localDialogs:t,connectionState:S.state,connectionDiagnostic:S.diagnostic,onDisconnect:S.disconnect,relayOrigin:new URL(AV.relayBaseUrl,window.location.origin).origin,account:E===void 0?null:{displayName:E.display_name},projects:k,truncated:y.data?.truncated??!1,accountActions:E?(0,R.jsx)(ok,{name:E.display_name,credit:x.usage?.state===`ready`?`Credits · ${x.usage.remaining.toLocaleString(`en`)}`:x.usageError?`Credits unavailable`:`Credits`,disabled:x.pending||T.isPending,onCredit:()=>m(`credits`),onAccount:()=>m(`account`)}):void 0,onProjectDetails:e=>{g(e.relayProjectRef),m(`project`)},loading:v.isLoading||y.isLoading,error:v.error===null?y.error===null?null:FV(y.error):FV(v.error),openPending:C.isPending,logoutPending:T.isPending,joinLinkForm:{value:o,error:c,onChange:e=>{s(e),l(null)},onSubmit:A},joinOpen:u,localScopeHref:D.localScopeHref,localHandoffOpen:D.localHandoffOpen,localHandoffStatus:D.localHandoffStatus,localHandoffRetryHref:D.localHandoffRetryHref,onJoinOpenChange:j,onLocalHandoffOpenChange:D.onLocalHandoffOpenChange,onLocalScopeSelect:()=>{f.current=!1,D.onLocalScopeSelect()},onRequestNewProject:()=>{f.current=!0,D.onLocalScopeSelect()},onCopyLaunchCommand:e=>{navigator.clipboard.writeText(e).then(()=>{r.notify({tone:`success`,title:`Command copied`})}).catch(()=>{r.notify({tone:`error`,title:`Copy failed`,message:`The browser could not copy the launch command.`})})},onBrandClick:()=>$(`/`),onOpenProject:e=>C.mutate(e),onLogout:()=>T.mutate()});return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(zb,{route:{kind:`project_center`}}),S.connection?(0,R.jsx)(wq,{connection:S.connection,initialCreateOpen:f.current,renderSurface:ee}):ee(),E?(0,R.jsx)(Nq,{panel:p,project:k.find(e=>e.relayProjectRef===h),accountName:E.display_name,email:E.email,...x,logoutPending:T.isPending,onSelectRevoke:x.selectRevoke,onConfirmRevoke:x.confirmRevoke,onRefresh:()=>{x.refresh(),y.refetch()},onSignOut:()=>T.mutate(),onClose:()=>{m(null),x.selectRevoke(null),t&&$(`/projects`,{replace:!0})}}):null]})}function mJ(e){let t=e?.relay;if(t?.join_url_visibility===`visible_once`&&t.join_url!==void 0&&t.join_url.trim()!==``)return t.join_url}function hJ(e,t){try{return new URL(e).origin===new URL(t,e).origin}catch{return!1}}function gJ(e,t){let n=mJ(e);if(n!==void 0)return{kind:`join`,joinUrl:n};let r=e?.relay?.relay_project_ref;return r===void 0?{kind:`unavailable`,message:`Relay project is unavailable`}:hJ(t.currentOrigin,t.relayBaseUrl)?{kind:`relay_open`,relayProjectRef:r}:{kind:`unavailable`,message:`Open the latest Join URL printed by tenso launch.`}}var _J=`gpt-5.5`,vJ=`/host-local/v1`;function yJ(){return new URL(window.location.href).searchParams.get(`token`)?.trim()??``}function bJ(e){return{baseUrl:vJ,credentials:`same-origin`,headers:{authorization:`Bearer ${e}`}}}function xJ(e){return B(bJ(e),`/provider/config`)}function SJ(e){return B(bJ(e),`/launch-status`)}function CJ(e){return B(bJ(e),`/project`)}function wJ(e,t){return B(bJ(e),`/project`,{method:`POST`,body:t})}function TJ(e,t){return B(bJ(e),`/provider/config`,{method:`POST`,body:t})}function EJ(e){return e===void 0?`loading`:e.status===`configured`?`configured`:e.status===`invalid`?`invalid`:`not configured`}function DJ(e){let t=e instanceof Error&&`code`in e?String(e.code):``;return t.startsWith(`provider_`)?t:FV(e)}function OJ(){let e=yJ(),t=e===``,[n,r]=(0,L.useState)({projectName:``,apiKey:``,baseUrl:``,defaultModel:_J}),[i,a]=(0,L.useState)(null),[o,s]=(0,L.useState)(null),c=(0,L.useRef)(!1),l=z({queryKey:[`host-local`,`provider-config`,e],queryFn:()=>xJ(e),enabled:!t}),u=z({queryKey:[`host-local`,`launch-status`,e],queryFn:()=>SJ(e),enabled:!t}),d=z({queryKey:[`host-local`,`project`,e],queryFn:()=>CJ(e),enabled:!t}),f=u.data,p=ht({mutationFn:e=>er(AV,e.relayProjectRef),onSuccess:e=>{if(e.disposition.kind===`opened`&&e.result?.open_url!==void 0){NV(e.result.open_url);return}s(`Host is offline`)},onError:e=>{s(FV(e))}}),m=ht({mutationFn:async()=>{let t=n.projectName.trim(),r=d.data?.display_name.trim()??``;t!==``&&t!==r&&await wJ(e,{display_name:t});let i={api_key:n.apiKey.trim()},a=n.baseUrl.trim(),o=n.defaultModel.trim();return a!==``&&(i.base_url=a),o!==``&&(i.default_model=o),await TJ(e,i)},onSuccess:()=>{a(`Provider saved.`),r(e=>({...e,apiKey:``})),d.refetch(),l.refetch(),v()}}),h=l.data;(0,L.useEffect)(()=>{let e=d.data?.display_name;e!==void 0&&r(t=>t.projectName.trim()===``?{...t,projectName:e}:t)},[d.data?.display_name]),(0,L.useEffect)(()=>{t||h?.status!==`configured`||v()},[h?.status,t]);let g=t?`Setup token is missing.`:d.error===null?l.error===null?m.error===null?o:DJ(m.error):DJ(l.error):DJ(d.error);function _(e){e.preventDefault(),a(null),s(null),c.current=!1,!t&&n.apiKey.trim()!==``&&n.projectName.trim()!==``&&m.mutate()}async function v(){if(c.current)return;c.current=!0;let e=gJ(f??(await u.refetch()).data,{currentOrigin:window.location.origin,relayBaseUrl:kV});if(e.kind===`join`){window.location.assign(e.joinUrl);return}if(e.kind===`unavailable`){s(e.message);return}p.mutate({relayProjectRef:e.relayProjectRef})}return(0,R.jsx)(dU,{form:n,statusLabel:EJ(h),configured:h?.status===`configured`,loading:l.isLoading||d.isLoading,pending:m.isPending,tokenMissing:t,error:g,success:i,openProjectPending:p.isPending,onChange:e=>r(t=>({...t,...e})),onSubmit:_,onRetry:()=>void l.refetch(),onBrandClick:()=>$(`/`)})}function kJ(e){return`${e.created_at}:${e.id}`}function AJ(e){return{kind:`initial`,entry:e}}function jJ(e,t=50){if(e.kind===`older`)return{before:e.before,limit:t};if(e.kind===`newer`)return{after:e.after,limit:t};switch(e.entry.kind){case`latest`:return{limit:t};case`start`:return{anchor:`start`,limit:t};case`around`:return{around:e.entry.messageId,limit:t}}}function MJ(e){let t=e.window.older_cursor;return e.window.has_older&&t!==void 0?{kind:`older`,before:t}:void 0}function NJ(e){let t=e.window.newer_cursor;return e.window.has_newer&&t!==void 0?{kind:`newer`,after:t}:void 0}function PJ(e,t=50){let n=e[0],r=e.at(-1);if(n===void 0||r===void 0)return{items:[],window:{has_older:!1,has_newer:!1,limit:t}};let i=new Map;for(let t of e)for(let e of t.items)i.set(e.id,e);let a=[...i.values()].sort((e,t)=>kJ(e).localeCompare(kJ(t))),o={has_older:n.window.has_older,has_newer:r.window.has_newer,limit:n.window.limit};return o.has_older&&n.window.older_cursor!==void 0&&(o.older_cursor=n.window.older_cursor),o.has_newer&&r.window.newer_cursor!==void 0&&(o.newer_cursor=r.window.newer_cursor),{items:a,window:o}}function FJ(e){let t=e.enabled?e.messages.filter(e=>e.author.kind===`human`&&e.message_kind===`user_text`).slice(-8).map(e=>e.id):[],n=pt({queries:t.map(t=>({queryKey:[...e.key,`chat-request`,t],queryFn:async({signal:n})=>{try{return await e.read(t,n)}catch(e){if(e instanceof Wt&&e.statusCode===404)return null;throw e}},retry:!1,refetchIntervalInBackground:!1,refetchInterval:e=>e.state.error?15e3:e.state.data?.status===`queued`||e.state.data?.status===`running`?1500:!1,structuralSharing:(e,t)=>{let n=e,r=t;return n&&r&&n.operation.ref===r.operation.ref&&n.revision>r.revision?n:t}}))});return Object.fromEntries(n.flatMap((e,n)=>{let r=IJ(e.data,e.isError||e.fetchStatus===`paused`);return r===void 0?[]:[[t[n],r]]}))}function IJ(e,t){if(e)return t&&(e.status===`running`||e.status===`queued`)?`Answer status reconnecting`:e.status===`queued`?`Answer queued`:e.status===`running`?e.phase===`workspace_wait`?`Waiting for workspace`:`Preparing answer`:e.status===`succeeded`?`Answered`:`Answer not completed · Diagnostic ID: ${e.failure.diagnostic_id}`}var LJ=5400,RJ=1500;function zJ(e){let t=e.completionSource;return t?.activityRef??t?.workflowRef??t?.taskId??e.key}function BJ(e){switch(e.kind){case`accepted`:case`already_running`:return null;case`scratchpad_empty`:return{label:`Scratchpad is empty. Let it refresh before running.`,tone:`error`};case`stale_scratchpad`:return{label:`Scratchpad changed. Review the latest snapshot and run again.`,tone:`error`};case`provider_not_configured`:return{label:`Provider is not configured yet.`,tone:`error`};case`provider_unavailable`:return{label:`Provider unavailable: ${e.reason}.`,tone:`error`};case`interrupted`:return{label:`Run was interrupted. Try again.`,tone:`error`}}}function VJ(e,t){t.displayName.trim()===``||e.has(t.key)||e.set(t.key,t)}function HJ(e){if(e.author.kind!==`human`)return null;let t=e.author.display_name?.trim()||`Member`;return{key:e.author.ref===void 0?`message-author:${t.toLocaleLowerCase()}`:e.author.ref,displayName:t,avatar:e.author.avatar??{kind:`initials`,initials:O_(t),color:`blue`}}}function UJ({account:e,presence:t,messages:n=[]}){let r=new Map;e!==void 0&&VJ(r,{key:e.account_ref,displayName:e.display_name,avatar:e.avatar});for(let e of t?.sample_members??[])VJ(r,{key:e.account_ref,displayName:e.display_name,avatar:e.avatar});for(let e of t?.members??[])VJ(r,{key:e.account_ref,displayName:e.display_name,avatar:e.avatar});for(let e of n){let t=HJ(e);t!==null&&VJ(r,t)}return[...r.values()]}function WJ({account:e,presence:t}){let n={},r=(e,t)=>{let r=n[e];n[e]={avatar:t.avatar,online:r?.online===!0||t.online}};for(let e of t?.members??[])r(e.account_ref,{avatar:e.avatar,online:e.online});for(let e of t?.sample_members??[])r(e.account_ref,{avatar:e.avatar,online:!0});return e!==void 0&&r(e.account_ref,{avatar:e.avatar,online:!0}),n}function GJ({relayProjectRef:e}){let t=$e(),n=Ez(),r=VK(),i=(0,L.useMemo)(()=>ab({...AV,relayProjectRef:e}),[e]),a=yK({hostClient:i,relayProjectRef:e}),[o,s]=(0,L.useState)(``),[c,l]=(0,L.useState)(``),[u,d]=(0,L.useState)(null),[f,p]=(0,L.useState)(null),[m,h]=(0,L.useState)(null),[g,_]=(0,L.useState)(()=>Date.now()),[v,y]=(0,L.useState)(null),b=new URL(MV(),window.location.origin).searchParams.get(`message`),x=b!==null&&Lt(b,Nt.message)?b:void 0,[S,C]=(0,L.useState)(()=>x===void 0?{kind:`latest`}:{kind:`around`,messageId:x}),w=(0,L.useRef)(null),T=(0,L.useRef)(null),E=(0,L.useRef)(null),[D,O]=(0,L.useState)(null),k=f!==null;(0,L.useEffect)(()=>{x!==void 0&&(S.kind!==`around`||S.messageId!==x)&&C({kind:`around`,messageId:x})},[S,x]);let A=(t=null)=>{C({kind:`latest`}),y(t),x!==void 0&&$($t(e),{replace:!0})},j=z({queryKey:Q.bootstrap(e),queryFn:()=>i.getBootstrap(),staleTime:jV}),ee=j.data?.session.account.account_ref,M=ee===void 0?null:`${ee}:${e}`,te=x!==void 0||M!==null&&D===M;(0,L.useEffect)(()=>{M===null||D===M||(x===void 0&&ee!==void 0&&C(YG(ee,e).start_chat_pending?{kind:`start`}:{kind:`latest`}),O(M))},[ee,M,e,x,D]);let N=gt({queryKey:Q.messageHistory(e,S,50),queryFn:({pageParam:e})=>i.getMessages(jJ(e)),initialPageParam:AJ(S),getPreviousPageParam:e=>MJ(e),getNextPageParam:e=>NJ(e),enabled:j.isSuccess&&te,staleTime:jV}),P=z({queryKey:Q.scratchpad(e),queryFn:()=>i.getScratchpad(),enabled:j.isSuccess,staleTime:jV,refetchInterval:k?RJ:!1}),F=z({queryKey:Q.activeClarification(e),queryFn:()=>i.getActiveClarification(),enabled:j.isSuccess,staleTime:jV,refetchInterval:k?RJ:!1}),ne=z({queryKey:Q.activeApproval(e),queryFn:()=>i.getActiveApproval(),enabled:j.isSuccess,staleTime:jV}),re=z({queryKey:Q.executionStatus(e),queryFn:()=>i.getExecutionStatus(),enabled:j.isSuccess,staleTime:jV,refetchInterval:k?RJ:!1}),ie=z({queryKey:Q.readState(e),queryFn:()=>i.getReadState(),enabled:j.isSuccess,staleTime:jV}),ae=z({queryKey:Q.projectPresence(e),queryFn:()=>tr(AV,e),enabled:j.isSuccess,staleTime:jV,refetchInterval:6e4});RV(j.isSuccess);let oe=ht({mutationFn:e=>i.updateProjectDisplayName({display_name:e}),onMutate:e=>n.notify({tone:`loading`,title:`Saving project name`,message:e}),onSuccess:(r,i,a)=>{zV(t,e,r.invalidates??[{kind:`workspace`},{kind:`bootstrap`}]),n.update(a,{tone:`success`,title:`Project name saved`,message:i})},onError:(e,t,r)=>{n.update(r,{tone:`error`,title:`Project name save failed`,message:`${t}: ${FV(e)}`})}}),se=ht({mutationFn:e=>i.updateProjectDescription({description:e}),onMutate:e=>n.notify({tone:`loading`,title:`Saving project description`,...e.length===0?{}:{message:e}}),onSuccess:(r,i,a)=>{zV(t,e,r.invalidates??[{kind:`workspace`},{kind:`bootstrap`}]),n.update(a,{tone:`success`,title:`Project description saved`,...i.length===0?{}:{message:i}})},onError:(e,t,r)=>{n.update(r,{tone:`error`,title:`Project description save failed`,message:FV(e)})}}),I=ht({mutationFn:({body:e,commandId:t})=>i.sendMainChatMessage({body:e},{commandId:t}),onSuccess:(n,r)=>{w.current=null,s(e=>e.trim()===r.body?``:e),n.result?.message!==void 0&&(S.kind===`latest`&&!N.hasNextPage?y(n.result.message.id):A(n.result.message.id)),zV(t,e,n.invalidates)},onError:e=>{n.notify({tone:`error`,title:`Message send failed`,message:FV(e)})}}),ce=ht({mutationFn:async t=>{let n=await dH({relayProjectRef:e,purpose:`reference_file`,file:t});return i.uploadReferenceFile(n)},onMutate:e=>n.notify({tone:`loading`,title:`Uploading reference`,message:e.name}),onSuccess:(r,i,a)=>{let o=r.result?.message;o!==void 0&&(S.kind===`latest`&&!N.hasNextPage?y(o.id):A(o.id)),zV(t,e,r.invalidates),n.update(a,{tone:`success`,title:`Reference uploaded`,message:r.result?.file.name??i.name})},onError:(e,t,r)=>{n.update(r,{tone:`error`,title:`Reference upload failed`,message:FV(e)})}}),le=mK({enabled:j.data?.workspace.capabilities.request_status_v1===!0,key:Q.worklist(e),tracker:f,read:(e,t)=>i.getWorklistSubmission(e,t)}),ue=(0,L.useRef)(Bt()),de=(0,L.useRef)(!1),fe=ht({mutationFn:e=>i.submitWorklist(e===void 0?{}:{expected_scratchpad_updated_at:e},{commandId:ue.current}),onMutate:()=>(p({kind:`request`}),n.notify({tone:`loading`,title:`Running Scratchpad`})),onSuccess:(r,i,a)=>{if(r.disposition.kind===`accepted`)p(fK(r,ue.current)),n.update(a,{tone:`success`,title:`Scratchpad run started`,message:`Tenso is preparing Worklist tasks.`});else if(r.disposition.kind===`already_running`)p(fK(r,ue.current)),n.update(a,{tone:`info`,title:`Already running`,message:`Tenso is already processing work.`});else{p(null);let e=BJ(r.disposition);n.update(a,{tone:e?.tone??`warning`,title:`Scratchpad run blocked`,...e?.label===void 0?{}:{message:e.label}})}zV(t,e,r.invalidates)},onError:(e,t,r)=>{p(pK(e,j.data?.workspace.capabilities.request_status_v1===!0,ue.current)),n.update(r,{tone:`warning`,title:`Scratchpad acceptance not confirmed`,message:FV(e)})},onSettled:()=>{de.current=!1}}),pe=j.data,me=WJ({account:pe?.session.account,presence:ae.data?.presence}),he=pe?.generated_at??new Date(0).toISOString(),ge=N.data===void 0?void 0:PJ(N.data.pages,50),_e=ge??(te&&S.kind===`latest`?pe?.snapshots.main_chat:void 0)??BV(),ve=N.data!==void 0&&N.hasPreviousPage===!0,ye=FJ({enabled:pe?.workspace.capabilities.request_status_v1===!0,key:[`host`,e],messages:_e.items,read:(e,t)=>i.getChatRequestStatus(e,t)}),be=N.data!==void 0&&N.hasNextPage===!0,xe=S.kind===`latest`||S.kind===`start`&&!be||S.kind===`around`&&_e.items.length>0&&!be,Se=S.kind===`around`?`around:${S.messageId}`:S.kind,Ce=S.kind===`around`?`focus`:S.kind===`start`?`start`:`latest`,we=pe!==void 0&&(!te||ge===void 0&&N.isLoading&&(S.kind!==`latest`||pe.snapshots.main_chat===void 0)),Te=P.data??pe?.snapshots.scratchpad??HV(),Ee=ie.data??pe?.snapshots.read_state;WV({enabled:j.isSuccess,hostClient:i,relayProjectRef:e,readState:Ee,scope:`chat`});let De=F.data??pe?.snapshots.active_clarification??GV(),Oe=ne.data??pe?.snapshots.active_approval??{state:`none`},ke=De.state===`active`?De.round.id:void 0;(0,L.useEffect)(()=>{u!==null&&(ke===void 0||u!==ke)&&d(null)},[ke,u]);let Ae=De.state===`active`&&De.thread.owner.kind===`task_compile`,je=(0,L.useMemo)(()=>{let e=new Set;for(let t of _e.items)t.clarification_card!==void 0&&e.add(t.clarification_card.round_id);return ke!==void 0&&e.add(ke),[...e]},[ke,_e.items]),Me=pt({queries:je.map(t=>({queryKey:Q.clarificationRoundMessages(e,t),queryFn:()=>i.getClarificationRoundMessages(t,{anchor:`start`,limit:50}),enabled:j.isSuccess}))}),Ne=ht({mutationFn:({roundId:e,body:t})=>i.sendClarificationRoundMessage(e,{body:t}),onSuccess:n=>{l(``),zV(t,e,n.invalidates)},onError:e=>{n.notify({tone:`error`,title:`Reply send failed`,message:FV(e)})}}),Pe=ht({mutationFn:e=>i.submitClarificationRound(e,De.state===`active`&&De.round.answer_revision!==void 0?{expected_answer_revision:De.round.answer_revision}:{}),onMutate:e=>(d(e),n.notify({tone:`loading`,title:`Submitting reply`})),onSuccess:(r,i,a)=>{zV(t,e,r.invalidates);let o=r.disposition.kind===`accepted`||r.disposition.kind===`already_submitted`;o||d(e=>e===i?null:e),n.update(a,{tone:o?`success`:`warning`,title:o?`Reply submitted`:`Reply not submitted`,...o?{}:{message:r.disposition.kind===`no_answers`?`Add an answer before submitting.`:`The clarification or its answers changed. Review it and submit again.`}})},onError:(e,t,r)=>{d(e=>e===t?null:e),n.update(r,{tone:`error`,title:`Reply submit failed`,message:FV(e)})}}),Fe=ht({mutationFn:({approvalId:e,decisionId:t})=>i.decideApproval(e,{decision_id:t}),onMutate:()=>n.notify({tone:`loading`,title:`Sending decision`}),onSuccess:(r,i,a)=>{zV(t,e,r.invalidates),n.update(a,{tone:`success`,title:`Decision sent`})},onError:(e,t,r)=>{n.update(r,{tone:`error`,title:`Decision failed`,message:FV(e)})}}),Ie=Object.fromEntries(je.map((e,t)=>[e,(Me[t]?.data??BV()).items.map(e=>Kz(e,{authorProfiles:me,taskRetryState:a.stateFor}))])),Le=UJ({account:pe?.session.account,presence:ae.data?.presence,messages:[..._e.items,...Me.flatMap(e=>e.data?.items??[])]}),Re=re.data??pe?.snapshots.execution_status??KV(he),ze=qV(Re),Be=JV(Re,`scratchpad_refresh`),Ve=JV(Re,`scratchpad_refresh`,`foreground`),He=JV(Re,`task_compile`,`foreground`),Ue=JV(Re,`project_context_bootstrap`,`foreground`),We=f?.kind===`activity`?f.activityRef:void 0,Ge=dK({tracker:f,execution:Re,scratchpad:Te,clarification:De,approval:Oe,...le.request===void 0?{}:{submission:le.request}});(0,L.useEffect)(()=>{f===null||f.kind===`request`||Ge.settled&&(p(null),Ge.failure!==void 0&&n.notify({tone:`error`,title:`Scratchpad run failed`,message:`Tasks were not prepared. Review Scratchpad before running again.`}))},[f,le.isSuccess,le.request,Ge.settled,Ge.failure,n]);let Ke=We!==void 0&&ze.some(e=>e.activity_ref===We)&&ze.some(e=>e.activity_ref===We&&e.workflow_kind===`scratchpad_refresh`)||f!==null&&Ve,qe=Be,Je=fe.isPending||Ge.submitPending,Ye=Re.status!==`idle`||Je||m!==null;(0,L.useEffect)(()=>{if(!Ye)return;_(Date.now());let e=window.setInterval(()=>{_(Date.now())},1e3);return()=>{window.clearInterval(e)}},[Ye]);let Xe=ze.some(e=>e.activity_kind===`procedure`&&(e.lane??`foreground`)===`foreground`),Ze=ze.some(e=>e.activity_kind===`run`),Qe=Ge.actionsDisabled||(Ze||Xe)&&!qe&&!Je,et=TV(Re),tt={key:`scratchpad-submit`,label:Ae?`Needs input`:Ke?`Compiling Worklist tasks`:Ue?`Preparing project context`:He?`Compiling Worklist tasks`:`Preparing Worklist`,title:Ae?`Needs input`:`Preparing Scratchpad for Worklist.`,tone:Ae?`pending`:`running`,target:Ae?{kind:`clarification`}:{kind:`scratchpad`}},nt=Je&&et.length===0?[tt]:et,rt=xV(Re,{now:g}),it=ze.find(e=>(e.lane??`foreground`)===`foreground`?e.workflow_kind===`project_context_bootstrap`&&Ue||e.workflow_kind===`task_compile`&&He||e.workflow_kind===`scratchpad_refresh`&&Ke?!0:We!==void 0&&e.activity_ref===We:!1),at=(Je?SV({activeScratchpadRefreshFromSubmit:Ke,activeProjectContextBootstrap:Ue,activeTaskCompile:He,activeTaskCompileClarification:Ae,now:g,...it?.started_at===void 0?{}:{startedAt:it.started_at},...Re.runtime===void 0?{}:{runtime:Re.runtime}}):null)??rt;(0,L.useEffect)(()=>{at!==null&&(T.current=at,h(null))},[at]),(0,L.useEffect)(()=>{if(!Be||at!==null)return;let e=T.current;if(e?.completionSource===void 0)return;let t=`hidden:${zJ(e)}`;if(E.current===t)return;E.current=t;let n=CV(e,e.summary);h(n),T.current=null;let r=window.setTimeout(()=>{h(e=>e?.key===n.key?null:e)},LJ);return()=>{window.clearTimeout(r)}},[at,Be]),(0,L.useEffect)(()=>{if(at!==null||Re.status!==`idle`)return;let e=Re.last_conclusion;if(e?.kind!==`completed`)return;let t=e.activity_ref??`${e.kind}:${e.task_id??`none`}:${e.occurred_at}`;if(E.current===t)return;let n=T.current;if(n===null)return;if(!wV(n,e)){T.current=null;return}E.current=t;let r=CV(n,e.summary);h(r);let i=window.setTimeout(()=>{h(e=>e?.key===r.key?null:e),T.current=null},LJ);return()=>{window.clearTimeout(i)}},[at,Re.last_conclusion?.activity_ref,Re.last_conclusion?.kind,Re.last_conclusion?.occurred_at,Re.last_conclusion?.summary,Re.last_conclusion?.task_id,Re.status]);let ot=at??m,st=m===null?null:{key:`completed`,label:`Completed`,tone:`done`,target:m.completionTarget??{kind:`scratchpad`}},ct=st===null?nt:[st,...nt],lt=e=>{e.preventDefault();let t=o.trim();if(t!==``&&!I.isPending){let e=w.current?.body===t?w.current:{body:t,commandId:Bt()};w.current=e,I.mutate(e)}},ut=e=>{e.preventDefault();let t=c.trim();t!==``&&ke!==void 0&&!Ne.isPending&&Ne.mutate({roundId:ke,body:t})},dt=te&&ge===void 0&&N.error!==null&&(S.kind!==`latest`||pe?.snapshots.main_chat===void 0),ft=pe===void 0&&j.error!==null||dt;return(0,L.useEffect)(()=>{x!==void 0&&y(x)},[x]),(0,R.jsx)(KU,{projectName:pe?.workspace.project.display_name??`Workspace`,projectDescription:pe?.workspace.project.description??``,members:Le,messages:_e.items.map(e=>Kz(e,{...ye[e.id]===void 0?{}:{requestStatus:ye[e.id]},authorProfiles:me,taskRetryState:a.stateFor,referenceAssetUrl:(e,t,n)=>i.viewerAssetUrl({path:e,variant:t,v:n})})),scratchpad:lB(Te,_e.items,le.note),executionProgress:ot,activeApproval:Zz(Oe),activeClarification:qz(De),clarificationMessagesByRoundId:Ie,statusShortcuts:ct,unread:UV(Ee),artifactSignal:r.sidebarSignal,draft:o,roundDraft:c,sendPending:I.isPending,focusMessageId:v,messageHistoryIdentity:Se,initialMessagePosition:Ce,hasOlderMessages:ve,hasNewerMessages:be,loadingOlderMessages:N.isFetchingPreviousPage,loadingNewerMessages:N.isFetchingNextPage,historyConnectedToLatest:xe,submittedRoundId:u,referenceUploadPending:ce.isPending,scratchpadSyncPending:qe,scratchpadActionsDisabled:Qe,scratchpadSubmitPending:Je,roundSendPending:Ne.isPending,roundSubmitPending:Pe.isPending,approvalDecisionPending:Fe.isPending,projectNameSaving:oe.isPending,projectDescriptionSaving:se.isPending,loading:pe===void 0&&j.isLoading||we,unavailable:ft,onDraftChange:e=>{w.current?.body!==e.trim()&&(w.current=null),s(e)},onMessageFocused:()=>y(null),onInitialMessagePositioned:()=>{S.kind===`start`&&N.isSuccess&&ee!==void 0&&QG(ee,e)},onLoadOlderMessages:()=>{N.fetchPreviousPage()},onLoadNewerMessages:()=>{N.fetchNextPage({cancelRefetch:!1})},onJumpToLatest:()=>A(),onUploadReferenceFile:e=>ce.mutate(e),onOpenReferenceFile:t=>$(XV(e,t)),onRoundDraftChange:l,onSendMessage:lt,onSendRoundMessage:ut,onSubmitRound:()=>{ke!==void 0&&Pe.mutate(ke)},onDecideApproval:(e,t)=>Fe.mutate({approvalId:e,decisionId:t}),onSubmitScratchpad:()=>{de.current||Je||Qe||(de.current=!0,ue.current=Bt(),fe.mutate(Te.updated_at))},onUpdateProjectDisplayName:async e=>{await oe.mutateAsync(e)},onUpdateProjectDescription:async e=>{await se.mutateAsync(e)},onOpenProjectCenter:()=>$(`/projects`),onOpenWorklist:()=>$(QV(e)),onOpenWorklistTask:t=>$(QV(e,t)),onRetryTask:(e,t)=>a.retry(e,t),onOpenReferences:()=>$(XV(e)),onOpenArtifacts:()=>$(ZV(e)),onViewArtifactFeedback:(t,n)=>{let i=_e.items.find(e=>e.id===t)?.refs?.artifact_feedback,a=i?.annotations[n];i===void 0||a===void 0||(r.requestFeedbackActivation({messageId:t,annotationIndex:n,previewGeneration:i.preview_generation,documentUrl:a.document_url,target:a.target}),$(ZV(e)))},onOpenSkills:()=>$(nH(e)),onOpenTimeline:()=>$(tH(e)),onOpenSettings:()=>$(eH(e)),onActivateStatusShortcut:t=>iH(e,t)})}function KJ(e){return Jt(e)?qt(e,`relay_session_invalid`)?`client_session`:`account_session`:null}function qJ(e){return e===`client_session`?{title:`Workspace session expired`,message:`Open the project again from Project Center.`}:{title:`Sign in required`,message:`Sign in to Tenso before opening this workspace.`}}function JJ(e){return e===`client_session`?`/projects`:`/`}function YJ({relayProjectRef:e,children:t}){let n=$e(),r=Ez(),i=(0,L.useMemo)(()=>ab({...AV,relayProjectRef:e}),[e]),a=(0,L.useRef)(void 0),o=(0,L.useRef)(null),s=z({queryKey:Q.bootstrap(e),queryFn:()=>i.getBootstrap(),staleTime:jV}),c=KJ(s.error),l=c===null&&s.data?.workspace.capabilities.sse===!0;return a.current===void 0&&s.data!==void 0&&(a.current=s.data.event_cursor),(0,L.useEffect)(()=>{if(c===null)return;let t=`${e}:${c}`;o.current!==t&&(o.current=t,r.notify({tone:`warning`,...qJ(c)}),$(JJ(c),{replace:!0}))},[c,r,e]),(0,L.useEffect)(()=>{if(!l)return;let t=i.connectEvents({...a.current===void 0?{}:{after:a.current},onReady:t=>{t.payload.replay.status===`missed`&&n.invalidateQueries({queryKey:Q.hostRoot(e)})},onInvalidate:t=>{zV(n,e,t)},onError:()=>void 0});return()=>t.close()},[i,n,e,l]),(0,R.jsxs)(BK,{relayProjectRef:e,hostClient:i,enabled:c===null&&s.isSuccess,feedbackEnabled:s.data?.workspace.capabilities.artifact_feedback===!0,children:[(0,R.jsx)(zb,{route:{kind:`workspace`,relayProjectRef:e},projectDisplayName:s.data?.workspace.project.display_name??null}),c===null?t:null]})}function XJ({relayProjectRef:e}){let t=(0,L.useMemo)(()=>ab({...AV,relayProjectRef:e}),[e]),n=z({queryKey:Q.bootstrap(e),queryFn:()=>t.getBootstrap(),staleTime:jV}).data?.session.account.account_ref,r=n===void 0?null:`${n}:${e}`,[i,a]=(0,L.useState)({identity:null,pending:!1}),[o,s]=(0,L.useState)(!1),c=UO();(0,L.useEffect)(()=>{n===void 0||r===null||i.identity===r||a({identity:r,pending:YG(n,e).tour_pending})},[n,r,i.identity,e]);let l=t=>{$G(t,e),a({identity:r,pending:!1})};return(0,R.jsxs)(R.Fragment,{children:[c&&r!==null&&i.identity===r&&i.pending&&n!==void 0&&typeof document<`u`?(0,rS.createPortal)((0,R.jsx)(XO,{onOpen:()=>{l(n),s(!0)},onDismiss:()=>l(n)}),document.body):null,(0,R.jsx)(ZO,{assets:BR,open:o,onOpenChange:s})]})}var ZJ=`tutti.artifact-inspector`,QJ=128,$J=128,eY=2048,tY=6,nY=240,rY=[`expanded`,`selected`,`checked`,`pressed`,`disabled`];function iY(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function aY(e,t){return Object.keys(e).every(e=>t.includes(e))}function oY(e,t,n=!1){return typeof e==`string`&&e.length<=t&&(n||e.length>0)}function sY(e){return{protocol:ZJ,version:1,channel_id:e.channelId,...e.requestId===void 0?{}:{request_id:e.requestId},type:e.type,payload:e.payload}}function cY(e){return iY(e)?e.protocol===`tutti.artifact-inspector`&&e.version===1&&oY(e.channel_id,QJ)&&(e.request_id===void 0||oY(e.request_id,$J))&&oY(e.type,64)&&`payload`in e:!1}function lY(e){if(!oY(e,eY))return!1;try{return new URL(e,`https://artifact.invalid`).origin===`https://artifact.invalid`&&e.startsWith(`/`)}catch{return!1}}function uY(e,t){return e===void 0||oY(e,t)}function dY(e){return iY(e)&&aY(e,[`tag_name`,`role`,`accessible_name`])&&oY(e.tag_name,64)&&uY(e.role,64)&&uY(e.accessible_name,160)}function fY(e){if(!iY(e)||!Array.isArray(e.context)||e.context.length>3||!aY(e,[`element_kind`,`tag_name`,`role`,`accessible_name`,`text_excerpt`,`context`,`state`]))return!1;let t=e.state;return t!==void 0&&(!iY(t)||!aY(t,rY)||!Object.values(t).every(e=>typeof e==`boolean`))?!1:(e.element_kind===`control`||e.element_kind===`content`||e.element_kind===`container`)&&oY(e.tag_name,64)&&uY(e.role,64)&&uY(e.accessible_name,160)&&uY(e.text_excerpt,280)&&e.context.every(dY)}function pY(e){return iY(e)&&aY(e,[`id`,`test_id`])&&uY(e.id,128)&&uY(e.test_id,160)&&(e.id!==void 0||e.test_id!==void 0)}function mY(e){return!iY(e)||!aY(e,[`version`,`explicit_anchor`,`stable_attributes`,`semantic_path`,`selector_path`])||e.version!==1||!Array.isArray(e.semantic_path)||e.semantic_path.length>4||!Array.isArray(e.selector_path)||e.selector_path.length===0||e.selector_path.length>4?!1:uY(e.explicit_anchor,160)&&(e.stable_attributes===void 0||pY(e.stable_attributes))&&e.semantic_path.every(e=>iY(e)&&aY(e,[`role`,`accessible_name`])&&(e.role!==void 0||e.accessible_name!==void 0)&&uY(e.role,64)&&uY(e.accessible_name,160))&&e.selector_path.every(e=>iY(e)&&aY(e,[`root`,`selector`])&&(e.root===`document`||e.root===`open_shadow_root`)&&oY(e.selector,1024))}function hY(e){return!iY(e)||!aY(e,[`snapshot`,`anchor`,`fallback_context`])||!fY(e.snapshot)||!mY(e.anchor)?!1:e.fallback_context===void 0||iY(e.fallback_context)&&aY(e.fallback_context,[`snapshot`,`anchor`])&&fY(e.fallback_context.snapshot)&&mY(e.fallback_context.anchor)}function gY(e){return iY(e)&&Number.isInteger(e.candidate_index)&&Number(e.candidate_index)>=0&&Number(e.candidate_index)<tY&&fY(Object.fromEntries(Object.entries(e).filter(([e])=>e!==`candidate_index`)))}function _Y(e){return!cY(e)||!iY(e.payload)?!1:e.type===`ready`?aY(e.payload,[`document_url`,`inspector_version`])&&lY(e.payload.document_url)&&e.payload.inspector_version===1:e.type===`candidates`?aY(e.payload,[`capture_id`,`recommended_index`,`items`])&&oY(e.payload.capture_id,$J)&&Number.isInteger(e.payload.recommended_index)&&Number(e.payload.recommended_index)>=0&&Array.isArray(e.payload.items)&&e.payload.items.length>0&&e.payload.items.length<=tY&&Number(e.payload.recommended_index)<e.payload.items.length&&e.payload.items.every(gY):e.type===`selection`?aY(e.payload,[`target`])&&hY(e.payload.target):e.type===`resolution`?aY(e.payload,[`status`])&&(e.payload.status===`exact`||e.payload.status===`context_only`||e.payload.status===`ambiguous`||e.payload.status===`missing`):e.type===`document_changed`?aY(e.payload,[`document_url`])&&lY(e.payload.document_url):e.type===`unavailable`?aY(e.payload,[`reason`])&&oY(e.payload.reason,nY):!1}var vY=5e3,yY=class extends Error{constructor(e){super(e),this.name=`ArtifactInspectorControllerError`}};function bY(e){let t;try{t=new URL(e)}catch{throw new yY(`Artifact preview origin is invalid`)}if(t.protocol!==`https:`&&t.protocol!==`http:`||t.origin!==e)throw new yY(`Artifact preview origin must be exact`);return t.origin}var xY=class{#e;#t;#n;#r;#i;#a;#o;#s;#c=null;#l=null;#u=!1;#d=!1;#f=0;#p=new Map;constructor(e){this.#e=e.iframe,this.#t=bY(e.targetOrigin),this.#n=e.onEvent,this.#r=e.requestTimeoutMs??vY,this.#i=e.createChannelId??(()=>crypto.randomUUID()),this.#a=e.createMessageChannel??(()=>new MessageChannel),this.#o=e.setTimeoutFn??window.setTimeout.bind(window),this.#s=e.clearTimeoutFn??window.clearTimeout.bind(window)}get ready(){return this.#u}connect(){if(this.#d)throw new yY(`Artifact inspector controller is disposed`);let e=this.#e.contentWindow;if(e===null)throw new yY(`Artifact preview is not mounted`);this.#_(`Artifact preview document changed`);let t=this.#i();if(t.length===0||t.length>128)throw new yY(`Artifact inspector channel is invalid`);let n=this.#a();this.#c=t,this.#l=n.port1,this.#l.addEventListener(`message`,this.#g),this.#l.start();try{e.postMessage(sY({channelId:t,type:`connect`,payload:{}}),this.#t,[n.port2])}catch(e){throw this.#_(`Artifact inspector connection failed`),e}}activate(){this.#m(`activate`,{})}deactivate(){this.#m(`deactivate`,{})}clearHighlight(){this.#m(`clear_highlight`,{})}confirmCandidate(e,t){return this.#h(`confirm_candidate`,{capture_id:e,candidate_index:t},`selection`).then(e=>{if(e.type!==`selection`)throw new yY(`Artifact inspector selection response is invalid`);return e.payload.target})}resolve(e){return this.#h(`resolve`,{target:e},`resolution`).then(e=>{if(e.type!==`resolution`)throw new yY(`Artifact inspector resolution response is invalid`);return e.payload.status})}dispose(){if(!this.#d){if(this.#l!==null)try{this.deactivate()}catch{}this.#d=!0,this.#_(`Artifact inspector controller was disposed`)}}#m(e,t){let n=this.#l,r=this.#c;if(this.#d||n===null||r===null||!this.#u)throw new yY(`Artifact inspector is not ready`);n.postMessage(sY({channelId:r,type:e,payload:t}))}#h(e,t,n){let r=this.#l,i=this.#c;if(this.#d||r===null||i===null||!this.#u)return Promise.reject(new yY(`Artifact inspector is not ready`));let a=`${i}:${++this.#f}`;return new Promise((o,s)=>{let c=this.#o(()=>{this.#p.delete(a),s(new yY(`Artifact inspector request timed out`))},this.#r);this.#p.set(a,{expectedType:n,resolve:o,reject:s,timeout:c}),r.postMessage(sY({channelId:i,requestId:a,type:e,payload:t}))})}#g=e=>{let t=e.data,n=this.#c;if(n===null||!_Y(t)||t.channel_id!==n)return;t.type===`ready`&&(this.#u=!0);let r=t.request_id;if(r!==void 0){let e=this.#p.get(r);e!==void 0&&(t.type===`unavailable`?(this.#s(e.timeout),this.#p.delete(r),e.reject(new yY(t.payload.reason))):t.type===e.expectedType&&(this.#s(e.timeout),this.#p.delete(r),e.resolve(t)))}this.#n?.(t)};#_(e){this.#u=!1;for(let t of this.#p.values())this.#s(t.timeout),t.reject(new yY(e));this.#p.clear(),this.#l!==null&&(this.#l.removeEventListener(`message`,this.#g),this.#l.close()),this.#l=null,this.#c=null}},SY=4e3;function CY(e){if(e!==void 0)try{let t=new URL(e,window.location.href);return t.protocol===`https:`||t.protocol===`http:`?t.origin:void 0}catch{return}}function wY(e){return(e.summary?.length??0)+e.annotations.reduce((e,t)=>e+t.comment.length,0)}function TY(e){return new TextEncoder().encode(JSON.stringify(e)).byteLength}function EY({relayProjectRef:e}){let t=VK(),n=Ez(),r=$e(),i=(0,L.useMemo)(()=>ab({...AV,relayProjectRef:e}),[e]),a=(0,L.useMemo)(()=>Wn(AV),[]),o=(0,L.useRef)(null),s=(0,L.useRef)(null),c=(0,L.useRef)(null),l=(0,L.useRef)(null),u=(0,L.useRef)(null),[d,f]=(0,L.useState)(void 0),[p,m]=(0,L.useState)(!1),[h,g]=(0,L.useState)(void 0),[_,v]=(0,L.useState)(void 0),[y,b]=(0,L.useState)(!1),[x,S]=(0,L.useState)(void 0),[C,w]=(0,L.useState)(void 0),[T,E]=(0,L.useState)(``),D=z({queryKey:Q.bootstrap(e),queryFn:()=>i.getBootstrap(),staleTime:jV}),O=z({queryKey:Q.executionStatus(e),queryFn:()=>i.getExecutionStatus(),enabled:D.isSuccess,staleTime:jV}),k=z({queryKey:Q.readState(e),queryFn:()=>i.getReadState(),enabled:D.isSuccess,staleTime:jV}),A=D.data,j=A?.generated_at??new Date(0).toISOString(),ee=k.data??A?.snapshots.read_state,M=O.data??A?.snapshots.execution_status??KV(j),te=M.active_activity?.activity_kind===`run`||M.active_activities?.some(e=>e.activity_kind===`run`)===!0,N=t.artifact,P=N?.status===`declared`&&N.preview.status===`ready`&&N.preview.url!==void 0?N.preview.url:null,F=N?.status===`declared`?N.preview_generation:void 0,ne=z({queryKey:Q.artifactPreviewSession(e,P??`not-ready`),queryFn:()=>a.issueArtifactPreviewSession(e),enabled:P!==null,staleTime:1/0,retry:1,refetchInterval:e=>TK(e.state.data)}),re=ne.data,ie=re?.disposition.kind===`issued`?re.result?.bootstrap_url:void 0,ae=ne.error===null?wK(re):FV(ne.error),oe=CY(ie);(0,L.useEffect)(()=>{f(ie)},[ie]);let se=(0,L.useCallback)(e=>{if(e.type===`ready`){m(!0),g(void 0),v(e.payload.document_url);return}if(e.type===`candidates`){g(void 0);let t=s.current;if(t===null){g(`Element selection is not ready.`);return}let n=e.payload.capture_id;u.current=n,t.confirmCandidate(n,e.payload.recommended_index).then(e=>{u.current===n&&(t.deactivate(),S(e),w(new Date().toISOString()),g(void 0))}).catch(e=>{u.current===n&&g(FV(e))}).finally(()=>{u.current===n&&(u.current=null)});return}if(e.type===`document_changed`){v(e.payload.document_url);return}e.type===`unavailable`&&g(e.payload.reason)},[]);(0,L.useEffect)(()=>{let e=o.current;if(e===null||oe===void 0)return;m(!1),g(void 0),v(void 0);let t=new xY({iframe:e,targetOrigin:oe,onEvent:se});s.current=t;try{t.connect()}catch(e){g(FV(e))}return()=>{t.dispose(),s.current===t&&(s.current=null)}},[se,oe]),(0,L.useEffect)(()=>{if(!t.feedbackEnabled||oe===void 0||p||P===null)return;let e=window.setTimeout(()=>{g(e=>e??`Element selection could not connect to this preview.`)},SY);return()=>window.clearTimeout(e)},[t.feedbackEnabled,p,oe,P]),(0,L.useEffect)(()=>{if(t.feedbackDraftStale){try{s.current?.deactivate(),s.current?.clearHighlight()}catch{}u.current=null,S(void 0),w(void 0)}},[t.feedbackDraftStale]);let I=(0,L.useCallback)(()=>{m(!1),v(void 0);try{s.current?.connect()}catch(e){g(FV(e))}},[]),ce=(0,L.useCallback)(()=>{g(void 0),u.current=null,S(void 0),w(void 0);try{s.current?.clearHighlight(),s.current?.activate()}catch(e){g(FV(e))}},[]),le=(0,L.useCallback)(()=>{try{s.current?.deactivate(),s.current?.clearHighlight()}catch{}b(!1),u.current=null,S(void 0),w(void 0),E(``)},[]),ue=(0,L.useCallback)(()=>{u.current=null,S(void 0),w(void 0),E(``),g(void 0);try{s.current?.clearHighlight(),s.current?.activate()}catch(e){g(FV(e))}},[]),de=(0,L.useCallback)(()=>{if(F===void 0||!p)return;let e=t.feedbackDraft;b(!0),!(e!==null&&e.previewGeneration!==F)&&(t.beginFeedbackDraft(F),ce())},[t,p,F,ce]),fe=t.feedbackDraft,pe=fe===null?null:{expected_preview_generation:fe.previewGeneration,annotations:fe.annotations.map(e=>({document_url:e.document_url,comment:e.comment.trim(),target:e.target}))},me=pe!==null&&wY(pe)>6e3,he=pe!==null&&TY(pe)>65536,ge=ht({mutationFn:e=>i.sendMainChatMessage({artifact_feedback:e.payload},{commandId:e.commandId}),onSuccess:i=>{if(i.disposition.kind===`created`){c.current=null,t.clearFeedbackDraft(),le(),zV(r,e,i.invalidates),n.notify({tone:`success`,title:`Artifact feedback sent`});let a=i.result?.message.id;$(a===void 0?$t(e):$V(e,a));return}i.disposition.kind===`artifact_changed`?n.notify({tone:`warning`,title:`Artifact changed`,message:`Start a new feedback batch from the current preview.`}):i.disposition.kind===`artifact_unavailable`?n.notify({tone:`warning`,title:`Artifact unavailable`,message:`The feedback draft was kept in this tab.`}):n.notify({tone:`error`,title:`Feedback send could not be confirmed`}),r.invalidateQueries({queryKey:Q.artifacts(e)})},onError:e=>{n.notify({tone:`error`,title:`Artifact feedback send failed`,message:FV(e)})}}),_e=(0,L.useCallback)(()=>{if(pe===null||pe.annotations.length===0||t.feedbackDraftStale||me||he||ge.isPending)return;let e=JSON.stringify(pe),n=c.current?.serialized===e?c.current:{commandId:Bt(),payload:pe,serialized:e};c.current=n,ge.mutate(n)},[t.feedbackDraftStale,pe,he,me,ge]);(0,L.useEffect)(()=>{let e=t.pendingActivation;if(e===null){l.current=null;return}let r=`${e.messageId}:${e.annotationIndex}`;if(F===void 0||N?.status!==`declared`||N.preview.status!==`ready`||e.previewGeneration!==F){n.notify({tone:`warning`,title:`Artifact feedback is from an earlier preview`}),t.clearFeedbackActivation();return}if(!p||oe===void 0||_===void 0){h!==void 0&&(n.notify({tone:`warning`,title:`Artifact element could not be located`,message:h}),t.clearFeedbackActivation());return}if(_!==e.documentUrl){let t=new URL(e.documentUrl,oe).toString();d!==t&&(m(!1),f(t));return}let i=s.current;i===null||l.current===r||(l.current=r,i.resolve(e.target).then(e=>{e===`exact`?n.notify({tone:`success`,title:`Artifact element highlighted`}):e===`context_only`?n.notify({tone:`warning`,title:`Only the surrounding context is still visible`}):e===`ambiguous`?n.notify({tone:`warning`,title:`The element is no longer unique in this preview`}):n.notify({tone:`warning`,title:`The element is not currently visible`})}).catch(e=>{n.notify({tone:`warning`,title:`Artifact element could not be located`,message:FV(e)})}).finally(()=>{l.current=null,t.clearFeedbackActivation()}))},[N,t,p,_,F,d,h,oe,n]);let ve=d??ie,ye=Rz(N,{...ve===void 0?{}:{previewUrl:ve},pending:P!==null&&ve===void 0&&ae===void 0,...ae===void 0?{}:{errorMessage:ae}},{runActive:te}),be=N!==void 0,xe=!be&&(D.error!==null||t.unavailable),Se=t.feedbackEnabled,Ce=Se&&p&&ye.status===`declared`&&ye.previewStatus===`ready`,we=fe?.annotations.map(e=>({key:e.key,documentUrl:e.document_url,comment:e.comment,time:Mz(e.createdAt),target:Lz(e.target.snapshot)}))??[],Te=t.feedbackDraftStale?`Start over from the current Artifact before submitting.`:we.length===0?`Add at least one comment before submitting.`:me?`Shorten these comments to 6,000 characters before submitting.`:he?`Remove some comments before submitting this batch.`:void 0,Ee=Te===void 0&&!ge.isPending;return(0,R.jsx)(qU,{statusShortcuts:TV(M),unread:UV(ee),state:ye,loading:!be&&(D.isLoading||t.loading),unavailable:xe,iframeRef:o,onPreviewLoad:I,...A?.session.account===void 0?{}:{feedback:{supported:Se,ready:Ce,open:y,canSubmit:Ee,submitPending:ge.isPending,...Te===void 0?{}:{submitDisabledReason:Te},...h===void 0?{}:{unavailableReason:h},author:{displayName:A.session.account.display_name,avatar:A.session.account.avatar},onOpen:de,onSubmit:_e,rail:{comment:T,annotations:we,...x===void 0?{}:{selectedTarget:Lz(x.snapshot)},...C===void 0?{}:{selectedTime:Mz(C)},stale:t.feedbackDraftStale,...h===void 0?{}:{bridgeUnavailableReason:h},...me||he?{sendDisabledReason:me?`Shorten these comments to 6,000 characters before submitting.`:`Remove some comments before submitting this batch.`}:{},onCommentChange:e=>{c.current=null,E(e)},onCancelSelection:ue,onAddAnnotation:()=>{if(!(x===void 0||_===void 0||T.trim().length===0)){c.current=null,t.addFeedbackAnnotation({document_url:_,comment:T.trim(),target:x,createdAt:C??new Date().toISOString()});try{s.current?.activate()}catch(e){g(FV(e))}S(void 0),w(void 0),E(``)}},onRemoveAnnotation:e=>{c.current=null,t.removeFeedbackAnnotation(e)},onReset:()=>{c.current=null,t.clearFeedbackDraft(),F!==void 0&&(t.beginFeedbackDraft(F),ce())}}}},onOpenProjectCenter:()=>$(`/projects`),onOpenChat:()=>$($t(e)),onOpenWorklist:()=>$(QV(e)),onOpenReferences:()=>$(XV(e)),onOpenSkills:()=>$(nH(e)),onOpenTimeline:()=>$(tH(e)),onOpenSettings:()=>$(eH(e)),onActivateStatusShortcut:t=>iH(e,t)})}function DY(e){let t=e.summary;return t===void 0||t.status===`missing`?{summaryStatus:`Summary not available yet`}:t.status===`stale`?{...t.text===void 0?{}:{summary:t.text},summaryStatus:`Summary may be out of date`}:t.status===`unavailable`?{...t.text===void 0?{}:{summary:t.text},summaryStatus:`Summary could not be generated`}:t.text===void 0?{summaryStatus:`Summary unavailable`}:{summary:t.text}}function OY(e){if(e.category===`image`)return[e.media_type??`Image`,oH(e.size_bytes)].join(` · `);let t=[oH(e.size_bytes)];return e.text_read.can_read||t.push(sH(e.text_read.blocked_reason)),t.join(` · `)}function kY(e){if(!e.path.startsWith(`docs/reference/`))return;let[t,n]=e.path.slice(15).split(`/`);if(!(t===void 0||t.length===0||n===void 0||t===`files`||t===`images`))return t}function AY(e,t=kY(e)){if(t===void 0){let t=e.category===`image`?`docs/reference/images/`:`docs/reference/files/`;return e.path.startsWith(t)?e.path.slice(t.length):e.name}return e.path.slice(`docs/reference/${t}/`.length)}function jY(e,t){let n=kY(e);return{path:e.path,name:AY(e,n),meta:OY(e),...n===void 0?{}:{folderGroup:n},selected:t.selected,canPreview:e.text_read.can_read,category:e.category,...t.thumbnailUrl===void 0?{}:{thumbnailUrl:t.thumbnailUrl},...e.extension===void 0?{}:{extension:e.extension}}}function MY({relayProjectRef:e}){let t=$e(),n=Ez(),r=VK(),i=(0,L.useMemo)(()=>ab({...AV,relayProjectRef:e}),[e]),a=new URL(MV(),window.location.origin).searchParams.get(`path`)??void 0,[o,s]=(0,L.useState)(a),[c,l]=(0,L.useState)(`time`),u=z({queryKey:Q.bootstrap(e),queryFn:()=>i.getBootstrap(),staleTime:jV}),d=z({queryKey:Q.referenceFiles(e),queryFn:()=>i.getReferenceFiles({limit:200}),enabled:u.isSuccess,staleTime:jV}),f=z({queryKey:Q.messagesWindow(e,200),queryFn:()=>i.getMessages({limit:200}),enabled:u.isSuccess,staleTime:jV}),p=z({queryKey:Q.executionStatus(e),queryFn:()=>i.getExecutionStatus(),enabled:u.isSuccess,staleTime:jV}),m=z({queryKey:Q.readState(e),queryFn:()=>i.getReadState(),enabled:u.isSuccess,staleTime:jV}),h=d.data?.items??[],g=(0,L.useMemo)(()=>{let e=new Map;for(let t of f.data?.items??[]){let n=t.refs?.reference_file;if(n===void 0)continue;let r=e.get(n.path);(r===void 0||t.created_at>r)&&e.set(n.path,t.created_at)}return e},[f.data?.items]),_=(0,L.useMemo)(()=>{let e=(e,t)=>e.name.localeCompare(t.name),t=(t,n)=>{let r=g.get(t.path)??``,i=g.get(n.path)??``;return r===i?e(t,n):i.localeCompare(r)},n=(e,n)=>{let r=e.extension??e.media_type??`file`,i=n.extension??n.media_type??`file`;return r===i?t(e,n):r.localeCompare(i)},r=[...h.filter(e=>e.category===`image`)].sort(t),i=[...h.filter(e=>e.category!==`image`)].sort(c===`time`?t:n);return[...r,...i]},[c,h,g]);(0,L.useEffect)(()=>{if(_.length===0){o!==void 0&&s(void 0);return}if(a!==void 0&&_.some(e=>e.path===a)){o!==a&&s(a);return}(o===void 0||!_.some(e=>e.path===o))&&s(_[0]?.path)},[_,a,o]);let v=h.find(e=>e.path===o),y=v?.category===`image`,b=v?.text_read.can_read===!0,x=z({queryKey:o===void 0?Q.viewerFile(e,`none`):Q.viewerFile(e,o),queryFn:()=>i.getViewerFile({path:o,max_bytes:204800}),enabled:u.isSuccess&&o!==void 0&&b&&!y,staleTime:jV}),S=ht({mutationFn:async t=>{let n=await dH({relayProjectRef:e,purpose:`reference_file`,file:t});return i.uploadReferenceFile(n)},onMutate:e=>n.notify({tone:`loading`,title:`Uploading reference`,message:e.name}),onSuccess:(r,i,a)=>{zV(t,e,r.invalidates),r.result?.file.path!==void 0&&(s(r.result.file.path),$(XV(e,r.result.file.path))),n.update(a,{tone:`success`,title:`Reference uploaded`,message:r.result?.file.name??i.name})},onError:(e,t,r)=>{n.update(r,{tone:`error`,title:`Reference upload failed`,message:FV(e)||t.name})}}),C=u.data,w=C?.generated_at??new Date(0).toISOString(),T=m.data??C?.snapshots.read_state;WV({enabled:u.isSuccess,hostClient:i,relayProjectRef:e,readState:T,scope:`references`});let E=p.data??C?.snapshots.execution_status??KV(w),D=_.map(e=>jY(e,{selected:e.path===o,...e.category!==`image`||e.blob_oid===void 0?{}:{thumbnailUrl:i.viewerAssetUrl({path:e.path,variant:`thumbnail`,v:e.blob_oid})}})),O=x.data?.content,k=(()=>{if(v===void 0)return{title:h.length===0?`No reference files`:`No file selected`,unavailableReason:h.length===0?`No reference files`:`Select a reference file`};if(O?.kind===`text`)return{title:v.name,meta:oH(v.size_bytes),...DY(v),content:O.text};if(y&&o!==void 0)return v.blob_oid===void 0?{title:v.name,meta:oH(v.size_bytes),...DY(v),unavailableReason:`Image version unavailable`}:{title:v.name,meta:oH(v.size_bytes),...DY(v),imageUrl:i.viewerAssetUrl({path:o,variant:`preview`,v:v.blob_oid})};let e=b&&x.isLoading?`Loading`:cH(O)??(b?void 0:sH(v.text_read.blocked_reason));return e===void 0?{title:v.name,meta:oH(v.size_bytes),...DY(v)}:{title:v.name,meta:oH(v.size_bytes),...DY(v),unavailableReason:e}})(),A=d.data!==void 0,j=!A&&(u.error!==null||d.error!==null);return(0,R.jsx)(JU,{statusShortcuts:TV(E),unread:UV(T),artifactSignal:r.sidebarSignal,files:D,detail:k,uploadPending:S.isPending,fileSortMode:c,loading:!A&&(u.isLoading||d.isLoading),unavailable:j,onOpenProjectCenter:()=>$(`/projects`),onOpenChat:()=>$($t(e)),onOpenWorklist:()=>$(QV(e)),onOpenArtifacts:()=>$(ZV(e)),onOpenSkills:()=>$(nH(e)),onOpenTimeline:()=>$(tH(e)),onOpenSettings:()=>$(eH(e)),onActivateStatusShortcut:t=>iH(e,t),onSelectFile:t=>{s(t),$(XV(e,t))},onUploadFile:e=>S.mutate(e),onFileSortModeChange:l})}var NY={provider_auth_invalid:`The existing API key was rejected.`,provider_quota_or_billing_required:`Quota or billing needs attention.`,provider_rate_limited:`The provider rate limit was reached. Try again shortly.`,provider_model_unavailable:`That model is unavailable for this provider.`,provider_network_error:`The provider could not be reached.`};function PY({relayProjectRef:e}){let t=$e(),n=Ez(),r=VK(),[i,a]=(0,L.useState)([]),o=(0,L.useMemo)(()=>ab({...AV,relayProjectRef:e}),[e]),s=z({queryKey:Q.bootstrap(e),queryFn:()=>o.getBootstrap()}),c=z({queryKey:Q.hostWorkspace(e),queryFn:()=>o.getWorkspace(),enabled:s.isSuccess}),l=z({queryKey:Q.hostSession(e),queryFn:()=>o.getSession(),enabled:s.isSuccess}),u=z({queryKey:Q.providerConfig(e),queryFn:()=>o.getProviderConfig(),enabled:s.isSuccess}),d=z({queryKey:Q.executionStatus(e),queryFn:()=>o.getExecutionStatus(),enabled:s.isSuccess}),f=z({queryKey:Q.readState(e),queryFn:()=>o.getReadState(),enabled:s.isSuccess}),p=z({queryKey:Q.projectPresence(e),queryFn:()=>tr(AV,e),enabled:s.isSuccess,staleTime:jV,refetchInterval:6e4});RV(s.isSuccess);let m=ht({mutationFn:e=>o.updateProjectDisplayName({display_name:e}),onMutate:e=>n.notify({tone:`loading`,title:`Saving project name`,message:e}),onSuccess:(r,i,a)=>{zV(t,e,r.invalidates??[{kind:`workspace`},{kind:`bootstrap`}]),n.update(a,{tone:`success`,title:`Project name saved`,message:i})},onError:(e,t,r)=>{n.update(r,{tone:`error`,title:`Project name save failed`,message:`${t}: ${FV(e)}`})}}),h=ht({mutationFn:e=>o.updateProjectDescription({description:e}),onMutate:e=>n.notify({tone:`loading`,title:`Saving project description`,...e.length===0?{}:{message:e}}),onSuccess:(r,i,a)=>{zV(t,e,r.invalidates??[{kind:`workspace`},{kind:`bootstrap`}]),n.update(a,{tone:`success`,title:`Project description saved`,...i.length===0?{}:{message:i}})},onError:(e,t,r)=>{n.update(r,{tone:`error`,title:`Project description save failed`,message:FV(e)})}}),g=ht({mutationFn:()=>o.getProviderModels(),onSuccess:e=>{if(e.status===`available`){a(e.models);return}a([]),n.notify({tone:`warning`,title:`Model list unavailable`,message:`You can still enter a model name manually.`})},onError:e=>{a([]),n.notify({tone:`warning`,title:`Model list unavailable`,message:`${FV(e)} You can still enter a model name manually.`})}}),_=ht({mutationFn:e=>o.updateProviderDefaultModel({default_model:e.defaultModel,expected_default_model:e.expectedDefaultModel}),onMutate:e=>n.notify({tone:`loading`,title:`Validating model`,message:e.defaultModel}),onSuccess:(r,i,a)=>{switch(zV(t,e,r.invalidates),r.disposition.kind){case`updated`:case`unchanged`:n.update(a,{tone:`success`,title:r.disposition.kind===`updated`?`Model saved`:`Model unchanged`,message:i.defaultModel});break;case`stale_default_model`:n.update(a,{tone:`warning`,title:`Model changed elsewhere`,message:`The current model is ${r.disposition.current_default_model}. Review and save again.`});break;case`validation_failed`:n.update(a,{tone:`error`,title:`Model validation failed`,message:NY[r.disposition.reason]});break;case`provider_unavailable`:n.update(a,{tone:`error`,title:`Provider unavailable`,message:`The project provider configuration is not ready.`});break;case`interrupted`:n.update(a,{tone:`warning`,title:`Model update interrupted`,message:`Try saving again.`});break}},onError:(e,t,r)=>{n.update(r,{tone:`error`,title:`Model update failed`,message:FV(e)})}}),v=s.data,y=v?.generated_at??new Date(0).toISOString(),b=f.data??v?.snapshots.read_state,x=c.data??v?.workspace,S=l.data??v?.session,C=u.data??v?.provider_config,w=d.data??v?.snapshots.execution_status??KV(y),T=x===void 0||S===void 0||C===void 0?void 0:AB(x,S,C,p.data?.presence),E=T===void 0&&(s.error!==null||c.error!==null||l.error!==null||u.error!==null),D=x?.relay.join_url,O=D===void 0||x===void 0||S===void 0?void 0:gq({inviterName:S.account.display_name,projectName:x.project.display_name,joinUrl:D}),k=S?.membership.label===`owner`&&x?.capabilities.provider_model_update===!0&&C?.status===`configured`,A=C?.status===`configured`?C.default_model:void 0,j=A===void 0||i.includes(A)?i:[A,...i];return(0,R.jsx)(sW,{...T===void 0?{}:{settings:T},statusShortcuts:TV(w),unread:UV(b),artifactSignal:r.sidebarSignal,loading:T===void 0&&(s.isLoading||c.isLoading||l.isLoading||u.isLoading),unavailable:E,projectNameSaving:m.isPending,projectDescriptionSaving:h.isPending,providerModelOptions:j,providerModelEditable:k,providerModelDiscovering:g.isPending,providerModelSaving:_.isPending,onOpenProjectCenter:()=>$(`/projects`),onOpenChat:()=>$($t(e)),onOpenWorklist:()=>$(QV(e)),onOpenReferences:()=>$(XV(e)),onOpenArtifacts:()=>$(ZV(e)),onOpenSkills:()=>$(nH(e)),onOpenTimeline:()=>$(tH(e)),onActivateStatusShortcut:t=>iH(e,t),...O===void 0?{}:{onCopyJoinUrl:()=>{navigator.clipboard.writeText(O).then(()=>{n.notify({tone:`success`,title:`Invitation copied`})}).catch(()=>{n.notify({tone:`error`,title:`Copy failed`,message:`The browser could not copy the invite link.`})})}},onUpdateProjectDisplayName:async e=>{await m.mutateAsync(e)},onUpdateProjectDescription:async e=>{await h.mutateAsync(e)},...k?{onDiscoverProviderModels:async()=>{a([]),await g.mutateAsync()},onUpdateProviderDefaultModel:async(e,t)=>{try{let n=await _.mutateAsync({defaultModel:e,expectedDefaultModel:t});return n.disposition.kind===`updated`||n.disposition.kind===`unchanged`?{kind:`saved`}:n.disposition.kind===`stale_default_model`?{kind:`stale`,currentValue:n.disposition.current_default_model}:{kind:`failed`}}catch{return{kind:`failed`}}}}:{}})}function FY({relayProjectRef:e}){let t=$e(),n=Ez(),r=VK(),i=(0,L.useMemo)(()=>ab({...AV,relayProjectRef:e}),[e]),a=new URL(MV(),window.location.origin).searchParams.get(`skill`)??void 0,[o,s]=(0,L.useState)(a),c=z({queryKey:Q.bootstrap(e),queryFn:()=>i.getBootstrap(),staleTime:jV}),l=z({queryKey:Q.skills(e),queryFn:()=>i.getSkills(),enabled:c.isSuccess,staleTime:jV}),u=z({queryKey:Q.executionStatus(e),queryFn:()=>i.getExecutionStatus(),enabled:c.isSuccess,staleTime:jV}),d=z({queryKey:Q.readState(e),queryFn:()=>i.getReadState(),enabled:c.isSuccess,staleTime:jV}),f=l.data?.items??[];(0,L.useEffect)(()=>{if(f.length===0){o!==void 0&&s(void 0);return}if(a!==void 0&&f.some(e=>e.name===a)){o!==a&&s(a);return}(o===void 0||!f.some(e=>e.name===o))&&s(f[0]?.name)},[a,o,f]);let p=z({queryKey:o===void 0?Q.skillDetail(e,`none`):Q.skillDetail(e,o),queryFn:()=>i.getSkill(o),enabled:c.isSuccess&&o!==void 0,staleTime:jV}),m=ht({mutationFn:async t=>{let n=await dH({relayProjectRef:e,purpose:`skill_zip`,file:t});return i.importSkillZip(n)},onMutate:e=>n.notify({tone:`loading`,title:`Uploading skill`,message:e.name}),onSuccess:(r,i,a)=>{zV(t,e,r.invalidates);let o=r.result?.skill.name??(r.disposition.kind===`created`||r.disposition.kind===`replaced`?r.disposition.skill_name:void 0);o!==void 0&&(s(o),$(nH(e,o))),n.update(a,{tone:`success`,title:`Skill installed`,message:o??i.name})},onError:(e,t,r)=>{n.update(r,{tone:`error`,title:`Skill upload failed`,message:FV(e)})}}),h=ht({mutationFn:e=>i.deleteSkill({skill_name:e}),onMutate:e=>n.notify({tone:`loading`,title:`Deleting skill`,message:e}),onSuccess:(r,i,a)=>{zV(t,e,r.invalidates);let c=r.disposition.kind===`deleted`||r.disposition.kind===`not_found`?r.disposition.skill_name:o,l=f.find(e=>e.name!==c);s(l?.name),$(l===void 0?nH(e):nH(e,l.name)),n.update(a,{tone:`success`,title:`Skill deleted`,message:c??i})},onError:(e,t,r)=>{n.update(r,{tone:`error`,title:`Skill delete failed`,message:`${t}: ${FV(e)}`})}}),g=c.data,_=g?.generated_at??new Date(0).toISOString(),v=d.data??g?.snapshots.read_state;WV({enabled:c.isSuccess,hostClient:i,relayProjectRef:e,readState:v,scope:`skills`});let y=u.data??g?.snapshots.execution_status??KV(_),b=f.map(e=>({name:e.name,description:e.description,...e.short_description===void 0?{}:{shortDescription:e.short_description},selected:e.name===o,...e.updated_at===void 0?{}:{updatedLabel:`Updated ${Oz(e.updated_at)}`}})),x=f.find(e=>e.name===o),S=(()=>{let e=p.data?.skill;return e===void 0?o===void 0?{title:f.length===0?`No skills`:`No skill selected`,unavailableReason:f.length===0?`No user skills`:`Select a skill`}:{title:x?.name??o,...x?.description===void 0?{}:{description:x.description},unavailableReason:p.isLoading?`Loading`:`Skill unavailable`}:{title:e.name,description:e.description,...e.updated_at===void 0?{}:{updatedLabel:`Updated ${Oz(e.updated_at)}`},skillMd:e.skill_md}})(),C=l.data!==void 0,w=!C&&(c.error!==null||l.error!==null);return(0,R.jsx)(lW,{statusShortcuts:TV(y),unread:UV(v),artifactSignal:r.sidebarSignal,skills:b,detail:S,uploadPending:m.isPending,deletePending:h.isPending,loading:!C&&(c.isLoading||l.isLoading),unavailable:w,onOpenProjectCenter:()=>$(`/projects`),onOpenChat:()=>$($t(e)),onOpenWorklist:()=>$(QV(e)),onOpenReferences:()=>$(XV(e)),onOpenArtifacts:()=>$(ZV(e)),onOpenTimeline:()=>$(tH(e)),onOpenSettings:()=>$(eH(e)),onActivateStatusShortcut:t=>iH(e,t),onSelectSkill:t=>{s(t),$(nH(e,t))},onUploadSkill:e=>m.mutate(e),onDeleteSkill:e=>h.mutate(e)})}function IY({relayProjectRef:e}){let t=VK(),n=(0,L.useMemo)(()=>ab({...AV,relayProjectRef:e}),[e]),r=z({queryKey:Q.bootstrap(e),queryFn:()=>n.getBootstrap(),staleTime:jV}),i=z({queryKey:Q.projectTimeline(e),queryFn:()=>n.getProjectTimeline(),enabled:r.isSuccess,staleTime:jV}),a=z({queryKey:Q.executionStatus(e),queryFn:()=>n.getExecutionStatus(),enabled:r.isSuccess,staleTime:jV}),o=z({queryKey:Q.readState(e),queryFn:()=>n.getReadState(),enabled:r.isSuccess,staleTime:jV}),s=r.data,c=s?.generated_at??new Date(0).toISOString(),l=o.data??s?.snapshots.read_state,u=a.data??s?.snapshots.execution_status??KV(c),d=i.data===void 0&&(r.error!==null||i.error!==null);return(0,R.jsx)(uW,{...i.data===void 0?{}:{timeline:VB(i.data,{onOpenWorklistTask:t=>$(QV(e,t)),onOpenChatMessage:t=>$($V(e,t)),onOpenReferenceFile:t=>$(XV(e,t))})},statusShortcuts:TV(u),unread:UV(l),artifactSignal:t.sidebarSignal,loading:i.data===void 0&&(r.isLoading||i.isLoading),unavailable:d,onOpenProjectCenter:()=>$(`/projects`),onOpenChat:()=>$($t(e)),onOpenWorklist:()=>$(QV(e)),onOpenReferences:()=>$(XV(e)),onOpenArtifacts:()=>$(ZV(e)),onOpenSkills:()=>$(nH(e)),onOpenSettings:()=>$(eH(e)),onActivateStatusShortcut:t=>iH(e,t)})}function LY({relayProjectRef:e}){let t=VK(),n=(0,L.useMemo)(()=>ab({...AV,relayProjectRef:e}),[e]),r=yK({hostClient:n,relayProjectRef:e}),i=new URL(MV(),window.location.origin).searchParams.get(`task`)??void 0,[a,o]=(0,L.useState)(void 0),s=z({queryKey:Q.bootstrap(e),queryFn:()=>n.getBootstrap()}),c=z({queryKey:Q.worklist(e),queryFn:()=>n.getWorklist(),enabled:s.isSuccess}),l=z({queryKey:Q.executionStatus(e),queryFn:()=>n.getExecutionStatus(),enabled:s.isSuccess}),u=z({queryKey:Q.readState(e),queryFn:()=>n.getReadState(),enabled:s.isSuccess}),d=s.data,f=d?.generated_at??new Date(0).toISOString(),p=c.data??d?.snapshots.worklist??VV(),m=u.data??d?.snapshots.read_state;WV({enabled:s.isSuccess,hostClient:n,relayProjectRef:e,readState:m,scope:`worklist`});let h=(0,L.useMemo)(()=>dB(p),[p]),g=i!==void 0&&h.some(e=>e.id===i),_=i!==void 0&&!g?i:void 0;(0,L.useEffect)(()=>{if(i!==void 0){o(g?e=>e===i?e:i:void 0);return}if(h.length===0){o(void 0);return}(a===void 0||!h.some(e=>e.id===a))&&o(aH(p,void 0))},[g,i,a,h,p]);let v=z({queryKey:a===void 0?Q.taskDetail(e,`none`):Q.taskDetail(e,a),queryFn:()=>n.getTaskDetail(a),enabled:s.isSuccess&&a!==void 0}),y=z({queryKey:a===void 0?Q.taskRunResults(e,`none`):Q.taskRunResults(e,a),queryFn:()=>n.getTaskRunResults(a,{limit:50}),enabled:s.isSuccess&&a!==void 0}),b=l.data??d?.snapshots.execution_status??KV(f),x=uB(p,a),S=xB(v.data,y.data),C=v.data?.detail.result.latest_run_result_id,w=v.data?.detail.result.retry_action,T=S===void 0||C===void 0||w===void 0?S:{...S,retryAction:{state:r.stateFor(S.taskId,C,w)??w,onRetry:()=>r.retry(S.taskId,C)}},E=c.data!==void 0||d?.snapshots.worklist!==void 0,D=!E&&(s.error!==null||c.error!==null);return(0,R.jsx)(dW,{statusShortcuts:TV(b),unread:UV(m),artifactSignal:t.sidebarSignal,modules:x.modules,taskCount:x.taskCount,...T===void 0?{}:{detail:T},..._===void 0?{}:{missingTaskId:_},loading:!E&&(s.isLoading||c.isLoading),unavailable:D,onOpenProjectCenter:()=>$(`/projects`),onOpenChat:()=>$($t(e)),onOpenReferences:()=>$(XV(e)),onOpenArtifacts:()=>$(ZV(e)),onOpenSkills:()=>$(nH(e)),onOpenTimeline:()=>$(tH(e)),onOpenSettings:()=>$(eH(e)),onActivateStatusShortcut:t=>iH(e,t),onSelectTask:t=>{o(t),$(QV(e,t))}})}var RY=`is-scrollbar-active`,zY=1e3;function BY(e,t){let n=e.target;return n instanceof Element?n:t.scrollingElement??t.documentElement}function VY(e){let t=new Map,n=e=>{let n=t.get(e);n!==void 0&&(window.clearTimeout(n),t.delete(e)),e.classList.remove(RY)},r=e=>{let r=t.get(e);r!==void 0&&window.clearTimeout(r),e.classList.add(RY);let i=window.setTimeout(()=>n(e),zY);t.set(e,i)},i=t=>{r(BY(t,e))};return e.addEventListener(`scroll`,i,{capture:!0,passive:!0}),()=>{e.removeEventListener(`scroll`,i,!0);for(let[e,n]of t)window.clearTimeout(n),e.classList.remove(RY);t.clear()}}var HY=`--tutti-viewport-height`,UY=`--tutti-viewport-offset-top`;function WY(e,t=window){let n=e.documentElement,r=t.visualViewport,i=()=>{let e=r?.height??t.innerHeight,i=r?.offsetTop??0;n.style.setProperty(HY,`${Math.max(0,e)}px`),n.style.setProperty(UY,`${Math.max(0,i)}px`)};return i(),t.addEventListener(`resize`,i),t.addEventListener(`orientationchange`,i),r?.addEventListener(`resize`,i),r?.addEventListener(`scroll`,i),()=>{t.removeEventListener(`resize`,i),t.removeEventListener(`orientationchange`,i),r?.removeEventListener(`resize`,i),r?.removeEventListener(`scroll`,i),n.style.removeProperty(HY),n.style.removeProperty(UY)}}var GY=new Ye({defaultOptions:{queries:{retry:!1,refetchOnWindowFocus:!1}}});function KY(){let e=PV();if(e.kind===`managed_account`)return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(zb,{route:e}),(0,R.jsx)(VG,{})]});if(e.kind===`managed_project_consent`)return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(zb,{route:e}),(0,R.jsx)(BG,{})]});if(e.kind===`local_console`)return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(zb,{route:e}),(0,R.jsx)(wq,{})]});if(e.kind===`local_console_account_gate`)return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(zb,{route:e}),(0,R.jsx)(Oq,{})]});if(e.kind===`home`)return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(zb,{route:e}),(0,R.jsx)($K,{})]});if(e.kind===`join`)return(0,R.jsx)(eK,{joinToken:e.joinToken});if(e.kind===`feishu_project`)return(0,R.jsx)(ZK,{relayProjectRef:e.relayProjectRef});if(e.kind===`feishu_connection`)return(0,R.jsx)(_H,{entryRef:e.entryRef});if(e.kind===`legacy_feishu_project`)return(0,R.jsx)(HK,{relayProjectRef:e.relayProjectRef});if(e.kind===`setup`)return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(zb,{route:e}),(0,R.jsx)(OJ,{})]});if(e.kind===`project_open`)return(0,R.jsx)(pJ,{requestedOpenProjectRef:e.relayProjectRef});if(e.kind===`workspace`||e.kind===`worklist`||e.kind===`references`||e.kind===`artifacts`||e.kind===`skills`||e.kind===`timeline`||e.kind===`settings`){let t=e.kind===`workspace`?(0,R.jsx)(GJ,{relayProjectRef:e.relayProjectRef}):e.kind===`worklist`?(0,R.jsx)(LY,{relayProjectRef:e.relayProjectRef}):e.kind===`references`?(0,R.jsx)(MY,{relayProjectRef:e.relayProjectRef}):e.kind===`artifacts`?(0,R.jsx)(EY,{relayProjectRef:e.relayProjectRef}):e.kind===`skills`?(0,R.jsx)(FY,{relayProjectRef:e.relayProjectRef}):e.kind===`timeline`?(0,R.jsx)(IY,{relayProjectRef:e.relayProjectRef}):(0,R.jsx)(PY,{relayProjectRef:e.relayProjectRef});return(0,R.jsxs)(YJ,{relayProjectRef:e.relayProjectRef,children:[t,(0,R.jsx)(XJ,{relayProjectRef:e.relayProjectRef})]},e.relayProjectRef)}return(0,R.jsx)(pJ,{...e.kind===`project_center`&&e.panel?{initialPanel:e.panel}:{}})}function qY(){return(0,L.useEffect)(()=>{let e=VY(document),t=WY(document);return()=>{e(),t()}},[]),(0,R.jsx)(et,{client:GY,children:(0,R.jsx)(Tz,{children:(0,R.jsx)(KY,{})})})}function JY(e){let t=document.querySelector(`link[rel="icon"]`),n=t??document.createElement(`link`);n.rel=`icon`,n.type=`image/png`,n.sizes=`1024x1024`,n.href=e,t===null&&document.head.append(n)}JY(LR),(0,_t.createRoot)(document.getElementById(`root`)).render((0,R.jsx)(L.StrictMode,{children:(0,R.jsx)(qY,{})}));export{J as C,$b as S,Sx as _,EO as a,nx as b,IO as c,Jx as d,qx as f,Dx as g,kx as h,NO as i,AO as l,Mx as m,vO as n,OO as o,Wx as p,FO as r,PO as s,gL as t,tS as u,xx as v,Ze as w,ex as x,px as y};