@dxos/plugin-script 0.8.4-main.ae835ea → 0.8.4-main.bcb3aa67d6

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 (510) hide show
  1. package/README.md +15 -13
  2. package/dist/lib/browser/DeploymentDialog-WUND47NK.mjs +115 -0
  3. package/dist/lib/browser/DeploymentDialog-WUND47NK.mjs.map +7 -0
  4. package/dist/lib/browser/{NotebookContainer-C36N7AFF.mjs → NotebookContainer-TGHMYWWK.mjs} +275 -254
  5. package/dist/lib/browser/NotebookContainer-TGHMYWWK.mjs.map +7 -0
  6. package/dist/lib/browser/ScriptContainer-BOCXMLNN.mjs +82 -0
  7. package/dist/lib/browser/ScriptContainer-BOCXMLNN.mjs.map +7 -0
  8. package/dist/lib/browser/ScriptObjectSettings-QKJFTSLS.mjs +295 -0
  9. package/dist/lib/browser/ScriptObjectSettings-QKJFTSLS.mjs.map +7 -0
  10. package/dist/lib/browser/ScriptPluginSettings-AMWZF7LZ.mjs +47 -0
  11. package/dist/lib/browser/ScriptPluginSettings-AMWZF7LZ.mjs.map +7 -0
  12. package/dist/lib/browser/ScriptProperties-VBOIIRJJ.mjs +26 -0
  13. package/dist/lib/browser/ScriptProperties-VBOIIRJJ.mjs.map +7 -0
  14. package/dist/lib/browser/TestContainer-5VNOC6I3.mjs +50 -0
  15. package/dist/lib/browser/TestContainer-5VNOC6I3.mjs.map +7 -0
  16. package/dist/lib/browser/access-token-created-XR7LB2XV.mjs +37 -0
  17. package/dist/lib/browser/access-token-created-XR7LB2XV.mjs.map +7 -0
  18. package/dist/lib/browser/blueprints/index.mjs +58 -0
  19. package/dist/lib/browser/blueprints/index.mjs.map +7 -0
  20. package/dist/lib/browser/chunk-AE5EX2VP.mjs +78 -0
  21. package/dist/lib/browser/chunk-AE5EX2VP.mjs.map +7 -0
  22. package/dist/lib/browser/chunk-DL37UOJE.mjs +105 -0
  23. package/dist/lib/browser/chunk-DL37UOJE.mjs.map +7 -0
  24. package/dist/lib/browser/chunk-TXVJW26E.mjs +50 -0
  25. package/dist/lib/browser/chunk-TXVJW26E.mjs.map +7 -0
  26. package/dist/lib/browser/chunk-ZLF66W2O.mjs +337 -0
  27. package/dist/lib/browser/chunk-ZLF66W2O.mjs.map +7 -0
  28. package/dist/lib/browser/create-V3MRNIUS.mjs +45 -0
  29. package/dist/lib/browser/create-V3MRNIUS.mjs.map +7 -0
  30. package/dist/lib/browser/create-script-IEY3HJ33.mjs +46 -0
  31. package/dist/lib/browser/create-script-IEY3HJ33.mjs.map +7 -0
  32. package/dist/lib/browser/delete-7QKDZ2QS.mjs +21 -0
  33. package/dist/lib/browser/delete-7QKDZ2QS.mjs.map +7 -0
  34. package/dist/lib/browser/deploy-SM2V6SNL.mjs +65 -0
  35. package/dist/lib/browser/deploy-SM2V6SNL.mjs.map +7 -0
  36. package/dist/lib/browser/index.mjs +1179 -232
  37. package/dist/lib/browser/index.mjs.map +4 -4
  38. package/dist/lib/browser/inspect-invocations-L4GAXXT3.mjs +55 -0
  39. package/dist/lib/browser/inspect-invocations-L4GAXXT3.mjs.map +7 -0
  40. package/dist/lib/browser/install-function-YDAA5EB6.mjs +54 -0
  41. package/dist/lib/browser/install-function-YDAA5EB6.mjs.map +7 -0
  42. package/dist/lib/browser/invoke-OKJMYOZB.mjs +36 -0
  43. package/dist/lib/browser/invoke-OKJMYOZB.mjs.map +7 -0
  44. package/dist/lib/browser/meta.json +1 -1
  45. package/dist/lib/browser/operations/index.mjs +14 -0
  46. package/dist/lib/browser/operations/index.mjs.map +7 -0
  47. package/dist/lib/browser/query-deployed-functions-L3SIQHB5.mjs +33 -0
  48. package/dist/lib/browser/query-deployed-functions-L3SIQHB5.mjs.map +7 -0
  49. package/dist/lib/browser/read-YL7TNJC7.mjs +26 -0
  50. package/dist/lib/browser/read-YL7TNJC7.mjs.map +7 -0
  51. package/dist/lib/browser/templates/index.mjs +1 -1
  52. package/dist/lib/browser/types/index.mjs +7 -7
  53. package/dist/lib/browser/update-4RC6QH62.mjs +63 -0
  54. package/dist/lib/browser/update-4RC6QH62.mjs.map +7 -0
  55. package/dist/lib/node-esm/DeploymentDialog-XMR2CKP6.mjs +116 -0
  56. package/dist/lib/node-esm/DeploymentDialog-XMR2CKP6.mjs.map +7 -0
  57. package/dist/lib/node-esm/{NotebookContainer-FOVFGJQR.mjs → NotebookContainer-YUVZF6IS.mjs} +275 -254
  58. package/dist/lib/node-esm/NotebookContainer-YUVZF6IS.mjs.map +7 -0
  59. package/dist/lib/node-esm/ScriptContainer-G4D2YSFE.mjs +83 -0
  60. package/dist/lib/node-esm/ScriptContainer-G4D2YSFE.mjs.map +7 -0
  61. package/dist/lib/node-esm/ScriptObjectSettings-XIOE66BL.mjs +296 -0
  62. package/dist/lib/node-esm/ScriptObjectSettings-XIOE66BL.mjs.map +7 -0
  63. package/dist/lib/node-esm/ScriptPluginSettings-SDWEDLUU.mjs +48 -0
  64. package/dist/lib/node-esm/ScriptPluginSettings-SDWEDLUU.mjs.map +7 -0
  65. package/dist/lib/node-esm/ScriptProperties-5H2Z4XRF.mjs +27 -0
  66. package/dist/lib/node-esm/ScriptProperties-5H2Z4XRF.mjs.map +7 -0
  67. package/dist/lib/node-esm/TestContainer-SEFC4F2O.mjs +51 -0
  68. package/dist/lib/node-esm/TestContainer-SEFC4F2O.mjs.map +7 -0
  69. package/dist/lib/node-esm/access-token-created-AZEUHFPA.mjs +38 -0
  70. package/dist/lib/node-esm/access-token-created-AZEUHFPA.mjs.map +7 -0
  71. package/dist/lib/node-esm/blueprints/index.mjs +59 -0
  72. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-ELIPYPNQ.mjs +79 -0
  74. package/dist/lib/node-esm/chunk-ELIPYPNQ.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-QZMVI6AH.mjs +339 -0
  76. package/dist/lib/node-esm/chunk-QZMVI6AH.mjs.map +7 -0
  77. package/dist/lib/node-esm/chunk-U2LUPXPK.mjs +51 -0
  78. package/dist/lib/node-esm/chunk-U2LUPXPK.mjs.map +7 -0
  79. package/dist/lib/node-esm/chunk-ZLTGO4XB.mjs +107 -0
  80. package/dist/lib/node-esm/chunk-ZLTGO4XB.mjs.map +7 -0
  81. package/dist/lib/node-esm/create-XQAER3WF.mjs +46 -0
  82. package/dist/lib/node-esm/create-XQAER3WF.mjs.map +7 -0
  83. package/dist/lib/node-esm/create-script-2CGVQ3AU.mjs +47 -0
  84. package/dist/lib/node-esm/create-script-2CGVQ3AU.mjs.map +7 -0
  85. package/dist/lib/node-esm/delete-JA2S3K6Z.mjs +22 -0
  86. package/dist/lib/node-esm/delete-JA2S3K6Z.mjs.map +7 -0
  87. package/dist/lib/node-esm/deploy-FILYYRWE.mjs +66 -0
  88. package/dist/lib/node-esm/deploy-FILYYRWE.mjs.map +7 -0
  89. package/dist/lib/node-esm/index.mjs +1179 -232
  90. package/dist/lib/node-esm/index.mjs.map +4 -4
  91. package/dist/lib/node-esm/inspect-invocations-PLSHQCFM.mjs +56 -0
  92. package/dist/lib/node-esm/inspect-invocations-PLSHQCFM.mjs.map +7 -0
  93. package/dist/lib/node-esm/install-function-4TVXEWYF.mjs +55 -0
  94. package/dist/lib/node-esm/install-function-4TVXEWYF.mjs.map +7 -0
  95. package/dist/lib/node-esm/invoke-J4Z7CS44.mjs +37 -0
  96. package/dist/lib/node-esm/invoke-J4Z7CS44.mjs.map +7 -0
  97. package/dist/lib/node-esm/meta.json +1 -1
  98. package/dist/lib/node-esm/operations/index.mjs +15 -0
  99. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  100. package/dist/lib/node-esm/query-deployed-functions-JBYIJGLW.mjs +34 -0
  101. package/dist/lib/node-esm/query-deployed-functions-JBYIJGLW.mjs.map +7 -0
  102. package/dist/lib/node-esm/read-HDE5XOGZ.mjs +27 -0
  103. package/dist/lib/node-esm/read-HDE5XOGZ.mjs.map +7 -0
  104. package/dist/lib/node-esm/templates/index.mjs +1 -1
  105. package/dist/lib/node-esm/types/index.mjs +7 -7
  106. package/dist/lib/node-esm/update-6O53SY6U.mjs +64 -0
  107. package/dist/lib/node-esm/update-6O53SY6U.mjs.map +7 -0
  108. package/dist/types/src/ScriptPlugin.d.ts +2 -1
  109. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  110. package/dist/types/src/blueprints/functions/create.d.ts +11 -0
  111. package/dist/types/src/blueprints/functions/create.d.ts.map +1 -0
  112. package/dist/types/src/blueprints/functions/definitions.d.ts +142 -0
  113. package/dist/types/src/blueprints/functions/definitions.d.ts.map +1 -0
  114. package/dist/types/src/blueprints/functions/delete.d.ts +18 -0
  115. package/dist/types/src/blueprints/functions/delete.d.ts.map +1 -0
  116. package/dist/types/src/blueprints/functions/deploy.d.ts +22 -0
  117. package/dist/types/src/blueprints/functions/deploy.d.ts.map +1 -0
  118. package/dist/types/src/blueprints/functions/index.d.ts +4 -0
  119. package/dist/types/src/blueprints/functions/index.d.ts.map +1 -0
  120. package/dist/types/src/blueprints/functions/inspect-invocations.d.ts +30 -0
  121. package/dist/types/src/blueprints/functions/inspect-invocations.d.ts.map +1 -0
  122. package/dist/types/src/blueprints/functions/install-function.d.ts +11 -0
  123. package/dist/types/src/blueprints/functions/install-function.d.ts.map +1 -0
  124. package/dist/types/src/blueprints/functions/invoke.d.ts +22 -0
  125. package/dist/types/src/blueprints/functions/invoke.d.ts.map +1 -0
  126. package/dist/types/src/blueprints/functions/query-deployed-functions.d.ts +13 -0
  127. package/dist/types/src/blueprints/functions/query-deployed-functions.d.ts.map +1 -0
  128. package/dist/types/src/blueprints/functions/read.d.ts +22 -0
  129. package/dist/types/src/blueprints/functions/read.d.ts.map +1 -0
  130. package/dist/types/src/blueprints/functions/update.d.ts +27 -0
  131. package/dist/types/src/blueprints/functions/update.d.ts.map +1 -0
  132. package/dist/types/src/blueprints/index.d.ts +2 -0
  133. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  134. package/dist/types/src/blueprints/script-blueprint.d.ts +4 -0
  135. package/dist/types/src/blueprints/script-blueprint.d.ts.map +1 -0
  136. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  137. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  138. package/dist/types/src/capabilities/artifact-definition.d.ts +3 -2
  139. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  140. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -4
  141. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  142. package/dist/types/src/capabilities/compiler.d.ts +3 -1
  143. package/dist/types/src/capabilities/compiler.d.ts.map +1 -1
  144. package/dist/types/src/capabilities/index.d.ts +12 -7
  145. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  146. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  147. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  148. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  149. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  150. package/dist/types/src/capabilities/settings.d.ts +8 -2
  151. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  152. package/dist/types/src/compiler/compiler.d.ts +1 -1
  153. package/dist/types/src/compiler/compiler.d.ts.map +1 -1
  154. package/dist/types/src/components/FramePanel/FramePanel.d.ts +12 -0
  155. package/dist/types/src/components/FramePanel/FramePanel.d.ts.map +1 -0
  156. package/dist/types/src/components/FramePanel/index.d.ts +2 -0
  157. package/dist/types/src/components/FramePanel/index.d.ts.map +1 -0
  158. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts +4 -4
  159. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -1
  160. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts +1 -1
  161. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts.map +1 -1
  162. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +9 -3
  163. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -1
  164. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +242 -226
  165. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -1
  166. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts +5 -0
  167. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts.map +1 -0
  168. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts +13 -0
  169. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts.map +1 -0
  170. package/dist/types/src/components/QueryEditor/index.d.ts +2 -0
  171. package/dist/types/src/components/QueryEditor/index.d.ts.map +1 -0
  172. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.d.ts +8 -0
  173. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.d.ts.map +1 -0
  174. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.d.ts +262 -0
  175. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.d.ts.map +1 -0
  176. package/dist/types/src/components/ScriptPluginSettings/index.d.ts +3 -0
  177. package/dist/types/src/components/ScriptPluginSettings/index.d.ts.map +1 -0
  178. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +11 -5
  179. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  180. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +242 -226
  181. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  182. package/dist/types/src/components/TestPanel/TestPanel.d.ts +8 -2
  183. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
  184. package/dist/types/src/components/TestPanel/index.d.ts +0 -1
  185. package/dist/types/src/components/TestPanel/index.d.ts.map +1 -1
  186. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +9 -2
  187. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  188. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +7 -1
  189. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  190. package/dist/types/src/components/index.d.ts +6 -5
  191. package/dist/types/src/components/index.d.ts.map +1 -1
  192. package/dist/types/src/constants.d.ts +2 -0
  193. package/dist/types/src/constants.d.ts.map +1 -0
  194. package/dist/types/src/{components → containers}/DeploymentDialog/DeploymentDialog.d.ts +2 -4
  195. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.d.ts.map +1 -0
  196. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts +261 -0
  197. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -0
  198. package/dist/types/src/containers/DeploymentDialog/index.d.ts +3 -0
  199. package/dist/types/src/containers/DeploymentDialog/index.d.ts.map +1 -0
  200. package/dist/types/src/containers/NotebookContainer/NotebookContainer.d.ts +7 -0
  201. package/dist/types/src/containers/NotebookContainer/NotebookContainer.d.ts.map +1 -0
  202. package/dist/types/src/containers/NotebookContainer/NotebookContainer.stories.d.ts +7 -0
  203. package/dist/types/src/containers/NotebookContainer/NotebookContainer.stories.d.ts.map +1 -0
  204. package/dist/types/src/containers/NotebookContainer/index.d.ts +3 -0
  205. package/dist/types/src/containers/NotebookContainer/index.d.ts.map +1 -0
  206. package/dist/types/src/containers/ScriptContainer/ScriptContainer.d.ts +10 -0
  207. package/dist/types/src/containers/ScriptContainer/ScriptContainer.d.ts.map +1 -0
  208. package/dist/types/src/containers/ScriptContainer/index.d.ts +3 -0
  209. package/dist/types/src/containers/ScriptContainer/index.d.ts.map +1 -0
  210. package/dist/types/src/{components/Settings → containers/ScriptObjectSettings}/ScriptObjectSettings.d.ts +0 -1
  211. package/dist/types/src/containers/ScriptObjectSettings/ScriptObjectSettings.d.ts.map +1 -0
  212. package/dist/types/src/containers/ScriptObjectSettings/index.d.ts +3 -0
  213. package/dist/types/src/containers/ScriptObjectSettings/index.d.ts.map +1 -0
  214. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts +7 -0
  215. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts.map +1 -0
  216. package/dist/types/src/containers/ScriptProperties/index.d.ts +3 -0
  217. package/dist/types/src/containers/ScriptProperties/index.d.ts.map +1 -0
  218. package/dist/types/src/{components/TestPanel → containers/TestContainer}/TestContainer.d.ts +1 -1
  219. package/dist/types/src/containers/TestContainer/TestContainer.d.ts.map +1 -0
  220. package/dist/types/src/containers/TestContainer/index.d.ts +3 -0
  221. package/dist/types/src/containers/TestContainer/index.d.ts.map +1 -0
  222. package/dist/types/src/containers/index.d.ts +8 -0
  223. package/dist/types/src/containers/index.d.ts.map +1 -0
  224. package/dist/types/src/e2e/ai.test.d.ts +2 -0
  225. package/dist/types/src/e2e/ai.test.d.ts.map +1 -0
  226. package/dist/types/src/e2e/deploy.test.d.ts +2 -0
  227. package/dist/types/src/e2e/deploy.test.d.ts.map +1 -0
  228. package/dist/types/src/hooks/deploy.d.ts +25 -26
  229. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  230. package/dist/types/src/hooks/format.d.ts +3 -2
  231. package/dist/types/src/hooks/format.d.ts.map +1 -1
  232. package/dist/types/src/hooks/index.d.ts +1 -0
  233. package/dist/types/src/hooks/index.d.ts.map +1 -1
  234. package/dist/types/src/hooks/template.d.ts +3 -2
  235. package/dist/types/src/hooks/template.d.ts.map +1 -1
  236. package/dist/types/src/hooks/useCompiler.d.ts +7 -0
  237. package/dist/types/src/hooks/useCompiler.d.ts.map +1 -0
  238. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  239. package/dist/types/src/hooks/useToolbarState.d.ts +8 -1
  240. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  241. package/dist/types/src/index.d.ts +2 -1
  242. package/dist/types/src/index.d.ts.map +1 -1
  243. package/dist/types/src/meta.d.ts +2 -2
  244. package/dist/types/src/meta.d.ts.map +1 -1
  245. package/dist/types/src/notebook/compute-graph.d.ts +25 -12
  246. package/dist/types/src/notebook/compute-graph.d.ts.map +1 -1
  247. package/dist/types/src/operations/access-token-created.d.ts +5 -0
  248. package/dist/types/src/operations/access-token-created.d.ts.map +1 -0
  249. package/dist/types/src/operations/create-script.d.ts +5 -0
  250. package/dist/types/src/operations/create-script.d.ts.map +1 -0
  251. package/dist/types/src/operations/definitions.d.ts +29 -0
  252. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  253. package/dist/types/src/operations/index.d.ts +4 -0
  254. package/dist/types/src/operations/index.d.ts.map +1 -0
  255. package/dist/types/src/templates/anthropic.d.ts +7 -0
  256. package/dist/types/src/templates/anthropic.d.ts.map +1 -0
  257. package/dist/types/src/templates/chess-bot.d.ts +18 -0
  258. package/dist/types/src/templates/chess-bot.d.ts.map +1 -0
  259. package/dist/types/src/templates/commentary.d.ts +19 -0
  260. package/dist/types/src/templates/commentary.d.ts.map +1 -0
  261. package/dist/types/src/templates/forex-effect.d.ts +5 -1
  262. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  263. package/dist/types/src/templates/forex.d.ts +5 -1
  264. package/dist/types/src/templates/forex.d.ts.map +1 -1
  265. package/dist/types/src/templates/index.d.ts +25 -16
  266. package/dist/types/src/templates/index.d.ts.map +1 -1
  267. package/dist/types/src/templates/ping.d.ts +2 -4
  268. package/dist/types/src/templates/ping.d.ts.map +1 -1
  269. package/dist/types/src/testing/data.d.ts +1 -1
  270. package/dist/types/src/testing/data.d.ts.map +1 -1
  271. package/dist/types/src/testing/simulator.test.d.ts +2 -0
  272. package/dist/types/src/testing/simulator.test.d.ts.map +1 -0
  273. package/dist/types/src/translations.d.ts +91 -84
  274. package/dist/types/src/translations.d.ts.map +1 -1
  275. package/dist/types/src/types/Notebook.d.ts +108 -23
  276. package/dist/types/src/types/Notebook.d.ts.map +1 -1
  277. package/dist/types/src/types/Settings.d.ts +6 -0
  278. package/dist/types/src/types/Settings.d.ts.map +1 -0
  279. package/dist/types/src/types/capabilities.d.ts +12 -0
  280. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  281. package/dist/types/src/types/events.d.ts +5 -0
  282. package/dist/types/src/types/events.d.ts.map +1 -0
  283. package/dist/types/src/types/index.d.ts +2 -1
  284. package/dist/types/src/types/index.d.ts.map +1 -1
  285. package/dist/types/src/types/types.d.ts +1 -5
  286. package/dist/types/src/types/types.d.ts.map +1 -1
  287. package/dist/types/src/util/deploy.d.ts +3 -2
  288. package/dist/types/src/util/deploy.d.ts.map +1 -1
  289. package/dist/types/src/util/functions.d.ts +3 -2
  290. package/dist/types/src/util/functions.d.ts.map +1 -1
  291. package/dist/types/tsconfig.tsbuildinfo +1 -1
  292. package/package.json +136 -86
  293. package/src/ScriptPlugin.tsx +64 -86
  294. package/src/blueprints/functions/create.ts +48 -0
  295. package/src/blueprints/functions/definitions.ts +324 -0
  296. package/src/blueprints/functions/delete.ts +23 -0
  297. package/src/blueprints/functions/deploy.ts +70 -0
  298. package/src/blueprints/functions/index.ts +19 -0
  299. package/src/blueprints/functions/inspect-invocations.ts +55 -0
  300. package/src/blueprints/functions/install-function.ts +56 -0
  301. package/src/blueprints/functions/invoke.ts +35 -0
  302. package/src/blueprints/functions/query-deployed-functions.ts +31 -0
  303. package/src/blueprints/functions/read.ts +30 -0
  304. package/src/blueprints/functions/update.ts +69 -0
  305. package/src/blueprints/index.ts +5 -0
  306. package/src/blueprints/script-blueprint.ts +56 -0
  307. package/src/capabilities/app-graph-builder.ts +39 -57
  308. package/src/capabilities/artifact-definition.ts +97 -95
  309. package/src/capabilities/blueprint-definition.ts +11 -24
  310. package/src/capabilities/compiler.ts +92 -23
  311. package/src/capabilities/index.ts +11 -9
  312. package/src/capabilities/operation-handler.ts +20 -0
  313. package/src/capabilities/react-surface.tsx +132 -82
  314. package/src/capabilities/settings.ts +26 -14
  315. package/src/compiler/compiler.ts +10 -3
  316. package/src/components/{FrameContainer/FrameContainer.tsx → FramePanel/FramePanel.tsx} +8 -7
  317. package/src/components/{FrameContainer → FramePanel}/index.ts +1 -1
  318. package/src/components/NotebookStack/NotebookCell.tsx +40 -33
  319. package/src/components/NotebookStack/NotebookMenu.tsx +7 -7
  320. package/src/components/NotebookStack/NotebookStack.stories.tsx +21 -22
  321. package/src/components/NotebookStack/NotebookStack.tsx +30 -19
  322. package/src/components/QueryEditor/QueryEditor.stories.tsx +96 -0
  323. package/src/components/QueryEditor/QueryEditor.tsx +47 -0
  324. package/src/components/QueryEditor/index.ts +5 -0
  325. package/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.tsx +32 -0
  326. package/src/components/ScriptPluginSettings/ScriptPluginSettings.tsx +64 -0
  327. package/src/components/ScriptPluginSettings/index.ts +7 -0
  328. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +39 -17
  329. package/src/components/ScriptToolbar/ScriptToolbar.tsx +39 -44
  330. package/src/components/TestPanel/TestPanel.tsx +121 -178
  331. package/src/components/TestPanel/index.ts +0 -1
  332. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +25 -18
  333. package/src/components/TypescriptEditor/TypescriptEditor.tsx +73 -66
  334. package/src/components/index.ts +7 -8
  335. package/src/constants.ts +7 -0
  336. package/src/{components → containers}/DeploymentDialog/DeploymentDialog.stories.tsx +30 -25
  337. package/src/containers/DeploymentDialog/DeploymentDialog.tsx +98 -0
  338. package/src/containers/DeploymentDialog/index.ts +7 -0
  339. package/src/{components → containers/NotebookContainer}/NotebookContainer.stories.tsx +30 -29
  340. package/src/{components → containers/NotebookContainer}/NotebookContainer.tsx +97 -92
  341. package/src/containers/NotebookContainer/index.ts +7 -0
  342. package/src/containers/ScriptContainer/ScriptContainer.tsx +85 -0
  343. package/src/containers/ScriptContainer/index.ts +7 -0
  344. package/src/{components/Settings → containers/ScriptObjectSettings}/ScriptObjectSettings.tsx +84 -75
  345. package/src/containers/ScriptObjectSettings/index.ts +7 -0
  346. package/src/containers/ScriptProperties/ScriptProperties.tsx +33 -0
  347. package/src/containers/ScriptProperties/index.ts +7 -0
  348. package/src/containers/TestContainer/TestContainer.tsx +45 -0
  349. package/src/containers/TestContainer/index.ts +7 -0
  350. package/src/containers/index.ts +12 -0
  351. package/src/e2e/ai.test.ts +93 -0
  352. package/src/e2e/deploy.test.ts +65 -0
  353. package/src/hooks/deploy.ts +44 -35
  354. package/src/hooks/format.ts +8 -3
  355. package/src/hooks/index.ts +1 -0
  356. package/src/hooks/template.ts +17 -11
  357. package/src/hooks/useCompiler.ts +24 -0
  358. package/src/hooks/useCreateAndDeployScriptTemplates.ts +13 -15
  359. package/src/hooks/useToolbarState.ts +29 -4
  360. package/src/index.ts +2 -1
  361. package/src/meta.ts +4 -4
  362. package/src/notebook/compute-graph.test.ts +21 -9
  363. package/src/notebook/compute-graph.ts +46 -22
  364. package/src/operations/access-token-created.ts +36 -0
  365. package/src/operations/create-script.ts +47 -0
  366. package/src/operations/definitions.ts +40 -0
  367. package/src/operations/index.ts +12 -0
  368. package/src/templates/anthropic.ts +49 -0
  369. package/src/templates/chat.ts +1 -1
  370. package/src/templates/chess-bot.ts +61 -0
  371. package/src/templates/commentary.ts +244 -0
  372. package/src/templates/data-generator.ts +2 -2
  373. package/src/templates/discord.ts +3 -3
  374. package/src/templates/forex-effect.ts +35 -29
  375. package/src/templates/forex.ts +27 -17
  376. package/src/templates/gmail.ts +5 -6
  377. package/src/templates/index.ts +31 -18
  378. package/src/templates/ping.ts +22 -5
  379. package/src/testing/data.ts +8 -8
  380. package/src/testing/simulator.test.ts +40 -0
  381. package/src/translations.ts +92 -84
  382. package/src/types/Notebook.ts +19 -15
  383. package/src/types/Settings.ts +17 -0
  384. package/src/types/capabilities.ts +17 -0
  385. package/src/types/events.ts +11 -0
  386. package/src/types/index.ts +2 -1
  387. package/src/types/types.ts +1 -11
  388. package/src/util/deploy.ts +28 -32
  389. package/src/util/functions.ts +31 -26
  390. package/src/vite-env.d.ts +2 -0
  391. package/dist/lib/browser/DeploymentDialog-E5NXT4UQ.mjs +0 -14
  392. package/dist/lib/browser/DeploymentDialog-E5NXT4UQ.mjs.map +0 -7
  393. package/dist/lib/browser/NotebookContainer-C36N7AFF.mjs.map +0 -7
  394. package/dist/lib/browser/ScriptContainer-4YPRUM3C.mjs +0 -148
  395. package/dist/lib/browser/ScriptContainer-4YPRUM3C.mjs.map +0 -7
  396. package/dist/lib/browser/app-graph-builder-LEOPGBJD.mjs +0 -66
  397. package/dist/lib/browser/app-graph-builder-LEOPGBJD.mjs.map +0 -7
  398. package/dist/lib/browser/blueprint-definition-6PZWZM2Y.mjs +0 -30
  399. package/dist/lib/browser/blueprint-definition-6PZWZM2Y.mjs.map +0 -7
  400. package/dist/lib/browser/chunk-5S5YQNJZ.mjs +0 -304
  401. package/dist/lib/browser/chunk-5S5YQNJZ.mjs.map +0 -7
  402. package/dist/lib/browser/chunk-A5K3TXYA.mjs +0 -269
  403. package/dist/lib/browser/chunk-A5K3TXYA.mjs.map +0 -7
  404. package/dist/lib/browser/chunk-EB6AXFXO.mjs +0 -31
  405. package/dist/lib/browser/chunk-EB6AXFXO.mjs.map +0 -7
  406. package/dist/lib/browser/chunk-HCURXADW.mjs +0 -102
  407. package/dist/lib/browser/chunk-HCURXADW.mjs.map +0 -7
  408. package/dist/lib/browser/chunk-HHTOAI2J.mjs +0 -644
  409. package/dist/lib/browser/chunk-HHTOAI2J.mjs.map +0 -7
  410. package/dist/lib/browser/chunk-IQMYIWHG.mjs +0 -153
  411. package/dist/lib/browser/chunk-IQMYIWHG.mjs.map +0 -7
  412. package/dist/lib/browser/chunk-LI4P25M5.mjs +0 -111
  413. package/dist/lib/browser/chunk-LI4P25M5.mjs.map +0 -7
  414. package/dist/lib/browser/chunk-Q2DGRQRN.mjs +0 -255
  415. package/dist/lib/browser/chunk-Q2DGRQRN.mjs.map +0 -7
  416. package/dist/lib/browser/chunk-ST3ACVUC.mjs +0 -88
  417. package/dist/lib/browser/chunk-ST3ACVUC.mjs.map +0 -7
  418. package/dist/lib/browser/chunk-UOQ6NCH3.mjs +0 -15
  419. package/dist/lib/browser/chunk-UOQ6NCH3.mjs.map +0 -7
  420. package/dist/lib/browser/compiler-Q4UY2COU.mjs +0 -86
  421. package/dist/lib/browser/compiler-Q4UY2COU.mjs.map +0 -7
  422. package/dist/lib/browser/intent-resolver-AMMHATM7.mjs +0 -105
  423. package/dist/lib/browser/intent-resolver-AMMHATM7.mjs.map +0 -7
  424. package/dist/lib/browser/react-surface-X4NATU6B.mjs +0 -128
  425. package/dist/lib/browser/react-surface-X4NATU6B.mjs.map +0 -7
  426. package/dist/lib/browser/settings-6UXY7F7D.mjs +0 -26
  427. package/dist/lib/browser/settings-6UXY7F7D.mjs.map +0 -7
  428. package/dist/lib/node-esm/DeploymentDialog-OSHHSEBH.mjs +0 -15
  429. package/dist/lib/node-esm/DeploymentDialog-OSHHSEBH.mjs.map +0 -7
  430. package/dist/lib/node-esm/NotebookContainer-FOVFGJQR.mjs.map +0 -7
  431. package/dist/lib/node-esm/ScriptContainer-EW24D5II.mjs +0 -149
  432. package/dist/lib/node-esm/ScriptContainer-EW24D5II.mjs.map +0 -7
  433. package/dist/lib/node-esm/app-graph-builder-XJ3MY5BM.mjs +0 -67
  434. package/dist/lib/node-esm/app-graph-builder-XJ3MY5BM.mjs.map +0 -7
  435. package/dist/lib/node-esm/blueprint-definition-5R6YCSZZ.mjs +0 -31
  436. package/dist/lib/node-esm/blueprint-definition-5R6YCSZZ.mjs.map +0 -7
  437. package/dist/lib/node-esm/chunk-2GVTWESW.mjs +0 -90
  438. package/dist/lib/node-esm/chunk-2GVTWESW.mjs.map +0 -7
  439. package/dist/lib/node-esm/chunk-55JZVM6K.mjs +0 -16
  440. package/dist/lib/node-esm/chunk-55JZVM6K.mjs.map +0 -7
  441. package/dist/lib/node-esm/chunk-EJLYOSD7.mjs +0 -113
  442. package/dist/lib/node-esm/chunk-EJLYOSD7.mjs.map +0 -7
  443. package/dist/lib/node-esm/chunk-GA27XSEY.mjs +0 -270
  444. package/dist/lib/node-esm/chunk-GA27XSEY.mjs.map +0 -7
  445. package/dist/lib/node-esm/chunk-IBV2DR36.mjs +0 -33
  446. package/dist/lib/node-esm/chunk-IBV2DR36.mjs.map +0 -7
  447. package/dist/lib/node-esm/chunk-N2XLVOFB.mjs +0 -103
  448. package/dist/lib/node-esm/chunk-N2XLVOFB.mjs.map +0 -7
  449. package/dist/lib/node-esm/chunk-O7HXE72S.mjs +0 -256
  450. package/dist/lib/node-esm/chunk-O7HXE72S.mjs.map +0 -7
  451. package/dist/lib/node-esm/chunk-OZ6LCME4.mjs +0 -645
  452. package/dist/lib/node-esm/chunk-OZ6LCME4.mjs.map +0 -7
  453. package/dist/lib/node-esm/chunk-TUGLYZDT.mjs +0 -305
  454. package/dist/lib/node-esm/chunk-TUGLYZDT.mjs.map +0 -7
  455. package/dist/lib/node-esm/chunk-UEGPBCSF.mjs +0 -154
  456. package/dist/lib/node-esm/chunk-UEGPBCSF.mjs.map +0 -7
  457. package/dist/lib/node-esm/compiler-I6A4KE6E.mjs +0 -87
  458. package/dist/lib/node-esm/compiler-I6A4KE6E.mjs.map +0 -7
  459. package/dist/lib/node-esm/intent-resolver-YKLZQR7U.mjs +0 -106
  460. package/dist/lib/node-esm/intent-resolver-YKLZQR7U.mjs.map +0 -7
  461. package/dist/lib/node-esm/react-surface-LVGLBSTE.mjs +0 -129
  462. package/dist/lib/node-esm/react-surface-LVGLBSTE.mjs.map +0 -7
  463. package/dist/lib/node-esm/settings-O4EZPUE3.mjs +0 -27
  464. package/dist/lib/node-esm/settings-O4EZPUE3.mjs.map +0 -7
  465. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  466. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  467. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  468. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  469. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +0 -1
  470. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +0 -248
  471. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +0 -1
  472. package/dist/types/src/components/DeploymentDialog/index.d.ts +0 -4
  473. package/dist/types/src/components/DeploymentDialog/index.d.ts.map +0 -1
  474. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts +0 -12
  475. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +0 -1
  476. package/dist/types/src/components/FrameContainer/frame.d.ts +0 -2
  477. package/dist/types/src/components/FrameContainer/frame.d.ts.map +0 -1
  478. package/dist/types/src/components/FrameContainer/index.d.ts +0 -2
  479. package/dist/types/src/components/FrameContainer/index.d.ts.map +0 -1
  480. package/dist/types/src/components/NotebookContainer.d.ts +0 -10
  481. package/dist/types/src/components/NotebookContainer.d.ts.map +0 -1
  482. package/dist/types/src/components/NotebookContainer.stories.d.ts +0 -251
  483. package/dist/types/src/components/NotebookContainer.stories.d.ts.map +0 -1
  484. package/dist/types/src/components/ScriptContainer.d.ts +0 -12
  485. package/dist/types/src/components/ScriptContainer.d.ts.map +0 -1
  486. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +0 -1
  487. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts +0 -6
  488. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +0 -1
  489. package/dist/types/src/components/Settings/index.d.ts +0 -3
  490. package/dist/types/src/components/Settings/index.d.ts.map +0 -1
  491. package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +0 -1
  492. package/dist/types/src/events.d.ts +0 -4
  493. package/dist/types/src/events.d.ts.map +0 -1
  494. package/dist/types/src/templates/chess.d.ts +0 -3
  495. package/dist/types/src/templates/chess.d.ts.map +0 -1
  496. package/dist/types/src/types/actions.d.ts +0 -54
  497. package/dist/types/src/types/actions.d.ts.map +0 -1
  498. package/src/capabilities/capabilities.ts +0 -12
  499. package/src/capabilities/intent-resolver.ts +0 -86
  500. package/src/components/DeploymentDialog/DeploymentDialog.tsx +0 -106
  501. package/src/components/DeploymentDialog/index.ts +0 -9
  502. package/src/components/FrameContainer/frame.html +0 -25
  503. package/src/components/FrameContainer/frame.tsx +0 -51
  504. package/src/components/ScriptContainer.tsx +0 -69
  505. package/src/components/Settings/ScriptPluginSettings.tsx +0 -61
  506. package/src/components/Settings/index.ts +0 -6
  507. package/src/components/TestPanel/TestContainer.tsx +0 -27
  508. package/src/events.ts +0 -11
  509. package/src/templates/chess.ts +0 -49
  510. package/src/types/actions.ts +0 -53
