@theoremjs/studio 0.3.4-next.429.g04f32ef → 0.3.4-next.433.gf6b4da5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/README.md +1 -1
  2. package/compile.js +29 -5
  3. package/package.json +4 -4
  4. package/page/assets/{Banner-BXxhF-o1.js → Banner-DqFqeJx4.js} +2 -2
  5. package/page/assets/{ConsoleFrame-Zogp88Wc.js → ConsoleFrame-CZvaA-nP.js} +1 -1
  6. package/page/assets/{ContextMenu-CBOyKWd3.js → ContextMenu-DX9Xmroi.js} +2 -2
  7. package/page/assets/{ToolResultCharts-DoQ48Rsd.js → ToolResultCharts-142qwvoG.js} +1 -1
  8. package/page/assets/{TraceInspector-75n9__a7.js → TraceInspector-CiszHOn4.js} +1 -1
  9. package/page/assets/{TraceOverview-UM4eJDLe.js → TraceOverview-DpGrlsvE.js} +1 -1
  10. package/page/assets/{browser-engine-bQlfBE9p.js → browser-engine-DhWIzxGh.js} +1 -1
  11. package/page/assets/browser-transport-CYmonEpj.js +47 -0
  12. package/page/assets/{export-agent-DX9oOrot.js → export-agent-DD3nkkXc.js} +1 -1
  13. package/page/assets/{guardrail-tester-BNJdJRUn.js → guardrail-tester-CB_zfwu-.js} +1 -1
  14. package/page/assets/{index-DF970vI_.js → index-D3Myde0v.js} +6 -6
  15. package/page/assets/{studio-code-pane-B8JqSxFl.js → studio-code-pane-BEu6fsah.js} +1 -1
  16. package/page/assets/{studio-console-BbXL5cQm.js → studio-console-C1aZk0Nc.js} +1 -1
  17. package/page/assets/{studio-decision-BX7Q1Ux3.js → studio-decision-B4Xv1U6i.js} +1 -1
  18. package/page/assets/{studio-embedding-CaD6jPeS.js → studio-embedding-B88JqYyA.js} +1 -1
  19. package/page/assets/{studio-host-console-Cc0ph_Fn.js → studio-host-console-CV6UmZhm.js} +2 -2
  20. package/page/assets/{studio-labels-J8Gxj-VB.js → studio-labels-W7ubfnI9.js} +1 -1
  21. package/page/assets/{studio-live-TQtVqURP.js → studio-live-DsZTO9nf.js} +1 -1
  22. package/page/assets/{studio-map-D-aUd36N.js → studio-map-B8KLLT-0.js} +1 -1
  23. package/page/assets/{studio-trace-replay-DHRQV1xK.js → studio-trace-replay-CNI1i-QJ.js} +1 -1
  24. package/page/assets/{use-one-call-DOmiIAXx.js → use-one-call-BDdS64oW.js} +1 -1
  25. package/page/index.html +5 -5
  26. package/ui/studio-screen.d.ts +7 -6
  27. package/ui/studio-screen.js +23 -25
  28. package/page/assets/browser-transport-DxIOg1UT.js +0 -47
@@ -1,4 +1,4 @@
1
- import { type FilesMerge, type SharedEntry, type StudioDraft, type StudioWorkspace } from '../mod.ts';
1
+ import { type FilesMerge, type SharedEntry, type StudioDraft, type StudioRunsOn, type StudioWorkspace } from '../mod.ts';
2
2
  import { type Dispatch, type SetStateAction } from 'react';
3
3
  import { type ProjectFiles, type ProjectSession } from './lib/studio-project.ts';
4
4
  import { type RestoredStudio } from './lib/studio-session.ts';
@@ -54,13 +54,14 @@ declare function useStudioWorkspace(start: RestoredStudio, project: ProjectSessi
54
54
  };
55
55
  export type StudioWorkspaceState = ReturnType<typeof useStudioWorkspace>;
56
56
  /**
57
- * The studio's tree for a workspace, open on its `selected` node, where nothing changes anything:
58
- * a picture of the studio for a page that is not the studio, such as a home page. It writes no
59
- * storage and reports nothing.
57
+ * The studio's editor for a workspace, open on its `selected` node: the toolbar, with the issue
58
+ * count, over the inspector, with each issue on its row. Nothing on it changes anything: a picture
59
+ * of the studio for a page that is not the studio, such as a home page. It writes no storage and
60
+ * reports nothing. `on` is where the page's studio runs, so the issues are the ones it would show.
60
61
  */
