@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
@@ -0,0 +1,68 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { next as A, type Doc } from '@automerge/automerge';
6
+ import * as Effect from 'effect/Effect';
7
+
8
+ import { type Script, Operation } from '@dxos/compute';
9
+ import { Database, Obj } from '@dxos/echo';
10
+ import { DocAccessor, createDocAccessor } from '@dxos/echo-db';
11
+
12
+ import { Update } from './definitions';
13
+
14
+ export default Update.pipe(
15
+ Operation.withHandler(
16
+ Effect.fn(function* ({ function: fn, name, description, edits }) {
17
+ const loaded = yield* Database.load(fn);
18
+ if (!loaded.source) {
19
+ return yield* Effect.fail(new Error('Function has no source script.'));
20
+ }
21
+ const script = (yield* Database.load(loaded.source)) as Script.Script;
22
+
23
+ if (name !== undefined || description !== undefined) {
24
+ Obj.update(script, (script) => {
25
+ if (name !== undefined) {
26
+ script.name = name;
27
+ }
28
+ if (description !== undefined) {
29
+ script.description = description;
30
+ }
31
+ });
32
+ }
33
+
34
+ if (edits && edits.length > 0) {
35
+ const text = yield* Database.load(script.source);
36
+ const accessor = createDocAccessor(text, ['content']);
37
+
38
+ for (const edit of edits) {
39
+ accessor.handle.change((doc: Doc<typeof text>) => {
40
+ const source = DocAccessor.getValue<string>(accessor);
41
+ if (edit.replaceAll) {
42
+ let idx = source.indexOf(edit.oldString);
43
+ while (idx !== -1) {
44
+ A.splice(doc, accessor.path as A.Prop[], idx, edit.oldString.length, edit.newString);
45
+ const updated = DocAccessor.getValue<string>(accessor);
46
+ idx = updated.indexOf(edit.oldString, idx + edit.newString.length);
47
+ }
48
+ } else {
49
+ const idx = source.indexOf(edit.oldString);
50
+ if (idx === -1) {
51
+ throw new Error(`Edit not found: ${JSON.stringify(edit.oldString)}`);
52
+ }
53
+ A.splice(doc, accessor.path as A.Prop[], idx, edit.oldString.length, edit.newString);
54
+ }
55
+ });
56
+ }
57
+
58
+ Obj.update(script, (script) => {
59
+ script.changed = true;
60
+ });
61
+ }
62
+
63
+ return {
64
+ function: Obj.getDXN(loaded).toString(),
65
+ };
66
+ }),
67
+ ),
68
+ );
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ export { default as ScriptBlueprint } from './script-blueprint';
@@ -0,0 +1,55 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Blueprint, Template } from '@dxos/compute';
6
+ import { trim } from '@dxos/util';
7
+
8
+ import {
9
+ Create,
10
+ Read,
11
+ Update,
12
+ Delete,
13
+ Deploy,
14
+ Invoke,
15
+ InspectInvocations,
16
+ QueryDeployedFunctions,
17
+ InstallFunction,
18
+ } from './functions';
19
+
20
+ const BLUEPRINT_KEY = 'org.dxos.blueprint.script';
21
+
22
+ const make = () =>
23
+ Blueprint.make({
24
+ key: BLUEPRINT_KEY,
25
+ name: 'Script',
26
+ agentCanEnable: true,
27
+ tools: Blueprint.toolDefinitions({
28
+ operations: [
29
+ Create,
30
+ Read,
31
+ Update,
32
+ Delete,
33
+ Deploy,
34
+ Invoke,
35
+ InspectInvocations,
36
+ QueryDeployedFunctions,
37
+ InstallFunction,
38
+ ],
39
+ }),
40
+ instructions: Template.make({
41
+ source: trim`
42
+ You can create, read, update, and delete scripts which contain TypeScript code.
43
+ You can deploy scripts to the Edge runtime and invoke deployed scripts.
44
+ You can inspect the invocation history of a deployed script.
45
+ You can query all functions deployed to the EDGE runtime and install them into the current space.
46
+ `,
47
+ }),
48
+ });
49
+
50
+ const blueprint: Blueprint.Definition = {
51
+ key: BLUEPRINT_KEY,
52
+ make,
53
+ };
54
+
55
+ export default blueprint;
@@ -2,64 +2,46 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Rx } from '@effect-rx/rx-react';
6
- import * as Function from 'effect/Function';
7
- import * as Option from 'effect/Option';
5
+ import * as Effect from 'effect/Effect';
8
6
 
