@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.
- package/README.md +1 -1
- package/compile.js +29 -5
- package/package.json +4 -4
- package/page/assets/{Banner-BXxhF-o1.js → Banner-DqFqeJx4.js} +2 -2
- package/page/assets/{ConsoleFrame-Zogp88Wc.js → ConsoleFrame-CZvaA-nP.js} +1 -1
- package/page/assets/{ContextMenu-CBOyKWd3.js → ContextMenu-DX9Xmroi.js} +2 -2
- package/page/assets/{ToolResultCharts-DoQ48Rsd.js → ToolResultCharts-142qwvoG.js} +1 -1
- package/page/assets/{TraceInspector-75n9__a7.js → TraceInspector-CiszHOn4.js} +1 -1
- package/page/assets/{TraceOverview-UM4eJDLe.js → TraceOverview-DpGrlsvE.js} +1 -1
- package/page/assets/{browser-engine-bQlfBE9p.js → browser-engine-DhWIzxGh.js} +1 -1
- package/page/assets/browser-transport-CYmonEpj.js +47 -0
- package/page/assets/{export-agent-DX9oOrot.js → export-agent-DD3nkkXc.js} +1 -1
- package/page/assets/{guardrail-tester-BNJdJRUn.js → guardrail-tester-CB_zfwu-.js} +1 -1
- package/page/assets/{index-DF970vI_.js → index-D3Myde0v.js} +6 -6
- package/page/assets/{studio-code-pane-B8JqSxFl.js → studio-code-pane-BEu6fsah.js} +1 -1
- package/page/assets/{studio-console-BbXL5cQm.js → studio-console-C1aZk0Nc.js} +1 -1
- package/page/assets/{studio-decision-BX7Q1Ux3.js → studio-decision-B4Xv1U6i.js} +1 -1
- package/page/assets/{studio-embedding-CaD6jPeS.js → studio-embedding-B88JqYyA.js} +1 -1
- package/page/assets/{studio-host-console-Cc0ph_Fn.js → studio-host-console-CV6UmZhm.js} +2 -2
- package/page/assets/{studio-labels-J8Gxj-VB.js → studio-labels-W7ubfnI9.js} +1 -1
- package/page/assets/{studio-live-TQtVqURP.js → studio-live-DsZTO9nf.js} +1 -1
- package/page/assets/{studio-map-D-aUd36N.js → studio-map-B8KLLT-0.js} +1 -1
- package/page/assets/{studio-trace-replay-DHRQV1xK.js → studio-trace-replay-CNI1i-QJ.js} +1 -1
- package/page/assets/{use-one-call-DOmiIAXx.js → use-one-call-BDdS64oW.js} +1 -1
- package/page/index.html +5 -5
- package/ui/studio-screen.d.ts +7 -6
- package/ui/studio-screen.js +23 -25
- package/page/assets/browser-transport-DxIOg1UT.js +0 -47
package/ui/studio-screen.d.ts
CHANGED
|
@@ -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
|
|
58
|
-
*
|
|
59
|
-
*
|
|
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
|
|
62
|
+
export declare function StudioEditorPreview({ workspace, on, }: {
|
|
62
63
|
workspace: StudioWorkspace;
|
|
63
|
-
|
|
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 }: {
|
package/ui/studio-screen.js
CHANGED
|
@@ -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
|
|
1527
|
-
*
|
|
1528
|
-
*
|
|
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
|
|
1531
|
-
const
|
|
1532
|
-
const
|
|
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
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
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 (
|
|
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({
|
|
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,
|
|
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, {
|
|
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,
|
|
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};
|