61
- export declare function StudioTreePreview({ workspace, kernelVersion, }: {
62
+ export declare function StudioEditorPreview({ workspace, on, }: {
62
63
  workspace: StudioWorkspace;
63
- kernelVersion: string;
64
+ on: StudioRunsOn;
64
65
  }): import("react").JSX.Element;
65
66
  /** The studio, opened on `opened`, with what the page showing it provides. */
66
67
  export declare function StudioScreen({ opened, host }: {
@@ -1523,38 +1523,36 @@ const TreeColumn = memo(function TreeColumn({ tree, draft, onAddAgent, listRef,
1523
1523
  return (_jsx(Section, { variant: "transparent", width: TREE_WIDTH, height: "100%", padding: 4, dividers: ['end'], children: _jsxs(VStack, { gap: 4, height: "100%", children: [_jsxs(HStack, { gap: 2, vAlign: "start", children: [_jsx(StackItem, { size: "fill", children: _jsxs(VStack, { gap: 1, children: [_jsx(Heading, { level: 3, children: "theorem studio" }), _jsx(Text, { type: "supporting", color: "secondary", children: `${project ? `${project.name} · ` : ''}@theoremjs/agents ${kernelVersion}` })] }) }), _jsx(SheetButton, { label: "Close sections", icon: IconX, sheet: null, setSheet: setSheet })] }), _jsx(StackItem, { size: "fill", children: _jsx(WorkspaceTreeLists, { tree: tree, draft: draft, onAddAgent: onAddAgent, listRef: listRef }) })] }) }));
1524
1524
  });
1525
1525
  /**
1526
- * The studio's tree for a workspace, open on its `selected` node, where nothing changes anything:
1527
- * a picture of the studio for a page that is not the studio, such as a home page. It writes no
1528
- * storage and reports nothing.
1526
+ * The studio's editor for a workspace, open on its `selected` node: the toolbar, with the issue
1527
+ * count, over the inspector, with each issue on its row. Nothing on it changes anything: a picture
1528
+ * of the studio for a page that is not the studio, such as a home page. It writes no storage and
1529
+ * reports nothing. `on` is where the page's studio runs, so the issues are the ones it would show.
1529
1530
  */
1530
- export function StudioTreePreview({ workspace, kernelVersion, }) {
1531
- const listRef = useRef(null);
1532
- const selectedId = workspace.selected;
1533
- const at = workspaceNodeRef(workspace, selectedId);
1531
+ export function StudioEditorPreview({ workspace, on, }) {
1532
+ const selected = workspace.selected;
1533
+ const at = workspaceNodeRef(workspace, selected);
1534
1534
  const focus = at && 'agent' in at ? at.agent : (workspace.agents[0]?.key ?? '');
1535
1535
  const draft = libraryDraft(workspace, focus) ?? createBlankDraft();
1536
+ const compiled = useMemo(() => compileWorkspace(workspace, on), [workspace, on]);
1537
+ const editing = innerNodeId(selected, focus) ?? 'identity';
1536
1538
  const still = () => { };
1537
- const tree = {
1538
- workspace,
1539
- focus,
1540
- selectedId,
1541
- list: 'agents',
1542
- ownsProviders: false,
1543
- setList: still,
1544
- onSelect: still,
1545
- update: still,
1546
- setDraft: still,
1547
- reset: () => undefined,
1548
- keys: null,
1539
+ const view = {
1540
+ keysOpen: false,
1541
+ setKeysOpen: still,
1542
+ editorView: 'editor',
1543
+ setEditorView: still,
1544
+ mapOpen: false,
1545
+ setMapOpen: still,
1546
+ settingsOpen: false,
1547
+ open: still,
1549
1548
  };
1550
- return (_jsx(StudioHostContext.Provider, { value: { kernelVersion }, children: _jsx(TreeColumn, { tree: tree, draft: draft, onAddAgent: still, listRef: listRef, setSheet: still }) }));
1549
+ return (_jsxs(VStack, { height: "100%", children: [_jsx(EditorToolbar, { heading: editorTitle(draft, editing), compiled: compiled, selected: selected, view: view, onIssue: still, getCode: null, project: null, setSheet: still }), _jsx(StackItem, { size: "fill", children: _jsx(RunsOn.Provider, { value: on, children: _jsx(ProfileEditor, { draft: draft, setDraft: still, selectedId: editing, onSelect: still, issues: editorIssuesOf(compiled, focus) }) }) })] }));
1551
1550
  }
1552
1551
  /**
1553
1552
  * The issue count, which goes to the next issue after the selected node and shows it there. Hidden
1554
1553
  * with none. It counts every issue, so what blocks a run or Save always has a way to it.
1555
1554
  */
1556
- function IssueToken({ compile, selected, onIssue, }) {
1557
- const { compiled } = compile;
1555
+ function IssueToken({ compiled, selected, onIssue, }) {
1558
1556
  if (compiled.ok)
1559
1557
  return null;
1560
1558
  const issues = issuesLabel(compiled.issues.length);
@@ -1625,8 +1623,8 @@ function useDiscardAll({ store, filesChanged }) {
1625
1623
  }, [store, filesChanged, toast]);
1626
1624
  }
1627
1625
  /** The editor column's header: its title, the next issue, what to start from, Get code, and the view toggle. */
1628
- function EditorToolbar({ heading, compile, selected, view, onIssue, project, getCode, setSheet, }) {
1629
- return (_jsx(Section, { variant: "transparent", padding: 3, dividers: ['bottom'], children: _jsxs(HStack, { gap: 1, vAlign: "center", children: [_jsx(SheetButton, { label: "Sections", icon: IconMenu2, sheet: "tree", setSheet: setSheet }), _jsx(StackItem, { size: "fill", children: heading && (_jsx("span", { title: heading, children: _jsx(Heading, { level: 4, maxLines: 1, children: heading }) })) }), _jsx(StackItem, { size: "static", children: _jsxs(HStack, { gap: 1, vAlign: "center", children: [_jsx(IssueToken, { compile: compile, selected: selected, onIssue: onIssue }), project] }) }), getCode, _jsx(ViewToggleButton, { view: view }), _jsx(SheetButton, { label: "Preview", icon: IconPlayerPlay, sheet: "preview", setSheet: setSheet })] }) }));
1626
+ function EditorToolbar({ heading, compiled, selected, view, onIssue, project, getCode, setSheet, }) {
1627
+ return (_jsx(Section, { variant: "transparent", padding: 3, dividers: ['bottom'], children: _jsxs(HStack, { gap: 1, vAlign: "center", children: [_jsx(SheetButton, { label: "Sections", icon: IconMenu2, sheet: "tree", setSheet: setSheet }), _jsx(StackItem, { size: "fill", children: heading && (_jsx("span", { title: heading, children: _jsx(Heading, { level: 4, maxLines: 1, children: heading }) })) }), _jsx(StackItem, { size: "static", children: _jsxs(HStack, { gap: 1, vAlign: "center", children: [_jsx(IssueToken, { compiled: compiled, selected: selected, onIssue: onIssue }), project] }) }), getCode, _jsx(ViewToggleButton, { view: view }), _jsx(SheetButton, { label: "Preview", icon: IconPlayerPlay, sheet: "preview", setSheet: setSheet })] }) }));
1630
1628
  }
1631
1629
  /** Opens the Keys page, above the providers list, in the same form as Add provider. */
1632
1630
  function ManageKeysButton({ keys }) {
@@ -2145,7 +2143,7 @@ function EditorColumn({ heading, state, connection, view, compile, selected, edi
2145
2143
  }, [state.origins, state.workspace, selected, openOrigin]);
2146
2144
  const whole = rowOrigins?.scope.section;
2147
2145
  const said = over ? undefined : (whole ?? rowOrigins?.scope.partly);
2148
- return (_jsxs(VStack, { height: "100%", children: [_jsx(EditorToolbar, { heading: heading, compile: compile, selected: selected, view: view, onIssue: goToIssue, getCode: _jsx(ExportMenu, { store: state.store, compile: compile, copy: copy }), project: project && (_jsxs(_Fragment, { children: [state.conflict && (_jsx(Token, { label: conflictsLabel(state.conflict.merge.conflicts.length), color: "orange", description: "Choose between studio edits and source code", onClick: () => {
2146
+ return (_jsxs(VStack, { height: "100%", children: [_jsx(EditorToolbar, { heading: heading, compiled: compile.compiled, selected: selected, view: view, onIssue: goToIssue, getCode: _jsx(ExportMenu, { store: state.store, compile: compile, copy: copy }), project: project && (_jsxs(_Fragment, { children: [state.conflict && (_jsx(Token, { label: conflictsLabel(state.conflict.merge.conflicts.length), color: "orange", description: "Choose between studio edits and source code", onClick: () => {
2149
2147
  state.showConflict(true);
2150
2148
  } })), _jsx(ProjectTokens, { project: project, unloaded: state.files?.unloaded })] })), setSheet: setSheet }), shared && (_jsx(SharedLine, { entry: shared, workspace: state.workspace, selected: selected, onOpen: project
2151
2149
  ? () => {
@@ -1,47 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/browser-engine-bQlfBE9p.js","assets/preload-helper-DpV6A1kQ.js","assets/schemas-BQ9Jydzb.js","assets/rolldown-runtime-hePW80VL.js","assets/tool-schema-BlUbzOu9.js","assets/host-patterns-C9RMP16Q.js","assets/shaped-data-0GUF7Al3.js","assets/reader-CVFKFctz.js","assets/live-ingress-lDUGPwth.js","assets/trace-schema-9CdEyG6Q.js","assets/stub-Bf9DC2iQ.js","assets/trace-record-BjsBbPRl.js","assets/crypto-Boxudvjl.js","assets/turn-client-4GHmGV_4.js","assets/encode-files-DZ4tVtEQ.js","assets/live-messages-CI-oP2dK.js","assets/lent-keys-C32ems-I.js","assets/index-DF970vI_.js","assets/themeProps-3IqahpCr.js","assets/tokens.stylex-DkHf0P9C.js","assets/SegmentedControlItem-BLuJOusN.js","assets/padding.stylex-B76907Zf.js","assets/VStack-CkVMcNiK.js","assets/mergeProps-ptS-gIMz.js","assets/StackItem-CQviqAfM.js","assets/useLayerDismissal-BAnTRYTt.js","assets/fieldParts-Cs6Amprh.js","assets/Icon-ZfFwTt8n.js","assets/devWarning-DxuplmRl.js","assets/Text-BsiAsowd.js","assets/sharedResizeObserver-4U9Xq5Oq.js","assets/useMediaQuery-BCT0NUeZ.js","assets/focusOutline.stylex-BT0kfa4t.js","assets/IconButton-CG5klqF1.js","assets/useTooltip-rxACYEAC.js","assets/useDevWarning-Cna3kqg1.js","assets/Tooltip-CTEuMRLe.js","assets/createReactComponent-CZwsv6DD.js","assets/isRtlElement-BG33-k_H.js","assets/CodeBlock-Kjgv83A6.js","assets/useClipboard-B1amtN2V.js","assets/useScrollableArea-vxuztwym.js","assets/focusReturn-CTppP2k0.js","assets/use-trace-records-BkAYJz0M.js","assets/Card-Ghe4ozhC.js","assets/container.stylex-BmOi-8DQ.js","assets/ScrollableArea-C8AVuqnt.js","assets/labels-provider-BSiD6Lrb.js","assets/Dialog-BDUExlk_.js","assets/useScrollLock-Dyf6PHJt.js","assets/chainEventHandlers-C6ttXGfW.js","assets/HoverCard-C6thuzrf.js","assets/CheckboxInput-C9kbVyhK.js","assets/IconAlertTriangle-BqAEqqdU.js","assets/Banner-BXxhF-o1.js","assets/arrive-DvbqpeRS.js","assets/Center-nHS1JSux.js","assets/IconEye-BB5aY-wQ.js","assets/studio-labels-J8Gxj-VB.js","assets/CollapsibleGroup-PavPZ114.js","assets/IconSearch-BTx66a40.js","assets/tree-6F02tTxC.js","assets/workspace-MlrGUH2-.js","assets/editors-BJX_S59A.js","assets/studio-session-yEqFQo5o.js","assets/EmptyState-C8W4JKBZ.js","assets/use-second-ticker-VX91zrxj.js","assets/use-second-ticker-CnxaP3LD.css","assets/ContextMenu-CBOyKWd3.js","assets/useAdaptivePresentation-BY_zvjIp.js","assets/useContainerReveal-BFy8N_QU.js","assets/BottomSheet-BQPskY35.js","assets/Section-DJ97F7QE.js","assets/index-Cbs7B46A.css"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{a as t,c as n,i as r,l as i,n as a,o,r as s,t as c,u as l}from"./themeProps-3IqahpCr.js";import{c as u,v as d}from"./padding.stylex-B76907Zf.js";import{t as f}from"./mergeProps-ptS-gIMz.js";import{a as p,i as m,n as h,r as g,t as ee}from"./useLayerDismissal-BAnTRYTt.js";import{S as _,g as te,x as ne}from"./fieldParts-Cs6Amprh.js";import{b as re,h as v,i as y,m as ie,t as ae,u as b,x as oe}from"./Icon-ZfFwTt8n.js";import"./devWarning-DxuplmRl.js";import{i as se,r as x}from"./focusOutline.stylex-BT0kfa4t.js";import{a as ce,h as le,i as ue,n as S,r as de,t as fe}from"./IconButton-CG5klqF1.js";import{C,S as pe}from"./use-trace-records-BkAYJz0M.js";import{r as me}from"./Text-BsiAsowd.js";import{t as he}from"./preload-helper-DpV6A1kQ.js";import{t as ge}from"./Card-Ghe4ozhC.js";import{t as w}from"./useDevWarning-Cna3kqg1.js";import{t as _e}from"./Tooltip-CTEuMRLe.js";import{t as T}from"./createReactComponent-CZwsv6DD.js";import{i as ve}from"./ScrollableArea-C8AVuqnt.js";import{t as E}from"./IconAlertTriangle-BqAEqqdU.js";import{o as D,s as ye}from"./Banner-BXxhF-o1.js";import{o as be,s as O}from"./arrive-DvbqpeRS.js";import{n as k}from"./Center-nHS1JSux.js";import{t as A}from"./IconSearch-BTx66a40.js";import{E as j,_ as M,d as N,g as P,l as F,o as xe,v as I,w as L,x as Se,y as R}from"./schemas-BQ9Jydzb.js";import{H as z,Jn as Ce,Mr as we,On as B,Pr as Te,R as Ee,Rr as De,U as Oe,W as ke,X as Ae,Y as je,_ as Me,ar as Ne,gr as V,h as Pe,i as Fe,j as Ie,ln as Le,lr as Re,qn as ze,v as Be,vt as Ve,z as He}from"./tool-schema-BlUbzOu9.js";import{c as H,r as Ue}from"./host-patterns-C9RMP16Q.js";import{Mn as We,Nn as Ge,Sn as Ke,Zt as qe,en as Je,in as Ye,nn as Xe,qt as Ze,wn as Qe}from"./shaped-data-0GUF7Al3.js";import{D as $e,Dt as et,E as tt,Ft as nt,N as rt,O as it,S as at,U,W as ot,b as st,d as ct,et as lt,f as ut,h as dt,i as ft,l as pt,m as mt,nt as ht,p as gt,q as _t,r as vt,s as yt,t as bt,u as xt,v as St,w as Ct,x as wt,y as Tt}from"./reader-CVFKFctz.js";import{B as Et,H as Dt,L as Ot,V as kt,b as At,l as jt,m as Mt,s as Nt,t as Pt,x as Ft,z as It}from"./tree-6F02tTxC.js";import{a as Lt,r as Rt}from"./live-ingress-lDUGPwth.js";import{n as zt}from"./trace-schema-9CdEyG6Q.js";import{n as Bt,t as Vt}from"./types-DN_oZAOJ.js";import{t as Ht}from"./useScrollLock-Dyf6PHJt.js";import{t as Ut}from"./useContainerReveal-BFy8N_QU.js";function Wt(e){let t=``;for(let n of e){let e=n.codePointAt(0)??0;t+=n===`"`||n===`\\`||e<32||e===127?`\\${(e===0?65533:e).toString(16)} `:n}return t}function Gt(e){return e===`base`?``:e.split(`+`).map(e=>{let t=e.indexOf(`:`),n=t===-1?e:e.slice(0,t),r=t===-1?e:e.slice(t+1);return`[${c(n)}="${Wt(r)}"]`}).join(``)}var Kt={avatar:[{property:`borderRadius`,vars:[`--_avatar-radius`]}],banner:[{property:`borderRadius`,vars:[`--_banner-radius`]}],"bottom-sheet":[{property:`padding`,expand:`container`}],button:[{property:`borderRadius`,vars:[`--_button-radius`]}],card:[{property:`borderRadius`,vars:[`--_card-radius`]},{property:`padding`,expand:`container`}],chat:[{property:`borderRadius`,vars:[`--_chat-composer-radius`]},{property:`padding`,vars:[`--_chat-composer-padding`]}],dialog:[{property:`borderRadius`,vars:[`--_dialog-radius`]},{property:`padding`,expand:`container`}],drawer:[{property:`padding`,expand:`container`}],"context-menu":[{property:`borderRadius`,vars:[`--_dropdown-menu-radius`]},{property:`padding`,vars:[`--_dropdown-menu-padding`]}],"dropdown-menu":[{property:`borderRadius`,vars:[`--_dropdown-menu-radius`]},{property:`padding`,vars:[`--_dropdown-menu-padding`]}],field:[{property:`borderRadius`,vars:[`--_field-radius`]}],"hover-card":[{property:`borderRadius`,vars:[`--_hovercard-radius`]}],item:[{property:`paddingInline`,vars:[`--_item-inset-inline`]}],"number-input":[{property:`padding`,expand:`container`},{property:`borderRadius`,vars:[`--_field-radius`]}],popover:[{property:`borderRadius`,vars:[`--_popover-radius`]}],"progress-bar-mark":[{property:`width`,vars:[`--_progressbar-mark-width`],replaces:!0},{property:`height`,vars:[`--_progressbar-mark-height`],replaces:!0}],section:[{property:`padding`,expand:`container`}],"segmented-control":[{property:`borderRadius`,vars:[`--_segmented-control-radius`]},{property:`padding`,vars:[`--_segmented-control-padding`]}],"text-area":[{property:`paddingInline`,vars:[`--_textarea-inline-padding`],replaces:!0}]};function qt(e,t){let n=Kt[e];return n?n.filter(e=>e.property===t):[]}function Jt(e){return e===`
3
- `||e===`\r`||e===`\f`}function Yt(e){return e===` `||e===` `||Jt(e)}function Xt(e){return/^[0-9a-fA-F]$/.test(e)}function Zt(e){return/^[A-Za-z_]$/.test(e)||e.charCodeAt(0)>=128}function Qt(e){return Zt(e)||/^[0-9-]$/.test(e)}function $t(e){return e.replace(/\r\n?|\f/g,`
4
- `).replace(/\0/g,`�`)}var en=/[\x01-\x08\x0b\x0e-\x1f\x7f]/;function tn(e,t){return e[t]===`\\`&&t+1<e.length&&!Jt(e[t+1])}function nn(e,t){let n=e[t];if(n===`-`){let n=e[t+1];return n!==void 0&&(n===`-`||Zt(n)||tn(e,t+1))}return n===`\\`?tn(e,t):n!==void 0&&Zt(n)}function rn(e,t){if(Xt(e[t])){let n=t;for(;n<e.length&&n-t<6&&Xt(e[n]);)n++;return n<e.length&&Yt(e[n])&&n++,n}return t+((e.codePointAt(t)??0)>65535?2:1)}function an(e,t){let n=``,r=t;for(;r<e.length;){let t=e[r];if(Qt(t))n+=t,r++;else if(tn(e,r)){let t=rn(e,r+1);if(Xt(e[r+1])){let i=e.slice(r+1,t).trim(),a=parseInt(i,16);n+=a===0||a>1114111||a>=55296&&a<=57343?`�`:String.fromCodePoint(a)}else n+=e.slice(r+1,t);r=t}else break}return{end:r,name:n}}function on(e,t){let n=e[t],r=t+1;for(;r<e.length;){let t=e[r];if(t===n)return{end:r+1};if(Jt(t))return{reason:`a newline inside a quoted string makes a bad string`};if(t===`\\`){if(r+1>=e.length)break;r=Jt(e[r+1])?r+2:rn(e,r+1)}else r++}return{reason:`an unclosed ${n} string would swallow the rest of the rule`}}function sn(e,t){let n=t;for(;n<e.length;){let t=e[n];if(t===`)`)return{end:n+1};if(Yt(t)){for(;n<e.length&&Yt(e[n]);)n++;if(n>=e.length)break;return e[n]===`)`?{end:n+1}:{reason:`whitespace inside an unquoted url() makes a bad url`}}if(en.test(t))return{reason:`a non-printable character inside url() makes a bad url`};if(t===`"`||t===`'`||t===`(`)return{reason:`"${t}" inside an unquoted url() makes a bad url; quote the URL instead`};if(t===`\\`){if(!tn(e,n))return{reason:`a stray backslash inside url() makes a bad url`};n=rn(e,n+1)}else n++}return{reason:`an unclosed url( would swallow the rest of the rule`}}var cn={"(":`)`,"[":`]`,"{":`}`};function ln(e){let t=$t(e),n=[],r=0;for(;r<t.length;){let e=t[r];if(e===`/`&&t[r+1]===`*`){let e=t.indexOf(`*/`,r+2);if(e===-1)return`an unclosed /* comment would swallow the rest of the rule`;r=e+2}else if(e===`"`||e===`'`){let e=on(t,r);if(`reason`in e)return e.reason;r=e.end}else if(nn(t,r)){let e=an(t,r);if(r=e.end,t[r]===`(`&&e.name.toLowerCase()===`url`){let e=r+1;for(;e<t.length&&Yt(t[e]);)e++;if(t[e]===`"`||t[e]===`'`){n.push(`)`),r+=1;continue}let i=sn(t,e);if(`reason`in i)return i.reason;r=i.end}}else if(e===`\\`){if(r+1>=t.length)return`a trailing backslash would escape the declaration terminator`;r=Jt(t[r+1])?r+1:rn(t,r+1)}else if(e===`(`||e===`[`||e===`{`){if(e===`{`&&n.length===0)return`an unquoted "{" would open a nested block`;n.push(cn[e]),r++}else if(e===`)`||e===`]`||e===`}`){if(n.length===0)return e===`}`?`an unquoted "}" would close the rule`:`an unbalanced "${e}" has nothing to close`;let t=n.pop();if(t!==e)return`"${e}" does not close the open "${t===`)`?`(`:t===`]`?`[`:`{`}"`;r++}else{if(e===`;`&&n.length===0)return`an unquoted ";" would end the declaration`;r++}}if(n.length>0){let e=n[n.length-1];return`an unclosed "${e===`)`?`(`:e===`]`?`[`:`{`}" would swallow the rest of the rule`}return null}function un(e){let t=$t(e);if(t.length===0||!nn(t,0))return`a property name must be a CSS identifier`;let{end:n}=an(t,0);return n===t.length?null:`a property name must be one CSS identifier; "${t[n]}" cannot appear in one`}function dn(e){return`[data-${o}-theme="${e}"]`}var fn=`[data-${o}-theme]`;function pn(e){return`[data-${o}-media="${e}"]`}function mn(e,t){return`.${s}-${e}${t}`}function hn(e,t,n){let r=mn(e,t);return n?`:is(${pn(n)}) :is(${r})`:r}var gn=`:where(:not(:disabled,[aria-disabled="true"]))`;function _n(e,t){let n=[],r=0,i=0;for(let t=0;t<e.length;t++){let a=e[t];a===`(`?r++:a===`)`?r=Math.max(0,r-1):a===`,`&&r===0&&(n.push(e.slice(i,t).trim()),i=t+1)}n.push(e.slice(i).trim());let a=vn(t);return n.map(e=>`${e}${a}`).join(`, `)}function vn(e){if(!/^:hover(?![-\w])/.test(e)||e.includes(`[aria-disabled`))return e;let t=e.indexOf(`::`);return t===-1?e+gn:e.slice(0,t)+gn+e.slice(t)}function yn(e){return e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}var bn=new Set([`padding`,`paddingBlock`,`paddingInline`,`paddingBlockStart`,`paddingBlockEnd`,`paddingInlineStart`,`paddingInlineEnd`]),xn={paddingTop:`paddingBlockStart`,paddingBottom:`paddingBlockEnd`},Sn=new Set([...bn,...Object.keys(xn)]);function Cn(e){let t={};for(let[n,r]of e)switch(xn[n]??n){case`padding`:{let e=r.trim().split(/\s+/);e.length===1?(t.blockStart=e[0],t.blockEnd=e[0],t.inline=e[0]):e.length===2?(t.blockStart=e[0],t.blockEnd=e[0],t.inline=e[1]):e.length>=3&&(t.blockStart=e[0],t.inline=e[1],t.blockEnd=e[2]);break}case`paddingBlock`:{let e=r.trim().split(/\s+/);t.blockStart=e[0],t.blockEnd=e[1]??e[0];break}case`paddingInline`:{let e=r.trim().split(/\s+/);e.length===1?t.inline=e[0]:(t.inlineStart=e[0],t.inlineEnd=e[1]);break}case`paddingBlockStart`:t.blockStart=r;break;case`paddingBlockEnd`:t.blockEnd=r;break;case`paddingInlineStart`:t.inlineStart=r;break;case`paddingInlineEnd`:t.inlineEnd=r}return t}function wn(e,t,n=!1){let i=r(`${e}-padding`),a=[],o=t.inlineStart??t.inline,s=t.inlineEnd??t.inline;if(o!=null&&s!=null&&o===s&&t.blockStart!=null&&t.blockEnd!=null&&o===t.blockStart&&t.blockStart===t.blockEnd?a.push([i,o??``]):(t.inlineStart!=null||t.inlineEnd!=null?(o!=null&&a.push([`${i}-inline-start`,o]),s!=null&&a.push([`${i}-inline-end`,s])):t.inline!=null&&a.push([`${i}-inline`,t.inline]),t.blockStart!=null&&a.push([`${i}-block-start`,t.blockStart]),t.blockEnd!=null&&a.push([`${i}-block-end`,t.blockEnd])),n){let e=new Set(a.map(([e])=>e)),t=e.has(i)?[`${i}-inline`,`${i}-inline-start`,`${i}-inline-end`,`${i}-block-start`,`${i}-block-end`]:e.has(`${i}-inline`)?[`${i}-inline-start`,`${i}-inline-end`]:[];for(let n of t)e.has(n)||a.push([n,`initial`])}return a}var Tn=e=>{console.warn(`[astryx theme] ${e}`)};function En(e){return e?t=>e.push(t):Tn}function Dn(e){let t=JSON.stringify(e);return t.length>80?`${t.slice(0,77)}..."`:t}function On(e,t,n,r,i){e(`dropped "${t}" in ${r}: ${i} (value: ${Dn(n)})`)}function kn(e,t,n,r){let i=un(e)??ln(t);return i===null||(On(r,e,t,n,i),!1)}function An(e,t,n,r=e=>e){let i=[];for(let[a,o]of e){let e=`${o}`,s=r(a);kn(s,e,t,n)&&i.push(` ${s}: ${e};`)}return i.join(`
5
- `)}function jn(e,t,n){let r=[An(Object.entries(e.tokens),`${t}tokens`,n),An(Object.entries(e.localTokens??{}),`${t}localTokens`,n)].filter(e=>e.length>0).join(`
6
- `);return Object.keys(e.tokens).length>0||Object.keys(e.localTokens??{}).length>0?` :scope {\n${r}\n }`:null}function Mn(e,t,n){return`${e}components.${t}[${JSON.stringify(n)}]`}function Nn(e,t){let n=[],r=En(t),i=e=>`var(${e})`,a=jn(e,``,r);return a!==null&&n.push(a),e.tokens[`--font-family-body`]&&n.push(` :scope {
7
- font-family: var(--font-family-body);
8
- }`),e.components&&Ln(e.components,n,{sink:r}),Rn(i,n),zn(e.components||{},n),Vn(e.components||{},n),Fn(e.components||{},n),n}var Pn={normal:`var(--font-weight-normal)`,medium:`var(--font-weight-medium)`,semibold:`var(--font-weight-semibold)`,bold:`var(--font-weight-bold)`};function Fn(e,t,{surface:n,inheritedComponents:r,forceAll:i=!1,authoredOnly:a=!1}={}){let o=e.heading,s=o&&typeof o==`object`&&!Array.isArray(o)?o:void 0;if(!s&&!i)return;let c=r?.heading,l=c&&typeof c==`object`?c:void 0;for(let[e,r]of Object.entries(Pn)){let i=`weight:${e}`,o=s?In(s,i):void 0;if(a&&o===void 0)continue;let c=l?In(l,i):void 0,u=o??c??r,d=hn(`heading`,Gt(i),n);t.push(` ${d} { font-weight: ${u}; }`)}}function In(e,t){let n=e[t];if(typeof n!=`object`||!n||Array.isArray(n))return;let r=n.fontWeight;return typeof r==`string`&&ln(r)===null?r:void 0}function Ln(e,t,{resetInheritedPaddingSpecificity:n=!1,surface:r,sink:i=Tn,location:a=``}={}){for(let[o,s]of Object.entries(e))for(let[e,c]of Object.entries(s)){let s=Object.entries(c);if(s.length===0)continue;let l=hn(o,Gt(e),r),u=Mn(a,o,e),d=[],f=[];for(let[e,t]of s)e.startsWith(`:`)&&typeof t==`object`?f.push([e,t]):kn(yn(e),`${t}`,u,i)&&d.push([e,t]);let p=d,m=[],h=!1,g=new Set;for(let[e,t]of d){let n=qt(o,e),r=bn.has(e)&&e!==`padding`?qt(o,`padding`):[];for(let i of[...n,...r])if(i.expand===`container`&&bn.has(e)&&(h=!0),i.replaces&&g.add(e),i.vars)for(let e of i.vars)m.push([e,t]);e in xn&&qt(o,`padding`).some(e=>e.expand===`container`)&&(h=!0)}if(h){let e=d.filter(([e])=>Sn.has(e)),t=d.filter(([e])=>!Sn.has(e)),r=wn(o,Cn(e),n);p=[...t,...r]}if(g.size>0&&(p=p.filter(([e])=>!g.has(e))),m.length>0&&(p=[...p,...m]),p.length>0){let e=An(p,u,i,yn);t.push(` ${l} {\n${e}\n }`)}for(let[e,n]of f){let r=Object.entries(n);if(r.length>0){let n=An(r,`${u}[${JSON.stringify(e)}]`,i,yn);t.push(` ${_n(l,e)} {\n${n}\n }`)}}}}function Rn(e,t){t.push(` :where(h1, h2, h3, h4, h5, h6) {
9
- font-family: var(--font-family-heading);
10
- color: var(--color-text-primary);
11
- }`);for(let n=1;n<=6;n++)t.push(` :where(h${n}) {
12
- font-size: ${e(`--text-heading-${n}-size`)};
13
- font-weight: ${e(`--text-heading-${n}-weight`)};
14
- line-height: ${e(`--text-heading-${n}-leading`)};
15
- }`);t.push(` :where(p) {
16
- font-family: var(--font-family-body);
17
- font-size: ${e(`--text-body-size`)};
18
- font-weight: ${e(`--text-body-weight`)};
19
- line-height: ${e(`--text-body-leading`)};
20
- color: var(--color-text-primary);
21
- }`),t.push(` :where(small) {
22
- font-size: ${e(`--text-supporting-size`)};
23
- font-weight: ${e(`--text-supporting-weight`)};
24
- line-height: ${e(`--text-supporting-leading`)};
25
- color: var(--color-text-secondary);
26
- }`),t.push(` :where(code, pre) {
27
- font-family: var(--font-family-code);
28
- font-size: ${e(`--text-code-size`)};
29
- line-height: ${e(`--text-code-leading`)};
30
- }`),t.push(` :where(hr) {
31
- border: none;
32
- border-top: 1px solid var(--color-border);
33
- }`)}function zn(e,t,n){let r={primary:`var(--color-text-primary)`,secondary:`var(--color-text-secondary)`,disabled:`var(--color-text-disabled)`,placeholder:`var(--color-text-secondary)`,accent:`var(--color-text-accent)`},i=`text`in e,a=`heading`in e,o=`link`in e;if(i||a||o)for(let[e,s]of Object.entries(r))i&&t.push(` ${hn(`text`,Gt(`color:${e}`),n)} { color: ${s}; }`),a&&t.push(` ${hn(`heading`,Gt(`color:${e}`),n)} { color: ${s}; }`),o&&t.push(` ${hn(`link`,Gt(`color:${e}`),n)} { color: ${s}; }`)}var Bn={"4xs":`var(--font-size-4xs)`,"3xs":`var(--font-size-3xs)`,"2xs":`var(--font-size-2xs)`,xsm:`var(--font-size-xs)`,sm:`var(--font-size-sm)`,base:`var(--font-size-base)`,lg:`var(--font-size-lg)`,xl:`var(--font-size-xl)`,"2xl":`var(--font-size-2xl)`,"3xl":`var(--font-size-3xl)`,"4xl":`var(--font-size-4xl)`};function Vn(e,t,n){if(`text`in e)for(let[e,r]of Object.entries(Bn)){let i=Gt(`size:${e}`);t.push(` ${hn(`text`,i,n)} { font-size: ${r}; }`)}}function Hn(e,t){let n=Nn(e,t),r=[],i=[];for(let e of n)e.trimStart().startsWith(`:where(`)?r.push(e):i.push(e);return{component:i,prose:r}}function Un(e,t){let n=[],r=dn(e.name),i=En(t);for(let t of[`dark`,`light`]){let r=t===`dark`?e.__onDark:e.__onLight;if(!r)continue;let a=t===`dark`?`onDark.`:`onLight.`,o=Object.entries(r.tokens);if(o.length>0){let e=An(o,`${a}tokens`,i);n.push(` ${pn(t)} {\n${e}\n }`)}r.components&&(Ln(r.components,n,{resetInheritedPaddingSpecificity:!0,surface:t,sink:i,location:a}),zn(r.components,n,t),Vn(r.components,n,t),Fn(r.components,n,{surface:t,inheritedComponents:e.components}))}return n.length===0?``:`@scope (${r}) to (${fn}) {\n${n.join(`
34
-
35
- `)}\n}`}function Wn(e,t,n){let r=[],i=jn(e,t,n);return i!==null&&r.push(i),e.components&&(Ln(e.components,r,{resetInheritedPaddingSpecificity:!0,sink:n,location:t}),zn(e.components,r),Vn(e.components,r)),r}function Gn(e){let t=e?.heading;return typeof t==`object`&&!!t&&!Array.isArray(t)}function Kn(e,t,n){return`@media ${e} {\n @scope (${n}) to (${fn}) {\n${t.map(Jn).join(`
36
-
37
- `)}\n }\n}`}function qn(e,t){let n=En(t),r=e.__adaptations===void 0?void 0:ie(e.name,e.__adaptations,void 0),i=e.__adaptationRules??(r?v(e.name,r,e.__axes??{},e.tokens,e.localTokens,e.components):void 0);if(!i||i.length===0)return{prose:``,component:``};let a=dn(e.name),o=[],s=i.some(e=>Gn(e.components));for(let[e,t]of i.entries()){let r=Wn(t,`adaptations[${e}].`,n);r.length!==0&&o.push(Kn(t.query,r,a))}if(s){let t=[];Fn(e.components??{},t,{forceAll:!0}),o.push(`@scope (${a}) to (${fn}) {\n${t.join(`
38
-
39
- `)}\n}`);for(let e of i){let t=[];Fn(e.components??{},t,{authoredOnly:!0}),t.length>0&&o.push(Kn(e.query,t,a))}}return{prose:``,component:o.join(`
40
-
41
- `)}}function Jn(e){return` ${e}`}function Yn(e,t){let{component:n,prose:r}=Hn(e,t),i=dn(e.name),a=fn,o=``;r.length>0&&(o=`@scope (${i}) to (${a}) {\n${r.join(`
42
-
43
- `)}\n}`);let s=``;n.length>0&&(s=`@scope (${i}) to (${a}) {\n${n.join(`
44
-
45
- `)}\n}`);let c=qn(e,t);c.component&&(s=s?`${s}\n\n${c.component}`:c.component);let l=Un(e,t);return l&&(s=s?`${s}\n\n${l}`:l),{prose:o,component:s}}var W=e(l(),1),G=n(),Xn={base:{k1xSpc:`xjp7ctv`,kMwMTN:`x1tgivj0`,kMv6JI:`x9ynric`,$$css:!0},light:{kQNsl9:`x19aimcq`,$$css:!0},dark:{kQNsl9:`xntwwlm`,$$css:!0},system:{kQNsl9:`x108lcm5`,$$css:!0}},Zn=W.createContext(!1);Zn.displayName=`ThemeNestingContext`;var Qn=new Set,$n=`@layer reset, astryx-base, astryx-theme;`;function er(e){let n=(0,W.useId)();(0,W.useInsertionEffect)(()=>{if(e.__built)return;let r=`astryx-theme-${e.name}`;if(Qn.has(r))return;`${e.name}`,`${e.name}${e.name}${e.name}${e.name}`;let{prose:i,component:a}=Yn(e);Qn.add(r);let o=[()=>Qn.delete(r)];if(i){let r=document.createElement(`style`);r.setAttribute(t(`theme-prose`),e.name),r.setAttribute(t(`id`),n),r.textContent=`${$n}\n@layer reset {\n${i}\n}`,document.head.appendChild(r)}if(a){let r=document.createElement(`style`);r.setAttribute(t(`theme`),e.name),r.setAttribute(t(`id`),n),r.textContent=`${$n}\n@layer astryx-theme {\n${a}\n}`,document.head.appendChild(r)}return(i||a)&&o.push(()=>{let r=document.querySelector(`style[${t(`theme-prose`)}="${e.name}"][${t(`id`)}="${n}"]`),i=document.querySelector(`style[${t(`theme`)}="${e.name}"][${t(`id`)}="${n}"]`);r?.remove(),i?.remove()}),()=>{for(let e of o)e()}},[e,n])}function tr(e,n,r){g(()=>{if(!e&&typeof document<`u`)return n===`light`||n===`dark`?document.documentElement.setAttribute(`data-theme`,n):document.documentElement.removeAttribute(`data-theme`),document.documentElement.setAttribute(t(`theme`),r),()=>{document.documentElement.removeAttribute(`data-theme`),document.documentElement.removeAttribute(t(`theme`))}},[e,n,r])}function nr({theme:e,mode:t=`system`,children:n}){let r=(0,W.use)(Zn);b(e),er(e),tr(r,t,e.name);let a=t===`dark`?Xn.dark:t===`light`?Xn.light:Xn.system,o=(0,W.useMemo)(()=>({theme:e,mode:t}),[e,t]);return(0,G.jsx)(y,{value:o,children:(0,G.jsx)(Zn,{value:!0,children:(0,G.jsx)(`div`,{...i(Xn.base,a),"data-astryx-theme":e.name,"data-theme":t===`system`?void 0:t,children:n})})})}nr.displayName=`Theme`;var rr=T(`outline`,`arrow-down`,`ArrowDown`,[[`path`,{d:`M12 5l0 14`,key:`svg-0`}],[`path`,{d:`M18 13l-6 6`,key:`svg-1`}],[`path`,{d:`M6 13l6 6`,key:`svg-2`}]]),ir=T(`outline`,`arrow-up`,`ArrowUp`,[[`path`,{d:`M12 5l0 14`,key:`svg-0`}],[`path`,{d:`M18 11l-6 -6`,key:`svg-1`}],[`path`,{d:`M6 11l6 -6`,key:`svg-2`}]]),ar=T(`outline`,`arrows-sort`,`ArrowsSort`,[[`path`,{d:`M3 9l4 -4l4 4m-4 -4v14`,key:`svg-0`}],[`path`,{d:`M21 15l-4 4l-4 -4m4 4v-14`,key:`svg-1`}]]),or=T(`outline`,`calendar`,`Calendar`,[[`path`,{d:`M4 7a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12`,key:`svg-0`}],[`path`,{d:`M16 3v4`,key:`svg-1`}],[`path`,{d:`M8 3v4`,key:`svg-2`}],[`path`,{d:`M4 11h16`,key:`svg-3`}],[`path`,{d:`M11 15h1`,key:`svg-4`}],[`path`,{d:`M12 15v3`,key:`svg-5`}]]),sr=T(`outline`,`checks`,`Checks`,[[`path`,{d:`M7 12l5 5l10 -10`,key:`svg-0`}],[`path`,{d:`M2 12l5 5m5 -5l5 -5`,key:`svg-1`}]]),cr=T(`outline`,`chevron-down`,`ChevronDown`,[[`path`,{d:`M6 9l6 6l6 -6`,key:`svg-0`}]]),lr=T(`outline`,`chevrons-left`,`ChevronsLeft`,[[`path`,{d:`M11 7l-5 5l5 5`,key:`svg-0`}],[`path`,{d:`M17 7l-5 5l5 5`,key:`svg-1`}]]),ur=T(`outline`,`chevrons-right`,`ChevronsRight`,[[`path`,{d:`M7 7l5 5l-5 5`,key:`svg-0`}],[`path`,{d:`M13 7l5 5l-5 5`,key:`svg-1`}]]),dr=T(`outline`,`circle-check`,`CircleCheck`,[[`path`,{d:`M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0`,key:`svg-0`}],[`path`,{d:`M9 12l2 2l4 -4`,key:`svg-1`}]]),fr=T(`outline`,`circle-x`,`CircleX`,[[`path`,{d:`M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0`,key:`svg-0`}],[`path`,{d:`M10 10l4 4m0 -4l-4 4`,key:`svg-1`}]]),pr=T(`outline`,`clock`,`Clock`,[[`path`,{d:`M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0`,key:`svg-0`}],[`path`,{d:`M12 7v5l3 3`,key:`svg-1`}]]),mr=T(`outline`,`columns`,`Columns`,[[`path`,{d:`M4 6l5.5 0`,key:`svg-0`}],[`path`,{d:`M4 10l5.5 0`,key:`svg-1`}],[`path`,{d:`M4 14l5.5 0`,key:`svg-2`}],[`path`,{d:`M4 18l5.5 0`,key:`svg-3`}],[`path`,{d:`M14.5 6l5.5 0`,key:`svg-4`}],[`path`,{d:`M14.5 10l5.5 0`,key:`svg-5`}],[`path`,{d:`M14.5 14l5.5 0`,key:`svg-6`}],[`path`,{d:`M14.5 18l5.5 0`,key:`svg-7`}]]),hr=T(`outline`,`dots`,`Dots`,[[`path`,{d:`M4 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-0`}],[`path`,{d:`M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-1`}],[`path`,{d:`M18 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-2`}]]),gr=T(`outline`,`filter`,`Filter`,[[`path`,{d:`M4 4h16v2.172a2 2 0 0 1 -.586 1.414l-4.414 4.414v7l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227`,key:`svg-0`}]]),_r=T(`outline`,`menu-2`,`Menu2`,[[`path`,{d:`M4 6l16 0`,key:`svg-0`}],[`path`,{d:`M4 12l16 0`,key:`svg-1`}],[`path`,{d:`M4 18l16 0`,key:`svg-2`}]]),vr=T(`outline`,`microphone`,`Microphone`,[[`path`,{d:`M9 5a3 3 0 0 1 3 -3a3 3 0 0 1 3 3v5a3 3 0 0 1 -3 3a3 3 0 0 1 -3 -3l0 -5`,key:`svg-0`}],[`path`,{d:`M5 10a7 7 0 0 0 14 0`,key:`svg-1`}],[`path`,{d:`M8 21l8 0`,key:`svg-2`}],[`path`,{d:`M12 17l0 4`,key:`svg-3`}]]),yr=T(`outline`,`pencil`,`Pencil`,[[`path`,{d:`M4 20h4l10.5 -10.5a2.828 2.828 0 1 0 -4 -4l-10.5 10.5v4`,key:`svg-0`}],[`path`,{d:`M13.5 6.5l4 4`,key:`svg-1`}]]),br=T(`outline`,`upload`,`Upload`,[[`path`,{d:`M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2`,key:`svg-0`}],[`path`,{d:`M7 9l5 -5l5 5`,key:`svg-1`}],[`path`,{d:`M12 4l0 12`,key:`svg-2`}]]),xr=T(`filled`,`player-stop-filled`,`PlayerStopFilled`,[[`path`,{d:`M17 4h-10a3 3 0 0 0 -3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3 -3v-10a3 3 0 0 0 -3 -3z`,key:`svg-0`}]]),Sr=e=>e?.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase();function Cr(e,t,n=[]){if(t==null)throw Error(`[lucide]: iconNode is required when icon name is used`);return{name:Sr(e),size:24,node:t,...n.length>0?{aliases:n}:{}}}var wr=e=>{let t=``,n=!1;for(let r of e)r===`-`||r===`_`||r<=` `?n=t.length>0:(t.length===0?t+=r.toLowerCase():t+=n?r.toUpperCase():r,n=!1);return t},Tr=e=>{let t=wr(e);return t.charAt(0).toUpperCase()+t.slice(1)},Er=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),K={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Dr(e){return e!=null}function Or(e,t={}){let n=t.attributeNames??{},r=e=>n[e]??e,i=e.size??e.width??K.width,a=e.size??e.height??K.height,o=e.aliases?.filter(e=>typeof e==`string`&&e.trim()!==``).map(e=>`lucide-${e}`)??[],s=[...e.name?[`lucide-${e.name}`]:[],...o],c=t.className?.split(` `).filter(Boolean)??[],l=t.includeDefaultClasses===!1?Er(...c):Er(`lucide`,...s,...c),u=t.absoluteStrokeWidth?Number(t.strokeWidth??K[`stroke-width`])*Number(e.size??e.width??K.width)/Number(t.size??t.width??K.width):t.strokeWidth??K[`stroke-width`];return[`svg`,{...Object.entries(K).reduce((e,[t,n])=>(e[r(t)]=n,e),{}),...`color`in t&&t.color&&{[r(`stroke`)]:t.color},...`size`in t&&Dr(t.size)&&{[r(`width`)]:t.size,[r(`height`)]:t.size},...`width`in t&&Dr(t.width)&&{[r(`width`)]:t.width},...`height`in t&&Dr(t.height)&&{[r(`height`)]:t.height},[r(`stroke-width`)]:u,...l&&{[r(`class`)]:l},[r(`viewBox`)]:`0 0 ${i} ${a}`,...t.hasA11yProp===!1?{[r(`aria-hidden`)]:`true`}:{},...`attributes`in t&&t.attributes},e.node.map(e=>{let[n,i,a]=e,o=t.nonScalingStroke?{[r(`vector-effect`)]:`non-scaling-stroke`,...i}:i;return a?[n,o,a]:[n,o]})]}function kr(e,t={}){return Or(e,{...t,attributeNames:{...t.attributeNames,class:`className`,"stroke-width":`strokeWidth`,"stroke-linecap":`strokeLinecap`,"stroke-linejoin":`strokeLinejoin`,"vector-effect":`vectorEffect`}})}var Ar=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},jr=(0,W.createContext)({}),Mr=()=>(0,W.useContext)(jr),Nr=(0,W.forwardRef)(({color:e,size:t,width:n,height:r,strokeWidth:i,absoluteStrokeWidth:a,nonScalingStroke:o,className:s=``,children:c,iconNode:l=[],icon:u={node:l,aliases:[],size:24},...d},f)=>{let{size:p=24,strokeWidth:m=2,absoluteStrokeWidth:h=!1,nonScalingStroke:g=!1,color:ee=`currentColor`,className:_=``}=Mr()??{},te=!!c||Ar(d),[ne,re,v=[]]=kr(u,{color:e??ee,width:n??t??p,height:r??t??p,strokeWidth:i??m,absoluteStrokeWidth:a??h,nonScalingStroke:o??g,className:Er(_,s),hasA11yProp:te,attributes:d});return(0,W.createElement)(ne,{ref:f,...re},[...v.map(([e,t])=>(0,W.createElement)(e,t)),...Array.isArray(c)?c:[c]])});function q(e,t=[],n=[]){let r=typeof e==`string`?Cr(e,t,n):e,i=(0,W.forwardRef)(({className:e,...t},n)=>(0,W.createElement)(Nr,{ref:n,icon:r,className:e,...t}));return r.name&&(i.displayName=Tr(r.name)),i}var Pr={name:`arrow-down`,size:24,node:[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]};Pr.node;var Fr=q(Pr),Ir={name:`arrow-up-down`,size:24,node:[[`path`,{d:`m21 16-4 4-4-4`,key:`f6ql7i`}],[`path`,{d:`M17 20V4`,key:`1ejh1v`}],[`path`,{d:`m3 8 4-4 4 4`,key:`11wl7u`}],[`path`,{d:`M7 4v16`,key:`1glfcx`}]]};Ir.node;var Lr=q(Ir),Rr={name:`arrow-up`,size:24,node:[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]};Rr.node;var zr=q(Rr),Br={name:`calendar`,size:24,node:[[`path`,{d:`M8 2v3`,key:`1ioesn`}],[`path`,{d:`M16 2v3`,key:`otl347`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`,key:`h1oib`}],[`path`,{d:`M3 9h18`,key:`1pudct`}]]};Br.node;var Vr=q(Br),Hr={name:`check-check`,size:24,node:[[`path`,{d:`M18 6 7 17l-5-5`,key:`116fxf`}],[`path`,{d:`m22 10-7.5 7.5L13 16`,key:`ke71qq`}]]};Hr.node;var Ur=q(Hr),Wr={name:`check`,size:24,node:[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]};Wr.node;var Gr=q(Wr),Kr={name:`chevron-down`,size:24,node:[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]};Kr.node;var qr=q(Kr),Jr={name:`chevron-left`,size:24,node:[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]};Jr.node;var Yr=q(Jr),Xr={name:`chevron-right`,size:24,node:[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]};Xr.node;var Zr=q(Xr),Qr={name:`chevrons-left`,size:24,node:[[`path`,{d:`m11 17-5-5 5-5`,key:`13zhaf`}],[`path`,{d:`m18 17-5-5 5-5`,key:`h8a8et`}]]};Qr.node;var $r=q(Qr),ei={name:`chevrons-right`,size:24,node:[[`path`,{d:`m6 17 5-5-5-5`,key:`xnjwq`}],[`path`,{d:`m13 17 5-5-5-5`,key:`17xmmf`}]]};ei.node;var ti=q(ei),ni={name:`circle-check-big`,size:24,node:[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]],aliases:[`check-circle`]};ni.node;var ri=q(ni),ii={name:`circle-x`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]],aliases:[`x-circle`]};ii.node;var ai=q(ii),oi={name:`clock`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]};oi.node;var si=q(oi),ci={name:`columns-2`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M12 3v18`,key:`108xh3`}]],aliases:[`columns`]};ci.node;var li=q(ci),ui={name:`copy`,size:24,node:[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]};ui.node;var di=q(ui),fi={name:`ellipsis`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]],aliases:[`more-horizontal`]};fi.node;var pi=q(fi),mi={name:`external-link`,size:24,node:[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]};mi.node;var hi=q(mi),gi={name:`eye-off`,size:24,node:[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]};gi.node;var _i=q(gi),vi={name:`funnel`,size:24,node:[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]],aliases:[`filter`]};vi.node;var yi=q(vi),bi={name:`info`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]};bi.node;var xi=q(bi),Si={name:`menu`,size:24,node:[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]};Si.node;var Ci=q(Si),wi={name:`mic`,size:24,node:[[`path`,{d:`M12 19v3`,key:`npa21l`}],[`path`,{d:`M19 10v2a7 7 0 0 1-14 0v-2`,key:`1vc78b`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`13`,rx:`3`,key:`s6n7sd`}]]};wi.node;var Ti=q(wi),Ei={name:`search`,size:24,node:[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]};Ei.node;var Di=q(Ei),Oi={name:`square`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]};Oi.node;var ki=q(Oi),Ai={name:`triangle-alert`,size:24,node:[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`alert-triangle`]};Ai.node;var ji=q(Ai),Mi={name:`upload`,size:24,node:[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]};Mi.node;var Ni=q(Mi),Pi={name:`wrench`,size:24,node:[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]};Pi.node;var Fi=q(Pi),Ii={name:`x`,size:24,node:[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]};Ii.node;var Li=q(Ii),J={size:`1em`,"aria-hidden":!0},Ri={name:`neutral`,__built:!0,tokens:{"--font-size-4xs":`0.375rem`,"--font-size-3xs":`0.4375rem`,"--font-size-2xs":`0.5rem`,"--font-size-xs":`0.625rem`,"--font-size-sm":`0.75rem`,"--font-size-base":`0.875rem`,"--font-size-lg":`1.0625rem`,"--font-size-xl":`1.25rem`,"--font-size-2xl":`1.5rem`,"--font-size-3xl":`1.8125rem`,"--font-size-4xl":`2.1875rem`,"--font-size-5xl":`2.625rem`,"--text-heading-1-size":`var(--font-size-2xl)`,"--text-heading-1-weight":`var(--font-weight-semibold)`,"--text-heading-1-leading":`1.3333`,"--text-heading-2-size":`var(--font-size-xl)`,"--text-heading-2-weight":`var(--font-weight-semibold)`,"--text-heading-2-leading":`1.4`,"--text-heading-3-size":`var(--font-size-lg)`,"--text-heading-3-weight":`var(--font-weight-bold)`,"--text-heading-3-leading":`1.4118`,"--text-heading-4-size":`var(--font-size-base)`,"--text-heading-4-weight":`var(--font-weight-bold)`,"--text-heading-4-leading":`1.4286`,"--text-heading-5-size":`var(--font-size-sm)`,"--text-heading-5-weight":`var(--font-weight-semibold)`,"--text-heading-5-leading":`1.6667`,"--text-heading-6-size":`var(--font-size-xs)`,"--text-heading-6-weight":`var(--font-weight-semibold)`,"--text-heading-6-leading":`1.6`,"--text-body-size":`var(--font-size-base)`,"--text-body-weight":`var(--font-weight-normal)`,"--text-body-leading":`1.4286`,"--text-large-size":`var(--font-size-lg)`,"--text-large-weight":`var(--font-weight-semibold)`,"--text-large-leading":`1.4118`,"--text-label-size":`var(--font-size-base)`,"--text-label-weight":`var(--font-weight-medium)`,"--text-label-leading":`1.4286`,"--text-code-size":`var(--font-size-base)`,"--text-code-weight":`var(--font-weight-normal)`,"--text-code-leading":`1.4286`,"--text-supporting-size":`var(--font-size-sm)`,"--text-supporting-weight":`var(--font-weight-normal)`,"--text-supporting-leading":`1.6667`,"--text-display-1-size":`var(--font-size-5xl)`,"--text-display-1-weight":`var(--font-weight-normal)`,"--text-display-1-leading":`1.2381`,"--text-display-2-size":`var(--font-size-4xl)`,"--text-display-2-weight":`var(--font-weight-normal)`,"--text-display-2-leading":`1.2571`,"--text-display-3-size":`var(--font-size-3xl)`,"--text-display-3-weight":`var(--font-weight-normal)`,"--text-display-3-leading":`1.3793`,"--duration-fast-min":`95ms`,"--duration-fast":`125ms`,"--duration-fast-max":`165ms`,"--duration-medium-min":`225ms`,"--duration-medium":`300ms`,"--duration-medium-max":`400ms`,"--duration-slow-min":`525ms`,"--duration-slow":`700ms`,"--duration-slow-max":`935ms`,"--font-family-body":`Figtree, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif`,"--font-family-heading":`Figtree, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif`,"--font-family-code":`ui-monospace, "SF Mono", Monaco, Consolas, "Liberation Mono", "Courier New", monospace`,"--color-syntax-keyword":`light-dark(#6b187c, #efa8ff)`,"--color-syntax-string":`light-dark(#0b5615, #a4d6a3)`,"--color-syntax-comment":`light-dark(#6a6a6a, #9e9e9e)`,"--color-syntax-number":`light-dark(#733100, #ffb37e)`,"--color-syntax-function":`light-dark(#00458c, #a1caff)`,"--color-syntax-type":`light-dark(#6b187c, #efa8ff)`,"--color-syntax-variable":`light-dark(#111111, #e2e2e2)`,"--color-syntax-operator":`light-dark(#6a6a6a, #9e9e9e)`,"--color-syntax-constant":`light-dark(#733100, #ffb37e)`,"--color-syntax-tag":`light-dark(#8a0011, #ffaea7)`,"--color-syntax-attribute":`light-dark(#584400, #eec448)`,"--color-syntax-property":`light-dark(#005348, #90d7c8)`,"--color-syntax-punctuation":`light-dark(#6a6a6a, #9e9e9e)`,"--color-syntax-background":`light-dark(#ffffff, #111111)`,"--color-syntax-added":`color-mix(in srgb, var(--color-success-muted) 25%, transparent)`,"--color-syntax-removed":`color-mix(in srgb, var(--color-error-muted) 25%, transparent)`,"--color-syntax-diff-header":`transparent`,"--color-syntax-added-marker":`var(--color-syntax-punctuation)`,"--color-syntax-removed-marker":`var(--color-syntax-punctuation)`,"--color-background-surface":`light-dark(#ffffff, #262626)`,"--color-background-body":`light-dark(#f1f1f1, #1b1b1b)`,"--color-background-card":`light-dark(#ffffff, #1b1b1b)`,"--color-background-popover":`light-dark(#ffffff, #1b1b1b)`,"--color-background-muted":`light-dark(#f1f1f1, #1b1b1b)`,"--color-accent":`light-dark(#1b1b1b, #f1f1f1)`,"--color-accent-muted":`light-dark(#f1f1f1, #262626)`,"--color-neutral":`light-dark(#0000000F, #ffffff1A)`,"--color-overlay":`light-dark(#00000080, #000000CC)`,"--color-overlay-hover":`light-dark(#0000000D, #ffffff0D)`,"--color-overlay-pressed":`light-dark(#0000001A, #ffffff1A)`,"--color-text-primary":`light-dark(#000000, #ffffff)`,"--color-text-secondary":`light-dark(#474747, #9e9e9e)`,"--color-text-disabled":`light-dark(#919191, #525252)`,"--color-text-accent":`light-dark(#1b1b1b, #f1f1f1)`,"--color-on-dark":`#ffffff`,"--color-on-light":`#111111`,"--color-on-accent":`light-dark(#ffffff, #111111)`,"--color-on-success":`light-dark(#ffffff, #111111)`,"--color-on-error":`light-dark(#ffffff, #111111)`,"--color-on-warning":`#111111`,"--color-icon-accent":`light-dark(#1b1b1b, #f1f1f1)`,"--color-icon-primary":`light-dark(#000000, #ffffff)`,"--color-icon-secondary":`light-dark(#6a6a6a, #9e9e9e)`,"--color-icon-disabled":`light-dark(#919191, #525252)`,"--color-success":`light-dark(#00490b, #a4d6a3)`,"--color-error":`light-dark(#76000c, #ffc4be)`,"--color-warning":`light-dark(#4b3900, #f8d36a)`,"--color-success-muted":`light-dark(#bce0bb, #90ca903D)`,"--color-error-muted":`light-dark(#ffc4be, #ff98903D)`,"--color-warning-muted":`light-dark(#fae19e, #e2b6233D)`,"--color-border":`light-dark(#00000014, #ffffff1A)`,"--color-border-emphasized":`light-dark(#d4d4d4, #525252)`,"--color-skeleton":`light-dark(#f1f1f1, #525252)`,"--color-shadow":`light-dark(#0000001A, #0000004D)`,"--color-tint-hover":`light-dark(black, white)`,"--color-background-red":`light-dark(#ffc4be, #5b2b28)`,"--color-border-red":`light-dark(#ffaea7, #fa6762)`,"--color-icon-red":`light-dark(#76000c, #ff9890)`,"--color-text-red":`light-dark(#76000c, #ffaea7)`,"--color-background-orange":`light-dark(#ffc7a1, #503424)`,"--color-border-orange":`light-dark(#ffc7a1, #df843f)`,"--color-icon-orange":`light-dark(#622700, #ff9e55)`,"--color-text-orange":`light-dark(#622700, #ffb37e)`,"--color-background-yellow":`light-dark(#fae19e, #453a1c)`,"--color-border-yellow":`light-dark(#e3c36c, #c29900)`,"--color-icon-yellow":`light-dark(#4b3900, #e2b623)`,"--color-text-yellow":`light-dark(#4b3900, #eec448)`,"--color-background-green":`light-dark(#bce0bb, #2b422b)`,"--color-border-green":`light-dark(#aad4a9, #6ab26b)`,"--color-icon-green":`light-dark(#00490b, #90ca90)`,"--color-text-green":`light-dark(#00490b, #90ca90)`,"--color-background-teal":`light-dark(#a9e2d6, #28413c)`,"--color-border-teal":`light-dark(#90d7c8, #4fb1a0)`,"--color-icon-teal":`light-dark(#00463d, #81c9bb)`,"--color-text-teal":`light-dark(#00463d, #90d7c8)`,"--color-background-cyan":`light-dark(#9ae2f4, #274046)`,"--color-border-cyan":`light-dark(#85d5e9, #49adc4)`,"--color-icon-cyan":`light-dark(#004351, #71c7dd)`,"--color-text-cyan":`light-dark(#004351, #85d5e9)`,"--color-background-blue":`light-dark(#b9d7ff, #253c5a)`,"--color-border-blue":`light-dark(#a1caff, #5aa0f8)`,"--color-icon-blue":`light-dark(#003978, #88bcff)`,"--color-text-blue":`light-dark(#003978, #a1caff)`,"--color-background-purple":`light-dark(#f7d5ff, #4a2f51)`,"--color-border-purple":`light-dark(#f3bfff, #d885eb)`,"--color-icon-purple":`light-dark(#5c0e6c, #e496f6)`,"--color-text-purple":`light-dark(#5c0e6c, #eaacf8)`,"--color-background-pink":`light-dark(#ffc0d7, #572b3d)`,"--color-border-pink":`light-dark(#ffc0d7, #fc78b1)`,"--color-icon-pink":`light-dark(#70003f, #fd92bd)`,"--color-text-pink":`light-dark(#70003f, #ffa9ca)`,"--color-background-gray":`light-dark(#e2e2e2, #303030)`,"--color-border-gray":`light-dark(#d4d4d4, #262626)`,"--color-icon-gray":`light-dark(#474747, #9e9e9e)`,"--color-text-gray":`light-dark(#1b1b1b, #d4d4d4)`,"--radius-none":`0px`,"--radius-inner":`0.375rem`,"--radius-element":`0.625rem`,"--radius-container":`0.75rem`,"--radius-page":`1.75rem`,"--radius-full":`9999px`,"--shadow-low":`0 2px 4px light-dark(oklch(0 0 0 / 5%), oklch(0 0 0 / 25%)), 0 4px 8px light-dark(oklch(0 0 0 / 10%), oklch(0 0 0 / 40%)), inset 0 0 0 1px light-dark(transparent, oklch(1 0 0 / 8%))`,"--shadow-med":`0 2px 4px light-dark(oklch(0 0 0 / 5%), oklch(0 0 0 / 35%)), 0 4px 12px light-dark(oklch(0 0 0 / 10%), oklch(0 0 0 / 50%)), inset 0 0 0 1px light-dark(transparent, oklch(1 0 0 / 12%))`,"--shadow-high":`0 4px 6px light-dark(oklch(0 0 0 / 10%), oklch(0 0 0 / 50%)), 0 12px 24px light-dark(oklch(0 0 0 / 15%), oklch(0 0 0 / 70%)), inset 0 0 0 1px light-dark(transparent, oklch(1 0 0 / 15%))`,"--shadow-inset-hover":`inset 0px 0px 0px 2px #0074e24D`,"--shadow-inset-selected":`inset 0px 0px 0px 2px #0074e280`,"--shadow-inset-success":`inset 0px 0px 0px 2px #2f7d334D`,"--shadow-inset-warning":`inset 0px 0px 0px 2px #f8d36a4D`,"--shadow-inset-error":`inset 0px 0px 0px 2px #de47454D`},localTokens:{"--astryx-theme-neutral-color-status-fill-accent":`light-dark(#0074e2, #6d9cfe)`,"--astryx-theme-neutral-color-status-fill-success":`light-dark(#198100, #64af4c)`,"--astryx-theme-neutral-color-status-fill-warning":`#ffce2f`,"--astryx-theme-neutral-color-status-fill-error":`light-dark(#c9303a, #ff705d)`,"--astryx-theme-neutral-color-status-muted-accent":`light-dark(#b9d7ff, #88bcff3D)`,"--astryx-theme-neutral-color-on-tint-neutral":`light-dark(#fafafa4D, #0a0a0a4D)`,"--astryx-theme-neutral-color-on-tint-overlay-hover":`light-dark(#fafafa1A, #0a0a0a1A)`,"--astryx-theme-neutral-color-on-tint-overlay-pressed":`light-dark(#fafafa33, #0a0a0a33)`,"--astryx-theme-neutral-color-destructive-overlay-hover":`light-dark(#ff7f770D, #ee736c0D)`,"--astryx-theme-neutral-color-destructive-overlay-pressed":`light-dark(#ff7f771A, #ee736c1A)`},__localTokenOwners:{"--astryx-theme-neutral-color-status-fill-accent":`neutral`,"--astryx-theme-neutral-color-status-fill-success":`neutral`,"--astryx-theme-neutral-color-status-fill-warning":`neutral`,"--astryx-theme-neutral-color-status-fill-error":`neutral`,"--astryx-theme-neutral-color-status-muted-accent":`neutral`,"--astryx-theme-neutral-color-on-tint-neutral":`neutral`,"--astryx-theme-neutral-color-on-tint-overlay-hover":`neutral`,"--astryx-theme-neutral-color-on-tint-overlay-pressed":`neutral`,"--astryx-theme-neutral-color-destructive-overlay-hover":`neutral`,"--astryx-theme-neutral-color-destructive-overlay-pressed":`neutral`},__localTokenLineage:[`neutral`],components:{heading:{"level:1":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-1-size)`,fontWeight:`var(--text-heading-1-weight)`,lineHeight:`var(--text-heading-1-leading)`},"level:2":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-2-size)`,fontWeight:`var(--text-heading-2-weight)`,lineHeight:`var(--text-heading-2-leading)`},"level:3":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-3-size)`,fontWeight:`var(--text-heading-3-weight)`,lineHeight:`var(--text-heading-3-leading)`},"level:4":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-4-size)`,fontWeight:`var(--text-heading-4-weight)`,lineHeight:`var(--text-heading-4-leading)`},"level:5":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-5-size)`,fontWeight:`var(--text-heading-5-weight)`,lineHeight:`var(--text-heading-5-leading)`},"level:6":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-6-size)`,fontWeight:`var(--text-heading-6-weight)`,lineHeight:`var(--text-heading-6-leading)`},"type:display-1":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-1-size)`,lineHeight:`var(--text-display-1-leading)`},"type:display-2":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-2-size)`,lineHeight:`var(--text-display-2-leading)`},"type:display-3":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-3-size)`,lineHeight:`var(--text-display-3-leading)`}},text:{"type:body":{fontFamily:`var(--font-family-body)`,fontSize:`var(--text-body-size)`,lineHeight:`var(--text-body-leading)`},"type:large":{fontFamily:`var(--font-family-body)`,fontSize:`var(--text-large-size)`,lineHeight:`var(--text-large-leading)`},"type:label":{fontFamily:`var(--font-family-body)`,fontSize:`var(--text-label-size)`,lineHeight:`var(--text-label-leading)`},"type:code":{fontFamily:`var(--font-family-code)`,fontSize:`var(--text-code-size)`,lineHeight:`var(--text-code-leading)`},"type:supporting":{fontFamily:`var(--font-family-body)`,fontSize:`var(--text-supporting-size)`,lineHeight:`var(--text-supporting-leading)`},"type:display-1":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-1-size)`,lineHeight:`var(--text-display-1-leading)`},"type:display-2":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-2-size)`,lineHeight:`var(--text-display-2-leading)`},"type:display-3":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-3-size)`,lineHeight:`var(--text-display-3-leading)`}},button:{"variant:destructive":{backgroundColor:`var(--color-error-muted)`,color:`var(--color-error)`,"--color-overlay-hover":`var(--astryx-theme-neutral-color-destructive-overlay-hover)`,"--color-overlay-pressed":`var(--astryx-theme-neutral-color-destructive-overlay-pressed)`}},badge:{"variant:info":{backgroundColor:`var(--astryx-theme-neutral-color-status-fill-accent)`,color:`var(--color-on-accent)`},"variant:neutral":{backgroundColor:`var(--color-background-gray)`,color:`var(--color-text-gray)`},"variant:success":{backgroundColor:`var(--astryx-theme-neutral-color-status-fill-success)`,color:`var(--color-on-success)`},"variant:warning":{backgroundColor:`var(--astryx-theme-neutral-color-status-fill-warning)`,color:`var(--color-on-warning)`},"variant:error":{backgroundColor:`var(--astryx-theme-neutral-color-status-fill-error)`,color:`var(--color-on-error)`},"variant:red":{backgroundColor:`var(--color-background-red)`,color:`var(--color-text-red)`},"variant:orange":{backgroundColor:`var(--color-background-orange)`,color:`var(--color-text-orange)`},"variant:yellow":{backgroundColor:`var(--color-background-yellow)`,color:`var(--color-text-yellow)`},"variant:green":{backgroundColor:`var(--color-background-green)`,color:`var(--color-text-green)`},"variant:teal":{backgroundColor:`var(--color-background-teal)`,color:`var(--color-text-teal)`},"variant:cyan":{backgroundColor:`var(--color-background-cyan)`,color:`var(--color-text-cyan)`},"variant:blue":{backgroundColor:`var(--color-background-blue)`,color:`var(--color-text-blue)`},"variant:purple":{backgroundColor:`var(--color-background-purple)`,color:`var(--color-text-purple)`},"variant:pink":{backgroundColor:`var(--color-background-pink)`,color:`var(--color-text-pink)`},"variant:gray":{backgroundColor:`var(--color-background-gray)`,color:`var(--color-text-gray)`}},"status-dot":{"variant:success":{backgroundColor:`var(--astryx-theme-neutral-color-status-fill-success)`},"variant:warning":{backgroundColor:`var(--astryx-theme-neutral-color-status-fill-warning)`},"variant:error":{backgroundColor:`var(--astryx-theme-neutral-color-status-fill-error)`},"variant:accent":{backgroundColor:`var(--astryx-theme-neutral-color-status-fill-accent)`}},"avatar-status-dot":{"variant:success":{backgroundColor:`var(--astryx-theme-neutral-color-status-fill-success)`},"variant:error":{backgroundColor:`var(--astryx-theme-neutral-color-status-fill-error)`}},"segmented-control":{base:{padding:`var(--spacing-1)`}},"segmented-control-item":{"size:sm":{height:`calc(var(--size-element-sm) - 8px)`},"size:md":{height:`calc(var(--size-element-md) - 8px)`},"size:lg":{height:`calc(var(--size-element-lg) - 8px)`},selected:{boxShadow:`none`}},banner:{base:{"--color-neutral":`var(--astryx-theme-neutral-color-on-tint-neutral)`,"--color-overlay-hover":`var(--astryx-theme-neutral-color-on-tint-overlay-hover)`,"--color-overlay-pressed":`var(--astryx-theme-neutral-color-on-tint-overlay-pressed)`},"status:info":{"--color-accent-muted":`var(--astryx-theme-neutral-color-status-muted-accent)`,"--color-text-primary":`var(--color-text-blue)`,"--color-text-secondary":`var(--color-text-blue)`,"--color-accent":`var(--color-text-blue)`},"status:success":{"--color-text-primary":`var(--color-text-green)`,"--color-text-secondary":`var(--color-text-green)`,"--color-success":`var(--color-text-green)`},"status:warning":{"--color-text-primary":`var(--color-text-yellow)`,"--color-text-secondary":`var(--color-text-yellow)`,"--color-warning":`var(--color-text-yellow)`},"status:error":{"--color-text-primary":`var(--color-text-red)`,"--color-text-secondary":`var(--color-text-red)`,"--color-error":`var(--color-text-red)`}},"step-indicator":{"status:accent":{"--color-accent":`var(--astryx-theme-neutral-color-status-fill-accent)`},"status:success":{"--color-success":`var(--astryx-theme-neutral-color-status-fill-success)`},"status:warning":{"--color-warning":`var(--astryx-theme-neutral-color-status-fill-warning)`},"status:error":{"--color-error":`var(--astryx-theme-neutral-color-status-fill-error)`}},switch:{base:{"--color-background-gray":`var(--color-border-emphasized)`}},"progress-bar":{base:{"--color-background-muted":`var(--color-border-emphasized)`},"variant:accent":{"--color-accent":`var(--astryx-theme-neutral-color-status-fill-accent)`},"variant:success":{"--color-success":`var(--astryx-theme-neutral-color-status-fill-success)`},"variant:warning":{"--color-warning":`var(--astryx-theme-neutral-color-status-fill-warning)`},"variant:error":{"--color-error":`var(--astryx-theme-neutral-color-status-fill-error)`}},card:{base:{padding:`var(--spacing-3)`}},section:{base:{padding:`var(--spacing-3)`}}},__onDark:{tokens:{"color-scheme":`dark`,"--color-text-primary":`var(--color-on-dark)`,"--color-icon-primary":`var(--color-on-dark)`,"--color-accent":`var(--color-on-dark)`}},__onLight:{tokens:{"color-scheme":`light`,"--color-text-primary":`var(--color-on-light)`,"--color-icon-primary":`var(--color-on-light)`,"--color-accent":`var(--color-on-light)`}},__adaptations:{widthBreakpoints:{sm:640,md:768,lg:1024,xl:1280,"2xl":1536},rules:[{when:{pointer:`coarse`,width:{below:`lg`}},value:{typography:{scale:{base:16,ratio:1.1736}}}}]},__axes:{typography:{scale:{base:14,ratio:1.2},body:{family:`Figtree`,fallbacks:`-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif`},heading:{family:`Figtree`,fallbacks:`-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif`,weights:{3:`bold`,4:`bold`}},code:{family:`ui-monospace`,fallbacks:`"SF Mono", Monaco, Consolas, "Liberation Mono", "Courier New", monospace`}},motion:{fast:125,medium:300,slow:700,ratio:.75}},icons:{close:(0,G.jsx)(Li,{...J}),chevronDown:(0,G.jsx)(qr,{...J}),chevronLeft:(0,G.jsx)(Yr,{...J}),chevronRight:(0,G.jsx)(Zr,{...J}),chevronsLeft:(0,G.jsx)($r,{...J}),chevronsRight:(0,G.jsx)(ti,{...J}),check:(0,G.jsx)(Gr,{...J}),success:(0,G.jsx)(ri,{...J}),error:(0,G.jsx)(ai,{...J}),warning:(0,G.jsx)(ji,{...J}),info:(0,G.jsx)(xi,{...J}),calendar:(0,G.jsx)(Vr,{...J}),clock:(0,G.jsx)(si,{...J}),externalLink:(0,G.jsx)(hi,{...J}),menu:(0,G.jsx)(Ci,{...J}),moreHorizontal:(0,G.jsx)(pi,{...J}),search:(0,G.jsx)(Di,{...J}),upload:(0,G.jsx)(Ni,{...J}),arrowUp:(0,G.jsx)(zr,{...J}),arrowDown:(0,G.jsx)(Fr,{...J}),arrowsUpDown:(0,G.jsx)(Lr,{...J}),funnel:(0,G.jsx)(yi,{...J}),eyeSlash:(0,G.jsx)(_i,{...J}),viewColumns:(0,G.jsx)(li,{...J}),copy:(0,G.jsx)(di,{...J}),checkDouble:(0,G.jsx)(Ur,{...J}),wrench:(0,G.jsx)(Fi,{...J}),stop:(0,G.jsx)(ki,{...J}),microphone:(0,G.jsx)(Ti,{...J})}},zi=Object.fromEntries(Object.entries({close:te,chevronDown:cr,chevronLeft:O,chevronRight:be,chevronsLeft:lr,chevronsRight:ur,check:ye,success:dr,error:fr,warning:E,info:pe,calendar:or,clock:pr,externalLink:k,menu:_r,moreHorizontal:hr,search:A,arrowUp:ir,arrowDown:rr,arrowsUpDown:ar,funnel:gr,eyeSlash:C,viewColumns:mr,copy:D,checkDouble:sr,wrench:ve,stop:xr,microphone:vr,upload:br}).map(([e,t])=>[e,(0,W.createElement)(t,{size:`1em`,stroke:1.75,"aria-hidden":!0})])),Bi=[ke,z,Oe];function Vi(e,t=[]){return[...t,...Bi].find(t=>t.id===e.protocol)?.embeddingLimits?.(e.apiId)}var Hi=`••••`,Ui=/auth|key|token|secret|passw|pwd|cookie|session|signature|^sig$|credential|^code$|appid/i,Wi=/auth|key|token|secret|passw|pwd|signature|credential|appid/i,Gi=[[/^AIza/,`Google API key`],[/^sk-or-/,`OpenRouter key`],[/^sk-ant-/,`Anthropic key`],[/^sk-/,`OpenAI key`],[/^(?:ghp_|github_pat_)/,`GitHub token`],[/^xox[baprs]-/,`Slack token`],[/^AKIA/,`AWS access key id`],[/^eyJ[\w-]+\.[\w-]+\./,`JWT`],[/^Bearer\s/i,`a whole Bearer header, not a bare token`],[/^https?:\/\//i,`a URL, not a key`]],Ki=16;function qi(e,t={}){let n=typeof e==`string`?e:``,r=n.trim(),i=[];/^(?:<.*>|x{3,}|\.{3}|your[-_ ]?(?:api[-_ ]?)?key|changeme|todo)$/i.test(r)?i.push(`a placeholder, not a real value`):(r&&r!==n&&i.push(`spaces or a line break around it`),/[\r\n]/.test(r)?i.push(`a line break inside`):/\s/.test(r)&&i.push(`a space inside`),/^(['"`]).*\1$/.test(r)&&i.push(`wrapped in quotes`),r&&r.length<Ki&&i.push(`shorter than keys usually are`));let a=Gi.find(([e])=>e.test(r))?.[1];return{secret:!0,set:r.length>0,...a?{looksLike:a}:{},problems:i,sameAs:[...t.sameAs??[]],usedBy:[...t.usedBy??[]]}}var Ji=/^([a-z][a-z0-9+.-]*:\/\/)([^/?#@]*)@/i,Yi=/([?&;])([^=?&;#\s]*)=([^&;#\s]*)/g;function Xi(e){let t=e.indexOf(`:`);return t<0?[e,void 0]:[e.slice(0,t),e.slice(t+1)]}function Zi(e){try{return decodeURIComponent(e)}catch{return e}}function Qi(e){return Ui.test(e)}function $i(e){let t=URL.canParse(e)?Ui:Wi;return e.replace(Ji,(e,t,n)=>{let[r,i]=Xi(n);return`${t}${r&&`••••`}${i===void 0?``:`:${i&&`••••`}`}@`}).replace(Yi,(e,n,r,i)=>i&&t.test(Zi(r))?`${n}${r}=${Hi}`:e)}function ea(e,t){let[n,r]=Xi(Ji.exec(t)?.[2]??``),i=new Map;for(let[,,e=``,n=``]of t.matchAll(Yi))i.set(e,[...i.get(e)??[],n]);return e.replace(Ji,(e,t,i)=>{let[a,o]=Xi(i),s=a===`••••`&&n?n:a,c=o===`••••`&&r?r:o;return`${t}${s}${c===void 0?``:`:${c}`}@`}).replace(Yi,(e,t,n,r)=>{let a=r===`••••`?i.get(n)?.shift():void 0;return a?`${t}${n}=${a}`:e})}function ta(e){if(e==null||e===``)return e;let t=e;if(typeof e==`string`)try{t=JSON.parse(e)}catch{return`(not a JSON object, ${String(e.length)} characters)`}if(typeof t!=`object`||!t||Array.isArray(t))return`(not a JSON object)`;let n=Object.fromEntries(Object.entries(t).map(([e,t])=>[e,Qi(e)?Hi:t]));return typeof e==`string`?JSON.stringify(n):n}function na(e,t){if(Ct(e))return{error:e.publicMessage??We(`error.${e.kind}`,{},t),errorKind:e.kind,...e.internalMessage?{errorInternal:e.internalMessage}:{}};let n=De(e,t),r=we(e);return{error:n,errorKind:Te(e),...r&&r!==n?{errorInternal:r}:{}}}function ra(e,t,n){let r=na(e,t),i=r.errorKind===`cancelled`||n?.aborted===!0;return{...r,...i?{aborted:!0}:{}}}function ia(e,t=[]){let n=e.models[e.defaultModel];return{type:`embedding`,identity:{handle:e.identity.handle},inputs:et(e.inputs,n?Vi(n,t):void 0),...e.observability?{observability:{record:Lt(e.observability).record}}:{}}}var aa=R({result:R({model:L().min(1),embeddings:F(R({index:I().int().nonnegative(),values:F(I()),dimensions:I().int().positive()}).refine(e=>e.values.length===e.dimensions,`vector length must match dimensions`)),usage:R({inputTokens:I().int().nonnegative().optional(),costUsd:I().nonnegative().optional(),estimated:P(!0).optional()}).optional()}),traces:F(zt).optional()}),oa=R({interface:R({type:P(`embedding`),identity:R({handle:L()}),inputs:R({text:N(),attachments:R({accept:F(L())}).optional(),maxFiles:I().optional(),maxBytes:I().optional(),maxTurnBytes:I().optional(),limitsByMime:Se(L(),I()).optional()}),observability:R({record:N()}).optional()})});function sa(e){return it(aa,e,`the embedding`)}function ca(e,t,n,r={}){return gt(e,t,n,r,sa)}function la(e={}){let t=(e.endpoint??`/api/embedding`).replace(/\/$/,``);return{async describe(n){return it(oa,await Tt(t,{signal:n},e),`the embedding description`).interface},embed:(n,r,i)=>ca(`${t}/embed`,{input:n,...r},i,e)}}var ua=[`function`,`http`,`mcp`];function da(e){return ua.includes(e)}function fa(e,t){return{type:`host`,id:e.id,tools:e.tools.allow.flatMap(e=>{let n=t(e);return!n||!da(n.type)?[]:[{name:n.name,description:n.description,kind:n.type,access:n.access,permission:n.permission,inputSchema:n.inputSchema,outputSchema:n.outputSchema}]}),...e.observability?{observability:{record:Lt(e.observability).record}}:{}}}R({name:L().min(1).max(128),input:j()});var pa=Se(L(),j()),ma=R({interface:R({type:P(`host`),id:L(),tools:F(R({name:L(),description:L(),kind:xe(ua),access:xe(Ne),permission:xe(Re),inputSchema:pa,outputSchema:pa})),observability:R({record:N()}).optional()})});function ha(e={}){let t=(e.endpoint??`/api/host`).replace(/\/$/,``);return{pageResult:(n,r)=>tt(`${t}/page-result`,n,{...e,signal:r}),async describe(n){return it(ma,await Tt(t,{signal:n},e),`the host description`).interface},call:(n,r,i)=>$e(`${t}/call`,n,B,r,{...e,signal:i}),invoke:({replay:n,...r},i,a)=>$e(`${t}/invoke`,r,B,i,{...e,signal:a})}}function Y(){let e=[],t=new Set;return{push(n){e=[...e,n];for(let e of t)e()},records:()=>e,subscribe(e){return t.add(e),()=>{t.delete(e)}}}}var ga=/\{\s*private\s*:/g;function _a(e,t){return e.slice(0,t).split(`
46
- `).length}function va(e){let t=[],n=0;for(let r of e.matchAll(ga)){if(r.index<n)continue;let i=1,a=r.index+r[0].length;for(;a<e.length&&i>0;a++)e[a]===`{`?i++:e[a]===`}`&&i--;if(i>0)return{ok:!1,message:`The {private: section on line ${String(_a(e,r.index))} has no closing }.`};let o=e.slice(r.index+r[0].length,a-1).trim();if(!o)return{ok:!1,message:`The {private: section on line ${String(_a(e,r.index))} is empty.`};t.push(e.slice(n,r.index),{private:o}),n=a}if(t.push(e.slice(n)),t.length===1)return{ok:!0,prompt:e.trim()||void 0};let r=t[0],i=t.at(-1);return typeof r==`string`&&(t[0]=r.trimStart()),typeof i==`string`&&(t[t.length-1]=i.trimEnd()),{ok:!0,prompt:t.filter(e=>e!==``)}}var ya=()=>void 0,ba=()=>void 0;function X(e){return(e??[]).map(e=>e.trim()).filter(Boolean)}function Z(e,t,n,r,i,a){i===null||Number.isInteger(i)&&i>=a||e(t,`${r} must be a ${a?`positive`:`non-negative`} whole number.`,n)}var xa={agentId:{label:`Profile id`,max:64},handle:{label:`Handle`,max:32}};function Sa(e,t,n){let{label:r,max:i}=xa[t];n.trim()?Array.from(n).length>i&&e(`identity`,`${r} is at most ${i} characters.`,t):e(`identity`,`${r} is required.`,t)}function Ca(e,t){Sa(t,`agentId`,e.identity.agentId),e.identity.profileType!==`host`&&Sa(t,`handle`,e.identity.handle)}function wa(e,t,n,r){let i=Pt(e.key),a=Ie(n,t,{...e,apiId:e.apiId.trim()}),o=n.find(t=>t.id===e.provider);return o?He(o,t)?He(o,t,e.protocol)||r(i,`${e.provider} doesn't serve ${t} agents on ${e.protocol}.`,`protocol`):r(i,`${e.provider} doesn't serve ${t} agents.`,`provider`):r(i,`No provider is defined as ${e.provider}.`,`provider`),a.apiId||r(i,`API model is required.`,`apiId`),a}function Ta(e,t,n,r){let i={};e.efforts.forEach(({alias:a,level:o},s)=>{let c=a.trim();c?c in i?r(n,`Effort alias '${c}' is used twice.`,`efforts`,s):i[c]=o:r(n,`Every effort needs an alias.`,`efforts`,s),Pe(t)&&!Ae.includes(o)&&r(n,`${e.provider} doesn't take the ${o} thinking level.`,`efforts`,s)}),e.allowEffortSelect&&Object.keys(i).length<2&&r(n,`Effort select needs at least two efforts.`,`allowEffortSelect`);let a=e.defaultEffort.trim();return!a&&Et(e)?r(n,`Pick a default effort — there is more than one.`,`defaultEffort`):a&&!(a in i)&&r(n,`Default effort '${a}' is not one of the efforts.`,`defaultEffort`),{efforts:i,defaultEffort:a}}function Ea(e,t,n,r,i){let a=Pt(e.key),o=wa(e,t,n,r),{apiId:s}=o,{efforts:c,defaultEffort:l}=Ta(e,o,a,r),u=Object.keys(c).length;Z(r,a,`maxOutputTokens`,`Max output tokens`,e.maxOutputTokens,1),e.temperature!==null&&!(Number.isFinite(e.temperature)&&e.temperature>=0)&&r(a,`Temperature must be zero or more.`,`temperature`),Da(e,n,t,a,r);let d=Oa(e,t,a,r,i);return{protocol:e.protocol,provider:e.provider,apiId:s,...e.keySlot?{keySlot:e.keySlot}:{},...e.fallbackKeySlot?{fallbackKeySlot:e.fallbackKeySlot}:{},...u?{efforts:c}:{},...l?{defaultEffort:l}:{},...e.allowEffortSelect?{allowEffortSelect:!0}:{},...e.summaries===null?{}:{summaries:e.summaries},...e.maxOutputTokens===null?{}:{maxOutputTokens:e.maxOutputTokens},...e.temperature===null?{}:{temperature:e.temperature},...e.builtInTools.length?{builtInTools:[...e.builtInTools]}:{},...Object.keys(e.options).length?{options:e.options}:{},...d?{compaction:d}:{}}}function Da(e,t,n,r,i){let a=t.find(t=>t.id===e.provider),o=a&&Ee(a,n)?.find(t=>t.id===e.protocol);for(let t of o?.options.safeParse(e.options).error?.issues??[]){let e=t.code===`unrecognized_keys`?t.keys[0]:t.path[0];i(r,t.message,typeof e==`string`?`options.${e}`:`options`)}let s=e.apiId.trim();for(let t of s?o?.refusedOptions?.(s)??[]:[])e.options[t]!==void 0&&i(r,`${s} takes no ${t}.`,`options.${t}`)}function Oa(e,t,n,r,i){let a=e.compactTiming;if(!a)return;t!==`text`&&r(n,`Only a text agent compacts its own history.`,`compactTiming`);let o=e.compactMaxTokens??null,s=e.compactAt??jt.compactAt,c=e.compactKeep??null;o===null&&r(n,`Compaction needs a budget.`,`compactMaxTokens`),Z(r,n,`compactMaxTokens`,`Budget`,o,1),s>0&&s<1||r(n,`Compaction must start between 0 and 1 of the budget.`,`compactAt`),c!==null&&(c===0||Number.isInteger(c)&&c>=1||c>0&&c<s)||r(n,`Keep a whole number of exchanges, a fraction of the budget below where compaction starts, or 0.`,`compactKeep`);let l=e.compactWith??``,u=l?i(l):void 0;return l&&!u&&r(n,`The agent that summarised is gone. Pick another, or this agent.`,`compactWith`),{maxTokens:o??0,compactAt:s,...u?{profile:u}:{},previousExchanges:c??0,timing:a,...e.compactMeter?{meter:e.compactMeter}:{}}}function ka(e,t,n){let{models:r,modelBindings:i}=e;i.length||n(`models`,`Add at least one model.`);let a=r.defaultModel.trim();return a&&!(a in t)?n(`models`,`Default model '${a}' is not one of the models.`,`defaultModel`):!a&&kt(e)&&n(`models`,`Pick a default model — there is more than one.`,`defaultModel`),r.maxSteps!==null&&!Number.isInteger(r.maxSteps)&&n(`models`,`Max steps must be a whole number.`,`maxSteps`),a}function Aa(e,t,n,r){let{models:i,modelBindings:a}=e,o={};for(let s of a){let a=Ea({...s,keySlot:s.keySlot||i.key||void 0,fallbackKeySlot:s.fallbackKeySlot||i.fallbackKey||void 0},t,e.providers,n,r),c=s.modelId.trim(),l=Pt(s.key);c?c in o?n(l,`Model id '${c}' is used twice.`,`modelId`):o[c]=a:n(l,`Model id is required.`,`modelId`)}let s=ka(e,o,n),c=i.providerHistory===`provider`||i.providerHistory===`stateless`?i.providerHistory:void 0;return{models:o,...s?{defaultModel:s}:{},...c?{providerContinuation:{history:c}}:{},...i.allowModelSelect?{allowModelSelect:!0}:{},...i.maxSteps===null?{}:{maxSteps:i.maxSteps}}}function ja(e,t){if(!e?.trim())return;let n;try{n=JSON.parse(e)}catch{return null}if(!n||typeof n!=`object`||Array.isArray(n))return null;let r=Object.entries(n);return r.every(([,e])=>t(e))?r.length?Object.fromEntries(r):void 0:null}var Ma=e=>typeof e==`string`,Na=e=>!0;function Pa(e){return ja(e,Ma)}var Fa=e=>nt(e,`system`)===void 0;function Ia(e,t){let n=ja(e,Fa);if(n===null){t(`Instructions by role must be a JSON object of text, or of lists of text and { "private": text }.`);return}if(!n)return;let r={};for(let[e,i]of Object.entries(n)){if(typeof i!=`string`){r[e]=i;continue}let n=va(i);if(!n.ok){t(`${e}: ${n.message}`);return}n.prompt!==void 0&&(r[e]=n.prompt)}return r}function La(e,t,n){let r=ja(e,t);return r===null&&n(),r??void 0}function Ra(e,t){if(!e.authType||e.authType===`none`)return;let n=e.authService?.trim()??``;n||t(`Service is required.`,`authService`);let r=X(e.authScopes),i=e.authType===`api_key`?e.authQueryParam?.trim():void 0;i&&X(e.queryParams).includes(i)&&t(`${i} is also one of the query parameters the model fills.`,`authQueryParam`);let a=i?{queryParam:i}:{...e.authHeaderName?.trim()?{headerName:e.authHeaderName.trim()}:{},...e.authHeaderPrefix===void 0?{}:{headerPrefix:e.authHeaderPrefix}};return{slot:e.authSlot?.trim()||`default`,type:e.authType,service:n,...a,onUnauthenticated:e.authUnauthenticated??`gate`,...r.length?{scopes:r}:{},...e.authClientId?.trim()?{clientId:e.authClientId.trim()}:{},...e.authRedirectUri?.trim()?{redirectUri:e.authRedirectUri.trim()}:{}}}function za(e){try{return new URL(e),!0}catch{return!1}}function Ba(e,t){e?Me(e)&&t(`${e} is a provider builtin — turn it on under the model's built-in tools.`,`toolName`):t(`Tool name is required.`,`toolName`)}function Va(e,t,n){let r=e.toolName.trim();Ba(r,t);let i=e.description.trim();i||t(`Description is required.`,`description`);let a=e.toolType===`agent`?{inputSchema:n(e.agentKey??``)??Ua,outputSchema:Wa}:Ha(e,t),o=X(e.paths);return{name:r,description:i,category:e.category.trim()||`studio`,access:e.access,permission:e.permission,loadTier:e.loadTier,paths:o.length?o:[`*`],...a}}function Ha(e,t){let n=Fe(e.inputJson,`Input`);n.ok||t(n.error,`inputJson`);let r=Fe(e.outputJson,`Output`);return r.ok||t(r.error,`outputJson`),{inputSchema:n.ok?n.schema:{},outputSchema:r.ok?r.schema:{}}}var Ua=_t(lt({type:`text`}),`input`),Wa=_t(ht,`output`);function Ga(e){let t=e.identity.profileType;if(t!==`text`&&t!==`image`&&t!==`speech`)return;let n=t!==`speech`&&Ft(e).includes(`inputs`)?oo(e.inputs,t,()=>{}):void 0;return _t(lt({type:t,...n?{inputs:n}:{}}),`input`)}function Ka(e){return(e??``).split(`
47
- `).map(e=>e.trim()).filter(Boolean)}function qa(e,t,n){let r={},i={activity:{input:t.inputSchema},activityPast:{input:t.inputSchema,output:t.outputSchema},activityFailed:{input:t.inputSchema},request:{input:t.inputSchema}};for(let t of[`activity`,`activityPast`,`activityFailed`,`request`]){let a=Ka(e[t]),[o]=a;if(o===void 0)continue;let s=a.length===1?o:a,c=Ve(s,i[t]);c?n(c,t):r[t]=s}return Object.keys(r).length?r:void 0}function Ja(e){let t=Object.entries(e??{}).find(([e,t])=>Qi(e)&&t!==`••••`)?.[0];return t?`${t} looks like a credential. Put it under Auth instead: Auth asks for it when a call runs and nothing saves it.`:void 0}function Ya(e){if(!e||!URL.canParse(e))return;let t=[...new URL(e).searchParams].find(([e,t])=>Qi(e)&&t&&t!==`••••`)?.[0];return t?`${t} in the URL looks like a credential. Put it under Auth instead, as an API key with ${t} as its query parameter: Auth asks for it when a call runs and nothing saves it.`:void 0}function Xa(e,t){let n=Pa(e.headersJson);n===null&&t(`Headers must be a JSON object of strings. Until they are, a reload brings back the headers as they started.`,`headersJson`);let r=Ja(n??void 0);r&&t(r,`headersJson`);let i=e.toolType===`mcp`?`serverUrl`:`endpoint`,a=Ya(e[i]?.trim());a&&t(a,i);let o=Ra(e,t);return{...n?{headers:n}:{},...o?{auth:o}:{}}}function Za(e,t,n,r){let i=e[t]?.trim()??``;return i?za(i)||r(`${n} must be a full URL.`,t):r(`${n} is required.`,t),i}function Qa(e,t,n){let r=Za(e,`endpoint`,`Endpoint URL`,n),i=X(e.pathParams),a=X(e.queryParams),o=e.bodyParam?.trim(),s={...i.length?{pathParams:i}:{},...a.length?{queryParams:a}:{},...o?{bodyParam:o}:{}};return{type:`http`,...t,endpoint:r,method:e.method??ze[0],...Xa(e,n),...Object.keys(s).length?{mapping:s}:{}}}function $a(e,t,n){let r=Za(e,`serverUrl`,`MCP server URL`,n),i=e.mcpToolName?.trim()??``;return i||n(`MCP tool name is required.`,`mcpToolName`),{type:`mcp`,...t,serverUrl:r,mcpToolName:i,...Xa(e,n)}}function eo(e,t,n){let r=e.answeredBy===`page`?{answeredBy:`page`}:{};if(!e.stubOutputJson?.trim())return{type:`function`,...t,...r};let i=Fe(e.stubOutputJson,`Stub output`);return i.ok||n(i.error.replace(` JSON Schema`,``),`stubOutputJson`),{type:`function`,...t,...r,...i.ok?{stubResponse:i.schema}:{}}}function to(e,t,n,r){let i=e.agentKey??``,a=i?r(i):void 0;i?a||n(`The agent this tool ran is gone. Pick another.`,`agentKey`):n(`Pick the agent this tool runs.`,`agentKey`);let o=e.maxCallsPerTurn??null;return o!==null&&!(Number.isInteger(o)&&o>=1)&&n(`Calls per turn must be a positive whole number.`,`maxCallsPerTurn`),{type:`agent`,...t,profile:a??``,...o===null?{}:{maxCallsPerTurn:o}}}var no={http:Qa,mcp:$a,function:eo,agent:to};function ro(e){return Vt.includes(e)}function io(e,t,n,r){let i=Nt(e.key);if(!ro(e.toolType)){t(i,Bt,`toolType`);return}let a=!1,o=(e,n)=>{a=!0,t(i,e,n)},s=Va(e,o,r),c=qa(e,s,o),l=no[e.toolType](e,s,o,n);return a?void 0:{...l,...c?{labels:c}:{}}}function ao(e,t,n,r,i,a){let o=[],s=new Set;for(let t of e.toolSpecs){let e=io(t,r,i,a);e&&(s.has(e.name)?r(Nt(t.key),`Tool name '${e.name}' is used twice.`,`toolName`):(s.add(e.name),o.push(e)))}let c=o.map(e=>e.name),l=t?e.tools.t2Loader.trim():``;l&&!s.has(l)&&r(`tools`,`T2 loader '${l}' must be one of the custom tools.`,`t2Loader`);let u=n&&e.tools.parallel;return{customTools:o,tools:{allow:c,...l?{t2Loader:l}:{},...u?{parallel:u}:{}}}}function oo(e,t,n){let r=t===`image`?e.attachmentsAccept.filter(e=>!Le(Ce,e)):[];if(r.length&&n(`inputs`,`An image profile takes images, video, and PDF only, not ${r.join(`, `)}.`,`attachmentsAccept`),!e.text&&!e.attachmentsAccept.length&&!e.voiceAccept.length&&n(`inputs`,`Take text, files, or voice notes: with none, the agent can be sent nothing.`,`text`),Dt(e)){let t=[[`maxFiles`,`Max files`,e.maxFiles],[`maxBytes`,`Max bytes`,e.maxBytes],[`maxTurnBytes`,`Max turn bytes`,e.maxTurnBytes]];for(let[e,r,i]of t)i===null&&n(`inputs`,`${r} is required with attachments or voice.`,e)}Z(n,`inputs`,`maxFiles`,`Max files`,e.maxFiles,1),Z(n,`inputs`,`maxBytes`,`Max bytes`,e.maxBytes,1),Z(n,`inputs`,`maxTurnBytes`,`Max turn bytes`,e.maxTurnBytes,1);let i=La(e.limitsByMimeJson,uo,()=>{n(`inputs`,`Limits by type must be a JSON object of positive whole numbers.`,`limitsByMimeJson`)}),a=co(e,n),o=so(e,n);return{...e.text?{}:{text:!1},...e.attachmentsAccept.length?{attachments:{accept:[...e.attachmentsAccept]}}:{},...e.voiceAccept.length?{voice:{accept:[...e.voiceAccept]}}:{},...e.maxFiles===null?{}:{maxFiles:e.maxFiles},...e.maxBytes===null?{}:{maxBytes:e.maxBytes},...e.maxTurnBytes===null?{}:{maxTurnBytes:e.maxTurnBytes},...i?{limitsByMime:i}:{},...a?{slots:a}:{},...o?{context:o}:{}}}function so(e,t){if(e.contextFrom.length)return e.contextMaxChars===null&&t(`inputs`,`Max characters is required with context.`,`contextMaxChars`),Z(t,`inputs`,`contextMaxChars`,`Max characters`,e.contextMaxChars,1),{from:[...e.contextFrom],maxChars:e.contextMaxChars??0}}function co(e,t){return La(e.slotsJson,fo,()=>{t(`inputs`,`Slots must be a JSON object of lists of text.`,`slotsJson`)})}function lo(e,t){let n=co(e,t),r=so(e,t);return!n&&!r?{}:{inputs:{...n?{slots:n}:{},...r?{context:r}:{}}}}var uo=e=>typeof e==`number`&&Number.isInteger(e)&&e>0,fo=e=>Array.isArray(e)&&e.length>0&&e.every(e=>typeof e==`string`&&e.trim()!==``);function po(e,t,n){let r,i=t&&e.validationEnabled;if(t&&e.mode===`structured`){let t=e.schemaId.trim();t||n(`outputs`,`Structured output needs a schema id.`,`schemaId`);let i=Fe(e.schemaJson,`Structured output`);i.ok||n(`outputs`,i.error,`schemaJson`),t&&i.ok&&(r={id:t,spec:{jsonSchema:i.schema}})}i&&Z(n,`outputs`,`maxRetries`,`Validation max retries`,e.maxRetries,0);let a=Object.fromEntries(Object.entries(e.itemRules).map(([e,t])=>[e,{onFail:t}])),o=i?{...e.maxRetries===null?{}:{maxRetries:e.maxRetries},...Object.keys(a).length?{items:a}:{}}:{},s={...e.streamMode?{mode:e.streamMode}:{},...e.streamThoughts?{}:{streamThoughts:!1}},c={...r?{structured:r.id}:{},...Object.keys(o).length?{validation:o}:{},...Object.keys(s).length?{streaming:s}:{}};return{...Object.keys(c).length?{outputs:c}:{},...r?{structured:r}:{}}}function mo(e,t){return e.resumeEnabled?(Z(t,`turnBehaviour`,`maxContinues`,`Max continues`,e.maxContinues,1),{allowContinue:[...e.allowContinue],autoContinue:[...e.autoContinue],...e.maxContinues===null?{}:{maxContinues:e.maxContinues}}):{allowContinue:[],autoContinue:[]}}function ho(e,t,n){let r=t?mo(e,n):void 0,i={...r?{resumption:r}:{},...e.allowSteering?{}:{allowSteering:!1},...e.atStepLimit===`answer`?{atStepLimit:e.atStepLimit}:{}};return Object.keys(i).length?i:void 0}function go(e,t,n,r){let i=[],a=e=>t.has(e)||t.has(`labels`),{turnBehaviour:o,guardrails:s,outputs:c}=e;if(a(`turnBehaviour`)&&Ot(e)&&i.push([`turnBehaviour`,`continueInstruction`,`continue.instruction`,o.continueInstruction.trim()]),a(`guardrails`)&&n(`identity.system`)&&i.push([`guardrails`,`canaryBindNote`,`canary.bind_note`,s.canaryBindNote.trim()]),a(`guardrails`)&&n(`guardrails.quota`)&&i.push([`guardrails`,`quotaMessage`,`quota.exhausted`,s.quotaMessage.trim()]),a(`outputs`)&&n(`outputs.validation`)&&i.push([`outputs`,`repairGuidance`,`repair.default_guidance`,c.repairGuidance.trim()]),a(`guardrails`)&&n(`guardrails.blockedReply`)&&(i.push([`guardrails`,`egressRepairGuidance`,`egress.default_repair_guidance`,s.egressRepairGuidance.trim()]),i.push([`guardrails`,`egressRefusal`,`egress.refusal`,s.egressRefusal.trim()])),t.has(`labels`))for(let[t,n]of Object.entries(e.labels))Mt[t]||i.push([`labels`,t,t,n.trim()]);let l={};for(let[e,t,n,a]of i)if(a)try{Ge({[n]:a},`Profile labels`),l[n]=a}catch(n){r(e,we(n),t)}return Object.keys(l).length?l:void 0}function _o(e,t){if(e.quotaEnabled){if(e.quotaPerDay===null)t(`guardrails`,`Quota needs turns per day.`,`quotaPerDay`);else return Z(t,`guardrails`,`quotaPerDay`,`Quota per day`,e.quotaPerDay,1),{perDay:e.quotaPerDay}}}function vo(e,t){Z(t,`guardrails`,`blockedReplyMaxRetries`,`Blocked reply max retries`,e.blockedReplyMaxRetries,0);let n={...e.blockedReplyOnBlock?{onBlock:e.blockedReplyOnBlock}:{},...e.blockedReplyMaxRetries===null?{}:{maxRetries:e.blockedReplyMaxRetries}};return Object.keys(n).length?n:void 0}function yo(e){return bo(e,()=>{})}function bo(e,t){let n=e.allowedHosts.map(e=>e.trim()),r=n.indexOf(``);r!==-1&&t(`guardrails`,`Allowed hosts cannot be blank.`,`allowedHosts`,r);let i=X(e.allowedSchemes);if(e.allowPrivateNetworks||n.length||i.length)return{...e.allowPrivateNetworks?{allowPrivateNetworks:!0}:{},...n.length?{allowedHosts:n}:{},...i.length?{allowedSchemes:i}:{}}}function xo(e,t,n){let r=t.hosts.map(e=>e.trim()),i=r.indexOf(``);i!==-1&&n(`guardrails`,`Allowed hosts cannot be blank.`,`allow.${e}.hosts`,i);let a=r.filter(Boolean),o={...a.length?{hosts:a}:{},...t.fromTools?{}:{fromTools:!1}};return Object.keys(o).length?o:void 0}function So(e,t){for(let[t,n]of e.entries()){let e=`Pattern ${t+1}`;if(!n.name.trim())return`${e} needs a name.`;if(n.kind===`words`){if(!X(n.words).length)return`${e} needs a word to match.`}else if(!n.pattern)return`${e} needs a regular expression.`}let n=Ue(``,t);if(n===void 0)return;let r=/^\.patterns\[(\d+)\](?:\.(\w+))?:? (.*)$/s.exec(n);if(!r)return n.replace(/^\.patterns/,`This`);let[,i,a,o]=r;return`Pattern ${Number(i)+1}${a?`, ${a}`:``}: ${o}`}function Co(e,t,n){let r=e.map(e=>{let t=e.name.trim();if(e.kind===`words`)return{name:t,words:X(e.words)};let n=e.flags.trim();return{name:t,pattern:e.pattern,...n?{flags:n}:{}}}),i=So(e,r);return i!==void 0&&n(`guardrails`,i,t),r}function wo(e,t,n){if(!t||!qe[e].patterns)return{};let r=To(t.hint,`sources.${e}.hint`,n),i=Co(t.patterns,`sources.${e}.patterns`,n);return{...t.theorem?{}:{theorem:!1},...i.length?{patterns:i}:{},...i.length&&r?{hint:r}:{}}}function To(e,t,n){let r=e.trim();if(!r)return;let i=Ye(`The retry hint`,r);return i!==void 0&&n(`guardrails`,`${i}.`,t),r}function Eo(e,t){if(!e)return`Give this detector a key, such as acme.codenames.`;let n={label:e,action:`flag`,find:Oo};return Xe(`Detect`,{[e]:n},t)===void 0?void 0:`A key is a namespace, a dot, and a name, in lower case letters, digits and _, such as acme.codenames.`}function Do(e,t,n){let r={};for(let[i,a]of e.entries()){let e=a.key.trim();if(Object.hasOwn(r,e)){n(`guardrails`,`Detector ${e} is listed twice.`,`own`,i);continue}let o=t.filter(e=>a.at[e]!==`ignore`),s=To(a.hint,`own.${i}.hint`,n),c=Co(a.patterns,`own.${i}.patterns`,n),l=a.label.trim(),u=Eo(e,t);u!==void 0&&n(`guardrails`,u,`own`,i),l||n(`guardrails`,`Give this detector a name.`,`own.${i}.label`),o.length||n(`guardrails`,`Pick what a match does. It is ignored now.`,`own.${i}.at`),u===void 0&&l&&o.length&&(r[e]={label:l,at:Object.fromEntries(o.map(e=>[e,a.at[e]])),patterns:c,...s?{hint:s}:{}})}return r}var Oo=()=>[];function ko(e){return e===void 0||typeof e==`string`?e:Object.fromEntries(Object.entries(e).map(([e,t])=>{if(typeof t==`string`||t.patterns===void 0)return[e,t];let{patterns:n,...r}=t;if(e.includes(`.`))return[e,{...r,find:Oo}];let{hint:i,...a}=r;return[e,a]}))}function Ao(e){let{guardrails:t}=e;return!t||!(`detect`in t)||t.detect===void 0?e:{...e,guardrails:{...t,detect:ko(t.detect)}}}function jo(e,t,n){let{detect:r}=e,i={};for(let a of Ze){let o=t.filter(e=>r[a][e]!==Je[a][e]),s=t.some(e=>r[a][e]!==`ignore`)?Mo(a,e,n):void 0,c=wo(a,e.sources[a],n);(o.length||s||Object.keys(c).length)&&(i[a]={...o.length?{at:Object.fromEntries(o.map(e=>[e,r[a][e]]))}:{},...c,...s?{allow:s}:{}})}Object.assign(i,Do(e.own,t,n));let a=Xe(`Detect`,ko(i),t);return a!==void 0&&n(`guardrails`,a,`detect`),Object.keys(i).length?i:void 0}function Mo(e,t,n){if(No(e))return xo(e,t.allow[e],n);if(qe[e].allow!==`names`)return;let r=t.innocentNames.map(e=>e.trim()),i=r.indexOf(``);i!==-1&&n(`guardrails`,`Allowed names cannot be blank.`,`innocentNames`,i);let a=r.filter(Boolean);return a.length?{names:a}:void 0}function No(e){return qe[e].allow===`urls`}function Po(e){let{taintAfterRemoteRead:t,taintRemoteDestination:n}=e;if(t||n)return{...t?{afterRemoteRead:t}:{},...n?{remoteDestination:n}:{}}}function Fo(e,t,n=Ke){let r={detect:jo(e,n,t),quota:_o(e,t),blockedReply:vo(e,t),network:bo(e,t),taint:Po(e)},i=Object.fromEntries(Object.entries(r).filter(([,e])=>e!==void 0));return Object.keys(i).length?i:void 0}function Io(e,t){let n=Lt({}),{writeTo:r}=e,{sampleRate:i}=e;Number.isFinite(i)&&i>=0&&i<=1||t(`observability`,`Sample rate must be between 0 and 1.`,`sampleRate`),e.retainForDays!==null&&!Number.isFinite(e.retainForDays)&&t(`observability`,`Retain for days must be a number.`,`retainForDays`),e.rotateAfterMiB!==null&&!(Number.isFinite(e.rotateAfterMiB)&&e.rotateAfterMiB>0)&&t(`observability`,`Rotate after MiB must be more than zero.`,`rotateAfterMiB`);let a=La(e.resourceJson,Na,()=>{t(`observability`,`Resource must be a JSON object.`,`resourceJson`)}),o=Object.fromEntries(Object.entries(e.include).filter(([e,t])=>t!==n.include[e])),s=Object.fromEntries(Object.entries(e.scrub).filter(([e,t])=>t!==n.scrub[e])),c={writeTo:r,...i===n.sampleRate?{}:{sampleRate:i},...Object.keys(o).length?{include:o}:{},...Object.keys(s).length?{scrub:s}:{},...e.retainForDays===null?{}:{retainForDays:e.retainForDays},...e.rotateAfterMiB===null?{}:{rotateAfterMiB:e.rotateAfterMiB},...a?{resource:a}:{}};return Object.keys(c).length?c:void 0}var Lo={png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,webp:`image/webp`,gif:`image/gif`};function Ro(e){if(!URL.canParse(e))return;let t=new URL(e);return t.protocol!==`https:`&&t.protocol!==`http:`?void 0:Lo[t.pathname.split(`.`).pop()?.toLowerCase()??``]}function zo(e,t){return e.flatMap((e,n)=>{if(`data`in e)return e.mimeType.startsWith(`image/`)&&e.data?[{mimeType:e.mimeType,data:e.data,name:e.name}]:(t(`image`,`${e.name||`A reference`} is not an image.`,`references`,n),[]);let r=e.uri.trim(),i=Ro(r);return i?[{mimeType:i,uri:r,...e.name?{name:e.name}:{}}]:(t(`image`,r?`Link to a .png, .jpg, .webp or .gif image over http(s).`:`Add a link or remove the reference.`,`references`,n),[])})}function Bo(e,t){Z(t,`image`,`n`,`Images per request`,e.n,1),Z(t,`image`,`seed`,`Seed`,e.seed,0),Z(t,`image`,`outputCompression`,`Compression`,e.outputCompression,0),e.outputCompression!==null&&e.outputCompression>100&&t(`image`,`Compression goes from 0 to 100.`,`outputCompression`);let n=zo(e.references,t);return{...e.aspectRatio.trim()?{aspectRatio:e.aspectRatio.trim()}:{},...e.resolution.trim()?{resolution:e.resolution.trim()}:{},...e.mimeType.trim()?{mimeType:e.mimeType.trim()}:{},...e.quality.trim()?{quality:e.quality.trim()}:{},...e.background.trim()?{background:e.background.trim()}:{},...e.n===null?{}:{n:e.n},...e.seed===null?{}:{seed:e.seed},...e.outputCompression===null?{}:{outputCompression:e.outputCompression},...e.includeText?{includeText:!0}:{},...n.length?{references:n}:{}}}function Vo(e,t,n){let{format:r}=e;if(r){let e=t.modelBindings.find(e=>Pe(Ie(t.providers,`speech`,e))&&!je.includes(r));e&&n(`speech`,`Google doesn't make ${r}; ${e.modelId} is on ${e.provider}.`,`format`)}let i=t.modelBindings.find(e=>Pe(Ie(t.providers,`speech`,e)));i&&!e.voice.trim()&&n(`speech`,`Gemini needs a voice to speak; ${i.modelId} is on ${i.provider}.`,`voice`);let{speed:a}=e;return{...e.voice.trim()?{voice:e.voice.trim()}:{},...e.style.trim()?{style:e.style.trim()}:{},...a===null?{}:{speed:a},...r?{format:r}:{}}}function Ho(e,t){Z(t,`live`,`resumedAfterMs`,`Away for`,e.resumedAfterMs,0);let n=e.resumedPrompt.trim();if(n&&!e.sessionResumption&&t(`live`,`A resume prompt needs Resumption on.`,`resumedPrompt`),!n)e.resumedAfterMs!==null&&t(`live`,`Away for needs a resume prompt.`,`resumedAfterMs`);else return{prompt:n,...e.resumedAfterMs===null?{}:{afterMs:e.resumedAfterMs}}}function Uo(e,t,n){!e.ingressAudio&&!e.ingressVideo&&!e.ingressText&&t(`live`,`Turn on at least one ingress channel.`),Z(t,`live`,`vadPrefixPaddingMs`,`VAD prefix padding`,e.vadPrefixPaddingMs,0),Z(t,`live`,`vadSilenceDurationMs`,`VAD silence duration`,e.vadSilenceDurationMs,0),e.contextCompression&&Wo(e,t,n.mode===`demo`?n.keys.liveInputTokens:void 0);let r=Ho(e,t),i={audio:e.ingressAudio,video:e.ingressVideo,text:e.ingressText},a=Object.fromEntries(Object.entries(i).filter(([e,t])=>t!==Rt(e))),o={...e.vadActivityHandling?{activityHandling:e.vadActivityHandling}:{},...e.vadStartSensitivity?{startSensitivity:e.vadStartSensitivity}:{},...e.vadEndSensitivity?{endSensitivity:e.vadEndSensitivity}:{},...e.vadPrefixPaddingMs===null?{}:{prefixPaddingMs:e.vadPrefixPaddingMs},...e.vadSilenceDurationMs===null?{}:{silenceDurationMs:e.vadSilenceDurationMs}},s={...e.transcriptionInput?{input:!0}:{},...e.transcriptionOutput?{output:!0}:{}};return{...Object.keys(a).length?{ingress:a}:{},...e.voice.trim()?{voice:e.voice.trim()}:{},...Object.keys(o).length?{vad:o}:{},...e.sessionResumption?{sessionResumption:!0}:{},...e.greeting.trim()?{greeting:e.greeting.trim()}:{},...r?{resumed:r}:{},...e.contextCompression?{contextCompression:Go(e)}:{},...Object.keys(s).length?{transcription:s}:{}}}function Wo(e,t,n){Z(t,`live`,`compressionTriggerTokens`,`Compression trigger`,e.compressionTriggerTokens,1),Z(t,`live`,`compressionTargetTokens`,`Compression target`,e.compressionTargetTokens,1);let r=e.compressionTriggerTokens,i=e.compressionTargetTokens,a=n?.toLocaleString(`en-US`);n!==void 0&&r!==null&&r>n&&t(`live`,`Compression trigger can't exceed the ${a} input tokens a session holds on these keys.`,`compressionTriggerTokens`),i!==null&&(r!==null&&i>=r||n!==void 0&&r===null&&i>=n)&&t(`live`,r===null?`Compression target must be below the ${a} input tokens a session holds on these keys.`:`Compression target must be below the trigger.`,`compressionTargetTokens`)}function Go(e){let t=e.compressionTriggerTokens,n=e.compressionTargetTokens;return{...t===null?{}:{triggerTokens:t},slidingWindow:n===null?{}:{targetTokens:n}}}function Ko(e,t){let[n,...r]=t,{[n]:i,...a}=e;return!r.length||typeof i!=`object`||!i?a:{...a,[n]:Ko(i,r)}}function qo(e){let t=e;for(let{path:n}of V(e))t=Ko(t,n.split(`.`));return t}function Jo(e,t){let n=Object.create(null);return e.questions.length||t(`decision`,`Add at least one question.`,`questions`),e.questions.forEach((e,r)=>{let i=e=>t(`decision`,e,`questions`,r),a=e.id.trim(),o=e.instructions.trim();a?Object.hasOwn(n,a)&&i(`Question id '${a}' is used twice.`):i(`Each question needs an id.`),o||i(`Question '${a||r+1}' needs instructions.`);let s=e.criteria.map(e=>({label:e.label.trim(),text:e.text.trim()}));if(!a||!o)return;if(e.type===`box`){let t=e.image?.trim();n[a]={type:`box`,instructions:o,...t?{image:t}:{}};return}if(e.type===`score`){(s.length<2||s.some(e=>!e.text))&&i(`Score '${a}' needs at least two levels, each described.`),n[a]={type:`score`,instructions:o,criteria:s.map(e=>e.text)};return}let c=Object.create(null);for(let e of s)e.label?Object.hasOwn(c,e.label)?i(`Option '${e.label}' of '${a}' is used twice.`):c[e.label]=e.text||e.label:i(`Every option of '${a}' needs a label.`);e.type===`choice`?(s.length<2&&i(`Choice '${a}' needs at least two options.`),n[a]={type:`choice`,instructions:o,criteria:c}):n[a]={type:`noul`,instructions:o,...s.length?{criteria:c}:{}}}),n}var Yo=/^[a-z0-9_]+$/,Xo=[`image/png`,`image/jpeg`];function Zo(e,t){let n=Object.create(null);return e.images.forEach((e,r)=>{let i=e=>t(`decision`,e,`images`,r),a=e.name.trim(),o=`<${a}>`;Yo.test(a)?Object.hasOwn(n,o)?i(`Image ${o} is used twice.`):!Xo.includes(e.mimeType)||!e.data?i(`${o} is not a PNG or JPEG.`):n[o]={mimeType:e.mimeType,data:e.data}:i(`Name an image with lowercase letters, digits, and _.`)}),e.questions.forEach((e,r)=>{let i=[...e.instructions.matchAll(/<[a-z0-9_]+>/g)].map(([e])=>e),a=e.type===`box`?e.image?.trim():void 0;a?.startsWith(`<`)&&i.push(a);for(let e of new Set(i))Object.hasOwn(n,e)||t(`decision`,`No image is named ${e}.`,`questions`,r)}),n}function Qo(e,t,n){let r=t.has(`observability`)?Io(e.observability,n):void 0,i=go(e,t,t=>At(e,t),n);return{...r?{observability:r}:{},...i?{labels:i}:{}}}function $o(e,t){let{decision:n}=e,r=n.contract.trim();return r||t(`decision`,`Contract is required.`,`contract`),r}function es(e,t,n,r){let i=n.decision,{decision:a,identity:o}=e,s=(e,t)=>e.trim().length>t;s(a.contract,i.idChars)&&r(`decision`,`Contract is limited to ${i.idChars} characters on these keys.`,`contract`),s(o.agentId,i.idChars)&&r(`identity`,`Profile id is limited to ${i.idChars} characters on these keys.`,`agentId`),s(o.handle,i.nameChars)&&r(`identity`,`Handle is limited to ${i.nameChars} characters on these keys.`,`handle`);let c=e.modelBindings[0];if(c){let e=Pt(c.key);c.timeoutMs!==null&&c.timeoutMs>i.timeoutMs&&r(e,`Timeout is limited to ${i.timeoutMs} ms on these keys.`,`timeoutMs`),s(c.modelId,i.nameChars)&&r(e,`Model id is limited to ${i.nameChars} characters on these keys.`,`modelId`),s(c.apiId,i.idChars)&&r(e,`API model is limited to ${i.idChars} characters on these keys.`,`apiId`)}a.maxStateBytes!==null&&a.maxStateBytes>i.stateBytes&&r(`decision`,`These keys take at most ${i.stateBytes} bytes of state.`,`maxStateBytes`),a.questions.length>i.questions&&r(`decision`,`These keys ask at most ${i.questions} questions.`,`questions`),a.images.length>i.images&&r(`decision`,`These keys send at most ${i.images} images.`,`images`),a.images.forEach((e,t)=>{Math.floor(e.data.length*3/4)>i.imageBytes&&r(`decision`,`Each image is limited to ${i.imageBytes} bytes on these keys.`,`images`,t)}),a.questions.forEach((a,o)=>{let l=e=>r(`decision`,e,`questions`,o);s(a.id,i.nameChars)&&l(`Question ids are limited to ${i.nameChars} characters on these keys.`),a.type===`box`&&i.images===0&&l(`These keys take no images, so a Box question has nothing to read.`),s(a.instructions,i.instructionsChars)&&l(`Instructions are limited to ${i.instructionsChars} characters on these keys.`),a.criteria.length>i.criteria&&l(`A question has at most ${i.criteria} options or levels on these keys.`),a.criteria.some(e=>s(e.text,i.criterionChars))&&l(`Each option or level is limited to ${i.criterionChars} characters on these keys.`),a.criteria.some(e=>s(e.label,i.nameChars))&&l(`Option labels are limited to ${i.nameChars} characters on these keys.`);let u=t[a.id.trim()],d=c&&u&&n.questionViolation(Ie(e.providers,`decision`,c),u);d&&l(d)})}function ts(e,t,n){let{decision:r}=e,i=new Set(Ft(e)),a=$o(e,t);e.modelBindings.length!==1&&t(`models`,`A decision needs exactly one model binding.`);let o=e.modelBindings[0],s=o?Pt(o.key):`models`;o&&(wa(o,`decision`,e.providers,t),Da(o,e.providers,`decision`,s,t),o.modelId.trim()||t(s,`Model id is required.`,`modelId`),Z(t,s,`timeoutMs`,`Timeout`,o.timeoutMs,1)),Z(t,`decision`,`maxStateBytes`,`Max state`,r.maxStateBytes,1);let c=Jo(r,t),l=Zo(r,t);return n.mode===`demo`&&es(e,c,n.keys,t),{profile:{type:`decision`,id:e.identity.agentId.trim(),identity:{handle:e.identity.handle.trim()},models:o?{[o.modelId.trim()]:{protocol:o.protocol,provider:o.provider,apiId:o.apiId.trim(),...Object.keys(o.options).length?{options:o.options}:{},...o.keySlot||e.models.key?{keySlot:o.keySlot||e.models.key}:{},...o.fallbackKeySlot?{fallbackKeySlot:o.fallbackKeySlot}:{},...o.timeoutMs===null?{}:{timeoutMs:o.timeoutMs}}}:{},inputs:{state:`json`,...r.maxStateBytes===null?{}:{maxStateBytes:r.maxStateBytes}},decision:{contract:a},...Qo(e,i,t)},customTools:[],questions:c,...Object.keys(l).length?{images:{...l}}:{}}}function ns(e,t,n,r){let i=new Set(Ft(e)),{customTools:a,tools:o}=ao(e,!1,!1,t,n,r);a.length||t(`tools`,`Add at least one tool: a host runs only its tools.`);let s=i.has(`guardrails`)?Fo(e.guardrails,t,Qe):void 0;return{profile:qo({type:`host`,id:e.identity.agentId.trim(),tools:o,...s?{guardrails:s}:{},...Qo(e,i,t)}),customTools:a}}function rs(e,t,n,r,i,a){let o=new Set(Ft(e)),s=t=>At(e,t),c=typeof e.identity.system==`string`?va(e.identity.system):{ok:!1,message:`The system prompt must be text.`};c.ok||n(`identity`,c.message,`system`);let l=c.ok?c.prompt:void 0,u=Ia(e.identity.systemByRoleJson,e=>{n(`identity`,e,`systemByRoleJson`)}),d=Aa(e,t,n,i),{outputs:f,structured:p}=o.has(`outputs`)?po(e.outputs,s(`outputs.structured`),n):{},{customTools:m,tools:h}=o.has(`tools`)?ao(e,s(`tools.t2Loader`),s(`tools.parallel`),n,i,a):{customTools:[]},g=o.has(`turnBehaviour`)?ho(e.turnBehaviour,s(`turnBehaviour.resumption`),n):void 0,ee=o.has(`guardrails`)?Fo(e.guardrails,n):void 0;return{profile:qo({type:t,id:e.identity.agentId.trim(),identity:{handle:e.identity.handle.trim(),...l?{system:l}:{},...u?{systemByRole:u}:{}},...d,...o.has(`image`)?{image:Bo(e.image,n)}:{},...o.has(`speech`)?{speech:Vo(e.speech,e,n)}:{},...o.has(`live`)?{live:Uo(e.live,n,r)}:{},...h?{tools:h}:{},...o.has(`inputs`)?t===`live`?lo(e.inputs,n):{inputs:oo(e.inputs,t,n)}:{},...f?{outputs:f}:{},...g?{turnBehaviour:g}:{},...ee?{guardrails:ee}:{},...Qo(e,o,n)}),customTools:m,...p?{structured:p}:{}}}function is(e,t,n=ya,r=ba){let i=[],a=(e,t,n,r)=>{i.push({nodeId:e,message:t,...n===void 0?{}:{field:n},...r===void 0?{}:{index:r}})};Ca(e,a),new Set([e.models.key,e.models.fallbackKey,...e.modelBindings.flatMap(t=>{let{keySlot:n,fallbackKeySlot:r}=It(e,t);return[n,r]})].filter(Boolean)).size>32&&a(`models`,`The studio supports up to 32 key slots.`,`key`);let o=e.identity.profileType;if(!o)return a(`identity`,`Pick a profile type.`,`profileType`),{ok:!1,issues:i};if(o!==`host`)for(let n of e.modelBindings){if(!n.apiId.trim())continue;let r=Be({...Ie(e.providers,o,n),builtInTools:n.builtInTools},t);r&&a(Pt(n.key),r.message,r.field)}let s=o===`decision`?ts(e,a,t):o===`host`?ns(e,a,n,r):rs(e,o,a,t,n,r);if(i.length)return{ok:!1,issues:i};try{U(Ao(s.profile))}catch(e){if(!(e instanceof H))throw e;return{ok:!1,issues:[{nodeId:`identity`,message:e.message}]}}return{ok:!0,agentId:s.profile.id,providers:e.providers,...s}}var as=`theoremjs.studio.run`,os=`${as}.`,ss=`${as}.index`;function cs(e){return`${os}${e}`}function ls(){return typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`run-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function us(e=typeof window<`u`?globalThis.location:{href:``}){let t=typeof e==`string`?e:e.href;if(!t)return null;try{let e=new URL(t,`http://localhost`).searchParams.get(`run`)?.trim();return e&&e.length>0?e:null}catch{return null}}function ds(e,t,n,r=8){let i=e.filter(e=>e.id!==t),a=[{id:t,savedAt:n},...i];return a.length<=r?{entries:a,prunedIds:[]}:{entries:a.slice(0,r),prunedIds:a.slice(r).map(e=>e.id)}}function fs(e){if(e!==void 0)return e;if(typeof globalThis>`u`||!(`localStorage`in globalThis))return null;try{return globalThis.localStorage}catch{return null}}function ps(e){let t=e.getItem(ss);if(!t)return[];try{let e=JSON.parse(t);return Array.isArray(e.entries)?e.entries:[]}catch{return[]}}function ms(e,t){e.setItem(ss,JSON.stringify({entries:t}))}function hs(e,t,n){let r=fs(n);if(!r||!t)return;r.removeItem(as);let i={version:1,...e,runId:t};r.setItem(cs(t),JSON.stringify(i));let{entries:a,prunedIds:o}=ds(ps(r),t,Date.now(),8);for(let e of o)r.removeItem(cs(e));ms(r,a)}function gs(e,t){let n=fs(t);if(!n||!e)return null;let r=n.getItem(cs(e));if(!r)return null;try{let e=JSON.parse(r);return typeof e!=`object`||!e||Array.isArray(e)?null:e}catch{return null}}function _s(e){let t=fs(e);if(!t)return[];let n=[];for(let e=0;e<t.length;e++){let r=t.key(e);r?.startsWith(os)&&r!==ss&&n.push(r.slice(os.length))}return n}function vs(e,t){let n=fs(t);n&&e&&(n.removeItem(cs(e)),ms(n,ps(n).filter(t=>t.id!==e)))}var ys=M({profile:M({id:L()}),customTools:F(M({name:L()}))}),bs=ys.extend({agentId:L(),dependencies:F(ys).optional()});function xs(e,t,n){hs({...e},t,n)}function Ss(e,t){let n=gs(e,t);return!n||!bs.safeParse(n).success?null:n}function Cs(e,t){vs(e,t)}function ws(e){let t=new Map,n=ot(e=>t.get(e));for(let r of e.dependencies??[]){yt(n,r.customTools);let e=U(Ao(r.profile));t.set(e.id,e)}return yt(n,e.customTools),{profile:U(Ao(e.profile)),tools:n}}function Ts(e){let{profile:t,tools:n}=ws(e);return rt(t,n)}function Es(e){try{return ws(e),!0}catch(e){if(e instanceof H)return!1;throw e}}function Ds(e){for(let t of _s(e)){let n=Ss(t,e);(!n||!Es(n))&&Cs(t,e)}}var Os=R({type:P(`trace`),record:zt}),ks=R({type:P(`steer_inbox`),inbox:L().min(1)}),As={...dt,trace:Os,steer_inbox:ks},js={...B,trace:Os};function Ms(e,t,n){return r=>{r.type===`trace`?t.push(r.record):r.type===`steer_inbox`?n(r.inbox):e(r)}}function Ns(){}function Ps(e){return t=>{if(t.type===`conversation`)throw new H(`internal`,`a host call streamed a conversation line`);e(t)}}function Fs(e,t={}){return{describe:()=>Promise.resolve(ia(U(e.profile))),embed:(n,r,i)=>ca(`/api/studio/embedding/embed`,{profile:e.profile,input:n,...r},i,t),traces:t.traces??Y()}}function Is(e,t={}){let n={profile:e.profile,customTools:e.customTools,structured:e.structured,dependencies:e.dependencies},r=t.traces??Y(),i=new Map;return{pageResult:(e,n)=>tt(`/api/studio/page-result`,e,{...t,signal:n}),describe:()=>Promise.resolve(Ts(e)),turn:async(e,a,o)=>{try{await $e(`/api/studio/turn`,{...n,...e},As,Ms(a,r,t=>{e.turnId&&i.set(e.turnId,t)}),{...t,signal:o})}finally{e.turnId&&i.delete(e.turnId)}},invoke:(e,i,a)=>$e(`/api/studio/invoke`,{...n,...e},As,Ms(i,r,Ns),{...t,signal:a}),conversation:(e,r)=>St(`/api/studio/conversation`,{...n,...e},{...t,signal:r}),rewind:(e,r)=>st(`/api/studio/rewind`,{...n,...e},{...t,signal:r}),async steer({turnId:e,id:n,inject:r}){let a=i.get(e);if(!a)throw new H(`request`,`steer: the turn has not opened its inbox`,{copy:{key:`session.turn_ended`}});await tt(`/api/studio/turn/steer`,{turnId:a,id:n,inject:r},t)},async stop({turnId:e}){let n=i.get(e);if(!n)throw new H(`request`,`stop: the turn has not opened its inbox`,{copy:{key:`session.turn_ended`}});await tt(`/api/studio/turn/stop`,{turnId:n},t)},traces:r}}function Ls(e,t,n={}){let{profile:r,customTools:i,structured:a,dependencies:o}=e;return wt(`/api/studio/conversation/start`,{profile:r,customTools:i,structured:a,dependencies:o,blocks:t},n)}function Rs(e,t={}){let n=e.questions??{};return{describe:()=>Promise.resolve(xt(U(e.profile),n,e.images)),decide:(r,i,a)=>{let o=pt(e.images,a);return ut(`/api/studio/decide`,{profile:e.profile,questions:n,state:r,...o?{assets:o}:{}},i,t)},traces:t.traces??Y()}}function zs(e,t={}){let n={profile:e.profile,customTools:e.customTools,dependencies:e.dependencies},r=t.traces??Y(),i=[];return{pageResult:(e,n)=>tt(`/api/studio/page-result`,e,{...t,signal:n}),describe:()=>Promise.resolve(fa(U(e.profile),t=>e.customTools.find(e=>e.name===t))),call:(e,a,o)=>$e(`/api/studio/call`,{...n,...e,sessionPermissions:i},js,Ms(Ps(a),r,Ns),{...t,signal:o}),invoke:(e,a,o)=>(i=e.replay?.sessionPermissions??i,$e(`/api/studio/invoke`,{...n,...e},js,Ms(Ps(a),r,Ns),{...t,signal:o})),traces:r}}var Bs={name:`theorem`,__built:!0,tokens:{"--font-size-4xs":`0.375rem`,"--font-size-3xs":`0.4375rem`,"--font-size-2xs":`0.5rem`,"--font-size-xs":`0.625rem`,"--font-size-sm":`0.75rem`,"--font-size-base":`0.875rem`,"--font-size-lg":`1.0625rem`,"--font-size-xl":`1.25rem`,"--font-size-2xl":`1.5rem`,"--font-size-3xl":`1.8125rem`,"--font-size-4xl":`2.1875rem`,"--font-size-5xl":`2.625rem`,"--text-heading-1-size":`var(--font-size-2xl)`,"--text-heading-1-weight":`var(--font-weight-semibold)`,"--text-heading-1-leading":`1.3333`,"--text-heading-2-size":`var(--font-size-xl)`,"--text-heading-2-weight":`var(--font-weight-semibold)`,"--text-heading-2-leading":`1.4`,"--text-heading-3-size":`var(--font-size-lg)`,"--text-heading-3-weight":`var(--font-weight-bold)`,"--text-heading-3-leading":`1.4118`,"--text-heading-4-size":`var(--font-size-base)`,"--text-heading-4-weight":`var(--font-weight-bold)`,"--text-heading-4-leading":`1.4286`,"--text-heading-5-size":`var(--font-size-sm)`,"--text-heading-5-weight":`var(--font-weight-semibold)`,"--text-heading-5-leading":`1.6667`,"--text-heading-6-size":`var(--font-size-xs)`,"--text-heading-6-weight":`var(--font-weight-semibold)`,"--text-heading-6-leading":`1.6`,"--text-body-size":`var(--font-size-base)`,"--text-body-weight":`var(--font-weight-normal)`,"--text-body-leading":`1.4286`,"--text-large-size":`var(--font-size-lg)`,"--text-large-weight":`var(--font-weight-semibold)`,"--text-large-leading":`1.4118`,"--text-label-size":`var(--font-size-base)`,"--text-label-weight":`var(--font-weight-medium)`,"--text-label-leading":`1.4286`,"--text-code-size":`var(--font-size-base)`,"--text-code-weight":`var(--font-weight-normal)`,"--text-code-leading":`1.4286`,"--text-supporting-size":`var(--font-size-sm)`,"--text-supporting-weight":`var(--font-weight-normal)`,"--text-supporting-leading":`1.6667`,"--text-display-1-size":`var(--font-size-5xl)`,"--text-display-1-weight":`var(--font-weight-normal)`,"--text-display-1-leading":`1.2381`,"--text-display-2-size":`var(--font-size-4xl)`,"--text-display-2-weight":`var(--font-weight-normal)`,"--text-display-2-leading":`1.2571`,"--text-display-3-size":`var(--font-size-3xl)`,"--text-display-3-weight":`var(--font-weight-normal)`,"--text-display-3-leading":`1.3793`,"--duration-fast-min":`95ms`,"--duration-fast":`125ms`,"--duration-fast-max":`165ms`,"--duration-medium-min":`225ms`,"--duration-medium":`300ms`,"--duration-medium-max":`400ms`,"--duration-slow-min":`525ms`,"--duration-slow":`700ms`,"--duration-slow-max":`935ms`,"--font-family-body":`Figtree, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif`,"--font-family-heading":`Figtree, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif`,"--font-family-code":`ui-monospace, "SF Mono", Monaco, Consolas, "Liberation Mono", "Courier New", monospace`,"--color-syntax-keyword":`light-dark(#6b187c, #efa8ff)`,"--color-syntax-string":`light-dark(#0b5615, #a4d6a3)`,"--color-syntax-comment":`light-dark(#6a6a6a, #9e9e9e)`,"--color-syntax-number":`light-dark(#733100, #ffb37e)`,"--color-syntax-function":`light-dark(#00458c, #a1caff)`,"--color-syntax-type":`light-dark(#6b187c, #efa8ff)`,"--color-syntax-variable":`light-dark(#111111, #e2e2e2)`,"--color-syntax-operator":`light-dark(#6a6a6a, #9e9e9e)`,"--color-syntax-constant":`light-dark(#733100, #ffb37e)`,"--color-syntax-tag":`light-dark(#8a0011, #ffaea7)`,"--color-syntax-attribute":`light-dark(#584400, #eec448)`,"--color-syntax-property":`light-dark(#005348, #90d7c8)`,"--color-syntax-punctuation":`light-dark(#6a6a6a, #9e9e9e)`,"--color-syntax-background":`light-dark(#ffffff, #111111)`,"--color-syntax-added":`color-mix(in srgb, var(--color-success-muted) 25%, transparent)`,"--color-syntax-removed":`color-mix(in srgb, var(--color-error-muted) 25%, transparent)`,"--color-syntax-diff-header":`transparent`,"--color-syntax-added-marker":`var(--color-syntax-punctuation)`,"--color-syntax-removed-marker":`var(--color-syntax-punctuation)`,"--color-background-surface":`light-dark(#ffffff, #262626)`,"--color-background-body":`light-dark(#f1f1f1, #1b1b1b)`,"--color-background-card":`light-dark(#ffffff, #1b1b1b)`,"--color-background-popover":`light-dark(#ffffff, #1b1b1b)`,"--color-background-muted":`light-dark(#f1f1f1, #1b1b1b)`,"--color-accent":`light-dark(#1b1b1b, #f1f1f1)`,"--color-accent-muted":`light-dark(#f1f1f1, #262626)`,"--color-neutral":`light-dark(#0000000F, #ffffff1A)`,"--color-overlay":`light-dark(#00000080, #000000CC)`,"--color-overlay-hover":`light-dark(#0000000D, #ffffff0D)`,"--color-overlay-pressed":`light-dark(#0000001A, #ffffff1A)`,"--color-text-primary":`light-dark(#000000, #ffffff)`,"--color-text-secondary":`light-dark(#474747, #9e9e9e)`,"--color-text-disabled":`light-dark(#919191, #525252)`,"--color-text-accent":`light-dark(#1b1b1b, #f1f1f1)`,"--color-on-dark":`#ffffff`,"--color-on-light":`#111111`,"--color-on-accent":`light-dark(#ffffff, #111111)`,"--color-on-success":`light-dark(#ffffff, #111111)`,"--color-on-error":`light-dark(#ffffff, #111111)`,"--color-on-warning":`#111111`,"--color-icon-accent":`light-dark(#1b1b1b, #f1f1f1)`,"--color-icon-primary":`light-dark(#000000, #ffffff)`,"--color-icon-secondary":`light-dark(#6a6a6a, #9e9e9e)`,"--color-icon-disabled":`light-dark(#919191, #525252)`,"--color-success":`light-dark(#00490b, #a4d6a3)`,"--color-error":`light-dark(#76000c, #ffc4be)`,"--color-warning":`light-dark(#4b3900, #f8d36a)`,"--color-success-muted":`light-dark(#bce0bb, #90ca903D)`,"--color-error-muted":`light-dark(#ffc4be, #ff98903D)`,"--color-warning-muted":`light-dark(#fae19e, #e2b6233D)`,"--color-border":`light-dark(#00000014, #ffffff1A)`,"--color-border-emphasized":`light-dark(#d4d4d4, #525252)`,"--color-skeleton":`light-dark(#f1f1f1, #525252)`,"--color-shadow":`light-dark(#0000001A, #0000004D)`,"--color-tint-hover":`light-dark(black, white)`,"--color-background-red":`light-dark(#ffc4be, #5b2b28)`,"--color-border-red":`light-dark(#ffaea7, #fa6762)`,"--color-icon-red":`light-dark(#76000c, #ff9890)`,"--color-text-red":`light-dark(#76000c, #ffaea7)`,"--color-background-orange":`light-dark(#ffc7a1, #503424)`,"--color-border-orange":`light-dark(#ffc7a1, #df843f)`,"--color-icon-orange":`light-dark(#622700, #ff9e55)`,"--color-text-orange":`light-dark(#622700, #ffb37e)`,"--color-background-yellow":`light-dark(#fae19e, #453a1c)`,"--color-border-yellow":`light-dark(#e3c36c, #c29900)`,"--color-icon-yellow":`light-dark(#4b3900, #e2b623)`,"--color-text-yellow":`light-dark(#4b3900, #eec448)`,"--color-background-green":`light-dark(#bce0bb, #2b422b)`,"--color-border-green":`light-dark(#aad4a9, #6ab26b)`,"--color-icon-green":`light-dark(#00490b, #90ca90)`,"--color-text-green":`light-dark(#00490b, #90ca90)`,"--color-background-teal":`light-dark(#a9e2d6, #28413c)`,"--color-border-teal":`light-dark(#90d7c8, #4fb1a0)`,"--color-icon-teal":`light-dark(#00463d, #81c9bb)`,"--color-text-teal":`light-dark(#00463d, #90d7c8)`,"--color-background-cyan":`light-dark(#9ae2f4, #274046)`,"--color-border-cyan":`light-dark(#85d5e9, #49adc4)`,"--color-icon-cyan":`light-dark(#004351, #71c7dd)`,"--color-text-cyan":`light-dark(#004351, #85d5e9)`,"--color-background-blue":`light-dark(#b9d7ff, #253c5a)`,"--color-border-blue":`light-dark(#a1caff, #5aa0f8)`,"--color-icon-blue":`light-dark(#003978, #88bcff)`,"--color-text-blue":`light-dark(#003978, #a1caff)`,"--color-background-purple":`light-dark(#f7d5ff, #4a2f51)`,"--color-border-purple":`light-dark(#f3bfff, #d885eb)`,"--color-icon-purple":`light-dark(#5c0e6c, #e496f6)`,"--color-text-purple":`light-dark(#5c0e6c, #eaacf8)`,"--color-background-pink":`light-dark(#ffc0d7, #572b3d)`,"--color-border-pink":`light-dark(#ffc0d7, #fc78b1)`,"--color-icon-pink":`light-dark(#70003f, #fd92bd)`,"--color-text-pink":`light-dark(#70003f, #ffa9ca)`,"--color-background-gray":`light-dark(#e2e2e2, #303030)`,"--color-border-gray":`light-dark(#d4d4d4, #262626)`,"--color-icon-gray":`light-dark(#474747, #9e9e9e)`,"--color-text-gray":`light-dark(#1b1b1b, #d4d4d4)`,"--radius-none":`0px`,"--radius-inner":`0.375rem`,"--radius-element":`0.625rem`,"--radius-container":`0.75rem`,"--radius-page":`1.75rem`,"--radius-full":`9999px`,"--shadow-low":`0 2px 4px light-dark(oklch(0 0 0 / 5%), oklch(0 0 0 / 25%)), 0 4px 8px light-dark(oklch(0 0 0 / 10%), oklch(0 0 0 / 40%)), inset 0 0 0 1px light-dark(transparent, oklch(1 0 0 / 8%))`,"--shadow-med":`0 2px 4px light-dark(oklch(0 0 0 / 5%), oklch(0 0 0 / 35%)), 0 4px 12px light-dark(oklch(0 0 0 / 10%), oklch(0 0 0 / 50%)), inset 0 0 0 1px light-dark(transparent, oklch(1 0 0 / 12%))`,"--shadow-high":`0 4px 6px light-dark(oklch(0 0 0 / 10%), oklch(0 0 0 / 50%)), 0 12px 24px light-dark(oklch(0 0 0 / 15%), oklch(0 0 0 / 70%)), inset 0 0 0 1px light-dark(transparent, oklch(1 0 0 / 15%))`,"--shadow-inset-hover":`inset 0px 0px 0px 2px #0074e24D`,"--shadow-inset-selected":`inset 0px 0px 0px 2px #0074e280`,"--shadow-inset-success":`inset 0px 0px 0px 2px #2f7d334D`,"--shadow-inset-warning":`inset 0px 0px 0px 2px #f8d36a4D`,"--shadow-inset-error":`inset 0px 0px 0px 2px #de47454D`},localTokens:{"--astryx-theme-neutral-color-status-fill-accent":`light-dark(#0074e2, #6d9cfe)`,"--astryx-theme-neutral-color-status-fill-success":`light-dark(#198100, #64af4c)`,"--astryx-theme-neutral-color-status-fill-warning":`#ffce2f`,"--astryx-theme-neutral-color-status-fill-error":`light-dark(#c9303a, #ff705d)`,"--astryx-theme-neutral-color-status-muted-accent":`light-dark(#b9d7ff, #88bcff3D)`,"--astryx-theme-neutral-color-on-tint-neutral":`light-dark(#fafafa4D, #0a0a0a4D)`,"--astryx-theme-neutral-color-on-tint-overlay-hover":`light-dark(#fafafa1A, #0a0a0a1A)`,"--astryx-theme-neutral-color-on-tint-overlay-pressed":`light-dark(#fafafa33, #0a0a0a33)`,"--astryx-theme-neutral-color-destructive-overlay-hover":`light-dark(#ff7f770D, #ee736c0D)`,"--astryx-theme-neutral-color-destructive-overlay-pressed":`light-dark(#ff7f771A, #ee736c1A)`},__localTokenOwners:{"--astryx-theme-neutral-color-status-fill-accent":`neutral`,"--astryx-theme-neutral-color-status-fill-success":`neutral`,"--astryx-theme-neutral-color-status-fill-warning":`neutral`,"--astryx-theme-neutral-color-status-fill-error":`neutral`,"--astryx-theme-neutral-color-status-muted-accent":`neutral`,"--astryx-theme-neutral-color-on-tint-neutral":`neutral`,"--astryx-theme-neutral-color-on-tint-overlay-hover":`neutral`,"--astryx-theme-neutral-color-on-tint-overlay-pressed":`neutral`,"--astryx-theme-neutral-color-destructive-overlay-hover":`neutral`,"--astryx-theme-neutral-color-destructive-overlay-pressed":`neutral`},__localTokenLineage:[`neutral`,`theorem`],components:{heading:{"level:1":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-1-size)`,fontWeight:`var(--text-heading-1-weight)`,lineHeight:`var(--text-heading-1-leading)`},"level:2":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-2-size)`,fontWeight:`var(--text-heading-2-weight)`,lineHeight:`var(--text-heading-2-leading)`},"level:3":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-3-size)`,fontWeight:`var(--text-heading-3-weight)`,lineHeight:`var(--text-heading-3-leading)`},"level:4":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-4-size)`,fontWeight:`var(--text-heading-4-weight)`,lineHeight:`var(--text-heading-4-leading)`},"level:5":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-5-size)`,fontWeight:`var(--text-heading-5-weight)`,lineHeight:`var(--text-heading-5-leading)`},"level:6":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-6-size)`,fontWeight:`var(--text-heading-6-weight)`,lineHeight:`var(--text-heading-6-leading)`},"type:display-1":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-1-size)`,lineHeight:`var(--text-display-1-leading)`},"type:display-2":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-2-size)`,lineHeight:`var(--text-display-2-leading)`},"type:display-3":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-3-size)`,lineHeight:`var(--text-display-3-leading)`}},text:{"type:body":{fontFamily:`var(--font-family-body)`,fontSize:`var(--text-body-size)`,lineHeight:`var(--text-body-leading)`},"type:large":{fontFamily:`var(--font-family-body)`,fontSize:`var(--text-large-size)`,lineHeight:`var(--text-large-leading)`},"type:label":{fontFamily:`var(--font-family-body)`,fontSize:`var(--text-label-size)`,lineHeight:`var(--text-label-leading)`},"type:code":{fontFamily:`var(--font-family-code)`,fontSize:`var(--text-code-size)`,lineHeight:`var(--text-code-leading)`},"type:supporting":{fontFamily:`var(--font-family-body)`,fontSize:`var(--text-supporting-size)`,lineHeight:`var(--text-supporting-leading)`},"type:display-1":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-1-size)`,lineHeight:`var(--text-display-1-leading)`},"type:display-2":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-2-size)`,lineHeight:`var(--text-display-2-leading)`},"type:display-3":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-3-size)`,lineHeight:`var(--text-display-3-leading)`}},button:{"variant:destructive":{backgroundColor:`var(--color-error-muted)`,color:`var(--color-error)`,"--color-overlay-hover":`var(--astryx-theme-neutral-color-destructive-overlay-hover)`,"--color-overlay-pressed":`var(--astryx-theme-neutral-color-destructive-overlay-pressed)`}},badge:{"variant:info":{backgroundColor:`var(--astryx-theme-neutral-color-status-fill-accent)`,color:`var(--color-on-accent)`},"variant:neutral":{backgroundColor:`var(--color-background-gray)`,color:`var(--color-text-gray)`},"variant:success":{backgroundColor:`var(--astryx-theme-neutral-color-status-fill-success)`,color:`var(--color-on-success)`},"variant:warning":{backgroundColor:`var(--astryx-theme-neutral-color-status-fill-warning)`,color:`var(--color-on-warning)`},"variant:error":{backgroundColor:`var(--astryx-theme-neutral-color-status-fill-error)`,color:`var(--color-on-error)`},"variant:red":{backgroundColor:`var(--color-background-red)`,color:`var(--color-text-red)`},"variant:orange":{backgroundColor:`var(--color-background-orange)`,color:`var(--color-text-orange)`},"variant:yellow":{backgroundColor:`var(--color-background-yellow)`,color:`var(--color-text-yellow)`},"variant:green":{backgroundColor:`var(--color-background-green)`,color:`var(--color-text-green)`},"variant:teal":{backgroundColor:`var(--color-background-teal)`,color:`var(--color-text-teal)`},"variant:cyan":{backgroundColor:`var(--color-background-cyan)`,color:`var(--color-text-cyan)`},"variant:blue":{backgroundColor:`var(--color-background-blue)`,color:`var(--color-text-blue)`},"variant:purple":{backgroundColor:`var(--color-background-purple)`,color:`var(--color-text-purple)`},"variant:pink":{backgroundColor:`var(--color-background-pink)`,color:`var(--color-text-pink)`},"variant:gray":{backgroundColor:`var(--color-background-gray)`,color:`var(--color-text-gray)`}},"status-dot":{"variant:success":{backgroundColor:`var(--astryx-theme-neutral-color-status-fill-success)`},"variant:warning":{backgroundColor:`var(--astryx-theme-neutral-color-status-fill-warning)`},"variant:error":{backgroundColor:`var(--astryx-theme-neutral-color-status-fill-error)`},"variant:accent":{backgroundColor:`var(--astryx-theme-neutral-color-status-fill-accent)`}},"avatar-status-dot":{"variant:success":{backgroundColor:`var(--astryx-theme-neutral-color-status-fill-success)`},"variant:error":{backgroundColor:`var(--astryx-theme-neutral-color-status-fill-error)`}},"segmented-control":{base:{padding:`var(--spacing-1)`}},"segmented-control-item":{"size:sm":{height:`calc(var(--size-element-sm) - 8px)`},"size:md":{height:`calc(var(--size-element-md) - 8px)`},"size:lg":{height:`calc(var(--size-element-lg) - 8px)`},selected:{boxShadow:`none`}},banner:{base:{"--color-neutral":`var(--astryx-theme-neutral-color-on-tint-neutral)`,"--color-overlay-hover":`var(--astryx-theme-neutral-color-on-tint-overlay-hover)`,"--color-overlay-pressed":`var(--astryx-theme-neutral-color-on-tint-overlay-pressed)`},"status:info":{"--color-accent-muted":`var(--astryx-theme-neutral-color-status-muted-accent)`,"--color-text-primary":`var(--color-text-blue)`,"--color-text-secondary":`var(--color-text-blue)`,"--color-accent":`var(--color-text-blue)`},"status:success":{"--color-text-primary":`var(--color-text-green)`,"--color-text-secondary":`var(--color-text-green)`,"--color-success":`var(--color-text-green)`},"status:warning":{"--color-text-primary":`var(--color-text-yellow)`,"--color-text-secondary":`var(--color-text-yellow)`,"--color-warning":`var(--color-text-yellow)`},"status:error":{"--color-text-primary":`var(--color-text-red)`,"--color-text-secondary":`var(--color-text-red)`,"--color-error":`var(--color-text-red)`}},"step-indicator":{"status:accent":{"--color-accent":`var(--astryx-theme-neutral-color-status-fill-accent)`},"status:success":{"--color-success":`var(--astryx-theme-neutral-color-status-fill-success)`},"status:warning":{"--color-warning":`var(--astryx-theme-neutral-color-status-fill-warning)`},"status:error":{"--color-error":`var(--astryx-theme-neutral-color-status-fill-error)`}},switch:{base:{"--color-background-gray":`var(--color-border-emphasized)`}},"progress-bar":{base:{"--color-background-muted":`var(--color-border-emphasized)`},"variant:accent":{"--color-accent":`var(--astryx-theme-neutral-color-status-fill-accent)`},"variant:success":{"--color-success":`var(--astryx-theme-neutral-color-status-fill-success)`},"variant:warning":{"--color-warning":`var(--astryx-theme-neutral-color-status-fill-warning)`},"variant:error":{"--color-error":`var(--astryx-theme-neutral-color-status-fill-error)`}},card:{base:{padding:`var(--spacing-3)`},"variant:bubble":{backgroundColor:`var(--color-neutral)`,borderRadius:`var(--radius-chat)`,paddingBlock:`var(--spacing-3)`,paddingInline:`var(--spacing-4)`}},section:{base:{padding:`var(--spacing-3)`}},lightbox:{base:{padding:`var(--spacing-12)`,"::backdrop":{backgroundColor:`light-dark(#00000059, #00000099)`}}},"collapsible-content":{base:{display:`block`,overflow:`clip`,interpolateSize:`allow-keywords`,transition:`height var(--duration-medium) var(--ease-standard), padding-top var(--duration-medium) var(--ease-standard), content-visibility var(--duration-medium) allow-discrete`,':where([aria-expanded="false"] + *)':{height:`0`,paddingTop:`0`,contentVisibility:`hidden`}}},citation:{base:{':where(*) > [aria-hidden="true"]':{backgroundColor:`transparent`,borderWidth:`0`,borderRadius:`0`},':where(*) > [aria-hidden="true"] > img':{width:`100%`,height:`100%`}}},"chat-tool-calls":{base:{':where(*) [role="button"][aria-expanded] > span:not(:first-child):not(:has(svg))':{alignSelf:`baseline`}}},"code-block":{"container:card":{borderRadius:`var(--radius-container)`}},"layout-panel":{base:{':where([role="complementary"])':{transition:`width var(--duration-medium) var(--ease-standard)`},':where([data-resizing] + [role="complementary"], [role="complementary"]:has(+ [data-resizing]))':{transition:`none`}}}},__onDark:{tokens:{"color-scheme":`dark`,"--color-text-primary":`var(--color-on-dark)`,"--color-icon-primary":`var(--color-on-dark)`,"--color-accent":`var(--color-on-dark)`}},__onLight:{tokens:{"color-scheme":`light`,"--color-text-primary":`var(--color-on-light)`,"--color-icon-primary":`var(--color-on-light)`,"--color-accent":`var(--color-on-light)`}},__adaptations:{widthBreakpoints:{sm:640,md:768,lg:1024,xl:1280,"2xl":1536},rules:[{when:{pointer:`coarse`,width:{below:`lg`}},value:{typography:{scale:{base:16,ratio:1.1736}}}},{when:{motion:`reduce`},value:{components:{"collapsible-content":{base:{transition:`none`}},"layout-panel":{base:{':where([role="complementary"])':{transition:`none`}}}}}}]},__axes:{typography:{scale:{base:14,ratio:1.2},body:{family:`Figtree`,fallbacks:`-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif`},heading:{family:`Figtree`,fallbacks:`-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif`,weights:{3:`bold`,4:`bold`}},code:{family:`ui-monospace`,fallbacks:`"SF Mono", Monaco, Consolas, "Liberation Mono", "Courier New", monospace`}},motion:{fast:125,medium:300,slow:700,ratio:.75}},icons:{...Ri.icons,...zi}},Vs=1e3,Hs=100,Us={root:{kWkggS:`xprdx6m x1j0df82 x1o55y2u`,kSiTet:`xvpkmg4 x1tbh5bv`,$$css:!0},animate:{kILWW9:`xpz12be`,k44tkh:`xqgcaz`,ko0y90:`xa4qsjk`,kKVMdj:`xeuoslp x1aquc0h`,kyAemX:`x193epu2`,$$css:!0}},Ws={0:{kaIpWk:`xwksslw`,$$css:!0},1:{kaIpWk:`xx3sua9`,$$css:!0},2:{kaIpWk:`xh6dtrn`,$$css:!0},3:{kaIpWk:`x1hviunn`,$$css:!0},4:{kaIpWk:`x1hviunn`,$$css:!0},none:{kaIpWk:`x2u8bby`,$$css:!0},rounded:{kaIpWk:`xjspbzw`,$$css:!0}},Gs={kKxzle:`xvo38ju`,$$css:!0},Ks={animationDelay:e=>[Gs,{"--x-animationDelay":(e=>typeof e==`number`?e+`ms`:e??void 0)(`${Vs+Hs*e}ms`)}],dimensions:(e,t)=>[{kzqmXN:(typeof e==`number`?`${e}px`:e)==null?typeof e==`number`?`${e}px`:e:`x5lhr3w`,kZKoxP:(typeof t==`number`?`${t}px`:t)==null?typeof t==`number`?`${t}px`:t:`x16ye13r`,$$css:!0},{"--x-width":(e=>typeof e==`number`?e+`px`:e??void 0)(typeof e==`number`?`${e}px`:e),"--x-height":(e=>typeof e==`number`?e+`px`:e??void 0)(typeof t==`number`?`${t}px`:t)}]};function qs({width:e=`100%`,height:t=`100%`,radius:n=3,index:r=0,"data-testid":o,xstyle:s,className:c,style:l,ref:u,...d}){return(0,G.jsx)(`div`,{ref:u,"aria-hidden":`true`,"data-testid":o,...f(a(`skeleton`),i(Us.root,Us.animate,Ws[n],Ks.dimensions(e,t),Ks.animationDelay(r),s),c,l),...d})}qs.displayName=`Skeleton`;var Js={root:{kVAEAm:`x1n2onr6`,k1xSpc:`x3nfvp2`,kXwgrk:`xdt5ytf`,kzqmXN:`x1fu8urw`,kmuXW:`x2lah0s`,kHBbk8:`xc8icb0`,$$css:!0},imageContainer:{kVAEAm:`x1n2onr6`,kzqmXN:`xh8yej3`,kOBAk4:`x1plog1`,kaIpWk:`xh6dtrn`,kVQacm:`xb3r6kr`,kWkggS:`x17x4s8c`,$$css:!0},interactive:{kkrTdU:`x1ypdohk x16khyan`,$$css:!0},overlay:{"--_press-overlay":`x1s9pv7w xb8awce x1a5qima x1sad4of x1s2lk0z xmfmiv1 x1hn5ov8`,"--_press-overlay-transition":`x1wkyqe6 xbb2ue6 x1wphrdb`,k5JduY:`x1s928wv`,kwXMNM:`x1j6awrg`,kv0HGH:`xarstr8`,kUfP38:`x1k48kgn`,kloYau:`x2q1x1w`,kRicXK:`x1ywzrc5`,kPNhGg:`x18w5vxb`,kA8PQs:`x1dlmc9c`,ks3ayO:`x1l0fnur`,$$css:!0},removeButtonOverrides:{"--_button-radius":`xh8ntw8`,kVAEAm:`x1n2onr6`,kZKoxP:`x1qx5ct2`,k7Eaqz:`xt4ypqs`,kWkggS:`x1u4601x`,kMwMTN:`x9e3rv5`,"--_thumbnail-hit-inset":`x1ur4yav x1h9khjt`,k5JduY:`x1s928wv`,kwXMNM:`x1j6awrg`,kv0HGH:`xeu5z55`,$$css:!0},disabled:{kSiTet:`xbyyjgo`,kfzvcC:`x47corl`,$$css:!0}};function Ys(){return(0,G.jsx)(`svg`,{width:24,height:24,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,children:(0,G.jsx)(`path`,{d:`M21 19V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2M8.5 13.5l2.5 3 3.5-4.5 4.5 6H5l3.5-5.5z`})})}function Xs({src:e,alt:t,label:n,onRemove:r,onClick:o,isLoading:s=!1,isDisabled:c=!1,showRemoveOn:l=`hover`,xstyle:u,className:d,style:p,"data-testid":m,ref:h,...g}){let ee=ue(),_=oe(),[te,ne]=(0,W.useState)(void 0),v=e!=null,y=v&&te===e,ie=s&&!v,b=v&&!ie&&!y,se=s&&v,ce=!s&&!v||y,S=o!=null&&!c&&!s,fe=r!=null&&!c,C=fe&&l===`hover`,{getContainerProps:pe,getContentRevealProps:me}=Ut({isEnabled:C}),he=n&&t?`${n} — ${t}`:n??t??_(`@astryx.thumbnail.fallbackName`),ge=!t,T=t!=null||n!=null||g[`aria-label`]!=null||g[`aria-labelledby`]!=null;w(`Thumbnail`,'`src` is set without `alt` or `label`. The image is treated as decorative and hidden from assistive technology, and the thumbnail falls back to a generic "thumbnail" name. Pass `alt` to describe the image content, or `label` (file name) to name the thumbnail.',v&&!T);let ve=(0,G.jsxs)(G.Fragment,{children:[b&&(0,G.jsx)(`img`,{src:e,alt:t??``,role:ge?`presentation`:void 0,"aria-hidden":ge||void 0,onError:()=>ne(e),className:`xh8yej3 x5yr21d xl1xv1r x1lliihq`}),ie&&(0,G.jsx)(qs,{radius:2}),ce&&(0,G.jsx)(`div`,{className:`x78zum5 x6s0dn4 xl56j7k xh8yej3 x5yr21d xv9yike`,children:(0,G.jsx)(Ys,{})})]}),E=fe?(0,G.jsx)(`div`,{...f({className:`x10l6tqk x8d4r5l xy3asu9 x1vjfegm x14ju556`},C?me({isLayoutPreserved:!0}):{}),children:(0,G.jsx)(de,{icon:(0,G.jsx)(ae,{icon:`close`,size:`xsm`}),label:_(`@astryx.thumbnail.remove`,{accessibleName:he}),variant:`secondary`,size:`sm`,isIconOnly:!0,onClick:e=>{e.stopPropagation(),r(e)},xstyle:Js.removeButtonOverrides})}):null,D=(0,G.jsx)(`div`,{ref:h,"data-testid":m,role:`group`,"aria-label":he,...f(a(`thumbnail`),i(Js.root,c&&Js.disabled,u),d,p),...g,children:(0,G.jsxs)(`div`,{...S?ee:void 0,...f(x.focusWithin(Js.imageContainer,S&&Js.interactive,S&&Js.overlay,S&&le.pressedAlpha),C?pe():{}),children:[S?(0,G.jsx)(`button`,{type:`button`,onClick:o,"aria-label":_(`@astryx.thumbnail.open`,{accessibleName:he}),className:`x1ypdohk x16khyan x1lliihq xh8yej3 x5yr21d xh6dtrn xb3r6kr`,children:ve}):ve,b&&(0,G.jsx)(`div`,{className:`x10l6tqk x10a8y8t x1pjcqnp x1er153n x47corl`}),se&&(0,G.jsx)(`div`,{className:`x10l6tqk x10a8y8t x78zum5 x6s0dn4 xl56j7k x1u4601x x1pjcqnp x1vjfegm x14ju556`,children:(0,G.jsx)(re,{size:`sm`,shade:`onMedia`})}),E]})});return n==null?D:(0,G.jsx)(_e,{content:n,children:D})}Xs.displayName=`Thumbnail`;var Zs={interactive:{kVAEAm:`x1n2onr6`,kkrTdU:`x1ypdohk x16khyan`,kybGjl:`x1hl2dhg`,kMwMTN:`x1heor9g`,$$css:!0},overlay:{"--_press-overlay":`x1s9pv7w xb8awce x1a5qima x1sad4of x1s2lk0z xmfmiv1 x1hn5ov8`,"--_press-overlay-transition":`x1wkyqe6 xbb2ue6 x1wphrdb`,k5JduY:`x1s928wv`,kwXMNM:`x1j6awrg`,kv0HGH:`xarstr8`,kloYau:`x2q1x1w`,kRicXK:`x1ywzrc5`,kPNhGg:`x18w5vxb`,kA8PQs:`x1dlmc9c`,ks3ayO:`x1l0fnur`,$$css:!0},borderless:{kMzoRj:`xc342km`,$$css:!0},bordered:{kVAM5u:`x14i3s5s`,kZCmMZ:`xs19ii7`,kwRFfy:`x12frdag`,kLKAdn:`x1nex4ik`,kGO01o:`xbv1mwh`,k1ekBW:`xshfolx`,kIyJzY:`xuedmi6`,kAMwcw:`xlr8y92`,$$css:!0},borderedHoverOnPointer:{kpsWHe:`x1xwh4np`,$$css:!0},disabled:{kkrTdU:`xt0e3qv`,kSiTet:`xbyyjgo`,$$css:!0}};function Qs(e){e.preventDefault()}function $s({label:e,onClick:t,onMouseUp:n,href:r,target:i,isDisabled:o=!1,children:s,padding:c,variant:l=`default`,elevation:u=`none`,width:d,height:p,maxWidth:m,ref:h,xstyle:g,className:ee,style:_,...te}){let re=ue(),v=(0,W.useRef)(null),y=(0,W.useRef)(null),ie=ce(),{onClick:ae,onMouseUp:b}=ne({containerRef:v,interactiveRef:y,onClick:t,href:r,target:i,disabled:o}),oe=n?e=>{b(e),n(e)}:b,se=r!=null,S=l==="default";return(0,G.jsxs)(ge,{ref:me(h,v),...o?void 0:re,width:d,height:p,maxWidth:m,padding:c,variant:l,elevation:u,...f(a(`clickable-card`,{variant:l}),x.focusWithin(),ee,_),xstyle:[Zs.interactive,S?Zs.bordered:Zs.borderless,!o&&Zs.overlay,!o&&le.pressedAlpha,!o&&S&&Zs.borderedHoverOnPointer,o&&Zs.disabled,g],onClick:o?void 0:ae,onMouseUp:o?void 0:oe,...te,children:[se?(0,G.jsx)(ie,{ref:y,href:o?void 0:r,target:o?void 0:i,onClick:o?Qs:void 0,role:o?`link`:void 0,"aria-label":e,"aria-disabled":o||void 0,tabIndex:o?-1:0,className:`x10l6tqk x1i1rx1s xjm9jq1 x1717udv xkdpibf xb3r6kr xzpqnlu xuxw1ft xc342km`}):(0,G.jsx)(`button`,{ref:y,type:`button`,"aria-label":e,disabled:o,onClick:t,className:`x10l6tqk x1i1rx1s xjm9jq1 x1717udv xkdpibf xb3r6kr xzpqnlu xuxw1ft xc342km`}),s]})}$s.displayName=`ClickableCard`;var Q={dialog:{kVAEAm:`xixxii4`,kpwlN0:`x10a8y8t`,kzqmXN:`xn9wirt`,kZKoxP:`x1dr59a3`,ks0D6T:`x1x1rfll`,kskxy:`x7ab17h`,kogj98:`x1ghz6dp`,kmVPX3:`x1717udv`,kMzoRj:`xc342km`,ksu8eU:`xng3xce`,kWkggS:`xjbqb8w`,kVQacm:`xb3r6kr`,kI3sdo:`x1a2a7pz`,kGyWv1:`xnixb3f`,kba3nw:`x1abwkk1`,$$css:!0},imageWrapper:{k1xSpc:`x78zum5`,kGNEyG:`x6s0dn4`,kjj79g:`xl56j7k`,kVQacm:`xb3r6kr`,kkrTdU:`xt0e3qv`,kfSwDN:`x87ps6o`,kAzted:`x2lwn1j`,$$css:!0},imageWrapperZoomable:{kkrTdU:`x1huxd7x x16khyan x2dt3px`,$$css:!0},imageWrapperZoomed:{kkrTdU:`x1jm3nie x16khyan`,$$css:!0},imageWrapperDragging:{kkrTdU:`xi9pz9s x16khyan`,$$css:!0},image:{ks0D6T:`x193iq5w`,kskxy:`xmz0i5r`,kVIFPx:`x19kjcj4`,kfzvcC:`x47corl`,k1ekBW:`x11xpdln`,kIyJzY:`x13dflua x12w9bfk`,kAMwcw:`x9lcvmn`,$$css:!0},imageDragging:{k1ekBW:`x13b0p5u`,$$css:!0},closeButton:{kVAEAm:`x10l6tqk`,k87sOh:`xyx6v2t`,kt4wiu:`x1mcfs9z`,kY2c9j:`x1vjfegm`,$$css:!0},navButton:{kVAEAm:`x10l6tqk`,k87sOh:`xwa60dl`,kIY38u:`x3sa99s`,kY2c9j:`x1vjfegm`,$$css:!0},navPrev:{kLqNvP:`x1ybfrjj`,$$css:!0},navNext:{kt4wiu:`x1mcfs9z`,$$css:!0},controlButton:{kMwMTN:`x9e3rv5`,$$css:!0}},ec={imageTransform:e=>[{k3aq6I:e==null?e:`xsqj5wx`,$$css:!0},{"--x-transform":e??void 0}]},tc=50,nc={ArrowLeft:[tc,0],ArrowRight:[-50,0],ArrowUp:[0,tc],ArrowDown:[0,-50]};function rc({isOpen:e,onOpenChange:t,media:n,index:r,defaultIndex:o=0,onIndexChange:s,hasZoom:c=!1,hasAutoPlay:l=!1,xstyle:te,className:ne,style:re,ref:v,onClick:y,onKeyDown:ie,...b}){let x=oe(),ce=(0,W.useRef)(null),le=me(v,ce),ue=(0,W.useRef)(null),de=(0,W.useRef)(null),C=(0,W.useRef)(null),pe=r!==void 0,[he,ge]=(0,W.useState)(o),w=pe?r:he,_e=(0,W.useCallback)(e=>{pe||ge(e),s?.(e)},[pe,s,ge]),[T,ve]=(0,W.useState)(1),[E,D]=(0,W.useState)({x:0,y:0}),[ye,be]=(0,W.useState)(!1),O=(0,W.useRef)({x:0,y:0,panX:0,panY:0}),k=(0,W.useMemo)(()=>Array.isArray(n)?n:[n],[n]),A=k.length>1,j=k.length>0?k[Math.min(w,k.length-1)]:null,M=(j?.type??`image`)===`video`,N=A&&w>0,P=A&&w<k.length-1;Ht(e);let F=j?.src,[xe,I]=(0,W.useState)({index:w,src:F});(!Object.is(xe.index,w)||!Object.is(xe.src,F))&&(I({index:w,src:F}),ve(1),D({x:0,y:0}));let L=S(),Se=(0,W.useRef)(w),R=(0,W.useRef)(e);(0,W.useEffect)(()=>{let t=Se.current!==w,n=R.current;if(Se.current=w,R.current=e,!t||!e||!n)return;let r=k[Math.min(w,k.length-1)],i={index:w+1,total:k.length};L(r?.alt?x(`@astryx.lightbox.mediaPosition`,{alt:r.alt,...i}):x(`@astryx.lightbox.imagePosition`,i))},[w,e,L,k,x]),g(()=>{let t=ce.current;t&&(e&&!t.open?(C.current=document.activeElement,t.showModal()):!e&&t.open&&(t.close(),C.current instanceof HTMLElement&&C.current.focus()))},[e]);let z=(0,W.useCallback)(()=>{t(!1)},[t]),{shouldDismissOnCloseRequest:Ce}=ee({isActive:e,onDismiss:z}),we=(0,W.useCallback)(e=>{e.preventDefault(),Ce()&&z()},[z,Ce]),B=(0,W.useRef)(!1),Te=(0,W.useCallback)(e=>{B.current?B.current=!1:(e.target===e.currentTarget||e.target===ue.current)&&z()},[z]),Ee=(0,W.useCallback)(()=>{N&&_e(w-1)},[N,w,_e]),De=(0,W.useCallback)(()=>{P&&_e(w+1)},[P,w,_e]),Oe=(0,W.useCallback)(e=>{c&&!M&&e!==T&&(ve(e),D({x:0,y:0}),L(x(e>1?`@astryx.lightbox.zoomedIn`:`@astryx.lightbox.zoomedOut`)))},[c,M,T,L,x]),ke=(0,W.useCallback)(()=>{Oe(T===1?2:1)},[Oe,T]),Ae=(0,W.useCallback)(e=>{if(c&&!M){if(e.key===`+`||e.key===`=`){e.preventDefault(),Oe(2);return}if(e.key===`-`){e.preventDefault(),Oe(1);return}if(T>1&&nc[e.key]!==void 0){e.preventDefault();let[t,n]=nc[e.key];D(e=>({x:e.x+t,y:e.y+n}));return}}e.key===`ArrowLeft`?(e.preventDefault(),Ee()):e.key===`ArrowRight`&&(e.preventDefault(),De())},[c,M,T,Oe,Ee,De]),je=(0,W.useCallback)(e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),ke())},[ke]),Me=(0,W.useCallback)(e=>{T<=1||!c||(be(!0),B.current=!1,O.current={x:e.clientX,y:e.clientY,panX:E.x,panY:E.y})},[T,c,E]);(0,W.useEffect)(()=>{if(!ye)return;let e=e=>{B.current=!0;let t=e.clientX-O.current.x,n=e.clientY-O.current.y;D({x:O.current.panX+t,y:O.current.panY+n})},t=()=>{be(!1)};return window.addEventListener(`pointermove`,e),window.addEventListener(`pointerup`,t),()=>{window.removeEventListener(`pointermove`,e),window.removeEventListener(`pointerup`,t)}},[ye]);let Ne=T>1,V=c&&!M,Pe=T===1?null:`scale(${T}) translate(${E.x/T}px, ${E.y/T}px)`;return j?(0,G.jsx)(`dialog`,{ref:le,onCancel:we,onClick:e=>{Te(e),y?.(e)},onKeyDown:e=>{Ae(e),ie?.(e)},"aria-label":j.alt||x(`@astryx.lightbox.mediaViewer`),...f(a(`lightbox`),i(p.reset,m.reset,Q.dialog,u.reset,te),ne,re),...b,children:(0,G.jsx)(h,{children:(0,G.jsx)(d,{children:(0,G.jsxs)(`div`,{ref:ue,className:`x78zum5 xdt5ytf x6s0dn4 xl56j7k xh8yej3 x5yr21d x1n2onr6`,children:[(0,G.jsx)(fe,{icon:(0,G.jsx)(ae,{icon:`close`,size:`sm`,color:`inherit`}),label:x(`@astryx.lightbox.close`),variant:`ghost`,onClick:z,xstyle:[Q.closeButton,Q.controlButton]}),A&&(0,G.jsx)(fe,{icon:(0,G.jsx)(ae,{icon:`chevronLeft`,size:`sm`,color:`inherit`,xstyle:_.mirror}),label:x(`@astryx.lightbox.previous`),variant:`ghost`,isDisabled:!N,onClick:Ee,xstyle:[Q.navButton,Q.navPrev,Q.controlButton]}),(0,G.jsxs)(`div`,{className:`x78zum5 xdt5ytf x6s0dn4 x193iq5w xmz0i5r xb3r6kr`,children:[(0,G.jsx)(`div`,{ref:de,role:V?`button`:void 0,tabIndex:V?0:void 0,"aria-pressed":V?Ne:void 0,"aria-label":V?x(`@astryx.lightbox.zoom`):void 0,...i(Q.imageWrapper,V&&se.focusVisible,!M&&c&&!Ne&&Q.imageWrapperZoomable,!M&&Ne&&Q.imageWrapperZoomed,!M&&ye&&Q.imageWrapperDragging),onDoubleClick:M?void 0:ke,onKeyDown:V?je:void 0,onPointerDown:M?void 0:Me,children:M?(0,G.jsx)(`video`,{src:j.src,"aria-label":j.alt,controls:!0,autoPlay:l,className:`x193iq5w xmz0i5r x19kjcj4 x1a2a7pz`}):(0,G.jsx)(`img`,{src:j.src,alt:j.alt,draggable:!1,...i(Q.image,ye&&Q.imageDragging,Pe!=null&&ec.imageTransform(Pe))})}),j.caption&&(0,G.jsx)(`div`,{className:`x9e3rv5 x18juvz8 xf74fhv x2b8uid x1xye8es x18d9i69 xrrkdod xrlsmeg x2lah0s`,children:j.caption})]}),A&&(0,G.jsx)(fe,{icon:(0,G.jsx)(ae,{icon:`chevronRight`,size:`sm`,color:`inherit`,xstyle:_.mirror}),label:x(`@astryx.lightbox.next`),variant:`ghost`,isDisabled:!P,onClick:De,xstyle:[Q.navButton,Q.navNext,Q.controlButton]}),A&&k.length>1&&(0,G.jsxs)(`div`,{className:`x10l6tqk xyx6v2t x1ybfrjj x9e3rv5 xjm74w1 xw6l6zx x1vjfegm`,children:[w+1,` / `,k.length]})]})})})}):null}rc.displayName=`Lightbox`;function ic({theme:e,mode:t=`system`,children:n}){return(0,W.use)(y)!=null&&!e?(0,G.jsx)(G.Fragment,{children:n}):(0,G.jsx)(nr,{theme:e??Bs,mode:t,children:n})}var ac,oc=()=>ac??=he(()=>import(`./browser-engine-bQlfBE9p.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73]));async function*sc(e,t){yield*t(await e)}function $(e,t){return AbortSignal.any([e.signal,t].filter(e=>e!==void 0))}function cc(e,t){return at(vt(e,t.profile.labels,bt),`internal`)}async function lc(e,t,n){try{for await(let t of e){let e=t.type===`trace`||t.type===`steer_inbox`||t.type===`conversation`?t:ft(t,bt);if(e.type===`error`)throw at(e,`internal`);n(e)}}catch(e){throw Ct(e)?e:cc(e,t)}}function uc(e,t){return e.execution?void 0:async e=>{await(await t())?.pageResult(e)}}function dc(e,t){let n=e.execution?void 0:t.browserExecution();if(n){let t=e;e={mode:t.mode,providers:t.providers,providerDefinitions:t.providerDefinitions,decision:t.decision,signal:t.signal,resolveHost:t.resolveHost?.bind(t),remoteTools:t.remoteTools,hostOptions:t.hostOptions?.bind(t),provider:t.provider?.bind(t),toolHandlers:t.toolHandlers,onAgentCall:t.onAgentCall?.bind(t),execution:n.execution,pageExecution:n.pageExecution}}return{runtime:e,local:n}}var fc=`studio-page`,pc=(e,t)=>({sessionId:fc,store:e.createSealedConversationStore({keys:{1:t},keyVersion:1})});async function mc(e,t,n){try{let r=await oc();return await r.startStudioConversation({profile:e.profile,customTools:e.customTools,structured:e.structured,dependencies:e.dependencies,runtime:dc(t,r).runtime},pc(r,n.conversationKey),n.blocks)}catch(t){throw cc(t,e)}}function hc(e,t,n){let r=n.traces??Y(),i=oc().then(e=>({run:e,...dc(t,e),steer:e.createMemorySteerInbox(),conversations:pc(e,n.conversationKey)}));i.catch(()=>{});let a=new Map,o={profile:e.profile,customTools:e.customTools,structured:e.structured,dependencies:e.dependencies},s=(e,t=e=>{})=>Ms(e,r,t),c=async t=>{try{return await t()}catch(t){throw cc(t,e)}};return{pageResult:uc(t,async()=>(await i).local),describe:()=>Promise.resolve(Ts(e)),async turn(n,r,c){try{await lc(sc(i,({run:e,runtime:r,conversations:i,steer:a})=>e.streamStudioTurn({...o,runtime:r,request:n,conversations:i,signal:$(t,c),steer:a})),e,s(r,e=>{n.turnId&&a.set(n.turnId,e)}))}finally{n.turnId&&a.delete(n.turnId)}},invoke:(n,r,a)=>lc(sc(i,({run:e,runtime:r,conversations:i})=>e.streamStudioInvoke({...o,runtime:r,answer:n,conversations:i,signal:$(t,a)})),e,s(r)),conversation:e=>c(async()=>{let{run:t,runtime:n,conversations:r}=await i;return t.studioConversation({...o,runtime:n},r,e)}),rewind:(e,n)=>c(async()=>{let{run:r,runtime:a,conversations:s}=await i;return r.rewindStudio({...o,runtime:a},s,e,$(t,n))}),async steer(e){let t=a.get(e.turnId),{run:n,steer:r}=await i;if(!t||!await r.enqueue(t,n.steerUnitOf(e)))throw new H(`request`,`The turn has ended`,{copy:{key:`session.turn_ended`}})},async stop({turnId:e}){let t=a.get(e),{steer:n}=await i;if(!t||!await n.stop(t))throw new H(`request`,`The turn has ended`,{copy:{key:`session.turn_ended`}})},traces:r}}function gc(e,t,n={}){let r=n.traces??Y(),i=[],a,o=()=>a??=oc().then(e=>({run:e,...dc(t,e)})),s={profile:e.profile,customTools:e.customTools,dependencies:e.dependencies},c=e=>Ms(Ps(e),r,()=>{});return{pageResult:uc(t,async()=>(await o()).local),describe:()=>Promise.resolve(fa(U(e.profile),t=>e.customTools.find(e=>e.name===t))),call:(n,r,a)=>lc(sc(o(),({run:e,runtime:r})=>e.streamStudioCall({...s,runtime:r,call:n,sessionPermissions:i,signal:$(t,a)})),e,c(r)),invoke(n,r,a){return i=n.replay?.sessionPermissions??i,lc(sc(o(),({run:e,runtime:r})=>e.streamStudioHostInvoke({...s,runtime:r,answer:n,signal:$(t,a)})),e,c(r))},traces:r}}function _c(e,t,n={}){return{describe:()=>Promise.resolve(xt(U(e.profile),e.questions??{},e.images)),decide:async(n,r,i)=>{try{return await(await oc()).runStudioDecision(e,n,t.decision??{},$(t,r),i)}catch(t){throw mt(cc(t,e),ct(t))}},traces:n.traces??Y()}}function vc(e,t,n={}){return{describe:()=>Promise.resolve(ia(U(e.profile))),embed:async(n,r,i)=>{try{let a=await oc(),o=await a.runStudioEmbedding(e,{input:n,...r,signal:$(t,i)},dc(t,a).runtime);return{result:o.result,traces:o.traces}}catch(t){throw mt(cc(t,e),ct(t))}},traces:n.traces??Y()}}export{Y as A,Vi as B,us as C,Ya as D,Ja as E,Hi as F,_r as G,Ri as H,ta as I,nr as J,ir as K,$i as L,la as M,na as N,yo as O,ra as P,qi as R,ls as S,is as T,yr as U,zi as V,vr as W,Ls as _,hc as a,Ss as b,rc as c,qs as d,Ds as f,Is as g,zs as h,gc as i,ha as j,Ao as k,$s as l,Fs as m,_c as n,mc as o,Rs as p,rr as q,vc as r,ic as s,oc as t,Xs as u,Ts as v,Ga as w,xs as x,Os as y,ea as z};