@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.
Files changed (473) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +295 -2
  3. package/agreement.d.ts +14 -0
  4. package/agreement.js +80 -0
  5. package/asks.d.ts +47 -0
  6. package/asks.js +54 -0
  7. package/browser-connection.d.ts +49 -0
  8. package/browser-connection.js +215 -0
  9. package/browser-engine.d.ts +11 -0
  10. package/browser-engine.js +11 -0
  11. package/browser-execution.d.ts +6 -0
  12. package/browser-execution.js +18 -0
  13. package/browser-live.d.ts +4 -0
  14. package/browser-live.js +132 -0
  15. package/browser-transport.d.ts +33 -0
  16. package/browser-transport.js +229 -0
  17. package/browser.d.ts +4 -0
  18. package/browser.js +4 -0
  19. package/canonical.d.ts +10 -0
  20. package/canonical.js +25 -0
  21. package/compile-workspace.d.ts +28 -0
  22. package/compile-workspace.js +295 -0
  23. package/compile.d.ts +65 -0
  24. package/compile.js +1605 -0
  25. package/concierge-demo.d.ts +17 -0
  26. package/concierge-demo.js +1230 -0
  27. package/conversation-key.d.ts +5 -0
  28. package/conversation-key.js +10 -0
  29. package/decision-example-images.d.ts +30 -0
  30. package/decision-example-images.js +30 -0
  31. package/deno.json +3 -0
  32. package/draft.d.ts +407 -0
  33. package/draft.js +505 -0
  34. package/editors.d.ts +29 -0
  35. package/editors.js +51 -0
  36. package/example-embedding-files.d.ts +11 -0
  37. package/example-embedding-files.js +20 -0
  38. package/example.d.ts +36 -0
  39. package/example.js +357 -0
  40. package/guardrail-probe.d.ts +100 -0
  41. package/guardrail-probe.js +722 -0
  42. package/held-credentials.d.ts +28 -0
  43. package/held-credentials.js +87 -0
  44. package/installed.mjs +40 -0
  45. package/lent-keys.d.ts +122 -0
  46. package/lent-keys.js +47 -0
  47. package/line-diff.d.ts +15 -0
  48. package/line-diff.js +41 -0
  49. package/live-connection.d.ts +22 -0
  50. package/live-connection.js +27 -0
  51. package/live-session-bridge.d.ts +15 -0
  52. package/live-session-bridge.js +202 -0
  53. package/map-line.d.ts +19 -0
  54. package/map-line.js +42 -0
  55. package/map.d.ts +154 -0
  56. package/map.js +525 -0
  57. package/media-accept.d.ts +19 -0
  58. package/media-accept.js +65 -0
  59. package/mod.d.ts +39 -0
  60. package/mod.js +33 -0
  61. package/origins.d.ts +52 -0
  62. package/origins.js +165 -0
  63. package/package.json +85 -4
  64. package/page/assets/Banner-BISz3nXA.js +2 -0
  65. package/page/assets/BottomSheet-BwfBDtje.js +1 -0
  66. package/page/assets/Card-Lp-0P5eL.js +1 -0
  67. package/page/assets/CardWall-CBRLdDZW.js +1 -0
  68. package/page/assets/Center-nHS1JSux.js +1 -0
  69. package/page/assets/CheckboxInput-Cj5pk-KI.js +2 -0
  70. package/page/assets/CodeBlock-C7XJ4ioE.js +51 -0
  71. package/page/assets/CollapsibleGroup-N7_SOjbm.js +2 -0
  72. package/page/assets/ContextMenu-CBu9H-9H.js +2 -0
  73. package/page/assets/DateInput-BGrQ5tPC.js +1 -0
  74. package/page/assets/Dialog-DELWQo-v.js +1 -0
  75. package/page/assets/EmptyState-C8W4JKBZ.js +1 -0
  76. package/page/assets/HoverCard-D1Y1ltWQ.js +1 -0
  77. package/page/assets/Icon-JrysT8aU.js +3 -0
  78. package/page/assets/IconAlertTriangle-BqAEqqdU.js +1 -0
  79. package/page/assets/IconButton-DlOGzJIX.js +1 -0
  80. package/page/assets/IconEye-BB5aY-wQ.js +1 -0
  81. package/page/assets/IconFileText-6zOFKKrF.js +1 -0
  82. package/page/assets/IconSearch-BTx66a40.js +1 -0
  83. package/page/assets/IconShield-DDOh7Gr5.js +1 -0
  84. package/page/assets/ItemSwipeLayer-Ckn4X6h9.js +1 -0
  85. package/page/assets/PaneState-BvA2tLQg.js +1 -0
  86. package/page/assets/PaneState-eUzUkNE8.css +1 -0
  87. package/page/assets/ScrollableArea-Ckugdj1N.js +1 -0
  88. package/page/assets/Section-DJ97F7QE.js +1 -0
  89. package/page/assets/SegmentedControlItem-h-aaXzyS.js +1 -0
  90. package/page/assets/SidePanel-BL32abk8.js +1 -0
  91. package/page/assets/StackItem-CQviqAfM.js +1 -0
  92. package/page/assets/Text-bum6zWWx.js +2 -0
  93. package/page/assets/TimestampHoverCard-DQIG0RZF.js +1 -0
  94. package/page/assets/ToolResultCharts-CgshSv9Q.js +1 -0
  95. package/page/assets/Tooltip-BH9xiRMl.js +1 -0
  96. package/page/assets/TraceInspector-_yZiz05W.js +1 -0
  97. package/page/assets/TraceOverview-BPO-HIYK.js +57 -0
  98. package/page/assets/VStack-CkVMcNiK.js +1 -0
  99. package/page/assets/_virtual_studio-type-sources-ByxqQaOG.js +12936 -0
  100. package/page/assets/arrive-DvbqpeRS.js +1 -0
  101. package/page/assets/browser-engine-CYq9DQAM.js +9 -0
  102. package/page/assets/browser-transport-D-2jDYe7.js +47 -0
  103. package/page/assets/codicon-DF1abBS2.ttf +0 -0
  104. package/page/assets/compile-egress-BSxOdX4K.js +23 -0
  105. package/page/assets/container.stylex-BmOi-8DQ.js +1 -0
  106. package/page/assets/createReactComponent-CZwsv6DD.js +1 -0
  107. package/page/assets/decision-example-images-CZGr7YIT.js +1 -0
  108. package/page/assets/devWarning-DxuplmRl.js +1 -0
  109. package/page/assets/editor-DjpsE8to.css +1 -0
  110. package/page/assets/editor.api-Cd3ViPQa.js +908 -0
  111. package/page/assets/editor.worker-6GY8RhDc.js +1 -0
  112. package/page/assets/editor.worker-BmdWdrHZ.js +33 -0
  113. package/page/assets/editors-BJX_S59A.js +1 -0
  114. package/page/assets/egress-automata-B5ZGE1mT.js +1 -0
  115. package/page/assets/embedding-space-view-CfQBPDxD.js +140 -0
  116. package/page/assets/encode-files-Bc3HJyAh.js +1 -0
  117. package/page/assets/export-agent-C3yyzXH8.js +43 -0
  118. package/page/assets/figtree-latin-400-normal-BD4aNku5.woff +0 -0
  119. package/page/assets/figtree-latin-400-normal-g7Dtegnw.woff2 +0 -0
  120. package/page/assets/figtree-latin-500-normal-BWnGEVsr.woff2 +0 -0
  121. package/page/assets/figtree-latin-500-normal-B_yy1phn.woff +0 -0
  122. package/page/assets/figtree-latin-600-normal-BM_oTo4n.woff +0 -0
  123. package/page/assets/figtree-latin-600-normal-Cv_xCTDl.woff2 +0 -0
  124. package/page/assets/figtree-latin-700-normal-BCCt2T1q.woff +0 -0
  125. package/page/assets/figtree-latin-700-normal-th6qEP7c.woff2 +0 -0
  126. package/page/assets/focusOutline.stylex-BT0kfa4t.js +1 -0
  127. package/page/assets/focusableSelector-DXZeMU85.js +1 -0
  128. package/page/assets/groupStyles-C7Ter7zC.js +1 -0
  129. package/page/assets/guardrail-tester-Gut5xK4a.js +9 -0
  130. package/page/assets/host-patterns-C9RMP16Q.js +1 -0
  131. package/page/assets/index-CvvmFKgS.js +105 -0
  132. package/page/assets/index-DOaHlqBo.css +1 -0
  133. package/page/assets/isRtlElement-BG33-k_H.js +1 -0
  134. package/page/assets/labels-provider-4TIWDvsE.js +3 -0
  135. package/page/assets/lent-keys-C32ems-I.js +1 -0
  136. package/page/assets/live-ingress-lDUGPwth.js +1 -0
  137. package/page/assets/live-messages-CnkL4GWi.js +1 -0
  138. package/page/assets/mergeProps-ptS-gIMz.js +1 -0
  139. package/page/assets/padding.stylex-B76907Zf.js +1 -0
  140. package/page/assets/preload-helper-DpV6A1kQ.js +1 -0
  141. package/page/assets/reader-BOCCYaRp.js +7 -0
  142. package/page/assets/register-CDgivxvX.js +2 -0
  143. package/page/assets/rolldown-runtime-hePW80VL.js +1 -0
  144. package/page/assets/schemas-BQ9Jydzb.js +56 -0
  145. package/page/assets/shaped-data-BcarWqd5.js +16 -0
  146. package/page/assets/sharedResizeObserver-4U9Xq5Oq.js +1 -0
  147. package/page/assets/stub-DhdcU_Ew.js +471 -0
  148. package/page/assets/studio-code-pane-C_SAbcOa.js +8 -0
  149. package/page/assets/studio-console-DZwlEsvr.js +3 -0
  150. package/page/assets/studio-decision-B0FnCAXA.js +1 -0
  151. package/page/assets/studio-embedding-CmA51HVo.js +2 -0
  152. package/page/assets/studio-host-console-By7hqu2l.js +2 -0
  153. package/page/assets/studio-live-BrcVQcyV.js +1 -0
  154. package/page/assets/studio-map-B_xSia-z.js +1 -0
  155. package/page/assets/studio-map-Bb06Tw1F.css +1 -0
  156. package/page/assets/studio-monaco-CbKf90i6.css +1 -0
  157. package/page/assets/studio-monaco-xfyfezQS.js +34 -0
  158. package/page/assets/studio-ts.worker-B-EXG4Sv.js +67741 -0
  159. package/page/assets/studio-ts.worker-BXtW3z-O.js +1 -0
  160. package/page/assets/studio-type-checker-BOvxudki.js +23 -0
  161. package/page/assets/themeProps-3IqahpCr.js +1 -0
  162. package/page/assets/tokens.stylex-DkHf0P9C.js +1 -0
  163. package/page/assets/tool-schema-idaOe2nI.js +18 -0
  164. package/page/assets/trace-patterns-DnYJa0nI.js +1 -0
  165. package/page/assets/trace-record-C3zNksA_.js +1 -0
  166. package/page/assets/trace-schema-9CdEyG6Q.js +1 -0
  167. package/page/assets/tree-DqyAMsbI.js +3 -0
  168. package/page/assets/turn-client-Du3Um3Mg.js +2 -0
  169. package/page/assets/types-BhfXQCLx.js +1 -0
  170. package/page/assets/typescript-20GgZ8PJ.js +1 -0
  171. package/page/assets/use-one-call-Hcs8YBp1.js +1 -0
  172. package/page/assets/useAdaptivePresentation-BzmPCddb.js +1 -0
  173. package/page/assets/useClipboard-BgGRxRMJ.js +1 -0
  174. package/page/assets/useContainerReveal-BFy8N_QU.js +1 -0
  175. package/page/assets/useDevWarning-Z9SoixOP.js +1 -0
  176. package/page/assets/useLayerDismissal-B_G7IWpC.js +1 -0
  177. package/page/assets/useMediaQuery-BCT0NUeZ.js +1 -0
  178. package/page/assets/useScrollLock-Dyf6PHJt.js +1 -0
  179. package/page/assets/useScrollableArea-0NzdiBCq.js +1 -0
  180. package/page/assets/useTooltip-CJM_xhLB.js +1 -0
  181. package/page/assets/workspace-DZALqEDX.js +1 -0
  182. package/page/assets/zip-DTcEfps6.js +1 -0
  183. package/page/index.html +90 -0
  184. package/page.mjs +49 -0
  185. package/people.d.ts +87 -0
  186. package/people.js +110 -0
  187. package/policy.d.ts +43 -0
  188. package/policy.js +102 -0
  189. package/ports.d.mts +32 -0
  190. package/ports.mjs +85 -0
  191. package/probe-battery.d.ts +13 -0
  192. package/probe-battery.js +404 -0
  193. package/providers.d.ts +149 -0
  194. package/providers.js +306 -0
  195. package/read-source.d.ts +48 -0
  196. package/read-source.js +1301 -0
  197. package/read-steps.d.ts +23 -0
  198. package/read-steps.js +2 -0
  199. package/reader.d.ts +11 -0
  200. package/reader.js +11 -0
  201. package/registrations.d.ts +83 -0
  202. package/registrations.js +1 -0
  203. package/requirements.d.ts +22 -0
  204. package/requirements.js +38 -0
  205. package/run-payload-core.d.ts +28 -0
  206. package/run-payload-core.js +123 -0
  207. package/run-payload.d.ts +32 -0
  208. package/run-payload.js +26 -0
  209. package/runtime-scope.d.ts +84 -0
  210. package/runtime-scope.js +308 -0
  211. package/runtime.d.ts +84 -0
  212. package/runtime.js +387 -0
  213. package/section-notes.d.ts +33 -0
  214. package/section-notes.js +38 -0
  215. package/serve-page.mjs +96 -0
  216. package/server/draft-decide.d.ts +72 -0
  217. package/server/draft-decide.js +111 -0
  218. package/server/draft-embedding.d.ts +3 -0
  219. package/server/draft-embedding.js +35 -0
  220. package/server/draft-handler.d.ts +82 -0
  221. package/server/draft-handler.js +213 -0
  222. package/server/draft-probe.d.ts +14 -0
  223. package/server/draft-probe.js +61 -0
  224. package/server/draft-replies.d.ts +22 -0
  225. package/server/draft-replies.js +46 -0
  226. package/server/edited-session.d.ts +28 -0
  227. package/server/edited-session.js +83 -0
  228. package/server/edits.d.ts +38 -0
  229. package/server/edits.js +195 -0
  230. package/server/handler.d.ts +133 -0
  231. package/server/handler.js +598 -0
  232. package/server/lent-draft.d.ts +19 -0
  233. package/server/lent-draft.js +23 -0
  234. package/server/live.d.ts +15 -0
  235. package/server/live.js +96 -0
  236. package/server/open-editor.d.ts +63 -0
  237. package/server/open-editor.js +115 -0
  238. package/server/origins.d.ts +18 -0
  239. package/server/origins.js +330 -0
  240. package/server/project-source.d.ts +208 -0
  241. package/server/project-source.js +1042 -0
  242. package/server/project.d.ts +22 -0
  243. package/server/project.js +56 -0
  244. package/server/run-traces.d.ts +20 -0
  245. package/server/run-traces.js +96 -0
  246. package/server/save-new.d.ts +29 -0
  247. package/server/save-new.js +514 -0
  248. package/server/save-plan.d.ts +46 -0
  249. package/server/save-plan.js +1134 -0
  250. package/server/save-remove.d.ts +21 -0
  251. package/server/save-remove.js +528 -0
  252. package/server/save-session.d.ts +96 -0
  253. package/server/save-session.js +418 -0
  254. package/server/save-wire.d.ts +235 -0
  255. package/server/save-wire.js +8 -0
  256. package/server/save.d.ts +52 -0
  257. package/server/save.js +209 -0
  258. package/server/serve.d.ts +23 -0
  259. package/server/serve.js +413 -0
  260. package/server/test-connection.d.ts +17 -0
  261. package/server/test-connection.js +362 -0
  262. package/server/test-key.d.ts +2 -0
  263. package/server/test-key.js +83 -0
  264. package/server/watch.d.ts +28 -0
  265. package/server/watch.js +93 -0
  266. package/server/zod-edit.d.ts +74 -0
  267. package/server/zod-edit.js +558 -0
  268. package/server.d.ts +8 -0
  269. package/server.js +8 -0
  270. package/setups.mjs +170 -0
  271. package/shared-carry.d.ts +114 -0
  272. package/shared-carry.js +523 -0
  273. package/shared-settings.d.ts +34 -0
  274. package/shared-settings.js +70 -0
  275. package/source.d.ts +75 -0
  276. package/source.js +414 -0
  277. package/start.mjs +169 -0
  278. package/stream-lines.d.ts +9 -0
  279. package/stream-lines.js +27 -0
  280. package/stub.d.ts +6 -0
  281. package/stub.js +33 -0
  282. package/surface.d.ts +53 -0
  283. package/surface.js +631 -0
  284. package/system-markup.d.ts +20 -0
  285. package/system-markup.js +51 -0
  286. package/tool-schema.d.ts +23 -0
  287. package/tool-schema.js +69 -0
  288. package/tools.d.ts +16 -0
  289. package/tools.js +91 -0
  290. package/traces.d.ts +24 -0
  291. package/traces.js +29 -0
  292. package/transport.d.ts +57 -0
  293. package/transport.js +187 -0
  294. package/tree.d.ts +32 -0
  295. package/tree.js +83 -0
  296. package/types.d.ts +62 -0
  297. package/types.js +6 -0
  298. package/ui/acting-as-button.d.ts +2 -0
  299. package/ui/acting-as-button.js +16 -0
  300. package/ui/add-provider.d.ts +13 -0
  301. package/ui/add-provider.js +20 -0
  302. package/ui/boot-mark.css +53 -0
  303. package/ui/boot-mark.d.ts +19 -0
  304. package/ui/boot-mark.js +128 -0
  305. package/ui/boot-paint.d.ts +8 -0
  306. package/ui/boot-paint.js +8 -0
  307. package/ui/brand-icons.d.ts +57 -0
  308. package/ui/brand-icons.js +148 -0
  309. package/ui/built/theme.css +830 -0
  310. package/ui/built/theme.css.d.ts +9 -0
  311. package/ui/built/theorem-studio.d.ts +13 -0
  312. package/ui/built/theorem-studio.js +705 -0
  313. package/ui/built/theorem-studio.variants.d.ts +28 -0
  314. package/ui/code/monaco-contributions.d.ts +45 -0
  315. package/ui/code/studio-code.d.ts +7 -0
  316. package/ui/code/studio-code.js +253 -0
  317. package/ui/code/studio-monaco.d.ts +44 -0
  318. package/ui/code/studio-monaco.js +48 -0
  319. package/ui/code/studio-ts.worker.d.ts +1 -0
  320. package/ui/code/studio-ts.worker.js +16 -0
  321. package/ui/code/studio-type-checker.d.ts +12 -0
  322. package/ui/code/studio-type-checker.js +308 -0
  323. package/ui/code/studio-type-sources.d.ts +26 -0
  324. package/ui/confirm-write.d.ts +12 -0
  325. package/ui/confirm-write.js +45 -0
  326. package/ui/diff-block.d.ts +21 -0
  327. package/ui/diff-block.js +17 -0
  328. package/ui/figtree.css +59 -0
  329. package/ui/file-place.d.ts +4 -0
  330. package/ui/file-place.js +26 -0
  331. package/ui/guardrail-tester.d.ts +18 -0
  332. package/ui/guardrail-tester.js +248 -0
  333. package/ui/inspector-context.d.ts +119 -0
  334. package/ui/inspector-context.js +84 -0
  335. package/ui/inspector.d.ts +247 -0
  336. package/ui/inspector.js +284 -0
  337. package/ui/lib/acting-as.d.ts +25 -0
  338. package/ui/lib/acting-as.js +90 -0
  339. package/ui/lib/boot-sequence.d.ts +32 -0
  340. package/ui/lib/boot-sequence.js +57 -0
  341. package/ui/lib/export-agent.d.ts +11 -0
  342. package/ui/lib/export-agent.js +335 -0
  343. package/ui/lib/facet-icons.d.ts +20 -0
  344. package/ui/lib/facet-icons.js +21 -0
  345. package/ui/lib/panel-motion.d.ts +8 -0
  346. package/ui/lib/panel-motion.js +74 -0
  347. package/ui/lib/project-address.d.ts +14 -0
  348. package/ui/lib/project-address.js +24 -0
  349. package/ui/lib/project-starting.d.ts +13 -0
  350. package/ui/lib/project-starting.js +30 -0
  351. package/ui/lib/project-traces.d.ts +17 -0
  352. package/ui/lib/project-traces.js +54 -0
  353. package/ui/lib/read-map.d.ts +30 -0
  354. package/ui/lib/read-map.js +173 -0
  355. package/ui/lib/read-progress.d.ts +14 -0
  356. package/ui/lib/read-progress.js +12 -0
  357. package/ui/lib/refusal-lines.d.ts +3 -0
  358. package/ui/lib/refusal-lines.js +8 -0
  359. package/ui/lib/studio-activity.d.ts +5 -0
  360. package/ui/lib/studio-activity.js +17 -0
  361. package/ui/lib/studio-console.d.ts +27 -0
  362. package/ui/lib/studio-console.js +9 -0
  363. package/ui/lib/studio-conversation.d.ts +20 -0
  364. package/ui/lib/studio-conversation.js +130 -0
  365. package/ui/lib/studio-examples.d.ts +31 -0
  366. package/ui/lib/studio-examples.js +25 -0
  367. package/ui/lib/studio-labels.d.ts +6 -0
  368. package/ui/lib/studio-labels.js +13 -0
  369. package/ui/lib/studio-map-kept.d.ts +17 -0
  370. package/ui/lib/studio-map-kept.js +48 -0
  371. package/ui/lib/studio-open.d.ts +22 -0
  372. package/ui/lib/studio-open.js +54 -0
  373. package/ui/lib/studio-page.d.ts +33 -0
  374. package/ui/lib/studio-page.js +121 -0
  375. package/ui/lib/studio-prefs.d.ts +26 -0
  376. package/ui/lib/studio-prefs.js +87 -0
  377. package/ui/lib/studio-project.d.ts +106 -0
  378. package/ui/lib/studio-project.js +177 -0
  379. package/ui/lib/studio-restore.d.ts +49 -0
  380. package/ui/lib/studio-restore.js +251 -0
  381. package/ui/lib/studio-run-open.d.ts +15 -0
  382. package/ui/lib/studio-run-open.js +16 -0
  383. package/ui/lib/studio-session.d.ts +34 -0
  384. package/ui/lib/studio-session.js +17 -0
  385. package/ui/lib/studio-settings.d.ts +15 -0
  386. package/ui/lib/studio-settings.js +48 -0
  387. package/ui/lib/studio-store.d.ts +64 -0
  388. package/ui/lib/studio-store.js +391 -0
  389. package/ui/lib/studio-watch.d.ts +12 -0
  390. package/ui/lib/studio-watch.js +27 -0
  391. package/ui/lib/tab-fills.d.ts +6 -0
  392. package/ui/lib/tab-fills.js +14 -0
  393. package/ui/lib/tool-credentials.d.ts +3 -0
  394. package/ui/lib/tool-credentials.js +23 -0
  395. package/ui/lib/tool-probe.d.ts +19 -0
  396. package/ui/lib/tool-probe.js +104 -0
  397. package/ui/lib/type-icons.d.ts +35 -0
  398. package/ui/lib/type-icons.js +38 -0
  399. package/ui/lib/when-idle.d.ts +5 -0
  400. package/ui/lib/when-idle.js +14 -0
  401. package/ui/lib/zip.d.ts +5 -0
  402. package/ui/lib/zip.js +8 -0
  403. package/ui/map-token.css +11 -0
  404. package/ui/map-token.d.ts +17 -0
  405. package/ui/map-token.js +29 -0
  406. package/ui/mcp-icon.d.ts +6 -0
  407. package/ui/mcp-icon.js +8 -0
  408. package/ui/motion.css +113 -0
  409. package/ui/pan.d.ts +32 -0
  410. package/ui/pan.js +90 -0
  411. package/ui/profile-editor.d.ts +33 -0
  412. package/ui/profile-editor.js +2638 -0
  413. package/ui/provider-editor.d.ts +15 -0
  414. package/ui/provider-editor.js +92 -0
  415. package/ui/read-map.css +48 -0
  416. package/ui/read-map.d.ts +7 -0
  417. package/ui/read-map.js +163 -0
  418. package/ui/refusal-detail.d.ts +4 -0
  419. package/ui/refusal-detail.js +21 -0
  420. package/ui/shared-change.d.ts +9 -0
  421. package/ui/shared-change.js +28 -0
  422. package/ui/shell-motion.css +121 -0
  423. package/ui/shell-motion.d.ts +73 -0
  424. package/ui/shell-motion.js +194 -0
  425. package/ui/studio-code-pane.d.ts +19 -0
  426. package/ui/studio-code-pane.js +44 -0
  427. package/ui/studio-compare.d.ts +80 -0
  428. package/ui/studio-compare.js +326 -0
  429. package/ui/studio-conflicts.d.ts +17 -0
  430. package/ui/studio-conflicts.js +87 -0
  431. package/ui/studio-connection.d.ts +64 -0
  432. package/ui/studio-connection.js +286 -0
  433. package/ui/studio-decision.d.ts +6 -0
  434. package/ui/studio-decision.js +49 -0
  435. package/ui/studio-embedding.d.ts +6 -0
  436. package/ui/studio-embedding.js +30 -0
  437. package/ui/studio-host-console.d.ts +6 -0
  438. package/ui/studio-host-console.js +17 -0
  439. package/ui/studio-host.d.ts +73 -0
  440. package/ui/studio-host.js +12 -0
  441. package/ui/studio-live.d.ts +17 -0
  442. package/ui/studio-live.js +26 -0
  443. package/ui/studio-map.css +273 -0
  444. package/ui/studio-map.d.ts +17 -0
  445. package/ui/studio-map.js +397 -0
  446. package/ui/studio-nav.d.ts +24 -0
  447. package/ui/studio-nav.js +17 -0
  448. package/ui/studio-no-project.d.ts +5 -0
  449. package/ui/studio-no-project.js +9 -0
  450. package/ui/studio-run.css +76 -0
  451. package/ui/studio-run.d.ts +14 -0
  452. package/ui/studio-run.js +119 -0
  453. package/ui/studio-runner.d.ts +45 -0
  454. package/ui/studio-runner.js +187 -0
  455. package/ui/studio-save.d.ts +49 -0
  456. package/ui/studio-save.js +307 -0
  457. package/ui/studio-screen.d.ts +61 -0
  458. package/ui/studio-screen.js +2078 -0
  459. package/ui/studio-settings.d.ts +31 -0
  460. package/ui/studio-settings.js +288 -0
  461. package/ui/studio-shell.css +27 -0
  462. package/ui/studio-shell.d.ts +43 -0
  463. package/ui/studio-shell.js +87 -0
  464. package/ui/studio-theme.d.ts +7 -0
  465. package/ui/studio-theme.js +94 -0
  466. package/ui/studio.css +427 -0
  467. package/ui/theorem-mark.css +84 -0
  468. package/ui/theorem-mark.d.ts +22 -0
  469. package/ui/theorem-mark.js +21 -0
  470. package/vite.d.mts +30 -0
  471. package/vite.mjs +277 -0
  472. package/workspace.d.ts +230 -0
  473. package/workspace.js +1054 -0
