@dxos/plugin-script 0.8.4-main.406dc2a → 0.8.4-main.4f23b4e393

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 (574) hide show
  1. package/README.md +15 -13
  2. package/dist/lib/neutral/DeploymentDialog-6DBF3V6C.mjs +112 -0
  3. package/dist/lib/neutral/DeploymentDialog-6DBF3V6C.mjs.map +7 -0
  4. package/dist/lib/{browser/NotebookContainer-LVGRPFY3.mjs → neutral/NotebookContainer-FIAQI3A2.mjs} +310 -233
  5. package/dist/lib/neutral/NotebookContainer-FIAQI3A2.mjs.map +7 -0
  6. package/dist/lib/neutral/ScriptContainer-2OPBAXFB.mjs +79 -0
  7. package/dist/lib/neutral/ScriptContainer-2OPBAXFB.mjs.map +7 -0
  8. package/dist/lib/neutral/ScriptPlugin.mjs +39 -0
  9. package/dist/lib/neutral/ScriptPlugin.mjs.map +7 -0
  10. package/dist/lib/neutral/ScriptPlugin.node.mjs +27 -0
  11. package/dist/lib/neutral/ScriptPlugin.node.mjs.map +7 -0
  12. package/dist/lib/neutral/ScriptPluginSettings-T4JMUSHN.mjs +31 -0
  13. package/dist/lib/neutral/ScriptPluginSettings-T4JMUSHN.mjs.map +7 -0
  14. package/dist/lib/neutral/ScriptProperties-F6NE6M4H.mjs +296 -0
  15. package/dist/lib/neutral/ScriptProperties-F6NE6M4H.mjs.map +7 -0
  16. package/dist/lib/neutral/TestContainer-AFVTBYSJ.mjs +44 -0
  17. package/dist/lib/neutral/TestContainer-AFVTBYSJ.mjs.map +7 -0
  18. package/dist/lib/neutral/access-token-created-XNDXOZ2U.mjs +34 -0
  19. package/dist/lib/neutral/access-token-created-XNDXOZ2U.mjs.map +7 -0
  20. package/dist/lib/neutral/app-graph-builder-7AWFCEQF.mjs +52 -0
  21. package/dist/lib/neutral/app-graph-builder-7AWFCEQF.mjs.map +7 -0
  22. package/dist/lib/neutral/blueprint-definition-T33SBPP2.mjs +15 -0
  23. package/dist/lib/neutral/blueprint-definition-T33SBPP2.mjs.map +7 -0
  24. package/dist/lib/neutral/blueprints/index.mjs +10 -0
  25. package/dist/lib/neutral/capabilities/index.mjs +21 -0
  26. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  27. package/dist/lib/neutral/capabilities/node.mjs +17 -0
  28. package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
  29. package/dist/lib/neutral/chunk-5TUEFAPL.mjs +150 -0
  30. package/dist/lib/neutral/chunk-5TUEFAPL.mjs.map +7 -0
  31. package/dist/lib/neutral/chunk-A4LRH25S.mjs +105 -0
  32. package/dist/lib/neutral/chunk-A4LRH25S.mjs.map +7 -0
  33. package/dist/lib/neutral/chunk-BDRB6ZX2.mjs +52 -0
  34. package/dist/lib/neutral/chunk-BDRB6ZX2.mjs.map +7 -0
  35. package/dist/lib/neutral/chunk-BMO5VOKL.mjs +125 -0
  36. package/dist/lib/neutral/chunk-BMO5VOKL.mjs.map +7 -0
  37. package/dist/lib/neutral/chunk-D7DFASAE.mjs +52 -0
  38. package/dist/lib/neutral/chunk-D7DFASAE.mjs.map +7 -0
  39. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  40. package/dist/lib/neutral/chunk-K2L4KTFK.mjs +8 -0
  41. package/dist/lib/neutral/chunk-K2L4KTFK.mjs.map +7 -0
  42. package/dist/lib/neutral/chunk-LYPVNW4K.mjs +8 -0
  43. package/dist/lib/neutral/chunk-LYPVNW4K.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-MI6X5CTJ.mjs +336 -0
  45. package/dist/lib/neutral/chunk-MI6X5CTJ.mjs.map +7 -0
  46. package/dist/lib/neutral/chunk-P2F3STZN.mjs +8 -0
  47. package/dist/lib/neutral/chunk-P2F3STZN.mjs.map +7 -0
  48. package/dist/lib/{browser/chunk-EZVXV6DA.mjs → neutral/chunk-UYR3YH4Q.mjs} +9 -4
  49. package/dist/lib/neutral/chunk-UYR3YH4Q.mjs.map +7 -0
  50. package/dist/lib/neutral/compiler-SMVIP5UN.mjs +101 -0
  51. package/dist/lib/neutral/compiler-SMVIP5UN.mjs.map +7 -0
  52. package/dist/lib/neutral/components/index.mjs +719 -0
  53. package/dist/lib/neutral/components/index.mjs.map +7 -0
  54. package/dist/lib/neutral/containers/index.mjs +17 -0
  55. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  56. package/dist/lib/neutral/create-NDIDHPOA.mjs +44 -0
  57. package/dist/lib/neutral/create-NDIDHPOA.mjs.map +7 -0
  58. package/dist/lib/neutral/create-object-F2NWICFV.mjs +44 -0
  59. package/dist/lib/neutral/create-object-F2NWICFV.mjs.map +7 -0
  60. package/dist/lib/neutral/create-script-H5S4AO47.mjs +45 -0
  61. package/dist/lib/neutral/create-script-H5S4AO47.mjs.map +7 -0
  62. package/dist/lib/neutral/delete-PAUWA2QM.mjs +21 -0
  63. package/dist/lib/neutral/delete-PAUWA2QM.mjs.map +7 -0
  64. package/dist/lib/neutral/deploy-CXVW54JJ.mjs +62 -0
  65. package/dist/lib/neutral/deploy-CXVW54JJ.mjs.map +7 -0
  66. package/dist/lib/neutral/hooks/index.mjs +369 -0
  67. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  68. package/dist/lib/neutral/index.mjs +41 -0
  69. package/dist/lib/neutral/inspect-invocations-UO27IPCL.mjs +59 -0
  70. package/dist/lib/neutral/inspect-invocations-UO27IPCL.mjs.map +7 -0
  71. package/dist/lib/neutral/install-function-5N24Q45W.mjs +51 -0
  72. package/dist/lib/neutral/install-function-5N24Q45W.mjs.map +7 -0
  73. package/dist/lib/neutral/invoke-V6XYXKLD.mjs +32 -0
  74. package/dist/lib/neutral/invoke-V6XYXKLD.mjs.map +7 -0
  75. package/dist/lib/neutral/meta.json +1 -0
  76. package/dist/lib/neutral/meta.mjs +10 -0
  77. package/dist/lib/neutral/operation-handler-X5RLIHL6.mjs +18 -0
  78. package/dist/lib/neutral/operation-handler-X5RLIHL6.mjs.map +7 -0
  79. package/dist/lib/neutral/operations/index.mjs +8 -0
  80. package/dist/lib/neutral/plugin.mjs +16 -0
  81. package/dist/lib/neutral/plugin.mjs.map +7 -0
  82. package/dist/lib/neutral/query-deployed-functions-FVD7NYPA.mjs +30 -0
  83. package/dist/lib/neutral/query-deployed-functions-FVD7NYPA.mjs.map +7 -0
  84. package/dist/lib/neutral/react-surface-7NEZEFD4.mjs +117 -0
  85. package/dist/lib/neutral/react-surface-7NEZEFD4.mjs.map +7 -0
  86. package/dist/lib/neutral/read-FFOSK6A3.mjs +26 -0
  87. package/dist/lib/neutral/read-FFOSK6A3.mjs.map +7 -0
  88. package/dist/lib/neutral/settings-VJBW4OMK.mjs +30 -0
  89. package/dist/lib/neutral/settings-VJBW4OMK.mjs.map +7 -0
  90. package/dist/lib/{browser → neutral}/templates/index.mjs +2 -1
  91. package/dist/lib/neutral/translations.mjs +104 -0
  92. package/dist/lib/neutral/translations.mjs.map +7 -0
  93. package/dist/lib/neutral/types/index.mjs +17 -0
  94. package/dist/lib/neutral/types/index.mjs.map +7 -0
  95. package/dist/lib/neutral/update-PJS5GG3Y.mjs +63 -0
  96. package/dist/lib/neutral/update-PJS5GG3Y.mjs.map +7 -0
  97. package/dist/types/src/ScriptPlugin.d.ts +3 -1
  98. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  99. package/dist/types/src/ScriptPlugin.node.d.ts +4 -0
  100. package/dist/types/src/ScriptPlugin.node.d.ts.map +1 -0
  101. package/dist/types/src/ScriptPlugin.test.d.ts +2 -0
  102. package/dist/types/src/ScriptPlugin.test.d.ts.map +1 -0
  103. package/dist/types/src/blueprints/functions/create.d.ts +11 -0
  104. package/dist/types/src/blueprints/functions/create.d.ts.map +1 -0
  105. package/dist/types/src/blueprints/functions/definitions.d.ts +141 -0
  106. package/dist/types/src/blueprints/functions/definitions.d.ts.map +1 -0
  107. package/dist/types/src/blueprints/functions/delete.d.ts +18 -0
  108. package/dist/types/src/blueprints/functions/delete.d.ts.map +1 -0
  109. package/dist/types/src/blueprints/functions/deploy.d.ts +22 -0
  110. package/dist/types/src/blueprints/functions/deploy.d.ts.map +1 -0
  111. package/dist/types/src/blueprints/functions/index.d.ts +4 -0
  112. package/dist/types/src/blueprints/functions/index.d.ts.map +1 -0
  113. package/dist/types/src/blueprints/functions/inspect-invocations.d.ts +29 -0
  114. package/dist/types/src/blueprints/functions/inspect-invocations.d.ts.map +1 -0
  115. package/dist/types/src/blueprints/functions/install-function.d.ts +11 -0
  116. package/dist/types/src/blueprints/functions/install-function.d.ts.map +1 -0
  117. package/dist/types/src/blueprints/functions/invoke.d.ts +22 -0
  118. package/dist/types/src/blueprints/functions/invoke.d.ts.map +1 -0
  119. package/dist/types/src/blueprints/functions/query-deployed-functions.d.ts +13 -0
  120. package/dist/types/src/blueprints/functions/query-deployed-functions.d.ts.map +1 -0
  121. package/dist/types/src/blueprints/functions/read.d.ts +22 -0
  122. package/dist/types/src/blueprints/functions/read.d.ts.map +1 -0
  123. package/dist/types/src/blueprints/functions/update.d.ts +27 -0
  124. package/dist/types/src/blueprints/functions/update.d.ts.map +1 -0
  125. package/dist/types/src/blueprints/index.d.ts +2 -0
  126. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  127. package/dist/types/src/blueprints/script-blueprint.d.ts +4 -0
  128. package/dist/types/src/blueprints/script-blueprint.d.ts.map +1 -0
  129. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  130. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  131. package/dist/types/src/capabilities/artifact-definition.d.ts +3 -2
  132. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  133. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -4
  134. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  135. package/dist/types/src/capabilities/compiler.d.ts +3 -1
  136. package/dist/types/src/capabilities/compiler.d.ts.map +1 -1
  137. package/dist/types/src/capabilities/create-object.d.ts +16 -0
  138. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  139. package/dist/types/src/capabilities/index.d.ts +19 -7
  140. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  141. package/dist/types/src/capabilities/node.d.ts +18 -0
  142. package/dist/types/src/capabilities/node.d.ts.map +1 -0
  143. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  144. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  145. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  146. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  147. package/dist/types/src/capabilities/settings.d.ts +5 -2
  148. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  149. package/dist/types/src/compiler/compiler.d.ts +1 -1
  150. package/dist/types/src/compiler/compiler.d.ts.map +1 -1
  151. package/dist/types/src/components/FramePanel/FramePanel.d.ts +12 -0
  152. package/dist/types/src/components/FramePanel/FramePanel.d.ts.map +1 -0
  153. package/dist/types/src/components/FramePanel/index.d.ts +2 -0
  154. package/dist/types/src/components/FramePanel/index.d.ts.map +1 -0
  155. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts +5 -4
  156. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -1
  157. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts +1 -1
  158. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts.map +1 -1
  159. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +5 -3
  160. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -1
  161. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +221 -229
  162. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -1
  163. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts +5 -0
  164. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts.map +1 -0
  165. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts +13 -0
  166. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts.map +1 -0
  167. package/dist/types/src/components/QueryEditor/index.d.ts +2 -0
  168. package/dist/types/src/components/QueryEditor/index.d.ts.map +1 -0
  169. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.d.ts +8 -0
  170. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.d.ts.map +1 -0
  171. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.d.ts +241 -0
  172. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.d.ts.map +1 -0
  173. package/dist/types/src/components/ScriptPluginSettings/index.d.ts +2 -0
  174. package/dist/types/src/components/ScriptPluginSettings/index.d.ts.map +1 -0
  175. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +10 -9
  176. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  177. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +221 -229
  178. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  179. package/dist/types/src/components/TestPanel/TestPanel.d.ts +4 -2
  180. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
  181. package/dist/types/src/components/TestPanel/index.d.ts +0 -1
  182. package/dist/types/src/components/TestPanel/index.d.ts.map +1 -1
  183. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +6 -2
  184. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  185. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +3 -1
  186. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  187. package/dist/types/src/components/index.d.ts +6 -5
  188. package/dist/types/src/components/index.d.ts.map +1 -1
  189. package/dist/types/src/constants.d.ts +2 -0
  190. package/dist/types/src/constants.d.ts.map +1 -0
  191. package/dist/types/src/{components → containers}/DeploymentDialog/DeploymentDialog.d.ts +2 -4
  192. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.d.ts.map +1 -0
  193. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts +240 -0
  194. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -0
  195. package/dist/types/src/containers/DeploymentDialog/index.d.ts +2 -0
  196. package/dist/types/src/containers/DeploymentDialog/index.d.ts.map +1 -0
  197. package/dist/types/src/containers/NotebookContainer/NotebookContainer.d.ts +7 -0
  198. package/dist/types/src/containers/NotebookContainer/NotebookContainer.d.ts.map +1 -0
  199. package/dist/types/src/containers/NotebookContainer/NotebookContainer.stories.d.ts +7 -0
  200. package/dist/types/src/containers/NotebookContainer/NotebookContainer.stories.d.ts.map +1 -0
  201. package/dist/types/src/containers/NotebookContainer/index.d.ts +2 -0
  202. package/dist/types/src/containers/NotebookContainer/index.d.ts.map +1 -0
  203. package/dist/types/src/containers/ScriptContainer/ScriptContainer.d.ts +10 -0
  204. package/dist/types/src/containers/ScriptContainer/ScriptContainer.d.ts.map +1 -0
  205. package/dist/types/src/containers/ScriptContainer/ScriptContainer.stories.d.ts +242 -0
  206. package/dist/types/src/containers/ScriptContainer/ScriptContainer.stories.d.ts.map +1 -0
  207. package/dist/types/src/containers/ScriptContainer/index.d.ts +2 -0
  208. package/dist/types/src/containers/ScriptContainer/index.d.ts.map +1 -0
  209. package/dist/types/src/containers/ScriptProperties/BlueprintEditor.d.ts +7 -0
  210. package/dist/types/src/containers/ScriptProperties/BlueprintEditor.d.ts.map +1 -0
  211. package/dist/types/src/containers/ScriptProperties/FunctionBinding.d.ts +7 -0
  212. package/dist/types/src/containers/ScriptProperties/FunctionBinding.d.ts.map +1 -0
  213. package/dist/types/src/containers/ScriptProperties/FunctionPublishing.d.ts +7 -0
  214. package/dist/types/src/containers/ScriptProperties/FunctionPublishing.d.ts.map +1 -0
  215. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts +6 -0
  216. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts.map +1 -0
  217. package/dist/types/src/containers/ScriptProperties/ScriptProperties.stories.d.ts +242 -0
  218. package/dist/types/src/containers/ScriptProperties/ScriptProperties.stories.d.ts.map +1 -0
  219. package/dist/types/src/containers/ScriptProperties/index.d.ts +2 -0
  220. package/dist/types/src/containers/ScriptProperties/index.d.ts.map +1 -0
  221. package/dist/types/src/containers/TestContainer/TestContainer.d.ts +8 -0
  222. package/dist/types/src/containers/TestContainer/TestContainer.d.ts.map +1 -0
  223. package/dist/types/src/containers/TestContainer/index.d.ts +2 -0
  224. package/dist/types/src/containers/TestContainer/index.d.ts.map +1 -0
  225. package/dist/types/src/containers/index.d.ts +7 -0
  226. package/dist/types/src/containers/index.d.ts.map +1 -0
  227. package/dist/types/src/e2e/ai.test.d.ts +2 -0
  228. package/dist/types/src/e2e/ai.test.d.ts.map +1 -0
  229. package/dist/types/src/e2e/deploy.test.d.ts +2 -0
  230. package/dist/types/src/e2e/deploy.test.d.ts.map +1 -0
  231. package/dist/types/src/hooks/deploy.d.ts +27 -29
  232. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  233. package/dist/types/src/hooks/format.d.ts +5 -4
  234. package/dist/types/src/hooks/format.d.ts.map +1 -1
  235. package/dist/types/src/hooks/index.d.ts +1 -0
  236. package/dist/types/src/hooks/index.d.ts.map +1 -1
  237. package/dist/types/src/hooks/template.d.ts +7 -16
  238. package/dist/types/src/hooks/template.d.ts.map +1 -1
  239. package/dist/types/src/hooks/useCompiler.d.ts +7 -0
  240. package/dist/types/src/hooks/useCompiler.d.ts.map +1 -0
  241. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  242. package/dist/types/src/hooks/useToolbarState.d.ts +8 -1
  243. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  244. package/dist/types/src/index.d.ts +2 -3
  245. package/dist/types/src/index.d.ts.map +1 -1
  246. package/dist/types/src/meta.d.ts +2 -2
  247. package/dist/types/src/meta.d.ts.map +1 -1
  248. package/dist/types/src/notebook/compute-graph.d.ts +58 -0
  249. package/dist/types/src/notebook/compute-graph.d.ts.map +1 -0
  250. package/dist/types/src/notebook/compute-graph.test.d.ts +2 -0
  251. package/dist/types/src/notebook/compute-graph.test.d.ts.map +1 -0
  252. package/dist/types/src/notebook/eval.d.ts +1 -1
  253. package/dist/types/src/notebook/eval.d.ts.map +1 -1
  254. package/dist/types/src/notebook/index.d.ts +1 -1
  255. package/dist/types/src/notebook/index.d.ts.map +1 -1
  256. package/dist/types/src/notebook/vfs-parser.d.ts.map +1 -1
  257. package/dist/types/src/operations/access-token-created.d.ts +5 -0
  258. package/dist/types/src/operations/access-token-created.d.ts.map +1 -0
  259. package/dist/types/src/operations/create-script.d.ts +5 -0
  260. package/dist/types/src/operations/create-script.d.ts.map +1 -0
  261. package/dist/types/src/operations/index.d.ts +3 -0
  262. package/dist/types/src/operations/index.d.ts.map +1 -0
  263. package/dist/types/src/plugin.d.ts +4 -0
  264. package/dist/types/src/plugin.d.ts.map +1 -0
  265. package/dist/types/src/templates/anthropic.d.ts +7 -0
  266. package/dist/types/src/templates/anthropic.d.ts.map +1 -0
  267. package/dist/types/src/templates/chat.d.ts.map +1 -1
  268. package/dist/types/src/templates/chess-bot.d.ts +12 -0
  269. package/dist/types/src/templates/chess-bot.d.ts.map +1 -0
  270. package/dist/types/src/templates/commentary.d.ts +13 -0
  271. package/dist/types/src/templates/commentary.d.ts.map +1 -0
  272. package/dist/types/src/templates/data-generator.d.ts.map +1 -1
  273. package/dist/types/src/templates/discord.d.ts.map +1 -1
  274. package/dist/types/src/templates/email.d.ts.map +1 -1
  275. package/dist/types/src/templates/forex-effect.d.ts +5 -1
  276. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  277. package/dist/types/src/templates/forex.d.ts +5 -1
  278. package/dist/types/src/templates/forex.d.ts.map +1 -1
  279. package/dist/types/src/templates/gmail.d.ts.map +1 -1
  280. package/dist/types/src/templates/index.d.ts +33 -24
  281. package/dist/types/src/templates/index.d.ts.map +1 -1
  282. package/dist/types/src/templates/ping.d.ts +2 -4
  283. package/dist/types/src/templates/ping.d.ts.map +1 -1
  284. package/dist/types/src/testing/index.d.ts +2 -1
  285. package/dist/types/src/testing/index.d.ts.map +1 -1
  286. package/dist/types/src/testing/simulator.test.d.ts +2 -0
  287. package/dist/types/src/testing/simulator.test.d.ts.map +1 -0
  288. package/dist/types/src/testing/test-notebook.d.ts +3 -0
  289. package/dist/types/src/testing/test-notebook.d.ts.map +1 -0
  290. package/dist/types/src/testing/test-script.d.ts +7 -0
  291. package/dist/types/src/testing/test-script.d.ts.map +1 -0
  292. package/dist/types/src/translations.d.ts +222 -91
  293. package/dist/types/src/translations.d.ts.map +1 -1
  294. package/dist/types/src/types/Notebook.d.ts +120 -0
  295. package/dist/types/src/types/Notebook.d.ts.map +1 -0
  296. package/dist/types/src/types/ScriptCapabilities.d.ts +6 -0
  297. package/dist/types/src/types/ScriptCapabilities.d.ts.map +1 -0
  298. package/dist/types/src/types/ScriptEvents.d.ts +3 -0
  299. package/dist/types/src/types/ScriptEvents.d.ts.map +1 -0
  300. package/dist/types/src/types/ScriptOperation.d.ts +29 -0
  301. package/dist/types/src/types/ScriptOperation.d.ts.map +1 -0
  302. package/dist/types/src/types/Settings.d.ts +7 -0
  303. package/dist/types/src/types/Settings.d.ts.map +1 -0
  304. package/dist/types/src/types/index.d.ts +5 -2
  305. package/dist/types/src/types/index.d.ts.map +1 -1
  306. package/dist/types/src/types/types.d.ts +2 -0
  307. package/dist/types/src/types/types.d.ts.map +1 -0
  308. package/dist/types/src/util/deploy.d.ts +4 -4
  309. package/dist/types/src/util/deploy.d.ts.map +1 -1
  310. package/dist/types/src/util/functions.d.ts +3 -3
  311. package/dist/types/src/util/functions.d.ts.map +1 -1
  312. package/dist/types/tsconfig.tsbuildinfo +1 -1
  313. package/package.json +174 -93
  314. package/src/ScriptPlugin.node.ts +21 -0
  315. package/src/ScriptPlugin.test.ts +31 -0
  316. package/src/ScriptPlugin.tsx +24 -98
  317. package/src/blueprints/functions/create.ts +47 -0
  318. package/src/blueprints/functions/definitions.ts +323 -0
  319. package/src/blueprints/functions/delete.ts +23 -0
  320. package/src/blueprints/functions/deploy.ts +70 -0
  321. package/src/blueprints/functions/index.ts +19 -0
  322. package/src/blueprints/functions/inspect-invocations.ts +56 -0
  323. package/src/blueprints/functions/install-function.ts +56 -0
  324. package/src/blueprints/functions/invoke.ts +34 -0
  325. package/src/blueprints/functions/query-deployed-functions.ts +31 -0
  326. package/src/blueprints/functions/read.ts +29 -0
  327. package/src/blueprints/functions/update.ts +68 -0
  328. package/src/blueprints/index.ts +5 -0
  329. package/src/blueprints/script-blueprint.ts +55 -0
  330. package/src/capabilities/app-graph-builder.ts +40 -58
  331. package/src/capabilities/artifact-definition.ts +99 -98
  332. package/src/capabilities/blueprint-definition.ts +13 -24
  333. package/src/capabilities/compiler.ts +100 -23
  334. package/src/capabilities/create-object.ts +48 -0
  335. package/src/capabilities/index.ts +13 -9
  336. package/src/capabilities/node.ts +16 -0
  337. package/src/capabilities/operation-handler.ts +21 -0
  338. package/src/capabilities/react-surface.tsx +120 -92
  339. package/src/capabilities/settings.ts +26 -14
  340. package/src/compiler/compiler.ts +17 -3
  341. package/src/components/{FrameContainer/FrameContainer.tsx → FramePanel/FramePanel.tsx} +8 -7
  342. package/src/components/{FrameContainer → FramePanel}/index.ts +1 -1
  343. package/src/components/NotebookStack/NotebookCell.tsx +100 -91
  344. package/src/components/NotebookStack/NotebookMenu.tsx +7 -7
  345. package/src/components/NotebookStack/NotebookStack.stories.tsx +34 -13
  346. package/src/components/NotebookStack/NotebookStack.tsx +40 -22
  347. package/src/components/QueryEditor/QueryEditor.stories.tsx +96 -0
  348. package/src/components/QueryEditor/QueryEditor.tsx +47 -0
  349. package/src/components/QueryEditor/index.ts +5 -0
  350. package/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.tsx +32 -0
  351. package/src/components/ScriptPluginSettings/ScriptPluginSettings.tsx +42 -0
  352. package/src/components/ScriptPluginSettings/index.ts +5 -0
  353. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +44 -22
  354. package/src/components/ScriptToolbar/ScriptToolbar.tsx +43 -48
  355. package/src/components/TestPanel/TestPanel.tsx +124 -185
  356. package/src/components/TestPanel/index.ts +0 -1
  357. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +26 -19
  358. package/src/components/TypescriptEditor/TypescriptEditor.tsx +74 -71
  359. package/src/components/index.ts +6 -7
  360. package/src/constants.ts +7 -0
  361. package/src/containers/DeploymentDialog/DeploymentDialog.stories.tsx +63 -0
  362. package/src/containers/DeploymentDialog/DeploymentDialog.tsx +99 -0
  363. package/src/containers/DeploymentDialog/index.ts +5 -0
  364. package/src/containers/NotebookContainer/NotebookContainer.stories.tsx +85 -0
  365. package/src/containers/NotebookContainer/NotebookContainer.tsx +254 -0
  366. package/src/containers/NotebookContainer/index.ts +5 -0
  367. package/src/containers/ScriptContainer/ScriptContainer.stories.tsx +107 -0
  368. package/src/containers/ScriptContainer/ScriptContainer.tsx +85 -0
  369. package/src/containers/ScriptContainer/index.ts +5 -0
  370. package/src/containers/ScriptProperties/BlueprintEditor.tsx +101 -0
  371. package/src/containers/ScriptProperties/FunctionBinding.tsx +83 -0
  372. package/src/containers/ScriptProperties/FunctionPublishing.tsx +121 -0
  373. package/src/containers/ScriptProperties/ScriptProperties.stories.tsx +76 -0
  374. package/src/containers/ScriptProperties/ScriptProperties.tsx +24 -0
  375. package/src/containers/ScriptProperties/index.ts +5 -0
  376. package/src/containers/TestContainer/TestContainer.tsx +44 -0
  377. package/src/containers/TestContainer/index.ts +5 -0
  378. package/src/containers/index.ts +11 -0
  379. package/src/e2e/ai.test.ts +93 -0
  380. package/src/e2e/deploy.test.ts +66 -0
  381. package/src/hooks/deploy.ts +47 -37
  382. package/src/hooks/format.ts +10 -5
  383. package/src/hooks/index.ts +1 -0
  384. package/src/hooks/template.ts +23 -26
  385. package/src/hooks/useCompiler.ts +25 -0
  386. package/src/hooks/useCreateAndDeployScriptTemplates.ts +15 -16
  387. package/src/hooks/useToolbarState.ts +29 -4
  388. package/src/index.ts +2 -4
  389. package/src/meta.ts +10 -6
  390. package/src/notebook/compute-graph.test.ts +82 -0
  391. package/src/notebook/{notebook.ts → compute-graph.ts} +66 -19
  392. package/src/notebook/eval.ts +1 -1
  393. package/src/notebook/index.ts +1 -1
  394. package/src/notebook/vfs-parser.ts +10 -3
  395. package/src/operations/access-token-created.ts +37 -0
  396. package/src/operations/create-script.ts +46 -0
  397. package/src/operations/index.ts +10 -0
  398. package/src/plugin.ts +11 -0
  399. package/src/templates/anthropic.ts +49 -0
  400. package/src/templates/chat.ts +1 -1
  401. package/src/templates/chess-bot.ts +63 -0
  402. package/src/templates/commentary.ts +248 -0
  403. package/src/templates/data-generator.ts +2 -2
  404. package/src/templates/discord.ts +3 -3
  405. package/src/templates/forex-effect.ts +35 -29
  406. package/src/templates/forex.ts +27 -17
  407. package/src/templates/gmail.ts +5 -6
  408. package/src/templates/index.ts +31 -18
  409. package/src/templates/ping.ts +22 -5
  410. package/src/testing/index.ts +2 -1
  411. package/src/testing/simulator.test.ts +39 -0
  412. package/src/testing/test-notebook.ts +71 -0
  413. package/src/testing/test-script.ts +29 -0
  414. package/src/translations.ts +87 -87
  415. package/src/types/Notebook.ts +45 -0
  416. package/src/types/ScriptCapabilities.ts +18 -0
  417. package/src/types/ScriptEvents.ts +11 -0
  418. package/src/types/ScriptOperation.ts +42 -0
  419. package/src/types/Settings.ts +20 -0
  420. package/src/types/index.ts +6 -2
  421. package/src/types/types.ts +5 -0
  422. package/src/util/deploy.ts +32 -40
  423. package/src/util/functions.ts +35 -30
  424. package/src/vite-env.d.ts +2 -0
  425. package/dist/lib/browser/DeploymentDialog-65TWT6S5.mjs +0 -13
  426. package/dist/lib/browser/NotebookContainer-LVGRPFY3.mjs.map +0 -7
  427. package/dist/lib/browser/ScriptContainer-LRTRN7JW.mjs +0 -149
  428. package/dist/lib/browser/ScriptContainer-LRTRN7JW.mjs.map +0 -7
  429. package/dist/lib/browser/app-graph-builder-DPYULSME.mjs +0 -65
  430. package/dist/lib/browser/app-graph-builder-DPYULSME.mjs.map +0 -7
  431. package/dist/lib/browser/blueprint-definition-ET5KZ46I.mjs +0 -28
  432. package/dist/lib/browser/blueprint-definition-ET5KZ46I.mjs.map +0 -7
  433. package/dist/lib/browser/chunk-5CYLWXRH.mjs +0 -89
  434. package/dist/lib/browser/chunk-5CYLWXRH.mjs.map +0 -7
  435. package/dist/lib/browser/chunk-75LH4EUR.mjs +0 -326
  436. package/dist/lib/browser/chunk-75LH4EUR.mjs.map +0 -7
  437. package/dist/lib/browser/chunk-E7DXDICD.mjs +0 -282
  438. package/dist/lib/browser/chunk-E7DXDICD.mjs.map +0 -7
  439. package/dist/lib/browser/chunk-EZVXV6DA.mjs.map +0 -7
  440. package/dist/lib/browser/chunk-I3QSGUFJ.mjs +0 -646
  441. package/dist/lib/browser/chunk-I3QSGUFJ.mjs.map +0 -7
  442. package/dist/lib/browser/chunk-JO2O7W6J.mjs +0 -254
  443. package/dist/lib/browser/chunk-JO2O7W6J.mjs.map +0 -7
  444. package/dist/lib/browser/chunk-N6M34EUC.mjs +0 -112
  445. package/dist/lib/browser/chunk-N6M34EUC.mjs.map +0 -7
  446. package/dist/lib/browser/chunk-NM4WQS4F.mjs +0 -153
  447. package/dist/lib/browser/chunk-NM4WQS4F.mjs.map +0 -7
  448. package/dist/lib/browser/chunk-OKXN2N7M.mjs +0 -15
  449. package/dist/lib/browser/chunk-OKXN2N7M.mjs.map +0 -7
  450. package/dist/lib/browser/chunk-ST3ACVUC.mjs +0 -88
  451. package/dist/lib/browser/chunk-ST3ACVUC.mjs.map +0 -7
  452. package/dist/lib/browser/compiler-G2N2CG63.mjs +0 -98
  453. package/dist/lib/browser/compiler-G2N2CG63.mjs.map +0 -7
  454. package/dist/lib/browser/index.mjs +0 -279
  455. package/dist/lib/browser/index.mjs.map +0 -7
  456. package/dist/lib/browser/intent-resolver-JLU7DVLQ.mjs +0 -105
  457. package/dist/lib/browser/intent-resolver-JLU7DVLQ.mjs.map +0 -7
  458. package/dist/lib/browser/meta.json +0 -1
  459. package/dist/lib/browser/react-surface-76SDTUYG.mjs +0 -127
  460. package/dist/lib/browser/react-surface-76SDTUYG.mjs.map +0 -7
  461. package/dist/lib/browser/settings-ERFKVNUK.mjs +0 -25
  462. package/dist/lib/browser/settings-ERFKVNUK.mjs.map +0 -7
  463. package/dist/lib/browser/types/index.mjs +0 -13
  464. package/dist/lib/node-esm/DeploymentDialog-I63ZC2HH.mjs +0 -14
  465. package/dist/lib/node-esm/NotebookContainer-QY5NJGJI.mjs +0 -684
  466. package/dist/lib/node-esm/NotebookContainer-QY5NJGJI.mjs.map +0 -7
  467. package/dist/lib/node-esm/ScriptContainer-SVXCSLNH.mjs +0 -150
  468. package/dist/lib/node-esm/ScriptContainer-SVXCSLNH.mjs.map +0 -7
  469. package/dist/lib/node-esm/app-graph-builder-UXJGHXSL.mjs +0 -66
  470. package/dist/lib/node-esm/app-graph-builder-UXJGHXSL.mjs.map +0 -7
  471. package/dist/lib/node-esm/blueprint-definition-AIYFOT7Q.mjs +0 -30
  472. package/dist/lib/node-esm/blueprint-definition-AIYFOT7Q.mjs.map +0 -7
  473. package/dist/lib/node-esm/chunk-2GVTWESW.mjs +0 -90
  474. package/dist/lib/node-esm/chunk-2GVTWESW.mjs.map +0 -7
  475. package/dist/lib/node-esm/chunk-4X375PGY.mjs +0 -90
  476. package/dist/lib/node-esm/chunk-4X375PGY.mjs.map +0 -7
  477. package/dist/lib/node-esm/chunk-67OVZHI3.mjs +0 -327
  478. package/dist/lib/node-esm/chunk-67OVZHI3.mjs.map +0 -7
  479. package/dist/lib/node-esm/chunk-C2ORIPKH.mjs +0 -154
  480. package/dist/lib/node-esm/chunk-C2ORIPKH.mjs.map +0 -7
  481. package/dist/lib/node-esm/chunk-NUXZQQ6P.mjs +0 -16
  482. package/dist/lib/node-esm/chunk-NUXZQQ6P.mjs.map +0 -7
  483. package/dist/lib/node-esm/chunk-OG2SIKHE.mjs +0 -28
  484. package/dist/lib/node-esm/chunk-OG2SIKHE.mjs.map +0 -7
  485. package/dist/lib/node-esm/chunk-SMFPSKQT.mjs +0 -647
  486. package/dist/lib/node-esm/chunk-SMFPSKQT.mjs.map +0 -7
  487. package/dist/lib/node-esm/chunk-VRSDE4CI.mjs +0 -114
  488. package/dist/lib/node-esm/chunk-VRSDE4CI.mjs.map +0 -7
  489. package/dist/lib/node-esm/chunk-VZAFGLD7.mjs +0 -283
  490. package/dist/lib/node-esm/chunk-VZAFGLD7.mjs.map +0 -7
  491. package/dist/lib/node-esm/chunk-YW36TZ7K.mjs +0 -255
  492. package/dist/lib/node-esm/chunk-YW36TZ7K.mjs.map +0 -7
  493. package/dist/lib/node-esm/compiler-PLDAZ5GJ.mjs +0 -99
  494. package/dist/lib/node-esm/compiler-PLDAZ5GJ.mjs.map +0 -7
  495. package/dist/lib/node-esm/index.mjs +0 -280
  496. package/dist/lib/node-esm/index.mjs.map +0 -7
  497. package/dist/lib/node-esm/intent-resolver-SFGTIFOG.mjs +0 -106
  498. package/dist/lib/node-esm/intent-resolver-SFGTIFOG.mjs.map +0 -7
  499. package/dist/lib/node-esm/meta.json +0 -1
  500. package/dist/lib/node-esm/react-surface-SHEBNW4R.mjs +0 -128
  501. package/dist/lib/node-esm/react-surface-SHEBNW4R.mjs.map +0 -7
  502. package/dist/lib/node-esm/settings-5TYXQ42N.mjs +0 -26
  503. package/dist/lib/node-esm/settings-5TYXQ42N.mjs.map +0 -7
  504. package/dist/lib/node-esm/templates/index.mjs +0 -10
  505. package/dist/lib/node-esm/types/index.mjs +0 -14
  506. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  507. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  508. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  509. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  510. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +0 -1
  511. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +0 -251
  512. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +0 -1
  513. package/dist/types/src/components/DeploymentDialog/index.d.ts +0 -4
  514. package/dist/types/src/components/DeploymentDialog/index.d.ts.map +0 -1
  515. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts +0 -12
  516. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +0 -1
  517. package/dist/types/src/components/FrameContainer/frame.d.ts +0 -2
  518. package/dist/types/src/components/FrameContainer/frame.d.ts.map +0 -1
  519. package/dist/types/src/components/FrameContainer/index.d.ts +0 -2
  520. package/dist/types/src/components/FrameContainer/index.d.ts.map +0 -1
  521. package/dist/types/src/components/NotebookContainer.d.ts +0 -10
  522. package/dist/types/src/components/NotebookContainer.d.ts.map +0 -1
  523. package/dist/types/src/components/NotebookContainer.stories.d.ts +0 -248
  524. package/dist/types/src/components/NotebookContainer.stories.d.ts.map +0 -1
  525. package/dist/types/src/components/ScriptContainer.d.ts +0 -12
  526. package/dist/types/src/components/ScriptContainer.d.ts.map +0 -1
  527. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +0 -8
  528. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +0 -1
  529. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts +0 -6
  530. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +0 -1
  531. package/dist/types/src/components/Settings/index.d.ts +0 -3
  532. package/dist/types/src/components/Settings/index.d.ts.map +0 -1
  533. package/dist/types/src/components/TestPanel/TestContainer.d.ts +0 -8
  534. package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +0 -1
  535. package/dist/types/src/events.d.ts +0 -4
  536. package/dist/types/src/events.d.ts.map +0 -1
  537. package/dist/types/src/notebook/notebook.d.ts +0 -35
  538. package/dist/types/src/notebook/notebook.d.ts.map +0 -1
  539. package/dist/types/src/notebook/notebook.test.d.ts +0 -2
  540. package/dist/types/src/notebook/notebook.test.d.ts.map +0 -1
  541. package/dist/types/src/templates/chess.d.ts +0 -3
  542. package/dist/types/src/templates/chess.d.ts.map +0 -1
  543. package/dist/types/src/testing/data.d.ts +0 -19
  544. package/dist/types/src/testing/data.d.ts.map +0 -1
  545. package/dist/types/src/types/actions.d.ts +0 -66
  546. package/dist/types/src/types/actions.d.ts.map +0 -1
  547. package/dist/types/src/types/schema.d.ts +0 -61
  548. package/dist/types/src/types/schema.d.ts.map +0 -1
  549. package/src/capabilities/capabilities.ts +0 -12
  550. package/src/capabilities/intent-resolver.ts +0 -87
  551. package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +0 -53
  552. package/src/components/DeploymentDialog/DeploymentDialog.tsx +0 -106
  553. package/src/components/DeploymentDialog/index.ts +0 -9
  554. package/src/components/FrameContainer/frame.html +0 -25
  555. package/src/components/FrameContainer/frame.tsx +0 -51
  556. package/src/components/NotebookContainer.stories.tsx +0 -32
  557. package/src/components/NotebookContainer.tsx +0 -124
  558. package/src/components/ScriptContainer.tsx +0 -69
  559. package/src/components/Settings/ScriptObjectSettings.tsx +0 -286
  560. package/src/components/Settings/ScriptPluginSettings.tsx +0 -61
  561. package/src/components/Settings/index.ts +0 -6
  562. package/src/components/TestPanel/TestContainer.tsx +0 -27
  563. package/src/events.ts +0 -11
  564. package/src/notebook/notebook.test.ts +0 -70
  565. package/src/templates/chess.ts +0 -49
  566. package/src/testing/data.ts +0 -47
  567. package/src/types/actions.ts +0 -53
  568. package/src/types/schema.ts +0 -48
  569. /package/dist/lib/{browser/templates → neutral/blueprints}/index.mjs.map +0 -0
  570. /package/dist/lib/{browser/DeploymentDialog-65TWT6S5.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  571. /package/dist/lib/{browser/types → neutral}/index.mjs.map +0 -0
  572. /package/dist/lib/{node-esm/DeploymentDialog-I63ZC2HH.mjs.map → neutral/meta.mjs.map} +0 -0
  573. /package/dist/lib/{node-esm/templates → neutral/operations}/index.mjs.map +0 -0
  574. /package/dist/lib/{node-esm/types → neutral/templates}/index.mjs.map +0 -0
@@ -2,37 +2,35 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
+ import { Script } from '@dxos/compute';
5
6
  import { Obj } from '@dxos/echo';
6
- import { FUNCTIONS_PRESET_META_KEY, type ScriptType } from '@dxos/functions';
7
- import { createMenuAction, createMenuItemGroup } from '@dxos/react-ui-menu';
7
+ import { FUNCTIONS_PRESET_META_KEY } from '@dxos/functions';
8
+ import { createMenuAction } from '@dxos/react-ui-menu';
8
9
 
9
- import { meta } from '../meta';
10
10
  import { templates } from '../templates';
11
11
 
12
12
  export type TemplateActionProperties = { type: 'template'; value: string };
13
13
 
14
- const createTemplateSelectGroup = () => {
15
- // TODO(burdon): This should not be in the toolbar (move to create Object dialog).
16
- return createMenuItemGroup('template-select', {
17
- label: ['template select group label', { ns: meta.id }],
18
- variant: 'dropdownMenu',
19
- });
20
- };
21
-
22
- const createTemplateSelectActions = (script: ScriptType) => {
14
+ const createTemplateSelectActions = (script: Script.Script) => {
23
15
  return templates.map((template) => {
24
16
  return createMenuAction<TemplateActionProperties>(
25
17
  `template--${template.id}`,
26
18
  () => {
27
- script.name = template.name;
28
- script.source!.target!.content = template.source;
29
- const metaKeys = Obj.getMeta(script).keys;
30
- const oldPresetIndex = metaKeys.findIndex((key) => key.source === FUNCTIONS_PRESET_META_KEY);
31
- if (oldPresetIndex >= 0) {
32
- metaKeys.splice(oldPresetIndex, 1);
33
- }
34
- if ('presetId' in template) {
35
- metaKeys.push({ source: FUNCTIONS_PRESET_META_KEY, id: template.presetId });
19
+ Obj.update(script, (script) => {
20
+ script.name = template.name;
21
+ const meta = Obj.getMeta(script);
22
+ const oldPresetIndex = meta.keys.findIndex((key) => key.source === FUNCTIONS_PRESET_META_KEY);
23
+ if (oldPresetIndex >= 0) {
24
+ meta.keys.splice(oldPresetIndex, 1);
25
+ }
26
+ if ('presetId' in template) {
27
+ meta.keys.push({ source: FUNCTIONS_PRESET_META_KEY, id: template.presetId });
28
+ }
29
+ });
30
+ if (script.source?.target) {
31
+ Obj.update(script.source.target, (obj) => {
32
+ obj.content = template.source;
33
+ });
36
34
  }
37
35
  },
38
36
  {
@@ -44,14 +42,13 @@ const createTemplateSelectActions = (script: ScriptType) => {
44
42
  });
45
43
  };
46
44
 
47
- export const createTemplateSelect = (script: ScriptType) => {
48
- const templateSelectGroup = createTemplateSelectGroup();
45
+ export const createTemplateSelect = (script: Script.Script) => {
49
46
  const templateSelectActions = createTemplateSelectActions(script);
50
47
  return {
51
- nodes: [templateSelectGroup, ...templateSelectActions],
48
+ nodes: [...templateSelectActions],
52
49
  edges: [
53
- { source: 'root', target: 'template-select' },
54
- ...templateSelectActions.map((action) => ({ source: 'template-select', target: action.id })),
50
+ { source: 'root', target: 'template-select', relation: 'child' },
51
+ ...templateSelectActions.map((action) => ({ source: 'template-select', target: action.id, relation: 'child' })),
55
52
  ],
56
53
  };
57
54
  };
@@ -0,0 +1,25 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { useCapabilities, usePluginManager } from '@dxos/app-framework/ui';
6
+ import { runAndForwardErrors } from '@dxos/effect';
7
+ import { useAsyncEffect } from '@dxos/react-ui';
8
+
9
+ import { ScriptEvents } from '#types';
10
+ import { ScriptCapabilities } from '#types';
11
+
12
+ import type { Compiler } from '../compiler';
13
+
14
+ /**
15
+ * Asynchronously sets up the compiler and returns it.
16
+ * @returns The compiler instance or undefined if it is not ready.
17
+ */
18
+ export const useCompiler = (): Compiler | undefined => {
19
+ const manager = usePluginManager();
20
+ useAsyncEffect(async () => {
21
+ await manager.activate(ScriptEvents.SetupCompiler).pipe(runAndForwardErrors);
22
+ }, [manager]);
23
+ const [compiler] = useCapabilities(ScriptCapabilities.Compiler);
24
+ return compiler;
25
+ };
@@ -2,19 +2,19 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import * as Function from 'effect/Function';
6
5
  import { useCallback, useState } from 'react';
7
6
 
8
- import { chain, createIntent, useIntentDispatcher } from '@dxos/app-framework';
7
+ import { useOperationInvoker } from '@dxos/app-framework/ui';
8
+ import { Script } from '@dxos/compute';
9
9
  import { Obj } from '@dxos/echo';
10
- import { ScriptType } from '@dxos/functions';
11
10
  import { invariant } from '@dxos/invariant';
12
- import { SpaceAction } from '@dxos/plugin-space/types';
11
+ import { SpaceOperation } from '@dxos/plugin-space';
13
12
  import { useClient } from '@dxos/react-client';
14
13
  import { type Space } from '@dxos/react-client/echo';
15
14
 
15
+ import { ScriptOperation } from '#types';
16
+
16
17
  import { type Template } from '../templates';
17
- import { ScriptAction } from '../types';
18
18
  import { deployScript } from '../util';
19
19
 
20
20
  type DeploymentStatus = 'idle' | 'pending' | 'success' | 'error';
@@ -27,7 +27,7 @@ type DeploymentStatus = 'idle' | 'pending' | 'success' | 'error';
27
27
  * All creation / deployment operations run concurrently for improved performance.
28
28
  */
29
29
  export const useCreateAndDeployScriptTemplates = (space: Space | undefined, scriptTemplates: Template[]) => {
30
- const { dispatchPromise: dispatch } = useIntentDispatcher();
30
+ const { invokePromise } = useOperationInvoker();
31
31
  const client = useClient();
32
32
  const [status, setStatus] = useState<DeploymentStatus>('idle');
33
33
  const [error, setError] = useState<Error | undefined>(undefined);
@@ -39,21 +39,20 @@ export const useCreateAndDeployScriptTemplates = (space: Space | undefined, scri
39
39
 
40
40
  const deploymentResults = await Promise.all(
41
41
  scriptTemplates.map(async (template) => {
42
- const result = await dispatch(
43
- Function.pipe(
44
- createIntent(ScriptAction.CreateScript, { space, initialTemplateId: template.id as any }),
45
- chain(SpaceAction.AddObject, { target: space }),
46
- ),
47
- );
48
- invariant(Obj.instanceOf(ScriptType, result.data?.object));
49
-
50
- return deployScript({ space, client, script: result.data.object });
42
+ const createResult = await invokePromise(ScriptOperation.CreateScript, {
43
+ db: space.db,
44
+ initialTemplateId: template.id as any,
45
+ });
46
+ invariant(Obj.instanceOf(Script.Script, createResult.data?.object));
47
+ await invokePromise(SpaceOperation.AddObject, { target: space.db, object: createResult.data.object });
48
+
49
+ return deployScript({ space, client, script: createResult.data.object });
51
50
  }),
52
51
  );
53
52
 
54
53
  const hasErrors = deploymentResults.some((result) => !result.success);
55
54
  setStatus(hasErrors ? 'error' : 'success');
56
- }, [space, dispatch, client, scriptTemplates]);
55
+ }, [space, invokePromise, client, scriptTemplates]);
57
56
 
58
57
  // TODO(burdon): Return onCreateAndDeployScripts.
59
58
  return { handleCreateAndDeployScripts, status, error };
@@ -2,15 +2,40 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
+ import { Atom } from '@effect-atom/atom-react';
5
6
  import { useMemo } from 'react';
6
7
 
7
- import { live } from '@dxos/live-object';
8
+ import { Capabilities } from '@dxos/app-framework';
9
+ import { useCapability } from '@dxos/app-framework/ui';
8
10
 
9
11
  import { type DeployState } from './deploy';
10
12
 
11
13
  export type ScriptToolbarState = Partial<DeployState>;
12
14
 
13
- // TODO(burdon): Replace with context provider?
14
- export const useToolbarState = (initialState: ScriptToolbarState = {}) => {
15
- return useMemo(() => live<ScriptToolbarState>(initialState), []);
15
+ export type ScriptToolbarStateStore = {
16
+ atom: Atom.Writable<ScriptToolbarState>;
17
+ get value(): ScriptToolbarState;
18
+ update: (updater: (current: ScriptToolbarState) => ScriptToolbarState) => void;
19
+ set: <K extends keyof ScriptToolbarState>(key: K, value: ScriptToolbarState[K]) => void;
20
+ };
21
+
22
+ export const useToolbarState = (initialState: ScriptToolbarState = {}): ScriptToolbarStateStore => {
23
+ const registry = useCapability(Capabilities.AtomRegistry);
24
+ const atom = useMemo(() => Atom.make<ScriptToolbarState>(initialState), []);
25
+
26
+ return useMemo(
27
+ () => ({
28
+ atom,
29
+ get value() {
30
+ return registry.get(atom);
31
+ },
32
+ update: (updater: (current: ScriptToolbarState) => ScriptToolbarState) => {
33
+ registry.set(atom, updater(registry.get(atom)));
34
+ },
35
+ set: <K extends keyof ScriptToolbarState>(key: K, v: ScriptToolbarState[K]) => {
36
+ registry.set(atom, { ...registry.get(atom), [key]: v });
37
+ },
38
+ }),
39
+ [atom, registry],
40
+ );
16
41
  };
package/src/index.ts CHANGED
@@ -2,9 +2,7 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- export { ScriptCapabilities } from './capabilities';
6
- export * from './components';
5
+ export * from './blueprints';
7
6
  export * from './meta';
7
+ export * from './types';
8
8
  export * from './util';
9
-
10
- export * from './ScriptPlugin';
package/src/meta.ts CHANGED
@@ -2,14 +2,18 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { type PluginMeta } from '@dxos/app-framework';
5
+ import { type Plugin } from '@dxos/app-framework';
6
+ import { trim } from '@dxos/util';
6
7
 
7
- export const meta: PluginMeta = {
8
- id: 'dxos.org/plugin/script',
8
+ export const meta: Plugin.Meta = {
9
+ id: 'org.dxos.plugin.script',
9
10
  name: 'Scripts',
10
- description:
11
- 'Scripts enable you to deploy custom functions that run on the edge. These functions can be referenced by your AI agent and called inside of cells in any Sheet. Use scripts to interact with API’s or external data inside of Composer.',
11
+ description: trim`
12
+ Write and deploy custom JavaScript functions that extend your workspace capabilities.
13
+ Create AI agent tools, spreadsheet formulas, and automation scripts that integrate seamlessly with other plugins.
14
+ `,
12
15
  icon: 'ph--code--regular',
16
+ iconHue: 'sky',
13
17
  source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-explorer',
14
18
  tags: ['labs'],
15
19
  screenshots: ['https://dxos.network/plugin-details-scripts-dark.png'],
@@ -18,5 +22,5 @@ export const meta: PluginMeta = {
18
22
  // TODO(ZaymonFC): Configure by scopes?
19
23
  export const defaultScriptsForIntegration: Record<string, string[]> = {
20
24
  // TODO(wittjosiah): Also include content extraction scripts in the default set.
21
- 'gmail.com': ['dxos.org/script/gmail'],
25
+ 'gmail.com': ['org.dxos.script.gmail'],
22
26
  };
@@ -0,0 +1,82 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Registry } from '@effect-atom/atom-react';
6
+ import { describe, expect, test } from 'vitest';
7
+
8
+ import { Obj } from '@dxos/echo';
9
+
10
+ import { createNotebook } from '#testing';
11
+
12
+ import { ComputeGraph } from './compute-graph';
13
+
14
+ describe('notebook', () => {
15
+ test('parse dependency graph', async () => {
16
+ const registry = Registry.make();
17
+ const notebook = createNotebook();
18
+ const graph = new ComputeGraph(notebook, registry);
19
+ const result = graph.parse();
20
+
21
+ const getId = (i: number) => notebook.cells[i].id;
22
+
23
+ // Check dependencies.
24
+ expect(result.dependencyGraph).toMatchObject({
25
+ [getId(0)]: [getId(1), getId(2)],
26
+ [getId(3)]: [getId(1)],
27
+ [getId(4)]: [getId(0), getId(3)],
28
+ });
29
+
30
+ // Compute values.
31
+ const values = await graph.evaluate();
32
+ expect(values).toEqual({
33
+ [getId(0)]: 300,
34
+ [getId(2)]: 200,
35
+ [getId(3)]: 200,
36
+ [getId(4)]: 500,
37
+ });
38
+ });
39
+
40
+ test('evalScript blocks access to window and document', async () => {
41
+ const registry = Registry.make();
42
+ const notebook = createNotebook();
43
+ // Replace one of the cells with code that tries to access window/document.
44
+ const sourceTarget = notebook.cells[2].source?.target;
45
+ if (sourceTarget) {
46
+ Obj.update(sourceTarget, (sourceTarget) => {
47
+ sourceTarget.content = 'b = typeof window';
48
+ });
49
+ }
50
+
51
+ const graph = new ComputeGraph(notebook, registry);
52
+ graph.parse();
53
+ const values = await graph.evaluate();
54
+
55
+ // Should evaluate to 'undefined' since window is blocked.
56
+ expect(values[notebook.cells[2].id]).toBe('undefined');
57
+
58
+ // Test document access.
59
+ if (sourceTarget) {
60
+ Obj.update(sourceTarget, (sourceTarget) => {
61
+ sourceTarget.content = 'b = typeof document';
62
+ });
63
+ }
64
+ graph.parse();
65
+ const values2 = await graph.evaluate();
66
+
67
+ // Should evaluate to 'undefined' since document is blocked.
68
+ expect(values2[notebook.cells[2].id]).toBe('undefined');
69
+
70
+ // Test that safe globals still work.
71
+ if (sourceTarget) {
72
+ Obj.update(sourceTarget, (sourceTarget) => {
73
+ sourceTarget.content = 'b = Math.max(100, 200)';
74
+ });
75
+ }
76
+ graph.parse();
77
+ const values3 = await graph.evaluate();
78
+
79
+ // Should evaluate correctly.
80
+ expect(values3[notebook.cells[2].id]).toBe(200);
81
+ });
82
+ });
@@ -2,11 +2,11 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { type Signal, signal } from '@preact/signals-core';
5
+ import { Atom, type Registry } from '@effect-atom/atom-react';
6
6
 
7
7
  import { log } from '@dxos/log';
8
8
 
9
- import { type Notebook } from '../types';
9
+ import { type Notebook } from '#types';
10
10
 
11
11
  import { evalScript } from './eval';
12
12
  import { type ParsedExpression, VirtualTypeScriptParser } from './vfs-parser';
@@ -14,35 +14,76 @@ import { type ParsedExpression, VirtualTypeScriptParser } from './vfs-parser';
14
14
  /**
15
15
  * Compute graph that evaluates the notebook cells.
16
16
  */
17
+ // TODO(burdon): Reconcile with @dxos/conductor.
17
18
  export class ComputeGraph {
18
19
  private readonly _parser = new VirtualTypeScriptParser();
19
20
 
20
- private _expressions = signal<Record<string, ParsedExpression>>({});
21
- private _values = signal<Record<string, any>>({});
21
+ private _expressionsAtom = Atom.make<Record<string, ParsedExpression>>({});
22
+ private _valuesByCellIdAtom = Atom.make<Record<string, any>>({});
23
+ private _valuesByNameAtom = Atom.make<Record<string, any>>({});
22
24
 
23
- constructor(private readonly _notebook: Notebook.Notebook) {}
25
+ constructor(
26
+ private readonly _notebook: Notebook.Notebook,
27
+ private readonly _registry: Registry.Registry,
28
+ ) {}
24
29
 
25
30
  /**
26
- * Parsed expressions by cell ID.
31
+ * Atom for parsed expressions by cell ID.
27
32
  */
28
- get expressions(): Signal<Record<string, ParsedExpression>> {
29
- return this._expressions;
33
+ get expressions(): Atom.Atom<Record<string, ParsedExpression>> {
34
+ return this._expressionsAtom;
30
35
  }
31
36
 
32
37
  /**
33
- * Computed values by cell ID.
38
+ * Get current expressions by cell ID.
34
39
  */
35
- get values(): Signal<Record<string, any>> {
36
- return this._values;
40
+ getExpressions(): Record<string, ParsedExpression> {
41
+ return this._registry.get(this._expressionsAtom);
42
+ }
43
+
44
+ /**
45
+ * Atom for computed values by cell ID.
46
+ */
47
+ get values(): Atom.Atom<Record<string, any>> {
48
+ return this._valuesByCellIdAtom;
49
+ }
50
+
51
+ /**
52
+ * Get computed values by cell ID.
53
+ */
54
+ getValues(): Record<string, any> {
55
+ return this._registry.get(this._valuesByCellIdAtom);
56
+ }
57
+
58
+ /**
59
+ * Atom for computed values by name.
60
+ */
61
+ get valuesByName(): Atom.Atom<Record<string, any>> {
62
+ return this._valuesByNameAtom;
63
+ }
64
+
65
+ /**
66
+ * Get current values by name.
67
+ */
68
+ getValuesByName(): Record<string, any> {
69
+ return this._registry.get(this._valuesByNameAtom);
70
+ }
71
+
72
+ /**
73
+ * Get computed value by cell ID.
74
+ */
75
+ getValue(cellId: string): any {
76
+ return this._registry.get(this._valuesByCellIdAtom)[cellId];
37
77
  }
38
78
 
39
79
  /**
40
80
  * Compute values.
41
81
  */
42
- evaluate() {
82
+ async evaluate() {
43
83
  // Parse expressions.
44
84
  const { expressions, dependencyGraph } = this.parse();
45
- this._values.value = {};
85
+ this._registry.set(this._valuesByCellIdAtom, {});
86
+ this._registry.set(this._valuesByNameAtom, {});
46
87
 
47
88
  // Create a map of cell IDs to expressions for easy lookup.
48
89
  const cellExpressions = new Map<string, ParsedExpression>();
@@ -65,7 +106,7 @@ export class ComputeGraph {
65
106
  continue;
66
107
  }
67
108
 
68
- const cellSource = this._notebook.cells.find((cell) => cell.id === cellId)?.script?.target?.content;
109
+ const cellSource = this._notebook.cells.find((cell) => cell.id === cellId)?.source?.target?.content;
69
110
  if (!cellSource) {
70
111
  log.error('no source for cell', { cellId });
71
112
  continue;
@@ -90,7 +131,7 @@ export class ComputeGraph {
90
131
  rhs = rhs.slice(0, -1).trim();
91
132
  }
92
133
 
93
- const result = evalScript(rhs, valuesByName);
134
+ const result = await this.eval(rhs, valuesByName);
94
135
  valuesByName[expr.name] = result;
95
136
  if (typeof result !== 'function') {
96
137
  valuesByCellId[cellId] = result;
@@ -98,18 +139,24 @@ export class ComputeGraph {
98
139
  }
99
140
  } else {
100
141
  // For expressions without assignment, just evaluate.
101
- const result = evalScript(cellSource, valuesByName);
142
+ const result = await this.eval(cellSource, valuesByName);
102
143
  valuesByCellId[cellId] = result;
103
144
  }
104
145
  } catch (error) {
146
+ // TODO(burdon): Set error state.
105
147
  log.error('error evaluating cell', { cellId, error });
106
148
  }
107
149
  }
108
150
 
109
- this._values.value = valuesByCellId;
151
+ this._registry.set(this._valuesByCellIdAtom, valuesByCellId);
152
+ this._registry.set(this._valuesByNameAtom, valuesByName);
110
153
  return valuesByCellId;
111
154
  }
112
155
 
156
+ private async eval(source: string, values: Record<string, any>) {
157
+ return evalScript(source, values);
158
+ }
159
+
113
160
  /**
114
161
  * Parse expressions.
115
162
  */
@@ -117,7 +164,7 @@ export class ComputeGraph {
117
164
  const expressions = this._notebook.cells
118
165
  .filter((cell) => cell.type === 'script')
119
166
  .reduce<Record<string, ParsedExpression>>((acc, cell) => {
120
- const text = cell.script?.target?.content.trim();
167
+ const text = cell.source?.target?.content.trim();
121
168
  if (text) {
122
169
  const parsed = this._parser.parseExpression(text);
123
170
  acc[cell.id] = parsed;
@@ -128,7 +175,7 @@ export class ComputeGraph {
128
175
 
129
176
  // Build dependency graph.
130
177
  const dependencyGraph = this.buildDependencyGraph(expressions);
131
- this._expressions.value = expressions;
178
+ this._registry.set(this._expressionsAtom, expressions);
132
179
  return { expressions, dependencyGraph };
133
180
  }
134
181
 
@@ -7,7 +7,7 @@ import { trim } from '@dxos/util';
7
7
  /**
8
8
  * Evaluate the script (with dependencies as arguments).
9
9
  */
10
- export const evalScript = (code: string, deps: Record<string, any> = {}) => {
10
+ export const evalScript = async (code: string, deps: Record<string, any> = {}) => {
11
11
  // Create a sandboxed environment that blocks access to window and document.
12
12
  const sandbox = {
13
13
  ...deps,
@@ -2,4 +2,4 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- export * from './notebook';
5
+ export * from './compute-graph';
@@ -42,6 +42,7 @@ export class VirtualTypeScriptParser {
42
42
  protected compilerOptions: ts.CompilerOptions = {
43
43
  target: ts.ScriptTarget.ES2020,
44
44
  module: ts.ModuleKind.ESNext,
45
+ moduleResolution: ts.ModuleResolutionKind.Bundler,
45
46
  strict: true,
46
47
  esModuleInterop: true,
47
48
  skipLibCheck: true,
@@ -91,7 +92,9 @@ export class VirtualTypeScriptParser {
91
92
  // Analyze each file.
92
93
  files.forEach((file) => {
93
94
  const sourceFile = env.getSourceFile(file.filename);
94
- if (!sourceFile || !typeChecker) return;
95
+ if (!sourceFile || !typeChecker) {
96
+ return;
97
+ }
95
98
 
96
99
  const fileResults = this.analyzeSourceFile(sourceFile, typeChecker);
97
100
  results.push(...fileResults);
@@ -207,7 +210,9 @@ export class VirtualTypeScriptParser {
207
210
  signature: ts.Signature | undefined,
208
211
  typeChecker: ts.TypeChecker,
209
212
  ): Array<{ name: string; type: string }> {
210
- if (!signature) return [];
213
+ if (!signature) {
214
+ return [];
215
+ }
211
216
 
212
217
  return signature.parameters.map((param) => ({
213
218
  name: param.getName(),
@@ -429,7 +434,9 @@ export class NotebookVirtualParser extends VirtualTypeScriptParser {
429
434
  const previousExports = new Set<string>();
430
435
  for (const [_prevCellId, prevAnalysis] of cellAnalysis) {
431
436
  prevAnalysis.exports.forEach((exp) => {
432
- if (exp.name) previousExports.add(exp.name);
437
+ if (exp.name) {
438
+ previousExports.add(exp.name);
439
+ }
433
440
  });
434
441
  }
435
442
 
@@ -0,0 +1,37 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+ import * as Predicate from 'effect/Predicate';
7
+
8
+ import { LayoutOperation } from '@dxos/app-toolkit';
9
+ import { Operation } from '@dxos/compute';
10
+ import { IntegrationOperation } from '@dxos/plugin-integration';
11
+
12
+ import { defaultScriptsForIntegration } from '#meta';
13
+
14
+ import { DEPLOYMENT_DIALOG } from '../constants';
15
+ import { templates } from '../templates';
16
+
17
+ const handler: Operation.WithHandler<typeof IntegrationOperation.AccessTokenCreated> =
18
+ IntegrationOperation.AccessTokenCreated.pipe(
19
+ Operation.withHandler(
20
+ Effect.fnUntraced(function* ({ accessToken }) {
21
+ const scriptTemplates = (defaultScriptsForIntegration[accessToken.source] ?? [])
22
+ .map((id) => templates.find((t) => t.id === id))
23
+ .filter(Predicate.isNotNullable);
24
+
25
+ if (scriptTemplates.length > 0) {
26
+ yield* Operation.invoke(LayoutOperation.UpdateDialog, {
27
+ subject: DEPLOYMENT_DIALOG,
28
+ blockAlign: 'start',
29
+ state: true,
30
+ props: { accessToken, scriptTemplates },
31
+ });
32
+ }
33
+ }),
34
+ ),
35
+ );
36
+
37
+ export default handler;
@@ -0,0 +1,46 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Octokit } from '@octokit/core';
6
+ import * as Effect from 'effect/Effect';
7
+
8
+ import { Script, Operation } from '@dxos/compute';
9
+
10
+ import { templates } from '../templates';
11
+ import { ScriptOperation } from '../types';
12
+
13
+ const handler: Operation.WithHandler<typeof ScriptOperation.CreateScript> = ScriptOperation.CreateScript.pipe(
14
+ Operation.withHandler(
15
+ Effect.fnUntraced(function* ({ name, gistUrl, initialTemplateId }) {
16
+ let source = templates[0].source;
17
+ let scriptName = name;
18
+
19
+ const gistId = gistUrl?.split('/').at(-1);
20
+ if (gistId) {
21
+ const octokit = new Octokit();
22
+ const response = yield* Effect.promise(() =>
23
+ octokit.request('GET /gists/{gist_id}', {
24
+ gist_id: gistId,
25
+ }),
26
+ );
27
+ const gistContent = Object.values(response.data.files ?? {})[0]?.content;
28
+ if (gistContent) {
29
+ source = gistContent;
30
+ }
31
+ }
32
+
33
+ if (initialTemplateId) {
34
+ const template = templates.find((template) => template.id === initialTemplateId);
35
+ if (template) {
36
+ source = template.source;
37
+ scriptName = scriptName || template.name;
38
+ }
39
+ }
40
+
41
+ return { object: Script.make({ name: scriptName, source }) };
42
+ }),
43
+ ),
44
+ );
45
+
46
+ export default handler;
@@ -0,0 +1,10 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { OperationHandlerSet } from '@dxos/compute';
6
+
7
+ export const ScriptOperationHandlerSet = OperationHandlerSet.lazy(
8
+ () => import('./access-token-created'),
9
+ () => import('./create-script'),
10
+ );
package/src/plugin.ts ADDED
@@ -0,0 +1,11 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Plugin } from '@dxos/app-framework';
6
+
7
+ import { meta } from './meta';
8
+
9
+ export const ScriptPlugin = Plugin.lazy(meta, () => import('#plugin'));
10
+
11
+ export { ScriptOperationHandlerSet } from './operations';