@dxos/plugin-script 0.8.4-main.70d3990 → 0.8.4-main.7996785055

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 (508) hide show
  1. package/README.md +15 -13
  2. package/dist/lib/browser/DeploymentDialog-LGEGIX64.mjs +124 -0
  3. package/dist/lib/browser/DeploymentDialog-LGEGIX64.mjs.map +7 -0
  4. package/dist/lib/browser/{NotebookContainer-MHY3DXDE.mjs → NotebookContainer-CC3G32Q5.mjs} +281 -248
  5. package/dist/lib/browser/NotebookContainer-CC3G32Q5.mjs.map +7 -0
  6. package/dist/lib/browser/ScriptContainer-Z3MCPN2D.mjs +95 -0
  7. package/dist/lib/browser/ScriptContainer-Z3MCPN2D.mjs.map +7 -0
  8. package/dist/lib/browser/ScriptObjectSettings-LST7DUAN.mjs +297 -0
  9. package/dist/lib/browser/ScriptObjectSettings-LST7DUAN.mjs.map +7 -0
  10. package/dist/lib/browser/ScriptPluginSettings-IKWRISC3.mjs +55 -0
  11. package/dist/lib/browser/ScriptPluginSettings-IKWRISC3.mjs.map +7 -0
  12. package/dist/lib/browser/ScriptProperties-ZCRTZTAK.mjs +28 -0
  13. package/dist/lib/browser/ScriptProperties-ZCRTZTAK.mjs.map +7 -0
  14. package/dist/lib/browser/TestContainer-ACNQMKVU.mjs +61 -0
  15. package/dist/lib/browser/TestContainer-ACNQMKVU.mjs.map +7 -0
  16. package/dist/lib/browser/access-token-created-ZHVVOEL7.mjs +36 -0
  17. package/dist/lib/browser/access-token-created-ZHVVOEL7.mjs.map +7 -0
  18. package/dist/lib/browser/app-graph-builder-QPXX4YK5.mjs +63 -0
  19. package/dist/lib/browser/app-graph-builder-QPXX4YK5.mjs.map +7 -0
  20. package/dist/lib/browser/blueprint-definition-MC264VR5.mjs +17 -0
  21. package/dist/lib/browser/blueprint-definition-MC264VR5.mjs.map +7 -0
  22. package/dist/lib/browser/blueprints/index.mjs +8 -0
  23. package/dist/lib/browser/{chunk-EB6AXFXO.mjs → chunk-37XPSUAH.mjs} +3 -3
  24. package/dist/lib/browser/chunk-37XPSUAH.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-4XJSGCAS.mjs +742 -0
  26. package/dist/lib/browser/chunk-4XJSGCAS.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-7JI376EM.mjs +20 -0
  28. package/dist/lib/browser/chunk-7JI376EM.mjs.map +7 -0
  29. package/dist/lib/browser/{compiler-4KHRSX7J.mjs → chunk-ATTZUDT7.mjs} +14 -33
  30. package/dist/lib/browser/chunk-ATTZUDT7.mjs.map +7 -0
  31. package/dist/lib/browser/chunk-BHRCZLLU.mjs +105 -0
  32. package/dist/lib/browser/chunk-BHRCZLLU.mjs.map +7 -0
  33. package/dist/lib/browser/chunk-CMHREENI.mjs +8 -0
  34. package/dist/lib/browser/chunk-CMHREENI.mjs.map +7 -0
  35. package/dist/lib/browser/chunk-DBEYGFVF.mjs +400 -0
  36. package/dist/lib/browser/chunk-DBEYGFVF.mjs.map +7 -0
  37. package/dist/lib/browser/chunk-E6BQ4P6L.mjs +179 -0
  38. package/dist/lib/browser/chunk-E6BQ4P6L.mjs.map +7 -0
  39. package/dist/lib/browser/chunk-GB2HL4ZE.mjs +26 -0
  40. package/dist/lib/browser/chunk-GB2HL4ZE.mjs.map +7 -0
  41. package/dist/lib/browser/chunk-NQJRENSK.mjs +75 -0
  42. package/dist/lib/browser/chunk-NQJRENSK.mjs.map +7 -0
  43. package/dist/lib/browser/chunk-QLFFA4Y4.mjs +52 -0
  44. package/dist/lib/browser/chunk-QLFFA4Y4.mjs.map +7 -0
  45. package/dist/lib/browser/chunk-X44CJ7F5.mjs +11 -0
  46. package/dist/lib/browser/chunk-X44CJ7F5.mjs.map +7 -0
  47. package/dist/lib/browser/compiler-MZKFKYCG.mjs +98 -0
  48. package/dist/lib/browser/compiler-MZKFKYCG.mjs.map +7 -0
  49. package/dist/lib/browser/create-script-Z7J4HDV2.mjs +47 -0
  50. package/dist/lib/browser/create-script-Z7J4HDV2.mjs.map +7 -0
  51. package/dist/lib/browser/index.mjs +120 -120
  52. package/dist/lib/browser/index.mjs.map +4 -4
  53. package/dist/lib/browser/meta.json +1 -1
  54. package/dist/lib/browser/operation-handler-76AHUB5G.mjs +18 -0
  55. package/dist/lib/browser/operation-handler-76AHUB5G.mjs.map +7 -0
  56. package/dist/lib/browser/operations/index.mjs +14 -0
  57. package/dist/lib/browser/react-surface-2VVUIV66.mjs +145 -0
  58. package/dist/lib/browser/react-surface-2VVUIV66.mjs.map +7 -0
  59. package/dist/lib/browser/settings-BV3KXROF.mjs +35 -0
  60. package/dist/lib/browser/settings-BV3KXROF.mjs.map +7 -0
  61. package/dist/lib/browser/templates/index.mjs +1 -1
  62. package/dist/lib/browser/types/index.mjs +6 -5
  63. package/dist/lib/node-esm/DeploymentDialog-XSP2EDU2.mjs +125 -0
  64. package/dist/lib/node-esm/DeploymentDialog-XSP2EDU2.mjs.map +7 -0
  65. package/dist/lib/node-esm/{NotebookContainer-U4C2HQ4T.mjs → NotebookContainer-LNWMJD2D.mjs} +281 -248
  66. package/dist/lib/node-esm/NotebookContainer-LNWMJD2D.mjs.map +7 -0
  67. package/dist/lib/node-esm/ScriptContainer-TSU4DBGA.mjs +96 -0
  68. package/dist/lib/node-esm/ScriptContainer-TSU4DBGA.mjs.map +7 -0
  69. package/dist/lib/node-esm/ScriptObjectSettings-OGY7X3UE.mjs +298 -0
  70. package/dist/lib/node-esm/ScriptObjectSettings-OGY7X3UE.mjs.map +7 -0
  71. package/dist/lib/node-esm/ScriptPluginSettings-HIUSAHCP.mjs +56 -0
  72. package/dist/lib/node-esm/ScriptPluginSettings-HIUSAHCP.mjs.map +7 -0
  73. package/dist/lib/node-esm/ScriptProperties-I6SC4P3R.mjs +29 -0
  74. package/dist/lib/node-esm/ScriptProperties-I6SC4P3R.mjs.map +7 -0
  75. package/dist/lib/node-esm/TestContainer-WKISNRNU.mjs +62 -0
  76. package/dist/lib/node-esm/TestContainer-WKISNRNU.mjs.map +7 -0
  77. package/dist/lib/node-esm/access-token-created-7CGU7FXD.mjs +37 -0
  78. package/dist/lib/node-esm/access-token-created-7CGU7FXD.mjs.map +7 -0
  79. package/dist/lib/node-esm/app-graph-builder-GNGOYXIU.mjs +64 -0
  80. package/dist/lib/node-esm/app-graph-builder-GNGOYXIU.mjs.map +7 -0
  81. package/dist/lib/node-esm/blueprint-definition-DTRGTRZA.mjs +18 -0
  82. package/dist/lib/node-esm/blueprint-definition-DTRGTRZA.mjs.map +7 -0
  83. package/dist/lib/node-esm/blueprints/index.mjs +9 -0
  84. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  85. package/dist/lib/node-esm/chunk-2NGQCFVE.mjs +28 -0
  86. package/dist/lib/node-esm/chunk-2NGQCFVE.mjs.map +7 -0
  87. package/dist/lib/node-esm/chunk-4YAEFFW2.mjs +12 -0
  88. package/dist/lib/node-esm/chunk-4YAEFFW2.mjs.map +7 -0
  89. package/dist/lib/node-esm/chunk-C3GH2SDF.mjs +76 -0
  90. package/dist/lib/node-esm/chunk-C3GH2SDF.mjs.map +7 -0
  91. package/dist/lib/node-esm/chunk-CKYUNEE5.mjs +10 -0
  92. package/dist/lib/node-esm/chunk-CKYUNEE5.mjs.map +7 -0
  93. package/dist/lib/node-esm/{compiler-DU5NQISX.mjs → chunk-JGN7TDJH.mjs} +14 -32
  94. package/dist/lib/node-esm/chunk-JGN7TDJH.mjs.map +7 -0
  95. package/dist/lib/node-esm/{chunk-IBV2DR36.mjs → chunk-L3JLWXB5.mjs} +3 -3
  96. package/dist/lib/node-esm/chunk-L3JLWXB5.mjs.map +7 -0
  97. package/dist/lib/node-esm/chunk-L55OBVT5.mjs +53 -0
  98. package/dist/lib/node-esm/chunk-L55OBVT5.mjs.map +7 -0
  99. package/dist/lib/node-esm/chunk-P4Q2BPBB.mjs +22 -0
  100. package/dist/lib/node-esm/chunk-P4Q2BPBB.mjs.map +7 -0
  101. package/dist/lib/node-esm/chunk-RN2SMYCL.mjs +401 -0
  102. package/dist/lib/node-esm/chunk-RN2SMYCL.mjs.map +7 -0
  103. package/dist/lib/node-esm/chunk-RTM3D4T5.mjs +181 -0
  104. package/dist/lib/node-esm/chunk-RTM3D4T5.mjs.map +7 -0
  105. package/dist/lib/node-esm/chunk-SV742UH7.mjs +743 -0
  106. package/dist/lib/node-esm/chunk-SV742UH7.mjs.map +7 -0
  107. package/dist/lib/node-esm/chunk-Y5VWHRVU.mjs +107 -0
  108. package/dist/lib/node-esm/chunk-Y5VWHRVU.mjs.map +7 -0
  109. package/dist/lib/node-esm/compiler-QBWP7ERK.mjs +99 -0
  110. package/dist/lib/node-esm/compiler-QBWP7ERK.mjs.map +7 -0
  111. package/dist/lib/node-esm/create-script-TAJHVROB.mjs +48 -0
  112. package/dist/lib/node-esm/create-script-TAJHVROB.mjs.map +7 -0
  113. package/dist/lib/node-esm/index.mjs +120 -120
  114. package/dist/lib/node-esm/index.mjs.map +4 -4
  115. package/dist/lib/node-esm/meta.json +1 -1
  116. package/dist/lib/node-esm/operation-handler-OUROH3T7.mjs +19 -0
  117. package/dist/lib/node-esm/operation-handler-OUROH3T7.mjs.map +7 -0
  118. package/dist/lib/node-esm/operations/index.mjs +15 -0
  119. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  120. package/dist/lib/node-esm/react-surface-OJ55GFCP.mjs +146 -0
  121. package/dist/lib/node-esm/react-surface-OJ55GFCP.mjs.map +7 -0
  122. package/dist/lib/node-esm/settings-2TK3XPLD.mjs +36 -0
  123. package/dist/lib/node-esm/settings-2TK3XPLD.mjs.map +7 -0
  124. package/dist/lib/node-esm/templates/index.mjs +1 -1
  125. package/dist/lib/node-esm/types/index.mjs +6 -5
  126. package/dist/types/src/ScriptPlugin.d.ts +2 -1
  127. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  128. package/dist/types/src/blueprints/index.d.ts +2 -0
  129. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  130. package/dist/types/src/blueprints/script-blueprint.d.ts +4 -0
  131. package/dist/types/src/blueprints/script-blueprint.d.ts.map +1 -0
  132. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  133. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  134. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  135. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  136. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts +12 -0
  137. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +1 -0
  138. package/dist/types/src/capabilities/artifact-definition/index.d.ts +3 -0
  139. package/dist/types/src/capabilities/artifact-definition/index.d.ts.map +1 -0
  140. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +6 -0
  141. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
  142. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
  143. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
  144. package/dist/types/src/capabilities/compiler/compiler.d.ts +6 -0
  145. package/dist/types/src/capabilities/compiler/compiler.d.ts.map +1 -0
  146. package/dist/types/src/capabilities/compiler/index.d.ts +3 -0
  147. package/dist/types/src/capabilities/compiler/index.d.ts.map +1 -0
  148. package/dist/types/src/capabilities/index.d.ts +6 -7
  149. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  150. package/dist/types/src/capabilities/operation-handler/index.d.ts +4 -0
  151. package/dist/types/src/capabilities/operation-handler/index.d.ts.map +1 -0
  152. package/dist/types/src/capabilities/operation-handler/operation-handler.d.ts +6 -0
  153. package/dist/types/src/capabilities/operation-handler/operation-handler.d.ts.map +1 -0
  154. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  155. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  156. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  157. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  158. package/dist/types/src/capabilities/settings/index.d.ts +7 -0
  159. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  160. package/dist/types/src/capabilities/settings/settings.d.ts +10 -0
  161. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  162. package/dist/types/src/compiler/compiler.d.ts +1 -1
  163. package/dist/types/src/compiler/compiler.d.ts.map +1 -1
  164. package/dist/types/src/components/{FrameContainer/FrameContainer.d.ts → FramePanel/FramePanel.d.ts} +3 -3
  165. package/dist/types/src/components/FramePanel/FramePanel.d.ts.map +1 -0
  166. package/dist/types/src/components/FramePanel/index.d.ts +2 -0
  167. package/dist/types/src/components/FramePanel/index.d.ts.map +1 -0
  168. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts +3 -3
  169. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -1
  170. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +8 -2
  171. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -1
  172. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +5 -1
  173. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -1
  174. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts +5 -0
  175. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts.map +1 -0
  176. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts +13 -0
  177. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts.map +1 -0
  178. package/dist/types/src/components/QueryEditor/index.d.ts +2 -0
  179. package/dist/types/src/components/QueryEditor/index.d.ts.map +1 -0
  180. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +11 -5
  181. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  182. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +5 -1
  183. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  184. package/dist/types/src/components/TestPanel/TestPanel.d.ts +8 -2
  185. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
  186. package/dist/types/src/components/TestPanel/index.d.ts +0 -1
  187. package/dist/types/src/components/TestPanel/index.d.ts.map +1 -1
  188. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +9 -2
  189. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  190. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +7 -1
  191. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  192. package/dist/types/src/components/index.d.ts +4 -5
  193. package/dist/types/src/components/index.d.ts.map +1 -1
  194. package/dist/types/src/constants.d.ts +2 -0
  195. package/dist/types/src/constants.d.ts.map +1 -0
  196. package/dist/types/src/{components → containers}/DeploymentDialog/DeploymentDialog.d.ts +0 -2
  197. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.d.ts.map +1 -0
  198. package/dist/types/src/{components → containers}/DeploymentDialog/DeploymentDialog.stories.d.ts +4 -3
  199. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -0
  200. package/dist/types/src/containers/DeploymentDialog/index.d.ts +3 -0
  201. package/dist/types/src/containers/DeploymentDialog/index.d.ts.map +1 -0
  202. package/dist/types/src/containers/NotebookContainer/NotebookContainer.d.ts +7 -0
  203. package/dist/types/src/containers/NotebookContainer/NotebookContainer.d.ts.map +1 -0
  204. package/dist/types/src/containers/NotebookContainer/NotebookContainer.stories.d.ts +7 -0
  205. package/dist/types/src/containers/NotebookContainer/NotebookContainer.stories.d.ts.map +1 -0
  206. package/dist/types/src/containers/NotebookContainer/index.d.ts +3 -0
  207. package/dist/types/src/containers/NotebookContainer/index.d.ts.map +1 -0
  208. package/dist/types/src/containers/ScriptContainer/ScriptContainer.d.ts +10 -0
  209. package/dist/types/src/containers/ScriptContainer/ScriptContainer.d.ts.map +1 -0
  210. package/dist/types/src/containers/ScriptContainer/index.d.ts +3 -0
  211. package/dist/types/src/containers/ScriptContainer/index.d.ts.map +1 -0
  212. package/dist/types/src/{components/Settings → containers/ScriptObjectSettings}/ScriptObjectSettings.d.ts +0 -1
  213. package/dist/types/src/containers/ScriptObjectSettings/ScriptObjectSettings.d.ts.map +1 -0
  214. package/dist/types/src/containers/ScriptObjectSettings/index.d.ts +3 -0
  215. package/dist/types/src/containers/ScriptObjectSettings/index.d.ts.map +1 -0
  216. package/dist/types/src/containers/ScriptPluginSettings/ScriptPluginSettings.d.ts +8 -0
  217. package/dist/types/src/containers/ScriptPluginSettings/ScriptPluginSettings.d.ts.map +1 -0
  218. package/dist/types/src/containers/ScriptPluginSettings/index.d.ts +3 -0
  219. package/dist/types/src/containers/ScriptPluginSettings/index.d.ts.map +1 -0
  220. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts +7 -0
  221. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts.map +1 -0
  222. package/dist/types/src/containers/ScriptProperties/index.d.ts +3 -0
  223. package/dist/types/src/containers/ScriptProperties/index.d.ts.map +1 -0
  224. package/dist/types/src/{components/TestPanel → containers/TestContainer}/TestContainer.d.ts +1 -1
  225. package/dist/types/src/containers/TestContainer/TestContainer.d.ts.map +1 -0
  226. package/dist/types/src/containers/TestContainer/index.d.ts +3 -0
  227. package/dist/types/src/containers/TestContainer/index.d.ts.map +1 -0
  228. package/dist/types/src/containers/index.d.ts +9 -0
  229. package/dist/types/src/containers/index.d.ts.map +1 -0
  230. package/dist/types/src/e2e/ai.test.d.ts +2 -0
  231. package/dist/types/src/e2e/ai.test.d.ts.map +1 -0
  232. package/dist/types/src/e2e/deploy.test.d.ts +2 -0
  233. package/dist/types/src/e2e/deploy.test.d.ts.map +1 -0
  234. package/dist/types/src/hooks/deploy.d.ts +14 -29
  235. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  236. package/dist/types/src/hooks/format.d.ts +3 -2
  237. package/dist/types/src/hooks/format.d.ts.map +1 -1
  238. package/dist/types/src/hooks/index.d.ts +1 -0
  239. package/dist/types/src/hooks/index.d.ts.map +1 -1
  240. package/dist/types/src/hooks/template.d.ts +3 -2
  241. package/dist/types/src/hooks/template.d.ts.map +1 -1
  242. package/dist/types/src/hooks/useCompiler.d.ts +7 -0
  243. package/dist/types/src/hooks/useCompiler.d.ts.map +1 -0
  244. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  245. package/dist/types/src/hooks/useToolbarState.d.ts +8 -1
  246. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  247. package/dist/types/src/index.d.ts +2 -1
  248. package/dist/types/src/index.d.ts.map +1 -1
  249. package/dist/types/src/meta.d.ts +2 -2
  250. package/dist/types/src/meta.d.ts.map +1 -1
  251. package/dist/types/src/notebook/compute-graph.d.ts +24 -11
  252. package/dist/types/src/notebook/compute-graph.d.ts.map +1 -1
  253. package/dist/types/src/operations/access-token-created.d.ts +5 -0
  254. package/dist/types/src/operations/access-token-created.d.ts.map +1 -0
  255. package/dist/types/src/operations/create-script.d.ts +5 -0
  256. package/dist/types/src/operations/create-script.d.ts.map +1 -0
  257. package/dist/types/src/operations/definitions.d.ts +28 -0
  258. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  259. package/dist/types/src/operations/index.d.ts +4 -0
  260. package/dist/types/src/operations/index.d.ts.map +1 -0
  261. package/dist/types/src/templates/anthropic.d.ts +7 -0
  262. package/dist/types/src/templates/anthropic.d.ts.map +1 -0
  263. package/dist/types/src/templates/chess-bot.d.ts +18 -0
  264. package/dist/types/src/templates/chess-bot.d.ts.map +1 -0
  265. package/dist/types/src/templates/commentary.d.ts +19 -0
  266. package/dist/types/src/templates/commentary.d.ts.map +1 -0
  267. package/dist/types/src/templates/forex-effect.d.ts +5 -1
  268. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  269. package/dist/types/src/templates/forex.d.ts +5 -1
  270. package/dist/types/src/templates/forex.d.ts.map +1 -1
  271. package/dist/types/src/templates/index.d.ts +25 -16
  272. package/dist/types/src/templates/index.d.ts.map +1 -1
  273. package/dist/types/src/templates/ping.d.ts +2 -4
  274. package/dist/types/src/templates/ping.d.ts.map +1 -1
  275. package/dist/types/src/testing/simulator.test.d.ts +2 -0
  276. package/dist/types/src/testing/simulator.test.d.ts.map +1 -0
  277. package/dist/types/src/translations.d.ts +2 -0
  278. package/dist/types/src/translations.d.ts.map +1 -1
  279. package/dist/types/src/types/Notebook.d.ts +100 -21
  280. package/dist/types/src/types/Notebook.d.ts.map +1 -1
  281. package/dist/types/src/types/capabilities.d.ts +12 -0
  282. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  283. package/dist/types/src/types/events.d.ts +5 -0
  284. package/dist/types/src/types/events.d.ts.map +1 -0
  285. package/dist/types/src/types/index.d.ts +2 -1
  286. package/dist/types/src/types/index.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 +125 -88
  293. package/src/ScriptPlugin.tsx +60 -70
  294. package/src/blueprints/index.ts +5 -0
  295. package/src/blueprints/script-blueprint.ts +28 -0
  296. package/src/capabilities/app-graph-builder/app-graph-builder.ts +56 -0
  297. package/src/capabilities/app-graph-builder/index.ts +7 -0
  298. package/src/capabilities/{artifact-definition.ts → artifact-definition/artifact-definition.ts} +97 -94
  299. package/src/capabilities/artifact-definition/index.ts +7 -0
  300. package/src/capabilities/blueprint-definition/blueprint-definition.ts +17 -0
  301. package/src/capabilities/blueprint-definition/index.ts +7 -0
  302. package/src/capabilities/compiler/compiler.ts +103 -0
  303. package/src/capabilities/compiler/index.ts +7 -0
  304. package/src/capabilities/index.ts +6 -10
  305. package/src/capabilities/operation-handler/index.ts +11 -0
  306. package/src/capabilities/operation-handler/operation-handler.ts +16 -0
  307. package/src/capabilities/react-surface/index.ts +7 -0
  308. package/src/capabilities/react-surface/react-surface.tsx +138 -0
  309. package/src/capabilities/settings/index.ts +7 -0
  310. package/src/capabilities/settings/settings.ts +33 -0
  311. package/src/compiler/compiler.ts +10 -3
  312. package/src/components/{FrameContainer/FrameContainer.tsx → FramePanel/FramePanel.tsx} +7 -6
  313. package/src/components/{FrameContainer → FramePanel}/index.ts +1 -1
  314. package/src/components/NotebookStack/NotebookCell.tsx +23 -24
  315. package/src/components/NotebookStack/NotebookStack.stories.tsx +20 -21
  316. package/src/components/NotebookStack/NotebookStack.tsx +27 -16
  317. package/src/components/QueryEditor/QueryEditor.stories.tsx +96 -0
  318. package/src/components/QueryEditor/QueryEditor.tsx +47 -0
  319. package/src/components/QueryEditor/index.ts +5 -0
  320. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +39 -17
  321. package/src/components/ScriptToolbar/ScriptToolbar.tsx +35 -40
  322. package/src/components/TestPanel/TestPanel.tsx +106 -186
  323. package/src/components/TestPanel/index.ts +0 -1
  324. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +23 -16
  325. package/src/components/TypescriptEditor/TypescriptEditor.tsx +73 -65
  326. package/src/components/index.ts +4 -9
  327. package/src/constants.ts +7 -0
  328. package/src/{components → containers}/DeploymentDialog/DeploymentDialog.stories.tsx +29 -24
  329. package/src/containers/DeploymentDialog/DeploymentDialog.tsx +98 -0
  330. package/src/containers/DeploymentDialog/index.ts +7 -0
  331. package/src/{components → containers/NotebookContainer}/NotebookContainer.stories.tsx +30 -29
  332. package/src/{components → containers/NotebookContainer}/NotebookContainer.tsx +84 -76
  333. package/src/containers/NotebookContainer/index.ts +7 -0
  334. package/src/containers/ScriptContainer/ScriptContainer.tsx +85 -0
  335. package/src/containers/ScriptContainer/index.ts +7 -0
  336. package/src/{components/Settings → containers/ScriptObjectSettings}/ScriptObjectSettings.tsx +61 -64
  337. package/src/containers/ScriptObjectSettings/index.ts +7 -0
  338. package/src/{components/Settings → containers/ScriptPluginSettings}/ScriptPluginSettings.tsx +19 -14
  339. package/src/containers/ScriptPluginSettings/index.ts +7 -0
  340. package/src/containers/ScriptProperties/ScriptProperties.tsx +33 -0
  341. package/src/containers/ScriptProperties/index.ts +7 -0
  342. package/src/containers/TestContainer/TestContainer.tsx +45 -0
  343. package/src/containers/TestContainer/index.ts +7 -0
  344. package/src/containers/index.ts +13 -0
  345. package/src/e2e/ai.test.ts +93 -0
  346. package/src/e2e/deploy.test.ts +65 -0
  347. package/src/hooks/deploy.ts +39 -31
  348. package/src/hooks/format.ts +6 -1
  349. package/src/hooks/index.ts +1 -0
  350. package/src/hooks/template.ts +17 -11
  351. package/src/hooks/useCompiler.ts +24 -0
  352. package/src/hooks/useCreateAndDeployScriptTemplates.ts +13 -19
  353. package/src/hooks/useToolbarState.ts +29 -4
  354. package/src/index.ts +2 -1
  355. package/src/meta.ts +4 -4
  356. package/src/notebook/compute-graph.test.ts +20 -8
  357. package/src/notebook/compute-graph.ts +45 -21
  358. package/src/operations/access-token-created.ts +36 -0
  359. package/src/operations/create-script.ts +47 -0
  360. package/src/operations/definitions.ts +40 -0
  361. package/src/operations/index.ts +12 -0
  362. package/src/templates/anthropic.ts +49 -0
  363. package/src/templates/chat.ts +1 -1
  364. package/src/templates/chess-bot.ts +61 -0
  365. package/src/templates/commentary.ts +243 -0
  366. package/src/templates/data-generator.ts +2 -2
  367. package/src/templates/discord.ts +3 -3
  368. package/src/templates/forex-effect.ts +35 -29
  369. package/src/templates/forex.ts +27 -17
  370. package/src/templates/gmail.ts +4 -4
  371. package/src/templates/index.ts +31 -18
  372. package/src/templates/ping.ts +22 -5
  373. package/src/testing/simulator.test.ts +40 -0
  374. package/src/translations.ts +2 -0
  375. package/src/types/Notebook.ts +16 -13
  376. package/src/types/capabilities.ts +17 -0
  377. package/src/types/events.ts +11 -0
  378. package/src/types/index.ts +2 -1
  379. package/src/types/types.ts +1 -1
  380. package/src/util/deploy.ts +24 -28
  381. package/src/util/functions.ts +27 -24
  382. package/src/vite-env.d.ts +2 -0
  383. package/dist/lib/browser/DeploymentDialog-5TKNGPVR.mjs +0 -14
  384. package/dist/lib/browser/NotebookContainer-MHY3DXDE.mjs.map +0 -7
  385. package/dist/lib/browser/ScriptContainer-CW6YN3DQ.mjs +0 -148
  386. package/dist/lib/browser/ScriptContainer-CW6YN3DQ.mjs.map +0 -7
  387. package/dist/lib/browser/app-graph-builder-2WR2ATTJ.mjs +0 -66
  388. package/dist/lib/browser/app-graph-builder-2WR2ATTJ.mjs.map +0 -7
  389. package/dist/lib/browser/blueprint-definition-6PZWZM2Y.mjs +0 -30
  390. package/dist/lib/browser/blueprint-definition-6PZWZM2Y.mjs.map +0 -7
  391. package/dist/lib/browser/chunk-2G2NA6DQ.mjs +0 -88
  392. package/dist/lib/browser/chunk-2G2NA6DQ.mjs.map +0 -7
  393. package/dist/lib/browser/chunk-ALS6X4HU.mjs +0 -304
  394. package/dist/lib/browser/chunk-ALS6X4HU.mjs.map +0 -7
  395. package/dist/lib/browser/chunk-EB6AXFXO.mjs.map +0 -7
  396. package/dist/lib/browser/chunk-M6KJPUJK.mjs +0 -111
  397. package/dist/lib/browser/chunk-M6KJPUJK.mjs.map +0 -7
  398. package/dist/lib/browser/chunk-N5EYLQOT.mjs +0 -647
  399. package/dist/lib/browser/chunk-N5EYLQOT.mjs.map +0 -7
  400. package/dist/lib/browser/chunk-QIZ3BPRK.mjs +0 -103
  401. package/dist/lib/browser/chunk-QIZ3BPRK.mjs.map +0 -7
  402. package/dist/lib/browser/chunk-SAN5Y7FI.mjs +0 -155
  403. package/dist/lib/browser/chunk-SAN5Y7FI.mjs.map +0 -7
  404. package/dist/lib/browser/chunk-ULJFT73Q.mjs +0 -513
  405. package/dist/lib/browser/chunk-ULJFT73Q.mjs.map +0 -7
  406. package/dist/lib/browser/chunk-UOQ6NCH3.mjs +0 -15
  407. package/dist/lib/browser/chunk-UOQ6NCH3.mjs.map +0 -7
  408. package/dist/lib/browser/compiler-4KHRSX7J.mjs.map +0 -7
  409. package/dist/lib/browser/intent-resolver-TXTBWOVD.mjs +0 -104
  410. package/dist/lib/browser/intent-resolver-TXTBWOVD.mjs.map +0 -7
  411. package/dist/lib/browser/react-surface-R245YN52.mjs +0 -128
  412. package/dist/lib/browser/react-surface-R245YN52.mjs.map +0 -7
  413. package/dist/lib/browser/settings-MHJXRGDF.mjs +0 -26
  414. package/dist/lib/browser/settings-MHJXRGDF.mjs.map +0 -7
  415. package/dist/lib/node-esm/DeploymentDialog-2ULNOZQH.mjs +0 -15
  416. package/dist/lib/node-esm/NotebookContainer-U4C2HQ4T.mjs.map +0 -7
  417. package/dist/lib/node-esm/ScriptContainer-VRPEKB4T.mjs +0 -149
  418. package/dist/lib/node-esm/ScriptContainer-VRPEKB4T.mjs.map +0 -7
  419. package/dist/lib/node-esm/app-graph-builder-NCVLUL5R.mjs +0 -67
  420. package/dist/lib/node-esm/app-graph-builder-NCVLUL5R.mjs.map +0 -7
  421. package/dist/lib/node-esm/blueprint-definition-5R6YCSZZ.mjs +0 -31
  422. package/dist/lib/node-esm/blueprint-definition-5R6YCSZZ.mjs.map +0 -7
  423. package/dist/lib/node-esm/chunk-55JZVM6K.mjs +0 -16
  424. package/dist/lib/node-esm/chunk-55JZVM6K.mjs.map +0 -7
  425. package/dist/lib/node-esm/chunk-57JA6XL5.mjs +0 -90
  426. package/dist/lib/node-esm/chunk-57JA6XL5.mjs.map +0 -7
  427. package/dist/lib/node-esm/chunk-HDKR5WCD.mjs +0 -113
  428. package/dist/lib/node-esm/chunk-HDKR5WCD.mjs.map +0 -7
  429. package/dist/lib/node-esm/chunk-IBV2DR36.mjs.map +0 -7
  430. package/dist/lib/node-esm/chunk-ND4BPYPR.mjs +0 -156
  431. package/dist/lib/node-esm/chunk-ND4BPYPR.mjs.map +0 -7
  432. package/dist/lib/node-esm/chunk-UEVZP5DN.mjs +0 -648
  433. package/dist/lib/node-esm/chunk-UEVZP5DN.mjs.map +0 -7
  434. package/dist/lib/node-esm/chunk-VJSRZRLI.mjs +0 -514
  435. package/dist/lib/node-esm/chunk-VJSRZRLI.mjs.map +0 -7
  436. package/dist/lib/node-esm/chunk-VTRMJSQL.mjs +0 -305
  437. package/dist/lib/node-esm/chunk-VTRMJSQL.mjs.map +0 -7
  438. package/dist/lib/node-esm/chunk-XYKKDWUR.mjs +0 -104
  439. package/dist/lib/node-esm/chunk-XYKKDWUR.mjs.map +0 -7
  440. package/dist/lib/node-esm/compiler-DU5NQISX.mjs.map +0 -7
  441. package/dist/lib/node-esm/intent-resolver-D6AVAQRA.mjs +0 -105
  442. package/dist/lib/node-esm/intent-resolver-D6AVAQRA.mjs.map +0 -7
  443. package/dist/lib/node-esm/react-surface-MHT3PJ6C.mjs +0 -129
  444. package/dist/lib/node-esm/react-surface-MHT3PJ6C.mjs.map +0 -7
  445. package/dist/lib/node-esm/settings-BVJORMMJ.mjs +0 -27
  446. package/dist/lib/node-esm/settings-BVJORMMJ.mjs.map +0 -7
  447. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  448. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  449. package/dist/types/src/capabilities/artifact-definition.d.ts +0 -11
  450. package/dist/types/src/capabilities/artifact-definition.d.ts.map +0 -1
  451. package/dist/types/src/capabilities/blueprint-definition.d.ts +0 -5
  452. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +0 -1
  453. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  454. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  455. package/dist/types/src/capabilities/compiler.d.ts +0 -4
  456. package/dist/types/src/capabilities/compiler.d.ts.map +0 -1
  457. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  458. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  459. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  460. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  461. package/dist/types/src/capabilities/settings.d.ts +0 -4
  462. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  463. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +0 -1
  464. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +0 -1
  465. package/dist/types/src/components/DeploymentDialog/index.d.ts +0 -4
  466. package/dist/types/src/components/DeploymentDialog/index.d.ts.map +0 -1
  467. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +0 -1
  468. package/dist/types/src/components/FrameContainer/frame.d.ts +0 -2
  469. package/dist/types/src/components/FrameContainer/frame.d.ts.map +0 -1
  470. package/dist/types/src/components/FrameContainer/index.d.ts +0 -2
  471. package/dist/types/src/components/FrameContainer/index.d.ts.map +0 -1
  472. package/dist/types/src/components/NotebookContainer.d.ts +0 -10
  473. package/dist/types/src/components/NotebookContainer.d.ts.map +0 -1
  474. package/dist/types/src/components/NotebookContainer.stories.d.ts +0 -254
  475. package/dist/types/src/components/NotebookContainer.stories.d.ts.map +0 -1
  476. package/dist/types/src/components/ScriptContainer.d.ts +0 -12
  477. package/dist/types/src/components/ScriptContainer.d.ts.map +0 -1
  478. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +0 -1
  479. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts +0 -6
  480. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +0 -1
  481. package/dist/types/src/components/Settings/index.d.ts +0 -3
  482. package/dist/types/src/components/Settings/index.d.ts.map +0 -1
  483. package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +0 -1
  484. package/dist/types/src/events.d.ts +0 -4
  485. package/dist/types/src/events.d.ts.map +0 -1
  486. package/dist/types/src/templates/chess.d.ts +0 -3
  487. package/dist/types/src/templates/chess.d.ts.map +0 -1
  488. package/dist/types/src/types/actions.d.ts +0 -54
  489. package/dist/types/src/types/actions.d.ts.map +0 -1
  490. package/src/capabilities/app-graph-builder.ts +0 -65
  491. package/src/capabilities/blueprint-definition.ts +0 -30
  492. package/src/capabilities/capabilities.ts +0 -12
  493. package/src/capabilities/compiler.ts +0 -34
  494. package/src/capabilities/intent-resolver.ts +0 -86
  495. package/src/capabilities/react-surface.tsx +0 -103
  496. package/src/capabilities/settings.ts +0 -21
  497. package/src/components/DeploymentDialog/DeploymentDialog.tsx +0 -123
  498. package/src/components/DeploymentDialog/index.ts +0 -9
  499. package/src/components/FrameContainer/frame.html +0 -25
  500. package/src/components/FrameContainer/frame.tsx +0 -51
  501. package/src/components/ScriptContainer.tsx +0 -70
  502. package/src/components/Settings/index.ts +0 -6
  503. package/src/components/TestPanel/TestContainer.tsx +0 -27
  504. package/src/events.ts +0 -11
  505. package/src/templates/chess.ts +0 -49
  506. package/src/types/actions.ts +0 -53
  507. /package/dist/lib/browser/{DeploymentDialog-5TKNGPVR.mjs.map → blueprints/index.mjs.map} +0 -0
  508. /package/dist/lib/{node-esm/DeploymentDialog-2ULNOZQH.mjs.map → browser/operations/index.mjs.map} +0 -0