@@ -3,56 +3,61 @@
3
3
  //
4
4
 
5
5
  import { type Meta, type StoryObj } from '@storybook/react-vite';
6
- import React from 'react';
6
+ import React, { useMemo } from 'react';
7
7
 
8
- import { IntentPlugin } from '@dxos/app-framework';
8
+ import { OperationPlugin, RuntimePlugin } from '@dxos/app-framework';
9
9
  import { withPluginManager } from '@dxos/app-framework/testing';
10
10
  import { Obj } from '@dxos/echo';
11
11
  import { ClientPlugin } from '@dxos/plugin-client';
12
12
  import { Dialog } from '@dxos/react-ui';
13
13
  import { withTheme } from '@dxos/react-ui/testing';
14
- import { DataType } from '@dxos/schema';
14
+ import { AccessToken } from '@dxos/types';
15
15
 
16
16
  import { translations } from '../../translations';
17
17
 
18
- import { DeploymentDialog, type DeploymentDialogProps } from './DeploymentDialog';
18
+ import { DeploymentDialog } from './DeploymentDialog';
19
19
 
20
- const DefaultStory = (props: DeploymentDialogProps) => {
20
+ const DeploymentDialogStory = () => {
21
+ const accessToken = useMemo(
22
+ () =>
23
+ Obj.make(AccessToken.AccessToken, {
24
+ source: 'example.com',
25
+ token: 'example-token',
26
+ }),
27
+ [],
28
+ );
29
+ const scriptTemplates = useMemo(
30
+ () => [
31
+ { id: 't-1', name: 'Script 1', source: 'template1' },
32
+ { id: 't-2', name: 'Script 2', source: 'template2' },
33
+ { id: 't-3', name: 'Script 3', source: 'template3' },
34
+ ],
35
+ [],
36
+ );
21
37
  return (
22
38
  <Dialog.Root defaultOpen={true}>
23
- <DeploymentDialog {...props} />
39
+ <Dialog.Overlay>
40
+ <DeploymentDialog accessToken={accessToken} scriptTemplates={scriptTemplates} />
41
+ </Dialog.Overlay>
24
42
  </Dialog.Root>
25
43
  );
26
44
  };
27
45
 
28
46
  const meta = {
29
- title: 'plugins/plugin-script/DeploymentDialog',
30
- component: DeploymentDialog,
31
- render: DefaultStory,
47
+ title: 'plugins/plugin-script/containers/DeploymentDialog',
48
+ component: DeploymentDialogStory,
32
49
  parameters: { translations },
33
50
  // TODO(wittjosiah): Try to write story which does not depend on plugin manager.
34
51
  decorators: [
35
- withTheme,
52
+ withTheme(),
36
53
  withPluginManager({
37
- plugins: [IntentPlugin(), ClientPlugin({})],
54
+ plugins: [OperationPlugin(), RuntimePlugin(), ClientPlugin({})],
38
55
  }),
39
56
  ],
40
- } satisfies Meta<typeof DefaultStory>;
57
+ } satisfies Meta<typeof DeploymentDialogStory>;
41
58
 
