@theoremjs/studio 0.0.0-stage → 0.3.2
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/LICENSE +21 -0
- package/README.md +295 -2
- package/agreement.d.ts +14 -0
- package/agreement.js +80 -0
- package/asks.d.ts +47 -0
- package/asks.js +54 -0
- package/browser-connection.d.ts +49 -0
- package/browser-connection.js +215 -0
- package/browser-engine.d.ts +11 -0
- package/browser-engine.js +11 -0
- package/browser-execution.d.ts +6 -0
- package/browser-execution.js +18 -0
- package/browser-live.d.ts +4 -0
- package/browser-live.js +132 -0
- package/browser-transport.d.ts +33 -0
- package/browser-transport.js +229 -0
- package/browser.d.ts +4 -0
- package/browser.js +4 -0
- package/canonical.d.ts +10 -0
- package/canonical.js +25 -0
- package/compile-workspace.d.ts +28 -0
- package/compile-workspace.js +295 -0
- package/compile.d.ts +65 -0
- package/compile.js +1605 -0
- package/concierge-demo.d.ts +17 -0
- package/concierge-demo.js +1230 -0
- package/conversation-key.d.ts +5 -0
- package/conversation-key.js +10 -0
- package/decision-example-images.d.ts +30 -0
- package/decision-example-images.js +30 -0
- package/deno.json +3 -0
- package/draft.d.ts +407 -0
- package/draft.js +505 -0
- package/editors.d.ts +29 -0
- package/editors.js +51 -0
- package/example-embedding-files.d.ts +11 -0
- package/example-embedding-files.js +20 -0
- package/example.d.ts +36 -0
- package/example.js +357 -0
- package/guardrail-probe.d.ts +100 -0
- package/guardrail-probe.js +722 -0
- package/held-credentials.d.ts +28 -0
- package/held-credentials.js +87 -0
- package/installed.mjs +40 -0
- package/lent-keys.d.ts +122 -0
- package/lent-keys.js +47 -0
- package/line-diff.d.ts +15 -0
- package/line-diff.js +41 -0
- package/live-connection.d.ts +22 -0
- package/live-connection.js +27 -0
- package/live-session-bridge.d.ts +15 -0
- package/live-session-bridge.js +202 -0
- package/map-line.d.ts +19 -0
- package/map-line.js +42 -0
- package/map.d.ts +154 -0
- package/map.js +525 -0
- package/media-accept.d.ts +19 -0
- package/media-accept.js +65 -0
- package/mod.d.ts +39 -0
- package/mod.js +33 -0
- package/origins.d.ts +52 -0
- package/origins.js +165 -0
- package/package.json +85 -4
- package/page/assets/Banner-BISz3nXA.js +2 -0
- package/page/assets/BottomSheet-BwfBDtje.js +1 -0
- package/page/assets/Card-Lp-0P5eL.js +1 -0
- package/page/assets/CardWall-CBRLdDZW.js +1 -0
- package/page/assets/Center-nHS1JSux.js +1 -0
- package/page/assets/CheckboxInput-Cj5pk-KI.js +2 -0
- package/page/assets/CodeBlock-C7XJ4ioE.js +51 -0
- package/page/assets/CollapsibleGroup-N7_SOjbm.js +2 -0
- package/page/assets/ContextMenu-CBu9H-9H.js +2 -0
- package/page/assets/DateInput-BGrQ5tPC.js +1 -0
- package/page/assets/Dialog-DELWQo-v.js +1 -0
- package/page/assets/EmptyState-C8W4JKBZ.js +1 -0
- package/page/assets/HoverCard-D1Y1ltWQ.js +1 -0
- package/page/assets/Icon-JrysT8aU.js +3 -0
- package/page/assets/IconAlertTriangle-BqAEqqdU.js +1 -0
- package/page/assets/IconButton-DlOGzJIX.js +1 -0
- package/page/assets/IconEye-BB5aY-wQ.js +1 -0
- package/page/assets/IconFileText-6zOFKKrF.js +1 -0
- package/page/assets/IconSearch-BTx66a40.js +1 -0
- package/page/assets/IconShield-DDOh7Gr5.js +1 -0
- package/page/assets/ItemSwipeLayer-Ckn4X6h9.js +1 -0
- package/page/assets/PaneState-BvA2tLQg.js +1 -0
- package/page/assets/PaneState-eUzUkNE8.css +1 -0
- package/page/assets/ScrollableArea-Ckugdj1N.js +1 -0
- package/page/assets/Section-DJ97F7QE.js +1 -0
- package/page/assets/SegmentedControlItem-h-aaXzyS.js +1 -0
- package/page/assets/SidePanel-BL32abk8.js +1 -0
- package/page/assets/StackItem-CQviqAfM.js +1 -0
- package/page/assets/Text-bum6zWWx.js +2 -0
- package/page/assets/TimestampHoverCard-DQIG0RZF.js +1 -0
- package/page/assets/ToolResultCharts-CgshSv9Q.js +1 -0
- package/page/assets/Tooltip-BH9xiRMl.js +1 -0
- package/page/assets/TraceInspector-_yZiz05W.js +1 -0
- package/page/assets/TraceOverview-BPO-HIYK.js +57 -0
- package/page/assets/VStack-CkVMcNiK.js +1 -0
- package/page/assets/_virtual_studio-type-sources-ByxqQaOG.js +12936 -0
- package/page/assets/arrive-DvbqpeRS.js +1 -0
- package/page/assets/browser-engine-CYq9DQAM.js +9 -0
- package/page/assets/browser-transport-D-2jDYe7.js +47 -0
- package/page/assets/codicon-DF1abBS2.ttf +0 -0
- package/page/assets/compile-egress-BSxOdX4K.js +23 -0
- package/page/assets/container.stylex-BmOi-8DQ.js +1 -0
- package/page/assets/createReactComponent-CZwsv6DD.js +1 -0
- package/page/assets/decision-example-images-CZGr7YIT.js +1 -0
- package/page/assets/devWarning-DxuplmRl.js +1 -0
- package/page/assets/editor-DjpsE8to.css +1 -0
- package/page/assets/editor.api-Cd3ViPQa.js +908 -0
- package/page/assets/editor.worker-6GY8RhDc.js +1 -0
- package/page/assets/editor.worker-BmdWdrHZ.js +33 -0
- package/page/assets/editors-BJX_S59A.js +1 -0
- package/page/assets/egress-automata-B5ZGE1mT.js +1 -0
- package/page/assets/embedding-space-view-CfQBPDxD.js +140 -0
- package/page/assets/encode-files-Bc3HJyAh.js +1 -0
- package/page/assets/export-agent-C3yyzXH8.js +43 -0
- package/page/assets/figtree-latin-400-normal-BD4aNku5.woff +0 -0
- package/page/assets/figtree-latin-400-normal-g7Dtegnw.woff2 +0 -0
- package/page/assets/figtree-latin-500-normal-BWnGEVsr.woff2 +0 -0
- package/page/assets/figtree-latin-500-normal-B_yy1phn.woff +0 -0
- package/page/assets/figtree-latin-600-normal-BM_oTo4n.woff +0 -0
- package/page/assets/figtree-latin-600-normal-Cv_xCTDl.woff2 +0 -0
- package/page/assets/figtree-latin-700-normal-BCCt2T1q.woff +0 -0
- package/page/assets/figtree-latin-700-normal-th6qEP7c.woff2 +0 -0
- package/page/assets/focusOutline.stylex-BT0kfa4t.js +1 -0
- package/page/assets/focusableSelector-DXZeMU85.js +1 -0
- package/page/assets/groupStyles-C7Ter7zC.js +1 -0
- package/page/assets/guardrail-tester-Gut5xK4a.js +9 -0
- package/page/assets/host-patterns-C9RMP16Q.js +1 -0
- package/page/assets/index-CvvmFKgS.js +105 -0
- package/page/assets/index-DOaHlqBo.css +1 -0
- package/page/assets/isRtlElement-BG33-k_H.js +1 -0
- package/page/assets/labels-provider-4TIWDvsE.js +3 -0
- package/page/assets/lent-keys-C32ems-I.js +1 -0
- package/page/assets/live-ingress-lDUGPwth.js +1 -0
- package/page/assets/live-messages-CnkL4GWi.js +1 -0
- package/page/assets/mergeProps-ptS-gIMz.js +1 -0
- package/page/assets/padding.stylex-B76907Zf.js +1 -0
- package/page/assets/preload-helper-DpV6A1kQ.js +1 -0
- package/page/assets/reader-BOCCYaRp.js +7 -0
- package/page/assets/register-CDgivxvX.js +2 -0
- package/page/assets/rolldown-runtime-hePW80VL.js +1 -0
- package/page/assets/schemas-BQ9Jydzb.js +56 -0
- package/page/assets/shaped-data-BcarWqd5.js +16 -0
- package/page/assets/sharedResizeObserver-4U9Xq5Oq.js +1 -0
- package/page/assets/stub-DhdcU_Ew.js +471 -0
- package/page/assets/studio-code-pane-C_SAbcOa.js +8 -0
- package/page/assets/studio-console-DZwlEsvr.js +3 -0
- package/page/assets/studio-decision-B0FnCAXA.js +1 -0
- package/page/assets/studio-embedding-CmA51HVo.js +2 -0
- package/page/assets/studio-host-console-By7hqu2l.js +2 -0
- package/page/assets/studio-live-BrcVQcyV.js +1 -0
- package/page/assets/studio-map-B_xSia-z.js +1 -0
- package/page/assets/studio-map-Bb06Tw1F.css +1 -0
- package/page/assets/studio-monaco-CbKf90i6.css +1 -0
- package/page/assets/studio-monaco-xfyfezQS.js +34 -0
- package/page/assets/studio-ts.worker-B-EXG4Sv.js +67741 -0
- package/page/assets/studio-ts.worker-BXtW3z-O.js +1 -0
- package/page/assets/studio-type-checker-BOvxudki.js +23 -0
- package/page/assets/themeProps-3IqahpCr.js +1 -0
- package/page/assets/tokens.stylex-DkHf0P9C.js +1 -0
- package/page/assets/tool-schema-idaOe2nI.js +18 -0
- package/page/assets/trace-patterns-DnYJa0nI.js +1 -0
- package/page/assets/trace-record-C3zNksA_.js +1 -0
- package/page/assets/trace-schema-9CdEyG6Q.js +1 -0
- package/page/assets/tree-DqyAMsbI.js +3 -0
- package/page/assets/turn-client-Du3Um3Mg.js +2 -0
- package/page/assets/types-BhfXQCLx.js +1 -0
- package/page/assets/typescript-20GgZ8PJ.js +1 -0
- package/page/assets/use-one-call-Hcs8YBp1.js +1 -0
- package/page/assets/useAdaptivePresentation-BzmPCddb.js +1 -0
- package/page/assets/useClipboard-BgGRxRMJ.js +1 -0
- package/page/assets/useContainerReveal-BFy8N_QU.js +1 -0
- package/page/assets/useDevWarning-Z9SoixOP.js +1 -0
- package/page/assets/useLayerDismissal-B_G7IWpC.js +1 -0
- package/page/assets/useMediaQuery-BCT0NUeZ.js +1 -0
- package/page/assets/useScrollLock-Dyf6PHJt.js +1 -0
- package/page/assets/useScrollableArea-0NzdiBCq.js +1 -0
- package/page/assets/useTooltip-CJM_xhLB.js +1 -0
- package/page/assets/workspace-DZALqEDX.js +1 -0
- package/page/assets/zip-DTcEfps6.js +1 -0
- package/page/index.html +90 -0
- package/page.mjs +49 -0
- package/people.d.ts +87 -0
- package/people.js +110 -0
- package/policy.d.ts +43 -0
- package/policy.js +102 -0
- package/ports.d.mts +32 -0
- package/ports.mjs +85 -0
- package/probe-battery.d.ts +13 -0
- package/probe-battery.js +404 -0
- package/providers.d.ts +149 -0
- package/providers.js +306 -0
- package/read-source.d.ts +48 -0
- package/read-source.js +1301 -0
- package/read-steps.d.ts +23 -0
- package/read-steps.js +2 -0
- package/reader.d.ts +11 -0
- package/reader.js +11 -0
- package/registrations.d.ts +83 -0
- package/registrations.js +1 -0
- package/requirements.d.ts +22 -0
- package/requirements.js +38 -0
- package/run-payload-core.d.ts +28 -0
- package/run-payload-core.js +123 -0
- package/run-payload.d.ts +32 -0
- package/run-payload.js +26 -0
- package/runtime-scope.d.ts +84 -0
- package/runtime-scope.js +308 -0
- package/runtime.d.ts +84 -0
- package/runtime.js +387 -0
- package/section-notes.d.ts +33 -0
- package/section-notes.js +38 -0
- package/serve-page.mjs +96 -0
- package/server/draft-decide.d.ts +72 -0
- package/server/draft-decide.js +111 -0
- package/server/draft-embedding.d.ts +3 -0
- package/server/draft-embedding.js +35 -0
- package/server/draft-handler.d.ts +82 -0
- package/server/draft-handler.js +213 -0
- package/server/draft-probe.d.ts +14 -0
- package/server/draft-probe.js +61 -0
- package/server/draft-replies.d.ts +22 -0
- package/server/draft-replies.js +46 -0
- package/server/edited-session.d.ts +28 -0
- package/server/edited-session.js +83 -0
- package/server/edits.d.ts +38 -0
- package/server/edits.js +195 -0
- package/server/handler.d.ts +133 -0
- package/server/handler.js +598 -0
- package/server/lent-draft.d.ts +19 -0
- package/server/lent-draft.js +23 -0
- package/server/live.d.ts +15 -0
- package/server/live.js +96 -0
- package/server/open-editor.d.ts +63 -0
- package/server/open-editor.js +115 -0
- package/server/origins.d.ts +18 -0
- package/server/origins.js +330 -0
- package/server/project-source.d.ts +208 -0
- package/server/project-source.js +1042 -0
- package/server/project.d.ts +22 -0
- package/server/project.js +56 -0
- package/server/run-traces.d.ts +20 -0
- package/server/run-traces.js +96 -0
- package/server/save-new.d.ts +29 -0
- package/server/save-new.js +514 -0
- package/server/save-plan.d.ts +46 -0
- package/server/save-plan.js +1134 -0
- package/server/save-remove.d.ts +21 -0
- package/server/save-remove.js +528 -0
- package/server/save-session.d.ts +96 -0
- package/server/save-session.js +418 -0
- package/server/save-wire.d.ts +235 -0
- package/server/save-wire.js +8 -0
- package/server/save.d.ts +52 -0
- package/server/save.js +209 -0
- package/server/serve.d.ts +23 -0
- package/server/serve.js +413 -0
- package/server/test-connection.d.ts +17 -0
- package/server/test-connection.js +362 -0
- package/server/test-key.d.ts +2 -0
- package/server/test-key.js +83 -0
- package/server/watch.d.ts +28 -0
- package/server/watch.js +93 -0
- package/server/zod-edit.d.ts +74 -0
- package/server/zod-edit.js +558 -0
- package/server.d.ts +8 -0
- package/server.js +8 -0
- package/setups.mjs +170 -0
- package/shared-carry.d.ts +114 -0
- package/shared-carry.js +523 -0
- package/shared-settings.d.ts +34 -0
- package/shared-settings.js +70 -0
- package/source.d.ts +75 -0
- package/source.js +414 -0
- package/start.mjs +169 -0
- package/stream-lines.d.ts +9 -0
- package/stream-lines.js +27 -0
- package/stub.d.ts +6 -0
- package/stub.js +33 -0
- package/surface.d.ts +53 -0
- package/surface.js +631 -0
- package/system-markup.d.ts +20 -0
- package/system-markup.js +51 -0
- package/tool-schema.d.ts +23 -0
- package/tool-schema.js +69 -0
- package/tools.d.ts +16 -0
- package/tools.js +91 -0
- package/traces.d.ts +24 -0
- package/traces.js +29 -0
- package/transport.d.ts +57 -0
- package/transport.js +187 -0
- package/tree.d.ts +32 -0
- package/tree.js +83 -0
- package/types.d.ts +62 -0
- package/types.js +6 -0
- package/ui/acting-as-button.d.ts +2 -0
- package/ui/acting-as-button.js +16 -0
- package/ui/add-provider.d.ts +13 -0
- package/ui/add-provider.js +20 -0
- package/ui/boot-mark.css +53 -0
- package/ui/boot-mark.d.ts +19 -0
- package/ui/boot-mark.js +128 -0
- package/ui/boot-paint.d.ts +8 -0
- package/ui/boot-paint.js +8 -0
- package/ui/brand-icons.d.ts +57 -0
- package/ui/brand-icons.js +148 -0
- package/ui/built/theme.css +830 -0
- package/ui/built/theme.css.d.ts +9 -0
- package/ui/built/theorem-studio.d.ts +13 -0
- package/ui/built/theorem-studio.js +705 -0
- package/ui/built/theorem-studio.variants.d.ts +28 -0
- package/ui/code/monaco-contributions.d.ts +45 -0
- package/ui/code/studio-code.d.ts +7 -0
- package/ui/code/studio-code.js +253 -0
- package/ui/code/studio-monaco.d.ts +44 -0
- package/ui/code/studio-monaco.js +48 -0
- package/ui/code/studio-ts.worker.d.ts +1 -0
- package/ui/code/studio-ts.worker.js +16 -0
- package/ui/code/studio-type-checker.d.ts +12 -0
- package/ui/code/studio-type-checker.js +308 -0
- package/ui/code/studio-type-sources.d.ts +26 -0
- package/ui/confirm-write.d.ts +12 -0
- package/ui/confirm-write.js +45 -0
- package/ui/diff-block.d.ts +21 -0
- package/ui/diff-block.js +17 -0
- package/ui/figtree.css +59 -0
- package/ui/file-place.d.ts +4 -0
- package/ui/file-place.js +26 -0
- package/ui/guardrail-tester.d.ts +18 -0
- package/ui/guardrail-tester.js +248 -0
- package/ui/inspector-context.d.ts +119 -0
- package/ui/inspector-context.js +84 -0
- package/ui/inspector.d.ts +247 -0
- package/ui/inspector.js +284 -0
- package/ui/lib/acting-as.d.ts +25 -0
- package/ui/lib/acting-as.js +90 -0
- package/ui/lib/boot-sequence.d.ts +32 -0
- package/ui/lib/boot-sequence.js +57 -0
- package/ui/lib/export-agent.d.ts +11 -0
- package/ui/lib/export-agent.js +335 -0
- package/ui/lib/facet-icons.d.ts +20 -0
- package/ui/lib/facet-icons.js +21 -0
- package/ui/lib/panel-motion.d.ts +8 -0
- package/ui/lib/panel-motion.js +74 -0
- package/ui/lib/project-address.d.ts +14 -0
- package/ui/lib/project-address.js +24 -0
- package/ui/lib/project-starting.d.ts +13 -0
- package/ui/lib/project-starting.js +30 -0
- package/ui/lib/project-traces.d.ts +17 -0
- package/ui/lib/project-traces.js +54 -0
- package/ui/lib/read-map.d.ts +30 -0
- package/ui/lib/read-map.js +173 -0
- package/ui/lib/read-progress.d.ts +14 -0
- package/ui/lib/read-progress.js +12 -0
- package/ui/lib/refusal-lines.d.ts +3 -0
- package/ui/lib/refusal-lines.js +8 -0
- package/ui/lib/studio-activity.d.ts +5 -0
- package/ui/lib/studio-activity.js +17 -0
- package/ui/lib/studio-console.d.ts +27 -0
- package/ui/lib/studio-console.js +9 -0
- package/ui/lib/studio-conversation.d.ts +20 -0
- package/ui/lib/studio-conversation.js +130 -0
- package/ui/lib/studio-examples.d.ts +31 -0
- package/ui/lib/studio-examples.js +25 -0
- package/ui/lib/studio-labels.d.ts +6 -0
- package/ui/lib/studio-labels.js +13 -0
- package/ui/lib/studio-map-kept.d.ts +17 -0
- package/ui/lib/studio-map-kept.js +48 -0
- package/ui/lib/studio-open.d.ts +22 -0
- package/ui/lib/studio-open.js +54 -0
- package/ui/lib/studio-page.d.ts +33 -0
- package/ui/lib/studio-page.js +121 -0
- package/ui/lib/studio-prefs.d.ts +26 -0
- package/ui/lib/studio-prefs.js +87 -0
- package/ui/lib/studio-project.d.ts +106 -0
- package/ui/lib/studio-project.js +177 -0
- package/ui/lib/studio-restore.d.ts +49 -0
- package/ui/lib/studio-restore.js +251 -0
- package/ui/lib/studio-run-open.d.ts +15 -0
- package/ui/lib/studio-run-open.js +16 -0
- package/ui/lib/studio-session.d.ts +34 -0
- package/ui/lib/studio-session.js +17 -0
- package/ui/lib/studio-settings.d.ts +15 -0
- package/ui/lib/studio-settings.js +48 -0
- package/ui/lib/studio-store.d.ts +64 -0
- package/ui/lib/studio-store.js +391 -0
- package/ui/lib/studio-watch.d.ts +12 -0
- package/ui/lib/studio-watch.js +27 -0
- package/ui/lib/tab-fills.d.ts +6 -0
- package/ui/lib/tab-fills.js +14 -0
- package/ui/lib/tool-credentials.d.ts +3 -0
- package/ui/lib/tool-credentials.js +23 -0
- package/ui/lib/tool-probe.d.ts +19 -0
- package/ui/lib/tool-probe.js +104 -0
- package/ui/lib/type-icons.d.ts +35 -0
- package/ui/lib/type-icons.js +38 -0
- package/ui/lib/when-idle.d.ts +5 -0
- package/ui/lib/when-idle.js +14 -0
- package/ui/lib/zip.d.ts +5 -0
- package/ui/lib/zip.js +8 -0
- package/ui/map-token.css +11 -0
- package/ui/map-token.d.ts +17 -0
- package/ui/map-token.js +29 -0
- package/ui/mcp-icon.d.ts +6 -0
- package/ui/mcp-icon.js +8 -0
- package/ui/motion.css +113 -0
- package/ui/pan.d.ts +32 -0
- package/ui/pan.js +90 -0
- package/ui/profile-editor.d.ts +33 -0
- package/ui/profile-editor.js +2638 -0
- package/ui/provider-editor.d.ts +15 -0
- package/ui/provider-editor.js +92 -0
- package/ui/read-map.css +48 -0
- package/ui/read-map.d.ts +7 -0
- package/ui/read-map.js +163 -0
- package/ui/refusal-detail.d.ts +4 -0
- package/ui/refusal-detail.js +21 -0
- package/ui/shared-change.d.ts +9 -0
- package/ui/shared-change.js +28 -0
- package/ui/shell-motion.css +121 -0
- package/ui/shell-motion.d.ts +73 -0
- package/ui/shell-motion.js +194 -0
- package/ui/studio-code-pane.d.ts +19 -0
- package/ui/studio-code-pane.js +44 -0
- package/ui/studio-compare.d.ts +80 -0
- package/ui/studio-compare.js +326 -0
- package/ui/studio-conflicts.d.ts +17 -0
- package/ui/studio-conflicts.js +87 -0
- package/ui/studio-connection.d.ts +64 -0
- package/ui/studio-connection.js +286 -0
- package/ui/studio-decision.d.ts +6 -0
- package/ui/studio-decision.js +49 -0
- package/ui/studio-embedding.d.ts +6 -0
- package/ui/studio-embedding.js +30 -0
- package/ui/studio-host-console.d.ts +6 -0
- package/ui/studio-host-console.js +17 -0
- package/ui/studio-host.d.ts +73 -0
- package/ui/studio-host.js +12 -0
- package/ui/studio-live.d.ts +17 -0
- package/ui/studio-live.js +26 -0
- package/ui/studio-map.css +273 -0
- package/ui/studio-map.d.ts +17 -0
- package/ui/studio-map.js +397 -0
- package/ui/studio-nav.d.ts +24 -0
- package/ui/studio-nav.js +17 -0
- package/ui/studio-no-project.d.ts +5 -0
- package/ui/studio-no-project.js +9 -0
- package/ui/studio-run.css +76 -0
- package/ui/studio-run.d.ts +14 -0
- package/ui/studio-run.js +119 -0
- package/ui/studio-runner.d.ts +45 -0
- package/ui/studio-runner.js +187 -0
- package/ui/studio-save.d.ts +49 -0
- package/ui/studio-save.js +307 -0
- package/ui/studio-screen.d.ts +61 -0
- package/ui/studio-screen.js +2078 -0
- package/ui/studio-settings.d.ts +31 -0
- package/ui/studio-settings.js +288 -0
- package/ui/studio-shell.css +27 -0
- package/ui/studio-shell.d.ts +43 -0
- package/ui/studio-shell.js +87 -0
- package/ui/studio-theme.d.ts +7 -0
- package/ui/studio-theme.js +94 -0
- package/ui/studio.css +427 -0
- package/ui/theorem-mark.css +84 -0
- package/ui/theorem-mark.d.ts +22 -0
- package/ui/theorem-mark.js +21 -0
- package/vite.d.mts +30 -0
- package/vite.mjs +277 -0
- package/workspace.d.ts +230 -0
- package/workspace.js +1054 -0
|
@@ -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-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.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:repeat(2,max-content) minmax(max-content,1fr);display:grid;overflow:auto}.studio-diff[data-wrapped=true] .studio-diff-lines{grid-template-columns:repeat(2,max-content) minmax(0,1fr)}.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-number,.studio-diff-sign{padding-inline:var(--spacing-2);color:var(--color-text-secondary);text-align:end;-webkit-user-select:none;user-select:none}.studio-diff-sign{text-align:center;grid-column:2}.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;grid-column:3;padding-inline-end:var(--spacing-3);transition:opacity .12s}.studio-diff[data-wrapped=true] .studio-diff-line code{white-space:pre-wrap;overflow-wrap:anywhere}.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-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}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){return!e||typeof window>`u`?!1:window.getComputedStyle(e).direction===`rtl`}export{e as t};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{c as t,u as n}from"./themeProps-3IqahpCr.js";import{S as r,b as i,x as a}from"./Icon-JrysT8aU.js";var o=e(n(),1);function s(e){try{let t=new Intl.Locale(e);return(typeof t.getTextInfo==`function`?t.getTextInfo():t.textInfo)?.direction===`rtl`?`rtl`:`ltr`}catch{return`ltr`}}var c=t();function l(e){return Object.values(e).some(e=>Object.values(e).some(e=>typeof e==`string`))?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Object.fromEntries(Object.entries(t).map(([e,t])=>[e,typeof t==`string`?{defaultMessage:t}:t]))])):e}function u({locale:e,messages:t,overrides:n,dir:i,children:u}){let d=i??s(e),f=(0,o.useMemo)(()=>{let i=t??{};return{locale:e,direction:d,messages:l(i),overrides:n,translate:r(e,i,n)}},[e,d,t,n]);return(0,c.jsx)(a,{value:f,children:u})}u.displayName=`InternationalizationProvider`;function d(e,t){let n=t&&t.cache?t.cache:ae,r=t&&t.serializer?t.serializer:re;return(t&&t.strategy?t.strategy:ee)(e,{cache:n,serializer:r})}function f(e){return e==null||typeof e==`number`||typeof e==`boolean`}function p(e,t,n,r){let i=f(r)?r:n(r),a=t.get(i);return a===void 0&&(a=e.call(this,r),t.set(i,a)),a}function m(e,t,n){let r=Array.prototype.slice.call(arguments,3),i=n(r),a=t.get(i);return a===void 0&&(a=e.apply(this,r),t.set(i,a)),a}function h(e,t,n,r,i){return n.bind(t,e,r,i)}function ee(e,t){let n=e.length===1?p:m;return h(e,this,n,t.cache.create(),t.serializer)}function te(e,t){return h(e,this,m,t.cache.create(),t.serializer)}function ne(e,t){return h(e,this,p,t.cache.create(),t.serializer)}var re=function(){return JSON.stringify(arguments)},ie=class{constructor(){this.cache=Object.create(null)}get(e){return this.cache[e]}set(e,t){this.cache[e]=t}},ae={create:function(){return new ie}},g={variadic:te,monadic:ne},oe=/(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;function se(e){let t={};return e.replace(oe,e=>{let n=e.length;switch(e[0]){case`G`:t.era=n===4?`long`:n===5?`narrow`:`short`;break;case`y`:t.year=n===2?`2-digit`:`numeric`;break;case`Y`:case`u`:case`U`:case`r`:throw RangeError("`Y/u/U/r` (year) patterns are not supported, use `y` instead");case`q`:case`Q`:throw RangeError("`q/Q` (quarter) patterns are not supported");case`M`:case`L`:t.month=[`numeric`,`2-digit`,`short`,`long`,`narrow`][n-1];break;case`w`:case`W`:throw RangeError("`w/W` (week) patterns are not supported");case`d`:t.day=[`numeric`,`2-digit`][n-1];break;case`D`:case`F`:case`g`:throw RangeError("`D/F/g` (day) patterns are not supported, use `d` instead");case`E`:t.weekday=n===4?`long`:n===5?`narrow`:`short`;break;case`e`:if(n<4)throw RangeError("`e..eee` (weekday) patterns are not supported");t.weekday=[`short`,`long`,`narrow`,`short`][n-3];break;case`c`:if(n<4)throw RangeError("`c..ccc` (weekday) patterns are not supported");t.weekday=[`short`,`long`,`narrow`,`short`][n-3];break;case`a`:t.hour12=!0;break;case`b`:case`B`:throw RangeError("`b/B` (period) patterns are not supported, use `a` instead");case`h`:t.hourCycle=`h12`,t.hour=[`numeric`,`2-digit`][n-1];break;case`H`:t.hourCycle=`h23`,t.hour=[`numeric`,`2-digit`][n-1];break;case`K`:t.hourCycle=`h11`,t.hour=[`numeric`,`2-digit`][n-1];break;case`k`:t.hourCycle=`h24`,t.hour=[`numeric`,`2-digit`][n-1];break;case`j`:case`J`:case`C`:throw RangeError("`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead");case`m`:t.minute=[`numeric`,`2-digit`][n-1];break;case`s`:t.second=[`numeric`,`2-digit`][n-1];break;case`S`:case`A`:throw RangeError("`S/A` (second) patterns are not supported, use `s` instead");case`z`:t.timeZoneName=n<4?`short`:`long`;break;case`Z`:case`O`:case`v`:case`V`:case`X`:case`x`:throw RangeError("`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead")}return``}),t}var ce=/[\t-\r \x85\u200E\u200F\u2028\u2029]/i;function le(e){if(e.length===0)throw Error(`Number skeleton cannot be empty`);let t=e.split(ce).filter(e=>e.length>0),n=[];for(let e of t){let t=e.split(`/`);if(t.length===0)throw Error(`Invalid number skeleton`);let[r,...i]=t;for(let e of i)if(e.length===0)throw Error(`Invalid number skeleton`);n.push({stem:r,options:i})}return n}function ue(e){return e.replace(/^(.*?)-/,``)}var _=/^\.(?:(0+)(\*)?|(#+)|(0+)(#+))$/g,v=/^(@+)?(\+|#+)?[rs]?$/g,de=/(\*)(0+)|(#+)(0+)|(0+)/g,y=/^(0+)$/;function b(e){let t={};return e[e.length-1]===`r`?t.roundingPriority=`morePrecision`:e[e.length-1]===`s`&&(t.roundingPriority=`lessPrecision`),e.replace(v,function(e,n,r){return typeof r==`string`?r===`+`?t.minimumSignificantDigits=n.length:n[0]===`#`?t.maximumSignificantDigits=n.length:(t.minimumSignificantDigits=n.length,t.maximumSignificantDigits=n.length+(typeof r==`string`?r.length:0)):(t.minimumSignificantDigits=n.length,t.maximumSignificantDigits=n.length),``}),t}function x(e){switch(e){case`sign-auto`:return{signDisplay:`auto`};case`sign-accounting`:case`()`:return{currencySign:`accounting`};case`sign-always`:case`+!`:return{signDisplay:`always`};case`sign-accounting-always`:case`()!`:return{signDisplay:`always`,currencySign:`accounting`};case`sign-except-zero`:case`+?`:return{signDisplay:`exceptZero`};case`sign-accounting-except-zero`:case`()?`:return{signDisplay:`exceptZero`,currencySign:`accounting`};case`sign-never`:case`+_`:return{signDisplay:`never`}}}function fe(e){let t;if(e[0]===`E`&&e[1]===`E`?(t={notation:`engineering`},e=e.slice(2)):e[0]===`E`&&(t={notation:`scientific`},e=e.slice(1)),t){let n=e.slice(0,2);if(n===`+!`?(t.signDisplay=`always`,e=e.slice(2)):n===`+?`&&(t.signDisplay=`exceptZero`,e=e.slice(2)),!y.test(e))throw Error(`Malformed concise eng/scientific notation`);t.minimumIntegerDigits=e.length}return t}function S(e){return x(e)||{}}function pe(e){let t={};for(let n of e){switch(n.stem){case`percent`:case`%`:t.style=`percent`;continue;case`%x100`:t.style=`percent`,t.scale=100;continue;case`currency`:t.style=`currency`,t.currency=n.options[0];continue;case`group-off`:case`,_`:t.useGrouping=!1;continue;case`precision-integer`:case`.`:t.maximumFractionDigits=0;continue;case`measure-unit`:case`unit`:t.style=`unit`,t.unit=ue(n.options[0]);continue;case`compact-short`:case`K`:t.notation=`compact`,t.compactDisplay=`short`;continue;case`compact-long`:case`KK`:t.notation=`compact`,t.compactDisplay=`long`;continue;case`scientific`:t={...t,notation:`scientific`,...n.options.reduce((e,t)=>({...e,...S(t)}),{})};continue;case`engineering`:t={...t,notation:`engineering`,...n.options.reduce((e,t)=>({...e,...S(t)}),{})};continue;case`notation-simple`:t.notation=`standard`;continue;case`unit-width-narrow`:t.currencyDisplay=`narrowSymbol`,t.unitDisplay=`narrow`;continue;case`unit-width-short`:t.currencyDisplay=`code`,t.unitDisplay=`short`;continue;case`unit-width-full-name`:t.currencyDisplay=`name`,t.unitDisplay=`long`;continue;case`unit-width-iso-code`:t.currencyDisplay=`symbol`;continue;case`scale`:t.scale=parseFloat(n.options[0]);continue;case`rounding-mode-floor`:t.roundingMode=`floor`;continue;case`rounding-mode-ceiling`:t.roundingMode=`ceil`;continue;case`rounding-mode-down`:t.roundingMode=`trunc`;continue;case`rounding-mode-up`:t.roundingMode=`expand`;continue;case`rounding-mode-half-even`:t.roundingMode=`halfEven`;continue;case`rounding-mode-half-down`:t.roundingMode=`halfTrunc`;continue;case`rounding-mode-half-up`:t.roundingMode=`halfExpand`;continue;case`integer-width`:if(n.options.length>1)throw RangeError(`integer-width stems only accept a single optional option`);n.options[0].replace(de,function(e,n,r,i,a,o){if(n)t.minimumIntegerDigits=r.length;else if(i&&a)throw Error(`We currently do not support maximum integer digits`);else if(o)throw Error(`We currently do not support exact integer digits`);return``});continue}if(y.test(n.stem)){t.minimumIntegerDigits=n.stem.length;continue}if(_.test(n.stem)){if(n.options.length>1)throw RangeError(`Fraction-precision stems only accept a single optional option`);n.stem.replace(_,function(e,n,r,i,a,o){return r===`*`?t.minimumFractionDigits=n.length:i&&i[0]===`#`?t.maximumFractionDigits=i.length:a&&o?(t.minimumFractionDigits=a.length,t.maximumFractionDigits=a.length+o.length):(t.minimumFractionDigits=n.length,t.maximumFractionDigits=n.length),``});let e=n.options[0];e===`w`?t={...t,trailingZeroDisplay:`stripIfInteger`}:e&&(t={...t,...b(e)});continue}if(v.test(n.stem)){t={...t,...b(n.stem)};continue}let e=x(n.stem);e&&(t={...t,...e});let r=fe(n.stem);r&&(t={...t,...r})}return t}var me=function(e){return e[e.EXPECT_ARGUMENT_CLOSING_BRACE=1]=`EXPECT_ARGUMENT_CLOSING_BRACE`,e[e.EMPTY_ARGUMENT=2]=`EMPTY_ARGUMENT`,e[e.MALFORMED_ARGUMENT=3]=`MALFORMED_ARGUMENT`,e[e.EXPECT_ARGUMENT_TYPE=4]=`EXPECT_ARGUMENT_TYPE`,e[e.INVALID_ARGUMENT_TYPE=5]=`INVALID_ARGUMENT_TYPE`,e[e.EXPECT_ARGUMENT_STYLE=6]=`EXPECT_ARGUMENT_STYLE`,e[e.INVALID_NUMBER_SKELETON=7]=`INVALID_NUMBER_SKELETON`,e[e.INVALID_DATE_TIME_SKELETON=8]=`INVALID_DATE_TIME_SKELETON`,e[e.EXPECT_NUMBER_SKELETON=9]=`EXPECT_NUMBER_SKELETON`,e[e.EXPECT_DATE_TIME_SKELETON=10]=`EXPECT_DATE_TIME_SKELETON`,e[e.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE=11]=`UNCLOSED_QUOTE_IN_ARGUMENT_STYLE`,e[e.EXPECT_SELECT_ARGUMENT_OPTIONS=12]=`EXPECT_SELECT_ARGUMENT_OPTIONS`,e[e.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE=13]=`EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE`,e[e.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE=14]=`INVALID_PLURAL_ARGUMENT_OFFSET_VALUE`,e[e.EXPECT_SELECT_ARGUMENT_SELECTOR=15]=`EXPECT_SELECT_ARGUMENT_SELECTOR`,e[e.EXPECT_PLURAL_ARGUMENT_SELECTOR=16]=`EXPECT_PLURAL_ARGUMENT_SELECTOR`,e[e.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT=17]=`EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT`,e[e.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT=18]=`EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT`,e[e.INVALID_PLURAL_ARGUMENT_SELECTOR=19]=`INVALID_PLURAL_ARGUMENT_SELECTOR`,e[e.DUPLICATE_PLURAL_ARGUMENT_SELECTOR=20]=`DUPLICATE_PLURAL_ARGUMENT_SELECTOR`,e[e.DUPLICATE_SELECT_ARGUMENT_SELECTOR=21]=`DUPLICATE_SELECT_ARGUMENT_SELECTOR`,e[e.MISSING_OTHER_CLAUSE=22]=`MISSING_OTHER_CLAUSE`,e[e.INVALID_TAG=23]=`INVALID_TAG`,e[e.INVALID_TAG_NAME=25]=`INVALID_TAG_NAME`,e[e.UNMATCHED_CLOSING_TAG=26]=`UNMATCHED_CLOSING_TAG`,e[e.UNCLOSED_TAG=27]=`UNCLOSED_TAG`,e}({});function C(e){return e.type===0}function he(e){return e.type===1}function w(e){return e.type===2}function T(e){return e.type===3}function E(e){return e.type===4}function D(e){return e.type===5}function O(e){return e.type===6}function ge(e){return e.type===7}function k(e){return e.type===8}function A(e){return!!(e&&typeof e==`object`&&e.type===0)}function j(e){return!!(e&&typeof e==`object`&&e.type===1)}var M=/[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/,N={"001":[`H`,`h`],419:[`h`,`H`,`hB`,`hb`],AC:[`H`,`h`,`hb`,`hB`],AD:[`H`,`hB`],AE:[`h`,`hB`,`hb`,`H`],AF:[`H`,`hb`,`hB`,`h`],AG:[`h`,`hb`,`H`,`hB`],AI:[`H`,`h`,`hb`,`hB`],AL:[`h`,`H`,`hB`],AM:[`H`,`hB`],AO:[`H`,`hB`],AR:[`h`,`H`,`hB`,`hb`],AS:[`h`,`H`],AT:[`H`,`hB`],AU:[`h`,`hb`,`H`,`hB`],AW:[`H`,`hB`],AX:[`H`],AZ:[`H`,`hB`,`h`],BA:[`H`,`hB`,`h`],BB:[`h`,`hb`,`H`,`hB`],BD:[`h`,`hB`,`H`],BE:[`H`,`hB`],BF:[`H`,`hB`],BG:[`H`,`hB`,`h`],BH:[`h`,`hB`,`hb`,`H`],BI:[`H`,`h`],BJ:[`H`,`hB`],BL:[`H`,`hB`],BM:[`h`,`hb`,`H`,`hB`],BN:[`hb`,`hB`,`h`,`H`],BO:[`h`,`H`,`hB`,`hb`],BQ:[`H`],BR:[`H`,`hB`],BS:[`h`,`hb`,`H`,`hB`],BT:[`h`,`H`],BW:[`H`,`h`,`hb`,`hB`],BY:[`H`,`h`],BZ:[`H`,`h`,`hb`,`hB`],CA:[`h`,`hb`,`H`,`hB`],CC:[`H`,`h`,`hb`,`hB`],CD:[`hB`,`H`],CF:[`H`,`h`,`hB`],CG:[`H`,`hB`],CH:[`H`,`hB`,`h`],CI:[`H`,`hB`],CK:[`H`,`h`,`hb`,`hB`],CL:[`h`,`H`,`hB`,`hb`],CM:[`H`,`h`,`hB`],CN:[`H`,`hB`,`hb`,`h`],CO:[`h`,`H`,`hB`,`hb`],CP:[`H`],CR:[`h`,`H`,`hB`,`hb`],CU:[`h`,`H`,`hB`,`hb`],CV:[`H`,`hB`],CW:[`H`,`hB`],CX:[`H`,`h`,`hb`,`hB`],CY:[`h`,`H`,`hb`,`hB`],CZ:[`H`],DE:[`H`,`hB`],DG:[`H`,`h`,`hb`,`hB`],DJ:[`h`,`H`],DK:[`H`],DM:[`h`,`hb`,`H`,`hB`],DO:[`h`,`H`,`hB`,`hb`],DZ:[`h`,`hB`,`hb`,`H`],EA:[`H`,`h`,`hB`,`hb`],EC:[`h`,`H`,`hB`,`hb`],EE:[`H`,`hB`],EG:[`h`,`hB`,`hb`,`H`],EH:[`h`,`hB`,`hb`,`H`],ER:[`h`,`H`],ES:[`H`,`hB`,`h`,`hb`],ET:[`hB`,`hb`,`h`,`H`],FI:[`H`],FJ:[`h`,`hb`,`H`,`hB`],FK:[`H`,`h`,`hb`,`hB`],FM:[`h`,`hb`,`H`,`hB`],FO:[`H`,`h`],FR:[`H`,`hB`],GA:[`H`,`hB`],GB:[`H`,`h`,`hb`,`hB`],GD:[`h`,`hb`,`H`,`hB`],GE:[`H`,`hB`,`h`],GF:[`H`,`hB`],GG:[`H`,`h`,`hb`,`hB`],GH:[`h`,`H`],GI:[`H`,`h`,`hb`,`hB`],GL:[`H`,`h`],GM:[`h`,`hb`,`H`,`hB`],GN:[`H`,`hB`],GP:[`H`,`hB`],GQ:[`H`,`hB`,`h`,`hb`],GR:[`h`,`H`,`hb`,`hB`],GS:[`H`,`h`,`hb`,`hB`],GT:[`h`,`H`,`hB`,`hb`],GU:[`h`,`hb`,`H`,`hB`],GW:[`H`,`hB`],GY:[`h`,`hb`,`H`,`hB`],HK:[`h`,`hB`,`hb`,`H`],HN:[`h`,`H`,`hB`,`hb`],HR:[`H`,`hB`],HU:[`H`,`h`],IC:[`H`,`h`,`hB`,`hb`],ID:[`H`],IE:[`H`,`h`,`hb`,`hB`],IL:[`H`,`hB`],IM:[`H`,`h`,`hb`,`hB`],IN:[`h`,`H`],IO:[`H`,`h`,`hb`,`hB`],IQ:[`h`,`hB`,`hb`,`H`],IR:[`hB`,`H`],IS:[`H`],IT:[`H`,`hB`],JE:[`H`,`h`,`hb`,`hB`],JM:[`h`,`hb`,`H`,`hB`],JO:[`h`,`hB`,`hb`,`H`],JP:[`H`,`K`,`h`],KE:[`hB`,`hb`,`H`,`h`],KG:[`H`,`h`,`hB`,`hb`],KH:[`hB`,`h`,`H`,`hb`],KI:[`h`,`hb`,`H`,`hB`],KM:[`H`,`h`,`hB`,`hb`],KN:[`h`,`hb`,`H`,`hB`],KP:[`h`,`H`,`hB`,`hb`],KR:[`h`,`H`,`hB`,`hb`],KW:[`h`,`hB`,`hb`,`H`],KY:[`h`,`hb`,`H`,`hB`],KZ:[`H`,`hB`],LA:[`H`,`hb`,`hB`,`h`],LB:[`h`,`hB`,`hb`,`H`],LC:[`h`,`hb`,`H`,`hB`],LI:[`H`,`hB`,`h`],LK:[`H`,`h`,`hB`,`hb`],LR:[`h`,`hb`,`H`,`hB`],LS:[`h`,`H`],LT:[`H`,`h`,`hb`,`hB`],LU:[`H`,`h`,`hB`],LV:[`H`,`hB`,`hb`,`h`],LY:[`h`,`hB`,`hb`,`H`],MA:[`H`,`h`,`hB`,`hb`],MC:[`H`,`hB`],MD:[`H`,`hB`],ME:[`H`,`hB`,`h`],MF:[`H`,`hB`],MG:[`H`,`h`],MH:[`h`,`hb`,`H`,`hB`],MK:[`H`,`h`,`hb`,`hB`],ML:[`H`],MM:[`hB`,`hb`,`H`,`h`],MN:[`H`,`h`,`hb`,`hB`],MO:[`h`,`hB`,`hb`,`H`],MP:[`h`,`hb`,`H`,`hB`],MQ:[`H`,`hB`],MR:[`h`,`hB`,`hb`,`H`],MS:[`H`,`h`,`hb`,`hB`],MT:[`H`,`h`],MU:[`H`,`h`],MV:[`H`,`h`],MW:[`h`,`hb`,`H`,`hB`],MX:[`h`,`H`,`hB`,`hb`],MY:[`hb`,`hB`,`h`,`H`],MZ:[`H`,`hB`],NA:[`h`,`H`,`hB`,`hb`],NC:[`H`,`hB`],NE:[`H`],NF:[`H`,`h`,`hb`,`hB`],NG:[`H`,`h`,`hb`,`hB`],NI:[`h`,`H`,`hB`,`hb`],NL:[`H`,`hB`],NO:[`H`,`h`],NP:[`H`,`h`,`hB`],NR:[`H`,`h`,`hb`,`hB`],NU:[`H`,`h`,`hb`,`hB`],NZ:[`h`,`hb`,`H`,`hB`],OM:[`h`,`hB`,`hb`,`H`],PA:[`h`,`H`,`hB`,`hb`],PE:[`h`,`H`,`hB`,`hb`],PF:[`H`,`h`,`hB`],PG:[`h`,`H`],PH:[`h`,`hB`,`hb`,`H`],PK:[`h`,`hB`,`H`],PL:[`H`,`h`],PM:[`H`,`hB`],PN:[`H`,`h`,`hb`,`hB`],PR:[`h`,`H`,`hB`,`hb`],PS:[`h`,`hB`,`hb`,`H`],PT:[`H`,`hB`],PW:[`h`,`H`],PY:[`h`,`H`,`hB`,`hb`],QA:[`h`,`hB`,`hb`,`H`],RE:[`H`,`hB`],RO:[`H`,`hB`],RS:[`H`,`hB`,`h`],RU:[`H`],RW:[`H`,`h`],SA:[`h`,`hB`,`hb`,`H`],SB:[`h`,`hb`,`H`,`hB`],SC:[`H`,`h`,`hB`],SD:[`h`,`hB`,`hb`,`H`],SE:[`H`],SG:[`h`,`hb`,`H`,`hB`],SH:[`H`,`h`,`hb`,`hB`],SI:[`H`,`hB`],SJ:[`H`],SK:[`H`],SL:[`h`,`hb`,`H`,`hB`],SM:[`H`,`h`,`hB`],SN:[`H`,`h`,`hB`],SO:[`h`,`H`],SR:[`H`,`hB`],SS:[`h`,`hb`,`H`,`hB`],ST:[`H`,`hB`],SV:[`h`,`H`,`hB`,`hb`],SX:[`H`,`h`,`hb`,`hB`],SY:[`h`,`hB`,`hb`,`H`],SZ:[`h`,`hb`,`H`,`hB`],TA:[`H`,`h`,`hb`,`hB`],TC:[`h`,`hb`,`H`,`hB`],TD:[`h`,`H`,`hB`],TF:[`H`,`h`,`hB`],TG:[`H`,`hB`],TH:[`H`,`h`],TJ:[`H`,`h`],TL:[`H`,`hB`,`hb`,`h`],TM:[`H`,`h`],TN:[`h`,`hB`,`hb`,`H`],TO:[`h`,`H`],TR:[`H`,`hB`],TT:[`h`,`hb`,`H`,`hB`],TW:[`hB`,`hb`,`h`,`H`],TZ:[`hB`,`hb`,`H`,`h`],UA:[`H`,`hB`,`h`],UG:[`hB`,`hb`,`H`,`h`],UM:[`h`,`hb`,`H`,`hB`],US:[`h`,`hb`,`H`,`hB`],UY:[`h`,`H`,`hB`,`hb`],UZ:[`H`,`hB`,`h`],VA:[`H`,`h`,`hB`],VC:[`h`,`hb`,`H`,`hB`],VE:[`h`,`H`,`hB`,`hb`],VG:[`h`,`hb`,`H`,`hB`],VI:[`h`,`hb`,`H`,`hB`],VN:[`H`,`h`],VU:[`h`,`H`],WF:[`H`,`hB`],WS:[`h`,`H`],XK:[`H`,`hB`,`h`],YE:[`h`,`hB`,`hb`,`H`],YT:[`H`,`hB`],ZA:[`H`,`h`,`hb`,`hB`],ZM:[`h`,`hb`,`H`,`hB`],ZW:[`H`,`h`],"af-ZA":[`H`,`h`,`hB`,`hb`],"ar-001":[`h`,`hB`,`hb`,`H`],"ca-ES":[`H`,`h`,`hB`],"en-001":[`h`,`hb`,`H`,`hB`],"en-HK":[`h`,`hb`,`H`,`hB`],"en-IL":[`H`,`h`,`hb`,`hB`],"en-MY":[`h`,`hb`,`H`,`hB`],"es-BR":[`H`,`h`,`hB`,`hb`],"es-ES":[`H`,`h`,`hB`,`hb`],"es-GQ":[`H`,`h`,`hB`,`hb`],"fr-CA":[`H`,`h`,`hB`],"gl-ES":[`H`,`h`,`hB`],"gu-IN":[`hB`,`hb`,`h`,`H`],"hi-IN":[`hB`,`h`,`H`],"it-CH":[`H`,`h`,`hB`],"it-IT":[`H`,`h`,`hB`],"kn-IN":[`hB`,`h`,`H`],"ku-SY":[`H`,`hB`],"ml-IN":[`hB`,`h`,`H`],"mr-IN":[`hB`,`hb`,`h`,`H`],"pa-IN":[`hB`,`hb`,`h`,`H`],"ta-IN":[`hB`,`h`,`hb`,`H`],"te-IN":[`hB`,`h`,`H`],"zu-ZA":[`H`,`hB`,`hb`,`h`]};function P(e,t){let n=``;for(let r=0;r<e.length;r++){let i=e.charAt(r);if(i===`j`){let a=0;for(;r+1<e.length&&e.charAt(r+1)===i;)a++,r++;let o=1+(a&1),s=a<2?1:3+(a>>1),c=F(t);for((c==`H`||c==`k`)&&(s=0);s-->0;)n+=`a`;for(;o-->0;)n=c+n}else n+=i===`J`?`H`:i}return n}function F(e){let t=e.hourCycle;if(t===void 0){let n=e;t=n.getHourCycles?.()[0]??n.hourCycles?.[0]}if(t)switch(t){case`h24`:return`k`;case`h23`:return`H`;case`h12`:return`h`;case`h11`:return`K`;default:throw Error(`Invalid hourCycle`)}let n=e.language,r;return n!==`root`&&(r=e.maximize().region),(N[`${n}-${r}`]||N[r||``]||N[n||``]||N[`${n}-001`]||N[`001`])[0].charAt(0)}var I=RegExp(`^${M.source}*`),L=RegExp(`${M.source}*$`);function R(e,t){return{start:e,end:t}}var _e=!!Object.fromEntries,ve=!!String.prototype.trimStart,ye=!!String.prototype.trimEnd,z=_e?Object.fromEntries:function(e){let t={};for(let[n,r]of e)t[n]=r;return t},be=ve?function(e){return e.trimStart()}:function(e){return e.replace(I,``)},xe=ye?function(e){return e.trimEnd()}:function(e){return e.replace(L,``)},B=RegExp(`([^\\p{White_Space}\\p{Pattern_Syntax}]*)`,`yu`);function Se(e,t){return B.lastIndex=t,B.exec(e)[1]??``}function Ce(e){if(e.length===0)return null;let t=1,n=1;for(let r=0;r<e.length;){let i=e.charCodeAt(r);switch(i){case 35:case 39:case 60:case 123:case 125:return null}if(i===10)t++,n=1,r++;else if(n++,i>=55296&&i<=56319&&r+1<e.length){let t=e.charCodeAt(r+1);r+=t>=56320&&t<=57343?2:1}else r++}return{offset:e.length,line:t,column:n}}var we=class{constructor(e,t={}){this.message=e,this.position={offset:0,line:1,column:1},this.ignoreTag=!!t.ignoreTag,this.locale=t.locale,this.requiresOtherClause=!!t.requiresOtherClause,this.shouldParseSkeletons=!!t.shouldParseSkeletons}parse(){if(this.offset()!==0)throw Error(`parser can only be used once`);if(this.message.length>0){let e=this.message.charCodeAt(0);if(e!==35&&e!==39&&e!==60&&e!==123&&e!==125){let e=Ce(this.message);if(e){let t=this.clonePosition();return this.position=e,{val:[{type:0,value:this.message,location:R(t,this.clonePosition())}],err:null}}}}return this.parseMessage(0,``,!1)}parseMessage(e,t,n){let r=[];for(;!this.isEOF();){let i=this.char();if(i===123){let t=this.parseArgument(e,n);if(t.err)return t;r.push(t.val)}else if(i===125&&e>0)break;else if(i===35&&(t===`plural`||t===`selectordinal`)){let e=this.clonePosition();this.bump(),r.push({type:7,location:R(e,this.clonePosition())})}else if(i===60&&!this.ignoreTag&&this.peek()===47){if(n)break;return this.error(26,R(this.clonePosition(),this.clonePosition()))}else if(i===60&&!this.ignoreTag&&V(this.peek()||0)){let n=this.parseTag(e,t);if(n.err)return n;r.push(n.val)}else{let n=this.parseLiteral(e,t);if(n.err)return n;r.push(n.val)}}return{val:r,err:null}}parseTag(e,t){let n=this.clonePosition();this.bump();let r=this.parseTagName();if(this.bumpSpace(),this.bumpIf(`/>`))return{val:{type:0,value:`<${r}/>`,location:R(n,this.clonePosition())},err:null};if(this.bumpIf(`>`)){let i=this.parseMessage(e+1,t,!0);if(i.err)return i;let a=i.val,o=this.clonePosition();if(this.bumpIf(`</`)){if(this.isEOF()||!V(this.char()))return this.error(23,R(o,this.clonePosition()));let e=this.clonePosition();return r===this.parseTagName()?(this.bumpSpace(),this.bumpIf(`>`)?{val:{type:8,value:r,children:a,location:R(n,this.clonePosition())},err:null}:this.error(23,R(o,this.clonePosition()))):this.error(26,R(e,this.clonePosition()))}return this.error(27,R(n,this.clonePosition()))}return this.error(23,R(n,this.clonePosition()))}parseTagName(){let e=this.offset();for(this.bump();!this.isEOF()&&Ee(this.char());)this.bump();return this.message.slice(e,this.offset())}parseLiteral(e,t){let n=this.clonePosition(),r=``;for(;;){let n=this.tryParseQuote(t);if(n){r+=n;continue}let i=this.tryParseUnquoted(e,t);if(i){r+=i;continue}let a=this.tryParseLeftAngleBracket();if(a)r+=a;else break}let i=R(n,this.clonePosition());return{val:{type:0,value:r,location:i},err:null}}tryParseLeftAngleBracket(){return!this.isEOF()&&this.char()===60&&(this.ignoreTag||!Te(this.peek()||0))?(this.bump(),`<`):null}tryParseQuote(e){if(this.isEOF()||this.char()!==39)return null;switch(this.peek()){case 39:return this.bump(),this.bump(),`'`;case 123:case 60:case 62:case 125:break;case 35:if(e===`plural`||e===`selectordinal`)break;return null;default:return null}this.bump();let t=[this.char()];for(this.bump();!this.isEOF();){let e=this.char();if(e===39){if(this.peek()===39)t.push(39),this.bump();else{this.bump();break}}else t.push(e);this.bump()}return String.fromCodePoint(...t)}tryParseUnquoted(e,t){if(this.isEOF())return null;let n=this.char();return n===60||n===123||n===35&&(t===`plural`||t===`selectordinal`)||n===125&&e>0?null:(this.bump(),String.fromCodePoint(n))}parseArgument(e,t){let n=this.clonePosition();if(this.bump(),this.bumpSpace(),this.isEOF())return this.error(1,R(n,this.clonePosition()));if(this.char()===125)return this.bump(),this.error(2,R(n,this.clonePosition()));let r=this.parseIdentifierIfPossible().value;if(!r)return this.error(3,R(n,this.clonePosition()));if(this.bumpSpace(),this.isEOF())return this.error(1,R(n,this.clonePosition()));switch(this.char()){case 125:return this.bump(),{val:{type:1,value:r,location:R(n,this.clonePosition())},err:null};case 44:return this.bump(),this.bumpSpace(),this.isEOF()?this.error(1,R(n,this.clonePosition())):this.parseArgumentOptions(e,t,r,n);default:return this.error(3,R(n,this.clonePosition()))}}parseIdentifierIfPossible(){let e=this.clonePosition(),t=this.offset(),n=Se(this.message,t),r=t+n.length;return this.bumpTo(r),{value:n,location:R(e,this.clonePosition())}}parseArgumentOptions(e,t,n,r){let i=this.clonePosition(),a=this.parseIdentifierIfPossible().value,o=this.clonePosition();switch(a){case``:return this.error(4,R(i,o));case`number`:case`date`:case`time`:{this.bumpSpace();let e=null;if(this.bumpIf(`,`)){this.bumpSpace();let t=this.clonePosition(),n=this.parseSimpleArgStyleIfPossible();if(n.err)return n;let r=xe(n.val);if(r.length===0)return this.error(6,R(this.clonePosition(),this.clonePosition()));e={style:r,styleLocation:R(t,this.clonePosition())}}let t=this.tryParseArgumentClose(r);if(t.err)return t;let i=R(r,this.clonePosition());if(e&&e.style.startsWith(`::`)){let t=be(e.style.slice(2));if(a===`number`){let r=this.parseNumberSkeletonFromString(t,e.styleLocation);return r.err?r:{val:{type:2,value:n,location:i,style:r.val},err:null}}{if(t.length===0)return this.error(10,i);let r=t;this.locale&&(r=P(t,this.locale));let o={type:1,pattern:r,location:e.styleLocation,parsedOptions:this.shouldParseSkeletons?se(r):{}};return{val:{type:a===`date`?3:4,value:n,location:i,style:o},err:null}}}return{val:{type:a===`number`?2:a===`date`?3:4,value:n,location:i,style:e?.style??null},err:null}}case`plural`:case`selectordinal`:case`select`:{let i=this.clonePosition();if(this.bumpSpace(),!this.bumpIf(`,`))return this.error(12,R(i,{...i}));this.bumpSpace();let o=this.parseIdentifierIfPossible(),s=0;if(a!==`select`&&o.value===`offset`){if(!this.bumpIf(`:`))return this.error(13,R(this.clonePosition(),this.clonePosition()));this.bumpSpace();let e=this.tryParseDecimalInteger(13,14);if(e.err)return e;this.bumpSpace(),o=this.parseIdentifierIfPossible(),s=e.val}let c=this.tryParsePluralOrSelectOptions(e,a,t,o);if(c.err)return c;let l=this.tryParseArgumentClose(r);if(l.err)return l;let u=R(r,this.clonePosition());return a===`select`?{val:{type:5,value:n,options:z(c.val),location:u},err:null}:{val:{type:6,value:n,options:z(c.val),offset:s,pluralType:a===`plural`?`cardinal`:`ordinal`,location:u},err:null}}default:return this.error(5,R(i,o))}}tryParseArgumentClose(e){return this.isEOF()||this.char()!==125?this.error(1,R(e,this.clonePosition())):(this.bump(),{val:!0,err:null})}parseSimpleArgStyleIfPossible(){let e=0,t=this.clonePosition();for(;!this.isEOF();)switch(this.char()){case 39:{this.bump();let e=this.clonePosition();if(!this.bumpUntil(`'`))return this.error(11,R(e,this.clonePosition()));this.bump();break}case 123:e+=1,this.bump();break;case 125:if(e>0)--e;else return{val:this.message.slice(t.offset,this.offset()),err:null};break;default:this.bump()}return{val:this.message.slice(t.offset,this.offset()),err:null}}parseNumberSkeletonFromString(e,t){let n=[];try{n=le(e)}catch{return this.error(7,t)}return{val:{type:0,tokens:n,location:t,parsedOptions:this.shouldParseSkeletons?pe(n):{}},err:null}}tryParsePluralOrSelectOptions(e,t,n,r){let i=!1,a=[],o=new Set,{value:s,location:c}=r;for(;;){if(s.length===0){let e=this.clonePosition();if(t!==`select`&&this.bumpIf(`=`)){let t=this.tryParseDecimalInteger(16,19);if(t.err)return t;c=R(e,this.clonePosition()),s=this.message.slice(e.offset,this.offset())}else break}if(o.has(s))return this.error(t===`select`?21:20,c);s===`other`&&(i=!0),this.bumpSpace();let r=this.clonePosition();if(!this.bumpIf(`{`))return this.error(t===`select`?17:18,R(this.clonePosition(),this.clonePosition()));let l=this.parseMessage(e+1,t,n);if(l.err)return l;let u=this.tryParseArgumentClose(r);if(u.err)return u;a.push([s,{value:l.val,location:R(r,this.clonePosition())}]),o.add(s),this.bumpSpace(),{value:s,location:c}=this.parseIdentifierIfPossible()}return a.length===0?this.error(t===`select`?15:16,R(this.clonePosition(),this.clonePosition())):this.requiresOtherClause&&!i?this.error(22,R(this.clonePosition(),this.clonePosition())):{val:a,err:null}}tryParseDecimalInteger(e,t){let n=1,r=this.clonePosition();this.bumpIf(`+`)||this.bumpIf(`-`)&&(n=-1);let i=!1,a=0;for(;!this.isEOF();){let e=this.char();if(e>=48&&e<=57)i=!0,a=a*10+(e-48),this.bump();else break}let o=R(r,this.clonePosition());return i?(a*=n,Number.isSafeInteger(a)?{val:a,err:null}:this.error(t,o)):this.error(e,o)}offset(){return this.position.offset}isEOF(){return this.offset()===this.message.length}clonePosition(){return{offset:this.position.offset,line:this.position.line,column:this.position.column}}char(){let e=this.position.offset;if(e>=this.message.length)throw Error(`out of bound`);let t=this.message.codePointAt(e);if(t===void 0)throw Error(`Offset ${e} is at invalid UTF-16 code unit boundary`);return t}error(e,t){return{val:null,err:{kind:e,message:this.message,location:t}}}bump(){if(this.isEOF())return;let e=this.char();e===10?(this.position.line+=1,this.position.column=1,this.position.offset+=1):(this.position.column+=1,this.position.offset+=e<65536?1:2)}bumpIf(e){if(this.message.startsWith(e,this.offset())){for(let t=0;t<e.length;t++)this.bump();return!0}return!1}bumpUntil(e){let t=this.offset(),n=this.message.indexOf(e,t);return n>=0?(this.bumpTo(n),!0):(this.bumpTo(this.message.length),!1)}bumpTo(e){if(this.offset()>e)throw Error(`targetOffset ${e} must be greater than or equal to the current offset ${this.offset()}`);for(e=Math.min(e,this.message.length);;){let t=this.offset();if(t===e)break;if(t>e)throw Error(`targetOffset ${e} is at invalid UTF-16 code unit boundary`);if(this.bump(),this.isEOF())break}}bumpSpace(){for(;!this.isEOF()&&De(this.char());)this.bump()}peek(){if(this.isEOF())return null;let e=this.char(),t=this.offset();return this.message.charCodeAt(t+(e>=65536?2:1))??null}};function V(e){return e>=97&&e<=122||e>=65&&e<=90}function Te(e){return V(e)||e===47}function Ee(e){return e===45||e===46||e>=48&&e<=57||e===95||e>=97&&e<=122||e>=65&&e<=90||e==183||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=893||e>=895&&e<=8191||e>=8204&&e<=8205||e>=8255&&e<=8256||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}function De(e){return e>=9&&e<=13||e===32||e===133||e>=8206&&e<=8207||e===8232||e===8233}function H(e){e.forEach(e=>{if(delete e.location,D(e)||O(e))for(let t in e.options)delete e.options[t].location,H(e.options[t].value);else w(e)&&A(e.style)||(T(e)||E(e))&&j(e.style)?delete e.style.location:k(e)&&H(e.children)})}function Oe(e,t={}){t={shouldParseSkeletons:!0,requiresOtherClause:!0,...t};let n=new we(e,t).parse();if(n.err){let e=SyntaxError(me[n.err.kind]);throw e.location=n.err.location,e.originalMessage=n.err.message,e}return t?.captureLocation||H(n.val),n.val}var U=class extends Error{constructor(e,t,n){super(e),this.code=t,this.originalMessage=n}toString(){return`[formatjs Error: ${this.code}] ${this.message}`}},W=class extends U{constructor(e,t,n,r){super(`Invalid values for "${e}": "${t}". Options are "${Object.keys(n).join(`", "`)}"`,`INVALID_VALUE`,r)}},ke=class extends U{constructor(e,t,n){super(`Value for "${e}" must be of type ${t}`,`INVALID_VALUE`,n)}},Ae=class extends U{constructor(e,t){super(`The intl string context variable "${e}" was not provided to the string "${t}"`,`MISSING_VALUE`,t)}};function je(e){return e.length<2?e:e.reduce((e,t)=>{let n=e[e.length-1];return!n||n.type!==0||t.type!==0?e.push(t):n.value+=t.value,e},[])}function Me(e){return typeof e==`function`}function G(e,t,n,r,i,a,o){if(e.length===1&&C(e[0]))return[{type:0,value:e[0].value}];let s=[];for(let c of e){if(C(c)){s.push({type:0,value:c.value});continue}if(ge(c)){typeof a==`number`&&s.push({type:0,value:n.getNumberFormat(t).format(a)});continue}let{value:e}=c;if(!(i&&e in i))throw new Ae(e,o);let l=i[e];if(he(c))(!l||typeof l==`string`||typeof l==`number`||typeof l==`bigint`)&&(l=typeof l==`string`||typeof l==`number`||typeof l==`bigint`?String(l):``),s.push({type:typeof l==`string`?0:1,value:l});else if(T(c)){let e=typeof c.style==`string`?r.date[c.style]:j(c.style)?c.style.parsedOptions:void 0;s.push({type:0,value:n.getDateTimeFormat(t,e).format(l)})}else if(E(c)){let e=typeof c.style==`string`?r.time[c.style]:j(c.style)?c.style.parsedOptions:r.time.medium;s.push({type:0,value:n.getDateTimeFormat(t,e).format(l)})}else if(w(c)){let e=typeof c.style==`string`?r.number[c.style]:A(c.style)?c.style.parsedOptions:void 0;if(e&&e.scale){let t=e.scale||1;if(typeof l==`bigint`){if(!Number.isInteger(t))throw TypeError(`Cannot apply fractional scale ${t} to bigint value. Scale must be an integer when formatting bigint.`);l*=BigInt(t)}else l*=t}s.push({type:0,value:n.getNumberFormat(t,e).format(l)})}else{if(k(c)){let{children:e,value:l}=c,u=i[l];if(!Me(u))throw new ke(l,`function`,o);let d=u(G(e,t,n,r,i,a).map(e=>e.value));Array.isArray(d)||(d=[d]),s.push(...d.map(e=>({type:typeof e==`string`?0:1,value:e})))}if(D(c)){let e=l,a=(Object.prototype.hasOwnProperty.call(c.options,e)?c.options[e]:void 0)||c.options.other;if(!a)throw new W(c.value,l,Object.keys(c.options),o);s.push(...G(a.value,t,n,r,i))}else if(O(c)){let e=`=${l}`,a=Object.prototype.hasOwnProperty.call(c.options,e)?c.options[e]:void 0;if(!a){if(!Intl.PluralRules)throw new U(`Intl.PluralRules is not available in this environment.
|
|
2
|
+
Try polyfilling it using "@formatjs/intl-pluralrules"
|
|
3
|
+
`,`MISSING_INTL_API`,o);let e=typeof l==`bigint`?Number(l):l,r=n.getPluralRules(t,{type:c.pluralType}).select(e-(c.offset||0));a=(Object.prototype.hasOwnProperty.call(c.options,r)?c.options[r]:void 0)||c.options.other}if(!a)throw new W(c.value,l,Object.keys(c.options),o);let u=typeof l==`bigint`?Number(l):l;s.push(...G(a.value,t,n,r,i,u-(c.offset||0)))}}}return je(s)}function Ne(e,t){return t?{...e,...t,...Object.keys(e).reduce((n,r)=>(n[r]={...e[r],...t[r]},n),{})}:e}function Pe(e,t){return t?Object.keys(e).reduce((n,r)=>(n[r]=Ne(e[r],t[r]),n),{...e}):e}function K(e){return{create(){return{get(t){return e[t]},set(t,n){e[t]=n}}}}}function Fe(e={number:{},dateTime:{},pluralRules:{}}){return{getNumberFormat:d((...e)=>new Intl.NumberFormat(...e),{cache:K(e.number),strategy:g.variadic}),getDateTimeFormat:d((...e)=>new Intl.DateTimeFormat(...e),{cache:K(e.dateTime),strategy:g.variadic}),getPluralRules:d((...e)=>new Intl.PluralRules(...e),{cache:K(e.pluralRules),strategy:g.variadic})}}var Ie=class e{constructor(t,n=e.defaultLocale,r,i){if(this.formatterCache={number:{},dateTime:{},pluralRules:{}},this.format=e=>{let t=this.formatToParts(e);if(t.length===1)return t[0].value;let n=t.reduce((e,t)=>(!e.length||t.type!==0||typeof e[e.length-1]!=`string`?e.push(t.value):e[e.length-1]+=t.value,e),[]);return n.length<=1?n[0]||``:n},this.formatToParts=e=>G(this.ast,this.locales,this.formatters,this.formats,e,void 0,this.message),this.resolvedOptions=()=>({locale:this.resolvedLocale?.toString()||Intl.NumberFormat.supportedLocalesOf(this.locales)[0]}),this.getAst=()=>this.ast,this.locales=n,this.resolvedLocale=e.resolveLocale(n),typeof t==`string`){if(this.message=t,!e.__parse)throw TypeError("IntlMessageFormat.__parse must be set to process `message` of type `string`");let{...n}=i||{};this.ast=e.__parse(t,{...n,locale:this.resolvedLocale})}else this.ast=t;if(!Array.isArray(this.ast))throw TypeError(`A message must be provided as a String or AST.`);this.formats=Pe(e.formats,r),this.formatters=i&&i.formatters||Fe(this.formatterCache)}static{this.memoizedDefaultLocale=null}static get defaultLocale(){return e.memoizedDefaultLocale||=new Intl.NumberFormat().resolvedOptions().locale,e.memoizedDefaultLocale}static{this.resolveLocale=e=>{if(Intl.Locale===void 0)return;let t=Intl.NumberFormat.supportedLocalesOf(e);return t.length>0?new Intl.Locale(t[0]):new Intl.Locale(typeof e==`string`?e:e[0])}}static{this.__parse=Oe}static{this.formats={number:{integer:{maximumFractionDigits:0},currency:{style:`currency`},percent:{style:`percent`}},date:{short:{month:`numeric`,day:`numeric`,year:`2-digit`},medium:{month:`short`,day:`numeric`,year:`numeric`},long:{month:`long`,day:`numeric`,year:`numeric`},full:{weekday:`long`,month:`long`,day:`numeric`,year:`numeric`}},time:{short:{hour:`numeric`,minute:`numeric`},medium:{hour:`numeric`,minute:`numeric`,second:`numeric`},long:{hour:`numeric`,minute:`numeric`,second:`numeric`,timeZoneName:`short`},full:{hour:`numeric`,minute:`numeric`,second:`numeric`,timeZoneName:`short`}}}}},q={"@theorem.agent.handle":{defaultMessage:`@{handle}`,description:`The agent's name above its messages, on the landing and in captions.`,params:[`handle`]},"@theorem.chat.greeting":{defaultMessage:`What are we working on?`,description:`Chat landing heading, before the first message.`},"@theorem.chat.loading":{defaultMessage:`Loading…`,description:`Spinner label while the profile loads.`},"@theorem.chat.live_unsupported.title":{defaultMessage:`Live profiles aren't supported here`,description:`Shown when TheoremChat is pointed at a live profile.`},"@theorem.chat.live_unsupported.description":{defaultMessage:`Use LiveRunner from @theoremjs/react/live.`,description:`Where to go instead, under the live-profile warning.`},"@theorem.composer.placeholder":{defaultMessage:`Message @{handle}`,description:`Empty composer placeholder.`,params:[`handle`]},"@theorem.composer.listening":{defaultMessage:`Listening…`,description:`Composer placeholder while a voice note records.`},"@theorem.composer.attach":{defaultMessage:`Attach files`,description:`Paperclip button.`},"@theorem.composer.record":{defaultMessage:`Record voice`,description:`Microphone button, idle.`},"@theorem.composer.stop_recording":{defaultMessage:`Stop recording`,description:`Microphone button, recording.`},"@theorem.composer.send_options":{defaultMessage:`More send options`,description:`Menu button beside send.`},"@theorem.composer.menu.queue":{defaultMessage:`Queue`,description:`Send menu item.`},"@theorem.composer.menu.queue.description":{defaultMessage:`Send it once this reply finishes.`,description:`Send menu item detail: the message waits its turn.`},"@theorem.composer.menu.steer":{defaultMessage:`Steer this reply`,description:`Send menu item.`},"@theorem.composer.menu.steer.description":{defaultMessage:`Add it to the reply in progress. The agent reads it at its next step.`,description:`Send menu item detail: the message joins the running reply instead of waiting.`},"@theorem.composer.menu.send_now":{defaultMessage:`Send now`,description:`Send menu item.`},"@theorem.composer.menu.send_now.description":{defaultMessage:`Stop this reply and send it instead.`,description:`Send menu item detail: ends the running reply (or its wait for approval), then sends.`},"@theorem.composer.menu.stash":{defaultMessage:`Stash`,description:`Send menu item.`},"@theorem.composer.menu.stash.description":{defaultMessage:`Set it aside to send later.`,description:`Send menu item detail: the message waits in the composer until sent.`},"@theorem.composer.hint.stash-selected-draft.message":{defaultMessage:`Replacing this?`,description:`Hint when the whole draft is selected and could be stashed.`},"@theorem.composer.hint.stash-selected-draft.action":{defaultMessage:`Stash it`,description:`The hint's button.`},"@theorem.composer.drawer.steer":{defaultMessage:`steering`,description:`Drawer header when only steering messages wait.`},"@theorem.composer.drawer.queue":{defaultMessage:`queued`,description:`Drawer header when only queued messages wait.`},"@theorem.composer.drawer.stash":{defaultMessage:`stashed`,description:`Drawer header when only stashed messages wait.`},"@theorem.composer.drawer.attached":{defaultMessage:`attached`,description:`Drawer header when only files wait.`},"@theorem.composer.drawer.steer.count":{defaultMessage:`{n} steering`,description:`One part of a mixed drawer header.`,params:[`n`]},"@theorem.composer.drawer.queue.count":{defaultMessage:`{n} queued`,description:`One part of a mixed drawer header.`,params:[`n`]},"@theorem.composer.drawer.stash.count":{defaultMessage:`{n} stashed`,description:`One part of a mixed drawer header.`,params:[`n`]},"@theorem.composer.drawer.attached.count":{defaultMessage:`{n} attached`,description:`One part of a mixed drawer header.`,params:[`n`]},"@theorem.composer.drawer.separator":{defaultMessage:` · `,description:`Between the parts of a mixed drawer header.`},"@theorem.composer.pending.steer":{defaultMessage:`Steering`,description:`Badge on a waiting steering message.`},"@theorem.composer.pending.queue":{defaultMessage:`Queued`,description:`Badge on a waiting queued message.`},"@theorem.composer.pending.stash":{defaultMessage:`Stashed`,description:`Badge on a waiting stashed message.`},"@theorem.composer.pending.edit":{defaultMessage:`Edit`,description:`Waiting message: back into the composer.`},"@theorem.composer.pending.queue_action":{defaultMessage:`Queue`,description:`Stashed message: queue it.`},"@theorem.composer.pending.send_now":{defaultMessage:`Send now`,description:`Waiting message: send it now.`},"@theorem.composer.pending.move_up":{defaultMessage:`Move up`,description:`Waiting message: earlier.`},"@theorem.composer.pending.move_down":{defaultMessage:`Move down`,description:`Waiting message: later.`},"@theorem.composer.pending.remove":{defaultMessage:`Remove`,description:`Waiting message: discard.`},"@theorem.transcript.copy":{defaultMessage:`Copy`,description:`Copy a message.`},"@theorem.transcript.copied":{defaultMessage:`Copied`,description:`Right after copying a message.`},"@theorem.transcript.now":{defaultMessage:`now`,description:`Message time during its first minute.`},"@theorem.transcript.failed":{defaultMessage:`failed`,description:`Message status: the turn failed. The reason shows on hover.`},"@theorem.transcript.generated_image":{defaultMessage:`Generated image`,description:`Alt text for a generated image.`},"@theorem.transcript.generated_video":{defaultMessage:`Generated video`,description:`Alt text for a generated video.`},"@theorem.transcript.open_generated_image":{defaultMessage:`Open generated image`,description:`Opens the image full size.`},"@theorem.transcript.generating_image":{defaultMessage:`Generating image`,description:`Placeholder while an image generates.`},"@theorem.transcript.sources":{defaultMessage:`Sources`,description:`The row of source chips (screen readers).`},"@theorem.transcript.tool_input":{defaultMessage:`Input`,description:`A tool call's arguments, in its detail.`},"@theorem.transcript.tool_input_edited":{defaultMessage:`Input (edited)`,description:`A tool call's arguments after the user edited them on approval.`},"@theorem.transcript.tool_output":{defaultMessage:`Output`,description:`A tool call's result, in its detail.`},"@theorem.transcript.tool_error":{defaultMessage:`Error`,description:`A failed tool call's failure, in its detail.`},"@theorem.transcript.tokens":{defaultMessage:`{count, plural, one {# token} other {# tokens}}`,description:`Tokens a reply used, under it, or an agent tool's called agent used, on its call row.`,params:[`count`]},"@theorem.data.view":{defaultMessage:`View as`,description:`Switch between tool data drawn by its shape and its JSON.`},"@theorem.data.shaped":{defaultMessage:`Data`,description:`Tool data drawn as fields, sections, and tables.`},"@theorem.data.json":{defaultMessage:`JSON`,description:`Tool data as its raw JSON.`},"@theorem.data.item":{defaultMessage:`Item {index}`,description:`A list row with no name of its own.`,params:[`index`]},"@theorem.data.none":{defaultMessage:`Empty`,description:`An empty list or object in tool data.`},"@theorem.data.yes":{defaultMessage:`Yes`,description:`A true value in tool data.`},"@theorem.data.no":{defaultMessage:`No`,description:`A false value in tool data.`},"@theorem.data.more":{defaultMessage:`{count} more — switch to JSON to see them`,description:`Rows past the shown ones, left to the JSON view.`,params:[`count`]},"@theorem.data.large":{defaultMessage:`Too large to lay out — showing the first {size} of its JSON`,description:`A payload too big to draw by its shape, shown as the start of its JSON.`,params:[`size`]},"@theorem.transcript.copy_text.tool":{defaultMessage:`Tool: {name}`,description:`A tool call in copied message text.`,params:[`name`]},"@theorem.transcript.copy_text.media":{defaultMessage:`[{mimeType} media]`,description:`Media without a link, in copied message text.`,params:[`mimeType`]},"@theorem.transcript.working":{defaultMessage:`Working…`,description:`Turn status while running, start unknown.`},"@theorem.transcript.working_for":{defaultMessage:`Working for {duration}`,description:`Turn status while running.`,params:[`duration`]},"@theorem.transcript.worked":{defaultMessage:`Worked`,description:`Turn status once done, duration unknown.`},"@theorem.transcript.worked_for":{defaultMessage:`Worked for {duration}`,description:`Turn status once done.`,params:[`duration`]},"@theorem.duration.milliseconds":{defaultMessage:`{ms}ms`,description:`Under a second.`,params:[`ms`]},"@theorem.duration.belowTenth":{defaultMessage:`<0.1ms`,description:`Above zero but under a tenth of a millisecond, such as a quick guardrail check.`},"@theorem.duration.seconds":{defaultMessage:`{seconds}s`,description:`Under a minute.`,params:[`seconds`]},"@theorem.duration.minutes":{defaultMessage:`{minutes}m`,description:`Whole minutes.`,params:[`minutes`]},"@theorem.duration.minutes_seconds":{defaultMessage:`{minutes}m {seconds}s`,description:`Minutes and seconds.`,params:[`minutes`,`seconds`]},"@theorem.gate.approval.title":{defaultMessage:`{agent} wants to {request}`,description:`Approval card heading. {agent} is the agent's handle; {request} is what the call would do, e.g. 'check the weather'.`,params:[`agent`,`request`]},"@theorem.gate.approval.title_no_agent":{defaultMessage:`The agent wants to {request}`,description:`Approval card heading when the host names no agent.`,params:[`request`]},"@theorem.gate.approval.use_tool":{defaultMessage:`use {tool}`,description:`The {request} in the heading when the tool sets no labels.request. {tool} is the tool's name in words.`,params:[`tool`]},"@theorem.gate.approval.input":{defaultMessage:`Details`,description:`Expands the arguments the tool would run with.`},"@theorem.gate.approval.deny":{defaultMessage:`Reject`,description:`Approval card button.`},"@theorem.gate.approval.approve":{defaultMessage:`Approve`,description:`Approval card button.`},"@theorem.gate.tag.bearer":{defaultMessage:`bearer`,description:`Credential type tag.`},"@theorem.gate.tag.api_key":{defaultMessage:`api_key`,description:`Credential type tag.`},"@theorem.gate.tag.oauth2":{defaultMessage:`oauth2`,description:`Credential type tag.`},"@theorem.gate.auth.title":{defaultMessage:`Sign in to use {tool}`,description:`Credential card heading. {tool} is the tool's name in words.`,params:[`tool`]},"@theorem.gate.auth.resource":{defaultMessage:`Resource: {resource}`,description:`What the credential is for.`,params:[`resource`]},"@theorem.gate.auth.no_oauth":{defaultMessage:`No OAuth authorization endpoint is configured.`,description:`OAuth tool without an authorization URL.`},"@theorem.gate.auth.authorize":{defaultMessage:`Authorize with provider`,description:`Opens the OAuth sign-in.`},"@theorem.gate.auth.provided":{defaultMessage:`Credential provided for {slot}`,description:`After submitting a credential or finishing an OAuth sign-in.`,params:[`slot`]},"@theorem.gate.auth.api_key":{defaultMessage:`API key`,description:`Secret field label, API-key tools.`},"@theorem.gate.auth.bearer":{defaultMessage:`Bearer token`,description:`Secret field label, bearer tools.`},"@theorem.gate.auth.secret_placeholder":{defaultMessage:`Secret for slot ''{slot}''`,description:`Secret field placeholder.`,params:[`slot`]},"@theorem.gate.auth.secret_note":{defaultMessage:` `,description:`Under the secret field: how the host handles the credential. Blank by default, since only the host knows; the studio says it is used for one call.`},"@theorem.gate.auth.submit":{defaultMessage:`Submit & continue`,description:`Sends the credential.`},"@theorem.voice_note.name":{defaultMessage:`voice.{format}`,description:`A voice note's name, by audio format (webm, wav, mp3, m4a, ogg).`,params:[`format`]},"@theorem.voice_note.unnamed":{defaultMessage:`voice note`,description:`A voice note's name when its format is unknown.`},"@theorem.voice_note.play":{defaultMessage:`Play {name}`,description:`Voice note, paused.`,params:[`name`]},"@theorem.voice_note.pause":{defaultMessage:`Pause {name}`,description:`Voice note, playing.`,params:[`name`]},"@theorem.voice_note.remove":{defaultMessage:`Remove {name}`,description:`Unstages a voice note.`,params:[`name`]},"@theorem.decision.state":{defaultMessage:`State`,description:`The JSON a decision is asked about (field label).`},"@theorem.decision.state_size":{defaultMessage:`{size} of {limit}`,description:`The state's size against the profile's limit, under the field.`,params:[`size`,`limit`]},"@theorem.decision.view":{defaultMessage:`Edit as`,description:`Switch between the state as fields and as JSON.`},"@theorem.decision.fields":{defaultMessage:`Fields`,description:`The state edited field by field.`},"@theorem.decision.add_item":{defaultMessage:`Add to {field}`,description:`Adds a row to a list in the state.`,params:[`field`]},"@theorem.decision.remove_item":{defaultMessage:`Remove {item}`,description:`Removes a row from a list in the state.`,params:[`item`]},"@theorem.decision.add_value":{defaultMessage:`Add a value`,description:`A list of words in the state, while it is empty.`},"@theorem.decision.invalid_json":{defaultMessage:`Not valid JSON yet`,description:`The state doesn't parse.`},"@theorem.decision.null_state":{defaultMessage:`State can’t be null`,description:`The state is the JSON null.`},"@theorem.decision.too_large":{defaultMessage:`Over the {limit} limit`,description:`The state is larger than the profile's limit.`,params:[`limit`]},"@theorem.decision.answers":{defaultMessage:`Answers`,description:`The decision response column.`},"@theorem.decision.decide":{defaultMessage:`Decide`,description:`Asks the questions about the state.`},"@theorem.decision.deciding":{defaultMessage:`Deciding…`,description:`The decide button while it runs.`},"@theorem.decision.stop":{defaultMessage:`Stop`,description:`Cancels the running decision.`},"@theorem.decision.confidence":{defaultMessage:`{percent} sure`,description:`How sure the model is of a choice or score; percent is formatted, e.g. '92%'.`,params:[`percent`]},"@theorem.decision.option":{defaultMessage:`{label}, {percent}`,description:`One option and its probability (screen readers); percent is formatted.`,params:[`label`,`percent`]},"@theorem.decision.score_of":{defaultMessage:`{score} of {max}`,description:`A score on its scale from 0, e.g. 1.4 of 3.`,params:[`score`,`max`]},"@theorem.decision.type.choice":{defaultMessage:`Choice`,description:`A question that picks one label.`},"@theorem.decision.type.score":{defaultMessage:`Score`,description:`A question that places the state on a scale.`},"@theorem.decision.type.noul":{defaultMessage:`Noul`,description:`A question answered with one number.`},"@theorem.decision.type.box":{defaultMessage:`Box`,description:`A question answered with one box in an image.`},"@theorem.decision.box_edges":{defaultMessage:`Left {left}, top {top}, right {right}, bottom {bottom}`,description:`Where a box sits in its image, each edge as a share of the image from its top-left corner.`,params:[`left`,`top`,`right`,`bottom`]},"@theorem.decision.add_image":{defaultMessage:`Add an image`,description:`The drop area under the state: each image dropped or chosen becomes a state field.`},"@theorem.decision.add_image_hint":{defaultMessage:`Drop a PNG or JPEG, or choose one. It becomes a field the questions can name.`,description:`What the drop area under the state says it does.`},"@theorem.decision.replace_image":{defaultMessage:`Replace`,description:`An image field's file input, which swaps in another PNG or JPEG.`},"@theorem.decision.image_bad":{defaultMessage:`{file} is not a PNG or JPEG.`,description:`A file attached as an image that is neither.`,params:[`file`]},"@theorem.decision.edit_question":{defaultMessage:`Edit {question}`,description:`The button on an answer that opens its question where it is set up. The page shows it only when it can.`,params:[`question`]},"@theorem.decision.box_in":{defaultMessage:`The box, cut from the image`,description:`The alt text of the part of the image a box answer covers.`},"@theorem.decision.open_box":{defaultMessage:`See the box in the whole image`,description:`The cut-out box on an answer, which opens the whole image with the box outlined.`},"@theorem.decision.box_marked":{defaultMessage:`The whole image, the box outlined and the rest shaded`,description:`The alt text of the whole image a box answer opens.`},"@theorem.decision.tokens":{defaultMessage:`{count, plural, one {# token} other {# tokens}}`,description:`Input tokens the decision used, in the line under the answers.`,params:[`count`]},"@theorem.embedding.documents":{defaultMessage:`Documents`,description:`What a search looks through: the texts and files to embed (card title).`},"@theorem.embedding.document":{defaultMessage:`Document {number}`,description:`One document, by its place in the list.`,params:[`number`]},"@theorem.embedding.text":{defaultMessage:`Text`,description:`Text to split into documents (field label).`},"@theorem.embedding.text_placeholder":{defaultMessage:`Paste text to search through`,description:`The empty text field on the documents card.`},"@theorem.embedding.split":{defaultMessage:`Split by`,description:`Where the text is cut into documents (field label).`},"@theorem.embedding.split_whole":{defaultMessage:`Nothing: one document`,description:`The text is one document.`},"@theorem.embedding.split_lines":{defaultMessage:`Lines`,description:`Each line of the text is a document.`},"@theorem.embedding.split_paragraphs":{defaultMessage:`Paragraphs`,description:`Each run of text between blank lines is a document.`},"@theorem.embedding.split_commas":{defaultMessage:`Commas`,description:`Each piece of the text between commas is a document.`},"@theorem.embedding.split_custom":{defaultMessage:`A separator you type`,description:`The text is cut wherever a separator of the user’s own appears.`},"@theorem.embedding.separator":{defaultMessage:`Separator`,description:`The text the documents are cut at (field label).`},"@theorem.embedding.files":{defaultMessage:`Files`,description:`Adds files as documents (field label).`},"@theorem.embedding.drop_files":{defaultMessage:`Drop files here, or click to upload`,description:`The file field's prompt.`},"@theorem.embedding.unreadable":{defaultMessage:`{name} couldn't be read.`,description:`A chosen file the browser could not read.`,params:[`name`]},"@theorem.embedding.remove":{defaultMessage:`Remove {name}`,description:`Takes a document off the list.`,params:[`name`]},"@theorem.embedding.from_file":{defaultMessage:`From {name}`,description:`A document that is a piece of a text file, under its text.`,params:[`name`]},"@theorem.embedding.from_json":{defaultMessage:`From the JSON`,description:`The documents of a pasted list, as a group.`},"@theorem.embedding.group":{defaultMessage:`{source} · {count, plural, one {# document} other {# documents}}`,description:`A group of documents from one source, above its first few.`,params:[`source`,`count`]},"@theorem.embedding.held_file":{defaultMessage:`Held by the provider`,description:`A file the provider already holds, referred to by address, beside its type.`},"@theorem.embedding.more":{defaultMessage:`{count, plural, one {# more document} other {# more documents}}`,description:`Documents past the ones the list shows.`,params:[`count`]},"@theorem.embedding.invalid_json":{defaultMessage:`Not a list of documents: each is text, or an object with parts.`,description:`The documents' JSON doesn't read as the inputs an embedding takes.`},"@theorem.embedding.no_documents":{defaultMessage:`Add text or files to search through.`,description:`There are no documents yet.`},"@theorem.embedding.empty":{defaultMessage:`{name} is empty.`,description:`A document or the query has no text and no file.`,params:[`name`]},"@theorem.embedding.text_off":{defaultMessage:`{name} has text, and this profile embeds files only.`,description:`A document or the query has text the profile does not take.`,params:[`name`]},"@theorem.embedding.too_many":{defaultMessage:`One request takes at most {max} documents.`,description:`A request holds more inputs than the profile's model takes in one call.`,params:[`max`]},"@theorem.embedding.ready":{defaultMessage:`{count, plural, one {# document} other {# documents}} in {requests, plural, one {# request} other {# requests}}`,description:`The documents are ready: how many, and how many requests the profile’s limits make them.`,params:[`count`,`requests`]},"@theorem.embedding.index":{defaultMessage:`Index`,description:`Embeds the documents so they can be searched.`},"@theorem.embedding.indexing":{defaultMessage:`Indexing…`,description:`The index button while the documents are embedded.`},"@theorem.embedding.indexing_progress":{defaultMessage:`Indexing {done}/{total}…`,description:`The pane while the documents are embedded: the request in flight, of all of them.`,params:[`done`,`total`]},"@theorem.embedding.stop":{defaultMessage:`Stop`,description:`Cancels the running index or search.`},"@theorem.embedding.query":{defaultMessage:`Query`,description:`What to search the documents for (card title).`},"@theorem.embedding.query_placeholder":{defaultMessage:`What to search for`,description:`The empty query field.`},"@theorem.embedding.query_file":{defaultMessage:`Search with a file`,description:`Adds a file to the query, such as an image to find documents like it.`},"@theorem.embedding.query_invalid_json":{defaultMessage:`Not a query: text, or an object with parts.`,description:`The query's JSON doesn't read as one embedding input.`},"@theorem.embedding.stale":{defaultMessage:`The documents changed. Index them again.`,description:`The documents differ from the ones last embedded.`},"@theorem.embedding.remodelled":{defaultMessage:`The model changed. Index the documents again.`,description:`The last query came from another model than the one the documents were embedded with.`},"@theorem.embedding.search":{defaultMessage:`Search`,description:`Embeds the query and ranks the documents by it.`},"@theorem.embedding.searching":{defaultMessage:`Searching…`,description:`The search button while the query is embedded.`},"@theorem.embedding.results":{defaultMessage:`Results`,description:`The index and the matches (heading).`},"@theorem.embedding.indexed":{defaultMessage:`{count, plural, one {# document} other {# documents}}`,description:`How many documents the index holds, its card’s figure.`,params:[`count`]},"@theorem.embedding.view":{defaultMessage:`View`,description:`Switches the index card between the space and the list of vectors.`},"@theorem.embedding.space":{defaultMessage:`Space`,description:`The index drawn in three dimensions, alike documents together.`},"@theorem.embedding.list":{defaultMessage:`List`,description:`The index as a list of documents and their vectors.`},"@theorem.embedding.space_label":{defaultMessage:`{count, plural, one {# document} other {# documents}} drawn in three dimensions by where their vectors differ most: each document is joined to the one most like it when that pair is far more alike than the typical pair in this index, heavier the more alike, documents the lines connect share a colour, and three circles mark the planes of the axes.`,description:`What the space shows, for screen readers.`,params:[`count`]},"@theorem.embedding.space_query":{defaultMessage:`The query lands among its matches, with a line to each match far more alike than its typical document.`,description:`What the space shows after a search, for screen readers.`},"@theorem.embedding.space_off":{defaultMessage:`This browser can’t draw the space, so the vectors are listed.`,description:`WebGL2 is unavailable, so the index card shows the list.`},"@theorem.embedding.copy_vector":{defaultMessage:`Copy vector`,description:`Copies one document's vector as JSON.`},"@theorem.embedding.copy_vectors":{defaultMessage:`Copy all`,description:`Copies every vector in the index as JSON, in document order.`},"@theorem.embedding.copied":{defaultMessage:`Copied`,description:`Right after copying a vector.`},"@theorem.embedding.width":{defaultMessage:`{dimensions, plural, one {# dimension} other {# dimensions}}`,description:`How wide a vector is, after its first values in the list.`,params:[`dimensions`]},"@theorem.embedding.matches":{defaultMessage:`Matches`,description:`The documents most like the query, best first (card title).`},"@theorem.embedding.matches_shown":{defaultMessage:`Top {shown} of {count}`,description:`The matches card lists the best documents only.`,params:[`shown`,`count`]},"@theorem.embedding.best":{defaultMessage:`Best: {name}`,description:`The document most like the query, under the matches figure.`,params:[`name`]},"@theorem.embedding.no_matches":{defaultMessage:`No document has a vector as wide as the query’s.`,description:`The query and the documents were embedded by models of different widths.`},"@theorem.embedding.tokens":{defaultMessage:`{count, plural, one {# token} other {# tokens}}`,description:`Input tokens a call used, in the line under the results.`,params:[`count`]},"@theorem.host.tool":{defaultMessage:`Tool`,description:`Picks which of the host’s tools to call (field label).`},"@theorem.host.request":{defaultMessage:`Request`,description:`The input a tool call sends (card heading).`},"@theorem.host.response":{defaultMessage:`Response`,description:`What a tool call returned (section heading).`},"@theorem.host.run":{defaultMessage:`Run`,description:`Calls the tool with the request.`},"@theorem.host.image":{defaultMessage:`Image the tool returned`,description:`Alt text for an image a tool returned beside its output.`},"@theorem.host.running":{defaultMessage:`Running…`,description:`The run button while the call runs.`},"@theorem.host.stop":{defaultMessage:`Stop`,description:`Cancels the running call.`},"@theorem.host.missing":{defaultMessage:`Needs {fields}`,description:`Required fields the request is still missing, under the form.`,params:[`fields`]},"@theorem.host.shortcut":{defaultMessage:`⌘↵ to run`,description:`The keyboard shortcut that runs the call, under the form.`},"@theorem.host.no_tools":{defaultMessage:`This host has no tools yet`,description:`A host profile that allows no tools.`},"@theorem.host.earlier":{defaultMessage:`Earlier calls`,description:`Heading over this page’s previous tool calls.`},"@theorem.host.kind.function":{defaultMessage:`Function`,description:`A tool that runs a function on the host.`},"@theorem.host.kind.http":{defaultMessage:`HTTP`,description:`A tool that calls an HTTP endpoint.`},"@theorem.host.kind.mcp":{defaultMessage:`MCP`,description:`A tool served by an MCP server.`},"@theorem.tool.access.read-only":{defaultMessage:`Read only`,description:`A tool that only reads.`},"@theorem.tool.access.read-write":{defaultMessage:`Read and write`,description:`A tool that can change things.`},"@theorem.tool.access.destructive":{defaultMessage:`Destructive`,description:`A tool that can delete or overwrite.`},"@theorem.host.status.running":{defaultMessage:`running`,description:`A tool call in progress.`},"@theorem.host.status.gate":{defaultMessage:`waiting`,description:`A tool call paused on approval or sign-in.`},"@theorem.host.status.complete":{defaultMessage:`done`,description:`A tool call that returned.`},"@theorem.host.status.error":{defaultMessage:`failed`,description:`A tool call that failed.`},"@theorem.host.status.cancel":{defaultMessage:`stopped`,description:`A tool call that was cancelled.`},"@theorem.host.finished":{defaultMessage:`{activity} in {duration}`,description:`A finished tool call: what it did, and how long it took.`,params:[`activity`,`duration`]},"@theorem.panel.trace.name":{defaultMessage:`Trace`,description:`Trace side panel (screen readers).`},"@theorem.panel.trace.show":{defaultMessage:`Show trace`,description:`Trace panel toggle, closed.`},"@theorem.panel.trace.hide":{defaultMessage:`Hide trace`,description:`Trace panel toggle, open.`},"@theorem.panel.trace.resize":{defaultMessage:`Resize trace`,description:`Trace panel drag handle.`},"@theorem.panel.resize":{defaultMessage:`Resize {name}`,description:`Drag handle for a named console panel.`,params:[`name`]},"@theorem.panel.trace.empty.title":{defaultMessage:`No trace yet`,description:`Empty trace panel.`},"@theorem.panel.trace.empty.description":{defaultMessage:`Spans for each run will show here.`,description:`Empty trace panel.`},"@theorem.panel.trace.summary":{defaultMessage:`{traces, plural, one {# trace} other {# traces}} · {spans, plural, one {# span} other {# spans}}`,description:`Trace panel line under the search: how many traces and spans it holds.`,params:[`traces`,`spans`]},"@theorem.panel.trace.separator":{defaultMessage:` · `,description:`Between facts on one trace panel line.`},"@theorem.panel.trace.search":{defaultMessage:`Search spans`,description:`Trace panel search (screen readers).`},"@theorem.panel.trace.search.placeholder":{defaultMessage:`Filter by type, status, model, text…`,description:`Trace panel search, empty.`},"@theorem.panel.trace.search.text":{defaultMessage:`Any text`,description:`Search field matching any text a span holds.`},"@theorem.panel.trace.search.text.description":{defaultMessage:`Names, values, and stored text.`,description:`What the any-text search field matches.`},"@theorem.panel.trace.no_match":{defaultMessage:`No spans match`,description:`Trace panel, when the search matches nothing.`},"@theorem.panel.trace.back":{defaultMessage:`Back`,description:`Leaves an open span for its turn.`},"@theorem.panel.trace.show_text":{defaultMessage:`Show text`,description:`Reveals stored text, JSON, or messages.`},"@theorem.panel.trace.hide_text":{defaultMessage:`Hide text`,description:`Hides revealed stored text.`},"@theorem.panel.trace.other":{defaultMessage:`Other`,description:`Group for attributes the trace catalog does not name.`},"@theorem.panel.trace.yes":{defaultMessage:`Yes`,description:`A true trace value.`},"@theorem.panel.trace.no":{defaultMessage:`No`,description:`A false trace value.`},"@theorem.panel.trace.tokens":{defaultMessage:`Tokens`,description:`Card of token counts.`},"@theorem.panel.trace.errors":{defaultMessage:`Errors`,description:`Card counting failed spans.`},"@theorem.panel.trace.at_least":{defaultMessage:`At least {value}`,description:`A total some calls did not report.`,params:[`value`]},"@theorem.panel.trace.about":{defaultMessage:`About {value}`,description:`A total with estimated counts.`,params:[`value`]},"@theorem.panel.trace.offset":{defaultMessage:`+{duration}`,description:`When an event happened, after its span started.`,params:[`duration`]},"@theorem.panel.trace.unit.milliseconds":{defaultMessage:`ms`,description:`Unit of a search field in milliseconds.`},"@theorem.panel.trace.unit.seconds":{defaultMessage:`s`,description:`Unit of a search field in seconds.`},"@theorem.panel.trace.unit.usd":{defaultMessage:`USD`,description:`Unit of a search field in US dollars.`},"@theorem.panel.trace.turn":{defaultMessage:`{label} {index} of {count}`,description:`Which root of the trace is shown: "Turn 2 of 3".`,params:[`label`,`index`,`count`]},"@theorem.panel.trace.turns":{defaultMessage:`Turns`,description:`List of every turn of the conversation; a row opens its turn.`},"@theorem.panel.trace.conversation":{defaultMessage:`{count, plural, one {# turn} other {# turns}}`,description:`Heading of the whole-conversation view: how many turns it holds.`,params:[`count`]},"@theorem.panel.trace.conversation.back":{defaultMessage:`All turns`,description:`Leaves a turn for the whole-conversation view.`},"@theorem.panel.trace.previous":{defaultMessage:`Previous turn`,description:`Opens the turn before this one.`},"@theorem.panel.trace.next":{defaultMessage:`Next turn`,description:`Opens the turn after this one.`},"@theorem.panel.trace.calls":{defaultMessage:`Tool calls`,description:`List of every call of a host's trace; a row opens its call.`},"@theorem.panel.trace.calls.count":{defaultMessage:`{count, plural, one {# tool call} other {# tool calls}}`,description:`Heading of a host's whole-trace view: how many tool calls it holds.`,params:[`count`]},"@theorem.panel.trace.calls.back":{defaultMessage:`All tool calls`,description:`Leaves a call for the host's whole-trace view.`},"@theorem.panel.trace.calls.previous":{defaultMessage:`Previous call`,description:`Opens the tool call before this one.`},"@theorem.panel.trace.calls.next":{defaultMessage:`Next call`,description:`Opens the tool call after this one.`},"@theorem.panel.trace.steps":{defaultMessage:`Steps`,description:`Card counting the model and tool calls of a turn.`},"@theorem.panel.trace.steps.detail":{defaultMessage:`{calls, plural, one {# model call} other {# model calls}} · {tools, plural, one {# tool} other {# tools}}`,description:`Under the steps count: how many were model calls and tool calls.`,params:[`calls`,`tools`]},"@theorem.panel.trace.failed":{defaultMessage:`{count} failed`,description:`Under the steps count, when some failed.`,params:[`count`]},"@theorem.panel.trace.firstText":{defaultMessage:`First text`,description:`Card: how long the person waited before any of the answer appeared.`},"@theorem.panel.trace.rate":{defaultMessage:`{rate} tokens/s`,description:`Under the first-text time: how fast the model wrote once it started.`,params:[`rate`]},"@theorem.panel.trace.held":{defaultMessage:`{duration} held back`,description:`Under the first-text time: how long guardrails held written text back before showing it.`,params:[`duration`]},"@theorem.panel.trace.guardrails":{defaultMessage:`Guardrails`,description:`Card: the time guardrail checks took in a turn.`},"@theorem.panel.trace.guardrails.passed":{defaultMessage:`Passed: {checks}`,description:`Under the guardrail checks that acted: the checks that let the text through, each with what it checked and its time.`,params:[`checks`]},"@theorem.panel.trace.guardrails.from":{defaultMessage:`from {tool}`,description:`A guardrail check: the tool the checked text came from.`,params:[`tool`]},"@theorem.panel.trace.guardrails.tainted":{defaultMessage:`Tainted`,description:`A guardrail check: a tool that writes or deletes was called after the turn read remote content.`},"@theorem.panel.trace.guardrails.steered":{defaultMessage:`Steered`,description:`A guardrail check: a tool that writes or deletes was called after the turn read remote content that looked like instructions.`},"@theorem.panel.trace.guardrails.detail":{defaultMessage:`{checks, plural, one {# check} other {# checks}} · {flagged, plural, =0 {all passed} other {# acted}}`,description:`Under the guardrail time: how many checks ran, and how many redacted, flagged, or blocked.`,params:[`checks`,`flagged`]},"@theorem.panel.trace.tokens.detail":{defaultMessage:`{input} in · {output} out`,description:`Under the token total: tokens read and written.`,params:[`input`,`output`]},"@theorem.panel.trace.time":{defaultMessage:`Where the time went`,description:`Bar splitting a turn into model, tool, and other time.`},"@theorem.panel.trace.time.model":{defaultMessage:`Model`,description:`Time spent waiting on the model.`},"@theorem.panel.trace.time.tools":{defaultMessage:`Tools`,description:`Time spent running tools.`},"@theorem.panel.trace.time.guardrails":{defaultMessage:`Guardrails`,description:`Time guardrail checks took: on the input, the stream, and the answer.`},"@theorem.panel.trace.time.hooks":{defaultMessage:`Hooks`,description:`Time the host's turn hooks took.`},"@theorem.panel.trace.time.other":{defaultMessage:`Other`,description:`Time spent on none of these: waiting between steps, the host, the network.`},"@theorem.panel.trace.charts.calls":{defaultMessage:`Tokens per model call`,description:`Chart of each model call: its tokens stacked as a bar.`},"@theorem.panel.trace.charts.cached":{defaultMessage:`Cached`,description:`Legend: input tokens read from cache.`},"@theorem.panel.trace.charts.input":{defaultMessage:`Input`,description:`Legend: input tokens read fresh.`},"@theorem.panel.trace.charts.output":{defaultMessage:`Output`,description:`Legend: tokens the model wrote.`},"@theorem.panel.trace.charts.slowest":{defaultMessage:`Slowest steps`,description:`Chart ranking the steps that took longest.`},"@theorem.panel.trace.charts.modelShare":{defaultMessage:`{share} on the model`,description:`Beside a chart's total time: the model's share.`,params:[`share`]},"@theorem.panel.trace.charts.cachedShare":{defaultMessage:`{share} of input cached`,description:`Beside a chart's total tokens: the input read from cache.`,params:[`share`]},"@theorem.panel.trace.charts.turnTime":{defaultMessage:`Time per turn`,description:`Chart of each turn: its model, tool, and other time stacked.`},"@theorem.panel.trace.charts.callTime":{defaultMessage:`Time per call`,description:`Chart of each tool call of a host's trace: its tool, check, and hook time stacked.`},"@theorem.panel.trace.charts.turnTokens":{defaultMessage:`Tokens per turn`,description:`Chart of each turn: its tokens stacked as a bar.`},"@theorem.panel.trace.charts.turn":{defaultMessage:`Turn {index}`,description:`A turn, by its order in the conversation.`,params:[`index`]},"@theorem.panel.trace.charts.hostCall":{defaultMessage:`Call {index}`,description:`A tool call, by its order in a host's trace.`,params:[`index`]},"@theorem.panel.trace.charts.call":{defaultMessage:`Model call {index}`,description:`A model call, by its order in the turn.`,params:[`index`]},"@theorem.panel.trace.charts.tokens":{defaultMessage:`{cached} cached · {fresh} new in · {output} out`,description:`A model call's tokens: read from cache, read fresh, and written.`,params:[`cached`,`fresh`,`output`]},"@theorem.panel.trace.story":{defaultMessage:`What happened`,description:`The turn told step by step.`},"@theorem.panel.trace.story.asked":{defaultMessage:`User asked`,description:`The first step: what the user sent.`},"@theorem.panel.trace.story.requested":{defaultMessage:`Asked for {count, plural, one {# tool} other {# tools}}`,description:`A model call that answered with tool calls.`,params:[`count`]},"@theorem.panel.trace.story.wrote":{defaultMessage:`Wrote a reply`,description:`A model call that answered with text.`},"@theorem.panel.trace.story.answered":{defaultMessage:`Answered`,description:`The last step: the turn ended with this answer.`},"@theorem.panel.trace.story.failed":{defaultMessage:`Ended with an error`,description:`The last step, when the turn failed.`},"@theorem.panel.trace.timeline":{defaultMessage:`Timeline`,description:`Every span of the turn on one time axis.`},"@theorem.panel.trace.timeline.zoom":{defaultMessage:`Drag across the strip to zoom`,description:`Hint beside the activity strip that zooms the timeline.`},"@theorem.panel.trace.timeline.reset":{defaultMessage:`Show the whole turn`,description:`Zooms the timeline back out to the full turn.`},"@theorem.panel.trace.input":{defaultMessage:`Input`,description:`What a span was given.`},"@theorem.panel.trace.output":{defaultMessage:`Output`,description:`What a span gave back.`},"@theorem.panel.trace.details":{defaultMessage:`All details`,description:`A span's every attribute, event, and link.`},"@theorem.panel.trace.close":{defaultMessage:`Close`,description:`Closes the open span.`},"@theorem.panel.captions.name":{defaultMessage:`Captions`,description:`Captions side panel (screen readers).`},"@theorem.panel.captions.show":{defaultMessage:`Show captions`,description:`Captions panel toggle, closed.`},"@theorem.panel.captions.hide":{defaultMessage:`Hide captions`,description:`Captions panel toggle, open.`},"@theorem.panel.captions.resize":{defaultMessage:`Resize captions`,description:`Captions panel drag handle.`},"@theorem.panel.captions.empty.title":{defaultMessage:`No captions yet`,description:`Empty captions panel.`},"@theorem.panel.captions.empty.description":{defaultMessage:`What you and the agent say will show here.`,description:`Empty captions panel.`},"@theorem.live.greeting":{defaultMessage:`Ready when you are.`,description:`Live landing heading, before a call.`},"@theorem.live.start_voice_call":{defaultMessage:`Start voice call`,description:`Live landing, voice profiles.`},"@theorem.live.start_call":{defaultMessage:`Start call`,description:`Starts or restarts a call.`},"@theorem.live.start_video_call":{defaultMessage:`Start video call`,description:`Live landing, video profiles.`},"@theorem.live.microphone":{defaultMessage:`Microphone`,description:`Mic toggle.`},"@theorem.live.mute":{defaultMessage:`Mute`,description:`Mic toggle tooltip, unmuted.`},"@theorem.live.unmute":{defaultMessage:`Unmute`,description:`Mic toggle tooltip, muted.`},"@theorem.live.camera":{defaultMessage:`Camera`,description:`Camera toggle.`},"@theorem.live.camera_on":{defaultMessage:`Turn camera on`,description:`Camera toggle tooltip, off.`},"@theorem.live.camera_off":{defaultMessage:`Turn camera off`,description:`Camera toggle tooltip, on.`},"@theorem.live.flip_camera":{defaultMessage:`Flip camera`,description:`Switches front and back camera.`},"@theorem.live.end_call":{defaultMessage:`End call`,description:`Hangs up.`},"@theorem.live.new_session":{defaultMessage:`New session`,description:`Captions divider between calls.`},"@theorem.live.controls":{defaultMessage:`Call controls`,description:`The control toolbar (screen readers).`},"@theorem.live.camera_preview":{defaultMessage:`Camera preview`,description:`Self-view (screen readers).`},"@theorem.live.state.calling_tool":{defaultMessage:`calling {tool}`,description:`Call status: a tool runs.`,params:[`tool`]},"@theorem.live.state.connecting":{defaultMessage:`connecting`,description:`Call status.`},"@theorem.live.state.reconnecting":{defaultMessage:`reconnecting`,description:`Call status: the call dropped and is being taken up again.`},"@theorem.live.state.requesting_mic":{defaultMessage:`requesting mic`,description:`Call status.`},"@theorem.live.state.speaking":{defaultMessage:`speaking`,description:`Call status: the agent speaks.`},"@theorem.live.state.connected":{defaultMessage:`connected`,description:`Call status.`},"@theorem.live.state.muted":{defaultMessage:`muted`,description:`Call status.`},"@theorem.live.state.listening":{defaultMessage:`listening`,description:`Call status.`},"@theorem.live.state.error":{defaultMessage:`error`,description:`Call status.`},"@theorem.live.state.ended":{defaultMessage:`ended`,description:`Call status.`}};function Le(e,t){let[n]=t.parts;return t.parts.length===1&&n?e(`@theorem.composer.drawer.${n.kind}`):t.parts.map(t=>e(`@theorem.composer.drawer.${t.kind}.count`,{n:t.n})).join(e(`@theorem.composer.drawer.separator`))}function Re(e,t,n){let r=e(`@theorem.transcript.tokens`,{count:n.total});if(!n.cost)return r;let i=new Intl.NumberFormat(t,{style:`currency`,currency:`USD`,maximumSignificantDigits:2}).format(n.cost.usd);return`${r} · ${n.cost.partial?e(`@theorem.panel.trace.at_least`,{value:i}):i}`}function J(e,t){let n=Math.max(0,t);return n>0&&n<.05?e(`@theorem.duration.belowTenth`):n<10?e(`@theorem.duration.milliseconds`,{ms:Math.round(n*10)/10}):n<1e3?e(`@theorem.duration.milliseconds`,{ms:Math.round(n)}):n<1e4?e(`@theorem.duration.seconds`,{seconds:Math.round(n/100)/10}):n<6e4?e(`@theorem.duration.seconds`,{seconds:Math.round(n/1e3)}):X(e,Math.floor(n/6e4),Math.round(n%6e4/1e3))}function ze(e,t,n){let{usage:r,elapsedMs:i}=n;return[n.model,i==null?null:J(e,i),r?.inputTokens===void 0?null:n.tokens(r.inputTokens),r?.costUsd===void 0?null:t.format(r.costUsd)].filter(Boolean).join(` · `)}function Y(e,t){let n=Math.floor(Math.max(0,t)/1e3);return n<60?e(`@theorem.duration.seconds`,{seconds:n}):X(e,Math.floor(n/60),n%60)}function X(e,t,n){return n===0?e(`@theorem.duration.minutes`,{minutes:t}):e(`@theorem.duration.minutes_seconds`,{minutes:t,seconds:n})}function Be(e,t){return t?t.phase===`working`?t.elapsedMs===void 0?e(`@theorem.transcript.working`):e(`@theorem.transcript.working_for`,{duration:Y(e,t.elapsedMs)}):t.elapsedMs===void 0?e(`@theorem.transcript.worked`):e(`@theorem.transcript.worked_for`,{duration:J(e,t.elapsedMs)}):``}function Ve(e,t,n){return t===`calling_tool`?e(`@theorem.live.state.calling_tool`,{tool:n??``}):e(`@theorem.live.state.${t}`)}function He(e,t){return t?e(`@theorem.voice_note.name`,{format:t}):e(`@theorem.voice_note.unnamed`)}var Ue=new Set(Object.keys(q));function Z(e){return q[e]?.params??[]}function Q(e,t){for(let[n,r]of Object.entries(e)){if(!We(n))throw Error(`Theorem labels: ${n}: not a BCP 47 locale`);for(let[e,i]of Object.entries(r??{})){if(!t&&!e.startsWith(`@theorem.`))continue;let r=Ge(n,e,i);if(r)throw Error(`Theorem labels: ${n} ${e}: ${r}`)}}}function We(e){try{return Intl.getCanonicalLocales(e).length===1}catch{return!1}}function Ge(e,t,n){if(typeof n!=`string`)return`the message must be a string`;let r=t.startsWith(`@theorem.`);if(!r&&!t.startsWith(`@astryx.`))return`keys start with @theorem. or @astryx.`;if(r&&!Ue.has(t))return`no such label`;let i;try{i=new Ie(n,e)}catch(e){return`not a valid ICU message (${String(e)})`}if(!r)return;let a=Z(t);try{i.format(Object.fromEntries(a.map(e=>[e,1])))}catch(e){return`the message ${a.length>0?`may only use ${a.map(e=>`{${e}}`).join(`, `)}`:`takes no values`} (${String(e)})`}}var $=new WeakMap;function Ke(e){try{return new Intl.Locale(e).language}catch{return e.split(`-`)[0]??e}}function qe(e,t){let n=Ke(t);if($.get(e)===n)return e;let r={...e,[n]:{...q,...e[n]}};return $.set(r,n),r}function Je(e,t){if(!t)return e;let n={};for(let[r,i]of[...Object.entries(e??{}),...Object.entries(t)])n[r]={...n[r],...i};return n}function Ye({labels:e,children:t}){let n=(0,o.use)(a),r=(0,o.useMemo)(()=>qe(n.messages,n.locale),[n.messages,n.locale]),i=(0,o.useMemo)(()=>(Q(n.overrides??{},!1),e&&Q(e,!0),Je(n.overrides,e)),[n.overrides,e]);return r===n.messages&&i===n.overrides?(0,c.jsx)(c.Fragment,{children:t}):(0,c.jsx)(u,{locale:n.locale,dir:n.direction,messages:r,overrides:i,children:t})}function Xe(){return i()}export{Ve as a,He as c,Y as i,J as l,Xe as n,ze as o,Le as r,Re as s,Ye as t,Be as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e,t){let n=t.triggerTokens??Math.round(e.liveInputTokens*.8);return{triggerTokens:n,targetTokens:t.targetTokens??Math.round(n/2)}}var t={mode:`byok`};function n(e){return e.mode===`demo`?e.keys.holds.publicHostsOnly?`public`:`asWritten`:(e.mode===`local`||e.providers?.local)&&!e.remoteTools?`none`:`asWritten`}var r={public:`This page's keys reach public hosts only.`,asWritten:void 0,none:`Remote tools off: no host reached.`};function i(e){return r[n(e)]}function a(e){let t=e.mode===`demo`?e.keys.holds.afterRemoteRead:`off`;if(t!==`off`)return`This page's keys refuse ${t===`write`?`writes`:`destructive calls`} after a remote read. Stricter settings hold.`}export{a,i,e as n,n as r,t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e}from"./host-patterns-C9RMP16Q.js";function t(e){let t=e!==void 0;return{upstreamLog:e?.include?.upstreamLog??!0,outboundWire:e?.include?.outboundWire??!t,evidenceRaw:e?.include?.evidenceRaw??!t,usage:e?.include?.usage??!0,guardrailDecisions:e?.include?.guardrailDecisions??!0,guardrailMatchPreview:e?.include?.guardrailMatchPreview??!1}}function n(e){if(e===void 0||typeof e==`boolean`)return e??!0;let t={theorem:e.theorem??!0,host:e.host??!0};return(t.theorem||t.host)&&t}function r(e){return{sensitive:n(e?.scrub?.sensitive),injection:n(e?.scrub?.injection),canary:n(e?.scrub?.canary)}}function i(t){if(t===void 0)return 1;if(!Number.isFinite(t))throw new e(`config`,`observability.sampleRate must be a finite number`);if(t<0||t>1)throw new e(`config`,`observability.sampleRate must be between 0 and 1 inclusive`);return t}function a(e){let n=e?.writeTo,a=i(e?.sampleRate);return{record:e!==void 0&&n!==!1&&n!==void 0,writeTo:n,sampleRate:a,include:t(e),scrub:r(e),resource:{...e?.resource??{}},retainForDays:e?.retainForDays??14,rotateAfterMiB:e?.rotateAfterMiB??32,onWriteError:e?.onWriteError}}var o=[`audio`,`video`,`text`];function s(t){if(t.type!==`live`)throw new e(`request`,`Profile '${t.id}' is not type 'live'`);return t}function c(e){return e!==`text`}function l(e,t){let n=e?.[t];return n===void 0?c(t):n}function u(e,t){return l(s(e).live.ingress,t)}function d(e){let t=s(e);return o.some(e=>l(t.live.ingress,e))}function f(t){let n=s(t);if(!d(n))throw new e(`config`,`Profile '${n.id}': at least one live.ingress channel (audio, video, text) must be enabled`)}function p(t,n){if(!u(t,n))throw new e(`request`,`Profile '${t.id}' live.ingress.${n} is disabled — cannot send on this channel`)}export{a,l as i,f as n,c as r,p as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{E as e,g as t,l as n,o as r,p as i,v as a,w as o,x as s,y as c}from"./schemas-BQ9Jydzb.js";import{Dn as l,Ln as u,Pn as d,br as f}from"./tool-schema-idaOe2nI.js";import{A as p,S as m,k as h}from"./reader-BOCCYaRp.js";import{n as g}from"./trace-schema-9CdEyG6Q.js";import{S as _}from"./turn-client-Du3Um3Mg.js";var v=c({type:t(`open`),history:n(u).optional(),slots:s(o(),o()).optional(),context:e().optional(),resume:c({providerState:f,awayMs:a().nonnegative()}).optional(),host:s(o(),e()).optional()}),y=i(`type`,[c({type:t(`audio`),data:o()}),c({type:t(`video`),data:o(),mimeType:o()}),c({type:t(`text`),text:o()}),c({type:t(`context`),context:e()}),c({type:t(`executeTool`),callId:o().min(1),operationId:o().min(1).max(256),decision:r(_).optional(),input:e().optional(),secret:o().optional(),output:e().optional(),grantId:o().min(1).optional(),unanswered:t(!0).optional()})]),b={ready:c({type:t(`ready`),profile:o().optional(),sessionId:o().optional()}),events:c({type:t(`events`),events:n(e())}),trace:c({type:t(`trace`),record:g}),error:c({type:t(`error`)}).and(m),executeToolResult:i(`status`,[c({type:t(`executeToolResult`),callId:o().min(1),operationId:o().min(1).max(256),status:t(`dispatched`),grantId:o().min(1),arguments:s(o(),e())}),c({type:t(`executeToolResult`),callId:o(),status:t(`settled`),operationId:o().min(1).max(256)}),c({type:t(`executeToolResult`),callId:o(),status:t(`gated`),operationId:o().min(1).max(256),gate:d}),c({type:t(`executeToolResult`),callId:o(),status:t(`refused`),operationId:o().min(1).max(256),body:m})])};function x(e){let t=h(b,e);return t.type===`events`?{type:`events`,events:t.events.map(e=>p(l,e))}:t}export{v as n,x as r,y as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e,t){let n={...e,...t},r=[e.className,t.className].filter(Boolean).join(` `);r?n.className=r:delete n.className;let i=t.style&&e.style?{...e.style,...t.style}:t.style||e.style;return i?n.style=i:delete n.style,n}function t(t,n,r,i){if(typeof t==`string`){let e=t,a=n??{className:``},o=r,s=a.className?`${e} ${a.className}`:e;o&&(s=`${s} ${o}`);let c=i&&a.style?{...a.style,...i}:i||a.style;return{...a,className:s,style:c}}let a=e(t,typeof n==`string`?{className:n}:n??{});return typeof r==`string`?a=e(a,{className:r}):r!=null&&(a=e(a,{style:r})),i!=null&&(a=e(a,{style:i})),a}export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{c as t,u as n}from"./themeProps-3IqahpCr.js";var r=e(n(),1),i=t(),a=[];function o(e){let t=(0,r.createContext)(e);return t.displayName=`LayerScopedContext`,a.push(n=>(0,i.jsx)(t,{value:e,children:n})),t}function s({children:e}){let[t]=(0,r.useState)(()=>a.slice());return t.reduceRight((e,t)=>t(e),e)}var c={0:`spacing0`,.5:`spacing0_5`,1:`spacing1`,1.5:`spacing1_5`,2:`spacing2`,3:`spacing3`,4:`spacing4`,5:`spacing5`,6:`spacing6`,8:`spacing8`,10:`spacing10`},l={0:{kZCmMZ:`x18gyask`,kwRFfy:`x1s0aq8i`,kLKAdn:`x1ydh6w3`,kGO01o:`x1l20ajd`,$$css:!0},1:{kZCmMZ:`x1vsv5vr`,kwRFfy:`x1nryj5t`,kLKAdn:`xfsso4q`,kGO01o:`xy143xn`,$$css:!0},2:{kZCmMZ:`x12gdq22`,kwRFfy:`x1djylfy`,kLKAdn:`x1xye8es`,kGO01o:`x1wesfrj`,$$css:!0},3:{kZCmMZ:`x126nfab`,kwRFfy:`x1t818jl`,kLKAdn:`x1vlblms`,kGO01o:`xvmdzux`,$$css:!0},4:{kZCmMZ:`x1rey3nv`,kwRFfy:`xnjyzlh`,kLKAdn:`x1oa1p4a`,kGO01o:`x1awphl8`,$$css:!0},5:{kZCmMZ:`x1blguxw`,kwRFfy:`xdbrk9v`,kLKAdn:`xx7rijo`,kGO01o:`x1hk98q`,$$css:!0},6:{kZCmMZ:`x31w388`,kwRFfy:`x1we12cn`,kLKAdn:`x1adxfkp`,kGO01o:`xjpqqx5`,$$css:!0},8:{kZCmMZ:`x1j3hnjz`,kwRFfy:`x1q91b2g`,kLKAdn:`xoxd1wu`,kGO01o:`x2oz4g1`,$$css:!0},10:{kZCmMZ:`xqp078j`,kwRFfy:`x160ivqr`,kLKAdn:`xk6660b`,kGO01o:`x2izi54`,$$css:!0},"0.5":{kZCmMZ:`x138rykx`,kwRFfy:`x1le3yxw`,kLKAdn:`xbx876j`,kGO01o:`xij103a`,$$css:!0},"1.5":{kZCmMZ:`xfti1ec`,kwRFfy:`x17hk9do`,kLKAdn:`x1kwdpsa`,kGO01o:`x1opdxmq`,$$css:!0}},u={0:{"--container-padding-inline-start":`x1gu2k80`,"--container-padding-inline-end":`x91ghl5`,$$css:!0},1:{"--container-padding-inline-start":`x1cvlban`,"--container-padding-inline-end":`x2oyxnl`,$$css:!0},2:{"--container-padding-inline-start":`x1xlrr2o`,"--container-padding-inline-end":`xcas3b9`,$$css:!0},3:{"--container-padding-inline-start":`xfdwxua`,"--container-padding-inline-end":`xu0ipoa`,$$css:!0},4:{"--container-padding-inline-start":`x1dlhslv`,"--container-padding-inline-end":`xs0pscg`,$$css:!0},5:{"--container-padding-inline-start":`x1s81nki`,"--container-padding-inline-end":`xgkj7vj`,$$css:!0},6:{"--container-padding-inline-start":`x1ep0dkj`,"--container-padding-inline-end":`x94cj42`,$$css:!0},8:{"--container-padding-inline-start":`xw1diwv`,"--container-padding-inline-end":`x1b9k1pi`,$$css:!0},10:{"--container-padding-inline-start":`xserb3f`,"--container-padding-inline-end":`xx5lg5w`,$$css:!0},"0.5":{"--container-padding-inline-start":`x14ws0sr`,"--container-padding-inline-end":`x1wz3t3y`,$$css:!0},"1.5":{"--container-padding-inline-start":`x176g23i`,"--container-padding-inline-end":`xntetml`,$$css:!0}},d={0:{"--container-padding-block-start":`x1i3qcxz`,$$css:!0},1:{"--container-padding-block-start":`xnsckjb`,$$css:!0},2:{"--container-padding-block-start":`xa8b4fq`,$$css:!0},3:{"--container-padding-block-start":`x11k4f5r`,$$css:!0},4:{"--container-padding-block-start":`xm01sq8`,$$css:!0},5:{"--container-padding-block-start":`xp8wdkl`,$$css:!0},6:{"--container-padding-block-start":`x1hmud4d`,$$css:!0},8:{"--container-padding-block-start":`xfv60at`,$$css:!0},10:{"--container-padding-block-start":`x17h9kl7`,$$css:!0},"0.5":{"--container-padding-block-start":`xvdf9ev`,$$css:!0},"1.5":{"--container-padding-block-start":`x1kbx601`,$$css:!0}},f={0:{"--container-padding-block-end":`xkunwnr`,$$css:!0},1:{"--container-padding-block-end":`x57a7ii`,$$css:!0},2:{"--container-padding-block-end":`x1lsgcmx`,$$css:!0},3:{"--container-padding-block-end":`x1q3ppug`,$$css:!0},4:{"--container-padding-block-end":`x4hfsld`,$$css:!0},5:{"--container-padding-block-end":`xbib2ws`,$$css:!0},6:{"--container-padding-block-end":`x1q8d17g`,$$css:!0},8:{"--container-padding-block-end":`x8lgq76`,$$css:!0},10:{"--container-padding-block-end":`x15vxphk`,$$css:!0},"0.5":{"--container-padding-block-end":`x1cao3zv`,$$css:!0},"1.5":{"--container-padding-block-end":`xv53x8y`,$$css:!0}},p={0:{"--layout-padding-own-outer-x":`xhcsosl`,$$css:!0},1:{"--layout-padding-own-outer-x":`x14y473`,$$css:!0},2:{"--layout-padding-own-outer-x":`x18c6olm`,$$css:!0},3:{"--layout-padding-own-outer-x":`x1cfn5ow`,$$css:!0},4:{"--layout-padding-own-outer-x":`xh30wjg`,$$css:!0},5:{"--layout-padding-own-outer-x":`xse87af`,$$css:!0},6:{"--layout-padding-own-outer-x":`xznoj5s`,$$css:!0},8:{"--layout-padding-own-outer-x":`xtjvahm`,$$css:!0},10:{"--layout-padding-own-outer-x":`xczqutc`,$$css:!0},"0.5":{"--layout-padding-own-outer-x":`x1ftjo2o`,$$css:!0},"1.5":{"--layout-padding-own-outer-x":`x1k4nu17`,$$css:!0}},m={0:{"--layout-padding-own-outer-y":`xe1wva8`,$$css:!0},1:{"--layout-padding-own-outer-y":`x1nxw61z`,$$css:!0},2:{"--layout-padding-own-outer-y":`xm4vj23`,$$css:!0},3:{"--layout-padding-own-outer-y":`x69uvy7`,$$css:!0},4:{"--layout-padding-own-outer-y":`x139ridu`,$$css:!0},5:{"--layout-padding-own-outer-y":`x1cq2jmq`,$$css:!0},6:{"--layout-padding-own-outer-y":`x1ir1f5p`,$$css:!0},8:{"--layout-padding-own-outer-y":`xhbsdkj`,$$css:!0},10:{"--layout-padding-own-outer-y":`xaqnhag`,$$css:!0},"0.5":{"--layout-padding-own-outer-y":`x1b6unwa`,$$css:!0},"1.5":{"--layout-padding-own-outer-y":`x1g16mdy`,$$css:!0}},h={0:{kZCmMZ:`x18gyask`,kwRFfy:`x1s0aq8i`,$$css:!0},1:{kZCmMZ:`x1vsv5vr`,kwRFfy:`x1nryj5t`,$$css:!0},2:{kZCmMZ:`x12gdq22`,kwRFfy:`x1djylfy`,$$css:!0},3:{kZCmMZ:`x126nfab`,kwRFfy:`x1t818jl`,$$css:!0},4:{kZCmMZ:`x1rey3nv`,kwRFfy:`xnjyzlh`,$$css:!0},5:{kZCmMZ:`x1blguxw`,kwRFfy:`xdbrk9v`,$$css:!0},6:{kZCmMZ:`x31w388`,kwRFfy:`x1we12cn`,$$css:!0},8:{kZCmMZ:`x1j3hnjz`,kwRFfy:`x1q91b2g`,$$css:!0},10:{kZCmMZ:`xqp078j`,kwRFfy:`x160ivqr`,$$css:!0},"0.5":{kZCmMZ:`x138rykx`,kwRFfy:`x1le3yxw`,$$css:!0},"1.5":{kZCmMZ:`xfti1ec`,kwRFfy:`x17hk9do`,$$css:!0}},g={0:{kLKAdn:`x1ydh6w3`,kGO01o:`x1l20ajd`,$$css:!0},1:{kLKAdn:`xfsso4q`,kGO01o:`xy143xn`,$$css:!0},2:{kLKAdn:`x1xye8es`,kGO01o:`x1wesfrj`,$$css:!0},3:{kLKAdn:`x1vlblms`,kGO01o:`xvmdzux`,$$css:!0},4:{kLKAdn:`x1oa1p4a`,kGO01o:`x1awphl8`,$$css:!0},5:{kLKAdn:`xx7rijo`,kGO01o:`x1hk98q`,$$css:!0},6:{kLKAdn:`x1adxfkp`,kGO01o:`xjpqqx5`,$$css:!0},8:{kLKAdn:`xoxd1wu`,kGO01o:`x2oz4g1`,$$css:!0},10:{kLKAdn:`xk6660b`,kGO01o:`x2izi54`,$$css:!0},"0.5":{kLKAdn:`xbx876j`,kGO01o:`xij103a`,$$css:!0},"1.5":{kLKAdn:`x1kwdpsa`,kGO01o:`x1opdxmq`,$$css:!0}},_={0:{kZCmMZ:`x18gyask`,$$css:!0},1:{kZCmMZ:`x1vsv5vr`,$$css:!0},2:{kZCmMZ:`x12gdq22`,$$css:!0},3:{kZCmMZ:`x126nfab`,$$css:!0},4:{kZCmMZ:`x1rey3nv`,$$css:!0},5:{kZCmMZ:`x1blguxw`,$$css:!0},6:{kZCmMZ:`x31w388`,$$css:!0},8:{kZCmMZ:`x1j3hnjz`,$$css:!0},10:{kZCmMZ:`xqp078j`,$$css:!0},"0.5":{kZCmMZ:`x138rykx`,$$css:!0},"1.5":{kZCmMZ:`xfti1ec`,$$css:!0}},v={0:{kwRFfy:`x1s0aq8i`,$$css:!0},1:{kwRFfy:`x1nryj5t`,$$css:!0},2:{kwRFfy:`x1djylfy`,$$css:!0},3:{kwRFfy:`x1t818jl`,$$css:!0},4:{kwRFfy:`xnjyzlh`,$$css:!0},5:{kwRFfy:`xdbrk9v`,$$css:!0},6:{kwRFfy:`x1we12cn`,$$css:!0},8:{kwRFfy:`x1q91b2g`,$$css:!0},10:{kwRFfy:`x160ivqr`,$$css:!0},"0.5":{kwRFfy:`x1le3yxw`,$$css:!0},"1.5":{kwRFfy:`x17hk9do`,$$css:!0}},y={0:{"--container-padding-inline-start":`x1gu2k80`,$$css:!0},1:{"--container-padding-inline-start":`x1cvlban`,$$css:!0},2:{"--container-padding-inline-start":`x1xlrr2o`,$$css:!0},3:{"--container-padding-inline-start":`xfdwxua`,$$css:!0},4:{"--container-padding-inline-start":`x1dlhslv`,$$css:!0},5:{"--container-padding-inline-start":`x1s81nki`,$$css:!0},6:{"--container-padding-inline-start":`x1ep0dkj`,$$css:!0},8:{"--container-padding-inline-start":`xw1diwv`,$$css:!0},10:{"--container-padding-inline-start":`xserb3f`,$$css:!0},"0.5":{"--container-padding-inline-start":`x14ws0sr`,$$css:!0},"1.5":{"--container-padding-inline-start":`x176g23i`,$$css:!0}},b={0:{"--container-padding-inline-end":`x91ghl5`,$$css:!0},1:{"--container-padding-inline-end":`x2oyxnl`,$$css:!0},2:{"--container-padding-inline-end":`xcas3b9`,$$css:!0},3:{"--container-padding-inline-end":`xu0ipoa`,$$css:!0},4:{"--container-padding-inline-end":`xs0pscg`,$$css:!0},5:{"--container-padding-inline-end":`xgkj7vj`,$$css:!0},6:{"--container-padding-inline-end":`x94cj42`,$$css:!0},8:{"--container-padding-inline-end":`x1b9k1pi`,$$css:!0},10:{"--container-padding-inline-end":`xx5lg5w`,$$css:!0},"0.5":{"--container-padding-inline-end":`x1wz3t3y`,$$css:!0},"1.5":{"--container-padding-inline-end":`xntetml`,$$css:!0}},x={0:{kLKAdn:`x1ydh6w3`,$$css:!0},1:{kLKAdn:`xfsso4q`,$$css:!0},2:{kLKAdn:`x1xye8es`,$$css:!0},3:{kLKAdn:`x1vlblms`,$$css:!0},4:{kLKAdn:`x1oa1p4a`,$$css:!0},5:{kLKAdn:`xx7rijo`,$$css:!0},6:{kLKAdn:`x1adxfkp`,$$css:!0},8:{kLKAdn:`xoxd1wu`,$$css:!0},10:{kLKAdn:`xk6660b`,$$css:!0},"0.5":{kLKAdn:`xbx876j`,$$css:!0},"1.5":{kLKAdn:`x1kwdpsa`,$$css:!0}},S={0:{kGO01o:`x1l20ajd`,$$css:!0},1:{kGO01o:`xy143xn`,$$css:!0},2:{kGO01o:`x1wesfrj`,$$css:!0},3:{kGO01o:`xvmdzux`,$$css:!0},4:{kGO01o:`x1awphl8`,$$css:!0},5:{kGO01o:`x1hk98q`,$$css:!0},6:{kGO01o:`xjpqqx5`,$$css:!0},8:{kGO01o:`x2oz4g1`,$$css:!0},10:{kGO01o:`x2izi54`,$$css:!0},"0.5":{kGO01o:`xij103a`,$$css:!0},"1.5":{kGO01o:`x1opdxmq`,$$css:!0}},C={0:{"--_section-padding-propagated":`x7mo41q`,$$css:!0},1:{"--_section-padding-propagated":`x1j3iakl`,$$css:!0},2:{"--_section-padding-propagated":`xezgk69`,$$css:!0},3:{"--_section-padding-propagated":`x1wtz8uf`,$$css:!0},4:{"--_section-padding-propagated":`x5wdj8h`,$$css:!0},5:{"--_section-padding-propagated":`xgjndll`,$$css:!0},6:{"--_section-padding-propagated":`x15i4jqh`,$$css:!0},8:{"--_section-padding-propagated":`xmb9lpv`,$$css:!0},10:{"--_section-padding-propagated":`x4h2jfd`,$$css:!0},"0.5":{"--_section-padding-propagated":`x2ccaqq`,$$css:!0},"1.5":{"--_section-padding-propagated":`xxa843v`,$$css:!0}},w={reset:{"--container-padding-inline-start":`xrhngw9`,"--container-padding-inline-end":`xjsfl84`,"--container-padding-block-start":`x1047aw6`,"--container-padding-block-end":`xax9j7h`,"--layout-padding-outer-x":`xdt8ak2`,"--layout-padding-outer-y":`x1rs4lu4`,"--layout-padding-own-outer-x":`x1vii845`,"--layout-padding-own-outer-y":`xojybgt`,"--layout-padding-inner-x":`x1qfll2g`,"--layout-padding-inner-y":`xyvxpqs`,"--_section-padding-propagated":`x1f17rg1`,$$css:!0}};export{c as _,u as a,w as c,g as d,v as f,C as g,l as h,y as i,S as l,h as m,d as n,p as o,_ as p,b as r,m as s,f as t,x as u,s as v,o as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=function(e){return`/studio/`+e},t={},n=function(e){return e.pathname.endsWith(`.css`)},r=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},i=function(i,a,o){let s=Promise.resolve();if(a&&a.length>0){let i,c=document.querySelector(`meta[property=csp-nonce]`),l=c?.nonce||c?.getAttribute(`nonce`);function u(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function d(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}s=u(a.map(a=>{a=e(a,o);let s=d(a),c=n(s);return r(t,s.href,()=>{if(i===void 0){i={all:new Set,styles:new Set};let e=document.getElementsByTagName(`link`);for(let t=e.length-1;t>=0;t--){let n=e[t];i.all.add(n.href),n.rel===`stylesheet`&&i.styles.add(n.href)}}if((c?i.styles:i.all).has(s.href))return;let e=document.createElement(`link`);if(e.rel=c?`stylesheet`:`modulepreload`,c||(e.as=`script`),e.crossOrigin=``,e.href=s.href,l&&e.setAttribute(`nonce`,l),document.head.appendChild(e),c)return new Promise((t,n)=>{e.addEventListener(`load`,t),e.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${s}`)))})})}).filter(e=>e!==void 0))}function c(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return s.then(e=>{for(let t of e||[])t.status===`rejected`&&c(t.reason);return i().catch(c)})};export{i as t};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{t as e}from"./preload-helper-DpV6A1kQ.js";import{C as t,E as n,O as r,T as i,b as a,d as o,f as s,g as c,l,m as u,o as d,p as f,s as p,u as m,v as h,w as g,x as _,y as v}from"./schemas-BQ9Jydzb.js";import{$n as y,$t as b,Br as x,Dn as S,Er as ee,G as te,Gt as C,Hn as w,Ht as T,In as E,Ir as D,Jn as O,Kt as ne,Ln as re,Lt as ie,Mn as ae,Nn as oe,On as se,Pr as ce,Qn as le,Rr as ue,Tr as de,Un as k,Vn as fe,Wn as pe,Xn as me,Xt as he,Yn as ge,Zt as _e,_r as ve,cn as A,dn as ye,er as be,fn as j,gr as xe,hr as Se,jn as Ce,jr as we,kn as Te,kr as Ee,ln as De,nr as Oe,or as ke,pn as Ae,qn as je,rr as Me,s as Ne,sn as Pe,tr as Fe,un as M,ur as Ie,vt as Le,wr as Re,xr as ze,zn as Be,zr as Ve,zt as He}from"./tool-schema-idaOe2nI.js";import{c as N}from"./host-patterns-C9RMP16Q.js";import{An as Ue,B as We,Bt as Ge,En as Ke,Et as qe,F as Je,Gt as Ye,Ht as Xe,I as Ze,It as Qe,Lt as $e,M as et,Mn as P,Mt as tt,N as nt,Nn as rt,O as it,On as at,P as ot,Pt as st,Q as ct,Qt as lt,Rt as ut,Sn as dt,St as ft,Ut as pt,Vt as mt,W as ht,Wt as gt,X as _t,bt as vt,et as yt,fn as bt,ft as xt,gn as St,it as Ct,j as wt,jt as Tt,k as Et,mn as Dt,mt as F,nn as Ot,nt as kt,pn as At,qt as jt,rn as Mt,rt as Nt,tt as Pt,ut as Ft,wn as It,wt as Lt,xn as Rt,zt}from"./shaped-data-BcarWqd5.js";import{a as Bt,n as Vt}from"./live-ingress-lDUGPwth.js";import{n as Ht,t as Ut}from"./trace-schema-9CdEyG6Q.js";import{n as Wt}from"./stub-DhdcU_Ew.js";function I(e){return{type:`guardrail`,guardrail:e}}function Gt(e,t,n,r=`redact`,i){if(n.length!==0)return I({stage:e,trust:t,action:r,hits:n,...i?{provenance:i}:{}})}function Kt(e,t){return e.type===`guardrail`?{...e,guardrail:St(e.guardrail,t)}:e}var L=65536;function R(e){let t=e.classStarts.length,n=new Uint16Array(L);for(let r=0;r<t;r++)n.fill(r,e.classStarts[r],e.classStarts[r+1]??L);let r=e.charsets.map(e=>{let n=new Uint8Array(t);for(let t of e)n[t]=1;return n}),i=e.nodes.length,a=new Int32Array(i),o=new Uint8Array(i),s=[];return e.nodes.forEach((e,t)=>{a[t]=e[0],o[t]=e[1],s.push(Int32Array.from(e.slice(2)))}),{classOf:n,has:r,pattern:a,final:o,edges:s,initials:e.initials,leads:e.leads,size:i}}var z,B,qt;async function Jt(){if(z)return;let{FORWARD_AUTOMATON:t,REVERSED_AUTOMATON:n}=await e(async()=>{let{FORWARD_AUTOMATON:e,REVERSED_AUTOMATON:t}=await import(`./egress-automata-B5ZGE1mT.js`);return{FORWARD_AUTOMATON:e,REVERSED_AUTOMATON:t}},[]);z={forward:t,reversed:n}}function Yt(){if(!z)throw Error(`A stream was opened before loadEgressAutomata() finished.`);return z}var V;function Xt(e){let t=String.fromCharCode(e).toUpperCase();if(t.length!==1)return e;let n=t.charCodeAt(0);return e>=128&&n<128?e:n}function Zt(e){if(!V){V=new Map;for(let e=0;e<L;e++){let t=Xt(e),n=V.get(t);n?n.push(e):V.set(t,[e])}}return V.get(Xt(e))??[e]}function Qt(e){let t=[0];for(let n of e)t.at(-1)!==n&&t.push(n),n+1<L&&t.push(n+1);return t}var $t=new Map;function en(e){let t=$t.get(e);if(t)return t;let n=Array.from({length:e.length},(t,n)=>Zt(e.charCodeAt(n))),r=Qt([...new Set(n.flat())].sort((e,t)=>e-t)),i=e=>r.indexOf(e),a=R({classStarts:r,charsets:n.map(e=>e.map(i)),initials:[0],leads:[-1],nodes:[...n.map((e,t)=>[0,0,t+1,t]),[0,1]]});return $t.set(e,a),a}function tn(e){let t=JSON.stringify(e),n=$t.get(t);if(n)return n;let r=[...new Set(e.flatMap(e=>Array.from(e,e=>e.charCodeAt(0))))];r.sort((e,t)=>e-t);let i=Qt(r),a=r.map(e=>[i.indexOf(e)]),o=[],s=R({classStarts:i,charsets:a,initials:e.map((e,t)=>{let n=o.length;for(let n=0;n<e.length;n++)o.push([t,0,o.length+1,r.indexOf(e.charCodeAt(n))]);return o.push([t,1]),n}),leads:e.map(()=>-1),nodes:o});return $t.set(t,s),s}function nn(e,t){let n=e.has[0]?.length??0,r=Array.from({length:n},()=>[]);for(let i of t){let t=e.edges[e.initials[i]];for(let i=0;i<t.length;i+=2){let a=e.has[t[i+1]];for(let e=0;e<n;e++)a[e]&&r[e]?.push(t[i])}}return r.map(e=>Int32Array.from(e))}function rn(e,t){e.text+=t,e.fresh+=t}function an(e){return e.text.length-e.fresh.length}function H(e,t){let n=an(e);return t>=n?e.fresh.charCodeAt(t-n):e.text.charCodeAt(t)}function on(e,t,n=e.text.length){let r=an(e);return t>=r?e.fresh.slice(t-r,n-r):e.text.slice(t,n)}function sn(e){let t={text:``,fresh:``,rawAt:e=>e,update(){t.text=e.text,t.fresh=e.fresh}};return t}function cn(e,t){let n={text:``,fresh:``,rawAt:e.rawAt,update(){n.fresh=``,rn(n,t(on(e,n.text.length)))}};return n}var ln=/\w/,un=Math.max(...ut.map(e=>e.length));function dn(e){return e.length<=un+1&&/^[A-Za-z]*$/.test(e)}function fn(e){let t=0,n,r=!1,i=[],a=(e,t,n)=>{rn(o,e);for(let r=0;r<e.length;r++)i.push(t+Math.min(r,n-1))},o={text:``,fresh:``,rawAt:r=>e.rawAt(r<i.length?i[r]:t-(n?.length??0)),update(){o.fresh=``;for(let i=e.text.length;t<i;t++){let i=String.fromCharCode(H(e,t)),o=ln.test(i);o&&!r&&(n=``),r=o,o?n===void 0?a(i,t,1):n+=i:(n!==void 0&&a(Xe(n),t-n.length,n.length),n=void 0,a(i,t,1))}n!==void 0&&!dn(n)&&(a(n,t-n.length,n.length),n=void 0)}};return o}function pn(e){let t={text:``,fresh:``,from:[],rawAt:n=>n<t.from.length?t.from[n]:e(),update(){}};return t}function U(e,t,n){rn(e,t);for(let r=0;r<t.length;r++)e.from.push(n)}var mn=55296,hn=56319,gn=/[A-Za-z]/,_n=56320,vn=57343;function yn(e){let t=0,n=``,r=[],i=``,a=[],o=!1,s=-1,c=pn(()=>Math.min(t,r[0]??t,a[0]??t,s<0?t:s));function l(e,t){s>=0&&(gn.test(e)||U(c,`\\`,s),s=-1),e===`\\`?s=t:U(c,e,t)}function u(e,t){if(pt(e)&&(o||i)){i+=e;for(let n=0;n<e.length;n++)a.push(t)}else{if(i){if(!gn.test(e))for(let e=0;e<i.length;e++)l(i[e],a[e]);i=``,a=[]}for(let n=0;n<e.length;n++)l(e[n],t);o=gn.test(e)&&e.length===1}}function d(){let e=0;for(;e<n.length;){let t=n.charCodeAt(e),i=t>=mn&&t<=hn;if(i&&e+1>=n.length)break;let a=n.charCodeAt(e+1),o=i&&a>=_n&&a<=vn?2:1;u(n.slice(e,e+o),r[e]),e+=o}n=n.slice(e),r=r.slice(e)}return c.update=()=>{c.fresh=``;let i=e.text.length;for(;t<i;){let a=H(e,t),o=a>=mn&&a<=hn;if(o&&t+1>=i)break;let s=H(e,t+1),c=o&&s>=_n&&s<=vn?2:1,l=gt(on(e,t,t+c));n+=l;for(let e=0;e<l.length;e++)r.push(t);t+=c}d()},c}var bn=/[0-9A-Fa-f]/;function xn(e){let t=0,n=-1,r=pn(()=>n<0?t:n);r.update=()=>{r.fresh=``;let a=e.text.length;for(;t<a;){let a=String.fromCharCode(H(e,t));if(n<0){a===`%`?n=t:(U(r,a,t),t++);continue}let o=(t-n)%3;if(o===0?a===`%`:bn.test(a))t++;else{i(t-o);for(let n=t-o;n<t;n++)U(r,String.fromCharCode(H(e,n)),n)}}};function i(t){t>n&&U(r,zt(on(e,n,t)),n),n=-1}return r}var Sn=new Set([`injection`,`base64`,`hex`,`spaced`,`pipe`]),Cn=new Map($e.map(({pattern:e,hit:t})=>[e,t])),wn=new Map(Pt.flatMap(({pattern:e,hit:t})=>t?[[e,t]]:[]));function W(e){return{rule:Rt(e),severity:`high`,detector:e}}var Tn=W(`injection`),En=W(`marker_leak`),Dn=W(`tool_leak`);function On({kind:e,group:t}){if(Sn.has(e))return Tn;switch(e){case`sensitive`:case`card`:return t===void 0?void 0:W(t);case`boundary`:return En;case`image`:return W(`ungiven_images`);default:return W(`ungiven_links`)}}function kn(e,t,n){if(e===`card`)return{hit:kt};if(e===`image`||e===`link`){let r=(e===`image`?Nt:Ct).indexOf(t),i=n[e][r];return`find`in i?{find:i.find}:{hit:i.test}}let r=Cn.get(t)??wn.get(t);return r?{hit:r}:{}}function An(e,{given:t,allow:n,skipImages:r}){let i=e=>({...e,...t?{given:t}:{}}),a={image:Ft(i(n?.ungiven_images)),link:xt(i(n?.ungiven_links),r??e.includes(`ungiven_images`))},o=[];return ct.forEach((t,n)=>{let r=On(t);r?.detector&&e.includes(r.detector)&&o.push({...r,id:n,regex:new RegExp(t.pattern.source,t.pattern.flags),...kn(t.kind,t.pattern,a)})}),o}function jn(){let e=[];return ct.forEach(({kind:t,pattern:n},r)=>{if(t!==`injection`)return;let i=Cn.get(n);e.push({...Tn,id:r,regex:new RegExp(n.source,n.flags),...i?{hit:i}:{}})}),e}function Mn(){return Ye.map((e,t)=>({...Tn,id:t,regex:new RegExp(e.source,e.flags)}))}function Nn(e,t,n){let r=nn(t,n.map(e=>e.id)),i=new Int32Array(t.initials.length).fill(-1);n.forEach((e,t)=>{i[e.id]=t});let a=new Int32Array(t.size),o=new Int32Array(t.size),s=new Int32Array(t.size),c=new Int32Array(t.size),l=0,u=new Int32Array(t.size),d=new Int32Array(t.size),f=0,p=0,m=new Uint8Array(n.length),h=new Uint8Array(n.length),g=new Int32Array(n.length),_=new Int32Array(n.length),v=new Uint8Array(n.length),y=Uint8Array.from(n,e=>+!!e.find),b=new Int32Array(n.length).fill(-1),x=new Int32Array(n.length).fill(-1),S=Int32Array.from(n,e=>t.leads[e.id]??-1),ee=[...new Set(S)].filter(e=>e>=0),te=n.flatMap((e,t)=>S[t]<0?[]:[t]),C=new Int32Array(t.has.length).fill(-1);function w(){let{text:n,fresh:h}=e,g=an(e),{classOf:_,has:v,edges:te,final:w,pattern:T}=t;for(;p<n.length;p++){let e=_[p>=g?h.charCodeAt(p-g):n.charCodeAt(p)];f++;let t=0,E=(e,n)=>{if(d[e]===f){let t=u[e];n<c[t]&&(c[t]=n)}else d[e]=f,u[e]=t,s[t]=e,c[t]=n,t++,w[e]&&(m[i[T[e]]]=1)};for(let t=0;t<l;t++){let n=te[a[t]],r=o[t];for(let t=0;t<n.length;t+=2)v[n[t+1]][e]&&E(n[t],r)}let D=r[e];for(let e=0;e<D.length;e++){let t=D[e],n=i[T[t]],r=S[n],a=r<0?-1:C[r],o=a<0?p:a;E(t,o),y[n]&&(x[n]=p,b[n]<0&&(b[n]=o))}for(let t of ee)v[t][e]?C[t]<0&&(C[t]=p):C[t]=-1;[a,s]=[s,a],[o,c]=[c,o],l=t}}function T(){let n=e.text.length;_.fill(n),v.fill(0);let r=n;for(let e=0;e<l;e++){let n=a[e],s=i[t.pattern[n]],c=o[e];c<_[s]&&(_[s]=c),t.final[n]&&(v[s]=1),c<r&&(r=c)}for(let e of te){let t=C[S[e]];t<0||(t<_[e]&&(_[e]=t),t<r&&(r=t))}return r}function E(t,r){let i=b[t],a=g[t];if(i<0||i>=r){g[t]=r;return}let{find:o,rule:s,severity:c,detector:l}=n[t],u=o?.(e.text,a,r);if(u===void 0)g[t]=r,b[t]=x[t]>=r?r:-1;else return g[t]=Math.max(a,u)+1,{rule:s,severity:c,start:e.rawAt(u),detector:l}}function D(t,r){if(!m[t]&&!h[t]){g[t]=r;return}m[t]=0;let i=e.text,{regex:a,hit:o,rule:s,severity:c,detector:l}=n[t];for(a.lastIndex=g[t];;){let n=a.exec(i);if(!n||n.index>=r){g[t]=r,h[t]=n||v[t]?1:0;return}let[u]=n;if(u&&(!o||o(u,i,n.index)))return g[t]=a.lastIndex,h[t]=1,{rule:s,severity:c,start:e.rawAt(n.index),detector:l};u||a.lastIndex++,g[t]=a.lastIndex}}function O(){for(let e=0;e<n.length;e++){let t=_[e];if(t<=g[e])continue;let r=n[e].find?E(e,t):D(e,t);if(r)return r}}return{run(t){w();let n=T();for(let e=O();e;e=O())t.push(e);return e.rawAt(n)}}}var Pn=new WeakMap;function Fn(e){let t=Pn.get(e);return t||(t=R(e),Pn.set(e,t)),t}function In(e={}){let t={text:``,fresh:``},n=sn(t),r=[n],i=(e,t,n)=>(r.includes(e)||r.push(e),Nn(e,t,n)),a=[],o=e.detect??[],s=An(o,e);if(s.length>0&&(B??=R(Yt().forward),a.push(i(n,B,s))),o.includes(`injection`)){B??=R(Yt().forward),qt??=R(Yt().reversed);let e=yn(t),r=jn();a.push(i(n,qt,Mn()),i(fn(n),B,r),i(e,B,r),i(fn(e),B,r),i(cn(n,mt),B,r),i(cn(n,e=>Ge(e)??e),B,r),i(xn(t),B,r))}if(o.includes(`marker_leak`)&&e.note){let t=yt(e.note);a.push(i(n,en(e.note),[{...En,id:0,regex:t}]))}if(o.includes(`tool_leak`)&&e.tools){let t=ht(e.tools),r=t.map(({regex:e},t)=>({...Dn,id:t,regex:e}));t.length>0&&a.push(i(n,tn(t.map(({literal:e})=>e)),r))}for(let{detector:t,compiled:r,matchers:o}of e.own??[]){let e=o.map(({regex:e},n)=>({...W(t),id:n,regex:new RegExp(e.source,e.flags)}));a.push(i(n,Fn(r.automaton),e))}let c=0;return{push(e){t.text+=e,t.fresh=e;for(let e of r)e.update();let n=[],i=t.text.length;for(let e of a)i=Math.min(i,e.run(n));return c=i,n},holdFrom:()=>c}}function Ln(e,t,n={},r=[]){let i=ot(e,t).filter(e=>!(Ze(e)||r.includes(e))),a=Je(e,t);if(i.length===0&&a.length===0)return;let o=[...i,...a.map(({id:e})=>e)],s=t.sources??{},c=[...i.map(e=>({detector:e,...s[e]})),...a.map(({id:e,matchers:t,compiled:n})=>({detector:e,matchers:t,compiled:n}))],l=c.some(({matchers:e,compiled:t})=>e?.length&&!t),u=In({detect:i.filter(e=>s[e]?.theorem!==!1),own:c.flatMap(({detector:e,compiled:t,matchers:n=[]})=>t?[{detector:e,compiled:t,matchers:n}]:[]),skipImages:t.ungiven_images[e]!==`ignore`,...n.allow?{allow:n.allow}:{},...n.givenUrls?{given:n.givenUrls}:{},...n.note?{note:n.note}:{},...n.ownTools?{tools:n.ownTools}:{}}),d=a.some(({find:e})=>e),f=e===`live_reply`?96:256,p=``,m=[];return{push(e){p+=e;for(let{start:t,detector:n}of u.push(e))n&&m.push({start:t,detector:n})},holdFrom(){if(l)return 0;let e=u.holdFrom();return d?Math.min(e,Math.max(0,p.length-f)):e},take(r,i,a=!1){let s=m.filter(({start:e})=>e<i);if(s.length===0&&!a&&!d)return{action:`allow`,text:p.slice(r,i),hits:[],taken:i-r};let c={from:r,to:i,settled:s.map(({detector:e})=>e)},l=nt(p,c,e,t,{detectors:o,scope:n});return m=m.filter(({start:e})=>e>=r+l.taken),l}}}function Rn(e){let{context:t}=e,n=e.detect,r=n?Ln(n.boundary,n.matrix,n.scope):void 0,i=e=>n?n.matrix[e][n.boundary]:`block`,a=i(`canary_leak`),o=i(`prompt_leak`),s=t.canaryGiven||a===`ignore`?void 0:t.canary,c=o===`ignore`?void 0:t.privateSystem,l=s!==void 0||c!==void 0,u=l?e.carry??``:``,d=[],f=new Set,p=``,m=0,h=``,g=u.slice(-F),_=u,v=0,y=u,b=0,x=0,S=s?ft(s):void 0;S?.push(u);function ee(e){let n=[];if(S?.push(e)&&n.push([a,Dt]),c){let r=_.length;_+=e;let i=Qe(_,r);_=_.slice(i),v+=i;let[a]=_t(_,c,t.canary);a&&n.push([o,a])}for(let[e,t]of n)e!==`flag`||f.has(t.rule)||(f.add(t.rule),d.push(t));return n.filter(([e])=>e!==`flag`).map(([,e])=>e)}function te(e){let t=l?ee(e??``):[];return e&&r?.push(e),t.length===0?null:{hits:t,...n?{boundary:n.boundary}:{}}}function C(){let e=s&&a!==`flag`?T(s):h.length,n=c&&o!==`flag`?E(c,t.canary):h.length;return m+Math.min(e,n)}function w(e){if(d.length===0)return e;let t=[...d,...e.found?.hits??[]];return d=[],{...e,found:{action:e.found?.action??`flag`,hits:t}}}function T(e){let t=u.length+m,n=Math.max(t,x),r=Math.max(b,n-F),i=r+vt(y.slice(r-b),e);i<n&&n>t&&(y=g+h,b=t-g.length,i=b+vt(y,e)),x=Math.min(i,u.length+p.length-F);let a=Math.max(b,Math.max(t,x)-F);return y=y.slice(a-b),b=a,Math.max(0,i-t)}function E(e,t){let n=m===0?u:``,r=u.length+m-n.length,[i,a]=v>=r?[_,v]:[n+h,r];return Math.max(0,a+st(i,e,t)-u.length-m)}function D(e){let t=te(e);if(t)return{blocked:!0,...t};let i=e===void 0,a=i?p.length:Math.min(C(),r?.holdFrom()??p.length),o=Math.max(0,a-m);if(!(n&&r))return w({blocked:!1,emit:O(o)});let s=r.take(m,m+o,i);return s.action===`block`||s.action===`redact`&&!n.rewrite?{blocked:!0,hits:s.hits,boundary:n.boundary}:(O(s.taken),w({blocked:!1,emit:s.text??``,...s.action===`allow`?{}:{found:{action:s.action,hits:s.hits}}}))}function O(e){let t=h.slice(0,e);return h=h.slice(e),m+=t.length,l&&(g=(g+t).slice(-F)),t}return{process(e){return e?(p+=e,h+=e,l&&(y+=e),D(e)):{blocked:!1,emit:``}},flush:()=>D(),accumulated:()=>p,unreleased:()=>h,drainUnreleased:()=>O(h.length),carryOut:()=>l?qe(u+p,s,c):``}}function G(e,t,n){return et(t,e.detect,n)}async function zn(e,t,n,r){return G(e,[n],t)?(await Jt(),Bn(e,t,n,r)):null}function Bn(e,t,n,r){return G(e,[n],t)?Rn({context:t,detect:{matrix:e.detect,boundary:n,rewrite:n===`reply`,scope:We(e,t)},...r?{carry:r}:{}}):null}async function Vn(e,t,n,r){return G(e,[n],r??t)?(await Jt(),Rn({context:t,detect:{matrix:e.detect,boundary:n,rewrite:!1,scope:r??We(e,t)}})):null}var Hn=class{open;gate;constructor(e){this.open=e}async read(e){if(this.gate===void 0&&(this.gate=await this.open()),this.gate===`stopped`)return``;if(!this.gate)return e;let t=this.gate.process(e);return t.blocked?(this.gate=`stopped`,``):t.emit}end(){if(!this.gate||this.gate===`stopped`)return``;let e=this.gate.flush();return e.blocked?``:e.emit}},Un=2,Wn=4,Gn=3,Kn=/(^|,)(\s*)("?)(?:([=@])|([+-])(?![0-9."]))/gm,qn=/^[A-Za-z0-9+/]*={0,2}$/,Jn=new Set([`text/csv`,`text/plain`,`text/markdown`]);function Yn(e){let{maxFiles:t,maxBytes:n,maxTurnBytes:r,limitsByMime:i}=e;if(t&&n&&r)return{maxFiles:t,maxBytes:n,maxTurnBytes:r,limitsByMime:i}}function Xn(e,t){if(t.limitsByMime){let n=j(e);if(t.limitsByMime[n])return t.limitsByMime[n];let[r]=n.split(`/`),i=`${r}/*`;if(t.limitsByMime[i])return t.limitsByMime[i]}return t.maxBytes}function Zn(e){return`uri`in e}function Qn(e){if(e.type===`speech`)throw new N(`request`,`Profile ${e.id} (speech) does not accept media input`);if(e.type===`live`)throw new N(`request`,`Profile ${e.id} (live) does not accept turn attachment input`);if(e.type===`host`||e.type===`decision`||e.type===`embedding`)throw new N(`request`,`Profile ${e.id} (${e.type}) does not accept turn input`);let t=Yn(e.inputs??{});if(!t)throw new N(`config`,`Profile ${e.id} must set maxFiles, maxBytes, and maxTurnBytes`);return t}function $n(e){let t=0;return e.endsWith(`==`)?t=Un:e.endsWith(`=`)&&(t=1),Math.floor(e.length*Gn/Wn)-t}function er(e){try{return new TextDecoder(`utf-8`,{fatal:!0}).decode(e)}catch{return new TextDecoder(`latin1`).decode(e)}}function tr(e){return e.replace(Kn,(e,...t)=>{let[n,r,i,a,o]=t;return`${n}${r}${i}'${a??``}${o??``}`})}function nr(e,t,n){let r=er(t);return e===`text/csv`&&(r=tr(r)),new TextEncoder().encode(n.read(r))}function rr(e,t){return t?{...e,fileName:t}:e}function ir(e,t,n){return t.filter(t=>!A(e,t.mimeType)).map(e=>rr({code:`mime_not_allowed`,params:{mimeType:e.mimeType,channel:n}},e.name))}function ar(e,t){let n=[];e.length>t.maxFiles&&n.push({code:`too_many_files`,params:{maxFiles:t.maxFiles}});let r=0;for(let i of e){if(i.sizeBytes===void 0)continue;let e=Xn(i.mimeType,t);i.sizeBytes>e&&n.push(rr({code:`file_too_large`,params:{maxBytes:e}},i.name)),r+=i.sizeBytes}return r>t.maxTurnBytes&&n.push({code:`turn_too_large`,params:{maxTurnBytes:t.maxTurnBytes}}),n}function or(e,t,n){let r=[];return t.length>0&&!e.attachments&&r.push({code:`attachments_not_accepted`,params:{channel:`attachment`}}),n.length>0&&!e.voice&&r.push({code:`voice_not_accepted`,params:{channel:`voice`}}),r.length>0||t.length===0&&n.length===0?r:(e.attachments&&r.push(...ir(e.attachments,t,`attachment`)),e.voice&&r.push(...ir(e.voice,n,`voice`)),e.limits?[...r,...ar([...t,...n],e.limits)]:[...r,{code:`limits_unconfigured`}])}var sr={mime_not_allowed:`attachments.mime_not_allowed`,too_many_files:`attachments.too_many_files`,too_many_of_kind:`attachments.too_many_of_kind`,file_too_large:`attachments.file_too_large`,turn_too_large:`attachments.turn_too_large`,attachments_not_accepted:`attachments.not_accepted`,voice_not_accepted:`attachments.not_accepted`,limits_unconfigured:`attachments.limits_unconfigured`};function cr(e){let t={};for(let[n,r]of Object.entries(e.params??{}))r!==void 0&&(t[n]=r);return e.fileName!==void 0&&(t.fileName=e.fileName),{key:sr[e.code],params:t}}function lr(e,t){let n=cr(e);return P(n.key,n.params,t)}function ur(e){return new N(`input`,`attachments refused: ${e.map(e=>e.code).join(`, `)}`,{copy:e.map(cr)})}function dr(e){if(!qn.test(e))throw new N(`request`,`attachment data must be base64`);return $n(e)}function fr(e){let t={mimeType:e.mimeType,name:e.name};return Zn(e)||(t.sizeBytes=dr(e.data)),t}function pr(e,t,n){if(!hr(t,n))return;let r=Qn(e),i=or({attachments:De(e,`attachments`),voice:De(e,`voice`),limits:r},(t??[]).map(fr),(n??[]).map(fr));if(i.length>0)throw ur(i)}function mr(e,t){if(Zn(e))return e;let{mimeType:n,data:r}=e;if(!Jn.has(j(n)))return e;let i=nr(n,bt(r),t);return{...e,data:At(i)}}function hr(e,t){return(e?.length??0)>0||(t?.length??0)>0}function gr(e,t,n,r){return pr(e,t,n),{attachments:t?.length?t.map(e=>mr(e,r.attachment)):t,voice:n?.length?n.map(e=>mr(e,r.voice)):n}}var _r=`
|
|
2
|
+
|
|
3
|
+
`;function vr(e){if(typeof e==`string`)return;if(typeof e!=`object`||!e||Array.isArray(e))return`must be a string or { private: string }`;let t=Object.keys(e);if(t.length!==1||t[0]!==`private`)return`must have exactly one key, private`;let n=e.private;if(typeof n!=`string`)return`must be a string`;if(n===``)return`must not be empty`}function yr(e,t){if(typeof e!=`string`){if(!Array.isArray(e))return`${t} must be a string or an array of parts`;if(e.length===0)return`${t} must not be an empty array`;for(let[n,r]of e.entries()){let e=vr(r);if(e)return`${t}[${n}]${typeof r==`object`&&r&&`private`in r?`.private`:``} ${e}`}}}function br(e,t){let n=yr(e,t);if(n)throw new N(`config`,n)}function xr(e,t,n){return br(e,t),typeof e==`string`?n(e):e.map(e=>typeof e==`string`?n(e):{private:n(e.private)})}function Sr(e){if(typeof e==`string`)return[{text:e,private:!0}];let t=e.some(e=>typeof e!=`string`);return e.map(e=>typeof e==`string`?{text:e,private:!t}:{text:e.private,private:!0})}function Cr(e){let t=[];for(let n of e)n.some(e=>e.text)&&(t.length>0&&t.push({text:_r,private:!0}),t.push(...n));return t}function wr(e){return e.map(e=>e.text).join(``)}function Tr(e){let t=[],n=``;for(let r of e)r.private?n+=r.text:(n.trim()&&t.push(n),n=``);return n.trim()&&t.push(n),{text:wr(e),private:t}}function Er(e,t){return Tr(Cr([e,...t.map(e=>e?[{text:e,private:!0}]:[])]))}var Dr=[`user`,`slots`,`repair`,`attachment`,`voice`,`history`,`system`];function Or(e,t){return e&&Object.fromEntries(Object.entries(e).map(([e,n])=>[e,t.read(n)]))}var kr={client:`untrusted`,server:`assembled`};function Ar(e){return typeof e==`string`?e:JSON.stringify(e)}function jr(e,t){let n=[],r=!1;if(!e)return{context:e,events:n,blocked:r};let i={};for(let a of k){let o=e[a];if(o===void 0)continue;let s=t();i[a]=s.read(Ar(o));let c=s.found(),l=wt(`context`,c);l&&n.push({...l,trust:kr[a]}),r||=c.action===`block`}return{context:i,events:n,blocked:r}}var Mr=/^[A-Za-z0-9._-]+$/;function Nr(e){let t=e?.trim();return t&&Mr.test(t)?t:void 0}function Pr(e,t){if(!e)return e;let n=e.guidance?t.read(e.guidance):void 0;return{previousOutput:t.read(e.previousOutput),rejection:t.read(e.rejection),...n?{guidance:n}:{}}}function Fr(e,t){return e.map(e=>{let n=e.content===void 0?void 0:t.read(e.content),r=e.parts?.map(e=>e.type===`text`?{...e,text:t.read(e.text)}:e);return{role:e.role,...n===void 0?{}:{content:n},...r?{parts:r}:{},...e.tool_calls?{tool_calls:e.tool_calls}:{},...e.tool_call_id?{tool_call_id:e.tool_call_id}:{},...e.name?{name:e.name}:{},...e.metadata?{metadata:e.metadata}:{},...e.reasoning?{reasoning:e.reasoning}:{}}})}function Ir(e){return new N(`input`,`guardrails.detect blocked the request at ${e}`,{copy:{key:`detect.blocked`}})}function Lr(e,t){let{detect:n}=Ae(t.guardrails),r=Ke(Dr,e=>Et(e,n)),i=e.input??{},a=i.text===void 0?void 0:r.user.read(i.text),o=e.system===void 0?void 0:xr(e.system,`TurnRequest.system`,e=>r.system.read(e)),s=Or(i.slots,r.slots),c=jr(i.context,()=>Et(`context`,n)),l=Pr(i.repair,r.repair),u=i.history?Fr(i.history,r.history):void 0,{attachments:d,voice:f}=i.attachments?.length||i.voice?.length?gr(t,i.attachments,i.voice,r):i,p=[],m;for(let e of Dr){let t=r[e].found(),n=wt(e,t);n&&p.push(I(n)),t.action===`block`&&(m??=Ir(e))}return p.push(...c.events.map(I)),c.blocked&&(m??=Ir(`context`)),{request:{...e,system:o,projectId:Nr(e.projectId),input:{...i,text:a,slots:s,...c.context?{context:c.context}:{},repair:l,history:u,attachments:d,voice:f}},events:p,...m?{refusal:m}:{}}}function Rr(e,t){let{request:n,refusal:r}=Lr(e,t);if(r)throw r;return n}function zr(e){let t=Object.keys(e);return t.length===1?t[0]:void 0}function Br(e,t){return[...new Set([...t.filter(t=>A(e,t)),...e.filter(e=>A(t,e))])]}function Vr(e,t){let n=e.attachments?t?Br(e.attachments.accept,t.media.flatMap(e=>e.accept)):[...e.attachments.accept]:[],r=(t?.media??[]).flatMap(e=>e.maxPerInput===void 0?[]:[{accept:[...e.accept],max:e.maxPerInput}]);return{text:e.text!==!1,...n.length>0?{attachments:{accept:n}}:{},...e.maxFiles===void 0?{}:{maxFiles:e.maxFiles},...e.maxBytes===void 0?{}:{maxBytes:e.maxBytes},...e.maxTurnBytes===void 0?{}:{maxTurnBytes:e.maxTurnBytes},...e.limitsByMime===void 0?{}:{limitsByMime:{...e.limitsByMime}},...t?.maxInputs===void 0?{}:{maxInputs:t.maxInputs},...r.length>0?{perInput:r}:{}}}function Hr(e){let t=j(e[0]??``);return t===`application/pdf`?`PDF`:t.split(`/`)[0]??t}function Ur(e,t){let n=Yn(e),r=or({attachments:e.attachments?.accept,...n?{limits:{...n,maxFiles:2**53-1}}:{}},t.flat(),[]);if(n)for(let i of t){i.length>n.maxFiles&&r.push({code:`too_many_files`,params:{maxFiles:n.maxFiles}});for(let t of e.perInput??[])i.filter(e=>A(t.accept,e.mimeType)).length>t.max&&r.push({code:`too_many_of_kind`,params:{maxFiles:t.max,kind:Hr(t.accept)}})}let i=new Set;return r.filter(e=>{let t=JSON.stringify(e);return!i.has(t)&&(i.add(t),!0)})}function Wr(e,t){let n=e.get(t);return n!==void 0&&n.type!==`builtin`}function Gr(e,t){return!e||e.includes(`*`)?!0:t?e.includes(t):!1}function Kr(e,t){return t.filter(n=>{let r=e.get(n);return r?.type!==`builtin`||!(r.conflictsWith??[]).some(e=>t.includes(e))})}function K(e){return`tools`in e?e.tools.allow:[]}function qr(e){return e.type===`text`||e.type===`image`?e.tools:void 0}function Jr(e){return`tools`in e?e.tools.parallel:void 0}function Yr(e,t,n){return K(t).filter(r=>{let i=e.get(r);return!i||i.type===`builtin`?!1:t.type===`host`||Gr(i.paths,n.path)})}function Xr(e,t,n,r){let i=t.models[r];return i?(i.builtInTools??[]).filter(t=>{let r=e.get(t);return r?.type===`builtin`&&Gr(r.paths,n.path)}):[]}function Zr(e,t){let n=e.get(t);if(n&&n.type!==`builtin`)return{type:`function`,name:n.name,description:n.description,parameters:n.inputSchema}}function Qr(e,t){let n=[];for(let r of t){let t=Zr(e,r);t&&n.push(t)}return n}function $r(e,t,n){if(t.visible.includes(n))return;t.visible.push(n);let r=Zr(e,n);r&&!t.wire.some(e=>e.name===n)&&t.wire.push(r)}function ei(e,t,n){if(t.builtins.includes(n))return;let r=e.get(n);if(r?.type!==`builtin`)return;let i=r.conflictsWith??[];t.builtins=t.builtins.filter(t=>{if(i.includes(t))return!1;let r=e.get(t);return!(r?.type===`builtin`&&r.conflictsWith?.includes(n))}),t.builtins.push(n)}function ti(e,t,n){return t.type===`live`||t.type===`host`?[...n]:n.filter(t=>e.get(t)?.loadTier===`T0`)}function ni(e,t,n){return Kr(e,n.filter(n=>{let r=e.get(n);return r?.type===`builtin`&&(t.type===`live`||r.loadTier===`T0`)}))}function ri(e,t,n,r){let i=Yr(e,t,n),a=t.type===`host`||t.type===`decision`||t.type===`embedding`||r===void 0?[]:Xr(e,t,n,r),o=[...i,...a],s=ni(e,t,o),c=ti(e,t,o);return{builtins:s,gated:o,visible:c,executable:c.filter(t=>Wr(e,t)),path:n.path,sessionPermissions:n.sessionPermissions,wire:Qr(e,c)}}async function ii(e,t,n,r){let i=ri(e,t,n,r);return await oi(e,i,t,n),i}function ai(e){return{builtins:[...e.builtins],gated:[...e.gated],visible:[...e.visible],executable:[...e.executable],path:e.path,sessionPermissions:e.sessionPermissions?[...e.sessionPermissions]:void 0,wire:e.wire.map(e=>({...e,parameters:structuredClone(e.parameters)}))}}async function oi(e,t,n,r){let i=qr(n)?.t1Policy;if(!i)return;let a;try{a=await i({profile:n,input:r.input,path:r.path,sessionPermissions:r.sessionPermissions,gated:t.gated,host:r.host})}catch(e){let t=e instanceof Error?e.message:String(e);throw new N(`config`,`Profile '${n.id}' tools.t1Policy rejected: ${t}`,{cause:e})}if(!Array.isArray(a))throw new N(`config`,`Profile '${n.id}' tools.t1Policy must return ToolId[]`);for(let n of a){if(!t.gated.includes(n))continue;let r=e.get(n);r?.loadTier===`T2`&&(r.type===`builtin`?ei(e,t,n):$r(e,t,n))}t.executable=t.visible.filter(t=>Wr(e,t))}var si=new Set([`__proto__`,`constructor`,`prototype`]);function ci(e){if(!it(e))return;let{loaded:t}=e;if(Array.isArray(t)&&t.every(e=>typeof e==`string`))return t}function li(e,t,n,r){if(r.type===`live`||r.type===`host`)return{promoted:[]};let i=[];for(let a of n){if(typeof a!=`string`||si.has(a))return{promoted:[],failure:{code:`invalid_output`,kind:`bad_response`,message:`tools.t2Loader loaded ids must be plain strings`}};let n=di(e,a,r);if(`failure`in n)return{promoted:[],failure:n.failure};let{tool:o}=n;Gr(o.paths,t.path)&&t.gated.includes(a)&&i.push(a)}let a=[];for(let n of i)$r(e,t,n),a.push(n);return t.executable=t.visible.filter(t=>Wr(e,t)),{promoted:a}}function ui(e){return{failure:{code:`invalid_output`,kind:`bad_response`,message:e}}}function di(e,t,n){if(!K(n).includes(t))return ui(`tools.t2Loader attempted to promote tool '${t}' outside profile allow`);let r=e.get(t);return r?r.type===`builtin`?ui(`tools.t2Loader attempted to promote builtin '${t}' — only custom tools may be promoted`):r.loadTier===`T2`?{tool:r}:ui(`tools.t2Loader attempted to promote tool '${t}' with loadTier '${r.loadTier}' — only T2 tools may be promoted`):ui(`tools.t2Loader attempted to promote unknown tool '${t}'`)}function fi(e,t){return e.get(t)||{name:t,missing:!0}}function pi(e){let t=new Set;if(e.type===`host`||e.type===`decision`||e.type===`embedding`)return[];for(let n of Object.values(e.models))for(let e of n.builtInTools??[])t.add(e);return[...t]}function mi(e,t){return[...K(t),...pi(t)].map(t=>fi(e,t))}function q(e,t){if(Array.isArray(e)){for(let n of e)q(n,t);return}if(typeof e!=`object`||!e)return;let{properties:n,...r}=e;if(typeof n==`object`&&n)for(let[e,r]of Object.entries(n))t.add(e),q(r,t);for(let e of Object.values(r))q(e,t)}function hi(e,t){let n=mi(e,t);if(n.length===0)return;let r=new Set;for(let e of n)`inputSchema`in e&&q(e.inputSchema,r);return{names:n.map(({name:e})=>e),params:[...r]}}function gi(e){return!e||e.length===0?[]:e.slice(-4)}function _i(e,t){if(e.length===0)return``;let n=e.map(e=>`${e.role===`user`?`User`:`Assistant`}: ${e.content}`);return`${P(`repair.history_heading`,{count:e.length},t)}\n${n.join(`
|
|
4
|
+
`)}\n\n`}function vi(e){let{profile:t,repair:n,history:r}=e,i=n.guidance||P(`repair.default_guidance`,{},t.labels),a=_i(gi(r),t.labels),o=`${P(`repair.prompt_header`,{},t.labels)}\n\n`;return o+=`${P(`repair.prompt_intro`,{},t.labels)}\n\n`,o+=`${P(`repair.section_previous_output`,{},t.labels)}\n\`\`\`\n${n.previousOutput.trim()}\n\`\`\`\n\n`,o+=`${P(`repair.section_validator_rejection`,{},t.labels)}\n${n.rejection.trim()}\n\n`,i.trim()&&(o+=`${P(`repair.section_repair_guidance`,{},t.labels)}\n${i.trim()}\n\n`),a&&(o+=a),o+=`${P(`repair.section_instructions`,{},t.labels)}\n`,o+=P(`repair.prompt_instructions`,{},t.labels),o}function yi(e,t){let n=[];return t&&n.push(`structured`),e.type===`image`&&n.push(`image`),e.type===`speech`&&n.push(`speech`),n}function bi(e,t){let n=yi(e,t);if(!(n.length<=1))throw new N(`config`,`Profile ${e.id} declares multiple output wire formats (${n.join(`, `)}). Only one of a structured JSON schema (outputs.structured), image, or speech may be active.`)}function xi(e,t){if(e.type!==`speech`){if(t.speech)throw new N(`request`,`Profile ${e.id} (${e.type}) takes no speech settings — only a speech profile speaks`)}else if(t.system)throw new N(`config`,`Profile ${e.id} (speech) takes no system prompt — the input text is the transcript`)}function Si(e,t){return e.type===`speech`?{...e.speech,...Ci(t.speech)}:void 0}function Ci(e){return Object.fromEntries(Object.entries(e??{}).filter(([,e])=>e!==void 0))}function wi(e){if(e.type!==`image`)return null;let t=e.image;return{type:`image`,mimeType:t.mimeType,aspectRatio:t.aspectRatio,resolution:t.resolution,quality:t.quality,background:t.background,n:t.n,seed:t.seed,outputCompression:t.outputCompression,includeText:t.includeText===!0}}function Ti(e){let t=Pe(e);if(!t)throw new N(`input`,`MIME '${e}' is not a supported media input type`);return t}function Ei(e){return e.map(e=>{let t=Ti(e.mimeType),n=j(e.mimeType),r=n===`image/jpg`?`image/jpeg`:n;return Zn(e)?{type:t,mimeType:r,uri:e.uri}:{type:t,mimeType:r,data:e.data}})}function Di(e,t){let{text:n,repair:r,history:i}=t.input??{};if(e.type===`speech`&&!n?.trim())throw new N(`request`,`Profile ${e.id} (speech) requires text input`);if(M(e)?.text===!1&&n)throw new N(`request`,`Profile ${e.id} does not accept text input`);let a=r?vi({profile:e,repair:r,history:i}):ki(e,t)??n;if(e.type===`speech`)return a?{type:`text`,text:a}:null;let o=[...Oi(t),...a?[tt(a)]:[]];return o.length>0?{type:`text`,text:o.join(`
|
|
5
|
+
|
|
6
|
+
`)}:null}function Oi(e){let t=e.input?.context??{};return[...k].reverse().filter(e=>t[e]!==void 0).map(e=>Tt(e,Ar(t[e])))}function ki(e,t){if(t.continueFrom&&He.includes(e.type)){if(t.input?.text)throw new N(`request`,`Profile ${e.id}: a continueFrom turn takes no input.text — its user message is the continue instruction`);return P(`continue.instruction`,{},e.labels)}}function Ai(e){return e.type===`image`&&e.image.references?Ei(e.image.references):[]}function ji(e,t){let n=t.input?.attachments??[],r=t.input?.voice??[];return[...Ai(e),...Ei(n),...Ei(r)]}function Mi(e,t){let n=[],r=Di(e,t);return r&&n.push(r),n.push(...ji(e,t)),n}function Ni(e,t){let n=t.input?.slots;if(!n)return;let r=M(e)?.slots??{};for(let[t,i]of Object.entries(n)){let n=Object.hasOwn(r,t)?r[t]:void 0;if(!n)throw new N(`request`,`Profile ${e.id} has no slot '${t}'`);if(!n.includes(i))throw new N(`request`,`Profile ${e.id}: slot '${t}' takes ${n.join(`, `)}, not '${i}'`)}}function Pi(e,t){let n=t.input?.context;if(!n)return;let r=M(e)?.context;for(let[t,i]of Object.entries(n))if(i!==void 0){if(!k.includes(t)||!r?.from.some(e=>e===t))throw new N(`request`,`Profile ${e.id} takes no context from '${t}'`);if(Ar(i).length>r.maxChars)throw new N(`request`,`Profile ${e.id}: context from '${t}' is over inputs.context.maxChars (${String(r.maxChars)})`)}}var Fi=/\{([A-Za-z_][\w-]*)\}/g;function Ii(e,t,n,r){let i=M(e)?.slots;return i?t.replace(Fi,(t,a)=>{if(!Object.hasOwn(i,a))return t;let o=n&&Object.hasOwn(n,a)?n[a]:void 0;if(o===void 0)throw new N(`request`,`Profile ${e.id}: ${r} uses slot '${a}', and the request chose no value for it`);return o}):t}function Li(e,t){let{handle:n}=e.identity,r=e.type===`speech`?void 0:e.identity.systemByRole;return t&&r&&Object.hasOwn(r,t)?t:n}function Ri(e,t,n){if(e.type===`speech`)return[];let{systemByRole:r,system:i}=e.identity,a=r?.[t]||i||``;return a?Sr(xr(a,`Profile ${e.id} identity.system`,t=>Ii(e,t,n,`identity.system`))):[]}function zi(e,t){return Cr([Ri(e,Li(e,t.input?.role),t.input?.slots),t.system===void 0?[]:Sr(t.system)])}function Bi(e){return e.type!==`host`&&e.type!==`decision`&&e.type!==`embedding`}function Vi(e,t){if(Bi(e))return e;throw e.type===`host`?new N(`request`,`Profile ${e.id}: type 'host' never runs a model — ${t} is not supported; execute tools with invokeTool`):e.type===`embedding`?new N(`request`,`Profile ${e.id}: type 'embedding' runs through runEmbedding — ${t} is not supported`):new N(`request`,`Profile ${e.id}: type 'decision' runs through runDecision — ${t} is not supported`)}function Hi(e,t){if(t){if(!e.allowModelSelect)throw new N(`request`,`Profile ${e.id} does not allow model selection`);if(!e.models[t])throw new N(`request`,`Unknown model '${t}' for ${e.id}`);return t}return e.defaultModel}function Ui(e,t,n,r){let i=t.efforts;if(!i||Object.keys(i).length===0){if(r)throw new N(`request`,`Profile ${e.id} model '${n}' has no selectable efforts`);return}let a=Object.keys(i);if(r){if(!t.allowEffortSelect)throw new N(`request`,`Profile ${e.id} model '${n}' does not allow effort selection`);let a=i[r];if(!a)throw new N(`request`,`Unknown effort '${r}' for ${e.id} model '${n}'`);return a}return i[t.defaultEffort??a[0]]}function Wi(e){if(e.summaries===!0)return`auto`;if(e.summaries===!1)return`none`}function Gi(e,t){if(e.type===`live`)return null;let n=e.outputs?.structured;if(!n)return null;if(typeof n==`string`)return n;let r=t?.[n.by];if(r){let e=n.map[r];if(e)return e}return n.fallback}function Ki(e){return e.type===`live`||e.outputs?.streaming?.mode!==`buffered`}function qi(e,t){return e.type===`live`?`live`:`turn`}function Ji(e,t){if(!t.continueFrom)return;if(e.type===`live`)throw new N(`request`,`Profile ${e.id}: type 'live' uses live.sessionResumption, not turnBehaviour.resumption/continueFrom`);let n=ne(e)?.maxContinues;if(n===void 0)return;let r=t.continuation;if(r===void 0)throw new N(`request`,`Profile ${e.id}: continueFrom requires TurnRequest.continuation when turnBehaviour.resumption.maxContinues is set`);if(r<1)throw new N(`request`,`Profile ${e.id}: continuation must be >= 1`);if(r>n)throw new N(`request`,`Profile ${e.id}: continuation ${r} exceeds turnBehaviour.resumption.maxContinues (${n})`)}function Yi(e,t){return G(Ae(t),[`live_reply`])?{...e,transcription:{...e?.transcription,output:!0}}:e}function Xi(e){let{detect:t}=Ae(e.guardrails);return e.type!==`speech`&&Mt(t,`canary_leak`)?Lt():``}function Zi(e,t,n,r){if(!r)return;let i={};for(let[a,o]of Object.entries(r)){if(!n.builtInTools?.includes(a))throw new N(`request`,`Profile ${e.id}: builtInArgs names '${a}', which model '${t}' does not list in builtInTools`);i[a]=o}return i}function Qi(e,t,n){let r=Vi(e.profiles.get(t.profile),`resolveTurn`);Ni(r,t),Pi(r,t);let i=Rr(t,r),a=i.input??{};Ji(r,i);let o=n??Hi(r,i.model),s=ye(r,o),c=ri(e.tools,r,i,o),l=c.builtins,u=Gi(r,a.slots);bi(r,u),xi(r,i);let d=Zi(r,o,s,i.builtInArgs),f=qi(r,s);return{profile:r,generation:{model:o,apiId:s.apiId,transport:f,stream:Ki(r),thinking:Ui(r,s,o,i.effort),summaries:Wi(s),maxOutputTokens:s.maxOutputTokens,temperature:s.temperature,builtins:l,builtInArgs:d,sessionId:i.sessionId,tools:c,sessionPermissions:i.sessionPermissions,execution:i.execution,pageExecution:i.pageExecution,history:a.history,maxSteps:r.maxSteps??20,structured:u?{id:u,jsonSchema:e.schemas.get(u).jsonSchema}:null,image:wi(r),speech:Si(r,i),live:r.type===`live`?Yi(r.live,r.guardrails):void 0,input:Mi(r,i),canary:Xi(r),resolvedSystem:zi(r,i),host:i.host}}}function $i(e){return e.type===`image`?e.image:null}function ea(e,t){let n=Vi(t,`projectProfile`),{identity:r}=n,i=M(n)??null,a=n.type===`live`?null:n.outputs??null;return{id:n.id,type:n.type,handle:r.handle,models:n.models,defaultModel:n.defaultModel,allowModelSelect:n.allowModelSelect,maxSteps:n.maxSteps,tools:mi(e,n),inputs:i,outputs:a,image:$i(n),speech:n.type===`speech`?n.speech:null,live:n.type===`live`?n.live:null}}function ta(e,t){return ea(e.tools,e.profiles.get(t))}function na(e){return e==null}function J(e){return na(e)||typeof e!=`object`||Array.isArray(e)?null:e}function ra(e){let t=J(e);return!t||t.type!==void 0&&t.type!==`object`?null:t}function ia(e){let t=e.required;return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}function aa(e){let t=e.properties;return J(t)??{}}function oa(e,t){return e?`${e}.${t}`:t}function sa(e,t){t.push({path:e,error:`required field '${e}' is missing`})}async function ca(e,t,n,r,i){if(!n)return;let a=await n(t,r);a.isValid||i.push({path:e,error:a.error||a.finding||`Validation failed for '${e}'`})}async function la(e){let{path:t,propSchema:n,child:r,isRequired:i,fields:a,slots:o,failures:s}=e;if(na(r)){i&&sa(t,s);return}await ca(t,r,a?.[t],o,s);let c=ra(n),l=c?J(r):null;c&&l&&await ua(c,l,t,a,o,s)}async function ua(e,t,n,r,i,a){let o=aa(e),s=new Set(ia(e)),c=new Set([...Object.keys(o),...s]),l=J(t);for(let e of c)await la({path:oa(n,e),propSchema:o[e],child:l?.[e],isRequired:s.has(e),fields:r,slots:i,failures:a})}async function da(e,t,n,r){let i=ra(e);if(!i)throw new N(`config`,`structured validation requires a JSON Schema object root`);let a=[];if(!J(t)){for(let e of ia(i))sa(e,a);return a}return await ua(i,t,``,n,r,a),a}function fa(e,t){let n=e;for(let e of t.split(`.`)){let t=ra(n);if(!t)return!1;let r=aa(t);if(!Object.hasOwn(r,e)&&!ia(t).includes(e))return!1;n=r[e]}return!0}function pa(e){return e.map(e=>e.error).join(`; `)}function ma(e,t){let n=e;for(let e of t.split(`.`))n=J(n)?.[e];return n}function ha(e,t,n){let[r,...i]=t.split(`.`),a=J(e)??{};return r===void 0?e:{...a,[r]:i.length?ha(a[r],i.join(`.`),n):n}}async function ga(e,t,n){let r=[];for(let[i,a]of Object.entries(t??{})){let t=ma(e,i);if(Array.isArray(t))for(let[e,o]of t.entries()){let t=await a.check(o,n);t.isValid||r.push({path:i,index:e,item:o,reason:t.error||t.finding||`Validation failed for '${i}'`,onFail:a.onFail})}}return r}function _a(e,t){let n=e;for(let e of t.split(`.`)){let t=ra(n);if(!t)return;n=aa(t)[e]}let r=J(n);if(r?.type===`array`)return J(r.items)??void 0}var va=class extends Error{failure;constructor(e){super(e.message),this.failure=e}},ya=new Set([`text`,`image`,`speech`]),ba=g().regex(/\S/),xa=t({mimeType:g(),data:m(),name:g().optional()}),Sa=t({mimeType:g(),uri:g(),name:g().optional()}),Ca=t({voice:g().optional(),style:g().optional(),speed:h().positive().optional()});function wa(e){return t(Object.fromEntries(Object.entries(e).map(([e,t])=>[e,d(t).optional()])))}var Ta=new Set([`text`,`attachments`,`voice`,`slots`,`speech`]);function Ea(e,t){if(!e.hostFields)return{sent:t};let n={...t},r={};for(let t of Object.keys(e.hostFields))n[t]!==void 0&&(r[t]=n[t]);let{text:i,attachments:a,voice:o,slots:s,speech:c}=t;return{sent:{text:i,...a?{attachments:a}:{},...o?{voice:o}:{},...s?{slots:s}:{},...c?{speech:c}:{}},hostInput:r}}function Da(e,n){let{inputs:r}=e,a={text:ba};r?.attachments&&(a.attachments=l(i([xa,Sa])).optional()),r?.voice&&(a.voice=l(xa).optional()),r?.slots&&(a.slots=wa(r.slots).optional()),e.type===`speech`&&(a.speech=Ca.optional());for(let e of n?.hostOnly??[]){if(!a[e])throw new N(`config`,`Tool '${n?.name}' keeps '${e}' for the host, which its profile does not take`);delete a[e]}for(let[e,t]of Object.entries(n?.fieldText??{})){let r=a[e];if(!r)throw new N(`config`,`Tool '${n?.name}' describes '${e}', which its profile does not take`);a[e]=r.describe(t)}for(let[e,t]of Object.entries(n?.hostFields??{})){if(Ta.has(e))throw new N(`config`,`Tool '${n?.name}' declares the host field '${e}', which is a field of every agent tool`);a[e]=t}return t(a)}var Oa=v({text:g().optional(),structured:n().optional(),removed:l(v({path:g(),reason:g(),item:n()})).optional(),parts:l(Te).optional(),sources:l(oe).optional()});function ka(e){return e.type===`speech`||(e.type===`text`||e.type===`image`)&&e.inputs.text!==!1}function Aa(e){return e.type===`builtin`?!1:e.permission!==`auto`||`auth`in e&&e.auth!==void 0&&(e.auth.onUnauthenticated??`gate`)===`gate`}function ja(e,t){if(!ya.has(e.type))return`it is a ${e.type} profile; an agent tool runs a text, image, or speech profile`;if(!ka(e))return`it does not take text`;for(let n of K(e)){let e=t(n);if(!e)return`its tool '${n}' is not registered; register it first`;if(Aa(e))return`its tool '${n}' can stop on a gate; give it permission 'auto' and no sign-in`}}function Ma(e,t,n){let r=`Agent tool "${e.name}"`,i=e.maxCallsPerTurn;if(i!==void 0&&!(Number.isInteger(i)&&i>0))throw new N(`config`,`${r}: maxCallsPerTurn must be a whole number above 0`);let a=t(e.profile);if(!a)throw new N(`config`,`${r}: profile '${e.profile}' must be registered before the tool`);let o=ja(a,n);if(o)throw new N(`config`,`${r} can't run '${e.profile}': ${o}`);return a}function Na(e){if(!e)return`delegated`;let t=`models`in e&&Object.values(e.models).some(e=>(e.builtInTools?.length??0)>0);return K(e).length===0&&!t?`local`:`delegated`}function Pa(e){let t=Ce(e),n=t.flatMap(e=>e.type===`text`?[e.text]:[]).join(``),r=ie(t,e=>e.type===`structured`),i=r?.structured,a=t.flatMap(e=>e.type===`media`?[{type:e.media.mimeType.startsWith(`audio/`)?`audio`:`image`,mimeType:e.media.mimeType,data:e.media.data}]:[]),o=t.flatMap(e=>e.type===`citation`?e.sources:[]);return{...i===void 0?{text:n}:{structured:i},...r?.removed?.length?{removed:r.removed}:{},...a.length>0?{parts:a}:{},...o.length>0?{sources:o}:{}}}function Fa(e,t,n){return{...e,type:`agent`,input:t,output:Oa,sources:e=>e.sources??[],...n}}var Ia=256,La=18e5,Ra=/^[\x21-\x7E]{1,256}$/;function za(e=Date.now){let t=new Map,n=new Map;return{get(n){let r=t.get(n);if(r&&(t.delete(n),!(e()-r.usedAt>La)))return t.set(n,{...r,usedAt:e()}),{id:r.id,protocolVersion:r.protocolVersion}},open(r,i){let a=n.get(r);if(a)return a;let o=i().then(n=>{t.delete(r),t.set(r,{...n,usedAt:e()});for(let e of t.keys()){if(t.size<=Ia)break;t.delete(e)}return n}).finally(()=>n.delete(r));return n.set(r,o),o},drop(e,n){t.get(e)?.id===n&&t.delete(e)},clear(){t.clear(),n.clear()}}}function Ba(e){return e!==null&&Ra.test(e)}async function Va(e,t){let n=JSON.stringify([e,Object.entries(t).map(([e,t])=>[e.toLowerCase(),t]).sort(([e],[t])=>e<t?-1:+(e>t))]),r=await crypto.subtle.digest(`SHA-256`,new TextEncoder().encode(n));return[...new Uint8Array(r)].map(e=>e.toString(16).padStart(2,`0`)).join(``)}function Ha(e,t,n){if(!e||typeof e!=`object`||Array.isArray(e))return n.push(`${t}: schema must be an object`),!1;let r=typeof e.type==`string`||Array.isArray(e.type),i=e.anyOf!==void 0||e.oneOf!==void 0;if(!r&&!i){if(t!==`$`)return!0;n.push(`${t}: missing type or combinator`)}return e.type===`array`&&e.items===void 0&&n.push(`${t}: array schema must define items`),!0}function Ua(e,t,n,r){let i=Array.isArray(t)?t:[];for(let t of i)typeof t==`string`&&!Object.hasOwn(e,t)&&r.push(`${n}: required key '${t}' missing from properties`);for(let[t,i]of Object.entries(e))i&&typeof i==`object`&&Wa(i,`${n}.properties.${t}`,r)}function Wa(e,t,n){if(!Ha(e,t,n))return;let r=e.properties;r&&typeof r==`object`&&!Array.isArray(r)&&Ua(r,e.required,t,n),e.items&&typeof e.items==`object`&&!Array.isArray(e.items)&&Wa(e.items,`${t}.items`,n);for(let r of[`anyOf`,`oneOf`]){let i=e[r];Array.isArray(i)&&i.forEach((e,i)=>{e&&typeof e==`object`&&Wa(e,`${t}.${r}[${i}]`,n)})}}function Ga(e,t){let n=[];if(Wa(e,`$`,n),n.length>0)throw new N(`config`,`Invalid tool ${t} schema: ${n.join(`; `)}`)}function Ka(e,t=`output`){let n=r(e,{target:`draft-7`,io:t});return delete n.$schema,n.type||=`object`,n}function qa(e){if(typeof e!=`object`||!e)return e;if(Array.isArray(e))return e.map(qa);let t={};for(let n of Object.keys(e))n!==`__proto__`&&n!==`constructor`&&n!==`prototype`&&(t[n]=qa(e[n]));return t}function Ja(e){let t=/^[a-z][a-z0-9+.-]*:\/\/[^/?#]*/i.exec(e)?.[0];if(!t||/[{}]/.test(t))throw new N(`config`,`Endpoint "${e}" must start with a fixed scheme and host; placeholders belong in the path or query`)}var Ya=class{value;constructor(e){this.value=e}};function Xa(e){return new Ya(e)}function Za(e){return(t,n)=>{let{page:r}=n;if(r&&`output`in r)return Xa(r.output);let{labels:i}=n.profile;throw r?.timedOut?Error(P(`tool.page_timed_out`,{},i)):Error(P(`tool.page_no_answer`,{tool:e},i))}}function Qa(e){let t=Ka(e.input,`input`);Ga(t,`input`);let n=Ka(e.output,`output`);Ga(n,`output`);let r={activity:{input:t},activityPast:{input:t,output:n},activityFailed:{input:t},request:{input:t}};for(let t of[`activity`,`activityPast`,`activityFailed`,`request`]){let n=e.labels?.[t],i=n?Le(n,r[t]):void 0;if(i)throw new N(`config`,`Tool "${e.name}" ${t} label: ${i}`)}return{inputSchema:t,outputSchema:n}}function $a(e,t){if(t&&(typeof t.service!=`string`||!t.service.trim()))throw new N(`config`,`Tool "${e}" signs in with slot "${t.slot}" but names no service`)}function eo(e,t,n=[]){if(t?.queryParam===void 0)return;let r=t.queryParam.trim()?t.type===`api_key`?t.headerName!==void 0||t.headerPrefix!==void 0?`is set with headerName or headerPrefix; the key goes in one place`:n.includes(t.queryParam)?`"${t.queryParam}" is also one of mapping.queryParams`:void 0:`is set on a '${t.type}' sign-in; only an API key goes in the URL`:`is blank`;if(r)throw new N(`config`,`Tool "${e}" auth.queryParam ${r}`)}function to(e,t){if(t!==void 0&&!(Number.isInteger(t.requests)&&t.requests>0&&Number.isFinite(t.windowMs)&&t.windowMs>0))throw new N(`config`,`Tool "${e}" limit needs a whole number of requests above 0 and a window above 0 ms`)}function no(e,t){if(!(t===void 0||Number.isFinite(t)&&t>0))throw new N(`config`,`Tool "${e}" timeoutMs needs a finite number of ms above 0`)}function ro(e){return Ja(e.endpoint),$a(e.name,e.auth),eo(e.name,e.auth,e.mapping?.queryParams),to(e.name,e.limit),no(e.name,e.timeoutMs),{...e,type:`http`,...Qa(e)}}function io(e){return $a(e.name,e.auth),eo(e.name,e.auth),{...e,type:`mcp`,...Qa(e)}}function ao(e){$a(e.name,e.auth),eo(e.name,e.auth);let t=e.answeredBy===`page`?Za(e.name):e.handler;if(typeof t!=`function`)throw new N(`config`,`Tool '${e.name}' needs a handler, or answeredBy: 'page'`);return{...e,handler:t,type:`function`,...Qa(e)}}function oo(e,t,n){if(e.type===`builtin`)return e;if(e.type===`agent`){let r=Ma(e,t,n),i=M(r),a=Da({type:r.type,...i?{inputs:i}:{}},e);return Fa(e,a,Qa({...e,input:a,output:Oa}))}return e.type===`http`?ro(e):e.type===`mcp`?io(e):ao(e)}function so(e=()=>void 0){let t=new Map,n=za(),r=e=>t.get(e),i=n=>{let i=oo(n,e,r);return t.set(i.name,i),i};return{register:i,registerMany:e=>e.map(e=>i(e)),get:r,require(e){let t=r(e);if(!t)throw new N(`config`,`Tool '${e}' is not registered`);return t},has:e=>t.has(e),list:()=>[...t.values()],findProfile:e,reset:()=>{t.clear(),n.clear()},mcpSessions:n}}function co(e,t,n,r){if(!n.provider?.trim()||!n.apiId?.trim())throw new N(`config`,P(`provider.binding_identity`))}function lo(e){yo(e.id,e.models),Vo(e.id,e.observability),ls(e.id,e.inputs);for(let[t,n]of Object.entries(e.models))xo(e.id,t,n);return{type:`embedding`,id:e.id,identity:{handle:e.identity.handle},models:e.models,defaultModel:bo(e.id,e),allowModelSelect:e.allowModelSelect,inputs:e.inputs,guardrails:e.guardrails,observability:e.observability,labels:e.labels}}function uo(e,t,n,r){let i=r.safeParse(n);if(!i.success)throw new N(`config`,`Profile ${e} model '${t}': ${i.error.issues.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`; `)}`)}function fo(e,t,n){if(uo(e,t,n,_e),co(e,t,n,`decision`),`retry`in n)throw new N(`config`,`Profile ${e} model '${t}': decision retry configuration is unsupported; POSTs are never retried`);if(n.timeoutMs!==void 0&&(!Number.isFinite(n.timeoutMs)||n.timeoutMs<=0))throw new N(`config`,`Profile ${e} model '${t}' timeoutMs must be > 0`)}function po(e){let t=e.models?zr(e.models):void 0;if(!t)throw new N(`config`,`Profile ${e.id}: type 'decision' must declare exactly one model`);fo(e.id,t,e.models[t])}function mo(e){if(e.inputs.state!==`json`)throw new N(`config`,`Profile ${e.id}: decision inputs.state must be 'json'`);let t=e.inputs.maxStateBytes;if(t!==void 0&&!(Number.isInteger(t)&&t>0))throw new N(`config`,`Profile ${e.id}: decision inputs.maxStateBytes must be a positive integer`);if(!e.decision.contract.trim())throw new N(`config`,`Profile ${e.id}: decision.contract must be non-empty`)}function ho(e){return po(e),mo(e),Vo(e.id,e.observability),{...e,identity:{handle:e.identity.handle}}}function go(e){return e===void 0?{}:{parallel:e}}function _o(e){return vo(e.id,e.tools),Vo(e.id,e.observability),{type:`host`,id:e.id,tools:{allow:e.tools.allow,...go(e.tools.parallel)},guardrails:e.guardrails,observability:e.observability,labels:e.labels}}function vo(e,t){if(!Array.isArray(t.allow))throw new N(`config`,`Profile ${e}: type 'host' must set tools.allow`)}function yo(e,t){if(Object.keys(t).length===0)throw new N(`config`,`Profile ${e} must declare at least one model`)}function bo(e,t){let n=t.defaultModel??zr(t.models);if(!n)throw new N(`config`,`Profile ${e} must set defaultModel when more than one model is declared`);if(!t.models[n])throw new N(`config`,`Profile ${e} defaultModel '${n}' is not declared`);return n}function xo(e,t,n){So(e,t,n),uo(e,t,n,b),So(e,t,n)}function So(e,t,n){let r=n.efforts;if(!r||Object.keys(r).length===0){if(n.defaultEffort||n.allowEffortSelect)throw new N(`config`,`Profile ${e} model '${t}': defaultEffort and allowEffortSelect require efforts`);return}for(let[n,i]of Object.entries(r))if(!Me.includes(i))throw new N(`config`,`Profile ${e} model '${t}' effort '${n}': '${i}' is not a thinking level (${Me.join(`, `)})`);let i=Object.keys(r),a=n.defaultEffort??(i.length===1?i[0]:void 0);if(!a)throw new N(`config`,`Profile ${e} model '${t}' must set defaultEffort when more than one effort is declared`);if(!r[a])throw new N(`config`,`Profile ${e} model '${t}' defaultEffort '${a}' is not declared`);if(n.allowEffortSelect&&i.length<2)throw new N(`config`,`Profile ${e} model '${t}' allowEffortSelect requires at least two efforts`)}function Co(e){return{providerContinuation:e.providerContinuation?ze.parse(e.providerContinuation):{},models:e.models,defaultModel:bo(e.id,e),allowModelSelect:e.allowModelSelect,maxSteps:e.maxSteps}}function wo(e,t,n){if(n?.length){for(let r of n)if(!T(r))throw new N(`config`,`Profile ${e}: turnBehaviour.resumption.${t} may only include ContinueStopKind (length | stream_incomplete | provider_error); got '${r}'`)}}function To(e,t){t&&(wo(e,`allowContinue`,t.allowContinue),wo(e,`autoContinue`,t.autoContinue))}function Eo(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Do(e,t){let n=[e];for(let e of t)n=n.flatMap(t=>Eo(t)?e===`*`?Object.values(t):[t[e]]:[]);return n}var Oo=Object.entries(le).filter(([,e])=>e.required===!0).map(([e,t])=>[e,t.profileTypes]).sort(([e],[t])=>e.split(`.`).length-t.split(`.`).length);function ko(e){if(!Eo(e))throw new N(`config`,`Profile definition must be an object`);let t=typeof e.id==`string`&&e.id.trim()?e.id:void 0;if(!t)throw new N(`config`,`Profile definition must set id`);if(!y.find(t=>t===e.type))throw new N(`config`,`Profile ${t}: type must be one of ${y.join(`, `)}`)}function Ao(e){let t=e.identity?.handle,n=[[`id`,e.id,64],[`identity.handle`,typeof t==`string`?t:``,32]];for(let[t,r,i]of n)if(!(Array.from(r).length<=i))throw new N(`config`,`Profile ${e.id.slice(0,64)}: ${t} must be at most ${i} characters`)}function jo(e){let{id:t,type:n}=e,r=e;for(let[e,i]of Oo){if(i&&!i.includes(n))continue;let a=xe(e),o=Do(r,a.slice(0,-1)),s=a[a.length-1];if(o.some(e=>{if(!Eo(e))return!1;let t=e[s];return t==null||t===``}))throw new N(`config`,`Profile ${t}: type '${n}' must set ${a.join(`.`)}`)}}function Mo(e){let{id:t,type:n}=e;if(n!==`live`&&ve(`inputs`).includes(n)&&e.inputs==null)throw new N(`config`,`Profile ${t}: type '${n}' must set inputs`)}function No(e){let[t]=Se(e);if(!t)return;let{offValue:n,reason:r}=t.scope,i=n===void 0?``:` (other than ${n})`;throw new N(`config`,`Profile ${e.id}: type '${e.type}' must not set ${t.path}${i} — ${r}`)}function Po(e,t){let n=t.turnBehaviour;To(e,n?.resumption)}function Fo(e,t){let n=t=>new N(`config`,`Profile ${e}: ${t}`),r=t?.maxRetries;if(r!==void 0&&(!Number.isInteger(r)||r<0))throw n(`outputs.validation.maxRetries must be a non-negative integer`)}function Io(e,t){let n=t=>new N(`config`,`Profile ${e}: ${t}`),r=Object.keys(t??{}).find(e=>!Lo.includes(e));if(r!==void 0)throw n(`guardrails.${r} is not a setting; it takes ${Lo.join(`, `)}`);zo(t?.blockedReply,n)}var Lo=[`quota`,`detect`,`blockedReply`,`network`,`taint`],Ro=[`onBlock`,`maxRetries`];function zo(e,t){if(e===void 0)return;let n=Object.keys(e).find(e=>!Ro.includes(e));if(n!==void 0)throw t(`guardrails.blockedReply.${n} is not a setting; it takes onBlock and maxRetries`);let{onBlock:r,maxRetries:i}=e;if(r!==void 0&&!Ee.includes(r))throw t(`guardrails.blockedReply.onBlock must be one of ${Ee.join(`, `)}`);if(i!==void 0&&(!Number.isInteger(i)||i<0))throw t(`guardrails.blockedReply.maxRetries must be a non-negative integer`)}function Bo(e){let t=e.guardrails?.detect,n=e.type===`host`?Ot(`guardrails.detect`,t,It):Ot(`guardrails.detect`,t);if(n!==void 0)throw new N(`config`,`Profile ${e.id}: ${n}`)}function Vo(e,t){try{let n=Bt(t);if(!Number.isFinite(n.retainForDays))throw new N(`config`,`Profile ${e}: observability.retainForDays must be a finite number`);if(n.rotateAfterMiB<=0||!Number.isFinite(n.rotateAfterMiB))throw new N(`config`,`Profile ${e}: observability.rotateAfterMiB must be a positive number`)}catch(t){if(t instanceof N&&t.message.startsWith(`Profile `))throw t;let n=t instanceof Error?t.message:String(t);throw new N(`config`,`Profile ${e}: ${n}`)}}function Ho(e){if(e.type===`host`||e.type===`decision`||e.type===`speech`||e.type===`embedding`)return;let{system:t,systemByRole:n}=e.identity;t!==void 0&&br(t,`Profile ${e.id} identity.system`);for(let[t,r]of Object.entries(n??{}))br(r,`Profile ${e.id} identity.systemByRole.${t}`)}function Uo(e){ko(e);for(let t of[`key`,`fallbackKey`,`protocol`,`provider`])if(t in e)throw new N(`config`,P(`provider.profile_configuration`,{profile:e.id,field:t}));if(No(e),Mo(e),jo(e),Ao(e),e.labels&&rt(e.labels,`Profile ${e.id}`),Ho(e),Bo(e),e.type===`host`)return _o(e);if(e.type===`decision`)return ho(e);if(e.type===`embedding`)return lo(e);yo(e.id,e.models),Po(e.id,e),Io(e.id,e.guardrails),e.type===`text`&&Fo(e.id,e.outputs?.validation),Vo(e.id,e.observability);for(let[t,n]of Object.entries(e.models))xo(e.id,t,n);let t=e.type===`speech`?{handle:e.identity.handle}:{handle:e.identity.handle,system:e.identity.system,systemByRole:e.identity.systemByRole},n=e.guardrails,r=e.observability,i=e.labels,a=Co(e),o;switch(e.type){case`text`:o={type:`text`,id:e.id,identity:t,...a,tools:e.tools,inputs:e.inputs,outputs:e.outputs,turnBehaviour:e.turnBehaviour,guardrails:n,observability:r,labels:i};break;case`image`:o={type:`image`,id:e.id,identity:t,...a,image:e.image,tools:e.tools,inputs:e.inputs,outputs:e.outputs,turnBehaviour:e.turnBehaviour,guardrails:n,observability:r,labels:i},Yo(o.id,o.inputs.attachments?.accept),Jo(o.id,o.image);break;case`speech`:o={type:`speech`,id:e.id,identity:t,...a,speech:e.speech,outputs:e.outputs,turnBehaviour:e.turnBehaviour,guardrails:n,observability:r,labels:i};break;case`live`:o={type:`live`,id:e.id,identity:t,...a,live:e.live,inputs:e.inputs,tools:{allow:e.tools.allow,...go(e.tools.parallel)},turnBehaviour:e.turnBehaviour,guardrails:n,observability:r,labels:i},Vt(o),Zo(o.id,o.live.contextCompression),Xo(o);break;default:throw new N(`config`,`Unknown profile type '${String(e)}'`)}return Ko(o),Wo(o),Go(o),o}function Wo(e){let{maxSteps:t}=e;if(!(t===void 0||Number.isInteger(t)&&t>0))throw new N(`config`,`Profile ${e.id}: maxSteps must be a whole number of 1 or more; leave it out for the default of 20`)}function Go(e){if(e.type===`text`&&e.turnBehaviour?.atStepLimit===`answer`&&e.maxSteps===1)throw new N(`config`,`Profile ${e.id}: turnBehaviour.atStepLimit 'answer' with maxSteps 1 leaves no step that can call a tool`)}function Ko(e){if(e.type===`live`)return;let t=e.outputs?.structured;if(!t||typeof t==`string`)return;let n=M(e)?.slots?.[t.by];if(!n)throw new N(`config`,`Profile ${e.id}: outputs.structured.by '${t.by}' is not a slot in inputs.slots`);let r=Object.keys(t.map).filter(e=>!n.includes(e));if(r.length)throw new N(`config`,`Profile ${e.id}: outputs.structured.map maps ${r.join(`, `)}, not a choice of slot '${t.by}'`)}var qo={n:{ok:e=>Number.isInteger(e)&&e>=1,rule:`a whole number of 1 or more`},seed:{ok:Number.isInteger,rule:`a whole number`},outputCompression:{ok:e=>Number.isInteger(e)&&e>=0&&e<=100,rule:`a whole number from 0 to 100`}};function Jo(e,t){for(let[n,{ok:r,rule:i}]of Object.entries(qo)){let a=t[n];if(a!==void 0&&!r(a))throw new N(`config`,`Profile ${e}: image.${n} must be ${i}`)}t.references?.forEach((t,n)=>{let r=`Profile ${e}: image.references[${n}]`;if(Pe(t.mimeType)!==`image`)throw new N(`config`,`${r} must be an image, not '${t.mimeType}'`);if(!(Zn(t)?t.uri:t.data))throw new N(`config`,`${r} needs its bytes or its uri`)})}function Yo(e,t){let n=t?.filter(e=>!A(je,e));if(n?.length)throw new N(`config`,`Profile ${e}: an image profile's attachments take images, video, and PDF only, not ${n.join(`, `)}`)}function Xo(e){let{greeting:t,resumed:n,sessionResumption:r}=e.live,i=`Profile ${e.id} live`;if(t!==void 0&&(typeof t!=`string`||!t.trim()))throw new N(`config`,`${i}.greeting must be a prompt; leave it out to wait`);if(!n)return;if(typeof n.prompt!=`string`||!n.prompt.trim())throw new N(`config`,`${i}.resumed.prompt must be a prompt`);let{afterMs:a}=n;if(a!==void 0&&!(Number.isFinite(a)&&a>=0))throw new N(`config`,`${i}.resumed.afterMs must be 0 or more milliseconds`);if(!r)throw new N(`config`,`${i}.resumed needs live.sessionResumption: without it no call resumes`)}function Zo(e,t){if(!t)return;let n=`Profile ${e} live.contextCompression`,r=t.triggerTokens,i=t.slidingWindow.targetTokens;if(Qo(`${n}.triggerTokens`,r),Qo(`${n}.slidingWindow.targetTokens`,i),r!==void 0&&i!==void 0&&i>=r)throw new N(`config`,`${n}: slidingWindow.targetTokens must be below triggerTokens`)}function Qo(e,t){if(!(t===void 0||Number.isInteger(t)&&t>0))throw new N(`config`,`${e} must be a whole number above 0`)}function $o(e,t,n,r){let i=`Profile ${t.id} model ${n} compaction`;if(es(i,r),ts(i,r),r.meter!=null&&r.meter!==`history`&&r.meter!==`input`)throw new N(`config`,`${i}: meter must be 'history' or 'input'`);if(r.profile===void 0){if(t.type!==`text`||t.inputs.text===!1)throw new N(`config`,`${i}: a profile that compacts itself must be a text profile that takes text`);return}let a=e.get(r.profile);if(!a)throw new N(`config`,`${i}: compaction profile '${r.profile}' must be registered before '${t.id}'`);if(a.type!==`text`||a.inputs.text===!1)throw new N(`config`,`${i}: compaction profile '${r.profile}' must be a text profile that takes text`)}function es(e,t){if(t.maxTokens<=0)throw new N(`config`,`${e}: maxTokens must be > 0`);if(t.compactAt<=0||t.compactAt>=1)throw new N(`config`,`${e}: compactAt must be in (0, 1)`)}function ts(e,t){if(t.previousExchanges<0)throw new N(`config`,`${e}: previousExchanges must be >= 0`);if(t.previousExchanges<1&&t.previousExchanges>=t.compactAt)throw new N(`config`,`${e}: previousExchanges as fraction (${t.previousExchanges}) must be < compactAt (${t.compactAt})`);if(t.previousExchanges>1&&!Number.isInteger(t.previousExchanges))throw new N(`config`,`${e}: previousExchanges >= 1 must be an integer`)}function ns(e,t){for(let n of K(t))if(e.get(n)?.type===`builtin`)throw new N(`config`,t.type===`host`?`Profile ${t.id} lists builtin '${n}' in tools.allow — type 'host' never runs a model`:`Profile ${t.id} lists builtin '${n}' in tools.allow — declare it on models.*.builtInTools instead`)}function rs(e,t){let n=qr(t)?.t2Loader;if(n){if(!K(t).includes(n))throw new N(`config`,`Profile ${t.id} tools.t2Loader '${n}' must also be listed in tools.allow`);if(e.get(n)?.type!==`function`)throw new N(`config`,`Profile ${t.id} tools.t2Loader '${n}' must be a registered type: 'function' tool`)}}function*is(e){for(let[t,n]of Object.entries(e.models))for(let e of n.builtInTools??[])yield{modelId:t,id:e}}function as(e,t){for(let{modelId:n,id:r}of is(t))if(e.get(r)?.type!==`builtin`)throw new N(`config`,`Profile ${t.id} model '${n}' lists '${r}' in builtInTools — not a registered builtin`)}function os(e){let t=e.type===`text`?e.outputs?.structured:void 0;return t?typeof t==`string`?[t]:[...new Set([...Object.values(t.map),t.fallback])]:[]}function ss(e,t){let n=os(t).map(n=>{let r=e.find(n);if(!r)throw new N(`config`,`Profile ${t.id}: outputs.structured names '${n}', which is not a registered schema; register it before the profile`);return r}),r=t.type===`text`?t.outputs?.validation:void 0,i=Object.keys(r?.fields??{}),a=Object.keys(r?.items??{});if(!i.length&&!a.length)return;if(!n.length)throw new N(`config`,`Profile ${t.id}: outputs.validation checks a structured reply, so it needs outputs.structured`);let o=a.filter(e=>!n.some(t=>_a(t.jsonSchema,e)));if(o.length)throw new N(`config`,`Profile ${t.id}: outputs.validation.items has ${o.join(`, `)}, which no structured schema reaches as a list with an items schema`);let s=i.filter(e=>!n.some(t=>fa(t.jsonSchema,e)));if(s.length)throw new N(`config`,`Profile ${t.id}: outputs.validation.fields has ${s.join(`, `)}, which no structured schema reaches through object properties`)}function cs(e){let t=M(e)?.context;if(!t)return;let n=k;if(t.from.length===0||t.from.some(e=>!n.includes(e)))throw new N(`config`,`Profile ${e.id}: inputs.context.from must list ${k.join(` or `)}`);if(!(Number.isInteger(t.maxChars)&&t.maxChars>0))throw new N(`config`,`Profile ${e.id}: inputs.context.maxChars must be a positive integer`)}function ls(e,t){if(!t)return;let{attachments:n,voice:r,maxFiles:i,maxBytes:a,maxTurnBytes:o,limitsByMime:s}=t,c={maxFiles:i,maxBytes:a,maxTurnBytes:o};if((n||r)&&Object.values(c).some(e=>e===void 0))throw new N(`config`,`Profile ${e} must set maxFiles, maxBytes, and maxTurnBytes`);for(let[e,t]of Object.entries(s??{}))c[`limitsByMime['${e}']`]=t;for(let[t,n]of Object.entries(c))if(n!==void 0&&!(Number.isInteger(n)&&n>0))throw new N(`config`,`Profile ${e}: inputs.${t} must be a positive integer`)}function us(e,t,n){let r=new Map,i=i=>{let a=Uo(i),o=n&&a.type!==`host`?{...a,models:Object.fromEntries(Object.entries(a.models).map(([e,t])=>[e,he(n.require(t.provider,t.apiId),t,a.type)]))}:a;if(ns(e,o),rs(e,o),o.type!==`host`&&o.type!==`decision`&&o.type!==`embedding`){as(e,o),ls(o.id,M(o)),cs(o),ss(t,o);for(let[e,t]of Object.entries(o.models))t.compaction&&$o(r,o,e,t.compaction)}r.set(o.id,o)};return{register:i,registerMany(e){for(let t of e)i(t)},get(e){let t=r.get(e);if(!t)throw new N(`config`,`Unknown profile '${e}'`);return t},find:e=>r.get(e),has:e=>r.has(e),list:()=>[...r.values()],clear:()=>r.clear()}}var ds=`https://generativelanguage.googleapis.com/v1beta/models`;function fs(e){let t=e?.trim()??``;if(t.startsWith(`AIza`))return`gemini`;if(t.startsWith(`sk-or-`))return`openrouter`}function ps(e){let t;try{t=new URL(e.baseUrl)}catch{throw new N(`config`,`Enter a valid localhost URL.`)}if(![`http:`,`https:`].includes(t.protocol)||![`localhost`,`127.0.0.1`,`[::1]`].includes(t.hostname)||t.username||t.password||t.search||t.hash)throw new N(`config`,`Use a localhost URL without credentials, query parameters or a fragment.`);return{baseUrl:t.href.replace(/\/$/,``),fetch:(e,n)=>new URL(e instanceof Request?e.url:String(e)).origin===t.origin?fetch(e,{...n,redirect:`error`,credentials:`omit`}):Promise.reject(new N(`blocked`,`Local requests must stay on the configured origin.`))}}var ms=v({data:l(v({id:g().min(1)}))});async function hs(e,t){let n=ps(e);if(!n?.fetch)throw new N(`config`,`Enter a local endpoint.`);let r=await n.fetch(`${n.baseUrl}/v1/models`,{signal:t,headers:{Accept:`application/json`}});if(!r.ok)throw new N(`network`,`Local model list returned HTTP ${r.status}.`);let i=ms.safeParse(await r.json());if(!i.success)throw new N(`request`,`The endpoint returned an invalid model list.`);return[...new Set(i.data.data.map(e=>e.id))]}var gs=`https://openrouter.ai/api/v1/models`,_s=`https://openrouter.ai/api/v1/embeddings/models`,vs=[{id:`gemini-embedding-2-preview`,label:`Gemini Embeddings 2 (preview)`},{id:`gemini-embedding-001`,label:`Gemini Embedding 001`}],ys=[{id:`liquid/lfm-2.5-embedding-350m:free`,label:`Liquid LFM 2.5 Embedding 350M (free)`},{id:`nvidia/nemotron-3-embed-1b:free`,label:`NVIDIA Nemotron 3 Embed 1B (free)`},{id:`nvidia/llama-nemotron-embed-vl-1b-v2:free`,label:`NVIDIA Llama Nemotron Embed VL 1B v2 (free)`}],bs={text:`text`,image:`image`,speech:`speech`,live:void 0,embedding:void 0},xs=v({data:l(v({id:g().min(1),name:g().optional(),architecture:v({output_modalities:l(g()).optional()}).optional()}))}),Ss=v({data:l(v({id:g().min(1),name:g().optional()}))}),Cs=v({models:l(v({name:g().min(1),displayName:g().optional(),supportedGenerationMethods:l(g()).optional()})).optional(),nextPageToken:g().optional()}),ws=5;async function Ts(e,t,n){let r=await fetch(t,{...n,redirect:`error`,credentials:`omit`});if(r.status===400||r.status===401||r.status===403)throw new N(`auth`,`${e} refused the key.`);if(!r.ok)throw new N(`network`,`${e} model list returned HTTP ${r.status}.`);return await r.json()}async function Es(e,t,n,r){let i=n?.trim();if(t===`embedding`&&!i)return[...e===`openrouter`?ys:vs];if(e===`openrouter`)return await Ds(t,i,r);if(!i)throw new N(`auth`,`Choose a key to list Gemini models.`);return await ks(t,i,r)}async function Ds(e,t,n){let r={signal:n,headers:{Accept:`application/json`,...t?{Authorization:[`Bearer`,t].join(` `)}:{}}};if(e===`embedding`){let e=Ss.safeParse(await Ts(`OpenRouter`,_s,r));if(!e.success)throw new N(`bad_response`,`OpenRouter returned an invalid embedding model list.`);return e.data.data.map(e=>({id:e.id,label:e.name??e.id}))}let i=bs[e];if(!i)return[];let a=xs.safeParse(await Ts(`OpenRouter`,`${gs}?output_modalities=${i}`,r));if(!a.success)throw new N(`bad_response`,`OpenRouter returned an invalid model list.`);return a.data.data.filter(e=>e.architecture?.output_modalities?.includes(i)??!0).map(e=>({id:e.id,label:e.name??e.id}))}var Os={live:`bidiGenerateContent`,embedding:`embedContent`};async function ks(e,t,n){let r=Os[e]??`generateContent`,i=[],a;for(let e=0;e<ws;e++){let e=new URL(ds);e.searchParams.set(`pageSize`,`1000`),a&&e.searchParams.set(`pageToken`,a);let o=Cs.safeParse(await Ts(`Google`,e.href,{signal:n,headers:{Accept:`application/json`,"x-goog-api-key":t}}));if(!o.success)throw new N(`bad_response`,`Google returned an invalid model list.`);for(let e of o.data.models??[]){if(!e.supportedGenerationMethods?.includes(r))continue;let t=e.name.replace(/^models\//,``);i.push({id:t,label:e.displayName??t})}if(a=o.data.nextPageToken,!a)break}return i}function As(e){return[...new Set([e.key,e.fallbackKey,...Object.values(e.models??{}).flatMap(e=>[e.keySlot,e.fallbackKeySlot])].filter(e=>!!e))]}function js(e,t){return Object.fromEntries(e.map(e=>[e,Object.hasOwn(t,e)?t[e]:void 0]))}var Ms=[`audio/webm;codecs=opus`,`audio/webm`,`audio/mp4`,`audio/wav`,`audio/mpeg`];function Ns(e){return e.join(`,`)}function Ps(e){let t=e?.attachments?.accept,n=e?.voice?.accept;return{text:e?.text!==!1,attachments:t?.length?{accept:t,acceptAttr:Ns(t)}:null,voice:n?.length?{accept:n}:null,maxFiles:e?.maxFiles,maxBytes:e?.maxBytes,maxTurnBytes:e?.maxTurnBytes,limitsByMime:e?.limitsByMime,slots:e?.slots,context:e?.context}}function Fs(e){return{text:e.text,attachments:e.attachments?{accept:e.attachments.accept}:void 0,voice:e.voice?{accept:e.voice.accept}:void 0,maxFiles:e.maxFiles,maxBytes:e.maxBytes,maxTurnBytes:e.maxTurnBytes,limitsByMime:e.limitsByMime,slots:e.slots,context:e.context}}function Is(e,t){let n=e=>(e??[]).map(({name:e,mimeType:t,sizeBytes:n})=>({name:e,mimeType:t,sizeBytes:n})),r=or({attachments:e.attachments?.accept,voice:e.voice?.accept,limits:Yn(Fs(e))},n(t.attachments),n(t.voice));return{ok:r.length===0,issues:r}}function Ls(e){let t=globalThis.MediaRecorder;if(t===void 0)return;let n=e=>t.isTypeSupported(e),r=e=>e.find(n);return e?.length?r(Ms.filter(t=>A(e,t)))??e.find(n):r(Ms)}var Rs=v({protocol:g(),provider:g(),apiId:g(),options:_(g(),u()).optional(),keySlot:g().optional(),fallbackKeySlot:g().optional(),efforts:_(g(),d(Me)).optional(),defaultEffort:g().optional(),allowEffortSelect:o().optional(),summaries:o().optional(),maxOutputTokens:h().optional(),temperature:h().optional(),builtInTools:l(g()).optional(),compaction:v({maxTokens:h(),compactAt:h(),previousExchanges:h(),profile:g().optional(),timing:d(w),meter:d(fe).optional()}).optional()}),zs=v({structured:i([g(),v({by:g(),map:_(g(),g()),fallback:g()}),p()]).optional(),streaming:v({mode:d(Oe).optional(),streamThoughts:o().optional()}).optional()}),Bs=v(Ke(dt,()=>d(lt))),Vs=v(Ke(jt,()=>Bs)),Hs=v({id:g(),label:g(),actions:Bs,names:l(g()),find:o()}),Us=v({hosts:l(g()),fromTools:o()}),Ws=v({quota:v({perDay:h()}).optional(),detect:Vs,patterns:a(d(jt),v({theorem:o(),names:l(g())})).optional(),host:l(Hs).optional(),allow:v({ungiven_images:Us,ungiven_links:Us}),blockedReply:v({onBlock:d(Ee),maxRetries:h()})}),Gs=i([o(),v({theorem:o(),host:o()})]),Ks=v({record:o(),writeTo:i([c(!1),g()]).optional(),sampleRate:h(),include:v({upstreamLog:o(),outboundWire:o(),evidenceRaw:o(),usage:o(),guardrailDecisions:o(),guardrailMatchPreview:o()}),scrub:v({sensitive:Gs,injection:Gs,canary:Gs}),resource:Ut,retainForDays:h(),rotateAfterMiB:h(),hasOnWriteError:o()}),qs=v({text:o(),attachments:v({accept:l(g()),acceptAttr:g()}).nullable(),voice:v({accept:l(g())}).nullable(),maxFiles:h().optional(),maxBytes:h().optional(),maxTurnBytes:h().optional(),limitsByMime:_(g(),h()).optional(),slots:_(g(),l(g())).optional(),context:v({from:l(d(k)),maxChars:h()}).optional()}),Js=v({allowContinue:l(d(pe)).optional(),autoContinue:l(d(pe)).optional(),maxContinues:h().optional()}),Ys=v({resumption:Js.optional()}),Xs=v({allow:l(g()),page:l(g()),t2Loader:g().optional(),parallel:o().optional()}),Zs={providerContinuation:v({history:d([`host`,`stateless`,`provider`]).optional()}).optional(),id:g(),models:_(g(),Rs),defaultModel:g(),allowModelSelect:o().optional(),maxSteps:h().optional(),labels:a(d(at),g()),guardrails:Ws.optional(),observability:Ks.optional()},Qs=i([g(),l(i([g(),t({private:g().min(1)})])).min(1).readonly()]),$s=v({handle:g(),system:Qs.optional(),systemByRole:_(g(),Qs).optional()}),Y=f(`type`,[v({...Zs,type:c(`text`),identity:$s,outputs:zs.optional(),inputs:qs,tools:Xs,turnBehaviour:v({resumption:Js.optional(),allowSteering:o().optional(),atStepLimit:d(Fe).optional()}).optional(),canStop:c(!0),allowSteering:o()}),v({...Zs,type:c(`image`),identity:$s,outputs:zs.optional(),image:v({aspectRatio:g().optional(),resolution:g().optional(),mimeType:g().optional(),quality:g().optional(),background:g().optional(),n:h().int().min(1).optional(),seed:h().int().optional(),outputCompression:h().int().min(0).max(100).optional(),references:l(i([v({mimeType:g(),data:g(),name:g().optional()}),v({mimeType:g(),uri:g(),name:g().optional()})])).optional(),includeText:o().optional()}),inputs:qs,tools:Xs,turnBehaviour:Ys.optional(),canStop:c(!0)}),v({...Zs,type:c(`speech`),identity:v({handle:g()}),outputs:zs.optional(),speech:v({voice:g().optional(),style:g().optional(),speed:h().optional(),format:d(be).optional()}),inputs:qs,turnBehaviour:Ys.optional(),canStop:c(!0)}),v({...Zs,type:c(`live`),identity:$s,inputs:qs.pick({slots:!0,context:!0}).optional(),live:v({ingress:v({audio:o().optional(),video:o().optional(),text:o().optional()}).optional(),voice:g().optional(),vad:v({activityHandling:d(O).optional(),startSensitivity:d(me).optional(),endSensitivity:d(ge).optional(),prefixPaddingMs:h().optional(),silenceDurationMs:h().optional()}).optional(),sessionResumption:o().optional(),contextCompression:v({triggerTokens:h().optional(),slidingWindow:v({targetTokens:h().optional()})}).optional(),transcription:v({input:o().optional(),output:o().optional()}).optional()}),tools:Xs.pick({allow:!0,page:!0}),turnBehaviour:v({allowSteering:o().optional()}).optional()})]);function ec(e){let t=Ae(e),{sources:n,host:r,...i}=t.detect;return{quota:t.quota,detect:i,...n?{patterns:Object.fromEntries(Object.entries(n).map(([e,{theorem:t,matchers:n}])=>[e,{theorem:t,names:n.map(({name:e})=>e)}]))}:{},...r?{host:r.map(({id:e,label:t,actions:n,matchers:r,find:i})=>({id:e,label:t,actions:n,names:r.map(({name:e})=>e),find:!!i}))}:{},allow:{ungiven_images:tc(t.allow.ungiven_images),ungiven_links:tc(t.allow.ungiven_links)},blockedReply:t.blockedReply}}function tc(e){return{hosts:[...e.hosts??[]],fromTools:e.fromTools??!0}}function nc(e){return e===void 0||e===!1||typeof e==`string`?e:`custom`}function rc(e){if(!e)return;let t=Bt(e);return{record:t.record,writeTo:nc(t.writeTo),sampleRate:t.sampleRate,include:t.include,scrub:t.scrub,resource:t.resource,retainForDays:t.retainForDays,rotateAfterMiB:t.rotateAfterMiB,hasOnWriteError:!!t.onWriteError}}function ic(e){let{greeting:t,resumed:n,...r}=e??{};return r}function ac(e,t){let n=e.tools.filter(e=>`type`in e&&e.type===`function`&&e.answeredBy===`page`).map(e=>e.name);if(t){let e=qr(t),r=Jr(t);return{allow:[...K(t)],page:n,...e?.t2Loader?{t2Loader:e.t2Loader}:{},...r===void 0?{}:{parallel:r}}}return{allow:e.tools.filter(e=>!(`type`in e&&e.type===`builtin`)).map(e=>e.name),page:n}}function oc({allow:e,page:t}){return{allow:e,page:t}}function sc(e,t){let n=Ps(e.inputs),r=t?.identity??{handle:e.handle},i=t?ec(t.guardrails):void 0,a=t?rc(t.observability):void 0,o=e.outputs??void 0,s={id:e.id,identity:r,models:e.models,defaultModel:e.defaultModel,allowModelSelect:e.allowModelSelect,maxSteps:e.maxSteps,providerContinuation:e.providerContinuation,outputs:o,guardrails:i,observability:a,labels:Ue(t?.labels)};switch(e.type){case`text`:return Y.parse({...s,type:`text`,inputs:n,tools:ac(e,t),turnBehaviour:t?.type===`text`?t.turnBehaviour:void 0,canStop:!0,allowSteering:!t||C(t)});case`image`:return Y.parse({...s,type:`image`,image:e.image??{},inputs:n,tools:ac(e,t),turnBehaviour:t?.type===`image`?t.turnBehaviour:void 0,canStop:!0});case`speech`:return Y.parse({...s,type:`speech`,speech:e.speech??{},inputs:n,turnBehaviour:t?.type===`speech`?t.turnBehaviour:void 0,canStop:!0});case`live`:return Y.parse({...s,type:`live`,live:ic(e.live),...e.inputs?{inputs:{slots:n.slots,context:n.context}}:{},tools:oc(ac(e,t))});default:return e.type}}function cc(e,t){let n=Vi(e,`interfaceFromProfile`);return sc(ea(t,n),n)}function lc(e){return s(t=>E.safeParse(e(t)).success)}var uc=[`running`,`gate`,`complete`,`error`,`cancel`],dc=s(e=>{let t=E.safeParse({type:`tool`,tool:e});if(!t.success||t.data.type!==`tool`||!(`phase`in t.data.tool))return!1;let{phase:n}=t.data.tool;return uc.some(e=>e===n)}),fc=_(g(),n()),pc=v({operationId:g().optional(),name:g(),callId:g(),arguments:fc,draft:g().optional(),reasoning:l(ae).optional(),stepId:g().optional(),edited:v({from:fc,to:fc}).optional(),activity:g().optional(),activityPast:g().optional(),outputDraft:g().optional(),state:dc.optional(),startedAt:h().optional(),endedAt:h().optional(),artifacts:l(n())}),mc=v({kind:d(Ie),native:g().optional()}),X={id:g()},hc=f(`kind`,[v({...X,kind:c(`user-text`),text:g()}),v({...X,kind:d([`user-attachment`,`user-voice`]),name:g(),mimeType:g(),sizeBytes:h(),data:g().optional()}),v({...X,kind:c(`thought`),text:g()}),v({...X,kind:c(`text`),text:g()}),v({...X,kind:c(`tool`),tool:pc}),v({...X,kind:c(`structured`),value:n(),draft:g().optional()}),v({...X,kind:c(`media`),mimeType:g(),data:g().optional(),url:g().optional(),previewUrl:g().optional()}),v({...X,kind:c(`grounding`),grounding:lc(e=>({type:`grounding`,grounding:e}))}),v({...X,kind:c(`citation`),sources:lc(e=>({type:`citation`,sources:e})),callId:g().optional()}),v({...X,kind:c(`evidence`),evidence:lc(e=>({type:`evidence`,evidence:e}))}),v({...X,kind:c(`guardrail`),guardrail:ee}),v({...X,kind:c(`error`),message:g()}),v({...X,kind:c(`turn-done`),stop:mc.optional(),tokens:lc(e=>({type:`tokens`,tokens:e})).optional(),interactionId:g().optional(),compaction:o().optional(),workedMs:h().optional(),endedAt:h().optional()})]),gc=v({type:g()});function _c(e,t){return Object.hasOwn(e,t)}function vc(e,t){return e.map(e=>{let n=[...t,...e.path],r=`${n.map(String).join(`.`)||`(root)`} ${e.code}`;return e.code!==`invalid_union`||e.errors.length===0?r:`${r} [${e.errors.map(e=>vc(e,n)).join(` | `)}]`}).join(`; `)}function yc(e){return vc(e.issues,[])}function bc(e,t){return new N(`bad_response`,`${e} failed its wire check: ${yc(t)}`)}function Z(e,t,n){let r=e.safeParse(t);if(!r.success)throw bc(n,r.error);return r.data}function xc(e){return{type:`malformed`,error:new N(`bad_response`,e,{copy:{key:`session.part_skipped`}})}}function Sc(e,t){let n=gc.safeParse(t);if(!n.success)return xc(`a line without a kind failed its wire check: ${yc(n.error)}`);let{type:r}=n.data;if(!_c(e,r))return{type:`unsupported`,received:r,raw:t};let i=e[r].safeParse(t);return i.success?i.data:xc(`a '${r}' line failed its wire check: ${yc(i.error)}`)}function Cc(e){try{return{value:JSON.parse(e)}}catch(e){if(e instanceof SyntaxError)return;throw e}}function wc(e,t){let n=Cc(t);return n?Sc(e,n.value):xc(`a line is not JSON`)}function Tc(e){let t=Cc(e);if(!t)throw new N(`bad_response`,`a line is not JSON`);return t.value}var Ec=v({name:g(),mimeType:g(),data:g()}),Dc=v({slots:_(g(),g()).optional(),context:n().optional(),text:g().optional(),attachments:l(Ec).optional(),voice:l(Ec).optional()}),Oc=v({gateKind:d(ke).optional(),sessionPermissions:l(g()).optional(),name:g().optional(),input:n().optional(),snapshot:Be.optional(),promoted:l(g()).optional(),model:g().optional(),effort:g().optional()}),kc=g().trim().min(1);v({input:Dc,conversation:g().min(1).optional(),model:g().optional(),effort:g().optional(),turnId:kc.optional(),abandon:l(se).min(1).optional(),replay:Oc.pick({sessionPermissions:!0}).optional(),transcript:l(hc).optional()});var Ac=[`approve`,`deny`],jc=i([t({unanswered:c(!0)}),t({output:n()}).refine(e=>`output`in e).transform(e=>({output:e.output}))]);v({gateId:g().min(1),operationId:g().min(1).max(256),decision:d(Ac),input:n().optional(),secret:g().optional(),page:jc.optional(),conversation:g().min(1).optional(),turnId:kc.optional(),replay:Oc.optional()}),v({turnId:kc,id:kc,inject:l(re).min(1)});var Mc=v({type:c(`conversation`),ref:g().min(1),posted:c(!0).optional()}),Nc={...S,conversation:Mc},Pc=v({transcript:l(hc),paused:v({events:l(E),blocks:l(hc)}).optional()});v({conversation:g().min(1)}),v({conversation:g().min(1),at:h().int().min(-1)});var Fc=v({conversation:g().min(1),view:Pc}),Ic=class extends Error{kind;publicMessage;internalMessage;copy;constructor(e,t,n,r){super(n??t??e),this.name=`TheoremStreamError`,this.kind=e,t&&(this.publicMessage=t),n&&(this.internalMessage=n),r&&(this.copy=r)}};function Lc(e){return e instanceof Ic}function Rc(e){return e?.trim()||void 0}var zc=v({error:g().optional(),errorKind:de.optional(),errorCopy:Re.optional(),errorInternal:g().optional()}),Bc=zc;function Vc(e,t){let n=Rc(e.error),r=Rc(e.errorInternal);return new Ic(e.errorKind??t,n,r&&r!==n?r:void 0,e.errorCopy)}function Hc(e){return!Lc(e)||e.copy===void 0?!1:(Array.isArray(e.copy)?e.copy:[e.copy]).some(e=>e.key===`session.conversation_unknown`)}function Uc(e,t){let n=wc(e,t);if(n.type===`error`)throw Vc(zc.parse(n),`internal`);return n}function Wc(e,t,n){let r=e.split(`
|
|
7
|
+
`),i=r.pop()??``;for(let e of r)e.trim()&&n(Uc(t,e));return i}async function Gc(e,t,n,r){if(!e.body)throw new N(`bad_response`,`stream reply has no body`);let i=e.body.getReader(),a=new TextDecoder,o=``,s=()=>{i.cancel()};r?.addEventListener(`abort`,s,{once:!0});try{for(;;){ue(r);let{done:e,value:s}=await i.read();if(e)break;o=Wc(o+a.decode(s,{stream:!0}),t,n)}let e=o.trim();e&&n(Uc(t,e))}finally{r?.removeEventListener(`abort`,s)}}async function Kc(e){let t=typeof e.headers==`function`?await e.headers():e.headers,n=new Headers(t);return n.set(`content-type`,`application/json`),n}async function qc(e,t){let n=await e.text(),r;try{r=JSON.parse(n),t?.(r)}catch{return Vc({errorInternal:`HTTP ${String(e.status)}`},D(e.status))}let i=zc.safeParse(r);return i.success?Vc({...i.data,errorInternal:i.data.errorInternal??`HTTP ${String(e.status)}`},D(e.status)):new N(`bad_response`,`HTTP ${String(e.status)} error body failed its wire check`)}async function Jc(e,t,n){let r=n.fetch??globalThis.fetch.bind(globalThis);try{return await r(e,{...t,headers:await Kc(n),credentials:n.credentials??`same-origin`})}catch(e){throw ce(e)?e:new N(`network`,we(e),{cause:e})}}async function Yc(e,t,n,r,i={}){await Gc(await Xc(e,t,i),n,r,i.signal)}async function Xc(e,t,n){let r=await Jc(e,{method:`POST`,body:JSON.stringify(t),signal:n.signal},n);if(!r.ok)throw await qc(r);return r}async function Zc(e,t,n={}){await Xc(e,t,n)}async function Q(e,t,n={}){let r=await Jc(e,{...t.body===void 0?{method:`GET`}:{method:`POST`,body:JSON.stringify(t.body)},signal:t.signal},n);if(!r.ok)throw await qc(r,t.failed);return Tc(await r.text())}async function Qc(e,t,n={}){let{signal:r,...i}=n;return Z(Pc,await Q(e,{body:t,signal:r},i),`the conversation`)}async function $c(e,t,n={}){let{signal:r,...i}=n;return Z(Fc,await Q(e,{body:t,signal:r},i),`the rewound conversation`)}function el(e){let t=e.length;for(;t>0&&e[t-1]===`/`;)--t;return e.slice(0,t)}var tl=v({interface:Y});function nl(e={}){let t=el(e.endpoint??`/api/theorem`);return{async describe(n){let r=await Jc(t,{method:`GET`,signal:n},e);if(!r.ok)throw await qc(r);return Z(tl,Tc(await r.text()),`the profile description`).interface},turn:({replay:n,...r},i,a)=>Yc(`${t}/turn`,r,Nc,i,{...e,signal:a}),invoke:({replay:n,...r},i,a)=>Yc(`${t}/invoke`,r,Nc,i,{...e,signal:a}),conversation:(n,r)=>Qc(`${t}/conversation`,n,{...e,signal:r}),rewind:(n,r)=>$c(`${t}/rewind`,n,{...e,signal:r}),pageResult:(n,r)=>Zc(`${t}/page-result`,n,{...e,signal:r}),steer:n=>Zc(`${t}/steer`,n,e)}}function rl(e,t){if(typeof e==`string`)return e;let n=Array.isArray(e)?e:Object.keys(e);return n.length?rl(n[0],t):t}function il(e){return e===void 0?{}:{field:e}}function al(e){if(typeof e==`string`)return/\x60([^\x60\s]+)\x60/.exec(e)?.[1];let t=Array.isArray(e)?e:Object.values(e);for(let e of t){let t=al(e);if(t!==void 0)return t}}function ol(e,t,n){return{type:`decision`,identity:{handle:e.identity.handle},contract:e.decision.contract,...e.inputs.maxStateBytes===void 0?{}:{maxStateBytes:e.inputs.maxStateBytes},questions:Object.entries(t).map(([e,t])=>({id:e,type:t.type,labels:t.type===`choice`?Object.keys(t.criteria):t.type===`score`?t.criteria.map((e,t)=>rl(e,String(t))):[],...t.type===`box`?il(t.image??al(t.instructions)):{}})),...n&&Object.keys(n).length>0?{images:n}:{},...e.observability?{observability:{record:Bt(e.observability).record}}:{}}}function sl(e,t){let n=Object.keys(t??{}).find(t=>e&&Object.hasOwn(e,t));if(n!==void 0)throw new N(`request`,`the image ${n} is the host's, so the page's needs another name`);let r={...e,...t};return Object.keys(r).length>0?r:void 0}var $=h().min(0).max(1),cl=_(g(),$).refine(e=>Math.abs(Object.values(e).reduce((e,t)=>e+t,0)-1)<=.001),ll=f(`type`,[v({type:c(`choice`),choice:g(),confidence:$,probabilities:cl}),v({type:c(`noul`),noul:$}),v({type:c(`box`),box:v({top:$,bottom:$,left:$,right:$}),confidence:$}),v({type:c(`score`),score:h().nonnegative(),confidence:$,legend:_(g(),g().min(1)),probabilities:cl})]),ul=v({result:v({model:g().min(1),answers:_(g(),ll),usage:v({inputTokens:h().int().nonnegative(),outputTokens:h().int().nonnegative(),costUsd:h().nonnegative().optional()}).optional()}),traces:l(Ht).optional()}),dl=new WeakMap;function fl(e,t){return t.length>0&&typeof e==`object`&&e&&dl.set(e,t),e}function pl(e){return typeof e==`object`&&!!e&&dl.get(e)||[]}var ml=v({traces:l(Ht)});async function hl(e,t,n,r,i){let a=[],o=e=>{let t=ml.safeParse(e);t.success&&(a=t.data.traces)};try{return i(await Q(e,{body:t,signal:n,failed:o},r))}catch(e){throw fl(e,a)}}function gl(e,t,n,r={}){return hl(e,t,n,r,_l)}function _l(e){return Z(ul,e,`the decision`)}var vl=v({interface:v({type:c(`decision`),identity:v({handle:g()}),contract:g(),maxStateBytes:h().optional(),questions:l(v({id:g(),type:d([`choice`,`noul`,`score`,`box`]),labels:l(g()),field:g().optional()})),images:_(g(),v({mimeType:d([`image/png`,`image/jpeg`]),data:g()})).optional(),observability:v({record:o()}).optional()})});function yl(e={}){let t=(e.endpoint??`/api/decision`).replace(/\/$/,``);return{async describe(n){return Z(vl,await Q(t,{signal:n},e),`the decision description`).interface},decide:(n,r,i)=>gl(`${t}/decide`,{state:n,...i?{assets:i}:{}},r,e)}}function bl(e,t,n={}){let r={name:t.name,description:t.description,category:t.category,access:t.access,paths:t.paths,loadTier:t.loadTier,permission:t.permission,...t.labels?{labels:t.labels}:{}};if(t.type===`agent`){e.register({...r,type:`agent`,profile:t.profile,...t.maxCallsPerTurn===void 0?{}:{maxCallsPerTurn:t.maxCallsPerTurn}});return}let i={...r,input:Ne(t.inputSchema),output:Ne(t.outputSchema)};if(t.type===`http`){e.register({...i,type:`http`,endpoint:t.endpoint,method:t.method,headers:t.headers,mapping:t.mapping,auth:t.auth});return}if(t.type===`mcp`){e.register({...i,type:`mcp`,serverUrl:t.serverUrl,mcpToolName:t.mcpToolName,headers:t.headers,auth:t.auth});return}if(t.answeredBy===`page`){e.register({...i,type:`function`,answeredBy:`page`});return}let a=t.stubResponse||!Object.hasOwn(n,t.name)?void 0:n[t.name],o=t.stubResponse??Wt(t.outputSchema);e.register({...i,type:`function`,handler:a?e=>{try{return Promise.resolve(a(e))}catch(e){return Promise.reject(e instanceof Error?e:Error(String(e)))}}:()=>Promise.resolve(o)})}function xl(e,t,n){e.registerMany(te);for(let r of t)bl(e,r,n)}function Sl(e,t,n,r,i){return xl(e.tools,n,i),r&&t.type!==`live`&&e.schemas.register(r.id,r.spec),e.profiles.register(t),t}function Cl(e){if(e.type===`error`&&e.errorInternal!==void 0){let{errorInternal:t,...n}=e;return{...n,error:t}}if(e.type===`session`&&e.session.kind===`ended`&&e.errorInternal!==void 0){let{errorInternal:t,...n}=e;return{...n,session:{...e.session,message:t}}}if(e.type===`tool`&&e.tool.phase===`error`&&e.tool.failure.error!==void 0){let{failure:t}=e.tool;return{...e,tool:{...e.tool,failure:{...t,error:t.message}}}}return e}function wl(e){if(e.type!==`error`&&e.type!==`session`&&e.type!==`tool`||e.errorInternal===void 0)return e;let{errorInternal:t,...n}=e;return n}function Tl(e){if(e.type!==`guardrail`||!e.guardrail?.errorInternal)return e;let{errorInternal:t,...n}=e.guardrail;return{...e,guardrail:n}}function El(e){if(e.type!==`evidence`||!e.evidence?.raw)return e;let{raw:t,...n}=e.evidence;return{...e,evidence:n}}function Dl(e,t){let n=t?.reader===`builder`?Cl(e):Tl(wl(e));return t?.includeEvidenceRaw||(n=El(n)),n=Kt(n,!1),n}function Ol(e,t){return e.map(e=>Dl(e,t))}function kl(e,t,n){let{error:r=``,errorKind:i,errorCopy:a}=Dl(x(Ve(e),t),n);return{error:r,errorKind:i,...a?{errorCopy:a}:{}}}var Al={reader:`builder`};function jl(e){return e.mode===`demo`?{reader:`visitor`}:Al}export{Da as $,Sc as A,Fr as At,js as B,zn as Bt,Lc as C,qr as Ct,Z as D,zr as Dt,Yc as E,Vr as Et,fs as F,lr as Ft,Ja as G,Jt as Gt,Uo as H,G as Ht,hs as I,ur as It,za as J,Kt as Jt,Ka as K,Gt as Kt,Es as L,dr as Lt,cc as M,Lr as Mt,Ls as N,Er as Nt,yc as O,Ir as Ot,Is as P,yr as Pt,ja as Q,ps as R,Hn as Rt,Bc as S,Jr as St,Zc as T,Ur as Tt,so as U,Ln as Ut,us as V,Bn as Vt,Ya as W,In as Wt,Va as X,Ba as Y,va as Z,nl as _,ai as _t,Ol as a,da as at,$c as b,ii as bt,yl as c,ma as ct,pl as d,ta as dt,Na as et,gl as f,Qi as ft,Ic as g,hi as gt,Nc as h,Mi as ht,Dl as i,ga as it,hc as j,Rr as jt,wc as k,jr as kt,sl as l,ha as lt,fl as m,Pi as mt,jl as n,Pa as nt,Sl as o,pa as ot,hl as p,Ii as pt,qa as q,I as qt,kl as r,Ea as rt,xl as s,_a as st,Al as t,Oa as tt,ol as u,Hi as ut,Qc as v,oi as vt,Hc as w,li as wt,Vc as x,K as xt,Q as y,ci as yt,As as z,Vn as zt};
|