@@ -12,6 +12,8 @@ import ts from 'typescript';
12
12
 
13
13
  import { invariant } from '@dxos/invariant';
14
14
 
15
+ const GLOBALS = 'globals.d.ts';
16
+
15
17
  const defaultOptions: ts.CompilerOptions = {
16
18
  lib: ['DOM', 'es2022'],
17
19
  target: ts.ScriptTarget.ES2022,
@@ -23,16 +25,21 @@ export class Compiler {
23
25
 
24
26
  constructor(private readonly _options: ts.CompilerOptions = defaultOptions) {}
25
27
 
26
- async initialize(): Promise<void> {
28
+ async initialize(globals?: string): Promise<void> {
27
29
  if (this._env) {
28
30
  return;
29
31
  }
30
32
 
31
33
  // TODO(wittjosiah): Figure out how to get workers working in plugin packages.
32
34
  // https://github.com/val-town/codemirror-ts?tab=readme-ov-file#setup-worker
33
- this._fsMap = await createDefaultMapFromCDN(this._options, '5.5.4', true, ts);
35
+ this._fsMap = await createDefaultMapFromCDN(this._options, '5.7.2', true, ts);
36
+ if (globals) {
37
+ this._fsMap.set(GLOBALS, globals);
38
+ }
39
+
40
+ const rootFiles = globals ? [GLOBALS] : [];
34
41
  const system = createSystem(this._fsMap);
35
- this._env = createVirtualTypeScriptEnvironment(system, [], ts, this._options);
42
+ this._env = createVirtualTypeScriptEnvironment(system, rootFiles, ts, this._options);
36
43
  }
37
44
 
38
45
  get environment() {
@@ -9,11 +9,11 @@ import { type BundleResult } from '@dxos/functions-runtime/bundler';
9
9
  import { invariant } from '@dxos/invariant';
10
10
  import { log } from '@dxos/log';
11
11
  import { useClient } from '@dxos/react-client';
12
- import { baseSurface, mx } from '@dxos/react-ui-theme';
13
12
  import { createProtoRpcPeer } from '@dxos/rpc';
14
13
  import { createIFramePort } from '@dxos/rpc-tunnel';
14
+ import { mx } from '@dxos/ui-theme';
15
15
 
16
- export type FrameContainerProps = {
16
+ export type FramePanelProps = {
17
17
  containerUrl: string;
18
18
  result: BundleResult;
19
19
  debug?: boolean;
@@ -22,7 +22,7 @@ export type FrameContainerProps = {
22
22
  /**
23
23
  * IFrame container for the compiled script.
24
24
  */
25
- export const FrameContainer = ({ containerUrl, result, debug = true }: FrameContainerProps) => {
25
+ export const FramePanel = ({ containerUrl, result, debug = true }: FramePanelProps) => {
26
26
  const client = useClient();
27
27
  const iframeRef = useRef<HTMLIFrameElement>(null);
28
28
  useEffect(() => {
@@ -49,7 +49,9 @@ export const FrameContainer = ({ containerUrl, result, debug = true }: FrameCont
49
49
  invariant(result.sourceHash, 'Source hash is required.');
50
50
  const sourceHash = Buffer.from(result.sourceHash).toString('hex');
51
51
  const src =
52
- 'bundle' in result ? `${containerUrl}?ts=${sourceHash}#code=${encodeURIComponent(result.bundle)}` : undefined;
52
+ 'bundle' in result
53
+ ? `${containerUrl}?ts=${sourceHash}#code=${encodeURIComponent(new TextDecoder().decode(Object.values(result.bundle as any)[0] as Uint8Array))}`
54
+ : undefined;
53
55
 
54
56
  return (
55
57
  <>
@@ -59,8 +61,7 @@ export const FrameContainer = ({ containerUrl, result, debug = true }: FrameCont
59
61
  <div className='relative'>
60
62
  <div
61
63
  className={mx(
62
- baseSurface,
63
- 'flex absolute right-2 bottom-2 is-[30rem] bs-[200px] ring rounded',
64
+ 'flex absolute right-2 bottom-2 w-[30rem] h-[200px] bg-base-surface ring rounded-sm',
64
65
  'z-20 overflow-x-hidden overflow-y-auto',
65
66
  )}
66
67
  >
@@ -2,4 +2,4 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- export * from './FrameContainer';
5
+ export * from './FramePanel';
@@ -4,24 +4,23 @@
4
4
 
5
5
  import React, { useCallback, useMemo } from 'react';
6
6
 
7
- import { Surface } from '@dxos/app-framework/react';
7
+ import { Surface } from '@dxos/app-framework/ui';
8
+ import { type Database, Obj } from '@dxos/echo';
8
9
  import { createDocAccessor } from '@dxos/echo-db';
9
10
  import { invariant } from '@dxos/invariant';
10
11
  import { TemplateEditor } from '@dxos/plugin-assistant';
11
- import { type Space } from '@dxos/react-client/echo';
12
12
  import { useThemeContext, useTranslation } from '@dxos/react-ui';
13
13
  import { QueryEditor, type QueryEditorProps } from '@dxos/react-ui-components';
14
+ import { EditorContent, type EditorContentProps } from '@dxos/react-ui-editor';
14
15
  import {
15
16
  type BasicExtensionsOptions,
16
- EditorContent,
17
- type EditorContentProps,
18
17
  createBasicExtensions,
19
18
  createDataExtensions,
20
19
  createMarkdownExtensions,
21
20
  createThemeExtensions,
22
21
  decorateMarkdown,
23
- } from '@dxos/react-ui-editor';
24
- import { mx } from '@dxos/react-ui-theme';
22
+ } from '@dxos/ui-editor';
23
+ import { mx } from '@dxos/ui-theme';
25
24
  import { isNonNullable } from '@dxos/util';
26
25
 
27
26
  import { meta } from '../../meta';
@@ -31,11 +30,11 @@ import { TypescriptEditor, type TypescriptEditorProps } from '../TypescriptEdito
31
30
 
32
31
  import { type NotebookMenuProps } from './NotebookMenu';
33
32
 
34
- const editorStyles = 'p-2 pis-3';
35
- const valueStyles = 'p-1 pis-3';
33
+ const editorStyles = 'p-2 ps-3';
34
+ const valueStyles = 'p-1 ps-3';
36
35
 
37
36
  export type NotebookCellProps = {
38
- space?: Space;
37
+ db?: Database.Database;
39
38
  graph?: ComputeGraph;
40
39
  dragging?: boolean;
41
40
  cell: Notebook.Cell;
@@ -43,7 +42,7 @@ export type NotebookCellProps = {
43
42
  } & (Pick<NotebookMenuProps, 'onCellInsert' | 'onCellDelete'> & Pick<TypescriptEditorProps, 'env'>);
44
43
 
45
44
  // TODO(burdon): Show evaluation errors.
46
- export const NotebookCell = ({ space, graph, dragging, cell, promptResults, env }: NotebookCellProps) => {
45
+ export const NotebookCell = ({ db, graph, dragging, cell, promptResults, env }: NotebookCellProps) => {
47
46
  const { t } = useTranslation(meta.id);
48
47
 
49
48
  const extensions = useMemo(() => {
@@ -62,7 +61,9 @@ export const NotebookCell = ({ space, graph, dragging, cell, promptResults, env
62
61
  const handleQueryChange = useCallback<NonNullable<QueryEditorProps['onChange']>>(
63
62
  (value: string) => {
64
63
  invariant(cell.source?.target);
65
- cell.source.target.content = value;
64
+ Obj.change(cell.source.target, (obj) => {
65
+ obj.content = value;
66
+ });
66
67
  },
67
68
  [cell],
68
69
  );
@@ -113,17 +114,15 @@ export const NotebookCell = ({ space, graph, dragging, cell, promptResults, env
113
114
 
114
115
  // TODO(burdon): Remove app-framework deps (via render prop).
115
116
  return (
116
- <div
117
- className={mx('bs-full overflow-hidden grid', explorerGraph && !dragging && 'grid-rows-[min-content_1fr]')}
118
- >
117
+ <div className={mx('h-full overflow-hidden grid', explorerGraph && !dragging && 'grid-rows-[min-content_1fr]')}>
119
118
  <QueryEditor
120
119
  id={cell.id}
121
- classNames={[editorStyles, 'border-be border-subduedSeparator']}
122
- db={space?.db}
120
+ classNames={[editorStyles, 'border-b border-subdued-separator']}
121
+ db={db}
123
122
  value={cell.source.target.content}
124
123
  onChange={handleQueryChange}
125
124
  />
126
- {explorerGraph && !dragging && <Surface role='section' limit={1} data={{ subject: explorerGraph }} />}
125
+ {explorerGraph && !dragging && <Surface.Surface role='section' limit={1} data={{ subject: explorerGraph }} />}
127
126
  </div>
128
127
  );
129
128
 
@@ -151,7 +150,7 @@ export const NotebookCell = ({ space, graph, dragging, cell, promptResults, env
151
150
  };
152
151
 
153
152
  const NotebookCellValue = ({ cell, graph }: NotebookCellProps) => {
154
- const name = graph?.expressions.value[cell.id]?.name;
153
+ const name = graph?.getExpressions()[cell.id]?.name;
155
154
  const value = graph?.getValue(cell.id);
156
155
  if (value == null) {
157
156
  return null;
@@ -160,13 +159,13 @@ const NotebookCellValue = ({ cell, graph }: NotebookCellProps) => {
160
159
  return (
161
160
  <div
162
161
  className={mx(
163
- 'flex is-full bg-groupSurface border-t border-subduedSeparator text-description font-mono',
162
+ 'flex w-full bg-group-surface border-y border-subdued-separator text-description font-mono',
164
163
  valueStyles,
165
164
  )}
166
165
  >
167
166
  {name && (
168
167
  <>
169
- <span className='text-successText'>{name}</span>
168
+ <span className='text-success-text'>{name}</span>
170
169
  <span className='text-description'>&nbsp;=&nbsp;</span>
171
170
  </>
172
171
  )}
@@ -186,14 +185,14 @@ const NotebookPromptResult = ({ cell, promptResults }: NotebookCellProps) => {
186
185
  }
187
186
 
188
187
  return (
189
- <div className={mx('flex is-full bg-groupSurface text-description border-t border-subduedSeparator', valueStyles)}>
188
+ <div className={mx('flex w-full bg-group-surface text-description border-y border-subdued-separator', valueStyles)}>
190
189
  <NotebookTextEditor readOnly value={value} />
191
190
  </div>
192
191
  );
193
192
  };
194
193
 
195
194
  const NotebookTextEditor = ({
196
- extensions: extensionsParam,
195
+ extensions: extensionsProp,
197
196
  readOnly,
198
197
  ...props
199
198
  }: EditorContentProps & Pick<BasicExtensionsOptions, 'readOnly'>) => {
@@ -208,9 +207,9 @@ const NotebookTextEditor = ({
208
207
  createThemeExtensions({ themeMode, syntaxHighlighting: true }),
209
208
  createMarkdownExtensions(),
210
209
  decorateMarkdown(),
211
- extensionsParam,
210
+ extensionsProp,
212
211
  ].filter(isNonNullable);
213
- }, [extensionsParam]);
212
+ }, [extensionsProp]);
214
213
 
215
214
  return <EditorContent {...props} extensions={extensions} selectionEnd />;
216
215
  };
@@ -3,37 +3,40 @@
3
3
  //
4
4
 
5
5
  import { type Meta, type StoryObj } from '@storybook/react-vite';
6
+ import * as Effect from 'effect/Effect';
7
+ import React, { useMemo } from 'react';
6
8
 
7
- import { IntentPlugin, SettingsPlugin } from '@dxos/app-framework';
8
9
  import { withPluginManager } from '@dxos/app-framework/testing';
9
10
  import { AutomationPlugin } from '@dxos/plugin-automation';
10
11
  import { ClientPlugin } from '@dxos/plugin-client';
11
- import { SpacePlugin } from '@dxos/plugin-space';
12
- import { withLayout, withTheme } from '@dxos/react-ui/testing';
12
+ import { initializeIdentity } from '@dxos/plugin-client/testing';
13
+ import { corePlugins } from '@dxos/plugin-testing';
14
+ import { withLayout } from '@dxos/react-ui/testing';
13
15
 
14
16
  import { createNotebook } from '../../testing';
15
17
  import { translations } from '../../translations';
16
18
 
17
19
  import { NotebookStack } from './NotebookStack';
18
20
 
21
+ const NotebookStackStory = () => {
22
+ const notebook = useMemo(() => createNotebook(), []);
23
+ return <NotebookStack notebook={notebook} />;
24
+ };
25
+
19
26
  const meta = {
20
- title: 'plugins/plugin-script/NotebookStack',
21
- component: NotebookStack,
27
+ title: 'plugins/plugin-script/components/NotebookStack',
28
+ component: NotebookStackStory,
22
29
  decorators: [
23
- withTheme,
24
- withLayout({ container: 'column', classNames: 'is-prose' }),
25
- // TODO(burdon): Factor out Surface to avoid dependency on app-framework.
30
+ withLayout({ layout: 'column', classNames: 'w-document-max-width' }),
26
31
  withPluginManager({
27
32
  plugins: [
33
+ ...corePlugins(),
28
34
  ClientPlugin({
29
- onClientInitialized: async ({ client }) => {
30
- await client.halo.createIdentity();
31
- await client.spaces.waitUntilReady();
32
- },
35
+ onClientInitialized: ({ client }) =>
36
+ Effect.gen(function* () {
37
+ yield* initializeIdentity(client);
38
+ }),
33
39
  }),
34
- SpacePlugin({}),
35
- SettingsPlugin(),
36
- IntentPlugin(),
37
40
  AutomationPlugin(),
38
41
  ],
39
42
  }),
@@ -41,14 +44,10 @@ const meta = {
41
44
  parameters: {
42
45
  translations,
43
46
  },
44
- } satisfies Meta<typeof NotebookStack>;
47
+ } satisfies Meta<typeof NotebookStackStory>;
45
48
 
46
49
  export default meta;
47
50
 
48
51
  type Story = StoryObj<typeof meta>;
49
52
 
50
- export const Default: Story = {
51
- args: {
52
- notebook: createNotebook(),
53
- },
54
- };
53
+ export const Default: Story = {};
@@ -6,6 +6,7 @@ import React from 'react';
6
6
 
7
7
  import { DropdownMenu, IconButton, type ThemedClassName, useTranslation } from '@dxos/react-ui';
8
8
  import { Stack, StackItem, type StackProps } from '@dxos/react-ui-stack';
9
+ import { composable, composableProps } from '@dxos/ui-theme';
9
10
 
10
11
  import { meta } from '../../meta';
11
12
  import { type Notebook } from '../../types';
@@ -14,32 +15,42 @@ import { type TypescriptEditorProps } from '../TypescriptEditor';
14
15
  import { NotebookCell, type NotebookCellProps } from './NotebookCell';
15
16
  import { NotebookMenu } from './NotebookMenu';
16
17
 
17
- const minSectionHeight = 'min-bs-[16rem]';
18
+ const minSectionHeight = 'min-h-[16rem]';
18
19
 
19
20
  export type NotebookStackProps = ThemedClassName<
20
21
  {
21
22
  notebook?: Notebook.Notebook;
22
23
  onRearrange?: StackProps['onRearrange'];
23
- } & (Pick<NotebookSectionProps, 'space' | 'graph' | 'promptResults' | 'onCellInsert' | 'onCellDelete'> &
24
+ } & (Pick<NotebookSectionProps, 'db' | 'graph' | 'promptResults' | 'onCellInsert' | 'onCellDelete'> &
24
25
  Pick<TypescriptEditorProps, 'env'>)
25
26
  >;
26
27
 
27
28
  // TODO(burdon): Option for narrow rail (with compact buttons that align with first button in toolbar).
28
- export const NotebookStack = ({ classNames, notebook, onRearrange, ...props }: NotebookStackProps) => {
29
- return (
30
- <Stack classNames={classNames} orientation='vertical' size='contain' rail onRearrange={onRearrange}>
31
- {notebook?.cells.map((cell, i) => (
32
- <NotebookSection key={i} cell={cell} {...props} />
33
- ))}
34
- </Stack>
35
- );
36
- };
29
+ export const NotebookStack = composable<HTMLDivElement, NotebookStackProps>(
30
+ ({ notebook, onRearrange, db, graph, promptResults, onCellInsert, onCellDelete, env, ...props }, forwardedRef) => {
31
+ const sectionProps = { db, graph, promptResults, onCellInsert, onCellDelete, env };
32
+ return (
33
+ <Stack
34
+ {...composableProps(props)}
35
+ orientation='vertical'
36
+ size='contain'
37
+ rail
38
+ onRearrange={onRearrange}
39
+ ref={forwardedRef}
40
+ >
41
+ {notebook?.cells.map((cell, i) => (
42
+ <NotebookSection key={i} cell={cell} {...sectionProps} />
43
+ ))}
44
+ </Stack>
45
+ );
46
+ },
47
+ );
37
48
 
38
49
  type NotebookSectionProps = NotebookCellProps;
39
50
 
40
51
  const NotebookSection = ({
41
52
  cell,
42
- space,
53
+ db,
43
54
  env,
44
55
  promptResults,
45
56
  onCellInsert,
@@ -51,7 +62,7 @@ const NotebookSection = ({
51
62
 
52
63
  return (
53
64
  <StackItem.Root role='section' item={cell} draggable classNames={resizable && minSectionHeight}>
54
- <StackItem.Heading classNames='bs-full p-1 justify-between attention-surface'>
65
+ <StackItem.Heading classNames='h-full p-1 justify-between dx-attention-surface'>
55
66
  <StackItem.DragHandle asChild>
56
67
  <IconButton variant='ghost' icon='ph--dots-six-vertical--regular' iconOnly label='Drag handle' />
57
68
  </StackItem.DragHandle>
@@ -72,14 +83,14 @@ const NotebookSection = ({
72
83
  {/* TODO(burdon): Move drag preview to outer stack (uniformly). */}
73
84
  <StackItem.DragPreview>
74
85
  {({ item: cell }) => (
75
- <StackItem.Content classNames='overflow-visible bg-groupSurface border border-subduedSeparator'>
76
- <NotebookCell space={space} cell={cell} env={env} dragging />
86
+ <StackItem.Content classNames='overflow-visible bg-group-surface border border-subdued-separator'>
87
+ <NotebookCell db={db} cell={cell} env={env} dragging />
77
88
  </StackItem.Content>
78
89
  )}
79
90
  </StackItem.DragPreview>
80
91
 
81
92
  <StackItem.Content classNames='overflow-visible'>
82
- <NotebookCell space={space} cell={cell} env={env} promptResults={promptResults} {...props} />
93
+ <NotebookCell db={db} cell={cell} env={env} promptResults={promptResults} {...props} />
83
94
  </StackItem.Content>
84
95
  </StackItem.Root>
85
96
  );
@@ -0,0 +1,96 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import { type Meta, type StoryObj } from '@storybook/react-vite';
6
+ import React, { useCallback, useMemo, useState } from 'react';
7
+
8
+ import { createDocAccessor } from '@dxos/echo-db';
9
+ import { QuerySandbox } from '@dxos/echo-query';
10
+ import { createObject } from '@dxos/react-client/echo';
11
+ import { Panel, Toolbar, useAsyncEffect } from '@dxos/react-ui';
12
+ import { withLayout, withTheme } from '@dxos/react-ui/testing';
13
+ import { Json } from '@dxos/react-ui-syntax-highlighter';
14
+ import { createDataExtensions } from '@dxos/ui-editor';
15
+ import { trim } from '@dxos/util';
16
+
17
+ import { QueryEditor, type QueryEditorProps } from './QueryEditor';
18
+
19
+ const SCRIPT = trim`
20
+ Query.select(Filter.type('org.dxos.type.person'))
21
+ `;
22
+
23
+ const DefaultStory = (props: QueryEditorProps) => {
24
+ const object = useMemo(() => createObject({ content: SCRIPT }), []);
25
+ const [result, setResult] = useState<object | undefined>({});
26
+ const [sandbox, setSandbox] = useState<QuerySandbox>();
27
+
28
+ useAsyncEffect(async () => {
29
+ const sandbox = new QuerySandbox();
30
+ await sandbox.open();
31
+ setSandbox(sandbox);
32
+
33
+ return () => {
34
+ void sandbox.close();
35
+ };
36
+ }, []);
37
+
38
+ const extensions = useMemo(
39
+ () => [
40
+ createDataExtensions({
41
+ id: object.id,
42
+ text: createDocAccessor(object, ['content']),
43
+ }),
44
+ ],
45
+ [],
46
+ );
47
+
48
+ const handleRun = useCallback(async () => {
49
+ try {
50
+ const result = sandbox?.eval(object.content);
51
+
52
+ setResult({
53
+ timestamp: Date.now(),
54
+ result,
55
+ });
56
+ } catch (err) {
57
+ setResult({
58
+ timestamp: Date.now(),
59
+ error: String(err),
60
+ });
61
+ }
62
+ }, [object, sandbox]);
63
+
64
+ return (
65
+ <Panel.Root>
66
+ <Panel.Toolbar asChild>
67
+ <Toolbar.Root>
68
+ <Toolbar.Button onClick={handleRun}>Run</Toolbar.Button>
69
+ </Toolbar.Root>
70
+ </Panel.Toolbar>
71
+ <Panel.Content>
72
+ <div role='none' className='grid grid-rows-[1fr_min-content] h-full overflow-hidden text-sm'>
73
+ <QueryEditor {...props} initialValue={object.content} extensions={extensions} />
74
+ <Json data={result} classNames='shrink-0 p-2 border-y border-subdued-separator' />
75
+ </div>
76
+ </Panel.Content>
77
+ </Panel.Root>
78
+ );
79
+ };
80
+
81
+ const meta = {
82
+ title: 'plugins/plugin-script/components/QueryEditor',
83
+ component: QueryEditor,
84
+ render: DefaultStory,
85
+ decorators: [withTheme(), withLayout({ layout: 'column', classNames: 'w-document-max-width' })],
86
+ } satisfies Meta<typeof DefaultStory>;
87
+
88
+ export default meta;
89
+
90
+ type Story = StoryObj<typeof meta>;
91
+
92
+ export const Default: Story = {
93
+ args: {
94
+ id: 'test',
95
+ },
96
+ };
@@ -0,0 +1,47 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+
5
+ import React, { useState } from 'react';
6
+ import { ScriptTarget } from 'typescript';
7
+
8
+ import queryApi from '@dxos/echo-query/api.d.ts?raw';
9
+ import { useAsyncEffect } from '@dxos/react-ui';
10
+
11
+ import { Compiler } from '../../compiler';
12
+ import { TypescriptEditor, type TypescriptEditorProps } from '../TypescriptEditor';
13
+
14
+ const GLOBALS = `
15
+ namespace QueryAPI {
16
+ ${queryApi}
17
+ }
18
+
19
+ declare global {
20
+ const Query: typeof QueryAPI.Query;
21
+ const Filter: typeof QueryAPI.Filter;
22
+ const Order: typeof QueryAPI.Order;
23
+ }
24
+
25
+ export {};
26
+ `;
27
+
28
+ export type QueryEditorProps = Omit<TypescriptEditorProps, 'env'>;
29
+
30
+ export const QueryEditor = (props: QueryEditorProps) => {
31
+ const [compiler, setCompiler] = useState<Compiler>();
32
+
33
+ useAsyncEffect(async () => {
34
+ const compiler = new Compiler({
35
+ lib: ['ES5'],
36
+ target: ScriptTarget.ES2022,
37
+ });
38
+ await compiler.initialize(GLOBALS);
39
+ setCompiler(compiler);
40
+ }, []);
41
+
42
+ if (!compiler) {
43
+ return null;
44
+ }
45
+
46
+ return <TypescriptEditor {...props} env={compiler.environment} />;
47
+ };
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+
5
+ export * from './QueryEditor';
@@ -2,46 +2,68 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
+ import { Atom, Registry } from '@effect-atom/atom-react';
5
6
  import { type Meta, type StoryObj } from '@storybook/react-vite';
7
+ import React, { useMemo } from 'react';
6
8
 
7
- import { IntentPlugin } from '@dxos/app-framework';
9
+ import { OperationPlugin, RuntimePlugin } from '@dxos/app-framework';
8
10
  import { withPluginManager } from '@dxos/app-framework/testing';
9
11
  import { Script } from '@dxos/functions';
10
12
  import { ClientPlugin } from '@dxos/plugin-client';
11
13
  import { withLayout, withTheme } from '@dxos/react-ui/testing';
12
14
 
15
+ import { type ScriptToolbarState, type ScriptToolbarStateStore } from '../../hooks';
13
16
  import { translations } from '../../translations';
14
17
 
15
18
  import { ScriptToolbar } from './ScriptToolbar';
16
19
 
20
+ // Create a mock store for stories.
21
+ const createMockStore = (initialState: ScriptToolbarState = {}): ScriptToolbarStateStore => {
22
+ const registry = Registry.make();
23
+ const atom = Atom.make<ScriptToolbarState>(initialState);
24
+ return {
25
+ atom,
26
+ get value() {
27
+ return registry.get(atom);
28
+ },
29
+ update: (updater) => registry.set(atom, updater(registry.get(atom))),
30
+ set: (key, value) => registry.set(atom, { ...registry.get(atom), [key]: value }),
31
+ };
32
+ };
33
+
34
+ const ScriptToolbarStory = () => {
35
+ const state = useMemo(() => createMockStore(), []);
36
+ const script = useMemo(
37
+ () =>
38
+ Script.make({
39
+ name: 'test',
40
+ description: 'test',
41
+ source: 'test',
42
+ }),
43
+ [],
44
+ );
45
+ return <ScriptToolbar state={state} script={script} />;
46
+ };
47
+
17
48
  const meta = {
18
- title: 'plugins/plugin-script/Toolbar',
19
- component: ScriptToolbar,
49
+ title: 'plugins/plugin-script/components/Toolbar',
50
+ component: ScriptToolbarStory,
20
51
  // TODO(wittjosiah): Try to write story which does not depend on plugin manager.
21
52
  decorators: [
22
- withTheme,
23
- withLayout({ classNames: 'is-prose' }),
53
+ withTheme(),
54
+ withLayout({ classNames: 'w-document-max-width' }),
24
55
  withPluginManager({
25
- plugins: [IntentPlugin(), ClientPlugin({})],
56
+ plugins: [OperationPlugin(), RuntimePlugin(), ClientPlugin({})],
26
57
  }),
27
58
  ],
28
59
  parameters: {
29
60
  layout: 'centered',
30
61
  translations,
31
62
  },
32
- } satisfies Meta<typeof ScriptToolbar>;
63
+ } satisfies Meta<typeof ScriptToolbarStory>;
33
64
 
34
65
  export default meta;
35
66
 
36
67
  type Story = StoryObj<typeof meta>;
37
68
 
38
- export const Default: Story = {
39
- args: {
40
- state: {},
41
- script: Script.make({
42
- name: 'test',
43
- description: 'test',
44
- source: 'test',
45
- }),
46
- },
47
- };
69
+ export const Default: Story = {};