@dxos/plugin-script 0.8.4-main.c4373fc → 0.8.4-main.c85a9c8dae

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 (512) hide show
  1. package/README.md +15 -13
  2. package/dist/lib/browser/DeploymentDialog-IIOXAS47.mjs +138 -0
  3. package/dist/lib/browser/DeploymentDialog-IIOXAS47.mjs.map +7 -0
  4. package/dist/lib/browser/NotebookContainer-VVZOKGRC.mjs +850 -0
  5. package/dist/lib/browser/NotebookContainer-VVZOKGRC.mjs.map +7 -0
  6. package/dist/lib/browser/ScriptContainer-A5SSIUH6.mjs +93 -0
  7. package/dist/lib/browser/ScriptContainer-A5SSIUH6.mjs.map +7 -0
  8. package/dist/lib/browser/ScriptObjectSettings-HYYC7KXC.mjs +294 -0
  9. package/dist/lib/browser/ScriptObjectSettings-HYYC7KXC.mjs.map +7 -0
  10. package/dist/lib/browser/ScriptPluginSettings-UTWA7CBT.mjs +55 -0
  11. package/dist/lib/browser/ScriptPluginSettings-UTWA7CBT.mjs.map +7 -0
  12. package/dist/lib/browser/ScriptProperties-HREPUE65.mjs +28 -0
  13. package/dist/lib/browser/ScriptProperties-HREPUE65.mjs.map +7 -0
  14. package/dist/lib/browser/TestContainer-D4Y2K2TT.mjs +39 -0
  15. package/dist/lib/browser/TestContainer-D4Y2K2TT.mjs.map +7 -0
  16. package/dist/lib/browser/app-graph-builder-66ZDI72K.mjs +69 -0
  17. package/dist/lib/browser/app-graph-builder-66ZDI72K.mjs.map +7 -0
  18. package/dist/lib/browser/blueprint-definition-YMZEJBAZ.mjs +17 -0
  19. package/dist/lib/browser/blueprint-definition-YMZEJBAZ.mjs.map +7 -0
  20. package/dist/lib/browser/blueprints/index.mjs +8 -0
  21. package/dist/lib/browser/chunk-6IXFDTAI.mjs +113 -0
  22. package/dist/lib/browser/chunk-6IXFDTAI.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-ATTZUDT7.mjs +67 -0
  24. package/dist/lib/browser/chunk-ATTZUDT7.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-G3XIOLLI.mjs +174 -0
  26. package/dist/lib/browser/chunk-G3XIOLLI.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  28. package/dist/lib/browser/chunk-J7PGML5B.mjs +105 -0
  29. package/dist/lib/browser/chunk-J7PGML5B.mjs.map +7 -0
  30. package/dist/lib/browser/chunk-MUEVLYXJ.mjs +397 -0
  31. package/dist/lib/browser/chunk-MUEVLYXJ.mjs.map +7 -0
  32. package/dist/lib/browser/chunk-PLDBKKYO.mjs +789 -0
  33. package/dist/lib/browser/chunk-PLDBKKYO.mjs.map +7 -0
  34. package/dist/lib/browser/chunk-Q66L5EUR.mjs +20 -0
  35. package/dist/lib/browser/chunk-Q66L5EUR.mjs.map +7 -0
  36. package/dist/lib/browser/chunk-TW27W3EL.mjs +29 -0
  37. package/dist/lib/browser/chunk-TW27W3EL.mjs.map +7 -0
  38. package/dist/lib/browser/{chunk-EZVXV6DA.mjs → chunk-WYR4QHPE.mjs} +7 -2
  39. package/dist/lib/browser/chunk-WYR4QHPE.mjs.map +7 -0
  40. package/dist/lib/browser/chunk-ZYU2LP6U.mjs +11 -0
  41. package/dist/lib/browser/chunk-ZYU2LP6U.mjs.map +7 -0
  42. package/dist/lib/browser/compiler-53G6ZHQM.mjs +99 -0
  43. package/dist/lib/browser/compiler-53G6ZHQM.mjs.map +7 -0
  44. package/dist/lib/browser/index.mjs +120 -136
  45. package/dist/lib/browser/index.mjs.map +4 -4
  46. package/dist/lib/browser/meta.json +1 -1
  47. package/dist/lib/browser/operation-resolver-CYEISDDK.mjs +79 -0
  48. package/dist/lib/browser/operation-resolver-CYEISDDK.mjs.map +7 -0
  49. package/dist/lib/browser/react-surface-26P6HAFD.mjs +141 -0
  50. package/dist/lib/browser/react-surface-26P6HAFD.mjs.map +7 -0
  51. package/dist/lib/browser/settings-76UM7442.mjs +36 -0
  52. package/dist/lib/browser/settings-76UM7442.mjs.map +7 -0
  53. package/dist/lib/browser/templates/index.mjs +2 -1
  54. package/dist/lib/browser/types/index.mjs +12 -6
  55. package/dist/lib/node-esm/DeploymentDialog-ZHPHEV2H.mjs +139 -0
  56. package/dist/lib/node-esm/DeploymentDialog-ZHPHEV2H.mjs.map +7 -0
  57. package/dist/lib/node-esm/NotebookContainer-ZLWTNMQA.mjs +851 -0
  58. package/dist/lib/node-esm/NotebookContainer-ZLWTNMQA.mjs.map +7 -0
  59. package/dist/lib/node-esm/ScriptContainer-S4UKQAWP.mjs +94 -0
  60. package/dist/lib/node-esm/ScriptContainer-S4UKQAWP.mjs.map +7 -0
  61. package/dist/lib/node-esm/ScriptObjectSettings-C5QBRERY.mjs +295 -0
  62. package/dist/lib/node-esm/ScriptObjectSettings-C5QBRERY.mjs.map +7 -0
  63. package/dist/lib/node-esm/ScriptPluginSettings-MFACDW4R.mjs +56 -0
  64. package/dist/lib/node-esm/ScriptPluginSettings-MFACDW4R.mjs.map +7 -0
  65. package/dist/lib/node-esm/ScriptProperties-FMNIX3KU.mjs +29 -0
  66. package/dist/lib/node-esm/ScriptProperties-FMNIX3KU.mjs.map +7 -0
  67. package/dist/lib/node-esm/TestContainer-AO45YPGV.mjs +40 -0
  68. package/dist/lib/node-esm/TestContainer-AO45YPGV.mjs.map +7 -0
  69. package/dist/lib/node-esm/app-graph-builder-IGAZTJ45.mjs +70 -0
  70. package/dist/lib/node-esm/app-graph-builder-IGAZTJ45.mjs.map +7 -0
  71. package/dist/lib/node-esm/blueprint-definition-5MGY6BRQ.mjs +18 -0
  72. package/dist/lib/node-esm/blueprint-definition-5MGY6BRQ.mjs.map +7 -0
  73. package/dist/lib/node-esm/blueprints/index.mjs +9 -0
  74. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-5BG7OJGQ.mjs +176 -0
  76. package/dist/lib/node-esm/chunk-5BG7OJGQ.mjs.map +7 -0
  77. package/dist/lib/node-esm/{chunk-OG2SIKHE.mjs → chunk-5HSJPAK7.mjs} +7 -2
  78. package/dist/lib/node-esm/chunk-5HSJPAK7.mjs.map +7 -0
  79. package/dist/lib/node-esm/chunk-H46R2RS5.mjs +790 -0
  80. package/dist/lib/node-esm/chunk-H46R2RS5.mjs.map +7 -0
  81. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  82. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  83. package/dist/lib/node-esm/chunk-JGN7TDJH.mjs +69 -0
  84. package/dist/lib/node-esm/chunk-JGN7TDJH.mjs.map +7 -0
  85. package/dist/lib/node-esm/{chunk-OQGBKNYU.mjs → chunk-QG6ANK4B.mjs} +34 -17
  86. package/dist/lib/node-esm/chunk-QG6ANK4B.mjs.map +7 -0
  87. package/dist/lib/node-esm/chunk-S7DSCLOW.mjs +31 -0
  88. package/dist/lib/node-esm/chunk-S7DSCLOW.mjs.map +7 -0
  89. package/dist/lib/node-esm/chunk-TZ2EBTPQ.mjs +22 -0
  90. package/dist/lib/node-esm/chunk-TZ2EBTPQ.mjs.map +7 -0
  91. package/dist/lib/node-esm/chunk-UFBVE33O.mjs +12 -0
  92. package/dist/lib/node-esm/chunk-UFBVE33O.mjs.map +7 -0
  93. package/dist/lib/node-esm/chunk-WWD5LUU6.mjs +114 -0
  94. package/dist/lib/node-esm/chunk-WWD5LUU6.mjs.map +7 -0
  95. package/dist/lib/node-esm/chunk-ZDJ2FI7E.mjs +398 -0
  96. package/dist/lib/node-esm/chunk-ZDJ2FI7E.mjs.map +7 -0
  97. package/dist/lib/node-esm/compiler-HHQW7EP3.mjs +100 -0
  98. package/dist/lib/node-esm/compiler-HHQW7EP3.mjs.map +7 -0
  99. package/dist/lib/node-esm/index.mjs +120 -136
  100. package/dist/lib/node-esm/index.mjs.map +4 -4
  101. package/dist/lib/node-esm/meta.json +1 -1
  102. package/dist/lib/node-esm/operation-resolver-HFFDXWND.mjs +80 -0
  103. package/dist/lib/node-esm/operation-resolver-HFFDXWND.mjs.map +7 -0
  104. package/dist/lib/node-esm/react-surface-THCIK266.mjs +142 -0
  105. package/dist/lib/node-esm/react-surface-THCIK266.mjs.map +7 -0
  106. package/dist/lib/node-esm/settings-CCHDPLFJ.mjs +37 -0
  107. package/dist/lib/node-esm/settings-CCHDPLFJ.mjs.map +7 -0
  108. package/dist/lib/node-esm/templates/index.mjs +2 -1
  109. package/dist/lib/node-esm/types/index.mjs +12 -6
  110. package/dist/types/src/ScriptPlugin.d.ts +2 -1
  111. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  112. package/dist/types/src/blueprints/index.d.ts +2 -0
  113. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  114. package/dist/types/src/blueprints/script-blueprint.d.ts +4 -0
  115. package/dist/types/src/blueprints/script-blueprint.d.ts.map +1 -0
  116. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  117. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  118. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  119. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  120. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts +12 -0
  121. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +1 -0
  122. package/dist/types/src/capabilities/artifact-definition/index.d.ts +3 -0
  123. package/dist/types/src/capabilities/artifact-definition/index.d.ts.map +1 -0
  124. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +6 -0
  125. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
  126. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
  127. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
  128. package/dist/types/src/capabilities/compiler/compiler.d.ts +6 -0
  129. package/dist/types/src/capabilities/compiler/compiler.d.ts.map +1 -0
  130. package/dist/types/src/capabilities/compiler/index.d.ts +3 -0
  131. package/dist/types/src/capabilities/compiler/index.d.ts.map +1 -0
  132. package/dist/types/src/capabilities/index.d.ts +6 -7
  133. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  134. package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
  135. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  136. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
  137. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  138. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  139. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  140. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  141. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  142. package/dist/types/src/capabilities/settings/index.d.ts +7 -0
  143. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  144. package/dist/types/src/capabilities/settings/settings.d.ts +10 -0
  145. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  146. package/dist/types/src/compiler/compiler.d.ts +1 -1
  147. package/dist/types/src/compiler/compiler.d.ts.map +1 -1
  148. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts +1 -1
  149. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -1
  150. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts +15 -0
  151. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -0
  152. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts +9 -0
  153. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts.map +1 -0
  154. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +8 -10
  155. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -1
  156. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +26 -8
  157. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -1
  158. package/dist/types/src/components/NotebookStack/index.d.ts +1 -0
  159. package/dist/types/src/components/NotebookStack/index.d.ts.map +1 -1
  160. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts +5 -0
  161. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts.map +1 -0
  162. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts +13 -0
  163. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts.map +1 -0
  164. package/dist/types/src/components/QueryEditor/index.d.ts +2 -0
  165. package/dist/types/src/components/QueryEditor/index.d.ts.map +1 -0
  166. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +8 -8
  167. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  168. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +27 -8
  169. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  170. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
  171. package/dist/types/src/components/TestPanel/index.d.ts +0 -1
  172. package/dist/types/src/components/TestPanel/index.d.ts.map +1 -1
  173. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +3 -2
  174. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  175. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +1 -7
  176. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  177. package/dist/types/src/components/index.d.ts +4 -5
  178. package/dist/types/src/components/index.d.ts.map +1 -1
  179. package/dist/types/src/constants.d.ts +2 -0
  180. package/dist/types/src/constants.d.ts.map +1 -0
  181. package/dist/types/src/{components → containers}/DeploymentDialog/DeploymentDialog.d.ts +2 -4
  182. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.d.ts.map +1 -0
  183. package/dist/types/src/{components → containers}/DeploymentDialog/DeploymentDialog.stories.d.ts +25 -6
  184. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -0
  185. package/dist/types/src/containers/DeploymentDialog/index.d.ts +3 -0
  186. package/dist/types/src/containers/DeploymentDialog/index.d.ts.map +1 -0
  187. package/dist/types/src/containers/NotebookContainer/NotebookContainer.d.ts +7 -0
  188. package/dist/types/src/containers/NotebookContainer/NotebookContainer.d.ts.map +1 -0
  189. package/dist/types/src/containers/NotebookContainer/NotebookContainer.stories.d.ts +7 -0
  190. package/dist/types/src/containers/NotebookContainer/NotebookContainer.stories.d.ts.map +1 -0
  191. package/dist/types/src/containers/NotebookContainer/index.d.ts +3 -0
  192. package/dist/types/src/containers/NotebookContainer/index.d.ts.map +1 -0
  193. package/dist/types/src/containers/ScriptContainer/ScriptContainer.d.ts +10 -0
  194. package/dist/types/src/containers/ScriptContainer/ScriptContainer.d.ts.map +1 -0
  195. package/dist/types/src/containers/ScriptContainer/index.d.ts +3 -0
  196. package/dist/types/src/containers/ScriptContainer/index.d.ts.map +1 -0
  197. package/dist/types/src/containers/ScriptObjectSettings/ScriptObjectSettings.d.ts +7 -0
  198. package/dist/types/src/containers/ScriptObjectSettings/ScriptObjectSettings.d.ts.map +1 -0
  199. package/dist/types/src/containers/ScriptObjectSettings/index.d.ts +3 -0
  200. package/dist/types/src/containers/ScriptObjectSettings/index.d.ts.map +1 -0
  201. package/dist/types/src/containers/ScriptPluginSettings/ScriptPluginSettings.d.ts +8 -0
  202. package/dist/types/src/containers/ScriptPluginSettings/ScriptPluginSettings.d.ts.map +1 -0
  203. package/dist/types/src/containers/ScriptPluginSettings/index.d.ts +3 -0
  204. package/dist/types/src/containers/ScriptPluginSettings/index.d.ts.map +1 -0
  205. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts +7 -0
  206. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts.map +1 -0
  207. package/dist/types/src/containers/ScriptProperties/index.d.ts +3 -0
  208. package/dist/types/src/containers/ScriptProperties/index.d.ts.map +1 -0
  209. package/dist/types/src/containers/TestContainer/TestContainer.d.ts +8 -0
  210. package/dist/types/src/containers/TestContainer/TestContainer.d.ts.map +1 -0
  211. package/dist/types/src/containers/TestContainer/index.d.ts +3 -0
  212. package/dist/types/src/containers/TestContainer/index.d.ts.map +1 -0
  213. package/dist/types/src/containers/index.d.ts +9 -0
  214. package/dist/types/src/containers/index.d.ts.map +1 -0
  215. package/dist/types/src/e2e/ai.test.d.ts +2 -0
  216. package/dist/types/src/e2e/ai.test.d.ts.map +1 -0
  217. package/dist/types/src/e2e/deploy.test.d.ts +2 -0
  218. package/dist/types/src/e2e/deploy.test.d.ts.map +1 -0
  219. package/dist/types/src/hooks/deploy.d.ts +17 -31
  220. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  221. package/dist/types/src/hooks/format.d.ts +5 -4
  222. package/dist/types/src/hooks/format.d.ts.map +1 -1
  223. package/dist/types/src/hooks/index.d.ts +1 -0
  224. package/dist/types/src/hooks/index.d.ts.map +1 -1
  225. package/dist/types/src/hooks/template.d.ts +7 -16
  226. package/dist/types/src/hooks/template.d.ts.map +1 -1
  227. package/dist/types/src/hooks/useCompiler.d.ts +7 -0
  228. package/dist/types/src/hooks/useCompiler.d.ts.map +1 -0
  229. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  230. package/dist/types/src/hooks/useToolbarState.d.ts +8 -1
  231. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  232. package/dist/types/src/index.d.ts +2 -1
  233. package/dist/types/src/index.d.ts.map +1 -1
  234. package/dist/types/src/meta.d.ts +2 -2
  235. package/dist/types/src/meta.d.ts.map +1 -1
  236. package/dist/types/src/notebook/compute-graph.d.ts +58 -0
  237. package/dist/types/src/notebook/compute-graph.d.ts.map +1 -0
  238. package/dist/types/src/notebook/compute-graph.test.d.ts +2 -0
  239. package/dist/types/src/notebook/compute-graph.test.d.ts.map +1 -0
  240. package/dist/types/src/notebook/eval.d.ts +13 -0
  241. package/dist/types/src/notebook/eval.d.ts.map +1 -0
  242. package/dist/types/src/notebook/index.d.ts +1 -1
  243. package/dist/types/src/notebook/index.d.ts.map +1 -1
  244. package/dist/types/src/notebook/vfs-parser.d.ts.map +1 -1
  245. package/dist/types/src/templates/anthropic.d.ts +8 -0
  246. package/dist/types/src/templates/anthropic.d.ts.map +1 -0
  247. package/dist/types/src/templates/chess-bot.d.ts +16 -0
  248. package/dist/types/src/templates/chess-bot.d.ts.map +1 -0
  249. package/dist/types/src/templates/commentary.d.ts +16 -0
  250. package/dist/types/src/templates/commentary.d.ts.map +1 -0
  251. package/dist/types/src/templates/forex-effect.d.ts +4 -1
  252. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  253. package/dist/types/src/templates/forex.d.ts +4 -1
  254. package/dist/types/src/templates/forex.d.ts.map +1 -1
  255. package/dist/types/src/templates/index.d.ts +52 -1
  256. package/dist/types/src/templates/index.d.ts.map +1 -1
  257. package/dist/types/src/templates/ping.d.ts +3 -0
  258. package/dist/types/src/templates/ping.d.ts.map +1 -0
  259. package/dist/types/src/testing/data.d.ts +2 -9
  260. package/dist/types/src/testing/data.d.ts.map +1 -1
  261. package/dist/types/src/testing/simulator.test.d.ts +2 -0
  262. package/dist/types/src/testing/simulator.test.d.ts.map +1 -0
  263. package/dist/types/src/translations.d.ts +11 -3
  264. package/dist/types/src/translations.d.ts.map +1 -1
  265. package/dist/types/src/types/Notebook.d.ts +108 -0
  266. package/dist/types/src/types/Notebook.d.ts.map +1 -0
  267. package/dist/types/src/types/actions.d.ts +30 -48
  268. package/dist/types/src/types/actions.d.ts.map +1 -1
  269. package/dist/types/src/types/capabilities.d.ts +12 -0
  270. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  271. package/dist/types/src/types/events.d.ts +5 -0
  272. package/dist/types/src/types/events.d.ts.map +1 -0
  273. package/dist/types/src/types/index.d.ts +4 -1
  274. package/dist/types/src/types/index.d.ts.map +1 -1
  275. package/dist/types/src/types/types.d.ts +6 -0
  276. package/dist/types/src/types/types.d.ts.map +1 -0
  277. package/dist/types/src/util/deploy.d.ts +4 -4
  278. package/dist/types/src/util/deploy.d.ts.map +1 -1
  279. package/dist/types/src/util/functions.d.ts +3 -3
  280. package/dist/types/src/util/functions.d.ts.map +1 -1
  281. package/dist/types/tsconfig.tsbuildinfo +1 -1
  282. package/package.json +114 -79
  283. package/src/ScriptPlugin.tsx +44 -85
  284. package/src/blueprints/index.ts +5 -0
  285. package/src/blueprints/script-blueprint.ts +31 -0
  286. package/src/capabilities/app-graph-builder/app-graph-builder.ts +56 -0
  287. package/src/capabilities/app-graph-builder/index.ts +7 -0
  288. package/src/capabilities/{artifact-definition.ts → artifact-definition/artifact-definition.ts} +97 -95
  289. package/src/capabilities/artifact-definition/index.ts +7 -0
  290. package/src/capabilities/blueprint-definition/blueprint-definition.ts +17 -0
  291. package/src/capabilities/blueprint-definition/index.ts +7 -0
  292. package/src/capabilities/compiler/compiler.ts +103 -0
  293. package/src/capabilities/compiler/index.ts +7 -0
  294. package/src/capabilities/index.ts +6 -10
  295. package/src/capabilities/operation-resolver/index.ts +7 -0
  296. package/src/capabilities/operation-resolver/operation-resolver.ts +75 -0
  297. package/src/capabilities/react-surface/index.ts +7 -0
  298. package/src/capabilities/react-surface/react-surface.tsx +121 -0
  299. package/src/capabilities/settings/index.ts +7 -0
  300. package/src/capabilities/settings/settings.ts +33 -0
  301. package/src/compiler/compiler.ts +10 -3
  302. package/src/components/FrameContainer/FrameContainer.tsx +6 -5
  303. package/src/components/FrameContainer/frame.html +21 -21
  304. package/src/components/NotebookStack/NotebookCell.tsx +215 -0
  305. package/src/components/NotebookStack/NotebookMenu.tsx +47 -0
  306. package/src/components/NotebookStack/NotebookStack.stories.tsx +33 -15
  307. package/src/components/NotebookStack/NotebookStack.tsx +55 -82
  308. package/src/components/NotebookStack/index.ts +1 -0
  309. package/src/components/QueryEditor/QueryEditor.stories.tsx +102 -0
  310. package/src/components/QueryEditor/QueryEditor.tsx +47 -0
  311. package/src/components/QueryEditor/index.ts +5 -0
  312. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +46 -23
  313. package/src/components/ScriptToolbar/ScriptToolbar.tsx +28 -31
  314. package/src/components/TestPanel/TestPanel.tsx +61 -36
  315. package/src/components/TestPanel/index.ts +0 -1
  316. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +26 -25
  317. package/src/components/TypescriptEditor/TypescriptEditor.tsx +70 -74
  318. package/src/components/index.ts +4 -9
  319. package/src/constants.ts +7 -0
  320. package/src/containers/DeploymentDialog/DeploymentDialog.stories.tsx +61 -0
  321. package/src/containers/DeploymentDialog/DeploymentDialog.tsx +99 -0
  322. package/src/containers/DeploymentDialog/index.ts +7 -0
  323. package/src/containers/NotebookContainer/NotebookContainer.stories.tsx +87 -0
  324. package/src/containers/NotebookContainer/NotebookContainer.tsx +268 -0
  325. package/src/containers/NotebookContainer/index.ts +7 -0
  326. package/src/containers/ScriptContainer/ScriptContainer.tsx +84 -0
  327. package/src/containers/ScriptContainer/index.ts +7 -0
  328. package/src/{components/Settings → containers/ScriptObjectSettings}/ScriptObjectSettings.tsx +55 -50
  329. package/src/containers/ScriptObjectSettings/index.ts +7 -0
  330. package/src/{components/Settings → containers/ScriptPluginSettings}/ScriptPluginSettings.tsx +19 -14
  331. package/src/containers/ScriptPluginSettings/index.ts +7 -0
  332. package/src/containers/ScriptProperties/ScriptProperties.tsx +33 -0
  333. package/src/containers/ScriptProperties/index.ts +7 -0
  334. package/src/containers/TestContainer/TestContainer.tsx +28 -0
  335. package/src/containers/TestContainer/index.ts +7 -0
  336. package/src/containers/index.ts +13 -0
  337. package/src/e2e/ai.test.ts +92 -0
  338. package/src/e2e/deploy.test.ts +64 -0
  339. package/src/hooks/deploy.ts +43 -35
  340. package/src/hooks/format.ts +8 -3
  341. package/src/hooks/index.ts +1 -0
  342. package/src/hooks/template.ts +22 -26
  343. package/src/hooks/useCompiler.ts +24 -0
  344. package/src/hooks/useCreateAndDeployScriptTemplates.ts +14 -16
  345. package/src/hooks/useToolbarState.ts +29 -4
  346. package/src/index.ts +2 -1
  347. package/src/meta.ts +8 -4
  348. package/src/notebook/compute-graph.test.ts +82 -0
  349. package/src/notebook/{notebook.ts → compute-graph.ts} +75 -33
  350. package/src/notebook/eval.ts +105 -0
  351. package/src/notebook/index.ts +1 -1
  352. package/src/notebook/vfs-parser.ts +43 -82
  353. package/src/templates/anthropic.ts +42 -0
  354. package/src/templates/chess-bot.ts +58 -0
  355. package/src/templates/commentary.ts +231 -0
  356. package/src/templates/data-generator.ts +1 -1
  357. package/src/templates/forex-effect.ts +22 -27
  358. package/src/templates/forex.ts +7 -6
  359. package/src/templates/gmail.ts +1 -2
  360. package/src/templates/index.ts +24 -11
  361. package/src/templates/ping.ts +17 -0
  362. package/src/testing/data.ts +43 -8
  363. package/src/testing/simulator.test.ts +40 -0
  364. package/src/translations.ts +11 -3
  365. package/src/types/Notebook.ts +41 -0
  366. package/src/types/actions.ts +23 -27
  367. package/src/types/capabilities.ts +17 -0
  368. package/src/types/events.ts +11 -0
  369. package/src/types/index.ts +4 -1
  370. package/src/types/types.ts +15 -0
  371. package/src/util/deploy.ts +30 -40
  372. package/src/util/functions.ts +32 -28
  373. package/src/vite-env.d.ts +2 -0
  374. package/dist/lib/browser/DeploymentDialog-7FNPALCV.mjs +0 -12
  375. package/dist/lib/browser/NotebookContainer-ZSXYRRZB.mjs +0 -578
  376. package/dist/lib/browser/NotebookContainer-ZSXYRRZB.mjs.map +0 -7
  377. package/dist/lib/browser/ScriptContainer-24LLLTLB.mjs +0 -149
  378. package/dist/lib/browser/ScriptContainer-24LLLTLB.mjs.map +0 -7
  379. package/dist/lib/browser/app-graph-builder-DPYULSME.mjs +0 -65
  380. package/dist/lib/browser/app-graph-builder-DPYULSME.mjs.map +0 -7
  381. package/dist/lib/browser/blueprint-definition-ET5KZ46I.mjs +0 -28
  382. package/dist/lib/browser/blueprint-definition-ET5KZ46I.mjs.map +0 -7
  383. package/dist/lib/browser/chunk-DXWTBOND.mjs +0 -282
  384. package/dist/lib/browser/chunk-DXWTBOND.mjs.map +0 -7
  385. package/dist/lib/browser/chunk-ETFBQURU.mjs +0 -254
  386. package/dist/lib/browser/chunk-ETFBQURU.mjs.map +0 -7
  387. package/dist/lib/browser/chunk-EZVXV6DA.mjs.map +0 -7
  388. package/dist/lib/browser/chunk-I3THDIT5.mjs +0 -90
  389. package/dist/lib/browser/chunk-I3THDIT5.mjs.map +0 -7
  390. package/dist/lib/browser/chunk-N6M34EUC.mjs +0 -112
  391. package/dist/lib/browser/chunk-N6M34EUC.mjs.map +0 -7
  392. package/dist/lib/browser/chunk-NNYSARXK.mjs +0 -153
  393. package/dist/lib/browser/chunk-NNYSARXK.mjs.map +0 -7
  394. package/dist/lib/browser/chunk-OKXN2N7M.mjs +0 -15
  395. package/dist/lib/browser/chunk-OKXN2N7M.mjs.map +0 -7
  396. package/dist/lib/browser/chunk-SRSEZWDY.mjs +0 -646
  397. package/dist/lib/browser/chunk-SRSEZWDY.mjs.map +0 -7
  398. package/dist/lib/browser/chunk-SWBZUZDX.mjs +0 -80
  399. package/dist/lib/browser/chunk-SWBZUZDX.mjs.map +0 -7
  400. package/dist/lib/browser/chunk-VFJJA4WR.mjs +0 -88
  401. package/dist/lib/browser/chunk-VFJJA4WR.mjs.map +0 -7
  402. package/dist/lib/browser/compiler-G2N2CG63.mjs +0 -98
  403. package/dist/lib/browser/compiler-G2N2CG63.mjs.map +0 -7
  404. package/dist/lib/browser/intent-resolver-FYZRLYNT.mjs +0 -105
  405. package/dist/lib/browser/intent-resolver-FYZRLYNT.mjs.map +0 -7
  406. package/dist/lib/browser/react-surface-CFRYAL2P.mjs +0 -127
  407. package/dist/lib/browser/react-surface-CFRYAL2P.mjs.map +0 -7
  408. package/dist/lib/browser/settings-L3HCZRBP.mjs +0 -24
  409. package/dist/lib/browser/settings-L3HCZRBP.mjs.map +0 -7
  410. package/dist/lib/node-esm/DeploymentDialog-AKAGR37W.mjs +0 -13
  411. package/dist/lib/node-esm/NotebookContainer-2O3N3XPE.mjs +0 -579
  412. package/dist/lib/node-esm/NotebookContainer-2O3N3XPE.mjs.map +0 -7
  413. package/dist/lib/node-esm/ScriptContainer-IKOB6FHQ.mjs +0 -150
  414. package/dist/lib/node-esm/ScriptContainer-IKOB6FHQ.mjs.map +0 -7
  415. package/dist/lib/node-esm/app-graph-builder-UXJGHXSL.mjs +0 -66
  416. package/dist/lib/node-esm/app-graph-builder-UXJGHXSL.mjs.map +0 -7
  417. package/dist/lib/node-esm/blueprint-definition-AIYFOT7Q.mjs +0 -30
  418. package/dist/lib/node-esm/blueprint-definition-AIYFOT7Q.mjs.map +0 -7
  419. package/dist/lib/node-esm/chunk-5IKGUOMI.mjs +0 -154
  420. package/dist/lib/node-esm/chunk-5IKGUOMI.mjs.map +0 -7
  421. package/dist/lib/node-esm/chunk-7MR2L4T3.mjs +0 -283
  422. package/dist/lib/node-esm/chunk-7MR2L4T3.mjs.map +0 -7
  423. package/dist/lib/node-esm/chunk-C33FKUSC.mjs +0 -91
  424. package/dist/lib/node-esm/chunk-C33FKUSC.mjs.map +0 -7
  425. package/dist/lib/node-esm/chunk-NUXZQQ6P.mjs +0 -16
  426. package/dist/lib/node-esm/chunk-NUXZQQ6P.mjs.map +0 -7
  427. package/dist/lib/node-esm/chunk-OG2SIKHE.mjs.map +0 -7
  428. package/dist/lib/node-esm/chunk-OQGBKNYU.mjs.map +0 -7
  429. package/dist/lib/node-esm/chunk-PMQ3D535.mjs +0 -647
  430. package/dist/lib/node-esm/chunk-PMQ3D535.mjs.map +0 -7
  431. package/dist/lib/node-esm/chunk-U4CZGISN.mjs +0 -255
  432. package/dist/lib/node-esm/chunk-U4CZGISN.mjs.map +0 -7
  433. package/dist/lib/node-esm/chunk-VRSDE4CI.mjs +0 -114
  434. package/dist/lib/node-esm/chunk-VRSDE4CI.mjs.map +0 -7
  435. package/dist/lib/node-esm/chunk-ZF5ULKED.mjs +0 -81
  436. package/dist/lib/node-esm/chunk-ZF5ULKED.mjs.map +0 -7
  437. package/dist/lib/node-esm/compiler-PLDAZ5GJ.mjs +0 -99
  438. package/dist/lib/node-esm/compiler-PLDAZ5GJ.mjs.map +0 -7
  439. package/dist/lib/node-esm/intent-resolver-6J3CFL5T.mjs +0 -106
  440. package/dist/lib/node-esm/intent-resolver-6J3CFL5T.mjs.map +0 -7
  441. package/dist/lib/node-esm/react-surface-NPKEO7SA.mjs +0 -128
  442. package/dist/lib/node-esm/react-surface-NPKEO7SA.mjs.map +0 -7
  443. package/dist/lib/node-esm/settings-YWGZP4EW.mjs +0 -25
  444. package/dist/lib/node-esm/settings-YWGZP4EW.mjs.map +0 -7
  445. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  446. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  447. package/dist/types/src/capabilities/artifact-definition.d.ts +0 -11
  448. package/dist/types/src/capabilities/artifact-definition.d.ts.map +0 -1
  449. package/dist/types/src/capabilities/blueprint-definition.d.ts +0 -5
  450. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +0 -1
  451. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  452. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  453. package/dist/types/src/capabilities/compiler.d.ts +0 -4
  454. package/dist/types/src/capabilities/compiler.d.ts.map +0 -1
  455. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  456. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  457. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  458. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  459. package/dist/types/src/capabilities/settings.d.ts +0 -4
  460. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  461. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +0 -1
  462. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +0 -1
  463. package/dist/types/src/components/DeploymentDialog/index.d.ts +0 -4
  464. package/dist/types/src/components/DeploymentDialog/index.d.ts.map +0 -1
  465. package/dist/types/src/components/NotebookContainer.d.ts +0 -10
  466. package/dist/types/src/components/NotebookContainer.d.ts.map +0 -1
  467. package/dist/types/src/components/NotebookContainer.stories.d.ts +0 -231
  468. package/dist/types/src/components/NotebookContainer.stories.d.ts.map +0 -1
  469. package/dist/types/src/components/ScriptContainer.d.ts +0 -12
  470. package/dist/types/src/components/ScriptContainer.d.ts.map +0 -1
  471. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +0 -8
  472. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +0 -1
  473. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts +0 -6
  474. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +0 -1
  475. package/dist/types/src/components/Settings/index.d.ts +0 -3
  476. package/dist/types/src/components/Settings/index.d.ts.map +0 -1
  477. package/dist/types/src/components/TestPanel/TestContainer.d.ts +0 -8
  478. package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +0 -1
  479. package/dist/types/src/events.d.ts +0 -4
  480. package/dist/types/src/events.d.ts.map +0 -1
  481. package/dist/types/src/notebook/notebook.d.ts +0 -39
  482. package/dist/types/src/notebook/notebook.d.ts.map +0 -1
  483. package/dist/types/src/notebook/notebook.test.d.ts +0 -2
  484. package/dist/types/src/notebook/notebook.test.d.ts.map +0 -1
  485. package/dist/types/src/templates/chess.d.ts +0 -3
  486. package/dist/types/src/templates/chess.d.ts.map +0 -1
  487. package/dist/types/src/templates/echo.d.ts +0 -6
  488. package/dist/types/src/templates/echo.d.ts.map +0 -1
  489. package/dist/types/src/types/schema.d.ts +0 -35
  490. package/dist/types/src/types/schema.d.ts.map +0 -1
  491. package/src/capabilities/app-graph-builder.ts +0 -65
  492. package/src/capabilities/blueprint-definition.ts +0 -30
  493. package/src/capabilities/capabilities.ts +0 -12
  494. package/src/capabilities/compiler.ts +0 -34
  495. package/src/capabilities/intent-resolver.ts +0 -87
  496. package/src/capabilities/react-surface.tsx +0 -102
  497. package/src/capabilities/settings.ts +0 -21
  498. package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +0 -53
  499. package/src/components/DeploymentDialog/DeploymentDialog.tsx +0 -106
  500. package/src/components/DeploymentDialog/index.ts +0 -9
  501. package/src/components/NotebookContainer.stories.tsx +0 -36
  502. package/src/components/NotebookContainer.tsx +0 -82
  503. package/src/components/ScriptContainer.tsx +0 -69
  504. package/src/components/Settings/index.ts +0 -6
  505. package/src/components/TestPanel/TestContainer.tsx +0 -27
  506. package/src/events.ts +0 -11
  507. package/src/notebook/notebook.test.ts +0 -38
  508. package/src/templates/chess.ts +0 -49
  509. package/src/templates/echo.ts +0 -8
  510. package/src/types/schema.ts +0 -42
  511. /package/dist/lib/browser/{DeploymentDialog-7FNPALCV.mjs.map → blueprints/index.mjs.map} +0 -0
  512. /package/dist/lib/{node-esm/DeploymentDialog-AKAGR37W.mjs.map → browser/chunk-J5LGTIGS.mjs.map} +0 -0