package/types.d.ts ADDED
@@ -0,0 +1,62 @@
1
+ import { type AuthUnauthenticatedPolicy, type CustomToolType, type HttpMethod, type StudioAuthType, type ToolAccess, type ToolLoadTier, type ToolPermission } from '@theoremjs/agents/schema';
2
+ /** The tool types a studio draft builds. */
3
+ export type StudioToolType = CustomToolType;
4
+ /** Those types, in the kernel's order. `builtin` is not one a draft builds. */
5
+ export declare const STUDIO_TOOL_TYPES: CustomToolType[];
6
+ /** What a file or a draft is told when a tool's type is not one of those. */
7
+ export declare const STUDIO_TOOL_TYPE_MESSAGE: string;
8
+ /** Serializable tool facet seed — UI adds `kind` / `expanded` in the frontend. */
9
+ export type StudioToolSpecSeed = {
10
+ toolName: string;
11
+ toolType: StudioToolType;
12
+ description: string;
13
+ category: string;
14
+ access: ToolAccess;
15
+ permission: ToolPermission;
16
+ loadTier: ToolLoadTier;
17
+ paths: string[];
18
+ inputJson: string;
19
+ outputJson: string;
20
+ activity?: string;
21
+ activityPast?: string;
22
+ activityFailed?: string;
23
+ request?: string;
24
+ stubOutputJson?: string;
25
+ /** A function tool the page answers; the studio's page answers with the stub. */
26
+ answeredBy?: 'page';
27
+ endpoint?: string;
28
+ method?: HttpMethod;
29
+ headersJson?: string;
30
+ pathParams?: string[];
31
+ queryParams?: string[];
32
+ bodyParam?: string;
33
+ serverUrl?: string;
34
+ mcpToolName?: string;
35
+ /** An agent tool's agent, by its workspace key. */
36
+ agentKey?: string;
37
+ /** An agent tool's calls in one turn of its caller; `null` or absent: no cap but max steps. */
38
+ maxCallsPerTurn?: number | null;
39
+ authType?: StudioAuthType;
40
+ authSlot?: string;
41
+ authService?: string;
42
+ authHeaderName?: string;
43
+ authHeaderPrefix?: string;
44
+ /** An API key's query parameter: set, the key goes in the URL and in no header. */
45
+ authQueryParam?: string;
46
+ authUnauthenticated?: AuthUnauthenticatedPolicy;
47
+ authScopes?: string[];
48
+ authClientId?: string;
49
+ authRedirectUri?: string;
50
+ };
51
+ export type StudioToolSeed = {
52
+ id: string;
53
+ data: StudioToolSpecSeed;
54
+ };
55
+ export type StudioInputsSpec = {
56
+ text: boolean;
57
+ attachmentsAccept: readonly string[];
58
+ voiceAccept: readonly string[];
59
+ maxFiles: number;
60
+ maxBytes: number;
61
+ maxTurnBytes: number;
62
+ };
package/types.js ADDED
@@ -0,0 +1,6 @@
1
+ import { TOOL_TYPES, } from '@theoremjs/agents/schema';
2
+ /** Those types, in the kernel's order. `builtin` is not one a draft builds. */
3
+ export const STUDIO_TOOL_TYPES = TOOL_TYPES.filter((type) => type !== 'builtin');
4
+ const toolTypeList = STUDIO_TOOL_TYPES.join(', ').replace(/, ([^,]+)$/, ', or $1');
5
+ /** What a file or a draft is told when a tool's type is not one of those. */
6
+ export const STUDIO_TOOL_TYPE_MESSAGE = `Tool type must be ${toolTypeList}.`;
@@ -0,0 +1,2 @@
1
+ /** Who runs act as, in the chat's header: opens the People settings, where the pick is made. */
2
+ export declare function ActingAsButton(): import("react").JSX.Element | null;
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Button } from '@astryxdesign/core/Button';
3
+ import { Icon } from '@astryxdesign/core/Icon';
4
+ import { IconUser } from '@tabler/icons-react';
5
+ import { useActingAs } from "./lib/acting-as.js";
6
+ import { openSettings } from "./lib/studio-settings.js";
7
+ /** Who runs act as, in the chat's header: opens the People settings, where the pick is made. */
8
+ export function ActingAsButton() {
9
+ const { offer, problem, actingAs } = useActingAs();
10
+ if (!offer && !problem)
11
+ return null;
12
+ const place = actingAs && offer?.places.find((each) => each.id === actingAs.place);
13
+ return (_jsx(Button, { label: actingAs ? `As: ${actingAs.person.label} · ${place?.label ?? actingAs.place}` : 'No one', variant: "ghost", size: "sm", icon: _jsx(Icon, { icon: IconUser, size: "sm" }), tooltip: "Who this run acts as", onClick: () => {
14
+ openSettings('people');
15
+ } }));
16
+ }
@@ -0,0 +1,13 @@
1
+ import { type StudioProvider } from '../mod.ts';
2
+ /**
3
+ * Adds a provider to the project from the first of `definitions`, under the first free id, and
4
+ * hands it to `onAdd`, which opens its page: its id, definition, connection, and key slots are set
5
+ * there. `taken` are the ids the workspace already holds. Compact, it is an icon beside a picker,
6
+ * whose `definitions` are those that serve what picks.
7
+ */
8
+ export declare function AddProviderButton({ taken, onAdd, definitions, isCompact, }: {
9
+ taken: readonly string[];
10
+ onAdd: (provider: StudioProvider) => void;
11
+ definitions?: readonly string[];
12
+ isCompact?: boolean;
13
+ }): import("react").JSX.Element;
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Button } from '@astryxdesign/core/Button';
3
+ import { Icon } from '@astryxdesign/core/Icon';
4
+ import { IconButton } from '@astryxdesign/core/IconButton';
5
+ import { IconPlus } from '@tabler/icons-react';
6
+ import { kernelDefinitions, newProvider } from "../mod.js";
7
+ /**
8
+ * Adds a provider to the project from the first of `definitions`, under the first free id, and
9
+ * hands it to `onAdd`, which opens its page: its id, definition, connection, and key slots are set
10
+ * there. `taken` are the ids the workspace already holds. Compact, it is an icon beside a picker,
11
+ * whose `definitions` are those that serve what picks.
12
+ */
13
+ export function AddProviderButton({ taken, onAdd, definitions = kernelDefinitions(), isCompact = false, }) {
14
+ const add = () => {
15
+ const [definition] = definitions;
16
+ if (definition)
17
+ onAdd(newProvider(taken, definition));
18
+ };
19
+ return isCompact ? (_jsx(IconButton, { label: "New provider", variant: "ghost", size: "sm", icon: _jsx(Icon, { icon: IconPlus, size: "sm" }), tooltip: "New provider", onClick: add })) : (_jsx(Button, { label: "Add provider", variant: "ghost", size: "sm", width: "100%", icon: _jsx(Icon, { icon: IconPlus, size: "sm" }), style: { height: 'calc(var(--size-element-sm) - 4px)' }, onClick: add }));
20
+ }
@@ -0,0 +1,53 @@
1
+ /* First load: the pen waits a beat, then finishes, dot included. A page that is ready inside that
2
+ beat never shows the mark (boot-mark.tsx reads the delay as the answer). */
3
+ [data-boot] .theorem-mark {
4
+ --mark-delay: 240ms;
5
+ --mark-draw: 620ms;
6
+ --mark-draw-late: 560ms;
7
+ --mark-stagger: 200ms;
8
+ --mark-dot-at: 780ms;
9
+ --mark-dot-in: 220ms;
10
+ }
11
+
12
+ [data-boot] {
13
+ position: absolute;
14
+ inset: 0;
15
+ z-index: 2;
16
+ display: grid;
17
+ place-items: center;
18
+ /* Literal, matching the inline paint in boot-paint.ts. The mark sits in the shell,
19
+ outside the theme scope, so a surface token here is the library default. */
20
+ color: #fff;
21
+ background: #262626;
22
+ }
23
+
24
+ /* A project being read: the mark has given way and the shell is its own surface again. Once it
25
+ has pulled in beside the rail, the loader is that panel, and the map draws on it. */
26
+ [data-boot]:not([data-phase="draw"]) {
27
+ background: none;
28
+ }
29
+
30
+ @media (width >= 768px) {
31
+ html[data-shell-move] [data-boot]:not([data-phase="draw"]) {
32
+ inset: var(--spacing-4) var(--spacing-4) var(--spacing-4) var(--spacing-12);
33
+ }
34
+ }
35
+
36
+ /* The map fades out before the panel pulls in to the page. */
37
+ [data-boot] .read-map {
38
+ transition: opacity var(--shell-hold-ms) ease;
39
+ }
40
+
41
+ [data-boot][data-phase="leave"] .read-map {
42
+ opacity: 0;
43
+ }
44
+
45
+ /* Words for a screen reader only. */
46
+ .boot-said {
47
+ position: absolute;
48
+ width: 1px;
49
+ height: 1px;
50
+ overflow: hidden;
51
+ clip-path: inset(50%);
52
+ white-space: nowrap;
53
+ }
@@ -0,0 +1,19 @@
1
+ import type { Reading } from './lib/read-progress.ts';
2
+ import { type ShellShape } from './shell-motion.ts';
3
+ export interface BootMarkProps {
4
+ /** The shape the shell rests in for the page on screen, read when the mark gives way. */
5
+ shape: () => ShellShape;
6
+ /** Settles when the page under the mark is on screen. Left out, the page is ready with its fonts. */
7
+ ready?: Promise<unknown>;
8
+ /**
9
+ * A project being read for the page. With it, the drawn mark gives way, the panel pulls in
10
+ * beside the rail and the read is drawn there as a map. When the map has drawn all of it, the
11
+ * panel pulls in to the page's shape.
12
+ */
13
+ reading?: Reading;
14
+ }
15
+ /**
16
+ * Draws inside the shell panel. The shell starts full-bleed; this only decides when that panel
17
+ * pulls in over the page.
18
+ */
19
+ export declare function BootMark(props: BootMarkProps): import("react").JSX.Element | null;
@@ -0,0 +1,128 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * The loader: the mark draws on the full-bleed shell, then that same panel pulls in to the shape of
4
+ * the page it opens. The website and the studio on its own both mount this in their shell. The
5
+ * studio also reads a project: its panel pulls in beside the rail first and the read is drawn there
6
+ * as it does.
7
+ */
8
+ import { useEffect, useRef, useState } from 'react';
9
+ import { runBoot } from "./lib/boot-sequence.js";
10
+ import { ReadMap } from "./read-map.js";
11
+ import { bootHasPlayed, HOLD_MS as FADE_MS, prefersReducedMotion, pullShellIn, revealShell, sleep, } from "./shell-motion.js";
12
+ import { TheoremMark } from "./theorem-mark.js";
13
+ import './boot-mark.css';
14
+ const DRAW_CAP_MS = 2800;
15
+ const FONT_CAP_MS = 500;
16
+ /** Resolves when the mark's dot has drawn in, at once with reduced motion, or after the cap. */
17
+ function markDrawn(root, reduced) {
18
+ return new Promise((resolve) => {
19
+ if (reduced) {
20
+ resolve();
21
+ return;
22
+ }
23
+ const dot = root.querySelector('.theorem-mark-dot');
24
+ const cap = globalThis.setTimeout(resolve, DRAW_CAP_MS);
25
+ const finish = () => {
26
+ globalThis.clearTimeout(cap);
27
+ resolve();
28
+ };
29
+ if (!(dot instanceof SVGCircleElement)) {
30
+ finish();
31
+ return;
32
+ }
33
+ const finished = dot.getAnimations().some((animation) => animation.playState === 'finished');
34
+ if (finished) {
35
+ finish();
36
+ return;
37
+ }
38
+ const onEnd = (event) => {
39
+ if (event.animationName !== 'theorem-mark-dot-in')
40
+ return;
41
+ dot.removeEventListener('animationend', onEnd);
42
+ finish();
43
+ };
44
+ dot.addEventListener('animationend', onEnd);
45
+ });
46
+ }
47
+ /** Whether the pen has begun. Until it does, the panel is blank and there is nothing to wait out. */
48
+ function penHasStarted(root) {
49
+ const pen = root.querySelector('.theorem-mark-stroke')?.getAnimations()[0];
50
+ const delay = pen?.effect?.getTiming().delay ?? 0;
51
+ return Number(pen?.currentTime ?? 0) > delay;
52
+ }
53
+ /** Resolves when the fonts are ready, or after the cap. */
54
+ function fontsSettled() {
55
+ return Promise.race([document.fonts.ready.then(() => undefined), sleep(FONT_CAP_MS)]);
56
+ }
57
+ /**
58
+ * The mark draws in the shell only when the page is still loading. When the dot lands, or at once
59
+ * when the page was ready first, that same panel pulls in over the page.
60
+ */
61
+ function useBootPhase({ shape, ready, reading }) {
62
+ const [phase, setPhase] = useState(() => (bootHasPlayed() ? 'done' : 'draw'));
63
+ const mapDrawn = useRef(() => { });
64
+ const rootRef = useRef(null);
65
+ const latest = useRef({ shape, ready, reading });
66
+ latest.current = { shape, ready, reading };
67
+ useEffect(() => {
68
+ const root = rootRef.current;
69
+ if (!root || bootHasPlayed())
70
+ return;
71
+ const reduced = prefersReducedMotion();
72
+ return runBoot({
73
+ reads: !reduced && Boolean(latest.current.reading),
74
+ reduced,
75
+ fadeMs: FADE_MS,
76
+ // A page that failed to load is still a page to show.
77
+ settled: Promise.all([
78
+ fontsSettled(),
79
+ Promise.resolve(latest.current.ready).catch(() => undefined),
80
+ ]),
81
+ mapDrawn: new Promise((resolve) => {
82
+ mapDrawn.current = resolve;
83
+ }),
84
+ markDrawn: () => markDrawn(root, reduced),
85
+ penHasStarted: () => penHasStarted(root),
86
+ pullIn: pullShellIn,
87
+ sleep,
88
+ show: setPhase,
89
+ reveal: () => {
90
+ revealShell(latest.current.shape());
91
+ setPhase('done');
92
+ },
93
+ });
94
+ }, []);
95
+ return { phase, rootRef, mapDrawn };
96
+ }
97
+ /** The rail beside the panel a loader draws in. */
98
+ function railOf(root) {
99
+ return (root?.closest('.astryx-app-shell')?.querySelector('.astryx-app-shell-sidenav') ??
100
+ null);
101
+ }
102
+ /**
103
+ * The rail shows beside a project's read but opens nothing until the page is there: a press or a
104
+ * key on it would act on a page that has not loaded.
105
+ */
106
+ function useRailHeld(rootRef, held) {
107
+ useEffect(() => {
108
+ const rail = held ? railOf(rootRef.current) : null;
109
+ if (!rail || rail.hasAttribute('inert'))
110
+ return;
111
+ rail.setAttribute('inert', '');
112
+ return () => {
113
+ rail.removeAttribute('inert');
114
+ };
115
+ }, [rootRef, held]);
116
+ }
117
+ /**
118
+ * Draws inside the shell panel. The shell starts full-bleed; this only decides when that panel
119
+ * pulls in over the page.
120
+ */
121
+ export function BootMark(props) {
122
+ const { phase, rootRef, mapDrawn } = useBootPhase(props);
123
+ useRailHeld(rootRef, phase === 'map' || phase === 'leave');
124
+ if (phase === 'done')
125
+ return null;
126
+ const mapped = (phase === 'map' || phase === 'leave') && props.reading;
127
+ return (_jsxs("div", { ref: rootRef, "data-boot": "", "data-phase": phase, role: "status", "aria-live": "polite", "aria-label": "Loading", children: [phase === 'draw' && _jsx(TheoremMark, {}), mapped && _jsx("span", { className: "boot-said", children: "Reading your project" }), mapped && _jsx(ReadMap, { reading: mapped, onDrawn: () => mapDrawn.current() })] }));
128
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * The first frame, before any stylesheet has loaded: the shell is already the full-bleed panel the
3
+ * mark draws in. A document that shows the boot mark puts `data-boot-pending` on `<html>` and this
4
+ * in an inline `<style>`. Literal colours: nothing of the theme has loaded yet.
5
+ */
6
+ export declare const BOOT_PAINT = "html{color-scheme:dark}html,body{margin:0;background:#000}html[data-boot-pending],html[data-boot-pending] body{background:#262626}html[data-boot-pending] .astryx-app-shell{height:100dvh}html[data-boot-pending] .astryx-app-shell-sidenav{position:absolute;inset-block:0;inset-inline-start:0;z-index:0;width:3rem}html[data-boot-pending] #astryx-app-shell-main{position:relative;z-index:1;width:100%;height:100%;max-width:none;margin:0;border-radius:0;clip-path:none;background:#262626;color:#fff}html[data-boot-pending] #astryx-app-shell-main>:not([data-boot]){visibility:hidden}html[data-boot-pending] [data-boot]{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:#262626;color:#fff}";
7
+ /** Without scripts nothing lifts the cover, so the page shows at once. Goes in a `<noscript>` style. */
8
+ export declare const BOOT_PAINT_NOSCRIPT = "html[data-boot-pending],html[data-boot-pending] body{background:#000}html[data-boot-pending] #astryx-app-shell-main>:not([data-boot]){visibility:visible !important}[data-boot]{display:none !important}";
@@ -0,0 +1,8 @@
1
+ /**
2
+ * The first frame, before any stylesheet has loaded: the shell is already the full-bleed panel the
3
+ * mark draws in. A document that shows the boot mark puts `data-boot-pending` on `<html>` and this
4
+ * in an inline `<style>`. Literal colours: nothing of the theme has loaded yet.
5
+ */
6
+ export const BOOT_PAINT = 'html{color-scheme:dark}html,body{margin:0;background:#000}html[data-boot-pending],html[data-boot-pending] body{background:#262626}html[data-boot-pending] .astryx-app-shell{height:100dvh}html[data-boot-pending] .astryx-app-shell-sidenav{position:absolute;inset-block:0;inset-inline-start:0;z-index:0;width:3rem}html[data-boot-pending] #astryx-app-shell-main{position:relative;z-index:1;width:100%;height:100%;max-width:none;margin:0;border-radius:0;clip-path:none;background:#262626;color:#fff}html[data-boot-pending] #astryx-app-shell-main>:not([data-boot]){visibility:hidden}html[data-boot-pending] [data-boot]{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:#262626;color:#fff}';
7
+ /** Without scripts nothing lifts the cover, so the page shows at once. Goes in a `<noscript>` style. */
8
+ export const BOOT_PAINT_NOSCRIPT = 'html[data-boot-pending],html[data-boot-pending] body{background:#000}html[data-boot-pending] #astryx-app-shell-main>:not([data-boot]){visibility:visible !important}[data-boot]{display:none !important}';
@@ -0,0 +1,57 @@
1
+ import type { ReactElement, SVGProps } from 'react';
2
+ /** Gemini mark, for a provider on the Google adapter. */
3
+ export declare function IconGemini(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
4
+ /** Google mark, for the Google provider. */
5
+ export declare function IconGoogle(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
6
+ /** OpenAI mark, for a provider on the OpenAI-compatible adapter. */
7
+ export declare function IconOpenAi(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
8
+ /** OpenRouter mark (the current one), for the OpenRouter provider. */
9
+ export declare function IconOpenRouter(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
10
+ /** Cursor mark, for the editor. */
11
+ export declare function IconCursor(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
12
+ /** Anthropic mark, from LobeHub Icons. */
13
+ export declare function IconAnthropic(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
14
+ /** Mistral mark, from LobeHub Icons. */
15
+ export declare function IconMistral(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
16
+ /** Qwen mark, from LobeHub Icons. */
17
+ export declare function IconQwen(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
18
+ /** DeepSeek mark, from LobeHub Icons. */
19
+ export declare function IconDeepSeek(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
20
+ /** Meta mark, from LobeHub Icons. */
21
+ export declare function IconMeta(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
22
+ /** XAI mark, from LobeHub Icons. */
23
+ export declare function IconXai(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
24
+ /** Moonshot mark, from LobeHub Icons. */
25
+ export declare function IconMoonshot(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
26
+ /** ZAI mark, from LobeHub Icons. */
27
+ export declare function IconZai(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
28
+ /** Nvidia mark, from LobeHub Icons. */
29
+ export declare function IconNvidia(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
30
+ /** Minimax mark, from LobeHub Icons. */
31
+ export declare function IconMinimax(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
32
+ /** Tencent mark, from LobeHub Icons. */
33
+ export declare function IconTencent(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
34
+ /** ByteDance mark, from LobeHub Icons. */
35
+ export declare function IconByteDance(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
36
+ /** Cohere mark, from LobeHub Icons. */
37
+ export declare function IconCohere(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
38
+ /** XiaomiMiMo mark, from LobeHub Icons. */
39
+ export declare function IconXiaomi(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
40
+ /** Perplexity mark, from LobeHub Icons. */
41
+ export declare function IconPerplexity(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
42
+ /** Stepfun mark, from LobeHub Icons. */
43
+ export declare function IconStepfun(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
44
+ /** NousResearch mark, from LobeHub Icons. */
45
+ export declare function IconNousResearch(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
46
+ /** Poolside mark, from LobeHub Icons. */
47
+ export declare function IconPoolside(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
48
+ /** Liquid mark, from LobeHub Icons. */
49
+ export declare function IconLiquid(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
50
+ /** Sakana mark, from LobeHub Icons. */
51
+ export declare function IconSakana(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
52
+ /** Microsoft mark, from LobeHub Icons. */
53
+ export declare function IconMicrosoft(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
54
+ /** The family's mark for a model id, or undefined when the family has no mark. */
55
+ export declare function modelFamilyMark(modelId: string): ((props: SVGProps<SVGSVGElement>) => ReactElement) | undefined;
56
+ /** TypeSafe mark, from its vector logo, centred in a square. */
57
+ export declare function IconTypeSafe(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;