42
59
  export default meta;
43
60
 
44
61
  type Story = StoryObj<typeof meta>;
45
62
 
46
- export const Default: Story = {
47
- args: {
48
- accessToken: Obj.make(DataType.AccessToken, {
49
- source: 'example.com',
50
- token: 'example-token',
51
- }),
52
- scriptTemplates: [
53
- { id: 't-1', name: 'Script 1', source: 'template1' },
54
- { id: 't-2', name: 'Script 2', source: 'template2' },
55
- { id: 't-3', name: 'Script 3', source: 'template3' },
56
- ],
57
- },
58
- };
63
+ export const Default: Story = {};
@@ -0,0 +1,98 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import React, { useEffect, useMemo } from 'react';
6
+
7
+ import { useOperationInvoker } from '@dxos/app-framework/ui';
8
+ import { LayoutOperation } from '@dxos/app-toolkit';
9
+ import { getSpace } from '@dxos/react-client/echo';
10
+ import { Button, Dialog, useTranslation } from '@dxos/react-ui';
11
+ import { type AccessToken } from '@dxos/types';
12
+
13
+ import { useCreateAndDeployScriptTemplates } from '#hooks';
14
+ import { meta } from '#meta';
15
+ import { type Template } from '../../templates';
16
+
17
+ // TODO(ZaymonFC):
18
+ // - Show activity and feedback to the user.
19
+ // - Only take an array of templateIds and get the name from the data.
20
+ // - Pending / onError states.
21
+
22
+ export type DeploymentDialogProps = {
23
+ accessToken: AccessToken.AccessToken;
24
+ scriptTemplates: Template[];
25
+ };
26
+
27
+ export const DeploymentDialog = ({ accessToken, scriptTemplates }: DeploymentDialogProps) => {
28
+ const { t } = useTranslation(meta.id);
29
+ const space = useMemo(() => getSpace(accessToken), [accessToken]);
30
+
31
+ // TODO(ZaymonFC): Thinking further. All of this should get moved to intents to run async in the background.
32
+ // Deployment shouldn't be tied to the lifecycle of the dialogue component.
33
+ const { handleCreateAndDeployScripts, status } = useCreateAndDeployScriptTemplates(space, scriptTemplates);
34
+ const { invokePromise } = useOperationInvoker();
35
+
36
+ useEffect(() => {
37
+ if (status === 'success') {
38
+ // TODO(ZaymonFC): We can probably re-use this toast for normal script deployment.
39
+ void invokePromise(LayoutOperation.AddToast, {
40
+ id: `${meta.id}.deployment-success`,
41
+ icon: 'ph--check--regular',
42
+ duration: Infinity,
43
+ title: ['script-deployment-toast.label', { ns: meta.id, count: scriptTemplates.length }],
44
+ description: ['script-deployment-toast.description', { ns: meta.id, count: scriptTemplates.length }],
45
+ closeLabel: ['script-deployment-toast-close.label', { ns: meta.id, count: scriptTemplates.length }],
46
+ });
47
+ void invokePromise(LayoutOperation.UpdateDialog, { state: false });
48
+ }
49
+ if (status === 'error') {
50
+ void invokePromise(LayoutOperation.UpdateDialog, { state: false });
51
+ void invokePromise(LayoutOperation.AddToast, {
52
+ id: `${meta.id}.deployment-error`,
53
+ icon: 'ph--warning--regular',
54
+ duration: Infinity,
55
+ title: ['script-deployment-error-toast.label', { ns: meta.id, count: scriptTemplates.length }],
56
+ description: ['script-deployment-error-toast.description', { ns: meta.id, count: scriptTemplates.length }],
57
+ closeLabel: ['script-deployment-error-toast-close.label', { ns: meta.id, count: scriptTemplates.length }],
58
+ });
59
+ }
60
+ }, [status, invokePromise]);
61
+
62
+ return (
63
+ <Dialog.Content>
64
+ <Dialog.Header>
65
+ <Dialog.Title>{t('deployment-dialog.title')}</Dialog.Title>
66
+ <Dialog.Close asChild>
67
+ <Dialog.CloseIconButton />
68
+ </Dialog.Close>
69
+ </Dialog.Header>
70
+ <Dialog.Body>
71
+ <p>
72
+ {t('deployment-dialog-scripts-found.message', {
73
+ count: scriptTemplates.length,
74
+ })}
75
+ </p>
76
+ <ul className='pt-2'>
77
+ {scriptTemplates.map((template) => {
78
+ return <li key={template.id}>{template.name}</li>;
79
+ })}
80
+ </ul>
81
+ </Dialog.Body>
82
+ <Dialog.ActionBar>
83
+ <Dialog.Close asChild>
84
+ <Button disabled={status === 'pending'}>{t('deployment-dialog-skip-button.label')}</Button>
85
+ </Dialog.Close>
86
+ <Button variant='primary' onClick={handleCreateAndDeployScripts} disabled={status === 'pending'}>
87
+ {status === 'pending'
88
+ ? t('deployment-dialog-deploy-functions-pending-button.label', {
89
+ count: scriptTemplates.length,
90
+ })
91
+ : t('deployment-dialog-deploy-functions-button.label', {
92
+ count: scriptTemplates.length,
93
+ })}
94
+ </Button>
95
+ </Dialog.ActionBar>
96
+ </Dialog.Content>
97
+ );
98
+ };
@@ -0,0 +1,7 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { DeploymentDialog } from './DeploymentDialog';
6
+
7
+ export default DeploymentDialog;
@@ -3,45 +3,46 @@
3
3
  //
