@theoremjs/studio 0.3.4-next.385.ga3608be → 0.3.4-next.389.gecc7333
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/package.json +4 -4
- package/page/assets/{Banner-DgPjY5Yu.js → Banner-DdY6nnmH.js} +2 -2
- package/page/assets/{ContextMenu-B-dMscLp.js → ContextMenu-DnOOXwoP.js} +2 -2
- package/page/assets/{ToolResultCharts-oLH6ynx0.js → ToolResultCharts-CWPv4pTa.js} +1 -1
- package/page/assets/{TraceInspector-DjRGsfQ6.js → TraceInspector-BNLnO0yb.js} +1 -1
- package/page/assets/{TraceOverview-CJJg8bUz.js → TraceOverview-n4HRyWPv.js} +1 -1
- package/page/assets/{_virtual_studio-type-sources-DN0c88ZG.js → _virtual_studio-type-sources-DHM5x3cw.js} +11 -2
- package/page/assets/{browser-engine-BwN7Ib6D.js → browser-engine-CBlXBzDy.js} +7 -7
- package/page/assets/{browser-transport-CidXgImE.js → browser-transport-BHPA2uck.js} +3 -3
- package/page/assets/{export-agent-B0mZ4wL6.js → export-agent-COpHwnFC.js} +1 -1
- package/page/assets/{guardrail-tester-C-iVoY5f.js → guardrail-tester-B02txWS3.js} +1 -1
- package/page/assets/{index-D7CjWX1v.js → index-DznGBbT0.js} +7 -6
- package/page/assets/index-Oo9otEIT.css +1 -0
- package/page/assets/{studio-code-pane-DDPb5n7P.js → studio-code-pane-DKW5ri_8.js} +3 -3
- package/page/assets/{studio-console-D59tIXKj.js → studio-console-DoOt3YxN.js} +1 -1
- package/page/assets/{studio-decision-CoJDXc1v.js → studio-decision-B7C6N-uQ.js} +1 -1
- package/page/assets/{studio-embedding-de6dCLXd.js → studio-embedding-vdSdgT45.js} +1 -1
- package/page/assets/{studio-host-console-DTu-WVSS.js → studio-host-console-DwwSBSRv.js} +2 -2
- package/page/assets/{studio-live-DCvAJAO5.js → studio-live-zarHcTKa.js} +1 -1
- package/page/assets/{studio-map-DOSqlz_M.js → studio-map-CQmIRG2E.js} +1 -1
- package/page/assets/{studio-type-checker-DHsmQ4Du.js → studio-type-checker-DcHL3C0j.js} +1 -1
- package/page/assets/{use-one-call-BwVhWczQ.js → use-one-call-DlFWHd5m.js} +1 -1
- package/page/index.html +5 -5
- package/ui/diff-block.d.ts +6 -11
- package/ui/diff-block.js +5 -11
- package/ui/studio-conflicts.js +1 -1
- package/ui/studio-save.js +13 -12
- package/ui/studio.css +4 -26
- package/page/assets/index-IqWID6Mh.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.map-token{white-space:nowrap;position:absolute;translate:0 -50%}.map-line{fill:none;stroke:var(--color-border-emphasized);stroke-width:1.5px}.read-map{position:absolute;inset:0;overflow:hidden}.read-map-lines{pointer-events:none;position:absolute;inset:0 auto auto 0}.read-map-line{stroke-dasharray:1;stroke-dashoffset:1px;animation:read-map-line-in var(--duration-medium,.24s) var(--ease-standard,ease-out) forwards}.read-map-dot{fill:var(--color-text-secondary);animation:read-map-in var(--duration-fast,.12s) var(--ease-standard,ease-out) both}.read-map-node{animation:read-map-in var(--duration-medium,.24s) var(--ease-standard,ease-out) both}.read-map-foot{inset:auto var(--spacing-4) var(--spacing-4) var(--spacing-4);justify-content:space-between;gap:16px;display:flex;position:absolute}@keyframes read-map-line-in{to{stroke-dashoffset:0}}@keyframes read-map-in{0%{opacity:0}}.theorem-mark{--mark-delay:40ms;--mark-draw:.7s;--mark-draw-late:.64s;--mark-stagger:.22s;--mark-dot-at:.82s;--mark-dot-in:.24s;width:72px;height:72px;display:block}.theorem-mark-stroke{animation-name:theorem-mark-draw;animation-duration:var(--mark-draw);animation-timing-function:cubic-bezier(.45,.02,.15,1);animation-delay:var(--mark-delay);animation-fill-mode:forwards}.theorem-mark-stroke-late{animation-duration:var(--mark-draw-late);animation-delay:calc(var(--mark-delay) + var(--mark-stagger))}.theorem-mark-dot{transform-box:fill-box;transform-origin:50%;animation:theorem-mark-dot-in var(--mark-dot-in) cubic-bezier(.16, 1, .3, 1) calc(var(--mark-delay) + var(--mark-dot-at)) forwards;transform:scale(0)}@keyframes theorem-mark-draw{0%{opacity:0;stroke-dashoffset:1px}12%{opacity:1;stroke-dashoffset:.82px}to{opacity:1;stroke-dashoffset:0}}@keyframes theorem-mark-dot-in{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.theorem-mark-stroke,.theorem-mark-dot{transition:none;animation:none}.theorem-mark-stroke{stroke-dashoffset:0;opacity:1}.theorem-mark-dot{opacity:1;transform:none}}[data-boot] .theorem-mark{--mark-delay:.24s;--mark-draw:.62s;--mark-draw-late:.56s;--mark-stagger:.2s;--mark-dot-at:.78s;--mark-dot-in:.22s}[data-boot]{z-index:2;color:#fff;background:#262626;place-items:center;display:grid;position:absolute;inset:0}[data-boot]:not([data-phase=draw]){background:0 0}@media (width>=768px){html[data-shell-move] [data-boot]:not([data-phase=draw]){inset:var(--spacing-4) var(--spacing-4) var(--spacing-4) var(--spacing-12)}}[data-boot] .read-map{transition:opacity var(--shell-hold-ms) ease}[data-boot][data-phase=leave] .read-map{opacity:0}.boot-said{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:root{--color-ink:#000;--color-paper:#f7f5f0;--color-paper-bright:#fff;--color-mute:#464646;--ink-ease:cubic-bezier(.22, 1, .36, 1);--ink-duration:.3s}.run-page{overscroll-behavior:none;flex-direction:column;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.run-controls{justify-content:flex-end;align-items:center;gap:var(--spacing-2);padding:var(--spacing-4);flex:none;display:flex}.run-page>:not(.run-controls),.run-page>.astryx-layout,.run-page>div>.astryx-layout,.run-chat{flex:1;min-height:0}.run-chat>div>.astryx-layout-header:not(:has(button)){display:none}.run-page>.astryx-layout>div>.astryx-layout-header:not(:has(button)){display:none}.run-page>div>.astryx-layout>div>.astryx-layout-header:not(:has(button)){display:none}@media (prefers-reduced-motion:no-preference){.run-page .theorem-console-request{animation:theorem-console-request var(--duration-medium) var(--ease-standard)}.run-page .theorem-console-response{animation:theorem-console-response var(--duration-medium) var(--ease-standard)}}@keyframes theorem-console-request{0%{translate:75%}}@keyframes theorem-console-response{0%{translate:100%}}[role=main]:has(.run-page){overflow:hidden}.studio-fill{width:100%;height:100%}.scrollbar-none{scrollbar-width:none}.criterion-label{flex:0 0 38%;min-width:0}.studio-tree-row{position:relative}.studio-tree-action{inset-inline-end:var(--spacing-1);opacity:0;transition:opacity var(--duration-fast) var(--ease-standard);display:inline-flex;position:absolute;top:50%;translate:0 -50%}.studio-tree-row:hover .studio-tree-action{opacity:1}.studio-tree-row:has(:focus-visible) .studio-tree-action{opacity:1}@media (hover:none){.studio-tree-action{opacity:1}.studio-tree-row>button:not([data-tree-toggle]){-webkit-mask-image:linear-gradient(to left, transparent var(--spacing-6), #000 var(--spacing-10));mask-image:linear-gradient(to left, transparent var(--spacing-6), #000 var(--spacing-10))}}.studio-tree-row:is(:hover,:has(:focus-visible))>button:not([data-tree-toggle]){-webkit-mask-image:linear-gradient(to left, transparent var(--spacing-6), #000 var(--spacing-10));mask-image:linear-gradient(to left, transparent var(--spacing-6), #000 var(--spacing-10))}.studio-tree-row:has(.studio-tree-action>:nth-child(2)):is(:hover,:has(:focus-visible))>button:not([data-tree-toggle]){-webkit-mask-image:linear-gradient(to left, transparent calc(var(--spacing-6) + var(--spacing-8)), #000 calc(var(--spacing-10) + var(--spacing-8)));mask-image:linear-gradient(to left, transparent calc(var(--spacing-6) + var(--spacing-8)), #000 calc(var(--spacing-10) + var(--spacing-8)))}.inspector-list span:has(>.astryx-badge){flex-wrap:nowrap;min-width:0}.inspector-set-in-code{opacity:.75;pointer-events:none;border:0;min-inline-size:0;margin:0;padding:0}.inspector-set-in-code .inspector-set-in-code{opacity:1}.inspector-origin{background:var(--color-background-muted);border-radius:var(--radius-element);color:var(--color-text-secondary);font-size:var(--text-supporting-size);align-items:center;gap:var(--spacing-1);line-height:var(--text-supporting-leading);min-width:0;padding-block:var(--spacing-1);padding-inline:var(--spacing-2);display:flex}.inspector-origin-trigger{min-width:0;display:flex}button.inspector-origin{cursor:pointer;text-align:start;border:0;width:100%;font-family:inherit}button.inspector-origin:hover{color:var(--color-text-primary)}.inspector-origin-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.studio-tree-off{color:var(--color-text-secondary)}@media (prefers-reduced-motion:reduce){.studio-tree-action{transition:none}}.studio-phone{display:none}@media (width<768px){.studio-phone{display:contents}.studio-frame{position:relative}.studio-frame .studio-side{flex:auto;width:100%;max-width:none}.studio-frame .studio-side-handle,.studio-frame .studio-tree,.studio-frame .studio-preview{display:none}.studio-frame.studio-tree-open .studio-tree,.studio-frame.studio-preview-open .studio-preview{z-index:2;width:100%;display:flex;position:absolute;inset:0}.studio-frame.studio-tree-open .studio-tree{background:var(--color-background-surface)}.studio-frame.studio-preview-open .studio-preview{background:var(--color-background-body)}.studio-frame.studio-tree-open .studio-tree>*{width:100%}}.studio-map-pane{border-inline-start:1px solid var(--color-border);min-width:0}@media (width>=768px){.studio-frame:is(.studio-map-open,.studio-settings-open) .studio-side{flex:auto;width:100%;max-width:none}.studio-frame.studio-map-open .studio-view{flex:0 0 var(--studio-view-width,24rem);width:var(--studio-view-width,24rem);min-width:0}.studio-frame:is(.studio-map-open,.studio-settings-open) .studio-side-handle,.studio-frame:is(.studio-map-open,.studio-settings-open) .studio-preview{display:none}}@media (width<768px){.studio-frame .studio-map-handle{display:none}.studio-frame .studio-map-pane{z-index:2;background:var(--color-background-surface);border-inline-start:0;width:100%;position:absolute;inset:0}}.editor-page{animation:editor-page-enter var(--duration-fast) var(--ease-standard)}@keyframes editor-page-enter{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.editor-page{animation:none}}@media (hover:hover){.row-reveal{opacity:0;transition:opacity var(--duration-fast) var(--ease-standard)}.astryx-list-item:hover .row-reveal,.astryx-list-item:focus-within .row-reveal{opacity:1}}.studio-diff{border:1px solid var(--color-border);border-radius:var(--radius-element);min-width:0;font-family:var(--font-family-code);font-size:var(--font-size-xs);margin:0;line-height:1.6;overflow:hidden}.studio-diff-head{justify-content:space-between;align-items:center;gap:var(--spacing-3);padding:var(--spacing-1) var(--spacing-3);border-bottom:1px solid var(--color-border);background:var(--color-background-muted);color:var(--color-text-secondary);display:flex}.studio-diff-sides{column-gap:var(--spacing-4);flex-wrap:wrap;min-width:0;display:flex}.studio-diff-count{gap:var(--spacing-2);font-variant-numeric:tabular-nums;flex:none;display:flex}.studio-diff-head [data-sign=\-]{color:var(--color-text-red)}.studio-diff-head [data-sign=\+]{color:var(--color-text-green)}.studio-diff-lines{padding-block:var(--spacing-1);grid-template-columns:max-content minmax(0,1fr);display:grid;overflow:auto}.studio-diff-line{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.studio-diff-line[data-sign=\-]{background:var(--color-background-red)}.studio-diff-line[data-sign=\+]{background:var(--color-background-green)}.studio-diff-sign{padding-inline:var(--spacing-2);color:var(--color-text-secondary);text-align:center;-webkit-user-select:none;user-select:none}.studio-diff-line[data-sign=\-] .studio-diff-sign{color:var(--color-text-red)}.studio-diff-line[data-sign=\+] .studio-diff-sign{color:var(--color-text-green)}.studio-diff-line code{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;padding-inline-end:var(--spacing-3);transition:opacity .12s}.studio-diff[data-kept=\+] .studio-diff-line[data-sign=\-] code,.studio-diff[data-kept=\-] .studio-diff-line[data-sign=\+] code{opacity:.55;text-decoration:line-through}@media (prefers-reduced-motion:reduce){.studio-diff-line code{transition:none}}.save-file{z-index:1;padding-block:var(--spacing-1);background:var(--color-background-surface);position:sticky;top:0}.theorem-panel-scroll [data-scroll-content]:not(#\#):not(#\#):not(#\#):not(#\#){min-height:auto}@media (width<768px){[role=main]{width:calc(100% - 2 * var(--spacing-4));margin-inline-start:var(--spacing-4)}}dialog:modal{inset:var(--shell-top,0px) var(--shell-right,0px) var(--shell-bottom,0px) var(--shell-left,0px)}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(/studio/assets/figtree-latin-400-normal-g7Dtegnw.woff2)format("woff2"),url(/studio/assets/figtree-latin-400-normal-BD4aNku5.woff)format("woff");ascent-override:90%;descent-override:30%;line-gap-override:0%}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:500;src:url(/studio/assets/figtree-latin-500-normal-BWnGEVsr.woff2)format("woff2"),url(/studio/assets/figtree-latin-500-normal-B_yy1phn.woff)format("woff");ascent-override:90%;descent-override:30%;line-gap-override:0%}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(/studio/assets/figtree-latin-600-normal-Cv_xCTDl.woff2)format("woff2"),url(/studio/assets/figtree-latin-600-normal-BM_oTo4n.woff)format("woff");ascent-override:90%;descent-override:30%;line-gap-override:0%}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:700;src:url(/studio/assets/figtree-latin-700-normal-th6qEP7c.woff2)format("woff2"),url(/studio/assets/figtree-latin-700-normal-BCCt2T1q.woff)format("woff");ascent-override:90%;descent-override:30%;line-gap-override:0%}@layer reset{@scope([data-astryx-theme=theorem-studio]) to ([data-astryx-theme]){:where(h1,h2,h3,h4,h5,h6){font-family:var(--font-family-heading);color:var(--color-text-primary)}:where(h1){font-size:var(--text-heading-1-size);font-weight:var(--text-heading-1-weight);line-height:var(--text-heading-1-leading)}:where(h2){font-size:var(--text-heading-2-size);font-weight:var(--text-heading-2-weight);line-height:var(--text-heading-2-leading)}:where(h3){font-size:var(--text-heading-3-size);font-weight:var(--text-heading-3-weight);line-height:var(--text-heading-3-leading)}:where(h4){font-size:var(--text-heading-4-size);font-weight:var(--text-heading-4-weight);line-height:var(--text-heading-4-leading)}:where(h5){font-size:var(--text-heading-5-size);font-weight:var(--text-heading-5-weight);line-height:var(--text-heading-5-leading)}:where(h6){font-size:var(--text-heading-6-size);font-weight:var(--text-heading-6-weight);line-height:var(--text-heading-6-leading)}:where(p){font-family:var(--font-family-body);font-size:var(--text-body-size);font-weight:var(--text-body-weight);line-height:var(--text-body-leading);color:var(--color-text-primary)}:where(small){font-size:var(--text-supporting-size);font-weight:var(--text-supporting-weight);line-height:var(--text-supporting-leading);color:var(--color-text-secondary)}:where(code,pre){font-family:var(--font-family-code);font-size:var(--text-code-size);line-height:var(--text-code-leading)}:where(hr){border:none;border-top:1px solid var(--color-border)}}}@layer astryx-base;@layer astryx-theme{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@scope([data-astryx-theme=theorem-studio]) to ([data-astryx-theme]){:scope{--font-size-4xs:.375rem;--font-size-3xs:.4375rem;--font-size-2xs:.5rem;--font-size-xs:.6875rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.1875rem;--font-size-xl:1.375rem;--font-size-2xl:1.625rem;--font-size-3xl:2rem;--font-size-4xl:2.375rem;--font-size-5xl:2.75rem;--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:.125s;--duration-fast-max:.165s;--duration-medium-min:.225s;--duration-medium:.3s;--duration-medium-max:.4s;--duration-slow-min:.525s;--duration-slow:.7s;--duration-slow-max:.935s;--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:var(--lightningcss-light,#6b187c)var(--lightningcss-dark,#efa8ff);--color-syntax-string:var(--lightningcss-light,#0b5615)var(--lightningcss-dark,#a4d6a3);--color-syntax-comment:var(--lightningcss-light,#6a6a6a)var(--lightningcss-dark,#9e9e9e);--color-syntax-number:var(--lightningcss-light,#733100)var(--lightningcss-dark,#ffb37e);--color-syntax-function:var(--lightningcss-light,#00458c)var(--lightningcss-dark,#a1caff);--color-syntax-type:var(--lightningcss-light,#6b187c)var(--lightningcss-dark,#efa8ff);--color-syntax-variable:var(--lightningcss-light,#111)var(--lightningcss-dark,#e2e2e2);--color-syntax-operator:var(--lightningcss-light,#6a6a6a)var(--lightningcss-dark,#9e9e9e);--color-syntax-constant:var(--lightningcss-light,#733100)var(--lightningcss-dark,#ffb37e);--color-syntax-tag:var(--lightningcss-light,#8a0011)var(--lightningcss-dark,#ffaea7);--color-syntax-attribute:var(--lightningcss-light,#584400)var(--lightningcss-dark,#eec448);--color-syntax-property:var(--lightningcss-light,#005348)var(--lightningcss-dark,#90d7c8);--color-syntax-punctuation:var(--lightningcss-light,#6a6a6a)var(--lightningcss-dark,#9e9e9e);--color-syntax-background:var(--lightningcss-light,#fff)var(--lightningcss-dark,#111);--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:var(--lightningcss-light,#fff)var(--lightningcss-dark,#262626);--color-background-body:#000;--color-background-card:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1b1b1b);--color-background-popover:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1b1b1b);--color-background-muted:var(--lightningcss-light,#f1f1f1)var(--lightningcss-dark,#1b1b1b);--color-accent:var(--lightningcss-light,#1b1b1b)var(--lightningcss-dark,#f1f1f1);--color-accent-muted:var(--lightningcss-light,#f1f1f1)var(--lightningcss-dark,#262626);--color-neutral:var(--lightningcss-light,#0000000f)var(--lightningcss-dark,#ffffff1a);--color-overlay:var(--lightningcss-light,#00000080)var(--lightningcss-dark,#000c);--color-overlay-hover:var(--lightningcss-light,#0000000d)var(--lightningcss-dark,#ffffff0d);--color-overlay-pressed:var(--lightningcss-light,#0000001a)var(--lightningcss-dark,#ffffff1a);--color-text-primary:var(--lightningcss-light,#000)var(--lightningcss-dark,#fff);--color-text-secondary:var(--lightningcss-light,#474747)var(--lightningcss-dark,#9e9e9e);--color-text-disabled:var(--lightningcss-light,#919191)var(--lightningcss-dark,#525252);--color-text-accent:var(--lightningcss-light,#1b1b1b)var(--lightningcss-dark,#f1f1f1);--color-on-dark:#fff;--color-on-light:#111;--color-on-accent:var(--lightningcss-light,#fff)var(--lightningcss-dark,#111);--color-on-success:var(--lightningcss-light,#fff)var(--lightningcss-dark,#111);--color-on-error:var(--lightningcss-light,#fff)var(--lightningcss-dark,#111);--color-on-warning:#111;--color-icon-accent:var(--lightningcss-light,#1b1b1b)var(--lightningcss-dark,#f1f1f1);--color-icon-primary:var(--lightningcss-light,#000)var(--lightningcss-dark,#fff);--color-icon-secondary:var(--lightningcss-light,#6a6a6a)var(--lightningcss-dark,#9e9e9e);--color-icon-disabled:var(--lightningcss-light,#919191)var(--lightningcss-dark,#525252);--color-success:var(--lightningcss-light,#00490b)var(--lightningcss-dark,#a4d6a3);--color-error:var(--lightningcss-light,#76000c)var(--lightningcss-dark,#ffc4be);--color-warning:var(--lightningcss-light,#4b3900)var(--lightningcss-dark,#f8d36a);--color-success-muted:var(--lightningcss-light,#bce0bb)var(--lightningcss-dark,#90ca903d);--color-error-muted:var(--lightningcss-light,#ffc4be)var(--lightningcss-dark,#ff98903d);--color-warning-muted:var(--lightningcss-light,#fae19e)var(--lightningcss-dark,#e2b6233d);--color-border:var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff1a);--color-border-emphasized:var(--lightningcss-light,#d4d4d4)var(--lightningcss-dark,#525252);--color-skeleton:var(--lightningcss-light,#f1f1f1)var(--lightningcss-dark,#525252);--color-shadow:var(--lightningcss-light,#0000001a)var(--lightningcss-dark,#0000004d);--color-tint-hover:var(--lightningcss-light,#000)var(--lightningcss-dark,#fff);--color-background-red:var(--lightningcss-light,#ffc4be)var(--lightningcss-dark,#5b2b28);--color-border-red:var(--lightningcss-light,#ffaea7)var(--lightningcss-dark,#fa6762);--color-icon-red:var(--lightningcss-light,#76000c)var(--lightningcss-dark,#ff9890);--color-text-red:var(--lightningcss-light,#76000c)var(--lightningcss-dark,#ffaea7);--color-background-orange:var(--lightningcss-light,#ffc7a1)var(--lightningcss-dark,#503424);--color-border-orange:var(--lightningcss-light,#ffc7a1)var(--lightningcss-dark,#df843f);--color-icon-orange:var(--lightningcss-light,#622700)var(--lightningcss-dark,#ff9e55);--color-text-orange:var(--lightningcss-light,#622700)var(--lightningcss-dark,#ffb37e);--color-background-yellow:var(--lightningcss-light,#fae19e)var(--lightningcss-dark,#453a1c);--color-border-yellow:var(--lightningcss-light,#e3c36c)var(--lightningcss-dark,#c29900);--color-icon-yellow:var(--lightningcss-light,#4b3900)var(--lightningcss-dark,#e2b623);--color-text-yellow:var(--lightningcss-light,#4b3900)var(--lightningcss-dark,#eec448);--color-background-green:var(--lightningcss-light,#bce0bb)var(--lightningcss-dark,#2b422b);--color-border-green:var(--lightningcss-light,#aad4a9)var(--lightningcss-dark,#6ab26b);--color-icon-green:var(--lightningcss-light,#00490b)var(--lightningcss-dark,#90ca90);--color-text-green:var(--lightningcss-light,#00490b)var(--lightningcss-dark,#90ca90);--color-background-teal:var(--lightningcss-light,#a9e2d6)var(--lightningcss-dark,#28413c);--color-border-teal:var(--lightningcss-light,#90d7c8)var(--lightningcss-dark,#4fb1a0);--color-icon-teal:var(--lightningcss-light,#00463d)var(--lightningcss-dark,#81c9bb);--color-text-teal:var(--lightningcss-light,#00463d)var(--lightningcss-dark,#90d7c8);--color-background-cyan:var(--lightningcss-light,#9ae2f4)var(--lightningcss-dark,#274046);--color-border-cyan:var(--lightningcss-light,#85d5e9)var(--lightningcss-dark,#49adc4);--color-icon-cyan:var(--lightningcss-light,#004351)var(--lightningcss-dark,#71c7dd);--color-text-cyan:var(--lightningcss-light,#004351)var(--lightningcss-dark,#85d5e9);--color-background-blue:var(--lightningcss-light,#b9d7ff)var(--lightningcss-dark,#253c5a);--color-border-blue:var(--lightningcss-light,#a1caff)var(--lightningcss-dark,#5aa0f8);--color-icon-blue:var(--lightningcss-light,#003978)var(--lightningcss-dark,#88bcff);--color-text-blue:var(--lightningcss-light,#003978)var(--lightningcss-dark,#a1caff);--color-background-purple:var(--lightningcss-light,#f7d5ff)var(--lightningcss-dark,#4a2f51);--color-border-purple:var(--lightningcss-light,#f3bfff)var(--lightningcss-dark,#d885eb);--color-icon-purple:var(--lightningcss-light,#5c0e6c)var(--lightningcss-dark,#e496f6);--color-text-purple:var(--lightningcss-light,#5c0e6c)var(--lightningcss-dark,#eaacf8);--color-background-pink:var(--lightningcss-light,#ffc0d7)var(--lightningcss-dark,#572b3d);--color-border-pink:var(--lightningcss-light,#ffc0d7)var(--lightningcss-dark,#fc78b1);--color-icon-pink:var(--lightningcss-light,#70003f)var(--lightningcss-dark,#fd92bd);--color-text-pink:var(--lightningcss-light,#70003f)var(--lightningcss-dark,#ffa9ca);--color-background-gray:var(--lightningcss-light,#e2e2e2)var(--lightningcss-dark,#303030);--color-border-gray:var(--lightningcss-light,#d4d4d4)var(--lightningcss-dark,#262626);--color-icon-gray:var(--lightningcss-light,#474747)var(--lightningcss-dark,#9e9e9e);--color-text-gray:var(--lightningcss-light,#1b1b1b)var(--lightningcss-dark,#d4d4d4);--radius-none:0px;--radius-inner:.375rem;--radius-element:.625rem;--radius-container:.75rem;--radius-page:1.75rem;--radius-full:9999px;--shadow-low:0 2px 4px var(--lightningcss-light,oklch(0% 0 0/.05))var(--lightningcss-dark,oklch(0% 0 0/.25)), 0 4px 8px var(--lightningcss-light,oklch(0% 0 0/.1))var(--lightningcss-dark,oklch(0% 0 0/.4)), inset 0 0 0 1px var(--lightningcss-light,#0000)var(--lightningcss-dark,oklch(100% 0 0/.08));--shadow-med:0 2px 4px var(--lightningcss-light,oklch(0% 0 0/.05))var(--lightningcss-dark,oklch(0% 0 0/.35)), 0 4px 12px var(--lightningcss-light,oklch(0% 0 0/.1))var(--lightningcss-dark,oklch(0% 0 0/.5)), inset 0 0 0 1px var(--lightningcss-light,#0000)var(--lightningcss-dark,oklch(100% 0 0/.12));--shadow-high:0 4px 6px var(--lightningcss-light,oklch(0% 0 0/.1))var(--lightningcss-dark,oklch(0% 0 0/.5)), 0 12px 24px var(--lightningcss-light,oklch(0% 0 0/.15))var(--lightningcss-dark,oklch(0% 0 0/.7)), inset 0 0 0 1px var(--lightningcss-light,#0000)var(--lightningcss-dark,oklch(100% 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;--astryx-theme-neutral-color-status-fill-accent:var(--lightningcss-light,#0074e2)var(--lightningcss-dark,#6d9cfe);--astryx-theme-neutral-color-status-fill-success:var(--lightningcss-light,#198100)var(--lightningcss-dark,#64af4c);--astryx-theme-neutral-color-status-fill-warning:#ffce2f;--astryx-theme-neutral-color-status-fill-error:var(--lightningcss-light,#c9303a)var(--lightningcss-dark,#ff705d);--astryx-theme-neutral-color-status-muted-accent:var(--lightningcss-light,#b9d7ff)var(--lightningcss-dark,#88bcff3d);--astryx-theme-neutral-color-on-tint-neutral:var(--lightningcss-light,#fafafa4d)var(--lightningcss-dark,#0a0a0a4d);--astryx-theme-neutral-color-on-tint-overlay-hover:var(--lightningcss-light,#fafafa1a)var(--lightningcss-dark,#0a0a0a1a);--astryx-theme-neutral-color-on-tint-overlay-pressed:var(--lightningcss-light,#fafafa33)var(--lightningcss-dark,#0a0a0a33);--astryx-theme-neutral-color-destructive-overlay-hover:var(--lightningcss-light,#ff7f770d)var(--lightningcss-dark,#ee736c0d);--astryx-theme-neutral-color-destructive-overlay-pressed:var(--lightningcss-light,#ff7f771a)var(--lightningcss-dark,#ee736c1a);font-family:var(--font-family-body)}.astryx-heading[data-level="1"]{font-family:var(--font-family-heading);font-size:var(--text-heading-1-size);font-weight:var(--text-heading-1-weight);line-height:var(--text-heading-1-leading)}.astryx-heading[data-level="2"]{font-family:var(--font-family-heading);font-size:var(--text-heading-2-size);font-weight:var(--text-heading-2-weight);line-height:var(--text-heading-2-leading)}.astryx-heading[data-level="3"]{font-family:var(--font-family-heading);font-size:var(--text-heading-3-size);font-weight:var(--text-heading-3-weight);line-height:var(--text-heading-3-leading)}.astryx-heading[data-level="4"]{font-family:var(--font-family-heading);font-size:var(--text-heading-4-size);font-weight:var(--text-heading-4-weight);line-height:var(--text-heading-4-leading)}.astryx-heading[data-level="5"]{font-family:var(--font-family-heading);font-size:var(--text-heading-5-size);font-weight:var(--text-heading-5-weight);line-height:var(--text-heading-5-leading)}.astryx-heading[data-level="6"]{font-family:var(--font-family-heading);font-size:var(--text-heading-6-size);font-weight:var(--text-heading-6-weight);line-height:var(--text-heading-6-leading)}.astryx-heading[data-type=display-1]{font-family:var(--font-family-heading);font-size:var(--text-display-1-size);line-height:var(--text-display-1-leading)}.astryx-heading[data-type=display-2]{font-family:var(--font-family-heading);font-size:var(--text-display-2-size);line-height:var(--text-display-2-leading)}.astryx-heading[data-type=display-3]{font-family:var(--font-family-heading);font-size:var(--text-display-3-size);line-height:var(--text-display-3-leading)}.astryx-text[data-type=body]{font-family:var(--font-family-body);font-size:var(--text-body-size);line-height:var(--text-body-leading)}.astryx-text[data-type=large]{font-family:var(--font-family-body);font-size:var(--text-large-size);line-height:var(--text-large-leading)}.astryx-text[data-type=label]{font-family:var(--font-family-body);font-size:var(--text-label-size);line-height:var(--text-label-leading)}.astryx-text[data-type=code]{font-family:var(--font-family-code);font-size:var(--text-code-size);line-height:var(--text-code-leading)}.astryx-text[data-type=supporting]{font-family:var(--font-family-body);font-size:var(--text-supporting-size);line-height:var(--text-supporting-leading)}.astryx-text[data-type=display-1]{font-family:var(--font-family-heading);font-size:var(--text-display-1-size);line-height:var(--text-display-1-leading)}.astryx-text[data-type=display-2]{font-family:var(--font-family-heading);font-size:var(--text-display-2-size);line-height:var(--text-display-2-leading)}.astryx-text[data-type=display-3]{font-family:var(--font-family-heading);font-size:var(--text-display-3-size);line-height:var(--text-display-3-leading)}.astryx-button[data-variant=destructive]{background-color: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)}.astryx-badge[data-variant=info]{background-color:var(--astryx-theme-neutral-color-status-fill-accent);color:var(--color-on-accent)}.astryx-badge[data-variant=neutral]{background-color:var(--color-background-gray);color:var(--color-text-gray)}.astryx-badge[data-variant=success]{background-color:var(--astryx-theme-neutral-color-status-fill-success);color:var(--color-on-success)}.astryx-badge[data-variant=warning]{background-color:var(--astryx-theme-neutral-color-status-fill-warning);color:var(--color-on-warning)}.astryx-badge[data-variant=error]{background-color:var(--astryx-theme-neutral-color-status-fill-error);color:var(--color-on-error)}.astryx-badge[data-variant=red]{background-color:var(--color-background-red);color:var(--color-text-red)}.astryx-badge[data-variant=orange]{background-color:var(--color-background-orange);color:var(--color-text-orange)}.astryx-badge[data-variant=yellow]{background-color:var(--color-background-yellow);color:var(--color-text-yellow)}.astryx-badge[data-variant=green]{background-color:var(--color-background-green);color:var(--color-text-green)}.astryx-badge[data-variant=teal]{background-color:var(--color-background-teal);color:var(--color-text-teal)}.astryx-badge[data-variant=cyan]{background-color:var(--color-background-cyan);color:var(--color-text-cyan)}.astryx-badge[data-variant=blue]{background-color:var(--color-background-blue);color:var(--color-text-blue)}.astryx-badge[data-variant=purple]{background-color:var(--color-background-purple);color:var(--color-text-purple)}.astryx-badge[data-variant=pink]{background-color:var(--color-background-pink);color:var(--color-text-pink)}.astryx-badge[data-variant=gray]{background-color:var(--color-background-gray);color:var(--color-text-gray)}.astryx-status-dot[data-variant=success]{background-color:var(--astryx-theme-neutral-color-status-fill-success)}.astryx-status-dot[data-variant=warning]{background-color:var(--astryx-theme-neutral-color-status-fill-warning)}.astryx-status-dot[data-variant=error]{background-color:var(--astryx-theme-neutral-color-status-fill-error)}.astryx-status-dot[data-variant=accent]{background-color:var(--astryx-theme-neutral-color-status-fill-accent)}.astryx-avatar-status-dot[data-variant=success]{background-color:var(--astryx-theme-neutral-color-status-fill-success)}.astryx-avatar-status-dot[data-variant=error]{background-color:var(--astryx-theme-neutral-color-status-fill-error)}.astryx-segmented-control{padding:var(--spacing-1);--_segmented-control-padding:var(--spacing-1)}.astryx-segmented-control-item[data-size=sm]{height:calc(var(--size-element-sm) - 8px)}.astryx-segmented-control-item[data-size=md]{height:calc(var(--size-element-md) - 8px)}.astryx-segmented-control-item[data-size=lg]{height:calc(var(--size-element-lg) - 8px)}.astryx-segmented-control-item[data-selected=selected]{box-shadow:none}.astryx-banner{--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)}.astryx-banner[data-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)}.astryx-banner[data-status=success]{--color-text-primary:var(--color-text-green);--color-text-secondary:var(--color-text-green);--color-success:var(--color-text-green)}.astryx-banner[data-status=warning]{--color-text-primary:var(--color-text-yellow);--color-text-secondary:var(--color-text-yellow);--color-warning:var(--color-text-yellow)}.astryx-banner[data-status=error]{--color-text-primary:var(--color-text-red);--color-text-secondary:var(--color-text-red);--color-error:var(--color-text-red)}.astryx-step-indicator[data-status=accent]{--color-accent:var(--astryx-theme-neutral-color-status-fill-accent)}.astryx-step-indicator[data-status=success]{--color-success:var(--astryx-theme-neutral-color-status-fill-success)}.astryx-step-indicator[data-status=warning]{--color-warning:var(--astryx-theme-neutral-color-status-fill-warning)}.astryx-step-indicator[data-status=error]{--color-error:var(--astryx-theme-neutral-color-status-fill-error)}.astryx-switch{--color-background-gray:var(--color-border-emphasized)}.astryx-progress-bar{--color-background-muted:var(--color-border-emphasized)}.astryx-progress-bar[data-variant=accent]{--color-accent:var(--astryx-theme-neutral-color-status-fill-accent)}.astryx-progress-bar[data-variant=success]{--color-success:var(--astryx-theme-neutral-color-status-fill-success)}.astryx-progress-bar[data-variant=warning]{--color-warning:var(--astryx-theme-neutral-color-status-fill-warning)}.astryx-progress-bar[data-variant=error]{--color-error:var(--astryx-theme-neutral-color-status-fill-error)}.astryx-card{--astryx-card-padding:var(--spacing-3)}.astryx-card[data-variant=bubble]{background-color:var(--color-neutral);border-radius:var(--radius-chat);--astryx-card-padding-inline:var(--spacing-4);--astryx-card-padding-block-start:var(--spacing-3);--astryx-card-padding-block-end:var(--spacing-3);--_card-radius:var(--radius-chat)}.astryx-section{--astryx-section-padding:var(--spacing-3)}.astryx-section[data-variant=raised]{background-color:var(--color-background-surface);border-radius:var(--radius-page);overflow:clip}.astryx-lightbox{padding:var(--spacing-12)}.astryx-lightbox::backdrop{background-color:var(--lightningcss-light,#00000059)var(--lightningcss-dark,#0009)}.astryx-collapsible-content{interpolate-size: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;display:block;overflow:clip}.astryx-collapsible-content:where([aria-expanded=false]+*){content-visibility:hidden;height:0;padding-top:0}.astryx-citation:where(*)>[aria-hidden=true]{background-color:#0000;border-width:0;border-radius:0}.astryx-citation:where(*)>[aria-hidden=true]>img{width:100%;height:100%}.astryx-chat-tool-calls:where(*) [role=button][aria-expanded]>span:not(:first-child):not(:has(svg)){align-self:baseline}.astryx-code-block[data-container=card]{border-radius:var(--radius-container)}.astryx-layout-panel:where([role=complementary]){transition:width var(--duration-medium) var(--ease-standard)}.astryx-layout-panel:where([data-resizing]+[role=complementary],[role=complementary]:has(+[data-resizing])){transition:none}.astryx-toast{justify-self:end;width:fit-content;min-width:min(240px,100%)}.astryx-layout-content:where([role=main]){height:calc(100% - 2 * var(--spacing-4));margin-block:var(--spacing-4);border-radius:var(--radius-page);margin-inline-end:var(--spacing-4)}.astryx-side-nav-section{padding-block:var(--spacing-3)}.astryx-tree-list-item[data-selected=selected]{background-color:var(--color-overlay-pressed)}.astryx-tree-list-item-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.astryx-code{font-family:inherit}.astryx-text[data-color=primary],.astryx-heading[data-color=primary]{color:var(--color-text-primary)}.astryx-text[data-color=secondary],.astryx-heading[data-color=secondary]{color:var(--color-text-secondary)}.astryx-text[data-color=disabled],.astryx-heading[data-color=disabled]{color:var(--color-text-disabled)}.astryx-text[data-color=placeholder],.astryx-heading[data-color=placeholder]{color:var(--color-text-secondary)}.astryx-text[data-color=accent],.astryx-heading[data-color=accent]{color:var(--color-text-accent)}.astryx-text[data-size="4xs"]{font-size:var(--font-size-4xs)}.astryx-text[data-size="3xs"]{font-size:var(--font-size-3xs)}.astryx-text[data-size="2xs"]{font-size:var(--font-size-2xs)}.astryx-text[data-size=xsm]{font-size:var(--font-size-xs)}.astryx-text[data-size=sm]{font-size:var(--font-size-sm)}.astryx-text[data-size=base]{font-size:var(--font-size-base)}.astryx-text[data-size=lg]{font-size:var(--font-size-lg)}.astryx-text[data-size=xl]{font-size:var(--font-size-xl)}.astryx-text[data-size="2xl"]{font-size:var(--font-size-2xl)}.astryx-text[data-size="3xl"]{font-size:var(--font-size-3xl)}.astryx-text[data-size="4xl"]{font-size:var(--font-size-4xl)}.astryx-heading[data-weight=normal]{font-weight:var(--font-weight-normal)}.astryx-heading[data-weight=medium]{font-weight:var(--font-weight-medium)}.astryx-heading[data-weight=semibold]{font-weight:var(--font-weight-semibold)}.astryx-heading[data-weight=bold]{font-weight:var(--font-weight-bold)}}@media (width<1024px) and (pointer:coarse){@scope([data-astryx-theme=theorem-studio]) to ([data-astryx-theme]){:scope{--font-size-4xs:.4375rem;--font-size-3xs:.5rem;--font-size-2xs:.625rem;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.1875rem;--font-size-xl:1.375rem;--font-size-2xl:1.625rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--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.3846;--text-heading-2-size:var(--font-size-xl);--text-heading-2-weight:var(--font-weight-semibold);--text-heading-2-leading:1.4545;--text-heading-3-size:var(--font-size-lg);--text-heading-3-weight:var(--font-weight-bold);--text-heading-3-leading:1.4737;--text-heading-4-size:var(--font-size-base);--text-heading-4-weight:var(--font-weight-bold);--text-heading-4-leading:1.5;--text-heading-5-size:var(--font-size-sm);--text-heading-5-weight:var(--font-weight-semibold);--text-heading-5-leading:1.4286;--text-heading-6-size:var(--font-size-xs);--text-heading-6-weight:var(--font-weight-semibold);--text-heading-6-leading:1.6667;--text-body-size:var(--font-size-base);--text-body-weight:var(--font-weight-normal);--text-body-leading:1.5;--text-large-size:var(--font-size-lg);--text-large-weight:var(--font-weight-semibold);--text-large-leading:1.4737;--text-label-size:var(--font-size-base);--text-label-weight:var(--font-weight-medium);--text-label-leading:1.5;--text-code-size:var(--font-size-base);--text-code-weight:var(--font-weight-normal);--text-code-leading:1.5;--text-supporting-size:var(--font-size-sm);--text-supporting-weight:var(--font-weight-normal);--text-supporting-leading:1.4286;--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.2222;--text-display-3-size:var(--font-size-3xl);--text-display-3-weight:var(--font-weight-normal);--text-display-3-leading:1.4667;--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}}}@media (prefers-reduced-motion:reduce){@scope([data-astryx-theme=theorem-studio]) to ([data-astryx-theme]){.astryx-collapsible-content,.astryx-layout-panel:where([role=complementary]){transition:none}}}@scope([data-astryx-theme=theorem-studio]) to ([data-astryx-theme]){[data-astryx-media=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-text-primary:var(--color-on-dark);--color-icon-primary:var(--color-on-dark);--color-accent:var(--color-on-dark)}[data-astryx-media=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-text-primary:var(--color-on-light);--color-icon-primary:var(--color-on-light);--color-accent:var(--color-on-light)}}}[popover]{transition:opacity var(--duration-fast) var(--ease-standard), display var(--duration-fast) allow-discrete, overlay var(--duration-fast) allow-discrete}[popover]:not(:popover-open){opacity:0}@starting-style{[popover]:popover-open{opacity:0}}@media (prefers-reduced-motion:reduce){[popover]{transition:none}}.theorem-arrive{min-width:0;animation:theorem-arrive var(--duration-medium) var(--ease-standard) both}@keyframes theorem-arrive{0%{opacity:0;translate:0 .5rem}}@media (prefers-reduced-motion:reduce){.theorem-arrive{animation:none}}body{overflow-wrap:break-word}.astryx-field-status,.astryx-banner{overflow-wrap:anywhere;min-width:0}.studio-saved-slot,.studio-edited-slot{flex:1 1 0;min-width:0;height:100%}.studio-saved-slot{display:flex;overflow:hidden}.studio-saved-slot-side{flex:1 1 0;min-width:0}.studio-saved-slot[data-moved]{transition:flex-grow var(--duration-medium) var(--ease-standard), opacity var(--duration-medium) var(--ease-standard)}.studio-saved-slot[data-closed]{opacity:0;pointer-events:none;flex-grow:0}@starting-style{.studio-saved-slot[data-moved]{opacity:0;flex-grow:0}}@media (prefers-reduced-motion:reduce){.studio-saved-slot[data-moved]{transition:none}}@media (width>=768px){html[data-boot-pending] .astryx-app-shell,html[data-shell-move] .astryx-app-shell{height:100dvh;position:relative}html[data-boot-pending] .astryx-app-shell .astryx-app-shell-sidenav,html[data-shell-move] .astryx-app-shell .astryx-app-shell-sidenav{z-index:0;width:var(--spacing-12);transition:none;position:absolute;inset-block:0;inset-inline-start:0}html[data-boot-pending] .astryx-app-shell [role=main],html[data-shell-move] .astryx-app-shell [role=main]{z-index:1;border-radius:0;width:100%;max-width:none;height:100%;margin:0;position:relative}html[data-boot-pending] .astryx-app-shell [role=main]{clip-path:none;background:var(--color-background-surface);transition:none}html[data-shell-move] .astryx-app-shell [role=main]{background:var(--color-background-surface);transition:clip-path .64s cubic-bezier(.45,.02,.15,1)}html[data-shell-clip=open] .astryx-app-shell [role=main]{clip-path:inset(0)}html[data-shell-clip=regular] .astryx-app-shell [role=main]{clip-path:inset(var(--spacing-4) var(--spacing-4) var(--spacing-4) var(--spacing-12) round var(--radius-page))}html[data-shell-clip=frame] .astryx-app-shell [role=main]{clip-path:inset(var(--spacing-4) calc(100% - var(--spacing-12) - var(--shell-frame-width,0px)) var(--spacing-4) var(--spacing-12) round var(--radius-page))}html[data-shell-move] #astryx-app-shell-main>:not([data-boot]):not(.nav-mark){visibility:hidden}}html{--shell-hold-ms:.14s;--shell-fade:shell-content-in .28s cubic-bezier(.45, .02, .15, 1)}@keyframes shell-content-in{0%{opacity:0}}html[data-shell-hold] .shell-fade{opacity:0;visibility:hidden;transition:opacity var(--shell-hold-ms) ease, visibility 0s linear var(--shell-hold-ms)}html[data-shell-hold] #astryx-app-shell-main>:not([data-boot]):not(.nav-mark):not(:has([data-shell-frame])){opacity:0;visibility:hidden;transition:opacity var(--shell-hold-ms) ease, visibility 0s linear var(--shell-hold-ms)}html[data-shell-in] #astryx-app-shell-main>:not([data-boot]){animation:var(--shell-fade)}html[data-shell-in] #astryx-app-shell-main>:has([data-shell-frame]){animation:none}html[data-shell-in] .shell-fade{animation:var(--shell-fade)}@media (prefers-reduced-motion:reduce){html[data-shell-hold] #astryx-app-shell-main>:not([data-boot]),html[data-shell-hold] .shell-fade{transition:none}html[data-shell-in] #astryx-app-shell-main>:not([data-boot]),html[data-shell-in] .shell-fade{animation:none}}html[data-shell-in] #astryx-app-shell-main:not(#\#):not(#\#):not(#\#):not(#\#){transition:none}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/studio-monaco-xfyfezQS.js","assets/editor.api-Cd3ViPQa.js","assets/preload-helper-DpV6A1kQ.js","assets/editor-DjpsE8to.css","assets/studio-monaco-CbKf90i6.css","assets/register-CDgivxvX.js","assets/studio-type-checker-
|
|
2
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{c as t,u as n}from"./themeProps-3IqahpCr.js";import{t as r}from"./preload-helper-DpV6A1kQ.js";import{Bt as i,D as a,T as o,Un as s,Vt as c,fr as l,k as u}from"./tool-schema-BrqSc6vO.js";import{En as d,Sn as f,qt as p}from"./shaped-data-BcarWqd5.js";import{S as m,U as h,_ as g,h as _,m as v,v as y,y as b}from"./tree-DeO1319a.js";import{r as x}from"./live-ingress-lDUGPwth.js";import{n as S,t as C}from"./types-EVrOoUBG.js";import{n as w}from"./stub-DEZDrr-l.js";import{F as T,M as E,k as ee,r as te}from"./workspace-Ck0o-_fd.js";import{t as ne}from"./PaneState-C8jetBGI.js";import{G as re}from"./index-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/studio-monaco-xfyfezQS.js","assets/editor.api-Cd3ViPQa.js","assets/preload-helper-DpV6A1kQ.js","assets/editor-DjpsE8to.css","assets/studio-monaco-CbKf90i6.css","assets/register-CDgivxvX.js","assets/studio-type-checker-DcHL3C0j.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{c as t,u as n}from"./themeProps-3IqahpCr.js";import{t as r}from"./preload-helper-DpV6A1kQ.js";import{Bt as i,D as a,T as o,Un as s,Vt as c,fr as l,k as u}from"./tool-schema-BrqSc6vO.js";import{En as d,Sn as f,qt as p}from"./shaped-data-BcarWqd5.js";import{S as m,U as h,_ as g,h as _,m as v,v as y,y as b}from"./tree-DeO1319a.js";import{r as x}from"./live-ingress-lDUGPwth.js";import{n as S,t as C}from"./types-EVrOoUBG.js";import{n as w}from"./stub-DEZDrr-l.js";import{F as T,M as E,k as ee,r as te}from"./workspace-Ck0o-_fd.js";import{t as ne}from"./PaneState-C8jetBGI.js";import{G as re}from"./index-DznGBbT0.js";var D=class extends Error{line;column;constructor(e,t,n){super(e),this.line=t,this.column=n}},ie=class{text;of;i=0;line=1;column=1;constructor(e,t=`profile`){this.text=e,this.of=t}get done(){return this.i>=this.text.length}pos(){return{line:this.line,column:this.column}}fail(e){throw new D(e,this.line,this.column)}peek(e=0){return this.text[this.i+e]??``}bump(){let e=this.text[this.i]??``;return this.i+=1,e===`
|
|
3
3
|
`?(this.line+=1,this.column=1):this.column+=1,e}skip(){for(;;){let e=this.peek();if(e===` `||e===` `||e===`
|
|
4
4
|
`||e===`\r`||e===``)this.bump();else if(e===`/`&&this.peek(1)===`/`)for(;!this.done&&this.peek()!==`
|
|
5
5
|
`;)this.bump();else if(e===`/`&&this.peek(1)===`*`){for(this.bump(),this.bump();!this.done&&(this.peek()!==`*`||this.peek(1)!==`/`);)this.bump();this.done&&this.fail(`This comment never closes.`),this.bump(),this.bump()}else return}}starts(e){return this.skip(),this.text.startsWith(e,this.i)}eat(e){if(!this.starts(e))return!1;for(let t=0;t<e.length;t+=1)this.bump();return!0}expect(e){this.eat(e)||this.fail(`Expected '${e}'.`)}ident(){this.skip();let e=this.peek();if(!/^[A-Za-z_$]/.test(e))return;let t=``;for(;/^[A-Za-z0-9_$]/.test(this.peek());)t+=this.bump();return t}expectIdent(){let e=this.ident();return e===void 0&&this.fail(`Expected a name.`),e}peekIdent(){return this.skip(),/^[A-Za-z_$][A-Za-z0-9_$]*/.exec(this.text.slice(this.i))?.[0]}rest(){return this.skip(),this.text.slice(this.i)}};function O(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function k(e){e.skip();let t=e.peek();t!==`'`&&t!==`"`&&e.fail(`Expected a string.`),e.bump();let n=``;for(;!e.done&&e.peek()!==t;){let t=e.bump();if(t!==`\\`){n+=t;continue}let r=e.bump(),i={n:`
|
|
6
6
|
`,r:`\r`,t:` `,"\\":`\\`,"'":`'`,'"':`"`};if(r in i)n+=i[r];else if(r===`u`){let t=``;for(let n=0;n<4;n+=1)t+=e.bump();n+=String.fromCharCode(Number.parseInt(t,16))}else n+=r}return e.peek()!==t&&e.fail(`This string never closes.`),e.bump(),n}function ae(e){e.skip();let t=e.pos(),n=``;for(e.peek()===`-`&&(n+=e.bump());/^[0-9.eE+-]/.test(e.peek())&&n.length<64;)n+=e.bump();let r=Number(n);if(!Number.isFinite(r))throw new D(`'${n}' is not a number.`,t.line,t.column);return r}function oe(e,t,n,r){let i=0;for(;!e.done;){if(r()&&i===0)return;let a=e.peek();a===`'`||a===`"`?k(e):(a!==``&&t.includes(a)?i+=1:a!==``&&n.includes(a)&&--i,e.bump())}}function se(e){oe(e,`<([{`,`>)]}`,()=>(e.skip(),e.peek()===`;`||e.peek()===`
|
|
7
7
|
`))}function ce(e){oe(e,`{([`,`})]`,()=>e.peek()===`;`),e.peek()===`;`&&e.bump()}function le(e,t,n){e.expect(`{`);let r={};for(;!e.eat(`}`);){e.eat(`...`)&&e.fail(`This file doesn't use spreads.`);let i=e.pos(),a;if(a=e.peek()===`'`||e.peek()===`"`?k(e):e.expectIdent(),a===`__proto__`)throw new D(`'__proto__' sets what an object inherits, not a setting.`,i.line,i.column);if(Object.hasOwn(r,a))throw new D(`'${a}' is set twice.`,i.line,i.column);let o=t?`${t}.${a}`:a;n.push({path:o,line:i.line,column:i.column}),e.expect(`:`),r[a]=F(e,o,n),e.eat(`,`),e.done&&e.fail(`This object never closes.`)}return r}function ue(e,t,n){e.expect(`[`);let r=[],i=0;for(;!e.eat(`]`);){e.eat(`...`)&&e.fail(`This file doesn't use spreads.`),e.skip();let a=e.pos(),o=t?`${t}.${String(i)}`:String(i);n.push({path:o,line:a.line,column:a.column}),r.push(F(e,o,n)),i+=1,e.eat(`,`),e.done&&e.fail(`This array never closes.`)}return r}function de(e,t,n){let[r]=t;return e!==`z.fromJSONSchema`&&n.fail(`The studio reads a schema as JSON Schema: z.fromJSONSchema({ ... }), not '${e}'.`),O(r)||n.fail(`z.fromJSONSchema() needs a schema.`),r}function A(e){return O(e)&&e.kind===`member`}function fe(e,t){return{kind:`member`,object:e,name:t}}function pe(e){if(typeof e.object==`string`)return`${e.object}.${e.name}`;if(A(e.object)){let t=pe(e.object);return t?`${t}.${e.name}`:void 0}}function j(e,t,n){let r=e[0];return O(r)||t.fail(n),r}function me(e,t,n){let r=j(e,t,`registerTool() needs the tool object.`),i=r.type,a=typeof i==`string`&&C.includes(i);if(i!==void 0&&!a){let e=n.findLast(e=>e.path===`type`)??t.pos();throw new D(S,e.line,e.column)}return{kind:`registerTool`,tool:r}}function he(e,t,n,r){if(n.of===`provider`){if(e!==`registerProvider`)return n.fail(`'${e}' isn't part of a provider's code.`);let[r,i={}]=t;return typeof r!=`string`&&n.fail(`registerProvider() needs the definition it registers from.`),(!O(i)||t.length>2)&&n.fail(`registerProvider() takes the definition and its settings.`),{kind:`provider`,definition:r,spec:i}}return e===`compileDetect`?j(t,n,`compileDetect() needs the detect object.`):e===`defineProfile`?j(t,n,`defineProfile() needs the profile object.`):e===`registerTool`?me(t,n,r):e===`registerStructured`?{kind:`registerStructured`,args:t}:e===`registerProfile`||e===`registerProvider`?{kind:e}:n.fail(`'${e}' isn't part of this file.`)}function ge(e,t,n){return(typeof t!=`string`||e.some(e=>typeof e!=`string`))&&n.fail(`.join() here joins lines of one string.`),e.join(t)}function _e(e,t,n){if(e.name===`join`&&Array.isArray(e.object))return ge(e.object,t[0],n);if(e.name===`resolve`&&e.object===`Promise`)return t[0];let r=pe(e);return r?.startsWith(`z.`)?de(r,t,n):n.fail(`This call isn't part of this file.`)}function ve(e,t,n,r){return typeof e==`string`?he(e,t,n,r):(A(e)||n.fail(`This call isn't part of this file.`),_e(e,t,n))}function ye(e){return/^(async\s*)?\(\s*\)\s*=>/.test(e.rest())}function be(e,t,n){return e.peekIdent()===`async`&&e.expectIdent(),e.expect(`(`),e.eat(`)`)||e.fail(`A handler here takes no arguments. It returns a fixed value.`),e.expect(`=>`),F(e,t,n)}var M=class{name;constructor(e){this.name=e}};function N(e){return e instanceof M?e.name:e}function P(e,t,n){return ye(e)?be(e,t,n):Se(xe(e,t,n),e,t,n)}function xe(e,t,n){e.skip();let r=e.peek();if(r===`'`||r===`"`)return k(e);if(r==="`"&&e.fail(`This file doesn't use template strings.`),r===`-`||/^[0-9]/.test(r))return ae(e);if(r===`{`)return le(e,t,n);if(r===`[`)return ue(e,t,n);if(r===`(`){e.bump();let r=P(e,t,n);return e.expect(`)`),r}let i=e.ident();return i===`true`?!0:i===`false`?!1:i===`null`?null:(i===void 0&&e.fail(`Expected a value.`),new M(i))}function F(e,t,n){e.skip();let r=e.pos(),i=P(e,t,n);if(!(i instanceof M))return i;if(i.name!==`undefined`)throw new D(`'${i.name}' is set somewhere else. Write its value here.`,r.line,r.column)}function Se(e,t,n,r){let i=e;for(;;)if(t.eat(`.`)){let e=t.expectIdent();i=fe(N(i),e)}else if(t.eat(`(`)){let e=r.length,a=[];for(;!t.eat(`)`);)a.push(N(P(t,n,r))),t.eat(`,`),t.done&&t.fail(`This call never closes.`);i=ve(N(i),a,t,r.slice(e))}else return A(i)&&t.fail(`This file doesn't stop on a property.`),i}function Ce(e,t){e.expectIdent();let n=e.expectIdent();e.expect(`=`);let r=P(e,``,t.spans);(e.eat(`satisfies`)||e.eat(`as`))&&se(e),e.eat(`;`),e.of===`provider`?e.fail(`A provider's code is its registerProvider() call and nothing else.`):n===`profile`?(O(r)||e.fail(`profile has to be the defineProfile() object.`),t.profile&&e.fail(`This file defines two profiles.`),t.profile=r):n===`questions`?(O(r)||e.fail(`questions has to be an object.`),t.questions=r):n===`images`&&(O(r)||e.fail(`images has to be an object.`),t.images=r)}function we(e,t){let n=P(e,``,t.spans);if(e.eat(`;`),O(n)){if(n.kind===`provider`&&typeof n.definition==`string`&&O(n.spec))t.provider&&e.fail(`This code registers two providers.`),t.provider={definition:n.definition,spec:n.spec};else if(n.kind===`registerTool`){let r=n.tool;O(r)||e.fail(`registerTool() needs the tool object.`),t.tools.push(r)}else if(n.kind===`registerStructured`){let[r,i]=Array.isArray(n.args)?n.args:[];(typeof r!=`string`||!O(i))&&e.fail(`registerStructured() needs an id and a spec.`),t.structured={id:r,spec:i}}}}function I(e,t=`profile`){let n=new ie(e,t),r={tools:[],spans:[]};for(n.skip();!n.done;n.skip())n.peekIdent()===`import`?(n.expectIdent(),ce(n)):(n.peekIdent()===`export`&&n.expectIdent(),n.peekIdent()===`const`?Ce(n,r):we(n,r));return t===`provider`?r.provider||n.fail(`This code needs registerProvider().`):r.profile||n.fail(`This file needs defineProfile().`),r}function L(e,t=``){return typeof e==`string`?e:t}function R(e){return typeof e==`number`?e:null}function Te(e,t){if(e===void 0)return``;if(typeof e==`string`)return e;if(!Array.isArray(e))throw new D(t,1,1);return e.map(e=>{if(typeof e==`string`)return e;if(O(e)&&typeof e.private==`string`)return`{private: ${e.private}}`;throw new D(t,1,1)}).join(``)}function z(e){return e===void 0?``:JSON.stringify(e,null,2)}function Ee(e,t){return T(e)===T(t)}function B(e){return O(e)?JSON.stringify(e,null,2):JSON.stringify(e)}function V(e){return Array.isArray(e)?e.map(e=>{if(!O(e)||typeof e.name!=`string`)throw new D(`A pattern needs a name.`,1,1);return Array.isArray(e.words)?{name:e.name,kind:`words`,pattern:``,flags:``,words:e.words.filter(e=>typeof e==`string`)}:{name:e.name,kind:`pattern`,pattern:L(e.pattern),flags:L(e.flags),words:[]}}):[]}function H(e){return O(e)?e:void 0}function U(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function W(e){return Array.isArray(e)?U(e):void 0}function G(e){return L(e)||void 0}function K(e){return Array.isArray(e)?U(e).join(`
|
|
8
|
-
`)||void 0:G(e)}function q(e,t,n){return O(e)?t(e):n}function De(e,t,n){if(!O(n))return;if(Array.isArray(n.names)){e.innocentNames=U(n.names);return}if(!(t in e.allow))return;let r=e.allow[t];r.hosts=U(n.hosts),r.fromTools=n.fromTools!==!1}function Oe(e,t,n){let r=H(n.at)??{};e.detect[t]={...e.detect[t],...r};let i=e.sources[t];i&&(n.theorem===!1&&(i.theorem=!1),i.patterns=V(n.patterns),i.hint=L(n.hint)),De(e,t,n.allow)}function ke(e,t){let n=d(f,()=>`ignore`);return O(t.at)&&Object.assign(n,t.at),{key:e,label:L(t.label),at:n,patterns:V(t.patterns),hint:L(t.hint)}}function Ae(e){let t=g().guardrails;if(!O(e))return t;let n={detect:structuredClone(t.detect),sources:structuredClone(t.sources),allow:structuredClone(t.allow),innocentNames:[...t.innocentNames]},r=[],i=new Set(p);for(let[t,a]of Object.entries(H(e.detect)??{}))O(a)&&(i.has(t)?Oe(n,t,a):r.push(ke(t,a)));let a=H(e.quota),o=H(e.blockedReply),s=H(e.network),c=H(e.taint);return{...t,...n,own:r,quotaEnabled:a!==void 0,quotaPerDay:R(a?.perDay),blockedReplyOnBlock:L(o?.onBlock),blockedReplyMaxRetries:R(o?.maxRetries),allowPrivateNetworks:s?.allowPrivateNetworks===!0,allowedHosts:U(s?.allowedHosts),allowedSchemes:U(s?.allowedSchemes),taintAfterRemoteRead:L(c?.afterRemoteRead),taintRemoteDestination:L(c?.remoteDestination)}}var je={"continue.instruction":(e,t)=>{e.turnBehaviour.continueInstruction=t},"canary.bind_note":(e,t)=>{e.guardrails.canaryBindNote=t},"quota.exhausted":(e,t)=>{e.guardrails.quotaMessage=t},"repair.default_guidance":(e,t)=>{e.outputs.repairGuidance=t},"egress.default_repair_guidance":(e,t)=>{e.guardrails.egressRepairGuidance=t},"egress.refusal":(e,t)=>{e.guardrails.egressRefusal=t}};function Me(e,t){if(!O(t))return;let n={};for(let[r,i]of Object.entries(t)){if(typeof i!=`string`)continue;let t=je[r];t?t(e,i):v[r]||(n[r]=i)}e.labels=n}function Ne(e,t,n,r,i){let a=n??y({modelId:e});if(!O(t))return{...a,modelId:e};let o=O(t.efforts)?Object.entries(t.efforts).map(([e,t])=>({alias:e,level:t})):[],s=O(t.compaction)?t.compaction:void 0,c=L(s?.profile),l=R(t.timeoutMs);return{...a,modelId:e,protocol:L(t.protocol,a.protocol),provider:L(t.provider,a.provider),apiId:L(t.apiId),options:H(t.options)??{},timeoutMs:l,efforts:o,defaultEffort:L(t.defaultEffort),allowEffortSelect:t.allowEffortSelect===!0,summaries:typeof t.summaries==`boolean`?t.summaries:null,maxOutputTokens:R(t.maxOutputTokens),temperature:typeof t.temperature==`number`?t.temperature:null,builtInTools:Array.isArray(t.builtInTools)?t.builtInTools.filter(e=>typeof e==`string`):[],keySlot:L(t.keySlot),fallbackKeySlot:L(t.fallbackKeySlot),compactTiming:L(s?.timing),compactMaxTokens:R(s?.maxTokens),compactAt:typeof s?.compactAt==`number`?s.compactAt:void 0,compactKeep:R(s?.previousExchanges),compactMeter:L(s?.meter),compactWith:c?Pe(c,r,`models.${e}.compaction.profile`,i):``}}function Pe(e,t,n,r){return t?t(e)??X(r,n,`'${e}' is not an agent here, so it can't write this model's summaries.`):``}function Fe(e,t){let n=t.output;if(e===`function`&&O(t.handler)&&O(n)&&!Ee(t.handler,w(n)))return z(t.handler)}function Ie(e){let t=H(e.mapping)??{};return{endpoint:G(e.endpoint),method:G(e.method),headersJson:O(e.headers)?z(e.headers):void 0,pathParams:W(t.pathParams),queryParams:W(t.queryParams),bodyParam:G(t.bodyParam),serverUrl:G(e.serverUrl),mcpToolName:G(e.mcpToolName)}}function Le(e){let t=H(e.auth)??{};return{authType:L(t.type),authSlot:G(t.slot),authService:G(t.service),authHeaderName:G(t.headerName),authHeaderPrefix:typeof t.headerPrefix==`string`?t.headerPrefix:void 0,authQueryParam:G(t.queryParam),authUnauthenticated:L(t.onUnauthenticated),authScopes:W(t.scopes),authClientId:G(t.clientId),authRedirectUri:G(t.redirectUri)}}function Re(e,t,n){let r=t??b(),i=L(e.type,r.toolType),a=H(e.labels)??{},o=L(e.profile),s=e.answeredBy===`page`;return{...r,key:t?.key??m(`tool`),toolName:L(e.name,r.toolName),toolType:i,description:L(e.description),category:L(e.category,`studio`),access:L(e.access,r.access),permission:L(e.permission,r.permission),loadTier:L(e.loadTier,r.loadTier),paths:W(e.paths)??[`*`],inputJson:e.input===void 0?r.inputJson:B(e.input),outputJson:e.output===void 0?r.outputJson:B(e.output),activity:K(a.activity),activityPast:K(a.activityPast),activityFailed:K(a.activityFailed),request:K(a.request),stubOutputJson:s?t?.stubOutputJson:Fe(i,e),answeredBy:s?`page`:void 0,...Ie(e),agentKey:o?n?.(o):void 0,maxCallsPerTurn:R(e.maxCallsPerTurn),...Le(e)}}function ze(e,t){let n=new Map(t.map(e=>[e.id,e]));return Object.entries(e).map(([e,t])=>{let r=n.get(e),i=O(t)?t:{},a=L(i.type,`choice`),o=i.criteria,s=Array.isArray(o)?o.map((e,t)=>({key:r?.criteria[t]?.key??m(`criterion`),label:``,text:L(e)})):O(o)?Object.entries(o).map(([e,t],n)=>({key:r?.criteria[n]?.key??m(`criterion`),label:e,text:L(t)})):[];return{key:r?.key??m(`question`),id:e,type:a,instructions:L(i.instructions),criteria:s,...a===`box`&&L(i.image)?{image:L(i.image)}:{}}})}function Be(e){if(!Array.isArray(e))return[];let t=[];for(let n of e)if(O(n)){if(typeof n.uri==`string`){let e=L(n.name);t.push({key:m(`reference`),uri:n.uri,...e?{name:e}:{}})}else typeof n.data==`string`&&t.push({key:m(`reference`),name:L(n.name),mimeType:L(n.mimeType),data:n.data})}return t}function Ve(e,t){return e?h.filter(n=>!n.optional||n.role===`branch`||!n.profileTypes.includes(e)?!1:n.profilePath in t).map(e=>e.id):g().included}function He(e,t,n,r){let i=[],a=new Set;for(let o of e){let e=Re(o,t.get(L(o.name)),n);if(e.toolName&&a.has(e.toolName)){let t=r.filter(e=>e.path===`name`)[i.length]??{line:1,column:1};throw new D(`'${e.toolName}' is registered twice.`,t.line,t.column)}e.toolName&&a.add(e.toolName),i.push(e)}return i}function Ue(e,t,n){if(t===void 0)return[];let r=n.findLast(e=>e.path===`tools.allow`)??{line:1,column:1};if(!Array.isArray(t))throw new D(`tools.allow has to be a list of tool names.`,r.line,r.column);let i=new Map(e.map(e=>[e.toolName,e])),a=[],o=new Set;for(let[e,s]of t.entries()){let t=n.find(t=>t.path===`tools.allow.${String(e)}`)??r;if(typeof s!=`string`||s.trim()===``)throw new D(`tools.allow names tools.`,t.line,t.column);if(o.has(s))throw new D(`'${s}' is listed twice in tools.allow.`,t.line,t.column);o.add(s);let c=i.get(s);if(!c)throw new D(`'${s}' is in tools.allow, and this file has no registerTool for it.`,t.line,t.column);a.push(c)}return a}function We(e,t,n){let r=H(t.identity)??{},i=r.systemByRole;return{...e,agentId:L(t.id),profileType:n,handle:L(r.handle),system:Te(r.system,`The system prompt has to be text.`),systemByRoleJson:O(i)||Array.isArray(i)?z(i):``}}function Ge(e){return{...O(e.providerContinuation)&&(e.providerContinuation.history===`provider`||e.providerContinuation.history===`stateless`)?{providerHistory:e.providerContinuation.history}:{},defaultModel:L(e.defaultModel),allowModelSelect:e.allowModelSelect===!0,maxSteps:R(e.maxSteps),key:L(e.key),fallbackKey:L(e.fallbackKey)}}function Ke(e){return s.includes(e)}function qe(e){let t=H(e.context);return{text:e.text!==!1,attachmentsAccept:U(H(e.attachments)?.accept),voiceAccept:U(H(e.voice)?.accept),maxFiles:R(e.maxFiles),maxBytes:R(e.maxBytes),maxTurnBytes:R(e.maxTurnBytes),limitsByMimeJson:z(e.limitsByMime),slotsJson:z(e.slots),contextFrom:U(t?.from).filter(Ke),contextMaxChars:R(t?.maxChars)}}function Je(e){return Object.fromEntries(Object.entries(e??{}).map(([e,t])=>[e,H(t)?.onFail===`fix`?`fix`:`drop`]))}function Ye(e,t){let n=t?.id??L(e?.structured),r=H(e?.streaming),i=H(e?.validation);return{mode:n?`structured`:`text`,schemaId:n,schemaJson:z(t?.spec.jsonSchema),streamMode:L(r?.mode),streamThoughts:r?.streamThoughts!==!1,validationEnabled:i!==void 0,maxRetries:R(i?.maxRetries),itemRules:Je(H(i?.items)),repairGuidance:``}}function Xe(e){let t=H(e.resumption),n=Array.isArray(t?.allowContinue)?t.allowContinue:[...i],r=Array.isArray(t?.autoContinue)?t.autoContinue:[...c];return{resumeEnabled:n.length>0||r.length>0,allowContinue:n,autoContinue:r,maxContinues:R(t?.maxContinues),continueInstruction:``,allowSteering:e.allowSteering!==!1,atStepLimit:e.atStepLimit===`answer`?`answer`:`stop`}}function Ze(e){let t=g().observability,n=typeof e.writeTo==`string`&&e.writeTo?e.writeTo:t.destination;return{...t,writeTo:e.writeTo!==!1&&n,destination:n,sampleRate:typeof e.sampleRate==`number`?e.sampleRate:t.sampleRate,include:{...t.include,...H(e.include)},scrub:{...t.scrub,...H(e.scrub)},retainForDays:R(e.retainForDays),rotateAfterMiB:R(e.rotateAfterMiB),resourceJson:z(e.resource)}}function Qe(e){return{aspectRatio:L(e.aspectRatio),resolution:L(e.resolution),mimeType:L(e.mimeType),quality:L(e.quality),background:L(e.background),n:R(e.n),seed:R(e.seed),outputCompression:R(e.outputCompression),includeText:e.includeText===!0,references:Be(e.references)}}function $e(e){return{voice:L(e.voice),style:L(e.style),speed:R(e.speed),format:L(e.format)}}function J(e,t){let n=e[t];return typeof n==`boolean`?n:x(t)}function et(e){let t=H(e.ingress)??{},n=H(e.vad)??{},r=H(e.contextCompression),i=H(r?.slidingWindow),a=H(e.transcription);return{ingressAudio:J(t,`audio`),ingressVideo:J(t,`video`),ingressText:J(t,`text`),voice:L(e.voice),sessionResumption:e.sessionResumption===!0,greeting:L(e.greeting),resumedPrompt:L(H(e.resumed)?.prompt),resumedAfterMs:R(H(e.resumed)?.afterMs),contextCompression:r!==void 0,compressionTriggerTokens:R(r?.triggerTokens),compressionTargetTokens:R(i?.targetTokens),transcriptionInput:a?.input===!0,transcriptionOutput:a?.output===!0,vadActivityHandling:L(n.activityHandling),vadStartSensitivity:L(n.startSensitivity),vadEndSensitivity:L(n.endSensitivity),vadPrefixPaddingMs:R(n.prefixPaddingMs),vadSilenceDurationMs:R(n.silenceDurationMs)}}function tt(e,t,n){let r=R(H(t.profile?.inputs)?.maxStateBytes);return{contract:L(e.contract),maxStateBytes:r,questions:t.questions?ze(t.questions,n.questions):[],images:t.images?nt(t.images,n.images):[]}}function nt(e,t){let n=new Map(t.map(e=>[e.name,e]));return Object.entries(e).map(([e,t])=>{let r=e.replace(/^<|>$/g,``),i=O(t)?t:{};return{key:n.get(r)?.key??m(`image`),name:r,mimeType:L(i.mimeType),data:L(i.data)}})}function rt(e){let t=L(e.type);if(t&&!_.includes(t))throw new D(`'${t}' is not a profile type.`,1,1);return t}var it=[`turnBehaviour.atStepLimit`,`outputs.validation.items.*.onFail`];function at(e,t){for(let n of it){let r=l(n)?.options??[];for(let[i,a]of Y(e,n.split(`.`),[]))a!==void 0&&!r.includes(a)&&X(t,i,`${JSON.stringify(a)} is not one of ${r.map(e=>`'${e}'`).join(`, `)}.`)}}function Y(e,t,n){let[r,...i]=t;return r===void 0?[[n.join(`.`),e]]:O(e)?(r===`*`?Object.keys(e):[r]).flatMap(t=>Y(e[t],i,[...n,t])):[]}function ot(e,t,n){let r=e.profile??{},i=rt(r);at(r,e.spans);let a=new Map(t.modelBindings.map(e=>[e.modelId,e])),o=new Map(t.toolSpecs.map(e=>[e.toolName,e])),s=H(r.tools)??{},c=H(r.inputs),l=H(r.outputs),u={...t,identity:We(t.identity,r,i),included:Ve(i,r),models:Ge(r),modelBindings:Object.entries(H(r.models)??{}).map(([t,r])=>Ne(t,r,a.get(t),n,e.spans)),tools:{t2Loader:L(s.t2Loader),parallel:s.parallel===!0},toolSpecs:[],inputs:c&&i!==`decision`?qe(c):t.inputs,outputs:l||e.structured?Ye(l,e.structured):t.outputs,turnBehaviour:q(r.turnBehaviour,Xe,t.turnBehaviour),guardrails:q(r.guardrails,Ae,t.guardrails),observability:q(r.observability,Ze,t.observability),image:q(r.image,Qe,t.image),speech:q(r.speech,$e,t.speech),live:q(r.live,et,t.live),decision:q(r.decision,n=>tt(n,e,t.decision),t.decision),labels:{}},d=He(e.tools,o,n,e.spans),f=Ue(d,s.allow,e.spans);u.toolSpecs=f;let p=new Set(f.map(e=>e.toolName));return u.tools.t2Loader&&!p.has(u.tools.t2Loader)&&(u.tools={...u.tools,t2Loader:``}),Me(u,r.labels),{draft:u,registered:d}}function st(e,t,n){try{let r=I(e),{draft:i,registered:a}=ot(r,t,n);return{ok:!0,draft:i,spans:r.spans,registered:a}}catch(e){if(e instanceof D)return{ok:!1,errors:[{message:e.message,line:e.line,column:e.column}]};throw e}}function X(e,t,n){let r=e.findLast(e=>e.path===t)??{line:1,column:1};throw new D(n,r.line,r.column)}var ct=new Set([`id`,`connection`,`keySlot`,`fallbackKeySlot`]);function lt(e,t,n){let{spec:r}=e;for(let e of Object.keys(r))ct.has(e)||X(n,e,`'${e}' isn't a provider setting the studio holds.`);r.id!==t.id&&X(n,`id`,`The id stays '${t.id}': models and code name the provider by it.`);let i=a(e.definition);if(!i){let t=u().flatMap(e=>o(e)??[]).join(`, `);X(n,``,`'${e.definition}' isn't one of the kernel's providers: ${t}.`)}let s=r.connection===void 0?{}:ut(r.connection,n),c=Object.keys(s).length===0&&t.connection===void 0,l={id:t.id,definition:i,...c?{}:{connection:s}};for(let e of[`keySlot`,`fallbackKeySlot`]){let t=r[e];t!==void 0&&(typeof t!=`string`&&X(n,e,`${e} names a key slot.`),l[e]=t)}return l}function ut(e,t){let n=`connection holds text settings here.`,r={};O(e)||X(t,`connection`,n);for(let[i,a]of Object.entries(e))typeof a!=`string`&&X(t,`connection`,n),r[i]=a;return r}function dt(e,t){try{let n=I(e,`provider`);if(!n.provider)throw new D(`This code needs registerProvider().`,1,1);return{ok:!0,provider:lt(n.provider,t,n.spans),spans:n.spans}}catch(e){if(e instanceof D)return{ok:!1,errors:[{message:e.message,line:e.line,column:e.column}]};throw e}}var Z=e(n(),1),Q=t(),ft=300,pt=2e3;function mt({editor:e,monaco:t,spans:n,errors:r},i){let a=e?.getModel();t&&a&&t.editor.setModelMarkers(a,`studio`,[...r.map(e=>$(t,e.line,e.column,e.message)),...gt(t,n,i)])}function ht({text:e,hold:t,isReadOnly:n=!1,issues:i,onApply:a}){let o=(0,Z.useRef)(null),s=(0,Z.useRef)(a),c=(0,Z.useRef)(e),l=(0,Z.useRef)(n);l.current=n;let u=(0,Z.useRef)(i),d=(0,Z.useRef)({spans:[],errors:[],setting:!1,dirty:!1});return s.current=a,c.current=e,u.current=i,(0,Z.useEffect)(()=>{let e=o.current;if(!e)return;let t={disposed:!1},n,i,a=0,f,p=!1,m=!1,h=()=>{a+=1,i&&clearTimeout(i),i=void 0,f?.stop(),f=void 0,p=!1,m=!1},g=t=>e.contains(t)?!0:t instanceof Element&&!!t.closest(`.suggest-widget, .parameter-hints-widget, .monaco-hover, .monaco-menu-container, .context-view`),_=()=>!!document.querySelector(`.suggest-widget.visible, .parameter-hints-widget.visible`),v,y=()=>{mt(d.current,u.current)};return(async()=>{let o=await r(()=>import(`./studio-monaco-xfyfezQS.js`),__vite__mapDeps([0,1,2,3,4]));await r(()=>import(`./register-CDgivxvX.js`),__vite__mapDeps([5,2,1,3]));let u=(await r(async()=>{let{default:e}=await import(`./editor.worker-6GY8RhDc.js`);return{default:e}},[])).default;if(self.MonacoEnvironment={getWorker(){return new u}},t.disposed||!e.isConnected)return;let b=document.documentElement.dataset.theme===`dark`||globalThis.matchMedia(`(prefers-color-scheme: dark)`).matches,x=o.Uri.parse(`file:///agent.ts`);o.editor.getModel(x)?.dispose();let S=o.editor.createModel(c.current,`typescript`,x),C=o.editor.create(e,{model:S,readOnly:l.current,language:`typescript`,theme:b?`vs-dark`:`vs`,minimap:{enabled:!1},fontSize:13,wordWrap:`on`,wrappingIndent:`indent`,scrollBeyondLastLine:!1,automaticLayout:!0,fixedOverflowWidgets:!0,tabSize:2,padding:{top:12},quickSuggestions:{other:!0,comments:!1,strings:!0},suggestOnTriggerCharacters:!0,acceptSuggestionOnEnter:`on`,tabCompletion:`on`,wordBasedSuggestions:`currentDocument`,parameterHints:{enabled:!0},suggest:{preview:!0,showIcons:!0}});d.current.editor=C,d.current.monaco=o;let w=()=>{i&&clearTimeout(i),i=setTimeout(()=>{t.disposed||(_()?w():h())},pt)},T=()=>{if(f){m&&w();return}if(p)return;let e=a,n=()=>t.disposed||e!==a;p=!0,r(async()=>{let{openTypeChecker:e}=await import(`./studio-type-checker-DHsmQ4Du.js`);return{openTypeChecker:e}},__vite__mapDeps([6,2])).then(({openTypeChecker:r})=>{if(n())return;let i=r(o,C,()=>{t.disposed||e!==a||(m=!0,w())});n()?i.stop():f=i}).catch(()=>{}).finally(()=>{e===a&&(p=!1)})};C.onKeyDown(e=>{let t=e.browserEvent;t.metaKey||t.ctrlKey||t.altKey||m&&w()});let E=e=>{let t=e.target;t instanceof Node&&!g(t)&&h()};document.addEventListener(`pointerdown`,E,!0),v=()=>{document.removeEventListener(`pointerdown`,E,!0)},C.onDidBlurEditorText(()=>{queueMicrotask(()=>{if(t.disposed||C.hasTextFocus())return;let e=document.activeElement;e&&g(e)||h()})}),C.onDidChangeModelContent(()=>{if(d.current.setting)return;T();let e=C.getValue();d.current.dirty=e!==c.current,n&&clearTimeout(n),n=setTimeout(()=>{let t=s.current(e);d.current.spans=t.spans,d.current.errors=t.errors,y()},ft)}),y()})(),()=>{t.disposed=!0,v?.(),h(),n&&clearTimeout(n);let e=d.current.editor?.getModel();d.current.editor?.dispose(),e?.dispose(),d.current.editor=void 0}},[]),(0,Z.useEffect)(()=>{let{editor:n}=d.current;n&&!t&&(d.current.dirty&&n.getValue()!==e||(n.getValue()===e||(d.current.setting=!0,n.setValue(e),d.current.setting=!1),d.current.dirty=!1))},[e,t]),(0,Z.useEffect)(()=>{d.current.editor?.updateOptions({readOnly:n})},[n]),(0,Z.useEffect)(()=>{mt(d.current,i)},[i]),(0,Q.jsx)(`div`,{ref:o,className:`studio-fill`})}function $(e,t,n,r){return{startLineNumber:t,startColumn:n,endLineNumber:t,endColumn:n+1,message:r,severity:e.MarkerSeverity.Error}}function gt(e,t,n){return n.flatMap(n=>{let r=n.field?`${n.nodeId}.${n.field}`:n.nodeId,i=t.find(e=>e.path===r)??(n.field?t.find(e=>e.path===n.field):void 0);return i?[$(e,i.line,i.column,n.message)]:[]})}function _t({source:e,blocked:t,issues:n,state:r}){let i=(0,Z.useRef)(e);e&&(i.current=e);let a=(0,Z.useCallback)(e=>{let t=te(r.workspace,r.focus);if(!t)return{errors:[{message:`No agent is open.`,line:1,column:1}],spans:[]};let n=st(e,{...t,toolSpecs:r.workspace.toolSpecs},e=>r.workspace.agents.find(t=>t.identity.agentId.trim()===e)?.key);return n.ok?(r.update(e=>ee(e,r.focus,n.draft,n.registered)),{errors:[],spans:n.spans}):{errors:n.errors,spans:[]}},[r]);return i.current?(0,Q.jsx)(`div`,{className:`studio-fill`,children:(0,Q.jsx)(ht,{text:e??i.current,hold:e==null,issues:n,onApply:a})}):(0,Q.jsx)(ne,{title:`No code yet`,description:`${t??``} to generate the TypeScript.`})}function vt({provider:e,issues:t,state:n,isEditable:r}){let i=(0,Z.useCallback)(t=>{let r=n.workspace.providers.find(t=>t.id===e.id);if(!r)return{errors:[{message:`No provider is open.`,line:1,column:1}],spans:[]};let i=dt(t,r);return i.ok?(n.update(e=>E(e,i.provider)),{errors:[],spans:i.spans}):{errors:i.errors,spans:[]}},[n,e.id]);return(0,Q.jsx)(`div`,{className:`studio-fill`,children:(0,Q.jsx)(ht,{text:re(e),hold:!1,isReadOnly:!r||o(e.definition)===void 0,issues:t,onApply:i},e.id)})}export{_t as CodeBody,vt as ProviderCode};
|
|
8
|
+
`)||void 0:G(e)}function q(e,t,n){return O(e)?t(e):n}function De(e,t,n){if(!O(n))return;if(Array.isArray(n.names)){e.innocentNames=U(n.names);return}if(!(t in e.allow))return;let r=e.allow[t];r.hosts=U(n.hosts),r.fromTools=n.fromTools!==!1}function Oe(e,t,n){let r=H(n.at)??{};e.detect[t]={...e.detect[t],...r};let i=e.sources[t];i&&(n.theorem===!1&&(i.theorem=!1),i.patterns=V(n.patterns),i.hint=L(n.hint)),De(e,t,n.allow)}function ke(e,t){let n=d(f,()=>`ignore`);return O(t.at)&&Object.assign(n,t.at),{key:e,label:L(t.label),at:n,patterns:V(t.patterns),hint:L(t.hint)}}function Ae(e){let t=g().guardrails;if(!O(e))return t;let n={detect:structuredClone(t.detect),sources:structuredClone(t.sources),allow:structuredClone(t.allow),innocentNames:[...t.innocentNames]},r=[],i=new Set(p);for(let[t,a]of Object.entries(H(e.detect)??{}))O(a)&&(i.has(t)?Oe(n,t,a):r.push(ke(t,a)));let a=H(e.quota),o=H(e.blockedReply),s=H(e.network),c=H(e.taint);return{...t,...n,own:r,quotaEnabled:a!==void 0,quotaPerDay:R(a?.perDay),blockedReplyOnBlock:L(o?.onBlock),blockedReplyMaxRetries:R(o?.maxRetries),allowPrivateNetworks:s?.allowPrivateNetworks===!0,allowedHosts:U(s?.allowedHosts),allowedSchemes:U(s?.allowedSchemes),taintAfterRemoteRead:L(c?.afterRemoteRead),taintRemoteDestination:L(c?.remoteDestination)}}var je={"continue.instruction":(e,t)=>{e.turnBehaviour.continueInstruction=t},"canary.bind_note":(e,t)=>{e.guardrails.canaryBindNote=t},"quota.exhausted":(e,t)=>{e.guardrails.quotaMessage=t},"repair.default_guidance":(e,t)=>{e.outputs.repairGuidance=t},"egress.default_repair_guidance":(e,t)=>{e.guardrails.egressRepairGuidance=t},"egress.refusal":(e,t)=>{e.guardrails.egressRefusal=t}};function Me(e,t){if(!O(t))return;let n={};for(let[r,i]of Object.entries(t)){if(typeof i!=`string`)continue;let t=je[r];t?t(e,i):v[r]||(n[r]=i)}e.labels=n}function Ne(e,t,n,r,i){let a=n??y({modelId:e});if(!O(t))return{...a,modelId:e};let o=O(t.efforts)?Object.entries(t.efforts).map(([e,t])=>({alias:e,level:t})):[],s=O(t.compaction)?t.compaction:void 0,c=L(s?.profile),l=R(t.timeoutMs);return{...a,modelId:e,protocol:L(t.protocol,a.protocol),provider:L(t.provider,a.provider),apiId:L(t.apiId),options:H(t.options)??{},timeoutMs:l,efforts:o,defaultEffort:L(t.defaultEffort),allowEffortSelect:t.allowEffortSelect===!0,summaries:typeof t.summaries==`boolean`?t.summaries:null,maxOutputTokens:R(t.maxOutputTokens),temperature:typeof t.temperature==`number`?t.temperature:null,builtInTools:Array.isArray(t.builtInTools)?t.builtInTools.filter(e=>typeof e==`string`):[],keySlot:L(t.keySlot),fallbackKeySlot:L(t.fallbackKeySlot),compactTiming:L(s?.timing),compactMaxTokens:R(s?.maxTokens),compactAt:typeof s?.compactAt==`number`?s.compactAt:void 0,compactKeep:R(s?.previousExchanges),compactMeter:L(s?.meter),compactWith:c?Pe(c,r,`models.${e}.compaction.profile`,i):``}}function Pe(e,t,n,r){return t?t(e)??X(r,n,`'${e}' is not an agent here, so it can't write this model's summaries.`):``}function Fe(e,t){let n=t.output;if(e===`function`&&O(t.handler)&&O(n)&&!Ee(t.handler,w(n)))return z(t.handler)}function Ie(e){let t=H(e.mapping)??{};return{endpoint:G(e.endpoint),method:G(e.method),headersJson:O(e.headers)?z(e.headers):void 0,pathParams:W(t.pathParams),queryParams:W(t.queryParams),bodyParam:G(t.bodyParam),serverUrl:G(e.serverUrl),mcpToolName:G(e.mcpToolName)}}function Le(e){let t=H(e.auth)??{};return{authType:L(t.type),authSlot:G(t.slot),authService:G(t.service),authHeaderName:G(t.headerName),authHeaderPrefix:typeof t.headerPrefix==`string`?t.headerPrefix:void 0,authQueryParam:G(t.queryParam),authUnauthenticated:L(t.onUnauthenticated),authScopes:W(t.scopes),authClientId:G(t.clientId),authRedirectUri:G(t.redirectUri)}}function Re(e,t,n){let r=t??b(),i=L(e.type,r.toolType),a=H(e.labels)??{},o=L(e.profile),s=e.answeredBy===`page`;return{...r,key:t?.key??m(`tool`),toolName:L(e.name,r.toolName),toolType:i,description:L(e.description),category:L(e.category,`studio`),access:L(e.access,r.access),permission:L(e.permission,r.permission),loadTier:L(e.loadTier,r.loadTier),paths:W(e.paths)??[`*`],inputJson:e.input===void 0?r.inputJson:B(e.input),outputJson:e.output===void 0?r.outputJson:B(e.output),activity:K(a.activity),activityPast:K(a.activityPast),activityFailed:K(a.activityFailed),request:K(a.request),stubOutputJson:s?t?.stubOutputJson:Fe(i,e),answeredBy:s?`page`:void 0,...Ie(e),agentKey:o?n?.(o):void 0,maxCallsPerTurn:R(e.maxCallsPerTurn),...Le(e)}}function ze(e,t){let n=new Map(t.map(e=>[e.id,e]));return Object.entries(e).map(([e,t])=>{let r=n.get(e),i=O(t)?t:{},a=L(i.type,`choice`),o=i.criteria,s=Array.isArray(o)?o.map((e,t)=>({key:r?.criteria[t]?.key??m(`criterion`),label:``,text:L(e)})):O(o)?Object.entries(o).map(([e,t],n)=>({key:r?.criteria[n]?.key??m(`criterion`),label:e,text:L(t)})):[];return{key:r?.key??m(`question`),id:e,type:a,instructions:L(i.instructions),criteria:s,...a===`box`&&L(i.image)?{image:L(i.image)}:{}}})}function Be(e){if(!Array.isArray(e))return[];let t=[];for(let n of e)if(O(n)){if(typeof n.uri==`string`){let e=L(n.name);t.push({key:m(`reference`),uri:n.uri,...e?{name:e}:{}})}else typeof n.data==`string`&&t.push({key:m(`reference`),name:L(n.name),mimeType:L(n.mimeType),data:n.data})}return t}function Ve(e,t){return e?h.filter(n=>!n.optional||n.role===`branch`||!n.profileTypes.includes(e)?!1:n.profilePath in t).map(e=>e.id):g().included}function He(e,t,n,r){let i=[],a=new Set;for(let o of e){let e=Re(o,t.get(L(o.name)),n);if(e.toolName&&a.has(e.toolName)){let t=r.filter(e=>e.path===`name`)[i.length]??{line:1,column:1};throw new D(`'${e.toolName}' is registered twice.`,t.line,t.column)}e.toolName&&a.add(e.toolName),i.push(e)}return i}function Ue(e,t,n){if(t===void 0)return[];let r=n.findLast(e=>e.path===`tools.allow`)??{line:1,column:1};if(!Array.isArray(t))throw new D(`tools.allow has to be a list of tool names.`,r.line,r.column);let i=new Map(e.map(e=>[e.toolName,e])),a=[],o=new Set;for(let[e,s]of t.entries()){let t=n.find(t=>t.path===`tools.allow.${String(e)}`)??r;if(typeof s!=`string`||s.trim()===``)throw new D(`tools.allow names tools.`,t.line,t.column);if(o.has(s))throw new D(`'${s}' is listed twice in tools.allow.`,t.line,t.column);o.add(s);let c=i.get(s);if(!c)throw new D(`'${s}' is in tools.allow, and this file has no registerTool for it.`,t.line,t.column);a.push(c)}return a}function We(e,t,n){let r=H(t.identity)??{},i=r.systemByRole;return{...e,agentId:L(t.id),profileType:n,handle:L(r.handle),system:Te(r.system,`The system prompt has to be text.`),systemByRoleJson:O(i)||Array.isArray(i)?z(i):``}}function Ge(e){return{...O(e.providerContinuation)&&(e.providerContinuation.history===`provider`||e.providerContinuation.history===`stateless`)?{providerHistory:e.providerContinuation.history}:{},defaultModel:L(e.defaultModel),allowModelSelect:e.allowModelSelect===!0,maxSteps:R(e.maxSteps),key:L(e.key),fallbackKey:L(e.fallbackKey)}}function Ke(e){return s.includes(e)}function qe(e){let t=H(e.context);return{text:e.text!==!1,attachmentsAccept:U(H(e.attachments)?.accept),voiceAccept:U(H(e.voice)?.accept),maxFiles:R(e.maxFiles),maxBytes:R(e.maxBytes),maxTurnBytes:R(e.maxTurnBytes),limitsByMimeJson:z(e.limitsByMime),slotsJson:z(e.slots),contextFrom:U(t?.from).filter(Ke),contextMaxChars:R(t?.maxChars)}}function Je(e){return Object.fromEntries(Object.entries(e??{}).map(([e,t])=>[e,H(t)?.onFail===`fix`?`fix`:`drop`]))}function Ye(e,t){let n=t?.id??L(e?.structured),r=H(e?.streaming),i=H(e?.validation);return{mode:n?`structured`:`text`,schemaId:n,schemaJson:z(t?.spec.jsonSchema),streamMode:L(r?.mode),streamThoughts:r?.streamThoughts!==!1,validationEnabled:i!==void 0,maxRetries:R(i?.maxRetries),itemRules:Je(H(i?.items)),repairGuidance:``}}function Xe(e){let t=H(e.resumption),n=Array.isArray(t?.allowContinue)?t.allowContinue:[...i],r=Array.isArray(t?.autoContinue)?t.autoContinue:[...c];return{resumeEnabled:n.length>0||r.length>0,allowContinue:n,autoContinue:r,maxContinues:R(t?.maxContinues),continueInstruction:``,allowSteering:e.allowSteering!==!1,atStepLimit:e.atStepLimit===`answer`?`answer`:`stop`}}function Ze(e){let t=g().observability,n=typeof e.writeTo==`string`&&e.writeTo?e.writeTo:t.destination;return{...t,writeTo:e.writeTo!==!1&&n,destination:n,sampleRate:typeof e.sampleRate==`number`?e.sampleRate:t.sampleRate,include:{...t.include,...H(e.include)},scrub:{...t.scrub,...H(e.scrub)},retainForDays:R(e.retainForDays),rotateAfterMiB:R(e.rotateAfterMiB),resourceJson:z(e.resource)}}function Qe(e){return{aspectRatio:L(e.aspectRatio),resolution:L(e.resolution),mimeType:L(e.mimeType),quality:L(e.quality),background:L(e.background),n:R(e.n),seed:R(e.seed),outputCompression:R(e.outputCompression),includeText:e.includeText===!0,references:Be(e.references)}}function $e(e){return{voice:L(e.voice),style:L(e.style),speed:R(e.speed),format:L(e.format)}}function J(e,t){let n=e[t];return typeof n==`boolean`?n:x(t)}function et(e){let t=H(e.ingress)??{},n=H(e.vad)??{},r=H(e.contextCompression),i=H(r?.slidingWindow),a=H(e.transcription);return{ingressAudio:J(t,`audio`),ingressVideo:J(t,`video`),ingressText:J(t,`text`),voice:L(e.voice),sessionResumption:e.sessionResumption===!0,greeting:L(e.greeting),resumedPrompt:L(H(e.resumed)?.prompt),resumedAfterMs:R(H(e.resumed)?.afterMs),contextCompression:r!==void 0,compressionTriggerTokens:R(r?.triggerTokens),compressionTargetTokens:R(i?.targetTokens),transcriptionInput:a?.input===!0,transcriptionOutput:a?.output===!0,vadActivityHandling:L(n.activityHandling),vadStartSensitivity:L(n.startSensitivity),vadEndSensitivity:L(n.endSensitivity),vadPrefixPaddingMs:R(n.prefixPaddingMs),vadSilenceDurationMs:R(n.silenceDurationMs)}}function tt(e,t,n){let r=R(H(t.profile?.inputs)?.maxStateBytes);return{contract:L(e.contract),maxStateBytes:r,questions:t.questions?ze(t.questions,n.questions):[],images:t.images?nt(t.images,n.images):[]}}function nt(e,t){let n=new Map(t.map(e=>[e.name,e]));return Object.entries(e).map(([e,t])=>{let r=e.replace(/^<|>$/g,``),i=O(t)?t:{};return{key:n.get(r)?.key??m(`image`),name:r,mimeType:L(i.mimeType),data:L(i.data)}})}function rt(e){let t=L(e.type);if(t&&!_.includes(t))throw new D(`'${t}' is not a profile type.`,1,1);return t}var it=[`turnBehaviour.atStepLimit`,`outputs.validation.items.*.onFail`];function at(e,t){for(let n of it){let r=l(n)?.options??[];for(let[i,a]of Y(e,n.split(`.`),[]))a!==void 0&&!r.includes(a)&&X(t,i,`${JSON.stringify(a)} is not one of ${r.map(e=>`'${e}'`).join(`, `)}.`)}}function Y(e,t,n){let[r,...i]=t;return r===void 0?[[n.join(`.`),e]]:O(e)?(r===`*`?Object.keys(e):[r]).flatMap(t=>Y(e[t],i,[...n,t])):[]}function ot(e,t,n){let r=e.profile??{},i=rt(r);at(r,e.spans);let a=new Map(t.modelBindings.map(e=>[e.modelId,e])),o=new Map(t.toolSpecs.map(e=>[e.toolName,e])),s=H(r.tools)??{},c=H(r.inputs),l=H(r.outputs),u={...t,identity:We(t.identity,r,i),included:Ve(i,r),models:Ge(r),modelBindings:Object.entries(H(r.models)??{}).map(([t,r])=>Ne(t,r,a.get(t),n,e.spans)),tools:{t2Loader:L(s.t2Loader),parallel:s.parallel===!0},toolSpecs:[],inputs:c&&i!==`decision`?qe(c):t.inputs,outputs:l||e.structured?Ye(l,e.structured):t.outputs,turnBehaviour:q(r.turnBehaviour,Xe,t.turnBehaviour),guardrails:q(r.guardrails,Ae,t.guardrails),observability:q(r.observability,Ze,t.observability),image:q(r.image,Qe,t.image),speech:q(r.speech,$e,t.speech),live:q(r.live,et,t.live),decision:q(r.decision,n=>tt(n,e,t.decision),t.decision),labels:{}},d=He(e.tools,o,n,e.spans),f=Ue(d,s.allow,e.spans);u.toolSpecs=f;let p=new Set(f.map(e=>e.toolName));return u.tools.t2Loader&&!p.has(u.tools.t2Loader)&&(u.tools={...u.tools,t2Loader:``}),Me(u,r.labels),{draft:u,registered:d}}function st(e,t,n){try{let r=I(e),{draft:i,registered:a}=ot(r,t,n);return{ok:!0,draft:i,spans:r.spans,registered:a}}catch(e){if(e instanceof D)return{ok:!1,errors:[{message:e.message,line:e.line,column:e.column}]};throw e}}function X(e,t,n){let r=e.findLast(e=>e.path===t)??{line:1,column:1};throw new D(n,r.line,r.column)}var ct=new Set([`id`,`connection`,`keySlot`,`fallbackKeySlot`]);function lt(e,t,n){let{spec:r}=e;for(let e of Object.keys(r))ct.has(e)||X(n,e,`'${e}' isn't a provider setting the studio holds.`);r.id!==t.id&&X(n,`id`,`The id stays '${t.id}': models and code name the provider by it.`);let i=a(e.definition);if(!i){let t=u().flatMap(e=>o(e)??[]).join(`, `);X(n,``,`'${e.definition}' isn't one of the kernel's providers: ${t}.`)}let s=r.connection===void 0?{}:ut(r.connection,n),c=Object.keys(s).length===0&&t.connection===void 0,l={id:t.id,definition:i,...c?{}:{connection:s}};for(let e of[`keySlot`,`fallbackKeySlot`]){let t=r[e];t!==void 0&&(typeof t!=`string`&&X(n,e,`${e} names a key slot.`),l[e]=t)}return l}function ut(e,t){let n=`connection holds text settings here.`,r={};O(e)||X(t,`connection`,n);for(let[i,a]of Object.entries(e))typeof a!=`string`&&X(t,`connection`,n),r[i]=a;return r}function dt(e,t){try{let n=I(e,`provider`);if(!n.provider)throw new D(`This code needs registerProvider().`,1,1);return{ok:!0,provider:lt(n.provider,t,n.spans),spans:n.spans}}catch(e){if(e instanceof D)return{ok:!1,errors:[{message:e.message,line:e.line,column:e.column}]};throw e}}var Z=e(n(),1),Q=t(),ft=300,pt=2e3;function mt({editor:e,monaco:t,spans:n,errors:r},i){let a=e?.getModel();t&&a&&t.editor.setModelMarkers(a,`studio`,[...r.map(e=>$(t,e.line,e.column,e.message)),...gt(t,n,i)])}function ht({text:e,hold:t,isReadOnly:n=!1,issues:i,onApply:a}){let o=(0,Z.useRef)(null),s=(0,Z.useRef)(a),c=(0,Z.useRef)(e),l=(0,Z.useRef)(n);l.current=n;let u=(0,Z.useRef)(i),d=(0,Z.useRef)({spans:[],errors:[],setting:!1,dirty:!1});return s.current=a,c.current=e,u.current=i,(0,Z.useEffect)(()=>{let e=o.current;if(!e)return;let t={disposed:!1},n,i,a=0,f,p=!1,m=!1,h=()=>{a+=1,i&&clearTimeout(i),i=void 0,f?.stop(),f=void 0,p=!1,m=!1},g=t=>e.contains(t)?!0:t instanceof Element&&!!t.closest(`.suggest-widget, .parameter-hints-widget, .monaco-hover, .monaco-menu-container, .context-view`),_=()=>!!document.querySelector(`.suggest-widget.visible, .parameter-hints-widget.visible`),v,y=()=>{mt(d.current,u.current)};return(async()=>{let o=await r(()=>import(`./studio-monaco-xfyfezQS.js`),__vite__mapDeps([0,1,2,3,4]));await r(()=>import(`./register-CDgivxvX.js`),__vite__mapDeps([5,2,1,3]));let u=(await r(async()=>{let{default:e}=await import(`./editor.worker-6GY8RhDc.js`);return{default:e}},[])).default;if(self.MonacoEnvironment={getWorker(){return new u}},t.disposed||!e.isConnected)return;let b=document.documentElement.dataset.theme===`dark`||globalThis.matchMedia(`(prefers-color-scheme: dark)`).matches,x=o.Uri.parse(`file:///agent.ts`);o.editor.getModel(x)?.dispose();let S=o.editor.createModel(c.current,`typescript`,x),C=o.editor.create(e,{model:S,readOnly:l.current,language:`typescript`,theme:b?`vs-dark`:`vs`,minimap:{enabled:!1},fontSize:13,wordWrap:`on`,wrappingIndent:`indent`,scrollBeyondLastLine:!1,automaticLayout:!0,fixedOverflowWidgets:!0,tabSize:2,padding:{top:12},quickSuggestions:{other:!0,comments:!1,strings:!0},suggestOnTriggerCharacters:!0,acceptSuggestionOnEnter:`on`,tabCompletion:`on`,wordBasedSuggestions:`currentDocument`,parameterHints:{enabled:!0},suggest:{preview:!0,showIcons:!0}});d.current.editor=C,d.current.monaco=o;let w=()=>{i&&clearTimeout(i),i=setTimeout(()=>{t.disposed||(_()?w():h())},pt)},T=()=>{if(f){m&&w();return}if(p)return;let e=a,n=()=>t.disposed||e!==a;p=!0,r(async()=>{let{openTypeChecker:e}=await import(`./studio-type-checker-DcHL3C0j.js`);return{openTypeChecker:e}},__vite__mapDeps([6,2])).then(({openTypeChecker:r})=>{if(n())return;let i=r(o,C,()=>{t.disposed||e!==a||(m=!0,w())});n()?i.stop():f=i}).catch(()=>{}).finally(()=>{e===a&&(p=!1)})};C.onKeyDown(e=>{let t=e.browserEvent;t.metaKey||t.ctrlKey||t.altKey||m&&w()});let E=e=>{let t=e.target;t instanceof Node&&!g(t)&&h()};document.addEventListener(`pointerdown`,E,!0),v=()=>{document.removeEventListener(`pointerdown`,E,!0)},C.onDidBlurEditorText(()=>{queueMicrotask(()=>{if(t.disposed||C.hasTextFocus())return;let e=document.activeElement;e&&g(e)||h()})}),C.onDidChangeModelContent(()=>{if(d.current.setting)return;T();let e=C.getValue();d.current.dirty=e!==c.current,n&&clearTimeout(n),n=setTimeout(()=>{let t=s.current(e);d.current.spans=t.spans,d.current.errors=t.errors,y()},ft)}),y()})(),()=>{t.disposed=!0,v?.(),h(),n&&clearTimeout(n);let e=d.current.editor?.getModel();d.current.editor?.dispose(),e?.dispose(),d.current.editor=void 0}},[]),(0,Z.useEffect)(()=>{let{editor:n}=d.current;n&&!t&&(d.current.dirty&&n.getValue()!==e||(n.getValue()===e||(d.current.setting=!0,n.setValue(e),d.current.setting=!1),d.current.dirty=!1))},[e,t]),(0,Z.useEffect)(()=>{d.current.editor?.updateOptions({readOnly:n})},[n]),(0,Z.useEffect)(()=>{mt(d.current,i)},[i]),(0,Q.jsx)(`div`,{ref:o,className:`studio-fill`})}function $(e,t,n,r){return{startLineNumber:t,startColumn:n,endLineNumber:t,endColumn:n+1,message:r,severity:e.MarkerSeverity.Error}}function gt(e,t,n){return n.flatMap(n=>{let r=n.field?`${n.nodeId}.${n.field}`:n.nodeId,i=t.find(e=>e.path===r)??(n.field?t.find(e=>e.path===n.field):void 0);return i?[$(e,i.line,i.column,n.message)]:[]})}function _t({source:e,blocked:t,issues:n,state:r}){let i=(0,Z.useRef)(e);e&&(i.current=e);let a=(0,Z.useCallback)(e=>{let t=te(r.workspace,r.focus);if(!t)return{errors:[{message:`No agent is open.`,line:1,column:1}],spans:[]};let n=st(e,{...t,toolSpecs:r.workspace.toolSpecs},e=>r.workspace.agents.find(t=>t.identity.agentId.trim()===e)?.key);return n.ok?(r.update(e=>ee(e,r.focus,n.draft,n.registered)),{errors:[],spans:n.spans}):{errors:n.errors,spans:[]}},[r]);return i.current?(0,Q.jsx)(`div`,{className:`studio-fill`,children:(0,Q.jsx)(ht,{text:e??i.current,hold:e==null,issues:n,onApply:a})}):(0,Q.jsx)(ne,{title:`No code yet`,description:`${t??``} to generate the TypeScript.`})}function vt({provider:e,issues:t,state:n,isEditable:r}){let i=(0,Z.useCallback)(t=>{let r=n.workspace.providers.find(t=>t.id===e.id);if(!r)return{errors:[{message:`No provider is open.`,line:1,column:1}],spans:[]};let i=dt(t,r);return i.ok?(n.update(e=>E(e,i.provider)),{errors:[],spans:i.spans}):{errors:i.errors,spans:[]}},[n,e.id]);return(0,Q.jsx)(`div`,{className:`studio-fill`,children:(0,Q.jsx)(ht,{text:re(e),hold:!1,isReadOnly:!r||o(e.definition)===void 0,issues:t,onApply:i},e.id)})}export{_t as CodeBody,vt as ProviderCode};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{c as t,u as n}from"./themeProps-3IqahpCr.js";import{l as r,n as i,t as a,u as o}from"./SegmentedControlItem-BLuJOusN.js";import{t as s}from"./VStack-CkVMcNiK.js";import{n as c,t as l}from"./StackItem-CQviqAfM.js";import{c as u,u as d}from"./browser-transport-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{c as t,u as n}from"./themeProps-3IqahpCr.js";import{l as r,n as i,t as a,u as o}from"./SegmentedControlItem-BLuJOusN.js";import{t as s}from"./VStack-CkVMcNiK.js";import{n as c,t as l}from"./StackItem-CQviqAfM.js";import{c as u,u as d}from"./browser-transport-BHPA2uck.js";import{d as f,g as p}from"./fieldParts-Cs6Amprh.js";import{r as m,t as ee}from"./IconButton-CG5klqF1.js";import{a as h,g as te,i as ne,l as g,s as re,u as ie}from"./SidePanel-OYp0bLNO.js";import{t as _}from"./Text-BsiAsowd.js";import{n as v}from"./labels-provider-BqgbdxdT.js";import{n as ae,t as y}from"./Card-Ghe4ozhC.js";import{n as b}from"./ScrollableArea-C8AVuqnt.js";import{i as x}from"./Banner-DdY6nnmH.js";import{a as oe}from"./arrive-DvbqpeRS.js";import{t as se}from"./Center-nHS1JSux.js";import{a as S,o as ce}from"./shaped-data-BcarWqd5.js";import{n as C}from"./trace-patterns-CS99kExN.js";import{Ot as le,S as ue,_ as w,g as T,h as de,o as fe,w as pe}from"./index-DznGBbT0.js";var E=e(n(),1),me=new Set([`image/png`,`image/jpeg`]),D=`image/png,image/jpeg`;function he(e,t){let n=e.replace(/\.[^.]*$/,``).toLowerCase().replace(/[^a-z0-9]+/g,`_`).replace(/^_+|_+$/g,``)||`image`,r=`<${n}>`;for(let e=2;t.includes(r);e+=1)r=`<${n}_${String(e)}>`;return r}async function O(e){if(!me.has(e.type))return null;let t=new Uint8Array(await e.arrayBuffer()),n=``;for(let e=0;e<t.length;e+=32768)n+=String.fromCharCode(...t.subarray(e,e+32768));return{mimeType:e.type,data:btoa(n)}}function k(e){return`data:${e.mimeType};base64,${e.data}`}function A(e,t){return typeof e==`string`?e===t:Array.isArray(e)?e.some(e=>A(e,t)):typeof e==`object`&&e?Object.values(e).some(e=>A(e,t)):!1}function j(e,t){return Object.fromEntries(Object.entries(e).filter(([e])=>A(t,e)))}function M(e,t,n){let r=he(e,[...Object.keys(t),...n.map(e=>`<${e}>`)]);return{key:r.slice(1,-1),reference:r}}function N(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function P(e,t){let{images:n,state:r}=t;for(let[i,a]of e){let{key:e,reference:o}=M(i.name,{...t.host,...n},Object.keys(r));n={...n,[o]:a},r={...r,[e]:o}}return{images:n,state:r}}function F(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n)return;n=Array.isArray(n)?n[Number(e)]:n[e]}return n}function I(e,t,n){let r=Object.keys(e),i=n===void 0||n in e?n:F(t,n);return e[(typeof i==`string`&&i in e?i:void 0)??r.find(e=>A(t,e))??r[0]??``]}function L(e,t,n){return{x:e.left*t,y:e.top*n,width:(e.right-e.left)*t,height:(e.bottom-e.top)*n,line:Math.max(2,Math.round(Math.min(t,n)/200))}}var R=.45;async function ge(e,t,n){let r=new Image;r.src=e,await r.decode();let i=document.createElement(`canvas`);i.width=r.naturalWidth,i.height=r.naturalHeight;let a=i.getContext(`2d`);if(!a)return e;let o=L(t,i.width,i.height);return a.drawImage(r,0,0),a.fillStyle=n.shade,a.globalAlpha=R,a.beginPath(),a.rect(0,0,i.width,i.height),a.rect(o.x,o.y,o.width,o.height),a.fill(`evenodd`),a.globalAlpha=1,a.strokeStyle=n.outline,a.lineWidth=o.line,a.strokeRect(o.x,o.y,o.width,o.height),i.toDataURL(`image/png`)}function _e(e){let t=e.right-e.left,n=e.bottom-e.top;return{width:100/t,height:100/n,left:-e.left/t*100,top:-e.top/n*100}}function ve(e){return e.every(e=>typeof e==`string`)}function z(e){return e==null||typeof e==`string`?``:typeof e==`number`?0:typeof e==`boolean`?!1:Array.isArray(e)?[]:Object.fromEntries(Object.entries(e).map(([e,t])=>[e,z(t)]))}function ye(e){let t=e[0];if(typeof t!=`object`||!t||Array.isArray(t))return null;let n=Object.keys(t);return n.length===0||n.length>4||!e.every(e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.keys(e).join()===n.join()&&Object.values(e).every(e=>typeof e!=`object`||!e))?null:n.map(t=>{let n=e.map(e=>String(e[t]??``).length),r=Math.max(t.length,...n);return{key:t,weight:Math.min(4,Math.max(1,Math.round(r/10)))}})}var B=t();function be(e){return e===null?[]:Array.isArray(e)?e:[e]}function V(){let e=v(),[t,n]=(0,E.useState)(null);return{read:async e=>{n(null);let t=[];for(let r of be(e)){let e=await O(r);e?t.push([r,e]):n(r.name)}return t},status:t===null?void 0:{type:`error`,message:e(`@theorem.decision.image_bad`,{file:t})}}}function xe({onImages:e}){let t=v(),{read:n,status:r}=V();return(0,B.jsx)(T,{label:t(`@theorem.decision.add_image`),isLabelHidden:!0,mode:`dropzone`,isMultiple:!0,accept:D,value:null,placeholder:t(`@theorem.decision.add_image_hint`),status:r,statusVariant:`detached`,onChange:t=>{n(t).then(t=>{t.length>0&&e(t)})}})}var Se={search:()=>[],bootstrap:()=>[]},Ce=48;function H(e,t,n){return Math.min(Math.max(e.split(`
|
|
2
2
|
`).length,t),n)}var U=(0,E.createContext)({images:{},onImages:()=>{}});function we({value:e,label:t,isLabelHidden:n}){let r=v(),{images:i,onImages:a}=(0,E.useContext)(U),{read:o,status:s}=V(),[f,p]=(0,E.useState)(!1),m=Object.hasOwn(i,e)?k(i[e]):void 0;return(0,B.jsxs)(c,{gap:2,vAlign:`center`,children:[(0,B.jsx)(d,{src:m,alt:t,label:e,onClick:m?()=>p(!0):void 0}),m?(0,B.jsx)(u,{isOpen:f,onOpenChange:p,media:{src:m,alt:t,caption:e},hasZoom:!0}):null,(0,B.jsx)(l,{size:`fill`,children:(0,B.jsx)(T,{label:t,isLabelHidden:n,accept:D,value:null,placeholder:r(`@theorem.decision.replace_image`),status:s,statusVariant:`detached`,onChange:t=>{o(t).then(([t])=>{t&&a({...i,[e]:t[1]})})}})})]})}function W({value:e,onChange:t,label:n,isLabelHidden:r}){let{images:i}=(0,E.useContext)(U),[a]=(0,E.useState)(()=>typeof e==`string`&&(e.length>Ce||e.includes(`
|
|
3
3
|
`))),[o]=(0,E.useState)(()=>typeof e==`string`&&Object.hasOwn(i,e));if(o&&typeof e==`string`)return(0,B.jsx)(we,{value:e,label:n,isLabelHidden:r});if(typeof e==`boolean`)return(0,B.jsx)(de,{label:n,value:e,onChange:t});if(typeof e==`number`)return(0,B.jsx)(pe,{label:n,isLabelHidden:r,size:`sm`,value:e,isWheelEnabled:!1,onChange:t});if(e===null)return(0,B.jsx)(b,{label:n,isLabelHidden:r,size:`sm`,value:``,placeholder:`null`,isDisabled:!0,onChange:()=>{}});let s=String(e);return a?(0,B.jsx)(w,{label:n,isLabelHidden:r,size:`sm`,rows:H(s,2,12),value:s,onChange:t}):(0,B.jsx)(b,{label:n,isLabelHidden:r,size:`sm`,value:s,onChange:t})}function G({label:e,isRequired:t,description:n,children:r}){let i=(0,E.useId)();return(0,B.jsxs)(s,{gap:2,role:`group`,"aria-labelledby":i,children:[(0,B.jsx)(f,{label:e,inputID:``,labelID:i,isGroupLabel:!0,isRequired:t,description:n}),r]})}function K({children:e,...t}){return(0,B.jsx)(G,{...t,children:(0,B.jsx)(`div`,{style:{paddingInlineStart:12,borderInlineStart:`1px solid var(--color-border)`},children:e})})}function q({field:e,onAdd:t}){let n=v();return(0,B.jsx)(c,{children:(0,B.jsx)(m,{label:n(`@theorem.decision.add_item`,{field:e}),size:`sm`,variant:`ghost`,icon:(0,B.jsx)(le,{size:14}),onClick:t})})}function J({index:e,onRemove:t}){let n=v();return(0,B.jsx)(ee,{label:n(`@theorem.decision.remove_item`,{item:n(`@theorem.data.item`,{index:String(e+1)})}),size:`sm`,variant:`ghost`,icon:(0,B.jsx)(p,{size:14}),onClick:t})}function Y({value:e,onChange:t}){return(0,B.jsx)(s,{gap:3,children:Object.entries(e).map(([n,r])=>(0,B.jsx)(X,{label:S(n),value:r,onChange:r=>t({...e,[n]:r})},n))})}function Te({value:e,onChange:t,label:n}){let r=v(),i=oe(e);if(ve(e))return(0,B.jsx)(ue,{label:n,size:`sm`,value:e.map((e,t)=>({id:`${String(t)}:${e}`,label:e})),searchSource:Se,hasCreate:!0,debounceMs:0,placeholder:r(`@theorem.decision.add_value`),onChange:e=>t(e.map(e=>e.label))});let a=ye(e),o=(0,B.jsx)(q,{field:n,onAdd:()=>t([...e,z(e.at(-1))])}),u=n=>(0,B.jsx)(J,{index:n,onRemove:()=>{i.drop(n),t(e.filter((e,t)=>t!==n))}});if(a){let r={display:`grid`,gap:8,alignItems:`start`,gridTemplateColumns:`${a.map(e=>`minmax(0, ${String(e.weight)}fr)`).join(` `)} auto`},s=e;return(0,B.jsxs)(G,{label:n,children:[(0,B.jsxs)(`div`,{style:r,"aria-hidden":!0,children:[a.map(e=>(0,B.jsx)(_,{type:`supporting`,color:`secondary`,maxLines:1,children:S(e.key)},e.key)),(0,B.jsx)(`span`,{style:{width:28}})]}),i.rows.map(({index:e,key:n})=>{let i=s[e];return(0,B.jsxs)(`div`,{style:r,children:[a.map(n=>(0,B.jsx)(W,{label:`${S(n.key)} ${String(e+1)}`,isLabelHidden:!0,value:i[n.key]??null,onChange:r=>t(s.map((t,i)=>i===e?{...t,[n.key]:r}:t))},n.key)),u(e)]},n)}),o]})}return(0,B.jsx)(K,{label:n,children:(0,B.jsxs)(s,{gap:3,children:[i.rows.map(({item:n,index:i,key:a})=>{let o=r(`@theorem.data.item`,{index:String(i+1)}),s=n=>t(e.map((e,t)=>t===i?n:e));return(0,B.jsxs)(c,{gap:2,vAlign:`start`,children:[(0,B.jsx)(l,{size:`fill`,children:ce(n)?(0,B.jsx)(W,{label:o,isLabelHidden:!0,value:n,onChange:s}):(0,B.jsx)(X,{label:o,value:n,onChange:s})}),u(i)]},a)}),o]})})}function X({value:e,onChange:t,label:n}){return Array.isArray(e)?(0,B.jsx)(Te,{label:n,value:e,onChange:t}):typeof e==`object`&&e?(0,B.jsx)(K,{label:n,children:(0,B.jsx)(Y,{value:e,onChange:t})}):(0,B.jsx)(W,{label:n,value:e,onChange:t})}function Ee({value:e,onChange:t,label:n}){return typeof e==`object`&&e&&!Array.isArray(e)?(0,B.jsx)(Y,{value:e,onChange:t}):(0,B.jsx)(X,{label:n,value:e,onChange:t})}var De={"--theorem-console-card":`var(--color-background-muted)`},Z=`(width < 768px)`,Q=(0,E.createContext)(!0);function $(){return(0,E.useSyncExternalStore)(e=>{let t=globalThis.matchMedia(Z);return t.addEventListener(`change`,e),()=>{t.removeEventListener(`change`,e)}},()=>globalThis.matchMedia(Z).matches,()=>!1)}function Oe({flush:e,wide:t,maxWidth:n,children:r}){return(0,B.jsx)(s,{height:`100%`,paddingInline:3,style:e?De:void 0,children:(0,B.jsx)(y,{variant:`transparent`,height:`100%`,padding:0,style:e?{overflowY:`auto`}:{...re,overflowY:`auto`},children:(0,B.jsx)(se,{axis:`horizontal`,width:`100%`,minHeight:`100%`,children:(0,B.jsx)(s,{width:`100%`,maxWidth:t?void 0:n,gap:3,padding:4,children:r})})})})}function ke({inspector:e,maxWidth:t,flush:n=!1,columns:i=!1,requestLabel:a,className:s,style:c,children:l}){let u=(0,E.useRef)(null);return(0,B.jsx)(x,{inspector:e,children:(0,B.jsx)(o,{ref:u,height:`fill`,className:s,style:c,header:e.toggle?(0,B.jsx)(ie,{children:e.toggle}):void 0,content:(0,B.jsx)(r,{padding:0,isScrollable:!1,children:(0,B.jsx)(Ae,{layoutRef:u,flush:n,columns:i,maxWidth:t,requestLabel:a,children:l})})})})}function Ae({layoutRef:e,flush:t,columns:n,maxWidth:r,requestLabel:i,children:a}){let o=$(),s=E.Children.toArray(a).length,c=n&&s>1;return c&&!o?(0,B.jsx)(je,{requestLabel:i,basisWidth:e.current?.clientWidth??0,children:a}):(0,B.jsx)(Oe,{flush:t,wide:c,maxWidth:r,children:a})}function je({requestLabel:e=`Request`,basisWidth:t,children:n}){let i=v(),a=(0,E.useRef)(null),s=te({defaultSize:t>0?Math.round(t*.4):`40%`,minSize:280,maxSize:`70%`,containerRef:a}),[c,l]=E.Children.toArray(n),u={name:e,show:e,hide:e,resize:i(`@theorem.panel.resize`,{name:e})};return(0,B.jsx)(Q,{value:!1,children:(0,B.jsx)(o,{ref:a,height:`fill`,start:(0,B.jsx)(g,{side:`start`,className:`theorem-console-request`,labels:u,resizable:s,open:!0,children:(0,B.jsx)(h,{label:e,children:c})}),content:(0,B.jsx)(r,{padding:0,isScrollable:!1,children:(0,B.jsx)(ne,{inset:`beside`,className:`theorem-console-response`,children:l})})})})}function Me({children:e}){return(0,B.jsx)(y,{variant:`muted`,padding:0,className:`theorem-console-card`,style:C,children:(0,B.jsx)(Q,{value:!1,children:e})})}function Ne({label:e,fill:t=!1,children:n}){return(0,E.use)(Q)?(0,B.jsx)(y,{variant:`muted`,padding:t?0:4,className:`theorem-console-card`,style:C,children:t?n:(0,B.jsx)(s,{height:`100%`,gap:3,children:n})}):t?n:(0,B.jsx)(h,{label:e,padding:4,children:n})}function Pe(e){return t=>{t.key===`Enter`&&(t.metaKey||t.ctrlKey)&&(t.preventDefault(),e())}}function Fe({title:e,view:t,hasFields:n,onView:r,onRun:o,children:l}){let u=v(),d=(0,E.use)(Q),f=(0,B.jsxs)(s,{gap:3,padding:d?void 0:4,onKeyDown:Pe(o),children:[(0,B.jsxs)(c,{gap:2,hAlign:`between`,vAlign:`center`,children:[(0,B.jsx)(_,{type:`supporting`,color:`secondary`,as:`h3`,children:e}),(0,B.jsxs)(i,{label:u(`@theorem.decision.view`),size:`sm`,value:t,onChange:e=>{r(e===`json`?`json`:`fields`)},children:[(0,B.jsx)(a,{value:`fields`,label:u(`@theorem.decision.fields`),isDisabled:!n}),(0,B.jsx)(a,{value:`json`,label:u(`@theorem.data.json`)})]})]}),l]});return d?(0,B.jsx)(y,{variant:`muted`,padding:4,className:`theorem-console-card`,style:C,children:f}):f}var Ie={"--font-family-body":`var(--font-family-code)`};function Le({label:e,text:t,isInvalid:n,onChange:r}){return(0,B.jsx)(w,{label:e,isLabelHidden:!0,value:t,onChange:r,rows:H(t,8,24),hasSpellCheck:!1,status:n?{type:`error`}:void 0,controlStyle:Ie})}function Re({note:e,isReady:t,isRunning:n,runLabel:r,runningLabel:i,stopLabel:a,onRun:o,onStop:s}){return(0,B.jsxs)(c,{gap:3,hAlign:`between`,vAlign:`center`,children:[(0,B.jsx)(_,{type:`supporting`,color:`secondary`,style:t?void 0:{color:`var(--color-error)`},hasTabularNumbers:!0,children:e}),(0,B.jsxs)(c,{gap:2,vAlign:`center`,children:[n?(0,B.jsx)(m,{label:a,variant:`ghost`,onClick:s}):null,(0,B.jsx)(m,{label:n?i:r,variant:`primary`,isLoading:n,isDisabled:!t,onClick:o})]})]})}function ze(){let e=ae();return(0,E.useMemo)(()=>{let t=new Intl.NumberFormat(e,{style:`unit`,unit:`byte`,unitDisplay:`narrow`}),n=new Intl.NumberFormat(e,{style:`unit`,unit:`kilobyte`,unitDisplay:`narrow`,maximumFractionDigits:1});return e=>e<1024?t.format(e):n.format(e/1024)},[e])}function Be({payload:e,runtime:t=null,traces:n,onActivity:r},i,a){return(0,E.useMemo)(()=>{let o=t?a(e,t,{traces:n}):i(e,{traces:n});return r?fe(o,r):o},[e,t,n,r,i,a])}export{N as C,j as S,I as _,Fe as a,k as b,ze as c,G as d,J as f,xe as g,H as h,Le as i,q as l,U as m,ke as n,Ne as o,Ee as p,Me as r,Re as s,Be as t,K as u,_e as v,ge as x,P as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{c as t,u as n}from"./themeProps-3IqahpCr.js";import{n as r,o as i,p as a,s as o}from"./browser-transport-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{c as t,u as n}from"./themeProps-3IqahpCr.js";import{n as r,o as i,p as a,s as o}from"./browser-transport-BHPA2uck.js";import{n as s,t as c}from"./labels-provider-BqgbdxdT.js";import{a as l,t as u}from"./Banner-DdY6nnmH.js";import{c as d}from"./reader-B0gVhfoZ.js";import{p as f,u as p}from"./tree-DeO1319a.js";import{n as m,t as h}from"./PaneState-C8jetBGI.js";import{C as g,S as _,a as v,c as y,g as b,i as x,m as S,n as C,o as w,p as T,s as E,t as D,y as O}from"./studio-console-DoOt3YxN.js";import{i as k,t as A}from"./use-one-call-DlFWHd5m.js";import{$ as j,Q as M,l as N}from"./index-DznGBbT0.js";var P=(e,t,n,r)=>e.decide(n,t,r);function F(e){let{iface:t,describeFailure:n}=o(e),{call:r,...i}=A(e,`deciding`,P);return{iface:t,describeFailure:n,...i,decide:r}}var I=e(n(),1),L=t();function R(e,t){let n;try{n=JSON.parse(e)}catch{return{ok:!1,reason:`invalid_json`}}if(n===null)return{ok:!1,reason:`null_state`,state:n};let r=new TextEncoder().encode(JSON.stringify(n)).byteLength;return t!==void 0&&r>t?{ok:!1,reason:`too_large`,bytes:r,state:n}:{ok:!0,state:n,bytes:r}}function z(e,t,n,r){return t.ok?n===void 0?null:e(`@theorem.decision.state_size`,{size:r(t.bytes),limit:r(n)}):t.reason===`too_large`?e(`@theorem.decision.too_large`,{limit:r(n??0)}):e(t.reason===`invalid_json`?`@theorem.decision.invalid_json`:`@theorem.decision.null_state`)}function B(e){return e.failure||e.result?`settled`:e.status===`deciding`?`waiting`:`idle`}function V(e,t){let[n,r]=(0,I.useState)(e),i=R(n,t),[a,o]=(0,I.useState)(()=>i.state===void 0?`json`:`fields`);return{text:n,setText:r,check:i,shown:i.state===void 0?`json`:a,setView:o}}function H({form:e,iface:t,images:n,onImages:r,note:i,isRunning:a,onRun:o,onStop:c}){let l=s(),{text:u,setText:d,check:f,shown:p,setView:m}=e,h=t.questions.some(e=>e.type===`box`)||Object.keys(n).length>0,_=p===`fields`?f.state:void 0,y=g(_);return(0,L.jsxs)(v,{title:l(`@theorem.decision.state`),view:p,hasFields:f.state!==void 0,onView:m,onRun:o,children:[_===void 0?(0,L.jsx)(x,{label:l(`@theorem.decision.state`),text:u,isInvalid:!f.ok,onChange:d}):(0,L.jsx)(S,{value:{images:n,onImages:r},children:(0,L.jsx)(T,{label:l(`@theorem.decision.state`),value:_,onChange:e=>{d(JSON.stringify(e,null,2))}})}),h&&y?(0,L.jsx)(b,{onImages:e=>{let i=O(e,{images:n,host:t.images,state:y});r(i.images),d(JSON.stringify(i.state,null,2))}}):null,(0,L.jsx)(E,{note:i,isReady:f.ok,isRunning:a,runLabel:l(`@theorem.decision.decide`),runningLabel:l(`@theorem.decision.deciding`),stopLabel:l(`@theorem.decision.stop`),onRun:o,onStop:c})]})}function U({iface:e,decision:t,asked:n,onQuestion:r,questionText:i}){let a=s(),o=t.status===`deciding`;return(0,L.jsxs)(L.Fragment,{children:[t.failure?(0,L.jsx)(u,{status:`error`,role:`alert`,title:t.failure.error}):null,o&&!t.result?(0,L.jsx)(m,{label:a(`@theorem.decision.deciding`),since:t.startedAt}):null,t.result?(0,L.jsx)(k,{iface:e,result:t.result,asked:n,onQuestion:r,questionText:i,elapsedMs:t.elapsedMs,isStale:o}):null]})}function W(e,t,n,r,i){if(t===`idle`)return null;if(!e)return i;let a=t===`waiting`;return(0,L.jsx)(w,{label:n.answers,fill:a,children:a?(0,L.jsx)(m,{label:n.deciding,since:r}):i})}function G({transport:e,iface:t,decision:n,defaultState:r=`{}`,defaultImages:i,onQuestion:a,questionText:o,maxWidth:c=`960px`,trace:u,flush:d,columns:f=!1,className:p,style:m}){let h=s(),g=y(),v=V(r,t.maxStateBytes),{check:b}=v,[x,S]=(0,I.useState)(i??{}),[w,T]=(0,I.useState)(),E=l(t,e.traces,u);return(0,L.jsxs)(C,{inspector:E,maxWidth:c,flush:d,columns:f,requestLabel:h(`@theorem.decision.state`),className:p,style:m,children:[(0,L.jsx)(H,{form:v,iface:t,images:x,onImages:S,note:z(h,b,t.maxStateBytes,g),isRunning:n.status===`deciding`,onRun:()=>{if(!b.ok)return;let e=_(x,b.state);T({images:{...t.images,...e},state:b.state}),n.decide(b.state,Object.keys(e).length>0?e:void 0)},onStop:n.cancel}),W(f,B(n),{answers:h(`@theorem.decision.answers`),deciding:h(`@theorem.decision.deciding`)},n.startedAt,(0,L.jsx)(U,{iface:t,decision:n,asked:w,onQuestion:a,questionText:o}))]})}function K(e){let t=s(),n=F(e.transport);return n.describeFailure?(0,L.jsx)(h,{title:n.describeFailure.error}):n.iface?(0,L.jsx)(G,{...e,iface:n.iface,decision:n}):(0,L.jsx)(m,{label:t(`@theorem.chat.loading`)})}function q({endpoint:e,http:t,transport:n,theme:r,mode:a,labels:o,...s}){let l=(0,I.useRef)(t);l.current=t;let u=(0,I.useMemo)(()=>n??d({...l.current,endpoint:e}),[n,e]);return(0,L.jsx)(i,{theme:r,mode:a,children:(0,L.jsx)(c,{labels:o,children:(0,L.jsx)(K,{...s,transport:u})})})}var J;function Y(e){if(e.agentId===`pantry.jev`)return J??=j(),{defaultState:M,defaultImages:{...(0,I.use)(J)}};let{profile:t}=e;return{defaultState:(t.type===`decision`?Object.values(t.models)[0]:void 0)?.apiId.startsWith(`respan/`)?f:p}}function X(e){return typeof e==`string`?e:Array.isArray(e)?e.map(X).join(` `):Object.entries(e).map(([e,t])=>`${e}: ${X(t)}`).join(` `)}function Z(e){let t=D(e,a,r);return(0,L.jsx)(Q,{...e,transport:t})}function Q({payload:e,transport:t,trace:n,flush:r,columns:i,className:a}){let{open:o}=(0,I.useContext)(N),s=Y(e),{questions:c}=e,l=(0,I.useMemo)(()=>c&&Object.fromEntries(Object.entries(c).map(([e,t])=>[e,X(t.instructions)])),[c]);return(0,L.jsx)(q,{transport:t,...s,trace:n,flush:r,columns:i,className:a,onQuestion:o,questionText:l})}export{Q as DecisionView,Z as StudioDecision};
|