9
- import { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';
10
- import { Obj } from '@dxos/echo';
11
- import { ScriptType } from '@dxos/functions';
12
- import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';
13
- import { createExtension } from '@dxos/plugin-graph';
7
+ import { Capability } from '@dxos/app-framework';
8
+ import { AppCapabilities, AppNode } from '@dxos/app-toolkit';
9
+ import { Script } from '@dxos/compute';
10
+ import { GraphBuilder } from '@dxos/plugin-graph';
14
11
 
15
- import { meta } from '../meta';
12
+ import { meta } from '#meta';
16
13
 
17
- export default (context: PluginContext) =>
18
- contributes(Capabilities.AppGraphBuilder, [
19
- createExtension({
20
- id: `${meta.id}/execute`,
21
- connector: (node) =>
22
- Rx.make((get) =>
23
- Function.pipe(
24
- get(node),
25
- Option.flatMap((node) => (Obj.instanceOf(ScriptType, node.data) ? Option.some(node) : Option.none())),
26
- Option.map((node) => [
27
- {
28
- id: [node.id, 'execute'].join(ATTENDABLE_PATH_SEPARATOR),
29
- type: PLANK_COMPANION_TYPE,
30
- data: 'execute',
31
- properties: {
32
- label: ['script test label', { ns: meta.id }],
33
- icon: 'ph--terminal--regular',
34
- disposition: 'hidden',
35
- },
36
- },
37
- ]),
38
- Option.getOrElse(() => []),
39
- ),
40
- ),
41
- }),
42
- createExtension({
43
- id: `${meta.id}/logs`,
44
- connector: (node) =>
45
- Rx.make((get) =>
46
- Function.pipe(
47
- get(node),
48
- Option.flatMap((node) => (Obj.instanceOf(ScriptType, node.data) ? Option.some(node) : Option.none())),
49
- Option.map((node) => [
50
- {
51
- id: [node.id, 'logs'].join(ATTENDABLE_PATH_SEPARATOR),
52
- type: PLANK_COMPANION_TYPE,
53
- data: 'logs',
54
- properties: {
55
- label: ['script logs label', { ns: meta.id }],
56
- icon: 'ph--clock-countdown--regular',
57
- disposition: 'hidden',
58
- },
59
- },
60
- ]),
61
- Option.getOrElse(() => []),
62
- ),
63
- ),
64
- }),
65
- ]);
14
+ export default Capability.makeModule(
15
+ Effect.fnUntraced(function* () {
16
+ const extensions = yield* Effect.all([
17
+ GraphBuilder.createTypeExtension({
18
+ id: 'execute',
19
+ type: Script.Script,
20
+ connector: () =>
21
+ Effect.succeed([
22
+ AppNode.makeCompanion({
23
+ id: 'execute',
24
+ label: ['script-test.label', { ns: meta.id }],
25
+ icon: 'ph--terminal--regular',
26
+ data: 'execute',
27
+ }),
28
+ ]),
29
+ }),
30
+ GraphBuilder.createTypeExtension({
31
+ id: 'logs',
32
+ type: Script.Script,
33
+ connector: () =>
34
+ Effect.succeed([
35
+ AppNode.makeCompanion({
36
+ id: 'logs',
37
+ label: ['script-logs.label', { ns: meta.id }],
38
+ icon: 'ph--clock-countdown--regular',
39
+ data: 'logs',
40
+ }),
41
+ ]),
42
+ }),
43
+ ]);
44
+
45
+ return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
46
+ }),
47
+ );
@@ -5,20 +5,19 @@
5
5
  // ISSUE(burdon): defineArtifact
6
6
  // @ts-nocheck
7
7
 
8
+ import * as Effect from 'effect/Effect';
8
9
  import * as Schema from 'effect/Schema';
9
10
 
10
11
  import { ToolResult, createTool } from '@dxos/ai';
11
- import { Capabilities, type PromiseIntentDispatcher, contributes, createIntent } from '@dxos/app-framework';
12
+ import { Capabilities, Capability, type PromiseIntentDispatcher, createIntent } from '@dxos/app-framework';
12
13
  import { ArtifactId, createArtifactElement } from '@dxos/assistant';
13
- import { defineArtifact } from '@dxos/blueprints';
14
+ import { defineArtifact, ScriptType } from '@dxos/compute';
14
15
  import { Filter, Obj, Ref } from '@dxos/echo';
15
- import { ScriptType } from '@dxos/functions';
16
16
  import { invariant } from '@dxos/invariant';
17
- import { SpaceAction } from '@dxos/plugin-space/types';
17
+ import { SpaceAction } from '@dxos/plugin-space';
18
18
  import { type Space } from '@dxos/react-client/echo';
19
- import { DataType } from '@dxos/schema';
20
19
 
21
- import { meta } from '../meta';
20
+ import { meta } from '#meta';
22
21
 
23
22
  // TODO(burdon): Factor out.
24
23
  declare global {
@@ -28,14 +27,15 @@ declare global {
28
27
  }
29
28
  }
30
29
 
31
- export default () => {
32
- const definition = defineArtifact({
33
- id: `artifact:${meta.id}`,
34
- name: meta.name,
35
- // TODO(dmaretskyi): Since writing scripts requires a lot of domain knowledge,
36
- // we should offload the work of synthesizing the code to a separate model.
37
- // The main reasoning model will give it a concrete task and the script model will synthesize the code, knowing all the docs.
38
- instructions: `
30
+ export default Capability.makeModule(() =>
31
+ Effect.sync(() => {
32
+ const definition = defineArtifact({
33
+ id: `artifact:${meta.id}`,
34
+ name: meta.name,
35
+ // TODO(dmaretskyi): Since writing scripts requires a lot of domain knowledge,
36
+ // we should offload the work of synthesizing the code to a separate model.
37
+ // The main reasoning model will give it a concrete task and the script model will synthesize the code, knowing all the docs.
38
+ instructions: `
39
39
  If the user explicitly requests you to write a script, you can create one.
40
40
  If the user requests you to change one of the existing script, you can update it.
41
41
  You must not create a script unless the user explicitly requests it.
@@ -55,7 +55,7 @@ export default () => {
55
55
  The description is used by AI to understand the script and its purpose.
56
56
  The description must provide cases on when the script should be used.
57
57
 
58
- Schema:
58
+ Schema:
59
59
  The schema is defined using a schema-DSL library called Effect Schema.
60
60
  The input schema describes the arguments that the script accepts.
61
61
  The output schema describes the result that the script produces.
@@ -76,18 +76,18 @@ export default () => {
76
76
  - Detailed output schema
77
77
 
78
78
  <apis>
79
- export function defineFunction(params: {
80
- description: string,
81
- inputSchema: Schema.Schema,
82
- outputSchema: Schema.Schema,
83
- handler: (params: { event: { data: TInput } }) => Promise<TOutput>
79
+ export function defineFunction(params: {
80
+ description: string,
81
+ inputSchema: Schema.Schema,
82
+ outputSchema: Schema.Schema,
83
+ handler: (params: { event: { data: TInput } }) => Promise<TOutput>
84
84
  }): FunctionDefinition
85
85
  /**
86
86
  * Effect Schema
87
87
  */
88
- export const Schema;
88
+ export const Schema;
89
89
 
90
- // Examples:
90
+ // Examples:
91
91
 
92
92
  Schema.String
93
93
  Schema.Number
@@ -105,7 +105,7 @@ export default () => {
105
105
  <handler_function>
106
106
  Async function that takes the argument in the form of:
107
107
 
108
- type HandlerFunctionParam = {
108
+ type HandlerFunctionProp = {
109
109
  event: {
110
110
  data: T // The input schema
111
111
  },
@@ -113,7 +113,7 @@ export default () => {
113
113
 
114
114
  The function must return the result that matches the output schema.
115
115
  </handler_function>
116
-
116
+
117
117
  <example>
118
118
  import { defineFunction, S } from 'dxos:functions';
119
119
 
@@ -144,82 +144,83 @@ export default () => {
144
144
  });
145
145
  </example>
146
146
  `,
147
- schema: ScriptType,
148
- tools: [
149
- createTool(meta.id, {
150
- name: 'create',
151
- description: 'Create a new script. Returns the artifact definition for the script',
152
- caption: 'Creating script...',
153
- schema: Schema.Struct({
154
- name: Schema.String.annotations({ description: 'The name of the script' }),
155
- code: Schema.String.annotations({
156
- description: 'The full code of the script in JavaScript or TypeScript. Must be valid executable code.',
147
+ schema: ScriptType,
148
+ tools: [
149
+ createTool(meta.id, {
150
+ name: 'create',
151
+ description: 'Create a new script. Returns the artifact definition for the script',
152
+ caption: 'Creating script...',
153
+ schema: Schema.Struct({
154
+ name: Schema.String.annotations({ description: 'The name of the script' }),
155
+ code: Schema.String.annotations({
156
+ description: 'The full code of the script in JavaScript or TypeScript. Must be valid executable code.',
157
+ }),
157
158
  }),
159
+ execute: async ({ name, code }, { extensions }) => {
160
+ invariant(extensions?.space, 'No space');
161
+ invariant(extensions?.dispatch, 'No intent dispatcher');
162
+ const script = Obj.make(ScriptType, { name, source: Ref.make(Text.make({ content: code })) });
163
+ extensions.space.db.add(script);
164
+ await extensions.space.db.flush();
165
+
166
+ const intent = createIntent(SpaceAction.AddObject, { target: extensions.space, object: script });
167
+ const { data, error } = await extensions.dispatch(intent);
168
+ if (!data || error) {
169
+ return ToolResult.Error(error?.message ?? 'Failed to create chess game');
170
+ }
171
+
172
+ return ToolResult.Success(createArtifactElement(script.id));
173
+ },
158
174
  }),
159
- execute: async ({ name, code }, { extensions }) => {
160
- invariant(extensions?.space, 'No space');
161
- invariant(extensions?.dispatch, 'No intent dispatcher');
162
- const script = Obj.make(ScriptType, { name, source: Ref.make(DataType.makeText(code)) });
163
- extensions.space.db.add(script);
164
- await extensions.space.db.flush();
165
-
166
- const intent = createIntent(SpaceAction.AddObject, { target: extensions.space, object: script });
167
- const { data, error } = await extensions.dispatch(intent);
168
- if (!data || error) {
169
- return ToolResult.Error(error?.message ?? 'Failed to create chess game');
170
- }
171
-
172
- return ToolResult.Success(createArtifactElement(script.id));
173
- },
174
- }),
175
- createTool(meta.id, {
176
- name: 'inspect',
177
- description: 'Inspect a script. Returns the artifact definition for the script',
178
- caption: 'Inspecting script...',
179
- schema: Schema.Struct({
180
- id: ArtifactId,
175
+ createTool(meta.id, {
176
+ name: 'inspect',
177
+ description: 'Inspect a script. Returns the artifact definition for the script',
178
+ caption: 'Inspecting script...',
179
+ schema: Schema.Struct({
180
+ id: ArtifactId,
181
+ }),
182
+ execute: async ({ id }, { extensions }) => {
183
+ invariant(extensions?.space, 'No space');
184
+
185
+ const script = (await extensions.space.db.query(Filter.id(id)).first()) as ScriptType;
186
+ const { content } = await script.source.load();
187
+
188
+ return ToolResult.Success({
189
+ name: script.name,
190
+ code: content,
191
+ });
192
+ },
181
193
  }),
182
- execute: async ({ id }, { extensions }) => {
183
- invariant(extensions?.space, 'No space');
184
-
185
- const script = (await extensions.space.db.query(Filter.ids(id)).first()) as ScriptType;
186
- const { content } = await script.source.load();
187
-
188
- return ToolResult.Success({
189
- name: script.name,
190
- code: content,
191
- });
192
- },
193
- }),
194
- createTool(meta.id, {
195
- name: 'update',
196
- description: 'Update a script. Returns the artifact definition for the script',
197
- caption: 'Updating script...',
198
- schema: Schema.Struct({
199
- id: ArtifactId,
200
- code: Schema.String.annotations({
201
- description: 'The full code of the script in JavaScript or TypeScript. Must be valid executable code.',
194
+ createTool(meta.id, {
195
+ name: 'update',
196
+ description: 'Update a script. Returns the artifact definition for the script',
197
+ caption: 'Updating script...',
198
+ schema: Schema.Struct({
199
+ id: ArtifactId,
200
+ code: Schema.String.annotations({
201
+ description: 'The full code of the script in JavaScript or TypeScript. Must be valid executable code.',
202
+ }),
202
203
  }),
204
+ execute: async ({ id, code }, { extensions }) => {
205
+ invariant(extensions?.space, 'No space');
206
+
207
+ const script = (await extensions.space.db.query(Filter.id(id)).first()) as ScriptType;
208
+ const source = await script.source.load();
209
+ if (!source) {
210
+ return ToolResult.Error('Script not found');
211
+ }
212
+
213
+ source.content = code;
214
+ await extensions.space?.db.flush();
215
+
216
+ return ToolResult.Success({
217
+ name: script.name,
218
+ });
219
+ },
203
220
  }),
204
- execute: async ({ id, code }, { extensions }) => {
205
- invariant(extensions?.space, 'No space');
206
-
207
- const script = (await extensions.space.db.query(Filter.ids(id)).first()) as ScriptType;
208
- const source = await script.source.load();
209
- if (!source) {
210
- return ToolResult.Error('Script not found');
211
- }
212
-
213
- source.content = code;
214
- await extensions.space?.db.flush();
215
-
216
- return ToolResult.Success({
217
- name: script.name,
218
- });
219
- },
220
- }),
221
- ],
222
- });
223
-
224
- return contributes(Capabilities.ArtifactDefinition, definition);
225
- };
221
+ ],
222
+ });
223
+
224
+ return Capability.contributes(Capabilities.ArtifactDefinition, definition);
225
+ }),
226
+ );
@@ -2,29 +2,18 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Capabilities, contributes } from '@dxos/app-framework';
6
- import { Blueprint, Template } from '@dxos/blueprints';
7
- import { type FunctionDefinition } from '@dxos/functions';
8
- import { trim } from '@dxos/util';
5
+ import * as Effect from 'effect/Effect';
9
6
 
10
- const functions: FunctionDefinition[] = [];
11
- const tools: string[] = [];
7
+ import { Capability } from '@dxos/app-framework';
8
+ import { AppCapabilities } from '@dxos/app-toolkit';
9
+ // eslint-disable-next-line unused-imports/no-unused-imports
10
+ import type { Blueprint } from '@dxos/compute';
12
11
 
13
- export default () => {
14
- return [
15
- contributes(Capabilities.Functions, functions),
16
- contributes(
17
- Capabilities.BlueprintDefinition,
18
- Blueprint.make({
19
- key: 'dxos.org/blueprint/script',
20
- name: 'Script',
21
- tools: Blueprint.toolDefinitions({ functions, tools }),
22
- instructions: Template.make({
23
- source: trim`
24
- You can create and update scripts which contain Typescript code.
25
- `,
26
- }),
27
- }),
28
- ),
29
- ];
30
- };
12
+ import { ScriptBlueprint } from '#blueprints';
13
+
14
+ const blueprintDefinition = Capability.makeModule<
15
+ [],
16
+ Capability.Capability<typeof AppCapabilities.BlueprintDefinition>[]
17
+ >(() => Effect.succeed([Capability.contributes(AppCapabilities.BlueprintDefinition, ScriptBlueprint)]));
18
+
19
+ export default blueprintDefinition;