@@ -175,8 +175,7 @@ const parseFromHeader = (value: string): { name?: string; email: string } | unde
175
175
  // TODO(wittjosiah): These schemas should be imported from @dxos/schema.
176
176
  //
177
177
 
178
- const ActorRoles = ['user', 'assistant'] as const;
179
- const ActorRole = S.Literal(...ActorRoles);
178
+ const ActorRole = S.Literal('user', 'assistant');
180
179
  type ActorRole = S.Schema.Type<typeof ActorRole>;
181
180
 
182
181
  const ActorSchema = S.Struct({
@@ -2,15 +2,17 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
+ import anthropic from './anthropic.ts?raw';
5
6
  import chat from './chat.ts?raw';
6
- import chess from './chess.ts?raw';
7
+ import chessBot from './chess-bot.ts?raw';
8
+ import commentary from './commentary.ts?raw';
7
9
  import dataGenerator from './data-generator.ts?raw';
8
10
  import discord from './discord.ts?raw';
9
- import echo from './echo.ts?raw';
10
11
  import email from './email.ts?raw';
11
12
  import forexEffect from './forex-effect.ts?raw';
12
13
  import forex from './forex.ts?raw';
13
14
  import gmail from './gmail.ts?raw';
15
+ import ping from './ping.ts?raw';
14
16
 
15
17
  const removeHeader = (str: string) => str.split('\n').slice(4).join('\n');
16
18
 
@@ -23,11 +25,11 @@ export type Template = {
23
25
  presetId?: string;
24
26
  };
25
27
 
26
- export const templates: Template[] = [
28
+ export const templates = [
27
29
  {
28
- id: 'dxos.org/script/echo',
29
- name: 'Echo',
30
- source: removeHeader(echo),
30
+ id: 'dxos.org/script/ping',
31
+ name: 'Ping',
32
+ source: removeHeader(ping),
31
33
  },
32
34
  {
33
35
  id: 'dxos.org/script/forex',
@@ -46,10 +48,10 @@ export const templates: Template[] = [
46
48
  presetId: 'dxos.org/function/gpt',
47
49
  },
48
50
  {
49
- id: 'dxos.org/script/chess',
50
- name: 'Chess',
51
- source: removeHeader(chess),
52
- presetId: 'dxos.org/function/chess',
51
+ id: 'dxos.org/script/chess-bot',
52
+ name: 'Chess Bot',
53
+ source: removeHeader(chessBot),
54
+ presetId: 'dxos.org/function/chess-bot',
53
55
  },
54
56
  {
55
57
  id: 'dxos.org/script/email',
@@ -75,4 +77,15 @@ export const templates: Template[] = [
75
77
  source: removeHeader(dataGenerator),
76
78
  presetId: 'dxos.org/function/data-generator',
77
79
  },
78
- ];
80
+ {
81
+ id: 'dxos.org/script/anthropic',
82
+ name: 'Anthropic',
83
+ source: removeHeader(anthropic),
84
+ },
85
+ {
86
+ id: 'dxos.org/script/commentary',
87
+ name: 'Commentary',
88
+ source: removeHeader(commentary),
89
+ presetId: 'dxos.org/function/chess/commentary',
90
+ },
91
+ ] as const;
@@ -0,0 +1,17 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Schema from 'effect/Schema';
6
+
7
+ import { defineFunction } from '@dxos/functions';
8
+
9
+ export default defineFunction({
10
+ key: 'dxos.org/script/ping',
11
+ name: 'Ping',
12
+ inputSchema: Schema.Any,
13
+
14
+ handler: async ({ data }) => {
15
+ return data;
16
+ },
17
+ });
@@ -2,36 +2,71 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
+ import { Prompt } from '@dxos/blueprints';
5
6
  import { Ref } from '@dxos/echo';
6
7
  import { createObject } from '@dxos/echo-db';
7
8
  import { PublicKey } from '@dxos/keys';
8
- import { DataType } from '@dxos/schema';
9
+ import { Markdown } from '@dxos/plugin-markdown/types';
10
+ import { Text } from '@dxos/schema';
9
11
 
10
12
  import { Notebook } from '../types';
11
13
 
12
- // NOTE: createObject(DataType.makeText is required to make codemirror work.
13
- export const createNotebook = () =>
14
+ // TODO(burdon): NOTE: createObject is required for tests.
15
+
16
+ export const createNotebook = (): Notebook.Notebook =>
14
17
  Notebook.make({
15
18
  cells: [
16
19
  {
17
20
  id: PublicKey.random().toString(),
18
- script: Ref.make(createObject(DataType.makeText(['c = a() + b', '', ''].join('\n')))),
21
+ type: 'script',
22
+ source: Ref.make(createObject(Text.make('c = a() + b'))),
23
+ },
24
+ {
25
+ id: PublicKey.random().toString(),
26
+ type: 'script',
27
+ source: Ref.make(createObject(Text.make('a = () => 100'))),
28
+ },
29
+ {
30
+ id: PublicKey.random().toString(),
31
+ type: 'script',
32
+ source: Ref.make(createObject(Text.make('b = 200'))),
33
+ },
34
+ {
35
+ id: PublicKey.random().toString(),
36
+ type: 'script',
37
+ source: Ref.make(createObject(Text.make('d = a() * 2'))),
19
38
  },
20
39
  {
21
40
  id: PublicKey.random().toString(),
22
- script: Ref.make(createObject(DataType.makeText(['a = () => 100', ''].join('\n')))),
41
+ type: 'script',
42
+ source: Ref.make(createObject(Text.make('c + d'))),
23
43
  },
24
44
  {
25
45
  id: PublicKey.random().toString(),
26
- script: Ref.make(createObject(DataType.makeText(['b = 200'].join('\n')))),
46
+ type: 'prompt',
47
+ prompt: Ref.make(
48
+ createObject(
49
+ Prompt.make({
50
+ instructions: 'Very briefly, what colors are associated with the numbers {{a}} and {{b}}.',
51
+ }),
52
+ ),
53
+ ),
27
54
  },
28
55
  {
29
56
  id: PublicKey.random().toString(),
30
- script: Ref.make(createObject(DataType.makeText(['d = a() * 2'].join('\n')))),
57
+ type: 'query',
58
+ source: Ref.make(createObject(Text.make(`docs = (type: ${Markdown.Document.typename})`))),
31
59
  },
32
60
  {
33
61
  id: PublicKey.random().toString(),
34
- script: Ref.make(createObject(DataType.makeText(['c + d', '', '', ''].join('\n')))),
62
+ type: 'prompt',
63
+ prompt: Ref.make(
64
+ createObject(
65
+ Prompt.make({
66
+ instructions: 'Very briefly, summarize the documents: {{docs}}',
67
+ }),
68
+ ),
69
+ ),
35
70
  },
36
71
  ],
37
72
  });
@@ -0,0 +1,40 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { readFile } from 'node:fs/promises';
6
+
7
+ import * as Record from 'effect/Record';
8
+ import { describe, expect, test } from 'vitest';
9
+
10
+ import { bundleFunction } from '@dxos/functions-runtime/bundler';
11
+ import { FunctionWorker } from '@dxos/functions-simulator-cloudflare';
12
+ import { ErrorCodec } from '@dxos/protocols';
13
+
14
+ // Requires downloading assets from R2
15
+ describe.runIf(process.env.DX_TEST_TAGS?.includes('functions-e2e'))('Run script in sumulator', () => {
16
+ test('forex-effect', { timeout: 120_000 }, async () => {
17
+ const source = await readFile(new URL('../templates/forex-effect.ts', import.meta.url), 'utf-8');
18
+
19
+ // Bundle and upload.
20
+ const buildResult = await bundleFunction({ source });
21
+ if ('error' in buildResult) {
22
+ throw buildResult.error ?? new Error('Bundle creation failed');
23
+ }
24
+
25
+ const worker = new FunctionWorker({
26
+ mainModule: buildResult.entryPoint,
27
+ modules: Record.map(buildResult.assets, (contents, filename) => ({
28
+ contents: contents as Uint8Array<ArrayBuffer>,
29
+ contentType: filename.endsWith('.wasm') ? 'application/wasm' : 'application/javascript',
30
+ })),
31
+ });
32
+
33
+ const result = await worker.invoke({ from: 'USD', to: 'EUR' });
34
+ console.log(result);
35
+ if (result._kind === 'error') {
36
+ throw ErrorCodec.decode(result.error);
37
+ }
38
+ expect(Number(result.result)).toBeGreaterThan(0);
39
+ });
40
+ });
@@ -2,7 +2,7 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { ScriptType } from '@dxos/functions';
5
+ import { Script } from '@dxos/functions';
6
6
  import { type Resource } from '@dxos/react-ui';
7
7
 
8
8
  import { meta } from './meta';
@@ -11,7 +11,7 @@ import { Notebook } from './types';
11
11
  export const translations = [
12
12
  {
13
13
  'en-US': {
14
- [ScriptType.typename]: {
14
+ [Script.Script.typename]: {
15
15
  'typename label': 'Script',
16
16
  'typename label_zero': 'Scripts',
17
17
  'typename label_one': 'Script',
@@ -19,6 +19,7 @@ export const translations = [
19
19
  'object name placeholder': 'New script',
20
20
  'rename object label': 'Rename script',
21
21
  'delete object label': 'Delete script',
22
+ 'object deleted label': 'Script deleted',
22
23
  },
23
24
  [Notebook.Notebook.typename]: {
24
25
  'typename label': 'Notebook',
@@ -28,6 +29,7 @@ export const translations = [
28
29
  'object name placeholder': 'New notebook',
29
30
  'rename object label': 'Rename notebook',
30
31
  'delete object label': 'Delete notebook',
32
+ 'object deleted label': 'Notebook deleted',
31
33
  },
32
34
  [meta.id]: {
33
35
  'plugin name': 'Scripts',
@@ -66,7 +68,6 @@ export const translations = [
66
68
  'settings editor input mode default label': 'Default',
67
69
  'settings editor input mode vim label': 'Vim',
68
70
  'settings editor input mode vscode label': 'VS Code',
69
- 'template select group label': 'Select template',
70
71
  'function panel label': 'Debug Function',
71
72
  'script test label': 'Test',
72
73
  'script logs label': 'Logs',
@@ -94,6 +95,13 @@ export const translations = [
94
95
 
95
96
  'notebook cell placeholder': 'Enter script',
96
97
  'notebook cell delete label': 'Delete cell',
98
+ 'notebook cell prompt run label': 'Run',
99
+ 'notebook cell insert markdown label': 'Insert Markdown',
100
+ 'notebook cell insert script label': 'Insert Script',
101
+ 'notebook cell insert prompt label': 'Insert Prompt',
102
+ 'notebook cell insert query label': 'Insert Query',
103
+ 'notebook markdown placeholder': 'Enter Markdown',
104
+ 'notebook prompt placeholder': 'Enter prompt',
97
105
  'notebook cell insert label': 'Insert cell',
98
106
  },
99
107
  },
@@ -0,0 +1,41 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import * as Schema from 'effect/Schema';
6
+
7
+ import { Prompt } from '@dxos/blueprints';
8
+ import { Obj, Ref, Type } from '@dxos/echo';
9
+ import { FormInputAnnotation } from '@dxos/echo/internal';
10
+ import { LabelAnnotation } from '@dxos/echo/internal';
11
+ import { Graph } from '@dxos/plugin-explorer/types';
12
+ import { Text } from '@dxos/schema';
13
+
14
+ export type CellType = 'markdown' | 'script' | 'query' | 'prompt' | 'view';
15
+
16
+ export const Cell = Schema.Struct({
17
+ id: Schema.String,
18
+ type: Schema.String,
19
+ name: Schema.optional(Schema.String),
20
+ // TODO(burdon): Union type.
21
+ source: Schema.optional(Ref.Ref(Text.Text)),
22
+ prompt: Schema.optional(Ref.Ref(Prompt.Prompt)),
23
+ graph: Schema.optional(Ref.Ref(Graph.Graph)),
24
+ });
25
+
26
+ export interface Cell extends Schema.Schema.Type<typeof Cell> {}
27
+
28
+ export const Notebook = Schema.Struct({
29
+ name: Schema.String.pipe(Schema.optional),
30
+ cells: Cell.pipe(Schema.Array, FormInputAnnotation.set(false)),
31
+ }).pipe(
32
+ Type.object({
33
+ typename: 'dxos.org/type/Notebook',
34
+ version: '0.1.0',
35
+ }),
36
+ LabelAnnotation.set(['name']),
37
+ );
38
+
39
+ export type Notebook = Schema.Schema.Type<typeof Notebook>;
40
+
41
+ export const make = (props: Obj.MakeProps<typeof Notebook> = { cells: [] }): Notebook => Obj.make(Notebook, props);
@@ -4,46 +4,42 @@
4
4
 
5
5
  import * as Schema from 'effect/Schema';
6
6
 
7
- import { SpaceSchema } from '@dxos/client/echo';
8
- import { ScriptType } from '@dxos/functions';
7
+ import { Database } from '@dxos/echo';
8
+ import { Script } from '@dxos/functions';
9
+ import { Operation } from '@dxos/operation';
9
10
 
10
11
  import { meta } from '../meta';
12
+ import { templates } from '../templates';
11
13
 
12
- import { Notebook } from './schema';
14
+ const SCRIPT_OPERATION = `${meta.id}/operation`;
13
15
 
14
- export namespace ScriptAction {
16
+ export namespace ScriptOperation {
15
17
  export const ScriptProps = Schema.Struct({
16
18
  name: Schema.optional(Schema.String),
17
19
  // TODO(wittjosiah): Placeholder annotation?
18
20
  gistUrl: Schema.optional(Schema.String.annotations({ title: 'Import from Gist (url)' })),
19
- initialTemplateId: Schema.optional(Schema.String),
20
- });
21
-
22
- export class CreateScript extends Schema.TaggedClass<CreateScript>()(`${meta.id}/action/create-script`, {
23
- input: Schema.extend(
24
- ScriptProps,
25
- Schema.Struct({
26
- space: SpaceSchema,
27
- }),
21
+ initialTemplateId: Schema.Literal(...templates.map(({ id }) => id)).pipe(
22
+ Schema.annotations({ title: 'Template' }),
23
+ Schema.optional,
28
24
  ),
29
- output: Schema.Struct({
30
- object: ScriptType,
31
- }),
32
- }) {}
25
+ });
33
26
 
34
27
  export const NotebookProps = Schema.Struct({
35
28
  name: Schema.optional(Schema.String),
36
29
  });
37
30
 
38
- export class CreateNotebook extends Schema.TaggedClass<CreateNotebook>()(`${meta.id}/action/create-notebook`, {
39
- input: Schema.extend(
40
- NotebookProps,
41
- Schema.Struct({
42
- space: SpaceSchema,
31
+ export const CreateScript = Operation.make({
32
+ meta: { key: `${SCRIPT_OPERATION}/create-script`, name: 'Create Script' },
33
+ schema: {
34
+ input: Schema.extend(
35
+ ScriptProps,
36
+ Schema.Struct({
37
+ db: Database.Database,
38
+ }),
39
+ ),
40
+ output: Schema.Struct({
41
+ object: Script.Script,
43
42
  }),
44
- ),
45
- output: Schema.Struct({
46
- object: Notebook.Notebook,
47
- }),
48
- }) {}
43
+ },
44
+ });
49
45
  }
@@ -0,0 +1,17 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { type Atom } from '@effect-atom/atom-react';
6
+
7
+ import { Capability } from '@dxos/app-framework';
8
+
9
+ import { type Compiler } from '../compiler';
10
+ import { meta } from '../meta';
11
+
12
+ import { type ScriptSettings } from './types';
13
+
14
+ export namespace ScriptCapabilities {
15
+ export const Settings = Capability.make<Atom.Writable<ScriptSettings>>(`${meta.id}/capability/settings`);
16
+ export const Compiler = Capability.make<Compiler>(`${meta.id}/capability/compiler`);
17
+ }
@@ -0,0 +1,11 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { ActivationEvent } from '@dxos/app-framework';
6
+
7
+ import { meta } from '../meta';
8
+
9
+ export namespace ScriptEvents {
10
+ export const SetupCompiler = ActivationEvent.make(`${meta.id}/event/setup-compiler`);
11
+ }
@@ -3,4 +3,7 @@
3
3
  //
4
4
 
5
5
  export * from './actions';
6
- export * from './schema';
6
+ export * from './capabilities';
7
+ export * from './events';
8
+ export * as Notebook from './Notebook';
9
+ export * from './types';
@@ -0,0 +1,15 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import * as Schema from 'effect/Schema';
6
+
7
+ import { EditorInputMode } from '@dxos/ui-editor';
8
+
9
+ export const ScriptSettings = Schema.mutable(
10
+ Schema.Struct({
11
+ editorInputMode: EditorInputMode,
12
+ }),
13
+ );
14
+
15
+ export type ScriptSettings = Schema.Schema.Type<typeof ScriptSettings>;
@@ -4,29 +4,23 @@
4
4
 
5
5
  import { type Client } from '@dxos/client';
6
6
  import { Obj, Ref } from '@dxos/echo';
7
- import {
8
- FunctionType,
9
- type ScriptType,
10
- getUserFunctionIdInMetadata,
11
- setUserFunctionIdInMetadata,
12
- } from '@dxos/functions';
13
- import { Bundler } from '@dxos/functions/bundler';
14
- import { incrementSemverPatch, uploadWorkerFunction } from '@dxos/functions/edge';
7
+ import { Function, type Script, getUserFunctionIdInMetadata } from '@dxos/functions';
8
+ import { bundleFunction } from '@dxos/functions-runtime/bundler';
9
+ import { FunctionsServiceClient, incrementSemverPatch } from '@dxos/functions-runtime/edge';
15
10
  import { log } from '@dxos/log';
11
+ import { FunctionRuntimeKind } from '@dxos/protocols';
16
12
  import { type Space } from '@dxos/react-client/echo';
17
13
 
18
- import { updateFunctionMetadata } from './functions';
19
-
20
- export const isScriptDeployed = ({ script, fn }: { script: ScriptType; fn: any }): boolean => {
14
+ export const isScriptDeployed = ({ script, fn }: { script: Script.Script; fn: any }): boolean => {
21
15
  const existingFunctionId = fn && getUserFunctionIdInMetadata(Obj.getMeta(fn));
22
16
  return Boolean(existingFunctionId) && !script.changed;
23
17
  };
24
18
 
25
19
  type DeployScriptProps = {
26
- script: ScriptType;
20
+ script: Script.Script;
27
21
  client: Client;
28
22
  space: Space;
29
- fn?: FunctionType;
23
+ fn?: Function.Function;
30
24
  existingFunctionId?: string;
31
25
  };
32
26
 
@@ -48,32 +42,30 @@ export const deployScript = async ({
48
42
  }
49
43
 
50
44
  try {
51
- const bundler = new Bundler({ platform: 'browser', sandboxedModules: [], remoteModules: {} });
52
- const buildResult = await bundler.bundle({ source: script.source!.target!.content });
45
+ const buildResult = await bundleFunction({
46
+ source: script.source!.target!.content,
47
+ });
53
48
  if ('error' in buildResult) {
54
49
  throw buildResult.error || new Error('Bundle creation failed');
55
50
  }
56
51
 
57
- const { functionId, version, meta } = await uploadWorkerFunction({
58
- client,
52
+ const functionsServiceClient = FunctionsServiceClient.fromClient(client);
53
+ const newFunction = await functionsServiceClient.deploy({
54
+ // TODO(dmaretskyi): Space key or identity key.
59
55
  ownerPublicKey: space.key,
60
56
  version: fn ? incrementSemverPatch(fn.version) : '0.0.1',
61
57
  functionId: existingFunctionId,
62
58
  entryPoint: buildResult.entryPoint,
63
- assets: { [buildResult.entryPoint]: buildResult.asset },
59
+ assets: buildResult.assets,
60
+ runtime: FunctionRuntimeKind.enums.WORKER_LOADER,
64
61
  });
65
62
 
66
- if (functionId === undefined || version === undefined) {
67
- throw new Error(`Upload didn't return expected data: ${JSON.stringify({ functionId, version })}`);
68
- }
69
-
70
- const storedFunction = createOrUpdateFunctionInSpace(space, fn, script, functionId, version);
71
- script.changed = false;
72
- updateFunctionMetadata(script, storedFunction, meta, functionId);
73
-
74
- setUserFunctionIdInMetadata(Obj.getMeta(storedFunction), functionId);
63
+ const storedFunction = createOrUpdateFunctionInSpace(space, fn, script, newFunction);
64
+ Obj.change(script, (s) => {
65
+ s.changed = false;
66
+ });
75
67
 
76
- return { success: true, functionId };
68
+ return { success: true, functionId: getUserFunctionIdInMetadata(Obj.getMeta(storedFunction)) };
77
69
  } catch (err: any) {
78
70
  log.catch(err);
79
71
  return { success: false, error: err };
@@ -83,7 +75,7 @@ export const deployScript = async ({
83
75
  /**
84
76
  * Validate inputs for script deployment.
85
77
  */
86
- const validateDeployInputs = (script: ScriptType, space: Space): Error | null => {
78
+ const validateDeployInputs = (script: Script.Script, space: Space): Error | null => {
87
79
  if (!script.source || !space) {
88
80
  return new Error('Script source or space not available');
89
81
  }
@@ -92,19 +84,17 @@ const validateDeployInputs = (script: ScriptType, space: Space): Error | null =>
92
84
 
93
85
  const createOrUpdateFunctionInSpace = (
94
86
  space: Space,
95
- fn: FunctionType | undefined,
96
- script: ScriptType,
97
- functionId: string,
98
- version: string,
99
- ): FunctionType => {
87
+ fn: Function.Function | undefined,
88
+ script: Script.Script,
89
+ newFunction: Function.Function,
90
+ ): Function.Function => {
100
91
  if (fn) {
101
- fn.name = script.name ?? 'New Function';
102
- fn.version = version;
92
+ Function.setFrom(fn, newFunction);
103
93
  return fn;
104
94
  } else {
105
- const fn = Obj.make(FunctionType, { name: script.name ?? 'New Function', version, source: Ref.make(script) });
106
- space.db.add(fn);
107
- setUserFunctionIdInMetadata(Obj.getMeta(fn), functionId);
108
- return fn;
95
+ Obj.change(newFunction, (f) => {
96
+ f.source = Ref.make(script);
97
+ });
98
+ return space.db.add(newFunction);
109
99
  }
110
100
  };
@@ -2,11 +2,13 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { type FunctionType, type ScriptType, getInvocationUrl, getUserFunctionIdInMetadata } from '@dxos/functions';
5
+ import { Obj } from '@dxos/echo';
6
+ import { type Function, type Script, getUserFunctionIdInMetadata } from '@dxos/functions';
7
+ import { getInvocationUrl } from '@dxos/functions-runtime';
6
8
  import { type PublicKey } from '@dxos/keys';
7
9
  import { log } from '@dxos/log';
8
10
  import { type Credential } from '@dxos/protocols/proto/dxos/halo/credentials';
9
- import { getMeta, getSpace } from '@dxos/react-client/echo';
11
+ import { getSpace } from '@dxos/react-client/echo';
10
12
  /**
11
13
  * Get the function URL for a given script and client configuration
12
14
  */
@@ -15,12 +17,12 @@ export const getFunctionUrl = ({
15
17
  fn,
16
18
  edgeUrl,
17
19
  }: {
18
- script: ScriptType;
20
+ script: Script.Script;
19
21
  fn: any;
20
22
  edgeUrl: string;
21
23
  }): string | undefined => {
22
24
  const space = getSpace(script);
23
- const existingFunctionId = fn && getUserFunctionIdInMetadata(getMeta(fn));
25
+ const existingFunctionId = fn && getUserFunctionIdInMetadata(Obj.getMeta(fn));
24
26
 
25
27
  if (!existingFunctionId) {
26
28
  return undefined;
@@ -32,36 +34,38 @@ export const getFunctionUrl = ({
32
34
  };
33
35
 
34
36
  export const updateFunctionMetadata = (
35
- script: ScriptType,
36
- storedFunction: FunctionType,
37
+ script: Script.Script,
38
+ storedFunction: Function.Function,
37
39
  meta: any,
38
40
  functionId: string,
39
41
  ) => {
40
- if (script.description !== undefined && script.description.trim() !== '') {
41
- storedFunction.description = script.description;
42
- } else if (meta.description) {
43
- storedFunction.description = meta.description;
44
- } else {
45
- log.verbose('no description in function metadata', { functionId });
46
- }
42
+ Obj.change(storedFunction, (f) => {
43
+ if (script.description !== undefined && script.description.trim() !== '') {
44
+ f.description = script.description;
45
+ } else if (meta.description) {
46
+ f.description = meta.description;
47
+ } else {
48
+ log.verbose('no description in function metadata', { functionId });
49
+ }
47
50
 
48
- if (meta.inputSchema) {
49
- storedFunction.inputSchema = meta.inputSchema;
50
- } else {
51
- log.verbose('no input schema in function metadata', { functionId });
52
- }
51
+ if (meta.inputSchema) {
52
+ f.inputSchema = meta.inputSchema;
53
+ } else {
54
+ log.verbose('no input schema in function metadata', { functionId });
55
+ }
53
56
 
54
- if (meta.outputSchema) {
55
- storedFunction.outputSchema = meta.outputSchema;
56
- } else {
57
- log.verbose('no output schema in function metadata', { functionId });
58
- }
57
+ if (meta.outputSchema) {
58
+ f.outputSchema = meta.outputSchema;
59
+ } else {
60
+ log.verbose('no output schema in function metadata', { functionId });
61
+ }
59
62
 
60
- if (meta.key) {
61
- storedFunction.key = meta.key;
62
- } else {
63
- log.verbose('no key in function metadata', { functionId });
64
- }
63
+ if (meta.key) {
64
+ f.key = meta.key;
65
+ } else {
66
+ log.verbose('no key in function metadata', { functionId });
67
+ }
68
+ });
65
69
  };
66
70
 
67
71
  export const getAccessCredential = (identityKey: PublicKey): Credential => {
package/src/vite-env.d.ts CHANGED
@@ -18,3 +18,5 @@ declare module '*?raw' {
18
18
  const content: string;
19
19
  export default content;
20
20
  }
21
+
22
+ declare module 'https://*';