@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
@@ -1,124 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import React, { useCallback, useMemo } from 'react';
6
-
7
- import { Ref } from '@dxos/echo';
8
- import { invariant } from '@dxos/invariant';
9
- import { Assistant } from '@dxos/plugin-assistant';
10
- import { getSpace } from '@dxos/react-client/echo';
11
- import { DropdownMenu, IconButton, Toolbar, useTranslation } from '@dxos/react-ui';
12
- import { StackItem } from '@dxos/react-ui-stack';
13
- import { DataType } from '@dxos/schema';
14
-
15
- import { meta } from '../meta';
16
- import { ComputeGraph } from '../notebook';
17
- import { type Notebook } from '../types';
18
-
19
- import { NotebookMenu, NotebookStack, type NotebookStackProps } from './NotebookStack';
20
- import { type TypescriptEditorProps } from './TypescriptEditor';
21
-
22
- // TODO(burdon): Support calling named deployed functions (as with sheet).
23
-
24
- export type NotebookContainerProps = {
25
- role?: string;
26
- notebook?: Notebook.Notebook;
27
- } & Pick<TypescriptEditorProps, 'env'>;
28
-
29
- export const NotebookContainer = ({ notebook, env }: NotebookContainerProps) => {
30
- const { t } = useTranslation(meta.id);
31
- const space = getSpace(notebook);
32
- const graph = useMemo(() => notebook && new ComputeGraph(notebook), [notebook]);
33
-
34
- // TODO(burdon): Cache values in context (preserve when switched).
35
- const handleCompute = useCallback(() => {
36
- graph?.evaluate();
37
- }, [graph]);
38
-
39
- const handleRearrange = useCallback<NonNullable<NotebookStackProps['onRearrange']>>(
40
- (source, target) => {
41
- invariant(notebook);
42
- const from = notebook.cells.findIndex((cell) => cell.id === source.id);
43
- const to = notebook.cells.findIndex((cell) => cell.id === target.id);
44
- if (from != null && to != null) {
45
- const cell = notebook.cells.splice(from, 1)[0];
46
- if (cell) {
47
- notebook.cells.splice(to, 0, cell);
48
- }
49
- }
50
- },
51
- [notebook],
52
- );
53
-
54
- const handleCellInsert = useCallback<NonNullable<NotebookStackProps['onCellInsert']>>(
55
- (type, after) => {
56
- invariant(notebook);
57
- const cell: Notebook.Cell = { id: crypto.randomUUID(), type };
58
- switch (type) {
59
- case 'markdown':
60
- case 'script':
61
- case 'query': {
62
- cell.script = Ref.make(DataType.makeText());
63
- break;
64
- }
65
-
66
- case 'prompt': {
67
- if (space) {
68
- cell.chat = Ref.make(Assistant.makeChat({ queue: space.queues.create() }));
69
- }
70
- break;
71
- }
72
- }
73
-
74
- const idx = after ? notebook.cells.findIndex((cell) => cell.id === after) : notebook.cells.length;
75
- notebook.cells.splice(idx, 0, cell);
76
- },
77
- [space, notebook],
78
- );
79
-
80
- const handleCellDelete = useCallback<NonNullable<NotebookStackProps['onCellDelete']>>(
81
- (id) => {
82
- invariant(notebook);
83
- const idx = notebook.cells.findIndex((cell) => cell.id === id);
84
- if (idx !== -1) {
85
- notebook.cells.splice(idx, 1);
86
- }
87
- },
88
- [notebook],
89
- );
90
-
91
- return (
92
- <StackItem.Content toolbar>
93
- <Toolbar.Root textBlockWidth>
94
- <DropdownMenu.Root>
95
- <DropdownMenu.Trigger asChild>
96
- <IconButton icon='ph--plus--regular' iconOnly label={t('notebook cell insert label')} />
97
- </DropdownMenu.Trigger>
98
- <NotebookMenu onCellInsert={handleCellInsert} />
99
- </DropdownMenu.Root>
100
- <Toolbar.IconButton
101
- icon='ph--play--fill'
102
- iconOnly
103
- label={t('compute label')}
104
- classNames='text-green-500'
105
- onClick={handleCompute}
106
- />
107
- </Toolbar.Root>
108
- <div role='none' className='flex bs-full overflow-hidden -mis-[1px] -mie-[1px]'>
109
- <NotebookStack
110
- classNames='container-max-width border-l border-r border-subduedSeparator'
111
- space={space}
112
- notebook={notebook}
113
- graph={graph}
114
- env={env}
115
- onRearrange={handleRearrange}
116
- onCellInsert={handleCellInsert}
117
- onCellDelete={handleCellDelete}
118
- />
119
- </div>
120
- </StackItem.Content>
121
- );
122
- };
123
-
124
- export default NotebookContainer;
@@ -1,69 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import React, { useMemo } from 'react';
6
-
7
- import { type ScriptType } from '@dxos/functions';
8
- import { createDocAccessor, getSpace } from '@dxos/react-client/echo';
9
- import { useIdentity } from '@dxos/react-client/halo';
10
- import { createDataExtensions, listener, stackItemContentEditorClassNames } from '@dxos/react-ui-editor';
11
- import { StackItem } from '@dxos/react-ui-stack';
12
-
13
- import { useDeployState, useToolbarState } from '../hooks';
14
- import { type ScriptSettings } from '../types';
15
-
16
- import { ScriptToolbar } from './ScriptToolbar';
17
- import { TypescriptEditor, type TypescriptEditorProps } from './TypescriptEditor';
18
-
19
- export type ScriptEditorProps = {
20
- role: string;
21
- script: ScriptType;
22
- settings?: ScriptSettings;
23
- } & Pick<TypescriptEditorProps, 'env'>;
24
-
25
- export const ScriptContainer = ({ role, script, settings = { editorInputMode: 'vscode' }, env }: ScriptEditorProps) => {
26
- const identity = useIdentity();
27
- const space = getSpace(script);
28
- const state = useToolbarState();
29
- useDeployState({ state, script });
30
-
31
- const extensions = useMemo(
32
- () =>
33
- script.source.target
34
- ? [
35
- listener({
36
- onChange: (text) => {
37
- if (script.source.target?.content !== text) {
38
- script.changed = true;
39
- }
40
- },
41
- }),
42
- createDataExtensions({
43
- id: script.id,
44
- text: createDocAccessor(script.source.target, ['content']),
45
- space,
46
- identity,
47
- }),
48
- ]
49
- : [],
50
- [identity, space, script, script.source.target],
51
- );
52
-
53
- return (
54
- <StackItem.Content toolbar>
55
- <ScriptToolbar state={state} role={role} script={script} />
56
- <TypescriptEditor
57
- id={script.id}
58
- env={env}
59
- initialValue={script.source?.target?.content}
60
- extensions={extensions}
61
- classNames={stackItemContentEditorClassNames(role)}
62
- inputMode={settings.editorInputMode}
63
- toolbar
64
- />
65
- </StackItem.Content>
66
- );
67
- };
68
-
69
- export default ScriptContainer;
@@ -1,286 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- import { Octokit } from '@octokit/core';
6
- import React, { type ChangeEvent, useCallback, useState } from 'react';
7
-
8
- import { ToolId } from '@dxos/ai';
9
- import { SettingsAction, createIntent, useIntentDispatcher } from '@dxos/app-framework';
10
- import { Blueprint, Template } from '@dxos/blueprints';
11
- import { FunctionType, type ScriptType, getInvocationUrl, getUserFunctionIdInMetadata } from '@dxos/functions';
12
- import { log } from '@dxos/log';
13
- import { useClient } from '@dxos/react-client';
14
- import { Filter, Ref, getMeta, getSpace, useQuery } from '@dxos/react-client/echo';
15
- import { Button, Clipboard, Input, useAsyncEffect, useControlledState, useTranslation } from '@dxos/react-ui';
16
- import { DataType } from '@dxos/schema';
17
- import { kebabize } from '@dxos/util';
18
-
19
- import { meta } from '../../meta';
20
-
21
- export type ScriptObjectSettingsProps = {
22
- object: ScriptType;
23
- };
24
-
25
- export const ScriptObjectSettings = ({ object }: ScriptObjectSettingsProps) => {
26
- return (
27
- <>
28
- <Binding object={object} />
29
- <BlueprintEditor object={object} />
30
- <Publishing object={object} />
31
- </>
32
- );
33
- };
34
-
35
- export const ScriptProperties = ({ object }: ScriptObjectSettingsProps) => {
36
- const { t } = useTranslation(meta.id);
37
- return (
38
- <Input.Root>
39
- <Input.Label>{t('description label')}</Input.Label>
40
- <Input.TextInput
41
- placeholder={t('description placeholder')}
42
- value={object.description ?? ''}
43
- onChange={(event) => {
44
- object.description = event.target.value;
45
- }}
46
- />
47
- </Input.Root>
48
- );
49
- };
50
-
51
- const BlueprintEditor = ({ object }: ScriptObjectSettingsProps) => {
52
- const { t } = useTranslation(meta.id);
53
- const space = getSpace(object);
54
- const [fn] = useQuery(space, Filter.type(FunctionType, { source: Ref.make(object) }));
55
- const blueprints = useQuery(space, Filter.type(Blueprint.Blueprint));
56
-
57
- const [creating, setCreating] = useState(false);
58
- const [instructions, setInstructions] = useState<string>(`You can run the script "${object.name ?? 'script'}".`);
59
- const blueprintKey = `dxos.org/blueprint/${kebabize(object.name ?? 'script')}`;
60
- const existingBlueprint = blueprints.find((bp) => bp.key === blueprintKey);
61
-
62
- useAsyncEffect(async () => {
63
- if (!existingBlueprint) {
64
- return;
65
- }
66
- const source = await existingBlueprint.instructions.source.load();
67
- setInstructions(source.content ?? '');
68
- }, [existingBlueprint]);
69
-
70
- const handleSave = useCallback(async () => {
71
- if (!space) {
72
- return;
73
- }
74
-
75
- setCreating(true);
76
- try {
77
- if (existingBlueprint) {
78
- const text = await existingBlueprint.instructions.source.load();
79
- text.content = instructions;
80
- if (fn?.key) {
81
- const toolId = ToolId.make(fn.key);
82
- if (!existingBlueprint.tools?.includes(toolId)) {
83
- existingBlueprint.tools = [...(existingBlueprint.tools ?? []), toolId];
84
- }
85
- }
86
- } else if (fn?.key) {
87
- space.db.add(
88
- Blueprint.make({
89
- key: blueprintKey,
90
- name: object.name ?? 'Script',
91
- instructions: Template.make({
92
- source: instructions,
93
- }),
94
- tools: [ToolId.make(fn.key)],
95
- }),
96
- );
97
- }
98
- await space.db.flush();
99
- } finally {
100
- setCreating(false);
101
- }
102
- }, [space, existingBlueprint, fn, blueprintKey, object.name, instructions]);
103
-
104
- return (
105
- <div className='flex flex-col gap-4 mlb-cardSpacingBlock'>
106
- <div>
107
- <h2>{t('blueprint editor label', { default: 'Blueprint' })}</h2>
108
- <p className='text-description text-sm'>
109
- {t('blueprint editor description', { default: 'Create a blueprint that exposes this script as a tool.' })}
110
- </p>
111
- </div>
112
- <Input.Root>
113
- <div role='none' className='flex flex-col gap-1'>
114
- <Input.Label>{t('blueprint instructions label', { default: 'Instructions' })}</Input.Label>
115
- <Input.TextArea
116
- placeholder={t('blueprint instructions placeholder', { default: 'Describe how this tool should be used.' })}
117
- rows={6}
118
- value={instructions}
119
- onChange={(event) => setInstructions(event.target.value)}
120
- classNames='resize-y'
121
- />
122
- </div>
123
- </Input.Root>
124
- <div className='flex justify-end gap-2'>
125
- <Button disabled={(!existingBlueprint && !fn?.key) || creating} onClick={handleSave}>
126
- {t(creating ? 'creating label' : 'create blueprint label', {
127
- default: creating ? 'Creating…' : 'Create blueprint',
128
- })}
129
- </Button>
130
- </div>
131
- </div>
132
- );
133
- };
134
-
135
- const Binding = ({ object }: ScriptObjectSettingsProps) => {
136
- const { t } = useTranslation(meta.id);
137
- const client = useClient();
138
- const space = getSpace(object);
139
- const [fn] = useQuery(space, Filter.type(FunctionType, { source: Ref.make(object) }));
140
-
141
- const functionId = fn && getUserFunctionIdInMetadata(getMeta(fn));
142
- const functionUrl =
143
- functionId &&
144
- getInvocationUrl(functionId, client.config.values.runtime?.services?.edge?.url ?? '', {
145
- spaceId: space?.id,
146
- });
147
-
148
- const [binding, setBinding] = useControlledState(fn?.binding ?? '');
149
- const handleBindingChange = useCallback(
150
- (event: ChangeEvent<HTMLInputElement>) => {
151
- setBinding(event.target.value);
152
- },
153
- [setBinding],
154
- );
155
-
156
- const handleBindingBlur = useCallback(() => {
157
- fn.binding = binding;
158
- }, [fn, binding]);
159
-
160
- if (!fn || !functionUrl) {
161
- return null;
162
- }
163
-
164
- // TODO(burdon): Use form.
165
- return (
166
- <div role='form' className='flex flex-col gap-2 mlb-cardSpacingBlock'>
167
- <h2>{t('remote function settings heading')}</h2>
168
- <Input.Root>
169
- <div role='none' className='flex flex-col gap-1'>
170
- <Input.Label>{t('function url label')}</Input.Label>
171
- <div role='none' className='flex gap-1'>
172
- <Input.TextInput
173
- disabled
174
- value={functionUrl}
175
- onChange={(event) => {
176
- fn.name = event.target.value;
177
- }}
178
- />
179
- <Clipboard.IconButton value={functionUrl} />
180
- </div>
181
- </div>
182
- </Input.Root>
183
- <Input.Root>
184
- <div role='none' className='flex flex-col gap-1'>
185
- <Input.Label>{t('function binding label')}</Input.Label>
186
- <Input.TextInput
187
- placeholder={t('function binding placeholder')}
188
- value={binding}
189
- onChange={handleBindingChange}
190
- onBlur={handleBindingBlur}
191
- />
192
- </div>
193
- </Input.Root>
194
- </div>
195
- );
196
- };
197
-
198
- // TODO(burdon): Move to separate tab?
199
- const Publishing = ({ object }: ScriptObjectSettingsProps) => {
200
- const { t } = useTranslation(meta.id);
201
- const { dispatchPromise: dispatch } = useIntentDispatcher();
202
- const space = getSpace(object);
203
- const [githubToken] = useQuery(space, Filter.type(DataType.AccessToken, { source: 'github.com' }));
204
- const gistKey = getMeta(object).keys.find(({ source }) => source === 'github.com');
205
- const [gistUrl, setGistUrl] = useState<string | undefined>();
206
-
207
- useAsyncEffect(async () => {
208
- const token = githubToken?.token;
209
- const gistId = gistKey?.id;
210
- if (!token || !gistId) {
211
- setGistUrl(undefined);
212
- return;
213
- }
214
-
215
- try {
216
- const octokit = new Octokit({ auth: githubToken.token });
217
- const response = await octokit.request('GET /gists/{gist_id}', {
218
- gist_id: gistId,
219
- });
220
- setGistUrl(response.data.html_url);
221
- } catch (err) {
222
- log.catch(err);
223
- setGistUrl(undefined);
224
- }
225
- }, [githubToken, gistKey]);
226
-
227
- const handleOpenTokenManager = useCallback(
228
- () => dispatch(createIntent(SettingsAction.Open, { plugin: 'dxos.org/plugin/token-manager' })),
229
- [],
230
- );
231
-
232
- const [publishing, setPublishing] = useState(false);
233
- const handlePublish = useCallback(async () => {
234
- setPublishing(true);
235
- const octokit = new Octokit({ auth: githubToken.token });
236
- const source = await object.source.load();
237
- const filename = object.name ? kebabize(object.name) : 'composer-script';
238
- const files = { [`${filename}.ts`]: { content: source.content } };
239
-
240
- try {
241
- // TODO(wittjosiah): Factor out to intent.
242
- const meta = getMeta(object);
243
- const githubKey = meta.keys.find(({ source }) => source === 'github.com');
244
- const gistId = githubKey?.id;
245
- if (gistId) {
246
- await octokit.request('PATCH /gists/{gist_id}', {
247
- gist_id: gistId,
248
- files,
249
- });
250
- } else {
251
- const response = await octokit.request('POST /gists', {
252
- public: true,
253
- files,
254
- });
255
- if (response.data.id) {
256
- meta.keys.push({ source: 'github.com', id: response.data.id });
257
- }
258
- }
259
- } finally {
260
- setPublishing(false);
261
- }
262
- }, [object, githubToken]);
263
-
264
- return (
265
- <div className='flex flex-col gap-4 mlb-cardSpacingBlock'>
266
- <div>
267
- <h2>{t('script publish settings label')}</h2>
268
- <p className='text-description text-sm'>{t('script publish settings description')}</p>
269
- </div>
270
- {!githubToken && (
271
- <div className='flex flex-col gap-2'>
272
- <span>{t('no github token label')}</span>
273
- <Button onClick={handleOpenTokenManager}>{t('open token manager label')}</Button>
274
- </div>
275
- )}
276
- {githubToken && (
277
- <div className='flex justify-end gap-2'>
278
- {gistUrl && <Clipboard.IconButton value={gistUrl} />}
279
- <Button disabled={publishing} onClick={handlePublish}>
280
- {t(publishing ? 'publishing label' : 'publish label')}
281
- </Button>
282
- </div>
283
- )}
284
- </div>
285
- );
286
- };
@@ -1,61 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import React from 'react';
6
-
7
- import { useClient } from '@dxos/react-client';
8
- import { Button, Select, useTranslation } from '@dxos/react-ui';
9
- import { type EditorInputMode, EditorInputModes } from '@dxos/react-ui-editor';
10
- import { ControlGroup, ControlItemInput, ControlPage, ControlSection } from '@dxos/react-ui-form';
11
-
12
- import { meta } from '../../meta';
13
- import { type ScriptSettings } from '../../types';
14
- import { getAccessCredential } from '../../util';
15
-
16
- export const ScriptPluginSettings = ({ settings }: { settings: ScriptSettings }) => {
17
- const { t } = useTranslation(meta.id);
18
- const client = useClient();
19
-
20
- // TODO(burdon): Check token.
21
- const handleAuthenticate = async () => {
22
- const { identityKey } = client.halo.identity.get()!;
23
- await client.halo.writeCredentials([getAccessCredential(identityKey)]);
24
- };
25
-
26
- return (
27
- <ControlPage>
28
- <ControlSection title={t('settings title', { ns: meta.id })}>
29
- <ControlGroup>
30
- {/* TODO(wittjosiah): Hide outside of dev environments. */}
31
- <ControlItemInput title={t('authenticate action label')}>
32
- <Button onClick={handleAuthenticate}>{t('authenticate button label')}</Button>
33
- </ControlItemInput>
34
-
35
- <ControlItemInput title={t('editor input mode label')}>
36
- <Select.Root
37
- value={settings.editorInputMode ?? 'default'}
38
- onValueChange={(value) => {
39
- settings.editorInputMode = value as EditorInputMode;
40
- }}
41
- >
42
- <Select.TriggerButton placeholder={t('select editor input mode placeholder')} />
43
- <Select.Portal>
44
- <Select.Content>
45
- <Select.Viewport>
46
- {EditorInputModes.map((mode) => (
47
- <Select.Option key={mode} value={mode}>
48
- {t(`settings editor input mode ${mode} label`)}
49
- </Select.Option>
50
- ))}
51
- </Select.Viewport>
52
- <Select.Arrow />
53
- </Select.Content>
54
- </Select.Portal>
55
- </Select.Root>
56
- </ControlItemInput>
57
- </ControlGroup>
58
- </ControlSection>
59
- </ControlPage>
60
- );
61
- };
@@ -1,6 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- export * from './ScriptObjectSettings';
6
- export * from './ScriptPluginSettings';
@@ -1,27 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import React from 'react';
6
-
7
- import { type ScriptType } from '@dxos/functions';
8
- import { StackItem } from '@dxos/react-ui-stack';
9
-
10
- import { useDeployState, useToolbarState } from '../../hooks';
11
-
12
- import { TestPanel } from './TestPanel';
13
-
14
- export type TestContainerProps = {
15
- role: string;
16
- script: ScriptType;
17
- };
18
-
19
- export const TestContainer = ({ script }: TestContainerProps) => {
20
- const state = useToolbarState();
21
- useDeployState({ state, script });
22
- return (
23
- <StackItem.Content>
24
- <TestPanel functionUrl={state.functionUrl} />
25
- </StackItem.Content>
26
- );
27
- };
package/src/events.ts DELETED
@@ -1,11 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { defineEvent } from '@dxos/app-framework';
6
-
7
- import { meta } from './meta';
8
-
9
- export namespace ScriptEvents {
10
- export const SetupCompiler = defineEvent(`${meta.id}/event/setup-compiler`);
11
- }
@@ -1,70 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { describe, expect, test } from 'vitest';
6
-
7
- import { createNotebook } from '../testing';
8
-
9
- import { ComputeGraph } from './notebook';
10
-
11
- describe('notebook', () => {
12
- test('parse dependency graph', () => {
13
- const notebook = createNotebook();
14
- const computer = new ComputeGraph(notebook);
15
- const result = computer.parse();
16
-
17
- const getId = (i: number) => notebook.cells[i].id;
18
-
19
- // Check dependencies.
20
- expect(result.dependencyGraph).toMatchObject({
21
- [getId(0)]: [getId(1), getId(2)],
22
- [getId(3)]: [getId(1)],
23
- [getId(4)]: [getId(0), getId(3)],
24
- });
25
-
26
- // Compute values.
27
- const values = computer.evaluate();
28
- expect(values).toEqual({
29
- [getId(0)]: 300,
30
- [getId(2)]: 200,
31
- [getId(3)]: 200,
32
- [getId(4)]: 500,
33
- });
34
- });
35
-
36
- test('evalScript blocks access to window and document', () => {
37
- const notebook = createNotebook();
38
- // Replace one of the cells with code that tries to access window/document.
39
- if (notebook.cells[2].script?.target) {
40
- notebook.cells[2].script.target.content = 'b = typeof window';
41
- }
42
-
43
- const computer = new ComputeGraph(notebook);
44
- computer.parse();
45
- const values = computer.evaluate();
46
-
47
- // Should evaluate to 'undefined' since window is blocked.
48
- expect(values[notebook.cells[2].id]).toBe('undefined');
49
-
50
- // Test document access.
51
- if (notebook.cells[2].script?.target) {
52
- notebook.cells[2].script.target.content = 'b = typeof document';
53
- }
54
- computer.parse();
55
- const values2 = computer.evaluate();
56
-
57
- // Should evaluate to 'undefined' since document is blocked.
58
- expect(values2[notebook.cells[2].id]).toBe('undefined');
59
-
60
- // Test that safe globals still work.
61
- if (notebook.cells[2].script?.target) {
62
- notebook.cells[2].script.target.content = 'b = Math.max(100, 200)';
63
- }
64
- computer.parse();
65
- const values3 = computer.evaluate();
66
-
67
- // Should evaluate correctly.
68
- expect(values3[notebook.cells[2].id]).toBe(200);
69
- });
70
- });