4
4
 
5
5
  import { type Meta, type StoryObj } from '@storybook/react-vite';
6
+ import * as Effect from 'effect/Effect';
6
7
  import React from 'react';
7
8
 
8
9
  import { SERVICES_CONFIG } from '@dxos/ai/testing';
9
- import { IntentPlugin, SettingsPlugin } from '@dxos/app-framework';
10
10
  import { withPluginManager } from '@dxos/app-framework/testing';
11
- import { Agent } from '@dxos/assistant-toolkit';
11
+ import { AgentPrompt } from '@dxos/assistant-toolkit';
12
12
  import { Filter } from '@dxos/echo';
13
- import { Function, serializeFunction } from '@dxos/functions';
13
+ import { Operation } from '@dxos/operation';
14
14
  import { AssistantPlugin } from '@dxos/plugin-assistant';
15
15
  import { AutomationPlugin } from '@dxos/plugin-automation';
16
16
  import { ClientPlugin } from '@dxos/plugin-client';
17
+ import { initializeIdentity } from '@dxos/plugin-client/testing';
17
18
  import { ExplorerPlugin } from '@dxos/plugin-explorer';
18
19
  import { Markdown, MarkdownPlugin } from '@dxos/plugin-markdown';
19
- import { SpacePlugin } from '@dxos/plugin-space';
20
+ import { corePlugins } from '@dxos/plugin-testing';
20
21
  import { Config, useClient } from '@dxos/react-client';
