@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
package/deno.json
ADDED
package/draft.d.ts
ADDED
|
@@ -0,0 +1,407 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every section is always present so switching profile type keeps what the author typed.
|
|
3
|
+
* "Provider default" numbers are `null` and booleans hold the value the kernel would resolve,
|
|
4
|
+
* so compile emits a field only when it differs.
|
|
5
|
+
*/
|
|
6
|
+
import { type LabelKey } from '@theoremjs/agents';
|
|
7
|
+
import { type BlockedReplyOnBlock, type Boundary, type DestinationGate, type DetectAction, type Detector, type TaintGate, type UrlDetector } from '@theoremjs/agents/guardrails';
|
|
8
|
+
import { type JsonObject, type ProfileItemRule } from '@theoremjs/agents/kernel';
|
|
9
|
+
import { type CompactionMeter, type CompactionTiming, type ContextSender, type ContinueStopKind, type KeySlot, type LiveActivityHandling, type LiveEndSensitivity, type LiveStartSensitivity, type ProfileGraphFacetId, type ProfileType, type SpeechAudioFormat, type StepLimitMode, type StreamMode, type ThinkingLevel } from '@theoremjs/agents/schema';
|
|
10
|
+
import type { ModelPicks, ModelStart } from './lent-keys.ts';
|
|
11
|
+
import { type StudioProvider } from './providers.ts';
|
|
12
|
+
import type { StudioToolSpecSeed } from './types.ts';
|
|
13
|
+
export type StudioProfileType = ProfileType;
|
|
14
|
+
/** The types that run a model turn; a decision asks questions, and a host runs its tools. */
|
|
15
|
+
export type StudioTurnProfileType = Exclude<StudioProfileType, 'decision' | 'host'>;
|
|
16
|
+
export declare const STUDIO_PROFILE_TYPES: readonly StudioProfileType[];
|
|
17
|
+
export interface IdentityDraft {
|
|
18
|
+
agentId: string;
|
|
19
|
+
profileType: StudioProfileType | '';
|
|
20
|
+
handle: string;
|
|
21
|
+
/** Private sections are wrapped as `{private: …}`. Unused on speech, which has no system channel. */
|
|
22
|
+
system: string;
|
|
23
|
+
/** Other instructions by the role a turn names, as a JSON object of strings (with `{private: …}` sections) or parts; blank omits it. */
|
|
24
|
+
systemByRoleJson: string;
|
|
25
|
+
}
|
|
26
|
+
export interface ModelsDraft {
|
|
27
|
+
/** Who holds the conversation a saved state continues; unset is the kernel's default, the host. */
|
|
28
|
+
providerHistory?: 'host' | 'stateless' | 'provider';
|
|
29
|
+
defaultModel: string;
|
|
30
|
+
allowModelSelect: boolean;
|
|
31
|
+
/** `null` omits it: the kernel's default cap applies. */
|
|
32
|
+
maxSteps: number | null;
|
|
33
|
+
/** The vault slot every model uses unless it names its own. */
|
|
34
|
+
key: KeySlot | '';
|
|
35
|
+
/** The slot a quota refusal retries on once; `''` or absent names none. */
|
|
36
|
+
fallbackKey?: KeySlot | '';
|
|
37
|
+
}
|
|
38
|
+
export interface EffortDraft {
|
|
39
|
+
alias: string;
|
|
40
|
+
level: ThinkingLevel;
|
|
41
|
+
}
|
|
42
|
+
export interface ModelBindingDraft {
|
|
43
|
+
/** Stable draft key; the model id is editable, so it cannot be the key. */
|
|
44
|
+
key: string;
|
|
45
|
+
modelId: string;
|
|
46
|
+
/** The API shape it is spoken to in, by the id of a protocol its provider serves. */
|
|
47
|
+
protocol: string;
|
|
48
|
+
/** The provider that serves it, by the id one of the draft's `providers` has. */
|
|
49
|
+
provider: string;
|
|
50
|
+
apiId: string;
|
|
51
|
+
/** What its protocol takes beyond the shared settings, as the protocol's own schema reads them. */
|
|
52
|
+
options: JsonObject;
|
|
53
|
+
/** Decision request timeout; `null` uses the studio timeout. */
|
|
54
|
+
timeoutMs: number | null;
|
|
55
|
+
efforts: EffortDraft[];
|
|
56
|
+
defaultEffort: string;
|
|
57
|
+
allowEffortSelect: boolean;
|
|
58
|
+
/** Thought summaries: on, off, or `null` to leave it to the provider. */
|
|
59
|
+
summaries: boolean | null;
|
|
60
|
+
maxOutputTokens: number | null;
|
|
61
|
+
temperature: number | null;
|
|
62
|
+
builtInTools: string[];
|
|
63
|
+
/** This model's own vault slot; `''` or absent uses the profile's. */
|
|
64
|
+
keySlot?: KeySlot | '';
|
|
65
|
+
/** This model's own fallback slot; `''` or absent uses the profile's. */
|
|
66
|
+
fallbackKeySlot?: KeySlot | '';
|
|
67
|
+
/** When the agent compacts its own history; `''` or absent leaves compaction off. Text only. */
|
|
68
|
+
compactTiming?: CompactionTiming | '';
|
|
69
|
+
/** The token budget `compactAt` is a fraction of. */
|
|
70
|
+
compactMaxTokens?: number | null;
|
|
71
|
+
/** The fraction of the budget, between 0 and 1, at which compaction starts. */
|
|
72
|
+
compactAt?: number;
|
|
73
|
+
/** Recent history kept word for word: exchanges, a fraction of the budget, or 0 for none. */
|
|
74
|
+
compactKeep?: number | null;
|
|
75
|
+
/** What counts toward the budget; `''` or absent is history. */
|
|
76
|
+
compactMeter?: CompactionMeter | '';
|
|
77
|
+
/** The workspace agent that writes the summary, by key; `''` or absent: this agent. */
|
|
78
|
+
compactWith?: string;
|
|
79
|
+
}
|
|
80
|
+
/** Where compaction starts when a builder turns it on; every number stays theirs to change. */
|
|
81
|
+
export declare const COMPACTION_DRAFT_DEFAULTS: {
|
|
82
|
+
readonly compactMaxTokens: 32000;
|
|
83
|
+
readonly compactAt: 0.75;
|
|
84
|
+
readonly compactKeep: 4;
|
|
85
|
+
};
|
|
86
|
+
export interface ToolsDraft {
|
|
87
|
+
/** Function tool that promotes T2 tools; empty omits it. */
|
|
88
|
+
t2Loader: string;
|
|
89
|
+
/** True: a step's calls run side by side. False omits it: one at a time. */
|
|
90
|
+
parallel: boolean;
|
|
91
|
+
}
|
|
92
|
+
/** One custom tool: compiles to `registerTool` plus a `tools.allow` entry. */
|
|
93
|
+
export interface ToolSpecDraft extends StudioToolSpecSeed {
|
|
94
|
+
key: string;
|
|
95
|
+
}
|
|
96
|
+
export interface InputsDraft {
|
|
97
|
+
text: boolean;
|
|
98
|
+
attachmentsAccept: string[];
|
|
99
|
+
voiceAccept: string[];
|
|
100
|
+
maxFiles: number | null;
|
|
101
|
+
maxBytes: number | null;
|
|
102
|
+
maxTurnBytes: number | null;
|
|
103
|
+
/** Size limits by file type, as a JSON object of byte counts; blank omits it. */
|
|
104
|
+
limitsByMimeJson: string;
|
|
105
|
+
/** Named choices a turn can make, as a JSON object of value lists; blank omits it. */
|
|
106
|
+
slotsJson: string;
|
|
107
|
+
/** Who may send the agent context; none omits `inputs.context`. */
|
|
108
|
+
contextFrom: ContextSender[];
|
|
109
|
+
/** The longest context package from each sender, in characters of JSON. */
|
|
110
|
+
contextMaxChars: number | null;
|
|
111
|
+
}
|
|
112
|
+
export interface OutputsDraft {
|
|
113
|
+
mode: 'text' | 'structured';
|
|
114
|
+
schemaId: string;
|
|
115
|
+
schemaJson: string;
|
|
116
|
+
/** `''` omits it (kernel default: SSE). */
|
|
117
|
+
streamMode: '' | StreamMode;
|
|
118
|
+
streamThoughts: boolean;
|
|
119
|
+
validationEnabled: boolean;
|
|
120
|
+
maxRetries: number | null;
|
|
121
|
+
/** What a refused item of a list does, by the list's path. The check on the item is code. */
|
|
122
|
+
itemRules: Record<string, ItemRuleOnFail>;
|
|
123
|
+
repairGuidance: string;
|
|
124
|
+
}
|
|
125
|
+
export type ItemRuleOnFail = ProfileItemRule['onFail'];
|
|
126
|
+
export interface TurnBehaviourDraft {
|
|
127
|
+
resumeEnabled: boolean;
|
|
128
|
+
allowContinue: ContinueStopKind[];
|
|
129
|
+
autoContinue: ContinueStopKind[];
|
|
130
|
+
maxContinues: number | null;
|
|
131
|
+
continueInstruction: string;
|
|
132
|
+
allowSteering: boolean;
|
|
133
|
+
atStepLimit: StepLimitMode;
|
|
134
|
+
}
|
|
135
|
+
/** What a URL detector lets through besides the URLs the model was given. */
|
|
136
|
+
export interface UrlAllowDraft {
|
|
137
|
+
hosts: string[];
|
|
138
|
+
fromTools: boolean;
|
|
139
|
+
}
|
|
140
|
+
/** One pattern of the builder's own: a regular expression, or words matched whole. */
|
|
141
|
+
export interface PatternDraft {
|
|
142
|
+
name: string;
|
|
143
|
+
kind: 'pattern' | 'words';
|
|
144
|
+
/** The regular expression's source, while `kind` is `pattern`. */
|
|
145
|
+
pattern: string;
|
|
146
|
+
/** Its flags, from `i`, `m`, `s`, and `u`. */
|
|
147
|
+
flags: string;
|
|
148
|
+
/** The words, while `kind` is `words`. */
|
|
149
|
+
words: string[];
|
|
150
|
+
}
|
|
151
|
+
/** Whose patterns a detector reads with: Theorem's, the builder's, both, or neither. */
|
|
152
|
+
export interface PatternSourceDraft {
|
|
153
|
+
theorem: boolean;
|
|
154
|
+
patterns: PatternDraft[];
|
|
155
|
+
/** What a retry tells the model about a match of the builder's patterns. `''` keeps the labels'. */
|
|
156
|
+
hint: string;
|
|
157
|
+
}
|
|
158
|
+
/** A detector of the builder's own, read with its patterns. */
|
|
159
|
+
export interface OwnDetectorDraft {
|
|
160
|
+
/** `namespace.name`. */
|
|
161
|
+
key: string;
|
|
162
|
+
label: string;
|
|
163
|
+
/** What it does with a match, at every boundary. */
|
|
164
|
+
at: Record<Boundary, DetectAction>;
|
|
165
|
+
patterns: PatternDraft[];
|
|
166
|
+
/** What a retry tells the model about a match. `''` keeps the labels'. */
|
|
167
|
+
hint: string;
|
|
168
|
+
}
|
|
169
|
+
export interface GuardrailsDraft {
|
|
170
|
+
/** The note that binds the canary, while `canary_leak` reads somewhere. */
|
|
171
|
+
canaryBindNote: string;
|
|
172
|
+
/** What each detector does with a match, at every boundary. */
|
|
173
|
+
detect: Record<Detector, Record<Boundary, DetectAction>>;
|
|
174
|
+
/** Whose patterns each detector that reads with patterns uses, by detector. */
|
|
175
|
+
sources: Record<string, PatternSourceDraft>;
|
|
176
|
+
/** Detectors of the builder's own. */
|
|
177
|
+
own: OwnDetectorDraft[];
|
|
178
|
+
quotaEnabled: boolean;
|
|
179
|
+
quotaPerDay: number | null;
|
|
180
|
+
quotaMessage: string;
|
|
181
|
+
/** What `ungiven_images` and `ungiven_links` let through. */
|
|
182
|
+
allow: Record<UrlDetector, UrlAllowDraft>;
|
|
183
|
+
/** The names of tools and parameters `tool_leak` lets through. */
|
|
184
|
+
innocentNames: string[];
|
|
185
|
+
/** `''` omits it (kernel default: retry). */
|
|
186
|
+
blockedReplyOnBlock: BlockedReplyOnBlock | '';
|
|
187
|
+
/** `null` omits it (kernel default: 1). */
|
|
188
|
+
blockedReplyMaxRetries: number | null;
|
|
189
|
+
egressRepairGuidance: string;
|
|
190
|
+
/** What the user reads in place of a refused reply. `''` keeps the labels'. */
|
|
191
|
+
egressRefusal: string;
|
|
192
|
+
allowPrivateNetworks: boolean;
|
|
193
|
+
allowedHosts: string[];
|
|
194
|
+
/** Empty omits it: https, plus http with private networks. */
|
|
195
|
+
allowedSchemes: string[];
|
|
196
|
+
/** `''` omits it (kernel default: off). */
|
|
197
|
+
taintAfterRemoteRead: TaintGate | '';
|
|
198
|
+
/** `''` omits it (kernel default: off). */
|
|
199
|
+
taintRemoteDestination: DestinationGate | '';
|
|
200
|
+
}
|
|
201
|
+
export interface ObservabilityDraft {
|
|
202
|
+
/** The store traces go to, or `false` when they are off. */
|
|
203
|
+
writeTo: false | string;
|
|
204
|
+
/** The store they go to when they are on: the studio's, or the one a project's profile names. */
|
|
205
|
+
destination: string;
|
|
206
|
+
sampleRate: number;
|
|
207
|
+
include: {
|
|
208
|
+
upstreamLog: boolean;
|
|
209
|
+
outboundWire: boolean;
|
|
210
|
+
evidenceRaw: boolean;
|
|
211
|
+
usage: boolean;
|
|
212
|
+
guardrailDecisions: boolean;
|
|
213
|
+
guardrailMatchPreview: boolean;
|
|
214
|
+
};
|
|
215
|
+
scrub: {
|
|
216
|
+
sensitive: boolean;
|
|
217
|
+
injection: boolean;
|
|
218
|
+
canary: boolean;
|
|
219
|
+
};
|
|
220
|
+
retainForDays: number | null;
|
|
221
|
+
rotateAfterMiB: number | null;
|
|
222
|
+
/** Attributes on every trace, as a JSON object; blank omits it. */
|
|
223
|
+
resourceJson: string;
|
|
224
|
+
}
|
|
225
|
+
/** A pinned reference image: a file's bytes, or a link to one. */
|
|
226
|
+
export type ImageReferenceDraft = {
|
|
227
|
+
key: string;
|
|
228
|
+
name: string;
|
|
229
|
+
mimeType: string;
|
|
230
|
+
data: string;
|
|
231
|
+
} | {
|
|
232
|
+
key: string;
|
|
233
|
+
uri: string;
|
|
234
|
+
name?: string;
|
|
235
|
+
};
|
|
236
|
+
export interface ImageDraft {
|
|
237
|
+
aspectRatio: string;
|
|
238
|
+
resolution: string;
|
|
239
|
+
mimeType: string;
|
|
240
|
+
/** Provider vocabularies (OpenRouter: auto, low, medium, high); blank is the provider default. */
|
|
241
|
+
quality: string;
|
|
242
|
+
/** Provider vocabularies (OpenRouter: auto, transparent, opaque); blank is the provider default. */
|
|
243
|
+
background: string;
|
|
244
|
+
n: number | null;
|
|
245
|
+
seed: number | null;
|
|
246
|
+
outputCompression: number | null;
|
|
247
|
+
includeText: boolean;
|
|
248
|
+
references: ImageReferenceDraft[];
|
|
249
|
+
}
|
|
250
|
+
export interface SpeechDraft {
|
|
251
|
+
voice: string;
|
|
252
|
+
/** How the script is delivered; blank gives no direction. */
|
|
253
|
+
style: string;
|
|
254
|
+
/** The speaking rate; `null` keeps the voice's own pace. */
|
|
255
|
+
speed: number | null;
|
|
256
|
+
format: '' | SpeechAudioFormat;
|
|
257
|
+
}
|
|
258
|
+
export interface LiveDraft {
|
|
259
|
+
ingressAudio: boolean;
|
|
260
|
+
ingressVideo: boolean;
|
|
261
|
+
ingressText: boolean;
|
|
262
|
+
voice: string;
|
|
263
|
+
sessionResumption: boolean;
|
|
264
|
+
/** The prompt a new call opens with, so the agent speaks first; blank omits it. */
|
|
265
|
+
greeting: string;
|
|
266
|
+
/** The prompt a resumed call opens with; blank omits `live.resumed`. */
|
|
267
|
+
resumedPrompt: string;
|
|
268
|
+
resumedAfterMs: number | null;
|
|
269
|
+
/** Context window compression by sliding window; the two numbers are its trigger and target. */
|
|
270
|
+
contextCompression: boolean;
|
|
271
|
+
compressionTriggerTokens: number | null;
|
|
272
|
+
compressionTargetTokens: number | null;
|
|
273
|
+
transcriptionInput: boolean;
|
|
274
|
+
transcriptionOutput: boolean;
|
|
275
|
+
vadActivityHandling: '' | LiveActivityHandling;
|
|
276
|
+
vadStartSensitivity: '' | LiveStartSensitivity;
|
|
277
|
+
vadEndSensitivity: '' | LiveEndSensitivity;
|
|
278
|
+
vadPrefixPaddingMs: number | null;
|
|
279
|
+
vadSilenceDurationMs: number | null;
|
|
280
|
+
}
|
|
281
|
+
export type DecisionQuestionType = 'choice' | 'score' | 'noul' | 'box';
|
|
282
|
+
/** A choice's option or a number's named criterion (`label`), or a score's level (`text` only). */
|
|
283
|
+
export interface DecisionCriterionDraft {
|
|
284
|
+
key: string;
|
|
285
|
+
label: string;
|
|
286
|
+
text: string;
|
|
287
|
+
}
|
|
288
|
+
export interface DecisionQuestionDraft {
|
|
289
|
+
key: string;
|
|
290
|
+
id: string;
|
|
291
|
+
type: DecisionQuestionType;
|
|
292
|
+
instructions: string;
|
|
293
|
+
/** A score's levels run from 0 at the top. */
|
|
294
|
+
criteria: DecisionCriterionDraft[] /** A box's image: one of the decision's images, such as `<ghs02>`, or a state field. Unset, the instructions say. */;
|
|
295
|
+
image?: string;
|
|
296
|
+
}
|
|
297
|
+
/** A picture every decision sends, which the questions write as its name in angle brackets. */
|
|
298
|
+
export interface DecisionImageDraft {
|
|
299
|
+
key: string;
|
|
300
|
+
/** The reference without its brackets: `ghs02` is written `<ghs02>`. */
|
|
301
|
+
name: string;
|
|
302
|
+
mimeType: string;
|
|
303
|
+
data: string;
|
|
304
|
+
}
|
|
305
|
+
/** A decision profile and the questions it asks. The state they are asked about is typed where it runs, not saved. */
|
|
306
|
+
export interface DecisionDraft {
|
|
307
|
+
contract: string;
|
|
308
|
+
/** `null` is the studio's most. */
|
|
309
|
+
maxStateBytes: number | null;
|
|
310
|
+
questions: DecisionQuestionDraft[];
|
|
311
|
+
images: DecisionImageDraft[];
|
|
312
|
+
}
|
|
313
|
+
/** Wording the author replaced, by labels key; a key left out keeps the kernel's line. */
|
|
314
|
+
export type LabelsDraft = Partial<Record<LabelKey, string>>;
|
|
315
|
+
/** Wording held beside the setting it words; each line has one value, so it edits that field. */
|
|
316
|
+
export declare const INLINE_LABELS: Partial<Record<LabelKey, ProfileGraphFacetId>>;
|
|
317
|
+
export interface StudioDraft {
|
|
318
|
+
identity: IdentityDraft;
|
|
319
|
+
/** Optional spine facets the author added (`PROFILE_GRAPH` rows with `optional`). */
|
|
320
|
+
included: ProfileGraphFacetId[];
|
|
321
|
+
models: ModelsDraft;
|
|
322
|
+
modelBindings: ModelBindingDraft[];
|
|
323
|
+
/** The providers its models pick from: the workspace's. */
|
|
324
|
+
providers: StudioProvider[];
|
|
325
|
+
tools: ToolsDraft;
|
|
326
|
+
toolSpecs: ToolSpecDraft[];
|
|
327
|
+
inputs: InputsDraft;
|
|
328
|
+
outputs: OutputsDraft;
|
|
329
|
+
turnBehaviour: TurnBehaviourDraft;
|
|
330
|
+
guardrails: GuardrailsDraft;
|
|
331
|
+
observability: ObservabilityDraft;
|
|
332
|
+
image: ImageDraft;
|
|
333
|
+
speech: SpeechDraft;
|
|
334
|
+
live: LiveDraft;
|
|
335
|
+
decision: DecisionDraft;
|
|
336
|
+
labels: LabelsDraft;
|
|
337
|
+
}
|
|
338
|
+
export declare function draftKey(prefix: 'agent' | 'model' | 'tool' | 'question' | 'criterion' | 'reference' | 'image'): string;
|
|
339
|
+
export declare function defaultModelBinding(partial?: Partial<ModelBindingDraft>): ModelBindingDraft;
|
|
340
|
+
export declare function defaultToolSpec(partial?: Partial<ToolSpecDraft>): ToolSpecDraft;
|
|
341
|
+
/**
|
|
342
|
+
* The change that points an agent tool at an agent. A description that is
|
|
343
|
+
* still the new tool's stub, or empty, comes to say what the tool now does.
|
|
344
|
+
*/
|
|
345
|
+
export declare function agentToolTarget(tool: ToolSpecDraft, agentKey: string, agentId: string): Partial<ToolSpecDraft>;
|
|
346
|
+
/** A pattern to fill in. */
|
|
347
|
+
export declare function newPattern(): PatternDraft;
|
|
348
|
+
/** A detector of the builder's own to fill in: it reads nowhere until a boundary is set. */
|
|
349
|
+
export declare function newOwnDetector(): OwnDetectorDraft;
|
|
350
|
+
/** A guardrail on a tool call the agent is about to make: whether to let it run, and how much is at stake. */
|
|
351
|
+
export declare function exampleDecisionDraft(): DecisionDraft;
|
|
352
|
+
/** State the example's questions can be asked about: the field a decision preview starts with. */
|
|
353
|
+
export declare const EXAMPLE_DECISION_STATE: string;
|
|
354
|
+
/** Span accepts a JSON string state; the preview starts with that shape for Span models. */
|
|
355
|
+
export declare const EXAMPLE_SPAN_DECISION_STATE: string;
|
|
356
|
+
/** Documents an embedding preview starts with, one per paragraph: a small help centre in a few topics, with a couple that belong to none. */
|
|
357
|
+
export declare const EXAMPLE_EMBEDDING_TEXT: string;
|
|
358
|
+
/** The question an embedding preview starts with, nearest the first document. */
|
|
359
|
+
export declare const EXAMPLE_EMBEDDING_QUERY = "How do I delete every screenshot on my desktop?";
|
|
360
|
+
/** A new question of `type`, with an id the draft doesn't use yet. */
|
|
361
|
+
export declare function newDecisionQuestion(draft: StudioDraft, type?: DecisionQuestionType): DecisionQuestionDraft;
|
|
362
|
+
/**
|
|
363
|
+
* A picture added from `file`, named after it in the way a reference is written: lowercase, with
|
|
364
|
+
* `_` for anything else, and `_2`, `_3` after a name the draft has.
|
|
365
|
+
*/
|
|
366
|
+
export declare function newDecisionImage(draft: StudioDraft, file: string, image: {
|
|
367
|
+
mimeType: string;
|
|
368
|
+
data: string;
|
|
369
|
+
}): DecisionImageDraft;
|
|
370
|
+
/** The rows a question of `type` starts with: two options, two levels, or none. */
|
|
371
|
+
export declare function newCriteria(type: DecisionQuestionType): DecisionCriterionDraft[];
|
|
372
|
+
/**
|
|
373
|
+
* An empty draft: no profile type chosen, every section at its kernel default
|
|
374
|
+
* except observability, which the studio includes and points at its own
|
|
375
|
+
* trace destination.
|
|
376
|
+
*/
|
|
377
|
+
export declare function createBlankDraft(): StudioDraft;
|
|
378
|
+
/** Required facets for the type plus the included optional ones, in catalog order. */
|
|
379
|
+
export declare function draftFacets(draft: StudioDraft): ProfileGraphFacetId[];
|
|
380
|
+
/** By the kernel's `PROFILE_FIELD_SCOPE`; false until a type is chosen. */
|
|
381
|
+
export declare function draftAllows(draft: StudioDraft, path: string): boolean;
|
|
382
|
+
/** A canary is bound into a system prompt while `canary_leak` reads somewhere. */
|
|
383
|
+
export declare function plantsCanary(draft: StudioDraft): boolean;
|
|
384
|
+
export declare function takesContinueInstruction(draft: StudioDraft): boolean;
|
|
385
|
+
export declare function includableFacets(draft: StudioDraft): ProfileGraphFacetId[];
|
|
386
|
+
/** Updates a binding and keeps the default model attached to it through an id change. */
|
|
387
|
+
export declare function updateModelBinding(draft: StudioDraft, bindingKey: string, change: Partial<ModelBindingDraft>): StudioDraft;
|
|
388
|
+
/**
|
|
389
|
+
* Drops a binding, and the default model with it when it was that one. Model select turns off
|
|
390
|
+
* below two bindings, as on a type switch.
|
|
391
|
+
*/
|
|
392
|
+
export declare function removeModelBinding(draft: StudioDraft, bindingKey: string): StudioDraft;
|
|
393
|
+
/** A new model for the draft's type, starting where `start` puts it, or on no model yet. */
|
|
394
|
+
export declare function newModelBinding(draft: StudioDraft, start?: ModelStart): ModelBindingDraft;
|
|
395
|
+
export declare function newToolSpec(draft: StudioDraft): ToolSpecDraft;
|
|
396
|
+
/** `first` if nothing has taken it, else the first `nth(2)`, `nth(3)`, … that is free. */
|
|
397
|
+
export declare function freeName(first: string, taken: Iterable<string>, nth: (n: number) => string): string;
|
|
398
|
+
/**
|
|
399
|
+
* Bindings whose model the kernel says can't serve the new type are dropped, and so are those
|
|
400
|
+
* `keys` list only for another type; if none remain, a new one starts where `keys` start one. Model select turns off below two bindings. Other sections and
|
|
401
|
+
* `included` are kept, so a facet the type lacks comes back when switching back. A host runs no
|
|
402
|
+
* model, so it keeps the bindings for the way back.
|
|
403
|
+
*/
|
|
404
|
+
export declare function setProfileType(draft: StudioDraft, type: StudioProfileType, keys?: ModelPicks): StudioDraft;
|
|
405
|
+
export declare function includeFacet(draft: StudioDraft, id: ProfileGraphFacetId): StudioDraft;
|
|
406
|
+
/** Its values stay on the draft for when it comes back. */
|
|
407
|
+
export declare function excludeFacet(draft: StudioDraft, id: ProfileGraphFacetId): StudioDraft;
|