@theoremjs/studio 0.3.4-next.413.gb7a2b75 → 0.3.4-next.415.g3597d47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/mod.d.ts +1 -1
- package/mod.js +1 -1
- package/package.json +4 -4
- package/page/assets/Banner-8YJcS8-V.js +2 -0
- package/page/assets/CollapsibleGroup-PavPZ114.js +1 -0
- package/page/assets/ConsoleFrame-DU_VbYY8.js +3 -0
- package/page/assets/{ContextMenu-COkl-sLz.js → ContextMenu-BM8iCtOh.js} +2 -2
- package/page/assets/{ToolResultCharts-UmFnfSOp.js → ToolResultCharts-2ZnwTSBM.js} +1 -1
- package/page/assets/TraceInspector-BMPAqts9.js +1 -0
- package/page/assets/{TraceOverview-BiCh-eqR.js → TraceOverview-CAcG99rb.js} +1 -1
- package/page/assets/{browser-engine-BY6gYiHv.js → browser-engine-CZIMsNT9.js} +1 -1
- package/page/assets/{browser-transport-B4Or1xM7.js → browser-transport-1C-yqvF_.js} +4 -4
- package/page/assets/{export-agent-D8hLzzFn.js → export-agent-CtTlaPls.js} +1 -1
- package/page/assets/{guardrail-tester-C04dSfNv.js → guardrail-tester-DSqEFs8L.js} +2 -2
- package/page/assets/{index-Br0mAcH5.js → index-BCMKIa3t.js} +68 -68
- package/page/assets/index-Cbs7B46A.css +1 -0
- package/page/assets/labels-provider-BSiD6Lrb.js +3 -0
- package/page/assets/{studio-code-pane-B0BB_yGF.js → studio-code-pane-PK_Sla3w.js} +1 -1
- package/page/assets/{studio-console-BLHAfqNd.js → studio-console-CfDp9X-T.js} +1 -1
- package/page/assets/{studio-decision-Cfc9arc7.js → studio-decision-B4KZCD5V.js} +1 -1
- package/page/assets/{studio-embedding-CGSaA2dS.js → studio-embedding-CB4lSSWM.js} +1 -1
- package/page/assets/{studio-host-console-BidxEK6_.js → studio-host-console-C3PBxw_t.js} +2 -2
- package/page/assets/{studio-labels-CWLqOvKg.js → studio-labels-Jw1KQ1X1.js} +1 -1
- package/page/assets/{studio-live-C8XxDpXT.js → studio-live-BfBbeQVS.js} +2 -2
- package/page/assets/{studio-map-C2zIkdcp.js → studio-map-D3GkuREn.js} +1 -1
- package/page/assets/{studio-trace-replay-CpbB-zpo.js → studio-trace-replay-BSDZA9i6.js} +1 -1
- package/page/assets/{use-one-call-BJhdZLBt.js → use-one-call-CY-cA5FL.js} +1 -1
- package/page/assets/{SidePanel-OYp0bLNO.js → use-trace-records-BkAYJz0M.js} +1 -1
- package/page/assets/workspace-MlrGUH2-.js +1 -0
- package/page/index.html +10 -10
- package/ui/inspector-context.d.ts +5 -0
- package/ui/inspector-context.js +2 -0
- package/ui/profile-editor.js +10 -3
- package/ui/studio-run.js +2 -12
- package/ui/studio-screen.js +141 -158
- package/ui/studio.css +29 -13
- package/ui/use-phone.d.ts +2 -0
- package/ui/use-phone.js +13 -0
- package/workspace.d.ts +7 -0
- package/workspace.js +48 -0
- package/page/assets/Banner-CIcZcE2z.js +0 -2
- package/page/assets/CollapsibleGroup-CL8h1IzH.js +0 -1
- package/page/assets/ConsoleFrame-Ix0RXm_R.js +0 -3
- package/page/assets/TraceInspector-DWw6BGA5.js +0 -1
- package/page/assets/index-Oo9otEIT.css +0 -1
- package/page/assets/labels-provider-BqgbdxdT.js +0 -3
- package/page/assets/workspace-SpjcVXbF.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{c as t,l as n,n as r,u as i}from"./themeProps-3IqahpCr.js";import{h as a}from"./tokens.stylex-DkHf0P9C.js";import{_ as o,g as s,l as c,u as l,v as u}from"./SegmentedControlItem-BLuJOusN.js";import{a as ee,h as d,l as f,n as te,t as p,y as m}from"./padding.stylex-B76907Zf.js";import{t as h}from"./VStack-CkVMcNiK.js";import{n as g,t as _}from"./StackItem-CQviqAfM.js";import{t as v}from"./mergeProps-ptS-gIMz.js";import{t as y}from"./sharedResizeObserver-4U9Xq5Oq.js";import{r as b}from"./useLayerDismissal-BAnTRYTt.js";import{S as x}from"./fieldParts-Cs6Amprh.js";import{x as S}from"./Icon-ZfFwTt8n.js";import"./devWarning-DxuplmRl.js";import{r as C}from"./focusOutline.stylex-BT0kfa4t.js";import{t as w}from"./IconButton-CG5klqF1.js";import{r as ne,t as T}from"./Text-BsiAsowd.js";import{t as E}from"./Card-Ghe4ozhC.js";import{t as D}from"./Tooltip-CTEuMRLe.js";import{t as O}from"./createReactComponent-CZwsv6DD.js";import{t as k}from"./ScrollableArea-C8AVuqnt.js";var A=e(i(),1),j=t(),M={header:{kmuXW:`x2lah0s`,$$css:!0},inner:{kB7OPa:`x9f619`,ks0D6T:`xjl2t3p`,kUOVxO:`xvueqy4`,kZCmMZ:`xaku5ci`,kwRFfy:`x19eyx77`,kLKAdn:`xuqi0w`,kGO01o:`xg476vw`,"--container-padding-inline-start":`xt2a87w`,"--container-padding-inline-end":`xhq06x6`,"--container-padding-block-start":`x186o6qk`,"--container-padding-block-end":`xi9ns85`,$$css:!0},fullBleed:{kZCmMZ:`x1c1uobl`,kwRFfy:`xyri2b`,kLKAdn:`xexx8yu`,kGO01o:`x18d9i69`,"--container-padding-inline-start":`xrhngw9`,"--container-padding-inline-end":`xjsfl84`,"--container-padding-block-start":`x1047aw6`,"--container-padding-block-end":`xax9j7h`,$$css:!0},divider:{kt9PQ7:`xso031l`,kfdmCh:`x1q0q8m5`,kL6WhQ:`xw8gpjh`,$$css:!0}},N={sizing:e=>[{kZKoxP:e==null?e:`x16ye13r`,$$css:!0},{"--x-height":(e=>typeof e==`number`?e+`px`:e??void 0)(e)}]};function P({children:e,hasDivider:t,height:i,label:a,padding:o,paddingBlockEnd:c,role:l,xstyle:u,className:m,style:h,ref:g,..._}){let y=(0,A.use)(s),b=t??y?.defaultHasDividers??!1,x=o===0;return(0,j.jsx)(`div`,{ref:g,role:l,"aria-label":a,"data-divider":b||void 0,...v(r(`layout-header`),n(M.header,N.sizing(i??null),b&&M.divider,u),m,h),..._,children:(0,j.jsx)(`div`,{...n(M.inner,x&&M.fullBleed,o!=null&&d[o],o!=null&&ee[o],o!=null&&te[o],o!=null&&p[o],c!=null&&f[c],c!=null&&p[c]),children:e})})}P.displayName=`LayoutHeader`;var F={panel:{kB7OPa:`x9f619`,kmuXW:`x2lah0s`,kVQacm:`x7giv3`,kZCmMZ:`xwjyata`,kwRFfy:`x1peupej`,kLKAdn:`xqty4a`,kGO01o:`xg476vw`,"--container-padding-inline-start":`x408pgh`,"--container-padding-inline-end":`xikqloz`,"--container-padding-block-start":`xjmgx01`,"--container-padding-block-end":`xi9ns85`,$$css:!0},startPanel:{kZCmMZ:`xaku5ci`,$$css:!0},endPanel:{kwRFfy:`x19eyx77`,$$css:!0},noHeader:{kLKAdn:`xuqi0w`,$$css:!0},noFooter:{kGO01o:`x1363qu6`,$$css:!0},fullBleed:{kZCmMZ:`x1c1uobl`,kwRFfy:`xyri2b`,kLKAdn:`xexx8yu`,kGO01o:`x18d9i69`,"--container-padding-inline-start":`xrhngw9`,"--container-padding-inline-end":`xjsfl84`,"--container-padding-block-start":`x1047aw6`,"--container-padding-block-end":`xax9j7h`,$$css:!0},scrollable:{kVQacm:`xysyzu8`,$$css:!0},dividerEnd:{ke9TFa:`x1lun4ml`,k8ry5P:`x18b5jzi`,kBCPoo:`x1gejf6u`,$$css:!0},dividerStart:{k2ei4v:`xpilrb4`,kVhnKS:`x1t7ytsu`,kGJrpR:`x1j92z86`,$$css:!0},collapseStart:{keTefX:`x1wim8z0`,$$css:!0},collapseEnd:{k71WvV:`x1kpg4um`,$$css:!0}},I={sizing:e=>[{kzqmXN:e==null?e:`x5lhr3w`,$$css:!0},{"--x-width":(e=>typeof e==`number`?e+`px`:e??void 0)(e)}]};function L({children:e,hasDivider:t=!1,isScrollable:i=!0,label:a,padding:s,role:c,width:l,resizable:f,xstyle:m,className:h,style:g,ref:_,...y}){let b=(0,A.use)(u),{hasHeader:x,hasFooter:S}=(0,A.use)(o),C=f?f._size:l,w=b===`start`,ne=b===`end`,T=s===0,E=!t&&!T&&s==null,D=w?F.dividerEnd:ne?F.dividerStart:null,O=w?F.collapseEnd:ne?F.collapseStart:null;return(0,j.jsx)(`div`,{ref:_,role:c,"aria-label":a,...v(r(`layout-panel`),n(F.panel,I.sizing(C??null),w&&!T&&s==null&&F.startPanel,ne&&!T&&s==null&&F.endPanel,!x&&!T&&s==null&&F.noHeader,!S&&!T&&s==null&&F.noFooter,i&&F.scrollable,T&&F.fullBleed,s!=null&&d[s],s!=null&&ee[s],s!=null&&te[s],s!=null&&p[s],t&&D,E&&O,m),h,g),...y,children:e})}L.displayName=`LayoutPanel`;var R=O(`outline`,`eye-off`,`EyeOff`,[[`path`,{d:`M10.585 10.587a2 2 0 0 0 2.829 2.828`,key:`svg-0`}],[`path`,{d:`M16.681 16.673a8.717 8.717 0 0 1 -4.681 1.327c-3.6 0 -6.6 -2 -9 -6c1.272 -2.12 2.712 -3.678 4.32 -4.674m2.86 -1.146a9.055 9.055 0 0 1 1.82 -.18c3.6 0 6.6 2 9 6c-.666 1.11 -1.379 2.067 -2.138 2.87`,key:`svg-1`}],[`path`,{d:`M3 3l18 18`,key:`svg-2`}]]),re=O(`outline`,`info-circle`,`InfoCircle`,[[`path`,{d:`M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0`,key:`svg-0`}],[`path`,{d:`M12 9h.01`,key:`svg-1`}],[`path`,{d:`M11 12h1v4h1`,key:`svg-2`}]]),ie=(0,A.createContext)(null);ie.displayName=`CollapsibleGroupContext`;var z=m(null);z.displayName=`CollapsibleGroupPresentationContext`;function B(e){let{isCollapsible:t,value:n}=e,r=(0,A.use)(ie),i=r!=null&&n!=null,a=t===!0?{}:t||null,o=a!=null,[s,c]=(0,A.useState)(()=>i?!0:a?.isOpen===void 0?a?.defaultIsOpen??!0:a.isOpen),l;return l=i&&n!=null?r.isOpen(n):a?.isOpen===void 0?s:a.isOpen,{isEnabled:o,isOpen:l,toggle:()=>{if(i&&n!=null){r.toggle(n);return}let e=!l;a?.isOpen===void 0&&c(e),a?.onOpenChange?.(e)}}}var ae=50,oe=40,V=`astryx-resizable:`;function H(e,t,n,r){let i=Math.min(n,Math.max(t,e));if(r.length>0){let e=r[0],a=Math.abs(i-e);for(let t=1;t<r.length;t++){let n=Math.abs(i-r[t]);n<a&&(e=r[t],a=n)}return Math.min(n,Math.max(t,e))}return i}function se(e){if(typeof window>`u`)return null;try{let t=localStorage.getItem(V+e);if(t==null)return null;let n=JSON.parse(t);if(typeof n==`number`)return Number.isFinite(n)?n===0?{size:null,isCollapsed:!0}:{size:n,isCollapsed:null}:null;if(typeof n==`object`&&n){let{size:e,isCollapsed:t}=n,r=typeof e==`number`&&Number.isFinite(e)&&e>0;if(r||t===!0)return{size:r?e:null,isCollapsed:t===!0}}}catch{}return null}function ce(e,t){if(typeof window<`u`)try{localStorage.setItem(V+e,JSON.stringify(t))}catch{}}var U=1200,le=()=>()=>{},ue=250,de=`Use a non-negative number of pixels, an exact "Npx" string, an exact "N%" string from 0% to 100%, pixel(value), or percent(value, {min: pixel(value)}) / percent(value, {max: pixel(value)}).`,W=/^(\d+(?:\.\d+)?)px$/,fe=/^(\d+(?:\.\d+)?)%$/;function pe(e){let t=W.exec(e);if(t){let e=Number(t[1]);return Number.isFinite(e)?{kind:`px`,value:e}:null}let n=fe.exec(e);if(n){let e=Number(n[1]);return Number.isFinite(e)&&e<=100?{kind:`percent`,value:e}:null}return null}function G(e){if(typeof e!=`object`||!e||Array.isArray(e))return null;let t=e;return t.type===`pixel`&&typeof t.value==`number`&&Number.isFinite(t.value)&&t.value>=0?t.value:null}function me(e){if(Array.isArray(e))return null;let t=e;if(t.type!==`percent`||typeof t.value!=`number`||!Number.isFinite(t.value)||t.value<0||t.value>100)return null;let n=t.min!==void 0;if(n===(t.max!==void 0))return null;if(n){let e=G(t.min);return e==null?null:{kind:`percent`,value:t.value,min:e}}let r=G(t.max);return r==null?null:{kind:`percent`,value:t.value,max:r}}function he(e){if(typeof e==`number`)return Number.isFinite(e)&&e>=0?{kind:`px`,value:e}:null;if(typeof e==`string`)return pe(e);if(typeof e==`object`&&e){let t=G(e);return t==null?me(e):{kind:`px`,value:t}}return null}function ge(e){return e?.kind===`percent`}function _e(e,t){if(e.kind===`px`)return e.value;if(t==null)return null;let n=Math.round(e.value/100*t);return e.min===void 0?e.max===void 0?n:Math.min(n,e.max):Math.max(n,e.min)}function K(e){if(typeof e==`number`&&!Number.isFinite(e))return String(e);try{return JSON.stringify(e)??String(e)}catch{return String(e)}}function ve(e){if(typeof e!=`object`||!e||Array.isArray(e))return K(e);let t=e;return t.type===`pixel`?`{"type":"pixel","value":${K(t.value)}}`:K(e)}function q(e){if(typeof e==`object`&&e&&!Array.isArray(e)){let t=e;if(t.type===`pixel`)return ve(e);if(t.type===`percent`){let e=[`"type":"percent"`,`"value":${K(t.value)}`];return t.min!==void 0&&e.push(`"min":${ve(t.min)}`),t.max!==void 0&&e.push(`"max":${ve(t.max)}`),`{${e.join(`,`)}}`}}return K(e)}function ye(e,t,n,r,i,a,o){return e===void 0?r:e===1/0&&r===1/0?1/0:t==null?(o.current||(o.current=!0,`${i}${q(e)}${a}${r}`),r):_e(t,n)??r}function be(e,t,n){let r=n?.contentBoxSize?.[0];if(r)return t===`vertical`?r.blockSize:r.inlineSize;let i=typeof window>`u`?null:window.getComputedStyle(e);if(i==null)return null;let a=t===`vertical`?e.clientHeight-parseFloat(i.paddingTop)-parseFloat(i.paddingBottom):e.clientWidth-parseFloat(i.paddingLeft)-parseFloat(i.paddingRight);return Number.isFinite(a)?a:null}function J(e){let{defaultSize:t,minSize:n,maxSize:r,containerRef:i,direction:a=`horizontal`,collapsible:o=!1,collapsedSize:s=oe,snaps:c,autoSaveId:l,defaultIsCollapsed:u,isCollapsed:ee,onSizeChange:d,onCollapseChange:f}=e,te=(0,A.useRef)([]),p=c??te.current,m=n,h=r,g=he(t),_=he(n),v=he(r),x=i!=null,S=l?se(l):null,C=(0,A.useRef)(null),[,w]=(0,A.useState)(0),ne=ge(g),T=ge(_)||ge(v),E=S?.size==null&&ne&&C.current?.isFinal!==!0,D=x&&(T||E),O=!x&&T,k=(0,A.useRef)(null),[,j]=(0,A.useState)(0),M=(0,A.useRef)(null),N=D?k.current:null;b(()=>{if(!D){k.current=null,M.current=null;return}let e=i?.current??null;e!==k.current&&(M.current=null,k.current=e,j(e=>e+1))});let P=(0,A.useCallback)(e=>!D||N==null||N!==i?.current?()=>{}:y(N,t=>{M.current=be(N,a,t),e()}),[N,D,a,i]),F=(0,A.useCallback)(()=>!D||N==null?(M.current=null,null):(M.current??=be(N,a),M.current),[N,D,a]),I=(0,A.useSyncExternalStore)(P,F,()=>null),L=(0,A.useCallback)(e=>x||!O||typeof window>`u`?()=>{}:(window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)),[x,O]),R=(0,A.useSyncExternalStore)(L,()=>typeof window>`u`?U:window.innerWidth,()=>U),re=(0,A.useSyncExternalStore)(le,()=>typeof window>`u`?null:a===`vertical`?window.innerHeight:window.innerWidth,()=>null),ie=D,z=I!=null&&I>0,B=x?z?I:U:R,V=!ie||z,W=(0,A.useRef)(null),[fe,pe]=(0,A.useState)(0),G=W.current??B,me=(0,A.useRef)(!1),_e=(0,A.useRef)(!1),K=(0,A.useRef)(!1),ve=(0,A.useRef)(!1),q=ye(m,_,G,ae,`minSize`,de,me),J=ye(h,v,G,1/0,`maxSize`,de,_e);(C.current==null||!C.current.isFinal)&&(C.current={px:ye(t,g,G,ue,`defaultSize`,de,K),isFinal:V});let xe=C.current.px,[we,Te]=(0,A.useState)(()=>S?.size==null?V?H(xe,q,J,p):null:S.size);x&&!T&&V&&E&&we!=null&&w(e=>e+1),V&&we==null&&Te(H(xe,q,J,p));let[Ee,De]=(0,A.useState)({min:q,max:J});V&&W.current==null&&(Ee.min!==q||Ee.max!==J)&&(De({min:q,max:J}),Te(e=>e==null?null:H(e,q,J,p)));let Y=H(we??xe,q,J,p),[Oe,ke]=(0,A.useState)(()=>S?.isCollapsed??u??!1),Ae=ee!==void 0,X=o&&(Ae?ee:Oe),Z=(0,A.useRef)(Y),Q=(0,A.useRef)(X);Q.current=X;let $=(0,A.useCallback)(e=>{Ae||(Q.current=e,ke(e))},[Ae]);(0,A.useEffect)(()=>{q>J&&!ve.current&&(ve.current=!0,`${q}${J}`)},[q,J]),(0,A.useEffect)(()=>{l&&V&&ce(l,{size:Y,isCollapsed:X})},[Y,X,l,V]);let je=(0,A.useCallback)(()=>{o&&!Q.current&&($(!0),f?.(!0),d?.(0))},[o,$,f,d]),Me=(0,A.useCallback)(()=>{let e=Q.current;$(!1),e&&f?.(!1),d?.(Y)},[$,Y,f,d]),Ne=(0,A.useCallback)(e=>{if(!Number.isFinite(e)||e<0){`${String(e)}`;return}let t=H(e,q,J,p),n=Q.current;Te(t),$(!1),n&&f?.(!1),d?.(t)},[q,J,p,$,f,d]),Pe=(0,A.useCallback)(()=>{W.current=B,Z.current=Q.current?0:Y},[Y,B]),Fe=(0,A.useCallback)(e=>{let t=Z.current+e;if(o&&t<s){Q.current||($(!0),f?.(!0),d?.(0));return}Q.current&&t>=s&&($(!1),f?.(!1));let n=H(t,q,J,p);Te(n),d?.(n)},[o,s,$,q,J,p,d,f]),Ie=(0,A.useCallback)(()=>{W.current!=null&&(W.current=null,pe(e=>e+1))},[]),Le=(0,A.useCallback)(()=>{Ie()},[Ie]),Re=Ie,ze=x?z&&D?I:null:re,Be=J===1/0?ze==null?void 0:Math.max(ze,X?q:Y):J,Ve={_size:X?0:Y,_isCollapsed:X,_onResizeStart:Pe,_onResizeMove:Fe,_onResizeEnd:Le,_onResizeCancel:Re,_minSizePx:q,_maxSizePx:J,_snaps:p,_collapsedSize:s,_collapsible:o,_direction:a,_isResizableProps:!0};return Se.set(Ve,{collapse:je,expand:Me}),Be!=null&&Ce.set(Ve,Be),{size:X?0:Y,isCollapsed:X,collapse:je,expand:Me,resize:Ne,props:Ve}}function xe(e){let{regions:t,autoSaveId:n,containerRef:r,direction:i}=e,a=Object.entries(t),o=a.map(([e,t])=>J({...t,containerRef:r,direction:i,autoSaveId:n?`${n}:${e}`:void 0})),s={};return a.forEach(([e],t)=>{s[e]=o[t]}),s}var Se=new WeakMap,Ce=new WeakMap;function we(e){return Ce.get(e)}function Te(e){return Se.get(e)}function Ee(e){return`regions`in e?xe(e):J(e)}var De=10,Y=50;function Oe(e,t,n){if(e!==`auto`)return e;let r=t?`end`:`start`;return n?r===`start`?`end`:`start`:r}function ke(e){return e===`center`?null:e===`start`?-1:1}function Ae(e){document.body.style.cursor=e?`col-resize`:`row-resize`,document.body.style.userSelect=`none`}function X(){document.body.style.cursor=``,document.body.style.userSelect=``}var Z={handle:{kVAEAm:`x1n2onr6`,kmuXW:`x2lah0s`,k1xSpc:`x78zum5`,kGNEyG:`x6s0dn4`,kjj79g:`xl56j7k`,kWkggS:`x1m4xfpy`,k1ekBW:`x15406qy`,kIyJzY:`xuedmi6`,kAMwcw:`xlr8y92`,$$css:!0},overlay:{kVAEAm:`x10l6tqk`,kY2c9j:`xhtitgo`,kWkggS:`xjbqb8w`,$$css:!0},overlayHorizontal:{kt4wiu:`xtijo5x`,k87sOh:`x13vifvy`,krVfgx:`x1ey2m1c`,kzqmXN:`xkhob8h`,$$css:!0},overlayVertical:{krVfgx:`x1ey2m1c`,kLqNvP:`x1o0tod`,kt4wiu:`xtijo5x`,kZKoxP:`x5kfih4`,$$css:!0},horizontal:{kzqmXN:`x1i1rx1s`,kZKoxP:`x5yr21d`,kkrTdU:`xicojor x16khyan`,$$css:!0},vertical:{kZKoxP:`xjm9jq1`,kzqmXN:`xh8yej3`,kkrTdU:`xyozgr7 x16khyan`,$$css:!0},noDividerHorizontal:{kWkggS:`xjbqb8w`,kzqmXN:`xnalus7`,$$css:!0},noDividerVertical:{kWkggS:`xjbqb8w`,kZKoxP:`xqtp20y`,$$css:!0},handleHover:{kWkggS:`x1m4xfpy`,$$css:!0},handleActive:{kWkggS:`x7njt3n`,$$css:!0},disabled:{kkrTdU:`xt0e3qv`,kfzvcC:`x47corl`,$$css:!0},hitArea:{kVAEAm:`x10l6tqk`,kY2c9j:`x1vjfegm`,kFalU9:`x5ve5x3`,kfSwDN:`x87ps6o`,$$css:!0},hitAreaHorizontal:{kzqmXN:`x12xnipv`,k87sOh:`x13vifvy`,krVfgx:`x1ey2m1c`,kkrTdU:`xicojor x16khyan`,$$css:!0},hitAreaVertical:{kZKoxP:`x6b6gus`,kLqNvP:`x1o0tod`,kt4wiu:`xtijo5x`,kkrTdU:`xyozgr7 x16khyan`,$$css:!0},hitAreaCenteredY:{k87sOh:`xwa60dl`,k3aq6I:`x1cb1t30`,$$css:!0},pill:{kVAEAm:`x10l6tqk`,kY2c9j:`xhtitgo`,kfzvcC:`x47corl`,kaIpWk:`xjspbzw`,kWkggS:`x1m4xfpy`,k1ekBW:`x1wbls7o`,kIyJzY:`xuedmi6`,kAMwcw:`xlr8y92`,k87sOh:`xwa60dl`,$$css:!0},pillHorizontal:{kzqmXN:`x1g8rjiy`,kZKoxP:`x18to7ep`,$$css:!0},pillVertical:{kzqmXN:`xgc8j7m`,kZKoxP:`xuoj239`,$$css:!0},pillHidden:{kSiTet:`xg01cxk`,$$css:!0},pillVisible:{kSiTet:`x1hc1fzr`,$$css:!0},pillHover:{kSiTet:`x1hc1fzr`,kWkggS:`x1m4xfpy`,$$css:!0},pillActive:{kSiTet:`x1hc1fzr`,kWkggS:`x7njt3n`,$$css:!0}},Q={kLqNvP:`x1o0tod`,k3aq6I:`x11wx31z x75qhwu`,$$css:!0},$={k87sOh:`x13vifvy`,k3aq6I:`xsqj5wx`,$$css:!0},je={kLqNvP:`x1o0tod`,k3aq6I:`xsqj5wx`,$$css:!0},Me={k87sOh:`x13vifvy`,k3aq6I:`xsqj5wx`,$$css:!0},Ne={hitAreaOffsetX:e=>[Q,{"--x-qthpiu":`translateX(calc(${e} * (3px + ${a[`--spacing-1`]}) - 6.5px))`==null?void 0:`translateX(calc(${e} * (3px + ${a[`--spacing-1`]}) - 6.5px))`,"--x-sj6hyi":`translateX(calc(${e} * (3px + ${a[`--spacing-1`]}) + 6.5px))`==null?void 0:`translateX(calc(${e} * (3px + ${a[`--spacing-1`]}) + 6.5px))`}],hitAreaOffsetY:e=>[$,{"--x-transform":`translateY(calc(${e} * (3px + ${a[`--spacing-1`]}) - 6.5px))`==null?void 0:`translateY(calc(${e} * (3px + ${a[`--spacing-1`]}) - 6.5px))`}],pillOffsetX:e=>[je,{"--x-transform":`translate(calc(${e} * (100% + ${a[`--spacing-1`]})), -50%)`==null?void 0:`translate(calc(${e} * (100% + ${a[`--spacing-1`]})), -50%)`}],pillOffsetY:e=>[Me,{"--x-transform":`translate(-50%, calc(${e} * (100% + ${a[`--spacing-1`]})))`==null?void 0:`translate(-50%, calc(${e} * (100% + ${a[`--spacing-1`]})))`}]};function Pe(e,t,n){let r=[...new Set(e._snaps.map(t=>Math.min(e._maxSizePx,Math.max(e._minSizePx,t))))].sort((e,t)=>e-t),i=e._size,a=t>0?r.filter(e=>e>i):r.filter(e=>e<i).reverse();return a.length===0?i:a[Math.min(n,a.length)-1]}function Fe(e){let t=Te(e);t?e._isCollapsed?t.expand():t.collapse():(e._onResizeStart(),e._onResizeMove(e._isCollapsed?e._minSizePx:-e._size),e._onResizeEnd())}function Ie({direction:e=`horizontal`,position:t=`inline`,isReversed:i=!1,isDisabled:a=!1,hasDivider:o=!1,isAlwaysVisible:s=!0,pillPlacement:c=`auto`,label:l,resizable:u,children:ee,xstyle:d,className:f,ref:te,...p}){let m=S(),h=l??m(`@astryx.resizable.handle.label`),g=(0,A.useRef)(null),_=(0,A.useRef)(null),[y,b]=(0,A.useState)(!1),[w,T]=(0,A.useState)(!1),[E,D]=(0,A.useState)(!1),O=e===`horizontal`,k=t===`overlay`,M=i?-1:1,N=Oe(c,i,u?._isCollapsed??!1),P=ke(N),F=(0,A.useCallback)(()=>{let e=g.current;return e&&getComputedStyle(e).direction===`rtl`?-1:1},[]),I=w||E,L=(0,A.useRef)(!1);(0,A.useEffect)(()=>{let t=u?._direction;t!=null&&t!==e&&!L.current&&(L.current=!0,`${e}${t}`)},[e,u]);let R=(0,A.useCallback)(()=>{_.current=null,b(!1),X()},[]),re=(0,A.useCallback)(e=>{a||!u||_.current||(e.preventDefault(),e.stopPropagation(),e.currentTarget.setPointerCapture?.(e.pointerId),_.current={pointerId:e.pointerId,startPos:O?e.clientX:e.clientY,rtl:O?F():1},b(!0),u._onResizeStart(),Ae(O))},[a,u,O,F]),ie=(0,A.useCallback)(e=>{let t=_.current;if(!t||t.pointerId!==e.pointerId||!u)return;let n=O?e.clientX:e.clientY;u._onResizeMove((n-t.startPos)*t.rtl*M)},[u,O,M]),z=(0,A.useCallback)(e=>{_.current?.pointerId===e.pointerId&&(R(),u?._onResizeEnd())},[R,u]),B=(0,A.useCallback)(e=>{_.current?.pointerId===e.pointerId&&(R(),u?._onResizeCancel?.())},[R,u]),ae=(0,A.useCallback)(e=>{if(a||!u)return;let t=e.shiftKey?Y:De,n=O?F():1,r=e=>(e===`ArrowRight`||e===`ArrowDown`?1:e===`ArrowLeft`||e===`ArrowUp`?-1:0)*(O?n:1)*M>0;switch(e.key){case`ArrowRight`:case`ArrowDown`:case`ArrowLeft`:case`ArrowUp`:{if(e.preventDefault(),u._isCollapsed){r(e.key)&&(u._onResizeStart(),u._onResizeMove(Math.max(u._minSizePx+t,u._collapsedSize)),u._onResizeEnd());break}if(u._snaps.length>0){u._onResizeStart(),u._onResizeMove(Pe(u,r(e.key)?1:-1,e.shiftKey?2:1)-u._size),u._onResizeEnd();break}let i=e.key===`ArrowRight`||e.key===`ArrowDown`?1:-1;u._onResizeStart(),u._onResizeMove(i*t*(O?n:1)*M),u._onResizeEnd();break}case`Home`:e.preventDefault(),u._onResizeStart(),u._onResizeMove(u._minSizePx-u._size),u._onResizeEnd();break;case`End`:e.preventDefault(),u._maxSizePx!==1/0&&(u._onResizeStart(),u._onResizeMove(u._maxSizePx-u._size),u._onResizeEnd());break;case`Enter`:e.preventDefault(),u._collapsible&&Fe(u)}},[a,u,O,F,M]),oe=(0,A.useCallback)(()=>{!a&&u&&u._collapsible&&Fe(u)},[a,u]),V=(0,A.useRef)(void 0);V.current=u?._onResizeCancel,(0,A.useEffect)(()=>()=>{_.current&&(_.current=null,X(),V.current?.())},[]);let H=u?._isCollapsed??!1,se=u?H?Math.max(u._size,u._minSizePx):u._size:void 0,ce=u?u._minSizePx:void 0,U=u?we(u)??(u._maxSizePx===1/0?void 0:u._maxSizePx):void 0,le=U!=null&&Number.isFinite(U)?U:void 0,ue=u&&H?m(`@astryx.resizable.collapsed`):void 0;return(0,j.jsxs)(`div`,{ref:ne(te,g),role:`separator`,"aria-orientation":O?`vertical`:`horizontal`,"aria-valuenow":se,"aria-valuemin":ce,"aria-valuemax":le,"aria-valuetext":ue,"aria-label":h,"aria-disabled":a||void 0,tabIndex:a?-1:0,onDoubleClick:oe,onFocus:()=>D(!0),onBlur:()=>D(!1),"data-resizing":y||void 0,...v(r(`resize-handle`),C.focusVisible(Z.handle,k&&Z.overlay,k&&(O?Z.overlayHorizontal:Z.overlayVertical),!k&&(O?Z.horizontal:Z.vertical),!k&&!o&&(O?Z.noDividerHorizontal:Z.noDividerVertical),!k&&o&&I&&!y&&Z.handleHover,!k&&o&&y&&Z.handleActive,a&&Z.disabled,d),f),...p,onKeyDown:e=>{p.onKeyDown?.(e),ae(e)},children:[(0,j.jsx)(`div`,{...n(Z.hitArea,O?Z.hitAreaHorizontal:Z.hitAreaVertical,P==null?O?x.centerInline(`0px`):Z.hitAreaCenteredY:O?Ne.hitAreaOffsetX(P):Ne.hitAreaOffsetY(P),a&&Z.disabled),onPointerDown:re,onPointerMove:ie,onPointerUp:z,onPointerCancel:B,onLostPointerCapture:B,onPointerEnter:()=>T(!0),onPointerLeave:()=>{y||T(!1)}}),ee??(0,j.jsx)(`div`,{...v(r(`resize-handle-pill`),n(Z.pill,O?Z.pillHorizontal:Z.pillVertical,N===`center`?x.centerInline(`-50%`):O?Ne.pillOffsetX(N===`start`?-1:1):Ne.pillOffsetY(N===`start`?-1:1),s?Z.pillVisible:Z.pillHidden,I&&!y&&Z.pillHover,y&&Z.pillActive))})]})}Ie.displayName=`ResizeHandle`;var Le={defaultSize:`33%`,minSize:280,maxSize:`50%`};function Re(e){return e>=Le.minSize*2}function ze(e,t){let n=(0,A.useId)(),[r,i]=(0,A.useState)(t);return{id:n,open:r,toggle:(0,A.useCallback)(()=>i(e=>!e),[]),resizable:Ee({...Le,containerRef:e})}}function Be({children:e,floating:t=!1}){return t?(0,j.jsx)(`div`,{style:{position:`absolute`,insetBlockStart:`var(--spacing-4)`,insetInlineEnd:`var(--spacing-4)`,zIndex:3},children:(0,j.jsx)(g,{hAlign:`end`,gap:1,children:e})}):(0,j.jsx)(P,{hasDivider:!1,children:(0,j.jsx)(g,{hAlign:`end`,gap:1,children:e})})}function Ve({labels:e,icon:t,panelId:n,open:r,onToggle:i}){let a=r?e.hide:e.show;return(0,j.jsx)(w,{label:a,tooltip:a,variant:r?`secondary`:`ghost`,"aria-expanded":r,"aria-controls":n,icon:t,onClick:i})}var He={background:`var(--theorem-pane-background, var(--color-background-card))`,borderRadius:`var(--radius-page)`,overflow:`hidden`};function Ue({padding:e,inset:t=`end`,className:n,children:r}){return(0,j.jsx)(h,{height:`100%`,className:n,paddingInlineStart:t===`end`?void 0:3,paddingInlineEnd:t===`start`?void 0:3,paddingBlockEnd:4,children:(0,j.jsx)(E,{variant:`transparent`,height:`100%`,padding:e,style:He,children:r})})}function We({label:e,padding:t,children:n}){return(0,j.jsx)(k,{className:`theorem-panel-scroll`,label:e,height:`100%`,padding:t,children:n})}function Ge({id:e,labels:t,resizable:n,open:r=!0,padding:i,side:a=`end`,className:o,children:s}){let c=r?(0,j.jsx)(Ie,{direction:`horizontal`,isReversed:a===`end`,hasDivider:!1,isAlwaysVisible:!1,resizable:n.props,label:t.resize}):null,l=(0,j.jsx)(L,{id:e,className:o,label:t.name,role:`complementary`,width:r?n.size:0,hasDivider:!1,padding:0,isScrollable:!1,inert:!r,children:(0,j.jsx)(Ue,{padding:i,inset:a,children:r?s:null})});return a===`start`?(0,j.jsxs)(j.Fragment,{children:[l,c]}):(0,j.jsxs)(j.Fragment,{children:[c,l]})}function Ke(){let[e,t]=(0,A.useState)(0);return{ref:(0,A.useCallback)(e=>{if(!e)return;let n=new ResizeObserver(([e])=>t(e?.contentRect.width??0));return n.observe(e),()=>n.disconnect()},[]),width:e}}function qe({id:e,header:t,children:n}){let{ref:r,width:i}=Ke();return(0,j.jsx)(l,{height:`fill`,style:{position:`relative`},header:t,content:(0,j.jsx)(c,{padding:0,isScrollable:!1,children:(0,j.jsx)(h,{height:`100%`,padding:3,children:(0,j.jsx)(E,{variant:`transparent`,height:`100%`,padding:0,style:He,children:(0,j.jsx)(`div`,{id:e,ref:r,style:{height:`100%`},children:n(Re(i))})})})})})}function Je({isWide:e,label:t,detailLabel:n,lead:r,overview:i,detail:a}){return e?(0,j.jsxs)(g,{height:`100%`,gap:0,children:[(0,j.jsx)(_,{size:`fill`,children:(0,j.jsxs)(We,{label:t,children:[r,i]})}),a?(0,j.jsx)(`div`,{style:{width:`48%`,flexShrink:0,height:`100%`,borderInlineStart:`1px solid var(--color-border)`},children:(0,j.jsx)(We,{label:n,children:a})}):null]}):(0,j.jsxs)(We,{label:t,children:[r,a||i]})}function Ye({title:e,doc:t,children:n}){return(0,j.jsx)(E,{padding:3,variant:`muted`,style:{background:`var(--color-background-surface)`},children:(0,j.jsxs)(h,{gap:2,children:[(0,j.jsx)(D,{content:t??e,children:(0,j.jsx)(T,{type:`supporting`,color:`secondary`,children:e})}),n]})})}function Xe({text:e}){return(0,j.jsx)(`span`,{style:{whiteSpace:`pre-wrap`,overflowWrap:`anywhere`},children:e})}function Ze({view:e,children:t}){return(0,j.jsxs)(j.Fragment,{children:[e,(0,j.jsx)(`div`,{style:{display:e?`none`:`contents`},children:t})]})}export{P as C,L as S,B as _,We as a,re as b,qe as c,Ve as d,Re as f,Ee as g,Ie as h,Ue as i,Ge as l,Ke as m,Je as n,Xe as o,ze as p,Ye as r,He as s,Ze as t,Be as u,ie as v,R as x,z as y};
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{c as t,l as n,n as r,u as i}from"./themeProps-3IqahpCr.js";import{h as a}from"./tokens.stylex-DkHf0P9C.js";import{_ as o,g as s,l as c,u as l,v as u}from"./SegmentedControlItem-BLuJOusN.js";import{a as ee,h as d,l as f,n as te,t as p,y as m}from"./padding.stylex-B76907Zf.js";import{t as h}from"./VStack-CkVMcNiK.js";import{n as g,t as _}from"./StackItem-CQviqAfM.js";import{t as v}from"./mergeProps-ptS-gIMz.js";import{t as y}from"./sharedResizeObserver-4U9Xq5Oq.js";import{r as b}from"./useLayerDismissal-BAnTRYTt.js";import{S as x}from"./fieldParts-Cs6Amprh.js";import{x as S}from"./Icon-ZfFwTt8n.js";import"./devWarning-DxuplmRl.js";import{r as C}from"./focusOutline.stylex-BT0kfa4t.js";import{t as w}from"./IconButton-CG5klqF1.js";import{r as ne,t as T}from"./Text-BsiAsowd.js";import{t as E}from"./Card-Ghe4ozhC.js";import{t as D}from"./Tooltip-CTEuMRLe.js";import{t as O}from"./createReactComponent-CZwsv6DD.js";import{t as k}from"./ScrollableArea-C8AVuqnt.js";var A=e(i(),1),j=t(),M={header:{kmuXW:`x2lah0s`,$$css:!0},inner:{kB7OPa:`x9f619`,ks0D6T:`xjl2t3p`,kUOVxO:`xvueqy4`,kZCmMZ:`xaku5ci`,kwRFfy:`x19eyx77`,kLKAdn:`xuqi0w`,kGO01o:`xg476vw`,"--container-padding-inline-start":`xt2a87w`,"--container-padding-inline-end":`xhq06x6`,"--container-padding-block-start":`x186o6qk`,"--container-padding-block-end":`xi9ns85`,$$css:!0},fullBleed:{kZCmMZ:`x1c1uobl`,kwRFfy:`xyri2b`,kLKAdn:`xexx8yu`,kGO01o:`x18d9i69`,"--container-padding-inline-start":`xrhngw9`,"--container-padding-inline-end":`xjsfl84`,"--container-padding-block-start":`x1047aw6`,"--container-padding-block-end":`xax9j7h`,$$css:!0},divider:{kt9PQ7:`xso031l`,kfdmCh:`x1q0q8m5`,kL6WhQ:`xw8gpjh`,$$css:!0}},N={sizing:e=>[{kZKoxP:e==null?e:`x16ye13r`,$$css:!0},{"--x-height":(e=>typeof e==`number`?e+`px`:e??void 0)(e)}]};function P({children:e,hasDivider:t,height:i,label:a,padding:o,paddingBlockEnd:c,role:l,xstyle:u,className:m,style:h,ref:g,..._}){let y=(0,A.use)(s),b=t??y?.defaultHasDividers??!1,x=o===0;return(0,j.jsx)(`div`,{ref:g,role:l,"aria-label":a,"data-divider":b||void 0,...v(r(`layout-header`),n(M.header,N.sizing(i??null),b&&M.divider,u),m,h),..._,children:(0,j.jsx)(`div`,{...n(M.inner,x&&M.fullBleed,o!=null&&d[o],o!=null&&ee[o],o!=null&&te[o],o!=null&&p[o],c!=null&&f[c],c!=null&&p[c]),children:e})})}P.displayName=`LayoutHeader`;var F={panel:{kB7OPa:`x9f619`,kmuXW:`x2lah0s`,kVQacm:`x7giv3`,kZCmMZ:`xwjyata`,kwRFfy:`x1peupej`,kLKAdn:`xqty4a`,kGO01o:`xg476vw`,"--container-padding-inline-start":`x408pgh`,"--container-padding-inline-end":`xikqloz`,"--container-padding-block-start":`xjmgx01`,"--container-padding-block-end":`xi9ns85`,$$css:!0},startPanel:{kZCmMZ:`xaku5ci`,$$css:!0},endPanel:{kwRFfy:`x19eyx77`,$$css:!0},noHeader:{kLKAdn:`xuqi0w`,$$css:!0},noFooter:{kGO01o:`x1363qu6`,$$css:!0},fullBleed:{kZCmMZ:`x1c1uobl`,kwRFfy:`xyri2b`,kLKAdn:`xexx8yu`,kGO01o:`x18d9i69`,"--container-padding-inline-start":`xrhngw9`,"--container-padding-inline-end":`xjsfl84`,"--container-padding-block-start":`x1047aw6`,"--container-padding-block-end":`xax9j7h`,$$css:!0},scrollable:{kVQacm:`xysyzu8`,$$css:!0},dividerEnd:{ke9TFa:`x1lun4ml`,k8ry5P:`x18b5jzi`,kBCPoo:`x1gejf6u`,$$css:!0},dividerStart:{k2ei4v:`xpilrb4`,kVhnKS:`x1t7ytsu`,kGJrpR:`x1j92z86`,$$css:!0},collapseStart:{keTefX:`x1wim8z0`,$$css:!0},collapseEnd:{k71WvV:`x1kpg4um`,$$css:!0}},I={sizing:e=>[{kzqmXN:e==null?e:`x5lhr3w`,$$css:!0},{"--x-width":(e=>typeof e==`number`?e+`px`:e??void 0)(e)}]};function L({children:e,hasDivider:t=!1,isScrollable:i=!0,label:a,padding:s,role:c,width:l,resizable:f,xstyle:m,className:h,style:g,ref:_,...y}){let b=(0,A.use)(u),{hasHeader:x,hasFooter:S}=(0,A.use)(o),C=f?f._size:l,w=b===`start`,ne=b===`end`,T=s===0,E=!t&&!T&&s==null,D=w?F.dividerEnd:ne?F.dividerStart:null,O=w?F.collapseEnd:ne?F.collapseStart:null;return(0,j.jsx)(`div`,{ref:_,role:c,"aria-label":a,...v(r(`layout-panel`),n(F.panel,I.sizing(C??null),w&&!T&&s==null&&F.startPanel,ne&&!T&&s==null&&F.endPanel,!x&&!T&&s==null&&F.noHeader,!S&&!T&&s==null&&F.noFooter,i&&F.scrollable,T&&F.fullBleed,s!=null&&d[s],s!=null&&ee[s],s!=null&&te[s],s!=null&&p[s],t&&D,E&&O,m),h,g),...y,children:e})}L.displayName=`LayoutPanel`;var R=O(`outline`,`eye-off`,`EyeOff`,[[`path`,{d:`M10.585 10.587a2 2 0 0 0 2.829 2.828`,key:`svg-0`}],[`path`,{d:`M16.681 16.673a8.717 8.717 0 0 1 -4.681 1.327c-3.6 0 -6.6 -2 -9 -6c1.272 -2.12 2.712 -3.678 4.32 -4.674m2.86 -1.146a9.055 9.055 0 0 1 1.82 -.18c3.6 0 6.6 2 9 6c-.666 1.11 -1.379 2.067 -2.138 2.87`,key:`svg-1`}],[`path`,{d:`M3 3l18 18`,key:`svg-2`}]]),re=O(`outline`,`info-circle`,`InfoCircle`,[[`path`,{d:`M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0`,key:`svg-0`}],[`path`,{d:`M12 9h.01`,key:`svg-1`}],[`path`,{d:`M11 12h1v4h1`,key:`svg-2`}]]),ie=(0,A.createContext)(null);ie.displayName=`CollapsibleGroupContext`;var z=m(null);z.displayName=`CollapsibleGroupPresentationContext`;function B(e){let{isCollapsible:t,value:n}=e,r=(0,A.use)(ie),i=r!=null&&n!=null,a=t===!0?{}:t||null,o=a!=null,[s,c]=(0,A.useState)(()=>i?!0:a?.isOpen===void 0?a?.defaultIsOpen??!0:a.isOpen),l;return l=i&&n!=null?r.isOpen(n):a?.isOpen===void 0?s:a.isOpen,{isEnabled:o,isOpen:l,toggle:()=>{if(i&&n!=null){r.toggle(n);return}let e=!l;a?.isOpen===void 0&&c(e),a?.onOpenChange?.(e)}}}var ae=50,oe=40,V=`astryx-resizable:`;function H(e,t,n,r){let i=Math.min(n,Math.max(t,e));if(r.length>0){let e=r[0],a=Math.abs(i-e);for(let t=1;t<r.length;t++){let n=Math.abs(i-r[t]);n<a&&(e=r[t],a=n)}return Math.min(n,Math.max(t,e))}return i}function se(e){if(typeof window>`u`)return null;try{let t=localStorage.getItem(V+e);if(t==null)return null;let n=JSON.parse(t);if(typeof n==`number`)return Number.isFinite(n)?n===0?{size:null,isCollapsed:!0}:{size:n,isCollapsed:null}:null;if(typeof n==`object`&&n){let{size:e,isCollapsed:t}=n,r=typeof e==`number`&&Number.isFinite(e)&&e>0;if(r||t===!0)return{size:r?e:null,isCollapsed:t===!0}}}catch{}return null}function ce(e,t){if(typeof window<`u`)try{localStorage.setItem(V+e,JSON.stringify(t))}catch{}}var U=1200,le=()=>()=>{},ue=250,de=`Use a non-negative number of pixels, an exact "Npx" string, an exact "N%" string from 0% to 100%, pixel(value), or percent(value, {min: pixel(value)}) / percent(value, {max: pixel(value)}).`,W=/^(\d+(?:\.\d+)?)px$/,fe=/^(\d+(?:\.\d+)?)%$/;function pe(e){let t=W.exec(e);if(t){let e=Number(t[1]);return Number.isFinite(e)?{kind:`px`,value:e}:null}let n=fe.exec(e);if(n){let e=Number(n[1]);return Number.isFinite(e)&&e<=100?{kind:`percent`,value:e}:null}return null}function G(e){if(typeof e!=`object`||!e||Array.isArray(e))return null;let t=e;return t.type===`pixel`&&typeof t.value==`number`&&Number.isFinite(t.value)&&t.value>=0?t.value:null}function me(e){if(Array.isArray(e))return null;let t=e;if(t.type!==`percent`||typeof t.value!=`number`||!Number.isFinite(t.value)||t.value<0||t.value>100)return null;let n=t.min!==void 0;if(n===(t.max!==void 0))return null;if(n){let e=G(t.min);return e==null?null:{kind:`percent`,value:t.value,min:e}}let r=G(t.max);return r==null?null:{kind:`percent`,value:t.value,max:r}}function he(e){if(typeof e==`number`)return Number.isFinite(e)&&e>=0?{kind:`px`,value:e}:null;if(typeof e==`string`)return pe(e);if(typeof e==`object`&&e){let t=G(e);return t==null?me(e):{kind:`px`,value:t}}return null}function ge(e){return e?.kind===`percent`}function _e(e,t){if(e.kind===`px`)return e.value;if(t==null)return null;let n=Math.round(e.value/100*t);return e.min===void 0?e.max===void 0?n:Math.min(n,e.max):Math.max(n,e.min)}function K(e){if(typeof e==`number`&&!Number.isFinite(e))return String(e);try{return JSON.stringify(e)??String(e)}catch{return String(e)}}function ve(e){if(typeof e!=`object`||!e||Array.isArray(e))return K(e);let t=e;return t.type===`pixel`?`{"type":"pixel","value":${K(t.value)}}`:K(e)}function q(e){if(typeof e==`object`&&e&&!Array.isArray(e)){let t=e;if(t.type===`pixel`)return ve(e);if(t.type===`percent`){let e=[`"type":"percent"`,`"value":${K(t.value)}`];return t.min!==void 0&&e.push(`"min":${ve(t.min)}`),t.max!==void 0&&e.push(`"max":${ve(t.max)}`),`{${e.join(`,`)}}`}}return K(e)}function ye(e,t,n,r,i,a,o){return e===void 0?r:e===1/0&&r===1/0?1/0:t==null?(o.current||(o.current=!0,`${i}${q(e)}${a}${r}`),r):_e(t,n)??r}function be(e,t,n){let r=n?.contentBoxSize?.[0];if(r)return t===`vertical`?r.blockSize:r.inlineSize;let i=typeof window>`u`?null:window.getComputedStyle(e);if(i==null)return null;let a=t===`vertical`?e.clientHeight-parseFloat(i.paddingTop)-parseFloat(i.paddingBottom):e.clientWidth-parseFloat(i.paddingLeft)-parseFloat(i.paddingRight);return Number.isFinite(a)?a:null}function J(e){let{defaultSize:t,minSize:n,maxSize:r,containerRef:i,direction:a=`horizontal`,collapsible:o=!1,collapsedSize:s=oe,snaps:c,autoSaveId:l,defaultIsCollapsed:u,isCollapsed:ee,onSizeChange:d,onCollapseChange:f}=e,te=(0,A.useRef)([]),p=c??te.current,m=n,h=r,g=he(t),_=he(n),v=he(r),x=i!=null,S=l?se(l):null,C=(0,A.useRef)(null),[,w]=(0,A.useState)(0),ne=ge(g),T=ge(_)||ge(v),E=S?.size==null&&ne&&C.current?.isFinal!==!0,D=x&&(T||E),O=!x&&T,k=(0,A.useRef)(null),[,j]=(0,A.useState)(0),M=(0,A.useRef)(null),N=D?k.current:null;b(()=>{if(!D){k.current=null,M.current=null;return}let e=i?.current??null;e!==k.current&&(M.current=null,k.current=e,j(e=>e+1))});let P=(0,A.useCallback)(e=>!D||N==null||N!==i?.current?()=>{}:y(N,t=>{M.current=be(N,a,t),e()}),[N,D,a,i]),F=(0,A.useCallback)(()=>!D||N==null?(M.current=null,null):(M.current??=be(N,a),M.current),[N,D,a]),I=(0,A.useSyncExternalStore)(P,F,()=>null),L=(0,A.useCallback)(e=>x||!O||typeof window>`u`?()=>{}:(window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)),[x,O]),R=(0,A.useSyncExternalStore)(L,()=>typeof window>`u`?U:window.innerWidth,()=>U),re=(0,A.useSyncExternalStore)(le,()=>typeof window>`u`?null:a===`vertical`?window.innerHeight:window.innerWidth,()=>null),ie=D,z=I!=null&&I>0,B=x?z?I:U:R,V=!ie||z,W=(0,A.useRef)(null),[fe,pe]=(0,A.useState)(0),G=W.current??B,me=(0,A.useRef)(!1),_e=(0,A.useRef)(!1),K=(0,A.useRef)(!1),ve=(0,A.useRef)(!1),q=ye(m,_,G,ae,`minSize`,de,me),J=ye(h,v,G,1/0,`maxSize`,de,_e);(C.current==null||!C.current.isFinal)&&(C.current={px:ye(t,g,G,ue,`defaultSize`,de,K),isFinal:V});let xe=C.current.px,[we,Te]=(0,A.useState)(()=>S?.size==null?V?H(xe,q,J,p):null:S.size);x&&!T&&V&&E&&we!=null&&w(e=>e+1),V&&we==null&&Te(H(xe,q,J,p));let[Ee,De]=(0,A.useState)({min:q,max:J});V&&W.current==null&&(Ee.min!==q||Ee.max!==J)&&(De({min:q,max:J}),Te(e=>e==null?null:H(e,q,J,p)));let Y=H(we??xe,q,J,p),[Oe,ke]=(0,A.useState)(()=>S?.isCollapsed??u??!1),Ae=ee!==void 0,X=o&&(Ae?ee:Oe),Z=(0,A.useRef)(Y),Q=(0,A.useRef)(X);Q.current=X;let $=(0,A.useCallback)(e=>{Ae||(Q.current=e,ke(e))},[Ae]);(0,A.useEffect)(()=>{q>J&&!ve.current&&(ve.current=!0,`${q}${J}`)},[q,J]),(0,A.useEffect)(()=>{l&&V&&ce(l,{size:Y,isCollapsed:X})},[Y,X,l,V]);let je=(0,A.useCallback)(()=>{o&&!Q.current&&($(!0),f?.(!0),d?.(0))},[o,$,f,d]),Me=(0,A.useCallback)(()=>{let e=Q.current;$(!1),e&&f?.(!1),d?.(Y)},[$,Y,f,d]),Ne=(0,A.useCallback)(e=>{if(!Number.isFinite(e)||e<0){`${String(e)}`;return}let t=H(e,q,J,p),n=Q.current;Te(t),$(!1),n&&f?.(!1),d?.(t)},[q,J,p,$,f,d]),Pe=(0,A.useCallback)(()=>{W.current=B,Z.current=Q.current?0:Y},[Y,B]),Fe=(0,A.useCallback)(e=>{let t=Z.current+e;if(o&&t<s){Q.current||($(!0),f?.(!0),d?.(0));return}Q.current&&t>=s&&($(!1),f?.(!1));let n=H(t,q,J,p);Te(n),d?.(n)},[o,s,$,q,J,p,d,f]),Ie=(0,A.useCallback)(()=>{W.current!=null&&(W.current=null,pe(e=>e+1))},[]),Le=(0,A.useCallback)(()=>{Ie()},[Ie]),Re=Ie,ze=x?z&&D?I:null:re,Be=J===1/0?ze==null?void 0:Math.max(ze,X?q:Y):J,Ve={_size:X?0:Y,_isCollapsed:X,_onResizeStart:Pe,_onResizeMove:Fe,_onResizeEnd:Le,_onResizeCancel:Re,_minSizePx:q,_maxSizePx:J,_snaps:p,_collapsedSize:s,_collapsible:o,_direction:a,_isResizableProps:!0};return Se.set(Ve,{collapse:je,expand:Me}),Be!=null&&Ce.set(Ve,Be),{size:X?0:Y,isCollapsed:X,collapse:je,expand:Me,resize:Ne,props:Ve}}function xe(e){let{regions:t,autoSaveId:n,containerRef:r,direction:i}=e,a=Object.entries(t),o=a.map(([e,t])=>J({...t,containerRef:r,direction:i,autoSaveId:n?`${n}:${e}`:void 0})),s={};return a.forEach(([e],t)=>{s[e]=o[t]}),s}var Se=new WeakMap,Ce=new WeakMap;function we(e){return Ce.get(e)}function Te(e){return Se.get(e)}function Ee(e){return`regions`in e?xe(e):J(e)}var De=10,Y=50;function Oe(e,t,n){if(e!==`auto`)return e;let r=t?`end`:`start`;return n?r===`start`?`end`:`start`:r}function ke(e){return e===`center`?null:e===`start`?-1:1}function Ae(e){document.body.style.cursor=e?`col-resize`:`row-resize`,document.body.style.userSelect=`none`}function X(){document.body.style.cursor=``,document.body.style.userSelect=``}var Z={handle:{kVAEAm:`x1n2onr6`,kmuXW:`x2lah0s`,k1xSpc:`x78zum5`,kGNEyG:`x6s0dn4`,kjj79g:`xl56j7k`,kWkggS:`x1m4xfpy`,k1ekBW:`x15406qy`,kIyJzY:`xuedmi6`,kAMwcw:`xlr8y92`,$$css:!0},overlay:{kVAEAm:`x10l6tqk`,kY2c9j:`xhtitgo`,kWkggS:`xjbqb8w`,$$css:!0},overlayHorizontal:{kt4wiu:`xtijo5x`,k87sOh:`x13vifvy`,krVfgx:`x1ey2m1c`,kzqmXN:`xkhob8h`,$$css:!0},overlayVertical:{krVfgx:`x1ey2m1c`,kLqNvP:`x1o0tod`,kt4wiu:`xtijo5x`,kZKoxP:`x5kfih4`,$$css:!0},horizontal:{kzqmXN:`x1i1rx1s`,kZKoxP:`x5yr21d`,kkrTdU:`xicojor x16khyan`,$$css:!0},vertical:{kZKoxP:`xjm9jq1`,kzqmXN:`xh8yej3`,kkrTdU:`xyozgr7 x16khyan`,$$css:!0},noDividerHorizontal:{kWkggS:`xjbqb8w`,kzqmXN:`xnalus7`,$$css:!0},noDividerVertical:{kWkggS:`xjbqb8w`,kZKoxP:`xqtp20y`,$$css:!0},handleHover:{kWkggS:`x1m4xfpy`,$$css:!0},handleActive:{kWkggS:`x7njt3n`,$$css:!0},disabled:{kkrTdU:`xt0e3qv`,kfzvcC:`x47corl`,$$css:!0},hitArea:{kVAEAm:`x10l6tqk`,kY2c9j:`x1vjfegm`,kFalU9:`x5ve5x3`,kfSwDN:`x87ps6o`,$$css:!0},hitAreaHorizontal:{kzqmXN:`x12xnipv`,k87sOh:`x13vifvy`,krVfgx:`x1ey2m1c`,kkrTdU:`xicojor x16khyan`,$$css:!0},hitAreaVertical:{kZKoxP:`x6b6gus`,kLqNvP:`x1o0tod`,kt4wiu:`xtijo5x`,kkrTdU:`xyozgr7 x16khyan`,$$css:!0},hitAreaCenteredY:{k87sOh:`xwa60dl`,k3aq6I:`x1cb1t30`,$$css:!0},pill:{kVAEAm:`x10l6tqk`,kY2c9j:`xhtitgo`,kfzvcC:`x47corl`,kaIpWk:`xjspbzw`,kWkggS:`x1m4xfpy`,k1ekBW:`x1wbls7o`,kIyJzY:`xuedmi6`,kAMwcw:`xlr8y92`,k87sOh:`xwa60dl`,$$css:!0},pillHorizontal:{kzqmXN:`x1g8rjiy`,kZKoxP:`x18to7ep`,$$css:!0},pillVertical:{kzqmXN:`xgc8j7m`,kZKoxP:`xuoj239`,$$css:!0},pillHidden:{kSiTet:`xg01cxk`,$$css:!0},pillVisible:{kSiTet:`x1hc1fzr`,$$css:!0},pillHover:{kSiTet:`x1hc1fzr`,kWkggS:`x1m4xfpy`,$$css:!0},pillActive:{kSiTet:`x1hc1fzr`,kWkggS:`x7njt3n`,$$css:!0}},Q={kLqNvP:`x1o0tod`,k3aq6I:`x11wx31z x75qhwu`,$$css:!0},$={k87sOh:`x13vifvy`,k3aq6I:`xsqj5wx`,$$css:!0},je={kLqNvP:`x1o0tod`,k3aq6I:`xsqj5wx`,$$css:!0},Me={k87sOh:`x13vifvy`,k3aq6I:`xsqj5wx`,$$css:!0},Ne={hitAreaOffsetX:e=>[Q,{"--x-qthpiu":`translateX(calc(${e} * (3px + ${a[`--spacing-1`]}) - 6.5px))`==null?void 0:`translateX(calc(${e} * (3px + ${a[`--spacing-1`]}) - 6.5px))`,"--x-sj6hyi":`translateX(calc(${e} * (3px + ${a[`--spacing-1`]}) + 6.5px))`==null?void 0:`translateX(calc(${e} * (3px + ${a[`--spacing-1`]}) + 6.5px))`}],hitAreaOffsetY:e=>[$,{"--x-transform":`translateY(calc(${e} * (3px + ${a[`--spacing-1`]}) - 6.5px))`==null?void 0:`translateY(calc(${e} * (3px + ${a[`--spacing-1`]}) - 6.5px))`}],pillOffsetX:e=>[je,{"--x-transform":`translate(calc(${e} * (100% + ${a[`--spacing-1`]})), -50%)`==null?void 0:`translate(calc(${e} * (100% + ${a[`--spacing-1`]})), -50%)`}],pillOffsetY:e=>[Me,{"--x-transform":`translate(-50%, calc(${e} * (100% + ${a[`--spacing-1`]})))`==null?void 0:`translate(-50%, calc(${e} * (100% + ${a[`--spacing-1`]})))`}]};function Pe(e,t,n){let r=[...new Set(e._snaps.map(t=>Math.min(e._maxSizePx,Math.max(e._minSizePx,t))))].sort((e,t)=>e-t),i=e._size,a=t>0?r.filter(e=>e>i):r.filter(e=>e<i).reverse();return a.length===0?i:a[Math.min(n,a.length)-1]}function Fe(e){let t=Te(e);t?e._isCollapsed?t.expand():t.collapse():(e._onResizeStart(),e._onResizeMove(e._isCollapsed?e._minSizePx:-e._size),e._onResizeEnd())}function Ie({direction:e=`horizontal`,position:t=`inline`,isReversed:i=!1,isDisabled:a=!1,hasDivider:o=!1,isAlwaysVisible:s=!0,pillPlacement:c=`auto`,label:l,resizable:u,children:ee,xstyle:d,className:f,ref:te,...p}){let m=S(),h=l??m(`@astryx.resizable.handle.label`),g=(0,A.useRef)(null),_=(0,A.useRef)(null),[y,b]=(0,A.useState)(!1),[w,T]=(0,A.useState)(!1),[E,D]=(0,A.useState)(!1),O=e===`horizontal`,k=t===`overlay`,M=i?-1:1,N=Oe(c,i,u?._isCollapsed??!1),P=ke(N),F=(0,A.useCallback)(()=>{let e=g.current;return e&&getComputedStyle(e).direction===`rtl`?-1:1},[]),I=w||E,L=(0,A.useRef)(!1);(0,A.useEffect)(()=>{let t=u?._direction;t!=null&&t!==e&&!L.current&&(L.current=!0,`${e}${t}`)},[e,u]);let R=(0,A.useCallback)(()=>{_.current=null,b(!1),X()},[]),re=(0,A.useCallback)(e=>{a||!u||_.current||(e.preventDefault(),e.stopPropagation(),e.currentTarget.setPointerCapture?.(e.pointerId),_.current={pointerId:e.pointerId,startPos:O?e.clientX:e.clientY,rtl:O?F():1},b(!0),u._onResizeStart(),Ae(O))},[a,u,O,F]),ie=(0,A.useCallback)(e=>{let t=_.current;if(!t||t.pointerId!==e.pointerId||!u)return;let n=O?e.clientX:e.clientY;u._onResizeMove((n-t.startPos)*t.rtl*M)},[u,O,M]),z=(0,A.useCallback)(e=>{_.current?.pointerId===e.pointerId&&(R(),u?._onResizeEnd())},[R,u]),B=(0,A.useCallback)(e=>{_.current?.pointerId===e.pointerId&&(R(),u?._onResizeCancel?.())},[R,u]),ae=(0,A.useCallback)(e=>{if(a||!u)return;let t=e.shiftKey?Y:De,n=O?F():1,r=e=>(e===`ArrowRight`||e===`ArrowDown`?1:e===`ArrowLeft`||e===`ArrowUp`?-1:0)*(O?n:1)*M>0;switch(e.key){case`ArrowRight`:case`ArrowDown`:case`ArrowLeft`:case`ArrowUp`:{if(e.preventDefault(),u._isCollapsed){r(e.key)&&(u._onResizeStart(),u._onResizeMove(Math.max(u._minSizePx+t,u._collapsedSize)),u._onResizeEnd());break}if(u._snaps.length>0){u._onResizeStart(),u._onResizeMove(Pe(u,r(e.key)?1:-1,e.shiftKey?2:1)-u._size),u._onResizeEnd();break}let i=e.key===`ArrowRight`||e.key===`ArrowDown`?1:-1;u._onResizeStart(),u._onResizeMove(i*t*(O?n:1)*M),u._onResizeEnd();break}case`Home`:e.preventDefault(),u._onResizeStart(),u._onResizeMove(u._minSizePx-u._size),u._onResizeEnd();break;case`End`:e.preventDefault(),u._maxSizePx!==1/0&&(u._onResizeStart(),u._onResizeMove(u._maxSizePx-u._size),u._onResizeEnd());break;case`Enter`:e.preventDefault(),u._collapsible&&Fe(u)}},[a,u,O,F,M]),oe=(0,A.useCallback)(()=>{!a&&u&&u._collapsible&&Fe(u)},[a,u]),V=(0,A.useRef)(void 0);V.current=u?._onResizeCancel,(0,A.useEffect)(()=>()=>{_.current&&(_.current=null,X(),V.current?.())},[]);let H=u?._isCollapsed??!1,se=u?H?Math.max(u._size,u._minSizePx):u._size:void 0,ce=u?u._minSizePx:void 0,U=u?we(u)??(u._maxSizePx===1/0?void 0:u._maxSizePx):void 0,le=U!=null&&Number.isFinite(U)?U:void 0,ue=u&&H?m(`@astryx.resizable.collapsed`):void 0;return(0,j.jsxs)(`div`,{ref:ne(te,g),role:`separator`,"aria-orientation":O?`vertical`:`horizontal`,"aria-valuenow":se,"aria-valuemin":ce,"aria-valuemax":le,"aria-valuetext":ue,"aria-label":h,"aria-disabled":a||void 0,tabIndex:a?-1:0,onDoubleClick:oe,onFocus:()=>D(!0),onBlur:()=>D(!1),"data-resizing":y||void 0,...v(r(`resize-handle`),C.focusVisible(Z.handle,k&&Z.overlay,k&&(O?Z.overlayHorizontal:Z.overlayVertical),!k&&(O?Z.horizontal:Z.vertical),!k&&!o&&(O?Z.noDividerHorizontal:Z.noDividerVertical),!k&&o&&I&&!y&&Z.handleHover,!k&&o&&y&&Z.handleActive,a&&Z.disabled,d),f),...p,onKeyDown:e=>{p.onKeyDown?.(e),ae(e)},children:[(0,j.jsx)(`div`,{...n(Z.hitArea,O?Z.hitAreaHorizontal:Z.hitAreaVertical,P==null?O?x.centerInline(`0px`):Z.hitAreaCenteredY:O?Ne.hitAreaOffsetX(P):Ne.hitAreaOffsetY(P),a&&Z.disabled),onPointerDown:re,onPointerMove:ie,onPointerUp:z,onPointerCancel:B,onLostPointerCapture:B,onPointerEnter:()=>T(!0),onPointerLeave:()=>{y||T(!1)}}),ee??(0,j.jsx)(`div`,{...v(r(`resize-handle-pill`),n(Z.pill,O?Z.pillHorizontal:Z.pillVertical,N===`center`?x.centerInline(`-50%`):O?Ne.pillOffsetX(N===`start`?-1:1):Ne.pillOffsetY(N===`start`?-1:1),s?Z.pillVisible:Z.pillHidden,I&&!y&&Z.pillHover,y&&Z.pillActive))})]})}Ie.displayName=`ResizeHandle`;var Le={defaultSize:`33%`,minSize:280,maxSize:`50%`};function Re(e){return e>=Le.minSize*2}function ze(e,t){let n=(0,A.useId)(),[r,i]=(0,A.useState)(t);return{id:n,open:r,toggle:(0,A.useCallback)(()=>i(e=>!e),[]),resizable:Ee({...Le,containerRef:e})}}function Be({children:e,floating:t=!1}){return t?(0,j.jsx)(`div`,{style:{position:`absolute`,insetBlockStart:`var(--spacing-4)`,insetInlineEnd:`var(--spacing-4)`,zIndex:3},children:(0,j.jsx)(g,{hAlign:`end`,gap:1,children:e})}):(0,j.jsx)(P,{hasDivider:!1,children:(0,j.jsx)(g,{hAlign:`end`,gap:1,children:e})})}function Ve({labels:e,icon:t,panelId:n,open:r,onToggle:i}){let a=r?e.hide:e.show;return(0,j.jsx)(w,{label:a,tooltip:a,variant:r?`secondary`:`ghost`,"aria-expanded":r,"aria-controls":n,icon:t,onClick:i})}var He={background:`var(--theorem-pane-background, var(--color-background-card))`,borderRadius:`var(--radius-page)`,overflow:`hidden`};function Ue(e){return`var(--theorem-pane-edge, var(--spacing-${String(e)}))`}function We({padding:e,inset:t=`end`,className:n,children:r}){return(0,j.jsx)(h,{height:`100%`,className:n,paddingInlineStart:t===`end`?void 0:3,style:{paddingInlineEnd:t===`start`?void 0:Ue(3),paddingBlockEnd:Ue(4)},children:(0,j.jsx)(E,{variant:`transparent`,height:`100%`,padding:e,style:He,children:r})})}function Ge({label:e,padding:t,children:n}){return(0,j.jsx)(k,{className:`theorem-panel-scroll`,label:e,height:`100%`,padding:t,children:n})}function Ke({id:e,labels:t,resizable:n,open:r=!0,padding:i,side:a=`end`,className:o,children:s}){let c=r?(0,j.jsx)(Ie,{direction:`horizontal`,isReversed:a===`end`,hasDivider:!1,isAlwaysVisible:!1,resizable:n.props,label:t.resize}):null,l=(0,j.jsx)(L,{id:e,className:o,label:t.name,role:`complementary`,width:r?n.size:0,hasDivider:!1,padding:0,isScrollable:!1,inert:!r,children:(0,j.jsx)(We,{padding:i,inset:a,children:r?s:null})});return a===`start`?(0,j.jsxs)(j.Fragment,{children:[l,c]}):(0,j.jsxs)(j.Fragment,{children:[c,l]})}function qe(){let[e,t]=(0,A.useState)(0);return{ref:(0,A.useCallback)(e=>{if(!e)return;let n=new ResizeObserver(([e])=>t(e?.contentRect.width??0));return n.observe(e),()=>n.disconnect()},[]),width:e}}function Je({id:e,header:t,children:n}){let{ref:r,width:i}=qe();return(0,j.jsx)(l,{height:`fill`,style:{position:`relative`},header:t,content:(0,j.jsx)(c,{padding:0,isScrollable:!1,children:(0,j.jsx)(h,{height:`100%`,paddingInlineStart:3,paddingBlockStart:3,style:{paddingInlineEnd:Ue(3),paddingBlockEnd:Ue(3)},children:(0,j.jsx)(E,{variant:`transparent`,height:`100%`,padding:0,style:He,children:(0,j.jsx)(`div`,{id:e,ref:r,style:{height:`100%`},children:n(Re(i))})})})})})}function Ye({isWide:e,label:t,detailLabel:n,lead:r,overview:i,detail:a}){return e?(0,j.jsxs)(g,{height:`100%`,gap:0,children:[(0,j.jsx)(_,{size:`fill`,children:(0,j.jsxs)(Ge,{label:t,children:[r,i]})}),a?(0,j.jsx)(`div`,{style:{width:`48%`,flexShrink:0,height:`100%`,borderInlineStart:`1px solid var(--color-border)`},children:(0,j.jsx)(Ge,{label:n,children:a})}):null]}):(0,j.jsxs)(Ge,{label:t,children:[r,a||i]})}function Xe({title:e,doc:t,children:n}){return(0,j.jsx)(E,{padding:3,variant:`muted`,style:{background:`var(--color-background-surface)`},children:(0,j.jsxs)(h,{gap:2,children:[(0,j.jsx)(D,{content:t??e,children:(0,j.jsx)(T,{type:`supporting`,color:`secondary`,children:e})}),n]})})}function Ze({text:e}){return(0,j.jsx)(`span`,{style:{whiteSpace:`pre-wrap`,overflowWrap:`anywhere`},children:e})}function Qe({view:e,children:t}){return(0,j.jsxs)(j.Fragment,{children:[e,(0,j.jsx)(`div`,{style:{display:e?`none`:`contents`},children:t})]})}var $e=[],et=()=>()=>{};function tt(e){return(0,A.useSyncExternalStore)(e?.subscribe??et,e?.records??(()=>$e))}export{R as C,re as S,P as T,Ie as _,We as a,ie as b,He as c,Be as d,Ve as f,qe as g,ze as h,Xe as i,Je as l,Ue as m,Qe as n,Ge as o,Re as p,Ye as r,Ze as s,tt as t,Ke as u,Ee as v,L as w,z as x,B as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{S as e,_ as t,a as n,c as r,i,n as a,o,r as s,s as c,w as l}from"./tree-6F02tTxC.js";function u(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function d(e){let t=e=>{if(Array.isArray(e))return e.map(t);if(!u(e))return e;let n=Object.keys(e).filter(t=>e[t]!==void 0).sort();return Object.fromEntries(n.map(n=>[n,t(e[n])]))};return JSON.stringify(t(e))??`undefined`}var f=`agent:`;function p(e,t=`identity`){return t===`identity`?`${f}${e}`:`${f}${e}/${t}`}function m(e){if(!e.startsWith(f))return;let t=e.slice(6),n=t.indexOf(`/`);return n<0?{key:t,inner:`identity`}:{key:t.slice(0,n),inner:t.slice(n+1)}}function h(e,t){return o(t)===void 0?p(e,t):t}function g(e,t){let n=o(t);if(n!==void 0)return e.toolSpecs.some(e=>e.key===n)?{tool:n}:void 0;let r=a(t);if(r!==void 0)return e.providers.some(e=>e.id===r)?{provider:r}:void 0;let s=m(t),c=s&&e.agents.find(e=>e.key===s.key);if(!s||!c||o(s.inner)!==void 0)return;let l=i(_(c,[],e.providers),s.inner);return l?{agent:c.key,ref:l}:void 0}function _(e,t,n){let{key:r,tools:{allow:i,...a},...o}=e,s=new Map(t.map(e=>[e.key,e]));return{...o,providers:n,tools:a,toolSpecs:i.flatMap(e=>s.get(e)??[])}}function ee(e,t){let n=e.agents.find(e=>e.key===t);return n&&_(n,e.toolSpecs,e.providers)}function v(t,n=e(`agent`)){let{toolSpecs:r,tools:i,providers:a,...o}=t;return{...o,key:n,tools:{...i,allow:r.map(e=>e.key)}}}function y(e,t){let n=new Map(t.map(e=>[e.key,e])),r=new Set(e.map(e=>e.key)),i=t.filter(e=>!r.has(e.key));return!e.some(e=>(n.get(e.key)??e)!==e)&&i.length===0?e:[...e.map(e=>n.get(e.key)??e),...i]}function b(e,t,n){return e.agents.map(e=>e.key===t?n(e):e)}var x=e=>e.key,S=e=>e.id;function C(e){let t=Object.fromEntries(e.agents.map(t=>[t.key,e.starts.agents[t.key]??t])),n=new Map(e.toolSpecs.map(e=>[e.key,e])),r=new Set([...n.keys(),...Object.values(t).flatMap(e=>e.tools.allow)]),i={};for(let t of r){let r=e.starts.tools[t]??n.get(t);r&&(i[t]=r)}let a=Object.fromEntries(e.providers.map(t=>[t.id,e.starts.providers[t.id]??t]));for(let n of Object.values(t).flatMap(w)){let t=e.starts.providers[n];t&&!(n in a)&&(a[n]=t)}return{...e,starts:{agents:t,tools:i,providers:a}}}var w=e=>e.modelBindings.map(e=>e.provider);function te(e,t){let n=new Set(e.providers.map(S)),r=[...new Set(t.flatMap(w))].flatMap(t=>{let r=e.starts.providers[t];return r&&!n.has(t)?[r]:[]});return r.length?[...e.providers,...r]:e.providers}function ne(e,t){let n=e.agents.find(e=>e.key===t);return n?C({...e,starts:{...e.starts,agents:{...e.starts.agents,[t]:n}}}):e}function T(e,t,n,r){if(!e.agents.some(e=>e.key===t))return e;let i=r?y(e.toolSpecs,[...r]):e.toolSpecs;return C({...e,toolSpecs:y(i,n.toolSpecs),agents:b(e,t,()=>v(n,t))})}function E(e,t){let n=e.agents.find(e=>e.key===t);return n&&{..._(n,[],e.providers),toolSpecs:e.toolSpecs}}function D(e,t,n){if(!e.agents.find(e=>e.key===t))return e;let r=new Set(n.toolSpecs.map(e=>e.key)),i=new Set(e.toolSpecs.map(e=>e.key)),a=n.toolSpecs.filter(e=>!i.has(e.key)).map(e=>e.key),o=e=>e.filter(e=>r.has(e)),{toolSpecs:s,providers:c,tools:l,...u}=n;return C({...e,toolSpecs:n.toolSpecs,agents:e.agents.map(e=>e.key===t?{...u,key:t,tools:{...l,allow:[...o(e.tools.allow),...a]}}:e.tools.allow.every(e=>r.has(e))?e:{...e,tools:{...e.tools,allow:o(e.tools.allow)}})})}function O(e,n=t()){let r=new Map(e.toolSpecs.map(e=>[e.toolName,e.key])),i=n.identity.agentId.trim(),a=e.agents.map(e=>e.identity.agentId),o=i&&l(i,a,e=>`${i}_${e}`),s=v({...n,identity:{...n.identity,agentId:o}});return s.tools.allow=n.toolSpecs.map(e=>r.get(e.toolName)??e.key),C({...e,agents:[...e.agents,s],toolSpecs:[...e.toolSpecs,...n.toolSpecs.filter(e=>!r.has(e.toolName))],selected:p(s.key)})}function re(t,n){let r=t.agents.findIndex(e=>e.key===n),i=t.agents[r];if(!i)return t;let a=i.identity.agentId.trim()||`agent`,o=t.agents.map(e=>e.identity.agentId),s={...structuredClone(i),key:e(`agent`)};s.identity.agentId=l(`${a}_copy`,o,e=>`${a}_copy${e}`);let c=[...t.agents];return c.splice(r+1,0,s),C({...t,agents:c,selected:p(s.key)})}function ie(e,t){let n=e.agents.findIndex(e=>e.key===t);if(n<0||e.agents.length===1)return e;let r=e.agents[n+1]??e.agents[n-1];if(!r)return e;let i=new Set(e.toolSpecs.filter(e=>e.toolType===`agent`&&e.agentKey===t).map(e=>e.key)),a=e.agents.filter(e=>e.key!==t).map(e=>({...e,tools:{...e.tools,allow:e.tools.allow.filter(e=>!i.has(e))},modelBindings:e.modelBindings.map(e=>e.compactWith===t?{...e,compactWith:void 0}:e)})),o=m(e.selected)?.key===t||[...i].some(t=>e.selected===c(t));return C({...e,agents:a,toolSpecs:e.toolSpecs.filter(e=>!i.has(e.key)),selected:o?p(r.key):e.selected,chatWith:e.chatWith===t?r.key:e.chatWith})}function ae(e,t,n,r){let i=e.agents.find(e=>e.key===t);if(!i||!e.toolSpecs.some(e=>e.key===n)||i.tools.allow.includes(n)===r)return e;let a=r?[...i.tools.allow,n]:i.tools.allow.filter(e=>e!==n);return{...e,agents:b(e,t,()=>({...i,tools:{...i.tools,allow:a}}))}}function oe(e,t){if(!e.toolSpecs.some(e=>e.key===t))return e;let n=e.agents.map(e=>e.tools.allow.includes(t)?{...e,tools:{...e.tools,allow:e.tools.allow.filter(e=>e!==t)}}:e);return C({...e,agents:n,toolSpecs:e.toolSpecs.filter(e=>e.key!==t),selected:e.selected===c(t)?p(e.agents[0]?.key??``):e.selected})}var k=(e,t)=>d(e)===d(t),A=e=>typeof e==`object`&&!!e&&!Array.isArray(e);function se(e){let{agents:t,tools:n,providers:r}=e.starts;return e.agents.every(e=>k(e,t[e.key]))&&e.toolSpecs.every(e=>k(e,n[e.key]))&&e.providers.every(e=>k(e,r[e.id]))&&Object.keys(n).length===e.toolSpecs.length}function ce(e){return{...e,starts:{agents:Object.fromEntries(e.agents.map(e=>[e.key,e])),tools:Object.fromEntries(e.toolSpecs.map(e=>[e.key,e])),providers:Object.fromEntries(e.providers.map(e=>[e.id,e]))}}}function le(e,t,n,r){return{...e,identity:{...e.identity,agentId:t},tools:{...e.tools,allow:e.tools.allow.filter(e=>n.has(e))},modelBindings:e.modelBindings.map(e=>e.compactWith&&!r.has(e.compactWith)?{...e,compactWith:void 0}:e)}}function j(e,t){let n=e.starts.agents[t],r=e.agents.find(e=>e.key===t);if(!n||!r)return e;let i=new Set(e.agents.map(e=>e.key)),a=new Set(e.toolSpecs.map(e=>e.key)),o=e.toolSpecs.map(e=>e.toolName),s=[];for(let t of n.tools.allow){let n=e.starts.tools[t];if(a.has(t)||!n||n.toolType===`agent`&&!i.has(n.agentKey??``))continue;let r=l(n.toolName,o,e=>`${n.toolName}_${e}`);o.push(r),s.push({...n,toolName:r})}let c=s.length?[...e.toolSpecs,...s]:e.toolSpecs,u=new Set(c.map(e=>e.key)),d=n.identity.agentId,f=e.agents.filter(e=>e.key!==t).map(e=>e.identity.agentId),m=le(n,d&&l(d,f,e=>`${d}_${e}`),u,i);if(s.length===0&&k(m,r))return e;let h=te(e,[n]),_={...e,agents:b(e,t,()=>m),toolSpecs:c,providers:h};return g(_,_.selected)?_:{..._,selected:p(t)}}function ue(e,t,n){if(n.facet===`identity`)return j(e,t);if(n.facet===`toolSpec`)return Y(e,n.key);let r=j(e,t),i=r.agents.find(e=>e.key===t),a=e.agents.find(e=>e.key===t);if(r===e||!i||!a)return e;let o=de(a,i,n);return k(o,a)?e:{...e,agents:b(e,t,()=>o),toolSpecs:n.facet===`tools`?r.toolSpecs:e.toolSpecs,providers:n.facet===`models`||n.facet===`modelBinding`?r.providers:e.providers}}function de(e,t,n){if(n.facet===`models`)return{...e,models:t.models,modelBindings:t.modelBindings};if(n.facet===`modelBinding`){let r=t.modelBindings.find(e=>e.key===n.key);return r?{...e,modelBindings:e.modelBindings.map(e=>e.key===n.key?r:e)}:e}return n.facet===`toolSpec`?e:M(e,t,n.facet)}function M(e,t,n){return{...e,[n]:t[n]}}function N(e,t){let n=new Map(Object.values(t.starts.agents).map(e=>[e.identity.agentId,e.key])),r=new Map(Object.values(t.starts.tools).map(e=>[e.toolName,e.key])),i=JSON.stringify(e),a=(e,t)=>{t!==void 0&&t!==e&&(i=i.split(e).join(t))};for(let t of e.agents)a(t.key,n.get(t.identity.agentId));for(let t of e.toolSpecs)a(t.key,r.get(t.toolName));let o=JSON.parse(i);return{...o,selected:g(o,t.selected)?t.selected:o.selected,chatWith:o.agents.some(e=>e.key===t.chatWith)?t.chatWith:o.chatWith}}function P(e,t){let n=N(t,e),r=(e,t,n,r,i)=>{let a=new Map(r.map(t=>[e(t),t])),o=new Set([...t.map(e),...Object.keys(n)]),s=t.map(t=>k(t,n[e(t)])?a.get(e(t))??t:t),c=s.filter(t=>!(e(t)in i)).map(t=>[e(t),n[e(t)]??t]);return{held:[...s,...r.filter(t=>!o.has(e(t)))],starts:{...Object.fromEntries(c),...i}}},i=r(x,e.agents,e.starts.agents,n.agents,n.starts.agents),a=r(x,e.toolSpecs,e.starts.tools,n.toolSpecs,n.starts.tools),o=r(S,e.providers,e.starts.providers,n.providers,n.starts.providers);return{...e,agents:i.held,toolSpecs:a.held,providers:o.held,starts:{agents:i.starts,tools:a.starts,providers:o.starts}}}function F(e){let t=new Map,n=e=>{if(Array.isArray(e))for(let t of e)n(t);else if(typeof e==`object`&&e)for(let[r,i]of Object.entries(e))r!==`key`||typeof i!=`string`?n(i):t.has(i)||t.set(i,`#${t.size}`)},r=e=>typeof e==`string`?t.get(e)??e:Array.isArray(e)?e.map(r):typeof e!=`object`||!e?e:Object.fromEntries(Object.entries(e).map(([e,n])=>[t.get(e)??e,r(n)])),i={agents:e.agents,toolSpecs:e.toolSpecs,providers:e.providers};n(i);let a=JSON.stringify(r(i)),o=2166136261,s=16777619;for(let e=0;e<a.length;e+=1){let t=a.charCodeAt(e);o=Math.imul(o^t,16777619),s=Math.imul(s^t,2246822507)}return`${a.length.toString(36)}-${(o>>>0).toString(36)}${(s>>>0).toString(36)}`}function I(e,t){return F(e)!==t}var L=/^(agent|model|tool|question|criterion|reference)-[0-9a-f]{8}$/;function R(e){let t=new Map;return JSON.stringify(e).replace(/\b(agent|model|tool|question|criterion|reference)-[0-9a-f]{8}\b/g,e=>(t.has(e)||t.set(e,`#${t.size}`),t.get(e)??e))}function z(e,t){let n=t.map(R),r=new Set,i=[],a=[];for(let o of e){let e=R(o),s=n.findIndex((t,n)=>t===e&&!r.has(n));s<0?a.push(o):(r.add(s),i.push([o,t[s]]))}let o=t.filter((e,t)=>!r.has(t));for(let[e,t]of a.slice(0,o.length).entries())i.push([t,o[e]]);return i}function B(e,t){let n=JSON.stringify(e),r=(e,t,r,i)=>{let a=new Set(r.map(e=>e.key)),o=new Set(e.map(e=>e.key)),s=e.flatMap(e=>a.has(e.key)?[]:t[e.key]??[]),c=r.filter(e=>!o.has(e.key)&&!t[e.key]),[l,u]=[s[0],c[0]];s.length===1&&c.length===1&&l&&u&&R(i(l))===R(i(u))&&(n=n.split(u.key).join(l.key))};return r(t.agents,t.starts.agents,e.agents,e=>({...e,identity:{...e.identity,agentId:``}})),r(t.toolSpecs,t.starts.tools,e.toolSpecs,e=>({...e,toolName:``})),JSON.parse(n)}function V(e,t){let n=JSON.stringify(e);for(let e=0;e<4;e+=1){let e=JSON.parse(n),r=new Map,i=(e,t)=>{if(Array.isArray(e)&&Array.isArray(t))for(let[n,r]of z(e,t))i(n,r);else if(A(e)&&A(t))for(let[n,a]of Object.entries(e)){let e=t[n];n===`key`?typeof a==`string`&&typeof e==`string`&&a!==e&&L.test(a)&&L.test(e)&&r.set(e,a):i(a,e)}};for(let n of e.agents)i(t.agents[n.key],n);for(let n of e.toolSpecs)i(t.tools[n.key],n);if(r.size===0)return e;for(let[e,t]of r)n=n.split(e).join(t)}return JSON.parse(n)}var H=e=>Array.isArray(e)&&e.every(e=>typeof e==`string`)&&new Set(e).size===e.length,U=e=>Array.isArray(e)&&e.every(e=>A(e)&&typeof e.key==`string`);function W(e,t,n,r,i){if(k(e,n)||k(t,n))return t;if(A(e)&&A(t)&&A(n)){let a={};for(let o of new Set([...Object.keys(n),...Object.keys(t),...Object.keys(e)])){let s=W(e[o],t[o],n[o],[...r,o],i);s!==void 0&&(a[o]=s)}return a}if(U(e)&&U(t)&&U(n)){let a=new Map(e.map(e=>[e.key,e])),o=new Map(n.map(e=>[e.key,e])),s=[];for(let e of t){let[t,n]=[a.get(e.key),o.get(e.key)],c=[...r,s.length];t?n?s.push(W(t,e,n,c,i)):k(e,t)?i.updated(c):(i.conflict(c,e,void 0),s.push(e)):s.push(e)}let c=new Set(t.map(e=>e.key)),l=s.length;for(let e of n){if(c.has(e.key))continue;let t=a.get(e.key);t?k(e,t)||i.conflict([...r,l++],void 0,e):(i.updated([...r,s.length]),s.push(e),l+=1)}return s}if(k(e,t))return i.updated(r),n;if(H(e)&&H(t)&&H(n)){let a=e.filter(e=>!n.includes(e)),o=n.filter(n=>!e.includes(n)&&!t.includes(n));return i.updated(r),[...t.filter(e=>!a.includes(e)),...o]}return i.conflict(r,t,n),t}function G(e){let t=new Set(e.agents.map(e=>e.key)),n=e.toolSpecs.filter(e=>e.toolType!==`agent`||t.has(e.agentKey??``)),r=new Set(n.map(e=>e.key)),i=e.agents.map(e=>{let n=e.tools.allow.filter(e=>r.has(e)),i=e.modelBindings.map(e=>e.compactWith&&!t.has(e.compactWith)?{...e,compactWith:void 0}:e),a={...e,tools:{...e.tools,allow:n},modelBindings:i};return k(a,e)?e:a}),a=C({...e,agents:i,toolSpecs:n}),o=i[0];return{...a,selected:g(a,a.selected)||!o?a.selected:p(o.key),chatWith:t.has(a.chatWith)||!o?a.chatWith:o.key}}function fe(e,t,n){let r=V(B(N(t,e),e),e.starts),i=[],a=[],o=(e,t,n,r,o,s,c,l)=>{let u=new Map(s.map(e=>[t(e),e])),d=new Set(r.map(e=>t(e))),f=new Set(r.map(e=>n(o[t(e)]??e))),p=new Set(l?.map(n)),m=[],h={...c};for(let s of r){let[r,c]=[o[t(s)],u.get(t(s))],l={kind:e,key:t(s),name:n(c??r??s)};!r||!c&&!p.has(n(r))?(m.push(s),h[t(s)]=r??s):c?m.push(W(r,s,c,[],{updated:e=>i.push({...l,path:e}),conflict:(e,t,n)=>a.push({...l,path:e,mine:t,theirs:n})})):k(s,r)?i.push({...l,path:[]}):(a.push({...l,path:[],mine:s,theirs:void 0}),m.push(s),h[t(s)]=r)}let g=e=>{let r=o[t(e)]??l?.find(t=>n(t)===n(e)&&!f.has(n(t)));if(r)return R(r)===R(e)?`unchanged`:`changed`};for(let r of s){if(d.has(t(r)))continue;let o={kind:e,key:t(r),name:n(r),path:[]},s=g(r);s===`changed`?a.push({...o,mine:void 0,theirs:r}):s===void 0&&(m.push(r),i.push(o))}return{held:m,starts:h}},s=o(`agent`,x,e=>e.identity.agentId,e.agents,e.starts.agents,r.agents,r.starts.agents,n?.agents),c=o(`tool`,x,e=>e.toolName,e.toolSpecs,e.starts.tools,r.toolSpecs,r.starts.tools,n?.toolSpecs),l=o(`provider`,S,S,e.providers,e.starts.providers,r.providers,r.starts.providers,n?.providers);return{workspace:G({...e,agents:s.held,toolSpecs:c.held,providers:l.held,starts:{agents:s.starts,tools:c.starts,providers:l.starts}}),updated:i,conflicts:a,files:r}}var K=Object.freeze({gone:!0});function q(e){if(Array.isArray(e))return e.filter(e=>e!==K).map(q);if(!A(e))return e;let t=Object.entries(e).map(([e,t])=>[e,q(t)]);return Object.fromEntries(t)}function J(e,t,n){let[r,...i]=t;if(r===void 0)return n;if(Array.isArray(e))return typeof r==`number`&&r>=e.length?n===void 0?e:[...e,n]:e.map((e,t)=>t===r?i.length===0&&n===void 0?K:J(e,i,n):e);let a={...A(e)?e:{}},o=J(a[r],i,n);return o===void 0?delete a[r]:a[r]=o,a}function pe(e,t){let{agents:n,toolSpecs:r,providers:i}=e.workspace,a={agents:{...e.workspace.starts.agents},tools:{...e.workspace.starts.tools},providers:{...e.workspace.starts.providers}},o=(e,t,n,r)=>r.path.length>0?t.map(t=>e(t)===r.key?J(t,r.path,r.theirs):t):r.theirs===void 0?(delete n[r.key],t.filter(t=>e(t)!==r.key)):(n[r.key]=r.theirs,[...t,r.theirs]);for(let s of new Set(t)){let t=e.conflicts[s];if(t){if(t.kind===`tool`)r=o(x,r,a.tools,t);else if(t.kind===`provider`)i=o(S,i,a.providers,t);else{if(n=o(x,n,a.agents,t),t.path.length>0||t.theirs===void 0)continue;let i=new Set(r.map(e=>e.key)),s=e.files.toolSpecs.filter(e=>e.toolType===`agent`&&e.agentKey===t.key&&!i.has(e.key));for(let e of s)a.tools[e.key]=e;r=[...r,...s],n=n.map(t=>{let n=e.files.agents.find(e=>e.key===t.key)?.tools.allow??[],r=s.map(e=>e.key).filter(e=>n.includes(e)&&!t.tools.allow.includes(e));return r.length?{...t,tools:{...t.tools,allow:[...t.tools.allow,...r]}}:t})}}}return[n,r]=[q(n),q(r)],G({...e.workspace,agents:n,toolSpecs:r,providers:i,starts:a})}function Y(e,t){let n=e.starts.tools[t],r=e.toolSpecs.find(e=>e.key===t);if(!n||!r)return e;let i=e.toolSpecs.filter(e=>e.key!==t).map(e=>e.toolName),a={...n,toolName:l(n.toolName,i,e=>`${n.toolName}_${e}`)};return k(a,r)?e:{...e,toolSpecs:e.toolSpecs.map(e=>e.key===t?a:e)}}function X(e,t){let n=e.providers.find(e=>e.id===t.id);return!n||k(n,t)?e:{...e,providers:e.providers.map(e=>e.id===t.id?t:e)}}function Z(e,t){let n=e.agents.map(e=>w(e).filter(e=>e===t).length);return{models:n.reduce((e,t)=>e+t,0),agents:n.filter(e=>e>0).length}}function me(e,t,n,r,i){let a=e=>e.provider===r&&e.apiId.trim()===i.trim();return{models:(e.agents.find(e=>e.key===t)?.modelBindings??[]).filter(e=>e.key!==n&&a(e)).map(e=>e.modelId.trim()||`new`),agents:e.agents.filter(e=>e.key!==t&&e.modelBindings.some(a)).map(e=>e.identity.agentId.trim()||`New agent`)}}function he(e,t){return{id:l(`provider`,e,e=>`provider_${e}`),definition:t,connection:{}}}function ge(e,t){return e.providers.some(e=>e.id===t.id)?e:C({...e,providers:[...e.providers,t],selected:s(t.id)})}function _e(e,t){return!e.providers.some(e=>e.id===t)||Z(e,t).models>0?e:C({...e,providers:e.providers.filter(e=>e.id!==t),selected:e.selected===s(t)?p(e.agents[0]?.key??``):e.selected})}function Q(e,t,n){let r=n.trim();if(!e.providers.some(e=>e.id===t)||!r||e.providers.some(e=>e.id===r))return e;let{[t]:i,...a}=e.starts.providers,o=e=>e.provider===t;return{...e,providers:e.providers.map(e=>e.id===t?{...e,id:r}:e),agents:e.agents.map(e=>e.modelBindings.some(o)?{...e,modelBindings:e.modelBindings.map(e=>o(e)?{...e,provider:r}:e)}:e),selected:e.selected===s(t)?s(r):e.selected,starts:{...e.starts,providers:i?{...a,[r]:{...i,id:r}}:a}}}function ve(e){return e.providers.flatMap(t=>{let n=e.starts.providers[t.id];return n&&k(n,t)?[t.id]:[]})}function ye(e,t){let n=e.starts.providers[t];return n?X(e,n):e}function $(e,t){return{...t,id:p(e,t.id),children:t.children.map(t=>$(e,t))}}function be(e,t){let r=$(e.key,n(_(e,[],t)));return e.identity.agentId.trim()?r:{...r,label:`New agent`}}function xe(e){return{agents:e.agents.map(t=>be(t,e.providers)),tools:r(e.toolSpecs)}}export{pe as A,ue as C,ae as D,h as E,d as F,X as M,g as N,ce as O,xe as P,j as S,ye as T,ie as _,se as a,Q as b,F as c,fe as d,me as f,P as g,ve as h,p as i,D as j,T as k,E as l,Z as m,ge as n,re as o,he as p,ee as r,I as s,O as t,ne as u,oe as v,Y as w,N as x,_e as y};
|
package/page/index.html
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='7' fill='%23000'/%3E%3Cg transform='translate(4 4)' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4.5 18.5c2 0 3-1.2 4.2-3.4l2.6-5c1-1.9 2.1-3.1 4.2-3.1'/%3E%3Cpath d='M5.5 8.2c1.6-.9 3.2-.4 3.8 1.6l2.3 6.6c.6 1.7 2.1 2.4 3.9 1.7'/%3E%3Ccircle cx='19.5' cy='4.5' r='1.6' fill='%23fff' stroke='none'/%3E%3C/g%3E%3C/svg%3E"
|
|
11
11
|
/>
|
|
12
12
|
<title>theorem studio</title>
|
|
13
|
-
<script type="module" crossorigin src="/studio/assets/index-
|
|
13
|
+
<script type="module" crossorigin src="/studio/assets/index-BCMKIa3t.js"></script>
|
|
14
14
|
<link rel="modulepreload" crossorigin href="/studio/assets/rolldown-runtime-hePW80VL.js">
|
|
15
15
|
<link rel="modulepreload" crossorigin href="/studio/assets/themeProps-3IqahpCr.js">
|
|
16
16
|
<link rel="modulepreload" crossorigin href="/studio/assets/tokens.stylex-DkHf0P9C.js">
|
|
@@ -40,10 +40,10 @@
|
|
|
40
40
|
<link rel="modulepreload" crossorigin href="/studio/assets/container.stylex-BmOi-8DQ.js">
|
|
41
41
|
<link rel="modulepreload" crossorigin href="/studio/assets/Card-Ghe4ozhC.js">
|
|
42
42
|
<link rel="modulepreload" crossorigin href="/studio/assets/ScrollableArea-C8AVuqnt.js">
|
|
43
|
-
<link rel="modulepreload" crossorigin href="/studio/assets/
|
|
43
|
+
<link rel="modulepreload" crossorigin href="/studio/assets/use-trace-records-BkAYJz0M.js">
|
|
44
44
|
<link rel="modulepreload" crossorigin href="/studio/assets/IconAlertTriangle-BqAEqqdU.js">
|
|
45
|
-
<link rel="modulepreload" crossorigin href="/studio/assets/labels-provider-
|
|
46
|
-
<link rel="modulepreload" crossorigin href="/studio/assets/Banner-
|
|
45
|
+
<link rel="modulepreload" crossorigin href="/studio/assets/labels-provider-BSiD6Lrb.js">
|
|
46
|
+
<link rel="modulepreload" crossorigin href="/studio/assets/Banner-8YJcS8-V.js">
|
|
47
47
|
<link rel="modulepreload" crossorigin href="/studio/assets/arrive-DvbqpeRS.js">
|
|
48
48
|
<link rel="modulepreload" crossorigin href="/studio/assets/Center-nHS1JSux.js">
|
|
49
49
|
<link rel="modulepreload" crossorigin href="/studio/assets/IconSearch-BTx66a40.js">
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
<link rel="modulepreload" crossorigin href="/studio/assets/types-DN_oZAOJ.js">
|
|
60
60
|
<link rel="modulepreload" crossorigin href="/studio/assets/useScrollLock-Dyf6PHJt.js">
|
|
61
61
|
<link rel="modulepreload" crossorigin href="/studio/assets/useContainerReveal-BFy8N_QU.js">
|
|
62
|
-
<link rel="modulepreload" crossorigin href="/studio/assets/browser-transport-
|
|
62
|
+
<link rel="modulepreload" crossorigin href="/studio/assets/browser-transport-1C-yqvF_.js">
|
|
63
63
|
<link rel="modulepreload" crossorigin href="/studio/assets/focusReturn-CTppP2k0.js">
|
|
64
64
|
<link rel="modulepreload" crossorigin href="/studio/assets/chainEventHandlers-C6ttXGfW.js">
|
|
65
65
|
<link rel="modulepreload" crossorigin href="/studio/assets/Dialog-BDUExlk_.js">
|
|
@@ -68,21 +68,21 @@
|
|
|
68
68
|
<link rel="modulepreload" crossorigin href="/studio/assets/IconEye-BB5aY-wQ.js">
|
|
69
69
|
<link rel="modulepreload" crossorigin href="/studio/assets/encode-files-DZ4tVtEQ.js">
|
|
70
70
|
<link rel="modulepreload" crossorigin href="/studio/assets/turn-client-4GHmGV_4.js">
|
|
71
|
-
<link rel="modulepreload" crossorigin href="/studio/assets/CollapsibleGroup-
|
|
72
|
-
<link rel="modulepreload" crossorigin href="/studio/assets/studio-labels-
|
|
71
|
+
<link rel="modulepreload" crossorigin href="/studio/assets/CollapsibleGroup-PavPZ114.js">
|
|
72
|
+
<link rel="modulepreload" crossorigin href="/studio/assets/studio-labels-Jw1KQ1X1.js">
|
|
73
73
|
<link rel="modulepreload" crossorigin href="/studio/assets/crypto-Boxudvjl.js">
|
|
74
|
-
<link rel="modulepreload" crossorigin href="/studio/assets/workspace-
|
|
74
|
+
<link rel="modulepreload" crossorigin href="/studio/assets/workspace-MlrGUH2-.js">
|
|
75
75
|
<link rel="modulepreload" crossorigin href="/studio/assets/lent-keys-C32ems-I.js">
|
|
76
76
|
<link rel="modulepreload" crossorigin href="/studio/assets/editors-BJX_S59A.js">
|
|
77
77
|
<link rel="modulepreload" crossorigin href="/studio/assets/studio-session-yEqFQo5o.js">
|
|
78
78
|
<link rel="modulepreload" crossorigin href="/studio/assets/EmptyState-C8W4JKBZ.js">
|
|
79
79
|
<link rel="modulepreload" crossorigin href="/studio/assets/use-second-ticker-VX91zrxj.js">
|
|
80
80
|
<link rel="modulepreload" crossorigin href="/studio/assets/useAdaptivePresentation-BY_zvjIp.js">
|
|
81
|
-
<link rel="modulepreload" crossorigin href="/studio/assets/ContextMenu-
|
|
81
|
+
<link rel="modulepreload" crossorigin href="/studio/assets/ContextMenu-BM8iCtOh.js">
|
|
82
82
|
<link rel="modulepreload" crossorigin href="/studio/assets/BottomSheet-BQPskY35.js">
|
|
83
83
|
<link rel="modulepreload" crossorigin href="/studio/assets/Section-DJ97F7QE.js">
|
|
84
84
|
<link rel="stylesheet" crossorigin href="/studio/assets/use-second-ticker-CnxaP3LD.css">
|
|
85
|
-
<link rel="stylesheet" crossorigin href="/studio/assets/index-
|
|
85
|
+
<link rel="stylesheet" crossorigin href="/studio/assets/index-Cbs7B46A.css">
|
|
86
86
|
<style>html{color-scheme:dark}html,body{margin:0;background:#000}html[data-boot-pending],html[data-boot-pending] body{background:#262626}html[data-boot-pending] .astryx-app-shell{height:100dvh}html[data-boot-pending] .astryx-app-shell-sidenav{position:absolute;inset-block:0;inset-inline-start:0;z-index:0;width:3rem}html[data-boot-pending] #astryx-app-shell-main{position:relative;z-index:1;width:100%;height:100%;max-width:none;margin:0;border-radius:0;clip-path:none;background:#262626;color:#fff}html[data-boot-pending] #astryx-app-shell-main>:not([data-boot]){visibility:hidden}html[data-boot-pending] [data-boot]{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:#262626;color:#fff}</style>
|
|
87
87
|
<noscript> <style>html[data-boot-pending],html[data-boot-pending] body{background:#000}html[data-boot-pending] #astryx-app-shell-main>:not([data-boot]){visibility:visible !important}[data-boot]{display:none !important}</style>
|
|
88
88
|
</noscript>
|
|
@@ -56,6 +56,11 @@ export declare const ISSUE_ROW_ATTRIBUTE = "data-issue";
|
|
|
56
56
|
* is at its default width or wider, one once it is narrowed.
|
|
57
57
|
*/
|
|
58
58
|
export declare const ListBadges: import("react").Context<number>;
|
|
59
|
+
/** The preview's guardrail test: whether it is open, and the button that opens or closes it. Null while no agent compiles. */
|
|
60
|
+
export declare const GuardrailTest: import("react").Context<{
|
|
61
|
+
open: boolean;
|
|
62
|
+
toggle: () => void;
|
|
63
|
+
} | null>;
|
|
59
64
|
/** What the studio runs on: the page's lent keys, the builder's own, or their machine. */
|
|
60
65
|
export declare const RunsOn: import("react").Context<StudioRunsOn>;
|
|
61
66
|
export declare const LocalConnection: import("react").Context<Pick<{
|
package/ui/inspector-context.js
CHANGED
|
@@ -68,6 +68,8 @@ export const ISSUE_ROW_ATTRIBUTE = 'data-issue';
|
|
|
68
68
|
* is at its default width or wider, one once it is narrowed.
|
|
69
69
|
*/
|
|
70
70
|
export const ListBadges = createContext(1);
|
|
71
|
+
/** The preview's guardrail test: whether it is open, and the button that opens or closes it. Null while no agent compiles. */
|
|
72
|
+
export const GuardrailTest = createContext(null);
|
|
71
73
|
/** What the studio runs on: the page's lent keys, the builder's own, or their machine. */
|
|
72
74
|
export const RunsOn = createContext(ON_OWN_KEYS);
|
|
73
75
|
export const LocalConnection = createContext(null);
|
package/ui/profile-editor.js
CHANGED
|
@@ -23,7 +23,7 @@ import { Thumbnail } from '@astryxdesign/core/Thumbnail';
|
|
|
23
23
|
import { Token } from '@astryxdesign/core/Token';
|
|
24
24
|
import { Tooltip } from '@astryxdesign/core/Tooltip';
|
|
25
25
|
import { VStack } from '@astryxdesign/core/VStack';
|
|
26
|
-
import { IconAbc, IconAdjustmentsHorizontal, IconAlertTriangle, IconAlignLeft, IconAntennaBars1, IconAntennaBars2, IconAntennaBars3, IconAntennaBars4, IconAntennaBars5, IconAntennaBarsOff, IconArrowDown, IconArrowLeft, IconArrowUp, IconBan, IconBandage, IconBiohazard, IconBolt, IconBraces, IconBulb, IconBulbOff, IconCertificate, IconCheck, IconChevronRight, IconCircleDashed, IconDatabase, IconDeviceDesktop, IconEraser, IconEye, IconEyeOff, IconFeather, IconFlag, IconFlame, IconFlask, IconGauge, IconHandOff, IconHandStop, IconHeadset, IconHourglass, IconHttpDelete, IconHttpGet, IconHttpPatch, IconHttpPost, IconHttpPut, IconInfoCircle, IconInputAi, IconKey, IconLayersUnion, IconLockOpen, IconMessage, IconMicrophone, IconPackage, IconPaperclip, IconPencil, IconPlayerPause, IconPlayerPlay, IconPlayerStop, IconPlayerTrackNext, IconPlugConnected, IconPlus, IconRefresh, IconRegex, IconSearch, IconSend, IconServer, IconShieldLock, IconShieldOff, IconSquareRoundedNumber0, IconSquareRoundedNumber2, IconTool, IconTrash, IconUser, IconUserCheck, IconWaveSine, IconWriting, IconX, } from '@tabler/icons-react';
|
|
26
|
+
import { IconAbc, IconAdjustmentsHorizontal, IconAlertTriangle, IconAlignLeft, IconAntennaBars1, IconAntennaBars2, IconAntennaBars3, IconAntennaBars4, IconAntennaBars5, IconAntennaBarsOff, IconArrowDown, IconArrowLeft, IconArrowUp, IconBan, IconBandage, IconBiohazard, IconBolt, IconBraces, IconBulb, IconBulbOff, IconCertificate, IconCheck, IconChevronRight, IconCircleDashed, IconDatabase, IconDeviceDesktop, IconEraser, IconEye, IconEyeOff, IconFeather, IconFlag, IconFlame, IconFlask, IconGauge, IconHandOff, IconHandStop, IconHeadset, IconHourglass, IconHttpDelete, IconHttpGet, IconHttpPatch, IconHttpPost, IconHttpPut, IconInfoCircle, IconInputAi, IconKey, IconLayersUnion, IconLockOpen, IconMessage, IconMicrophone, IconPackage, IconPaperclip, IconPencil, IconPlayerPause, IconPlayerPlay, IconPlayerStop, IconPlayerTrackNext, IconPlugConnected, IconPlus, IconRefresh, IconRegex, IconSearch, IconSend, IconServer, IconShieldLock, IconShieldOff, IconShieldSearch, IconSquareRoundedNumber0, IconSquareRoundedNumber2, IconTool, IconTrash, IconUser, IconUserCheck, IconWaveSine, IconWriting, IconX, } from '@tabler/icons-react';
|
|
27
27
|
import { ATTACHMENT_ACCEPT_MIMES, CONTINUE_STOP_KINDS, fieldMeta, GOOGLE_BUILTIN_TOOLS, GOOGLE_IMAGE_ASPECT_RATIOS, GOOGLE_IMAGE_OUTPUT_MIMES, GOOGLE_IMAGE_RESOLUTIONS, GOOGLE_SPEECH_VOICES, HTTP_METHODS, IMAGE_ATTACHMENT_ACCEPT_MIMES, LABEL_KEYS, labelDefault, PROFILE_HANDLE_MAX_CHARS, PROFILE_ID_MAX_CHARS, profileGraphFacet, THINKING_LEVELS, VOICE_ACCEPT_MIMES, } from '@theoremjs/agents';
|
|
28
28
|
import { BOUNDARIES, BOUNDARY_META, DETECT_ACTION_META, DETECT_ACTIONS, DETECTOR_BOUNDARIES, DETECTOR_GROUP_META, DETECTOR_GROUPS, DETECTOR_META, DETECTORS, TOOL_BOUNDARIES, TOOL_KINDS, } from '@theoremjs/agents/guardrails';
|
|
29
29
|
import { lazy, Suspense, useContext, useEffect, useLayoutEffect, useRef, useState, useSyncExternalStore, } from 'react';
|
|
@@ -31,7 +31,7 @@ import { acceptSections, agentToolTarget, bindingSlots, COMPACTION_DRAFT_DEFAULT
|
|
|
31
31
|
import { AddProviderButton } from "./add-provider.js";
|
|
32
32
|
import { IconGoogle, IconOpenAi, IconOpenRouter, IconTypeSafe } from "./brand-icons.js";
|
|
33
33
|
import { ChoiceRow, InspectorGroupTitle, InspectorRow, InspectorSection, ListRow, NamesRow, NumberRow, OriginLine, SegmentedRow, SetInCode, SliderRow, SwitchRow, TextAreaRow, TextRow, } from "./inspector.js";
|
|
34
|
-
import { ConfirmWrite, LeavePage, ListBadges, LocalConnection, NodeIssues, ProjectAsks, QuestionLink, RowOrigins, RunsOn, SaidOrigin, useFieldStatus, useRowOrigin, WorkspaceContext, } from "./inspector-context.js";
|
|
34
|
+
import { ConfirmWrite, GuardrailTest, LeavePage, ListBadges, LocalConnection, NodeIssues, ProjectAsks, QuestionLink, RowOrigins, RunsOn, SaidOrigin, useFieldStatus, useRowOrigin, WorkspaceContext, } from "./inspector-context.js";
|
|
35
35
|
import { CONTEXT_PLACEHOLDER, contextErrorOf, draftSlots, usePageValues, } from "./lib/studio-page.js";
|
|
36
36
|
import { useProject } from "./lib/studio-project.js";
|
|
37
37
|
import { setToolCredential, subscribeToolCredentials, toolCredential, } from "./lib/tool-credentials.js";
|
|
@@ -1538,6 +1538,13 @@ function PageFrame({ viewKey, view, listScroll, children, }) {
|
|
|
1538
1538
|
}, [viewKey, view, listScroll]);
|
|
1539
1539
|
return (_jsx("div", { ref: view, className: "editor-page", children: children }, viewKey));
|
|
1540
1540
|
}
|
|
1541
|
+
/** Opens the guardrail test in the preview's place, or closes it; there while an agent compiles. */
|
|
1542
|
+
function GuardrailTestButton() {
|
|
1543
|
+
const test = useContext(GuardrailTest);
|
|
1544
|
+
if (!test)
|
|
1545
|
+
return null;
|
|
1546
|
+
return (_jsx(Section, { variant: "transparent", paddingInline: 3, paddingBlockStart: 3, children: _jsx(Button, { label: test.open ? 'Close guardrail test' : 'Test guardrails', variant: "ghost", size: "sm", icon: _jsx(Icon, { icon: IconShieldSearch, size: "sm" }), "aria-pressed": test.open, onClick: test.toggle }) }));
|
|
1547
|
+
}
|
|
1541
1548
|
function GuardrailsEditor({ draft, setDraft }) {
|
|
1542
1549
|
const { guardrails } = draft;
|
|
1543
1550
|
const set = patch(setDraft, 'guardrails');
|
|
@@ -1549,7 +1556,7 @@ function GuardrailsEditor({ draft, setDraft }) {
|
|
|
1549
1556
|
});
|
|
1550
1557
|
if (page)
|
|
1551
1558
|
return frame(JSON.stringify(open), page);
|
|
1552
|
-
return frame('list', _jsxs(_Fragment, { children: [_jsx(DetectSection, { guardrails: guardrails, boundaries: boundaries, set: set, onOpen: show }), draftAllows(draft, 'guardrails.blockedReply') && (_jsx(BlockedReplySection, { guardrails: guardrails, withheld: labelValue(draft, 'error.safety') || labelDefault('error.safety'), set: set })), _jsx(NetworkSection, { guardrails: guardrails, set: set }), draftAllows(draft, 'guardrails.taint') && (_jsxs(InspectorSection, { title: "After a remote read", path: "guardrails.taint", note: studioTaintNote(on), children: [_jsx(SegmentedRow, { label: "Refuse calls", path: "guardrails.taint.afterRemoteRead", value: guardrails.taintAfterRemoteRead || 'off', segments: TAINT_SEGMENTS, onChange: (gate) => {
|
|
1559
|
+
return frame('list', _jsxs(_Fragment, { children: [_jsx(GuardrailTestButton, {}), _jsx(DetectSection, { guardrails: guardrails, boundaries: boundaries, set: set, onOpen: show }), draftAllows(draft, 'guardrails.blockedReply') && (_jsx(BlockedReplySection, { guardrails: guardrails, withheld: labelValue(draft, 'error.safety') || labelDefault('error.safety'), set: set })), _jsx(NetworkSection, { guardrails: guardrails, set: set }), draftAllows(draft, 'guardrails.taint') && (_jsxs(InspectorSection, { title: "After a remote read", path: "guardrails.taint", note: studioTaintNote(on), children: [_jsx(SegmentedRow, { label: "Refuse calls", path: "guardrails.taint.afterRemoteRead", value: guardrails.taintAfterRemoteRead || 'off', segments: TAINT_SEGMENTS, onChange: (gate) => {
|
|
1553
1560
|
set({ taintAfterRemoteRead: gate === 'off' ? '' : gate });
|
|
1554
1561
|
} }), _jsx(SegmentedRow, { label: "New address", path: "guardrails.taint.remoteDestination", value: guardrails.taintRemoteDestination || 'off', segments: DESTINATION_SEGMENTS, onChange: (gate) => {
|
|
1555
1562
|
set({ taintRemoteDestination: gate === 'off' ? '' : gate });
|
package/ui/studio-run.js
CHANGED
|
@@ -4,25 +4,15 @@ import { Icon } from '@astryxdesign/core/Icon';
|
|
|
4
4
|
import { Popover } from '@astryxdesign/core/Popover';
|
|
5
5
|
import { IconActivity, IconKey } from '@tabler/icons-react';
|
|
6
6
|
import { TheoremThemeProvider, TracePlacement } from '@theoremjs/react/ui';
|
|
7
|
-
import { useState
|
|
7
|
+
import { useState } from 'react';
|
|
8
8
|
import { studioKeySlots } from "../browser.js";
|
|
9
9
|
import { modelRoute, modelSlots, onStudioLocal, STUDIO_PROVIDERS, } from "../mod.js";
|
|
10
10
|
import { recordsTraces } from "./lib/project-traces.js";
|
|
11
11
|
import { ProjectContext } from "./lib/studio-project.js";
|
|
12
12
|
import { StudioKeys, useStudioConnection } from "./studio-connection.js";
|
|
13
13
|
import { StudioRunner } from "./studio-runner.js";
|
|
14
|
+
import { usePhone } from "./use-phone.js";
|
|
14
15
|
import './studio-run.css';
|
|
15
|
-
/** The width below which these controls keep only their icon. */
|
|
16
|
-
const PHONE = '(width < 768px)';
|
|
17
|
-
function usePhone() {
|
|
18
|
-
return useSyncExternalStore((change) => {
|
|
19
|
-
const query = globalThis.matchMedia(PHONE);
|
|
20
|
-
query.addEventListener('change', change);
|
|
21
|
-
return () => {
|
|
22
|
-
query.removeEventListener('change', change);
|
|
23
|
-
};
|
|
24
|
-
}, () => globalThis.matchMedia(PHONE).matches, () => false);
|
|
25
|
-
}
|
|
26
16
|
/** The name the page and the document title use. A host has no handle: it's named by its id. */
|
|
27
17
|
export function studioRunTitle(payload) {
|
|
28
18
|
return 'identity' in payload.profile ? payload.profile.identity.handle : payload.agentId;
|