21
22
  import { useQuery } from '@dxos/react-client/echo';
22
- import { withLayout, withTheme } from '@dxos/react-ui/testing';
23
+ import { withLayout } from '@dxos/react-ui/testing';
23
24
  import { DataTypes } from '@dxos/schema';
24
25
 
25
- import { createNotebook } from '../testing';
26
- import { translations } from '../translations';
27
- import { Notebook } from '../types';
26
+ import { createNotebook } from '#testing';
27
+ import { translations } from '../../translations';
28
+ import { Notebook } from '#types';
28
29
 
29
30
  import { NotebookContainer } from './NotebookContainer';
30
31
 
31
- const meta = {
32
- title: 'plugins/plugin-script/NotebookContainer',
32
+ const meta: Meta<typeof NotebookContainer> = {
33
+ title: 'plugins/plugin-script/containers/NotebookContainer',
33
34
  component: NotebookContainer,
34
35
  render: (args) => {
35
36
  const client = useClient();
36
- const space = client.spaces.default;
37
+ const space = client.spaces.get()[0];
37
38
  const notebooks = useQuery(space?.db, Filter.type(Notebook.Notebook));
38
- return <NotebookContainer {...args} notebook={notebooks[0]} />;
39
+ return <NotebookContainer {...args} subject={notebooks[0]} attendableId='test' />;
39
40
  },
40
41
  decorators: [
41
- withTheme,
42
- withLayout({ container: 'column', classNames: 'is-prose' }),
42
+ withLayout({ layout: 'column', classNames: 'w-document-max-width' }),
43
43
  withPluginManager({
44
44
  plugins: [
45
+ ...corePlugins(),
45
46
  ClientPlugin({
46
47
  // TODO(wittjosiah): ComputeRuntime requires edge to be configured or it will throw.
47
48
  config: new Config({
@@ -49,21 +50,16 @@ const meta = {
49
50
  services: SERVICES_CONFIG.REMOTE,
50
51
  },
51
52
  }),
52
- types: [...DataTypes, Notebook.Notebook, Function.Function, Markdown.Document],
53
- onClientInitialized: async ({ client }) => {
54
- await client.halo.createIdentity();
55
- await client.spaces.waitUntilReady();
56
- const space = client.spaces.default;
57
- await space.waitUntilReady();
53
+ types: [...DataTypes, Notebook.Notebook, Operation.PersistentOperation, Markdown.Document],
54
+ onClientInitialized: ({ client }) =>
55
+ Effect.gen(function* () {
56
+ const { personalSpace } = yield* initializeIdentity(client);
58
57
 
59
- space.db.add(createNotebook());
60
- space.db.add(Markdown.makeDocument({ content: '# Hello World' }));
61
- space.db.add(serializeFunction(Agent.prompt));
62
- },
58
+ personalSpace.db.add(createNotebook());
59
+ personalSpace.db.add(Markdown.make({ content: '# Hello World' }));
60
+ personalSpace.db.add(Operation.serialize(AgentPrompt));
61
+ }),
63
62
  }),
64
- SpacePlugin({}),
65
- SettingsPlugin(),
66
- IntentPlugin(),
67
63
  AssistantPlugin(),
68
64
  AutomationPlugin(),
69
65
  ExplorerPlugin(),
@@ -74,10 +70,15 @@ const meta = {
74
70
  parameters: {
75
71
  translations,
76
72
  },
77
- } satisfies Meta<typeof NotebookContainer>;
73
+ };
78
74
 
79
75
  export default meta;
80
76
 
81
77
  type Story = StoryObj<typeof meta>;
82
78
 
83
- export const Default: Story = {};
79
+ export const Default: Story = {
80
+ args: {
81
+ role: 'article',
82
+ subject: undefined as any,
83
+ },
84
+ };
@@ -2,64 +2,57 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
+ import { RegistryContext } from '@effect-atom/atom-react';
5
6
  import * as Cause from 'effect/Cause';
6
7
  import * as Effect from 'effect/Effect';
7
8
  import * as Exit from 'effect/Exit';
8
- import * as Layer from 'effect/Layer';
9
- import React, { useCallback, useMemo, useState } from 'react';
9
+ import type * as Types from 'effect/Types';
10
+ import React, { useCallback, useContext, useMemo, useState } from 'react';
10
11
 
11
- import { Agent } from '@dxos/assistant-toolkit';
12
+ import { type ObjectSurfaceProps } from '@dxos/app-toolkit/ui';
13
+ import { AgentPrompt } from '@dxos/assistant-toolkit';
12
14
  import { Blueprint, Prompt } from '@dxos/blueprints';
13
15
  import { Filter, Obj, Query, Ref } from '@dxos/echo';
14
16
  import { QueryBuilder } from '@dxos/echo-query';
15
- import {
16
- ComputeEventLogger,
17
- type FunctionDefinition,
18
- FunctionInvocationService,
19
- InvocationTracer,
20
- TracingService,
21
- } from '@dxos/functions';
17
+ import { FunctionInvocationService, TracingService } from '@dxos/functions';
18
+ import { Operation } from '@dxos/operation';
22
19
  import { invariant } from '@dxos/invariant';
23
20
  import { log } from '@dxos/log';
24
- import { useComputeRuntimeCallback } from '@dxos/plugin-automation';
21
+ import { useComputeRuntimeCallback } from '@dxos/plugin-automation/hooks';
25
22
  import { Graph } from '@dxos/plugin-explorer/types';
26
- import { fullyQualifiedId } from '@dxos/react-client/echo';
27
- import { getSpace } from '@dxos/react-client/echo';
28
- import { DropdownMenu, IconButton, Toolbar, useTranslation } from '@dxos/react-ui';
23
+ import { DropdownMenu, IconButton, Panel, Toolbar, useTranslation } from '@dxos/react-ui';
29
24
  import { useAttention } from '@dxos/react-ui-attention';
30
- import { StackItem } from '@dxos/react-ui-stack';
31
- import { DataType } from '@dxos/schema';
25
+ import { Text, ViewModel } from '@dxos/schema';
32
26
  import { isNonNullable } from '@dxos/util';
33
27
 
34
- import { meta } from '../meta';
35
- import { ComputeGraph } from '../notebook';
36
- import { type Notebook } from '../types';
28
+ import { NotebookMenu, NotebookStack, type NotebookStackProps, type TypescriptEditorProps } from '#components';
29
+ import { meta } from '#meta';
30
+ import { ComputeGraph } from '../../notebook';
31
+ import { type Notebook } from '#types';
37
32
 
38
- import { NotebookMenu, NotebookStack, type NotebookStackProps } from './NotebookStack';
39
- import { type TypescriptEditorProps } from './TypescriptEditor';
40
-
41
- const INCLUDE_BLUEPRINTS = ['dxos.org/blueprint/assistant', 'dxos.org/blueprint/markdown'];
33
+ const INCLUDE_BLUEPRINTS = [
34
+ 'org.dxos.blueprint.assistant',
35
+ 'org.dxos.blueprint.database',
36
+ 'org.dxos.blueprint.markdown',
37
+ ];
42
38
 
43
39
  // TODO(burdon): Support calling named deployed functions (as with sheet).
44
40
 
45
- export type NotebookContainerProps = {
46
- role?: string;
47
- notebook?: Notebook.Notebook;
48
- } & Pick<TypescriptEditorProps, 'env'>;
41
+ export type NotebookContainerProps = ObjectSurfaceProps<Notebook.Notebook, Pick<TypescriptEditorProps, 'env'>>;
49
42
 
50
- export const NotebookContainer = ({ notebook, env }: NotebookContainerProps) => {
43
+ export const NotebookContainer = ({ role, subject: notebook, attendableId, env }: NotebookContainerProps) => {
51
44
  const { t } = useTranslation(meta.id);
52
- const space = getSpace(notebook);
53
- const attendableId = fullyQualifiedId(notebook);
45
+ const registry = useContext(RegistryContext);
46
+ const db = Obj.getDatabase(notebook);
54
47
  const { hasAttention } = useAttention(attendableId);
55
48
 
56
49
  // TODO(burdon): Consolidate execution and state (with graph).
57
50
  // Generalize ComputeGraph evaluation function (using effects).
58
- const graph = useMemo(() => notebook && new ComputeGraph(notebook), [notebook]);
51
+ const graph = useMemo(() => notebook && new ComputeGraph(notebook, registry), [notebook, registry]);
59
52
 
60
53
  const [queryValues, setQueryValues] = useState<Record<string, any>>({});
61
54
  const handleExecQueries = useCallback(async () => {
62
- invariant(space);
55
+ invariant(db);
63
56
 
64
57
  const builder = new QueryBuilder();
65
58
  for (const cell of notebook?.cells ?? []) {
@@ -69,32 +62,39 @@ export const NotebookContainer = ({ notebook, env }: NotebookContainerProps) =>
69
62
  const { name, filter } = builder.build(source);
70
63
  if (filter) {
71
64
  const ast = Query.select(filter).ast;
72
- const view = cell.view?.target;
73
- if (!view) {
74
- const graph = Graph.make({ query: { ast } });
75
- const { view } = await Graph.makeView({ space, presentation: graph });
76
- cell.view = Ref.make(view);
77
- cell.name = name;
65
+ const graph = cell.graph?.target;
66
+ if (!graph) {
67
+ const { view } = await ViewModel.makeFromDatabase({ db });
68
+ const newGraph = Graph.make({ query: { ast }, view });
69
+ Obj.change(notebook!, (obj) => {
70
+ const c = obj.cells.find((c) => c.id === cell.id);
71
+ if (c) {
72
+ c.graph = Ref.make(newGraph);
73
+ c.name = name;
74
+ }
75
+ });
78
76
  } else {
79
- view.query.ast = ast;
77
+ Obj.change(graph, (obj) => {
78
+ obj.query.ast = ast as Obj.Mutable<typeof ast>;
79
+ });
80
80
  }
81
81
  }
82
82
  }
83
83
 
84
- if (cell.name && cell.view?.target) {
85
- const view = Obj.getSnapshot(cell.view?.target);
86
- const query = Query.fromAst(view.query.ast);
87
- const result = await space?.db.query(query).run();
88
- const objectIds = result?.objects?.map((obj) => obj.id);
84
+ if (cell.name && cell.graph?.target) {
85
+ const graph = Obj.getSnapshot(cell.graph?.target);
86
+ const query = Query.fromAst(graph.query.ast);
87
+ const objects = await db.query(query).run();
88
+ const objectIds = objects?.map((obj) => obj.id);
89
89
  setQueryValues((prev) => ({ ...prev, [cell.name!]: objectIds }));
90
90
  }
91
91
  }
92
92
  }
93
- }, [space, notebook, graph]);
93
+ }, [db, notebook, graph]);
94
94
 
95
95
  const [promptResults, setPromptResults] = useState<Record<string, string>>({});
96
96
  const handleExecPrompts = useComputeRuntimeCallback(
97
- space,
97
+ db?.spaceId,
98
98
  Effect.fnUntraced(function* () {
99
99
  invariant(graph);
100
100
 
@@ -107,8 +107,12 @@ export const NotebookContainer = ({ notebook, env }: NotebookContainerProps) =>
107
107
  for (const prompt of prompts) {
108
108
  yield* runPrompt({
109
109
  prompt,
110
- input: { ...queryValues, ...graph.valuesByName.value },
111
- onResult: (result) => setPromptResults((prev) => ({ ...prev, [prompt.dxn.toString()]: result })),
110
+ input: { ...queryValues, ...graph.getValuesByName() },
111
+ onResult: (result) =>
112
+ setPromptResults((prev) => ({
113
+ ...prev,
114
+ [prompt.dxn.toString()]: result,
115
+ })),
112
116
  });
113
117
  }
114
118
  }),
@@ -129,10 +133,12 @@ export const NotebookContainer = ({ notebook, env }: NotebookContainerProps) =>
129
133
  const from = notebook.cells.findIndex((cell) => cell.id === source.id);
130
134
  const to = notebook.cells.findIndex((cell) => cell.id === target.id);
131
135
  if (from != null && to != null) {
132
- const cell = notebook.cells.splice(from, 1)[0];
133
- if (cell) {
134
- notebook.cells.splice(to, 0, cell);
135
- }
136
+ Obj.change(notebook, (obj) => {
137
+ const cell = obj.cells.splice(from, 1)[0];
138
+ if (cell) {
139
+ obj.cells.splice(to, 0, cell);
140
+ }
141
+ });
136
142
  }
137
143
  },
138
144
  [notebook],
@@ -141,19 +147,19 @@ export const NotebookContainer = ({ notebook, env }: NotebookContainerProps) =>
141
147
  const handleCellInsert = useCallback<NonNullable<NotebookStackProps['onCellInsert']>>(
142
148
  async (type, after) => {
143
149
  invariant(notebook);
144
- const cell: Notebook.Cell = { id: crypto.randomUUID(), type };
150
+ const cell: Types.Mutable<Notebook.Cell> = { id: crypto.randomUUID(), type };
145
151
  switch (type) {
146
152
  case 'markdown':
147
153
  case 'script':
148
154
  case 'query': {
149
- cell.source = Ref.make(DataType.makeText());
155
+ cell.source = Ref.make(Text.make());
150
156
  break;
151
157
  }
152
158
 
153
159
  case 'prompt': {
154
- if (space) {
155
- const result = await space.db.query(Query.select(Filter.type(Blueprint.Blueprint))).run();
156
- const blueprints = result.objects
160
+ if (db) {
161
+ const objects = await db.query(Query.select(Filter.type(Blueprint.Blueprint))).run();
162
+ const blueprints = objects
157
163
  .filter((blueprint) => INCLUDE_BLUEPRINTS.includes(blueprint.key))
158
164
  .map((blueprint) => Ref.make(blueprint));
159
165
  cell.prompt = Ref.make(Prompt.make({ instructions: '', blueprints }));
@@ -163,9 +169,11 @@ export const NotebookContainer = ({ notebook, env }: NotebookContainerProps) =>
163
169
  }
164
170
 
165
171
  const idx = after ? notebook.cells.findIndex((cell) => cell.id === after) : notebook.cells.length;
166
- notebook.cells.splice(idx, 0, cell);
172
+ Obj.change(notebook, (obj) => {
173
+ obj.cells.splice(idx, 0, cell);
174
+ });
167
175
  },
168
- [space, notebook],
176
+ [db, notebook],
169
177
  );
170
178
 
171
179
  const handleCellDelete = useCallback<NonNullable<NotebookStackProps['onCellDelete']>>(
@@ -173,33 +181,36 @@ export const NotebookContainer = ({ notebook, env }: NotebookContainerProps) =>
173
181
  invariant(notebook);
174
182
  const idx = notebook.cells.findIndex((cell) => cell.id === id);
175
183
  if (idx !== -1) {
176
- notebook.cells.splice(idx, 1);
184
+ Obj.change(notebook, (obj) => {
185
+ obj.cells.splice(idx, 1);
186
+ });
177
187
  }
178
188
  },
179
189
  [notebook],
180
190
  );
181
191
 
182
192
  return (
183
- <StackItem.Content toolbar>
184
- <Toolbar.Root disabled={!hasAttention} textBlockWidth>
185
- <DropdownMenu.Root>
186
- <DropdownMenu.Trigger asChild>
187
- <IconButton icon='ph--plus--regular' iconOnly label={t('notebook cell insert label')} />
188
- </DropdownMenu.Trigger>
189
- <NotebookMenu onCellInsert={handleCellInsert} />
190
- </DropdownMenu.Root>
191
- <Toolbar.IconButton
192
- icon='ph--play--fill'
193
- iconOnly
194
- label={t('compute label')}
195
- classNames='text-green-500'
196
- onClick={handleCompute}
197
- />
198
- </Toolbar.Root>
199
- <div role='none' className='flex bs-full overflow-hidden -mis-[1px] -mie-[1px]'>
193
+ <Panel.Root role={role} className='dx-document'>
194
+ <Panel.Toolbar asChild>
195
+ <Toolbar.Root disabled={!hasAttention}>
196
+ <DropdownMenu.Root>
197
+ <DropdownMenu.Trigger asChild>
198
+ <IconButton icon='ph--plus--regular' iconOnly label={t('notebook-cell-insert.label')} />
199
+ </DropdownMenu.Trigger>
200
+ <NotebookMenu onCellInsert={handleCellInsert} />
201
+ </DropdownMenu.Root>
202
+ <Toolbar.IconButton
203
+ icon='ph--play--fill'
204
+ iconOnly
205
+ label={t('compute.label')}
206
+ classNames='text-success-text'
207
+ onClick={handleCompute}
208
+ />
209
+ </Toolbar.Root>
210
+ </Panel.Toolbar>
211
+ <Panel.Content asChild>
200
212
  <NotebookStack
201
- classNames='container-max-width border-l border-r border-subduedSeparator'
202
- space={space}
213
+ db={db}
203
214
  notebook={notebook}
204
215
  graph={graph}
205
216
  env={env}
@@ -208,14 +219,12 @@ export const NotebookContainer = ({ notebook, env }: NotebookContainerProps) =>
208
219
  onCellInsert={handleCellInsert}
209
220
  onCellDelete={handleCellDelete}
210
221
  />
211
- </div>
212
- </StackItem.Content>
222
+ </Panel.Content>
223
+ </Panel.Root>
213
224
  );
214
225
  };
215
226
 
216
- export default NotebookContainer;
217
-
218
- // TODO(wittjosiah): Factor out. Copied from PromptContainer in stories-assistant.
227
+ // TODO(wittjosiah): Factor out. Copied from PromptArticle in plugin-assistant.
219
228
  const runPrompt = Effect.fn(function* ({
220
229
  prompt,
221
230
  input,
@@ -225,8 +234,8 @@ const runPrompt = Effect.fn(function* ({
225
234
  input: Record<string, any>;
226
235
  onResult: (result: string) => void;
227
236
  }) {
228
- const inputData: FunctionDefinition.Input<typeof Agent.prompt> = { prompt, input };
229
- const tracer = yield* InvocationTracer;
237
+ const inputData: Operation.Definition.Input<typeof AgentPrompt> = { prompt, input };
238
+ const tracer = yield* TracingService;
230
239
  const trace = yield* tracer.traceInvocationStart({
231
240
  target: undefined,
232
241
  payload: {
@@ -235,12 +244,8 @@ const runPrompt = Effect.fn(function* ({
235
244
  });
236
245
 
237
246
  // Invoke the function.
238
- const result = yield* FunctionInvocationService.invokeFunction(Agent.prompt, inputData).pipe(
239
- Effect.provide(
240
- ComputeEventLogger.layerFromTracing.pipe(
241
- Layer.provideMerge(TracingService.layerQueue(trace.invocationTraceQueue)),
242
- ),
243
- ),
247
+ const result = yield* FunctionInvocationService.invokeFunction(AgentPrompt, inputData).pipe(
248
+ Effect.provide(trace.invocationTraceQueue ? TracingService.layerInvocation(trace) : TracingService.layerNoop),
244
249
  Effect.exit,
245
250
  );
246
251
 
@@ -0,0 +1,7 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { NotebookContainer } from './NotebookContainer';
6
+
7
+ export default NotebookContainer;