@dxos/plugin-script 0.8.4-main.406dc2a → 0.8.4-main.43cb759274

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 (572) hide show
  1. package/LICENSE +102 -5
  2. package/PLUGIN.mdl +515 -0
  3. package/README.md +15 -13
  4. package/dist/lib/neutral/DeploymentDialog-M3AFYQHC.mjs +114 -0
  5. package/dist/lib/neutral/DeploymentDialog-M3AFYQHC.mjs.map +7 -0
  6. package/dist/lib/{browser/NotebookContainer-LVGRPFY3.mjs → neutral/NotebookArticle-NV4AHOOS.mjs} +313 -233
  7. package/dist/lib/neutral/NotebookArticle-NV4AHOOS.mjs.map +7 -0
  8. package/dist/lib/neutral/ScriptArticle-UBT27SB6.mjs +79 -0
  9. package/dist/lib/neutral/ScriptArticle-UBT27SB6.mjs.map +7 -0
  10. package/dist/lib/neutral/ScriptPlugin.mjs +51 -0
  11. package/dist/lib/neutral/ScriptPlugin.mjs.map +7 -0
  12. package/dist/lib/neutral/ScriptPlugin.node.mjs +27 -0
  13. package/dist/lib/neutral/ScriptPlugin.node.mjs.map +7 -0
  14. package/dist/lib/neutral/ScriptPlugin.workerd.mjs +21 -0
  15. package/dist/lib/neutral/ScriptPlugin.workerd.mjs.map +7 -0
  16. package/dist/lib/neutral/ScriptPluginSettings-T4JMUSHN.mjs +31 -0
  17. package/dist/lib/neutral/ScriptPluginSettings-T4JMUSHN.mjs.map +7 -0
  18. package/dist/lib/neutral/ScriptProperties-RLXNAN3N.mjs +297 -0
  19. package/dist/lib/neutral/ScriptProperties-RLXNAN3N.mjs.map +7 -0
  20. package/dist/lib/neutral/TestContainer-AFVTBYSJ.mjs +44 -0
  21. package/dist/lib/neutral/TestContainer-AFVTBYSJ.mjs.map +7 -0
  22. package/dist/lib/neutral/app-graph-builder-7AWFCEQF.mjs +52 -0
  23. package/dist/lib/neutral/app-graph-builder-7AWFCEQF.mjs.map +7 -0
  24. package/dist/lib/neutral/blueprint-definition-T33SBPP2.mjs +15 -0
  25. package/dist/lib/neutral/blueprint-definition-T33SBPP2.mjs.map +7 -0
  26. package/dist/lib/neutral/blueprints/index.mjs +10 -0
  27. package/dist/lib/neutral/capabilities/index.mjs +21 -0
  28. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  29. package/dist/lib/neutral/capabilities/node.mjs +17 -0
  30. package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
  31. package/dist/lib/neutral/chunk-2REUEDUA.mjs +56 -0
  32. package/dist/lib/neutral/chunk-2REUEDUA.mjs.map +7 -0
  33. package/dist/lib/neutral/chunk-BDHDBPVM.mjs +52 -0
  34. package/dist/lib/neutral/chunk-BDHDBPVM.mjs.map +7 -0
  35. package/dist/lib/neutral/chunk-C4O7EV6M.mjs +123 -0
  36. package/dist/lib/neutral/chunk-C4O7EV6M.mjs.map +7 -0
  37. package/dist/lib/neutral/chunk-H2BRWQMY.mjs +96 -0
  38. package/dist/lib/neutral/chunk-H2BRWQMY.mjs.map +7 -0
  39. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  40. package/dist/lib/neutral/chunk-LHEJXJEL.mjs +8 -0
  41. package/dist/lib/neutral/chunk-LHEJXJEL.mjs.map +7 -0
  42. package/dist/lib/neutral/chunk-NQOIENTU.mjs +8 -0
  43. package/dist/lib/neutral/chunk-NQOIENTU.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-TRKXIP2Q.mjs +345 -0
  45. package/dist/lib/neutral/chunk-TRKXIP2Q.mjs.map +7 -0
  46. package/dist/lib/neutral/chunk-UA3BWOCZ.mjs +38 -0
  47. package/dist/lib/neutral/chunk-UA3BWOCZ.mjs.map +7 -0
  48. package/dist/lib/neutral/chunk-VXDJH6OL.mjs +150 -0
  49. package/dist/lib/neutral/chunk-VXDJH6OL.mjs.map +7 -0
  50. package/dist/lib/neutral/compiler-ODK4UA2N.mjs +101 -0
  51. package/dist/lib/neutral/compiler-ODK4UA2N.mjs.map +7 -0
  52. package/dist/lib/neutral/components/index.mjs +664 -0
  53. package/dist/lib/neutral/components/index.mjs.map +7 -0
  54. package/dist/lib/neutral/containers/index.mjs +17 -0
  55. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  56. package/dist/lib/neutral/create-WQJXMOUE.mjs +46 -0
  57. package/dist/lib/neutral/create-WQJXMOUE.mjs.map +7 -0
  58. package/dist/lib/neutral/create-object-FZM5ASWM.mjs +45 -0
  59. package/dist/lib/neutral/create-object-FZM5ASWM.mjs.map +7 -0
  60. package/dist/lib/neutral/create-script-66DO3UJO.mjs +45 -0
  61. package/dist/lib/neutral/create-script-66DO3UJO.mjs.map +7 -0
  62. package/dist/lib/neutral/delete-HCQIQFVP.mjs +21 -0
  63. package/dist/lib/neutral/delete-HCQIQFVP.mjs.map +7 -0
  64. package/dist/lib/neutral/deploy-7JVMMHSH.mjs +63 -0
  65. package/dist/lib/neutral/deploy-7JVMMHSH.mjs.map +7 -0
  66. package/dist/lib/neutral/hooks/index.mjs +369 -0
  67. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  68. package/dist/lib/neutral/index.mjs +41 -0
  69. package/dist/lib/neutral/inspect-invocations-6MW73SDV.mjs +59 -0
  70. package/dist/lib/neutral/inspect-invocations-6MW73SDV.mjs.map +7 -0
  71. package/dist/lib/neutral/install-function-FJIE2JAI.mjs +49 -0
  72. package/dist/lib/neutral/install-function-FJIE2JAI.mjs.map +7 -0
  73. package/dist/lib/neutral/invoke-3HVWY2KF.mjs +32 -0
  74. package/dist/lib/neutral/invoke-3HVWY2KF.mjs.map +7 -0
  75. package/dist/lib/neutral/meta.json +1 -0
  76. package/dist/lib/neutral/meta.mjs +10 -0
  77. package/dist/lib/neutral/operation-handler-X44IGZXS.mjs +18 -0
  78. package/dist/lib/neutral/operation-handler-X44IGZXS.mjs.map +7 -0
  79. package/dist/lib/neutral/operations/index.mjs +8 -0
  80. package/dist/lib/neutral/plugin.mjs +16 -0
  81. package/dist/lib/neutral/plugin.mjs.map +7 -0
  82. package/dist/lib/neutral/query-deployed-functions-F4FHJNWO.mjs +34 -0
  83. package/dist/lib/neutral/query-deployed-functions-F4FHJNWO.mjs.map +7 -0
  84. package/dist/lib/neutral/react-surface-ACNZ35FV.mjs +121 -0
  85. package/dist/lib/neutral/react-surface-ACNZ35FV.mjs.map +7 -0
  86. package/dist/lib/neutral/read-RQESBAQI.mjs +26 -0
  87. package/dist/lib/neutral/read-RQESBAQI.mjs.map +7 -0
  88. package/dist/lib/neutral/settings-VJBW4OMK.mjs +30 -0
  89. package/dist/lib/neutral/settings-VJBW4OMK.mjs.map +7 -0
  90. package/dist/lib/{browser → neutral}/templates/index.mjs +2 -1
  91. package/dist/lib/neutral/translations.mjs +105 -0
  92. package/dist/lib/neutral/translations.mjs.map +7 -0
  93. package/dist/lib/neutral/types/index.mjs +17 -0
  94. package/dist/lib/neutral/types/index.mjs.map +7 -0
  95. package/dist/lib/neutral/update-JZUNJYZM.mjs +63 -0
  96. package/dist/lib/neutral/update-JZUNJYZM.mjs.map +7 -0
  97. package/dist/types/src/ScriptPlugin.d.ts +3 -1
  98. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  99. package/dist/types/src/ScriptPlugin.node.d.ts +4 -0
  100. package/dist/types/src/ScriptPlugin.node.d.ts.map +1 -0
  101. package/dist/types/src/ScriptPlugin.test.d.ts +2 -0
  102. package/dist/types/src/ScriptPlugin.test.d.ts.map +1 -0
  103. package/dist/types/src/ScriptPlugin.workerd.d.ts +4 -0
  104. package/dist/types/src/ScriptPlugin.workerd.d.ts.map +1 -0
  105. package/dist/types/src/blueprints/functions/create.d.ts +11 -0
  106. package/dist/types/src/blueprints/functions/create.d.ts.map +1 -0
  107. package/dist/types/src/blueprints/functions/definitions.d.ts +135 -0
  108. package/dist/types/src/blueprints/functions/definitions.d.ts.map +1 -0
  109. package/dist/types/src/blueprints/functions/delete.d.ts +17 -0
  110. package/dist/types/src/blueprints/functions/delete.d.ts.map +1 -0
  111. package/dist/types/src/blueprints/functions/deploy.d.ts +21 -0
  112. package/dist/types/src/blueprints/functions/deploy.d.ts.map +1 -0
  113. package/dist/types/src/blueprints/functions/index.d.ts +4 -0
  114. package/dist/types/src/blueprints/functions/index.d.ts.map +1 -0
  115. package/dist/types/src/blueprints/functions/inspect-invocations.d.ts +28 -0
  116. package/dist/types/src/blueprints/functions/inspect-invocations.d.ts.map +1 -0
  117. package/dist/types/src/blueprints/functions/install-function.d.ts +11 -0
  118. package/dist/types/src/blueprints/functions/install-function.d.ts.map +1 -0
  119. package/dist/types/src/blueprints/functions/invoke.d.ts +21 -0
  120. package/dist/types/src/blueprints/functions/invoke.d.ts.map +1 -0
  121. package/dist/types/src/blueprints/functions/query-deployed-functions.d.ts +13 -0
  122. package/dist/types/src/blueprints/functions/query-deployed-functions.d.ts.map +1 -0
  123. package/dist/types/src/blueprints/functions/read.d.ts +21 -0
  124. package/dist/types/src/blueprints/functions/read.d.ts.map +1 -0
  125. package/dist/types/src/blueprints/functions/update.d.ts +26 -0
  126. package/dist/types/src/blueprints/functions/update.d.ts.map +1 -0
  127. package/dist/types/src/blueprints/index.d.ts +2 -0
  128. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  129. package/dist/types/src/blueprints/script-blueprint.d.ts +4 -0
  130. package/dist/types/src/blueprints/script-blueprint.d.ts.map +1 -0
  131. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  132. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  133. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -4
  134. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  135. package/dist/types/src/capabilities/compiler.d.ts +3 -1
  136. package/dist/types/src/capabilities/compiler.d.ts.map +1 -1
  137. package/dist/types/src/capabilities/create-object.d.ts +16 -0
  138. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  139. package/dist/types/src/capabilities/index.d.ts +19 -7
  140. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  141. package/dist/types/src/capabilities/node.d.ts +18 -0
  142. package/dist/types/src/capabilities/node.d.ts.map +1 -0
  143. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  144. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  145. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  146. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  147. package/dist/types/src/capabilities/settings.d.ts +5 -2
  148. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  149. package/dist/types/src/compiler/compiler.d.ts +1 -1
  150. package/dist/types/src/compiler/compiler.d.ts.map +1 -1
  151. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts +5 -4
  152. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -1
  153. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts +1 -1
  154. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts.map +1 -1
  155. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +5 -3
  156. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -1
  157. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +221 -229
  158. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -1
  159. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts +5 -0
  160. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts.map +1 -0
  161. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts +13 -0
  162. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts.map +1 -0
  163. package/dist/types/src/components/QueryEditor/index.d.ts +2 -0
  164. package/dist/types/src/components/QueryEditor/index.d.ts.map +1 -0
  165. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.d.ts +8 -0
  166. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.d.ts.map +1 -0
  167. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.d.ts +241 -0
  168. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.d.ts.map +1 -0
  169. package/dist/types/src/components/ScriptPluginSettings/index.d.ts +2 -0
  170. package/dist/types/src/components/ScriptPluginSettings/index.d.ts.map +1 -0
  171. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +10 -9
  172. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  173. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +221 -229
  174. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  175. package/dist/types/src/components/TestPanel/TestPanel.d.ts +4 -2
  176. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
  177. package/dist/types/src/components/TestPanel/index.d.ts +0 -1
  178. package/dist/types/src/components/TestPanel/index.d.ts.map +1 -1
  179. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +6 -2
  180. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  181. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +3 -1
  182. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  183. package/dist/types/src/components/index.d.ts +5 -5
  184. package/dist/types/src/components/index.d.ts.map +1 -1
  185. package/dist/types/src/constants.d.ts +3 -0
  186. package/dist/types/src/constants.d.ts.map +1 -0
  187. package/dist/types/src/{components → containers}/DeploymentDialog/DeploymentDialog.d.ts +2 -4
  188. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.d.ts.map +1 -0
  189. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts +240 -0
  190. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -0
  191. package/dist/types/src/containers/DeploymentDialog/index.d.ts +2 -0
  192. package/dist/types/src/containers/DeploymentDialog/index.d.ts.map +1 -0
  193. package/dist/types/src/containers/NotebookArticle/NotebookArticle.d.ts +7 -0
  194. package/dist/types/src/containers/NotebookArticle/NotebookArticle.d.ts.map +1 -0
  195. package/dist/types/src/containers/NotebookArticle/NotebookArticle.stories.d.ts +7 -0
  196. package/dist/types/src/containers/NotebookArticle/NotebookArticle.stories.d.ts.map +1 -0
  197. package/dist/types/src/containers/NotebookArticle/index.d.ts +2 -0
  198. package/dist/types/src/containers/NotebookArticle/index.d.ts.map +1 -0
  199. package/dist/types/src/containers/ScriptArticle/ScriptArticle.d.ts +10 -0
  200. package/dist/types/src/containers/ScriptArticle/ScriptArticle.d.ts.map +1 -0
  201. package/dist/types/src/containers/ScriptArticle/ScriptArticle.stories.d.ts +242 -0
  202. package/dist/types/src/containers/ScriptArticle/ScriptArticle.stories.d.ts.map +1 -0
  203. package/dist/types/src/containers/ScriptArticle/index.d.ts +2 -0
  204. package/dist/types/src/containers/ScriptArticle/index.d.ts.map +1 -0
  205. package/dist/types/src/containers/ScriptProperties/BlueprintEditor.d.ts +7 -0
  206. package/dist/types/src/containers/ScriptProperties/BlueprintEditor.d.ts.map +1 -0
  207. package/dist/types/src/containers/ScriptProperties/FunctionBinding.d.ts +7 -0
  208. package/dist/types/src/containers/ScriptProperties/FunctionBinding.d.ts.map +1 -0
  209. package/dist/types/src/containers/ScriptProperties/FunctionPublishing.d.ts +7 -0
  210. package/dist/types/src/containers/ScriptProperties/FunctionPublishing.d.ts.map +1 -0
  211. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts +6 -0
  212. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts.map +1 -0
  213. package/dist/types/src/containers/ScriptProperties/ScriptProperties.stories.d.ts +242 -0
  214. package/dist/types/src/containers/ScriptProperties/ScriptProperties.stories.d.ts.map +1 -0
  215. package/dist/types/src/containers/ScriptProperties/index.d.ts +2 -0
  216. package/dist/types/src/containers/ScriptProperties/index.d.ts.map +1 -0
  217. package/dist/types/src/containers/TestContainer/TestContainer.d.ts +8 -0
  218. package/dist/types/src/containers/TestContainer/TestContainer.d.ts.map +1 -0
  219. package/dist/types/src/containers/TestContainer/index.d.ts +2 -0
  220. package/dist/types/src/containers/TestContainer/index.d.ts.map +1 -0
  221. package/dist/types/src/containers/index.d.ts +7 -0
  222. package/dist/types/src/containers/index.d.ts.map +1 -0
  223. package/dist/types/src/e2e/ai.test.d.ts +2 -0
  224. package/dist/types/src/e2e/ai.test.d.ts.map +1 -0
  225. package/dist/types/src/e2e/deploy.test.d.ts +2 -0
  226. package/dist/types/src/e2e/deploy.test.d.ts.map +1 -0
  227. package/dist/types/src/hooks/deploy.d.ts +27 -30
  228. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  229. package/dist/types/src/hooks/format.d.ts +5 -4
  230. package/dist/types/src/hooks/format.d.ts.map +1 -1
  231. package/dist/types/src/hooks/index.d.ts +1 -0
  232. package/dist/types/src/hooks/index.d.ts.map +1 -1
  233. package/dist/types/src/hooks/template.d.ts +7 -16
  234. package/dist/types/src/hooks/template.d.ts.map +1 -1
  235. package/dist/types/src/hooks/useCompiler.d.ts +7 -0
  236. package/dist/types/src/hooks/useCompiler.d.ts.map +1 -0
  237. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  238. package/dist/types/src/hooks/useToolbarState.d.ts +8 -1
  239. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  240. package/dist/types/src/index.d.ts +2 -3
  241. package/dist/types/src/index.d.ts.map +1 -1
  242. package/dist/types/src/meta.d.ts +2 -2
  243. package/dist/types/src/meta.d.ts.map +1 -1
  244. package/dist/types/src/notebook/compute-graph.d.ts +58 -0
  245. package/dist/types/src/notebook/compute-graph.d.ts.map +1 -0
  246. package/dist/types/src/notebook/compute-graph.test.d.ts +2 -0
  247. package/dist/types/src/notebook/compute-graph.test.d.ts.map +1 -0
  248. package/dist/types/src/notebook/eval.d.ts +1 -1
  249. package/dist/types/src/notebook/eval.d.ts.map +1 -1
  250. package/dist/types/src/notebook/index.d.ts +1 -1
  251. package/dist/types/src/notebook/index.d.ts.map +1 -1
  252. package/dist/types/src/notebook/vfs-parser.d.ts.map +1 -1
  253. package/dist/types/src/operations/create-script.d.ts +5 -0
  254. package/dist/types/src/operations/create-script.d.ts.map +1 -0
  255. package/dist/types/src/operations/index.d.ts +3 -0
  256. package/dist/types/src/operations/index.d.ts.map +1 -0
  257. package/dist/types/src/plugin.d.ts +4 -0
  258. package/dist/types/src/plugin.d.ts.map +1 -0
  259. package/dist/types/src/templates/anthropic.d.ts +7 -0
  260. package/dist/types/src/templates/anthropic.d.ts.map +1 -0
  261. package/dist/types/src/templates/chess-bot.d.ts +14 -0
  262. package/dist/types/src/templates/chess-bot.d.ts.map +1 -0
  263. package/dist/types/src/templates/commentary.d.ts +15 -0
  264. package/dist/types/src/templates/commentary.d.ts.map +1 -0
  265. package/dist/types/src/templates/data-generator.d.ts.map +1 -1
  266. package/dist/types/src/templates/discord.d.ts.map +1 -1
  267. package/dist/types/src/templates/email.d.ts.map +1 -1
  268. package/dist/types/src/templates/forex-effect.d.ts +5 -1
  269. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  270. package/dist/types/src/templates/forex.d.ts +5 -1
  271. package/dist/types/src/templates/forex.d.ts.map +1 -1
  272. package/dist/types/src/templates/gmail.d.ts.map +1 -1
  273. package/dist/types/src/templates/index.d.ts +28 -24
  274. package/dist/types/src/templates/index.d.ts.map +1 -1
  275. package/dist/types/src/templates/ping.d.ts +2 -4
  276. package/dist/types/src/templates/ping.d.ts.map +1 -1
  277. package/dist/types/src/testing/index.d.ts +2 -1
  278. package/dist/types/src/testing/index.d.ts.map +1 -1
  279. package/dist/types/src/testing/simulator.test.d.ts +2 -0
  280. package/dist/types/src/testing/simulator.test.d.ts.map +1 -0
  281. package/dist/types/src/testing/test-notebook.d.ts +3 -0
  282. package/dist/types/src/testing/test-notebook.d.ts.map +1 -0
  283. package/dist/types/src/testing/test-script.d.ts +7 -0
  284. package/dist/types/src/testing/test-script.d.ts.map +1 -0
  285. package/dist/types/src/translations.d.ts +222 -91
  286. package/dist/types/src/translations.d.ts.map +1 -1
  287. package/dist/types/src/types/Notebook.d.ts +101 -0
  288. package/dist/types/src/types/Notebook.d.ts.map +1 -0
  289. package/dist/types/src/types/ScriptCapabilities.d.ts +6 -0
  290. package/dist/types/src/types/ScriptCapabilities.d.ts.map +1 -0
  291. package/dist/types/src/types/ScriptEvents.d.ts +3 -0
  292. package/dist/types/src/types/ScriptEvents.d.ts.map +1 -0
  293. package/dist/types/src/types/ScriptOperation.d.ts +29 -0
  294. package/dist/types/src/types/ScriptOperation.d.ts.map +1 -0
  295. package/dist/types/src/types/Settings.d.ts +7 -0
  296. package/dist/types/src/types/Settings.d.ts.map +1 -0
  297. package/dist/types/src/types/index.d.ts +5 -2
  298. package/dist/types/src/types/index.d.ts.map +1 -1
  299. package/dist/types/src/types/types.d.ts +2 -0
  300. package/dist/types/src/types/types.d.ts.map +1 -0
  301. package/dist/types/src/util/deploy.d.ts +4 -4
  302. package/dist/types/src/util/deploy.d.ts.map +1 -1
  303. package/dist/types/src/util/functions.d.ts +3 -3
  304. package/dist/types/src/util/functions.d.ts.map +1 -1
  305. package/dist/types/tsconfig.tsbuildinfo +1 -1
  306. package/package.json +186 -105
  307. package/src/ScriptPlugin.node.ts +21 -0
  308. package/src/ScriptPlugin.test.ts +31 -0
  309. package/src/ScriptPlugin.tsx +29 -97
  310. package/src/ScriptPlugin.workerd.ts +18 -0
  311. package/src/blueprints/functions/create.ts +47 -0
  312. package/src/blueprints/functions/definitions.ts +332 -0
  313. package/src/blueprints/functions/delete.ts +23 -0
  314. package/src/blueprints/functions/deploy.ts +71 -0
  315. package/src/blueprints/functions/index.ts +19 -0
  316. package/src/blueprints/functions/inspect-invocations.ts +56 -0
  317. package/src/blueprints/functions/install-function.ts +56 -0
  318. package/src/blueprints/functions/invoke.ts +34 -0
  319. package/src/blueprints/functions/query-deployed-functions.ts +35 -0
  320. package/src/blueprints/functions/read.ts +29 -0
  321. package/src/blueprints/functions/update.ts +68 -0
  322. package/src/blueprints/index.ts +5 -0
  323. package/src/blueprints/script-blueprint.ts +55 -0
  324. package/src/capabilities/app-graph-builder.ts +40 -58
  325. package/src/capabilities/blueprint-definition.ts +13 -24
  326. package/src/capabilities/compiler.ts +100 -23
  327. package/src/capabilities/create-object.ts +49 -0
  328. package/src/capabilities/index.ts +13 -9
  329. package/src/capabilities/node.ts +16 -0
  330. package/src/capabilities/operation-handler.ts +21 -0
  331. package/src/capabilities/react-surface.tsx +120 -92
  332. package/src/capabilities/settings.ts +26 -14
  333. package/src/compiler/compiler.ts +21 -3
  334. package/src/components/NotebookStack/NotebookCell.tsx +100 -91
  335. package/src/components/NotebookStack/NotebookMenu.tsx +7 -7
  336. package/src/components/NotebookStack/NotebookStack.stories.tsx +34 -13
  337. package/src/components/NotebookStack/NotebookStack.tsx +40 -22
  338. package/src/components/QueryEditor/QueryEditor.stories.tsx +96 -0
  339. package/src/components/QueryEditor/QueryEditor.tsx +49 -0
  340. package/src/components/QueryEditor/index.ts +5 -0
  341. package/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.tsx +32 -0
  342. package/src/components/ScriptPluginSettings/ScriptPluginSettings.tsx +42 -0
  343. package/src/components/ScriptPluginSettings/index.ts +5 -0
  344. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +44 -22
  345. package/src/components/ScriptToolbar/ScriptToolbar.tsx +43 -48
  346. package/src/components/TestPanel/TestPanel.tsx +125 -185
  347. package/src/components/TestPanel/index.ts +0 -1
  348. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +26 -19
  349. package/src/components/TypescriptEditor/TypescriptEditor.tsx +74 -71
  350. package/src/components/index.ts +5 -7
  351. package/src/constants.ts +9 -0
  352. package/src/containers/DeploymentDialog/DeploymentDialog.stories.tsx +63 -0
  353. package/src/containers/DeploymentDialog/DeploymentDialog.tsx +99 -0
  354. package/src/containers/DeploymentDialog/index.ts +5 -0
  355. package/src/containers/NotebookArticle/NotebookArticle.stories.tsx +85 -0
  356. package/src/containers/NotebookArticle/NotebookArticle.tsx +255 -0
  357. package/src/containers/NotebookArticle/index.ts +5 -0
  358. package/src/containers/ScriptArticle/ScriptArticle.stories.tsx +107 -0
  359. package/src/containers/ScriptArticle/ScriptArticle.tsx +85 -0
  360. package/src/containers/ScriptArticle/index.ts +5 -0
  361. package/src/containers/ScriptProperties/BlueprintEditor.tsx +102 -0
  362. package/src/containers/ScriptProperties/FunctionBinding.tsx +83 -0
  363. package/src/containers/ScriptProperties/FunctionPublishing.tsx +121 -0
  364. package/src/containers/ScriptProperties/ScriptProperties.stories.tsx +76 -0
  365. package/src/containers/ScriptProperties/ScriptProperties.tsx +24 -0
  366. package/src/containers/ScriptProperties/index.ts +5 -0
  367. package/src/containers/TestContainer/TestContainer.tsx +44 -0
  368. package/src/containers/TestContainer/index.ts +5 -0
  369. package/src/containers/index.ts +11 -0
  370. package/src/e2e/ai.test.ts +93 -0
  371. package/src/e2e/deploy.test.ts +66 -0
  372. package/src/hooks/deploy.ts +47 -37
  373. package/src/hooks/format.ts +10 -5
  374. package/src/hooks/index.ts +1 -0
  375. package/src/hooks/template.ts +23 -26
  376. package/src/hooks/useCompiler.ts +25 -0
  377. package/src/hooks/useCreateAndDeployScriptTemplates.ts +15 -16
  378. package/src/hooks/useToolbarState.ts +29 -4
  379. package/src/index.ts +2 -4
  380. package/src/meta.ts +17 -7
  381. package/src/notebook/compute-graph.test.ts +82 -0
  382. package/src/notebook/{notebook.ts → compute-graph.ts} +66 -19
  383. package/src/notebook/eval.ts +1 -1
  384. package/src/notebook/index.ts +1 -1
  385. package/src/notebook/vfs-parser.ts +10 -3
  386. package/src/operations/create-script.ts +46 -0
  387. package/src/operations/index.ts +7 -0
  388. package/src/plugin.ts +11 -0
  389. package/src/templates/anthropic.ts +50 -0
  390. package/src/templates/chess-bot.ts +63 -0
  391. package/src/templates/commentary.ts +251 -0
  392. package/src/templates/data-generator.ts +2 -2
  393. package/src/templates/discord.ts +8 -8
  394. package/src/templates/forex-effect.ts +36 -29
  395. package/src/templates/forex.ts +28 -17
  396. package/src/templates/gmail.ts +10 -11
  397. package/src/templates/index.ts +29 -23
  398. package/src/templates/ping.ts +23 -5
  399. package/src/testing/index.ts +2 -1
  400. package/src/testing/simulator.test.ts +39 -0
  401. package/src/testing/test-notebook.ts +71 -0
  402. package/src/testing/test-script.ts +28 -0
  403. package/src/translations.ts +89 -88
  404. package/src/types/Notebook.ts +39 -0
  405. package/src/types/ScriptCapabilities.ts +18 -0
  406. package/src/types/ScriptEvents.ts +11 -0
  407. package/src/types/ScriptOperation.ts +42 -0
  408. package/src/types/Settings.ts +20 -0
  409. package/src/types/index.ts +6 -2
  410. package/src/types/types.ts +5 -0
  411. package/src/util/deploy.ts +33 -41
  412. package/src/util/functions.ts +35 -30
  413. package/src/vite-env.d.ts +7 -0
  414. package/dist/lib/browser/DeploymentDialog-65TWT6S5.mjs +0 -13
  415. package/dist/lib/browser/NotebookContainer-LVGRPFY3.mjs.map +0 -7
  416. package/dist/lib/browser/ScriptContainer-LRTRN7JW.mjs +0 -149
  417. package/dist/lib/browser/ScriptContainer-LRTRN7JW.mjs.map +0 -7
  418. package/dist/lib/browser/app-graph-builder-DPYULSME.mjs +0 -65
  419. package/dist/lib/browser/app-graph-builder-DPYULSME.mjs.map +0 -7
  420. package/dist/lib/browser/blueprint-definition-ET5KZ46I.mjs +0 -28
  421. package/dist/lib/browser/blueprint-definition-ET5KZ46I.mjs.map +0 -7
  422. package/dist/lib/browser/chunk-5CYLWXRH.mjs +0 -89
  423. package/dist/lib/browser/chunk-5CYLWXRH.mjs.map +0 -7
  424. package/dist/lib/browser/chunk-75LH4EUR.mjs +0 -326
  425. package/dist/lib/browser/chunk-75LH4EUR.mjs.map +0 -7
  426. package/dist/lib/browser/chunk-E7DXDICD.mjs +0 -282
  427. package/dist/lib/browser/chunk-E7DXDICD.mjs.map +0 -7
  428. package/dist/lib/browser/chunk-EZVXV6DA.mjs +0 -26
  429. package/dist/lib/browser/chunk-EZVXV6DA.mjs.map +0 -7
  430. package/dist/lib/browser/chunk-I3QSGUFJ.mjs +0 -646
  431. package/dist/lib/browser/chunk-I3QSGUFJ.mjs.map +0 -7
  432. package/dist/lib/browser/chunk-JO2O7W6J.mjs +0 -254
  433. package/dist/lib/browser/chunk-JO2O7W6J.mjs.map +0 -7
  434. package/dist/lib/browser/chunk-N6M34EUC.mjs +0 -112
  435. package/dist/lib/browser/chunk-N6M34EUC.mjs.map +0 -7
  436. package/dist/lib/browser/chunk-NM4WQS4F.mjs +0 -153
  437. package/dist/lib/browser/chunk-NM4WQS4F.mjs.map +0 -7
  438. package/dist/lib/browser/chunk-OKXN2N7M.mjs +0 -15
  439. package/dist/lib/browser/chunk-OKXN2N7M.mjs.map +0 -7
  440. package/dist/lib/browser/chunk-ST3ACVUC.mjs +0 -88
  441. package/dist/lib/browser/chunk-ST3ACVUC.mjs.map +0 -7
  442. package/dist/lib/browser/compiler-G2N2CG63.mjs +0 -98
  443. package/dist/lib/browser/compiler-G2N2CG63.mjs.map +0 -7
  444. package/dist/lib/browser/index.mjs +0 -279
  445. package/dist/lib/browser/index.mjs.map +0 -7
  446. package/dist/lib/browser/intent-resolver-JLU7DVLQ.mjs +0 -105
  447. package/dist/lib/browser/intent-resolver-JLU7DVLQ.mjs.map +0 -7
  448. package/dist/lib/browser/meta.json +0 -1
  449. package/dist/lib/browser/react-surface-76SDTUYG.mjs +0 -127
  450. package/dist/lib/browser/react-surface-76SDTUYG.mjs.map +0 -7
  451. package/dist/lib/browser/settings-ERFKVNUK.mjs +0 -25
  452. package/dist/lib/browser/settings-ERFKVNUK.mjs.map +0 -7
  453. package/dist/lib/browser/types/index.mjs +0 -13
  454. package/dist/lib/node-esm/DeploymentDialog-I63ZC2HH.mjs +0 -14
  455. package/dist/lib/node-esm/NotebookContainer-QY5NJGJI.mjs +0 -684
  456. package/dist/lib/node-esm/NotebookContainer-QY5NJGJI.mjs.map +0 -7
  457. package/dist/lib/node-esm/ScriptContainer-SVXCSLNH.mjs +0 -150
  458. package/dist/lib/node-esm/ScriptContainer-SVXCSLNH.mjs.map +0 -7
  459. package/dist/lib/node-esm/app-graph-builder-UXJGHXSL.mjs +0 -66
  460. package/dist/lib/node-esm/app-graph-builder-UXJGHXSL.mjs.map +0 -7
  461. package/dist/lib/node-esm/blueprint-definition-AIYFOT7Q.mjs +0 -30
  462. package/dist/lib/node-esm/blueprint-definition-AIYFOT7Q.mjs.map +0 -7
  463. package/dist/lib/node-esm/chunk-2GVTWESW.mjs +0 -90
  464. package/dist/lib/node-esm/chunk-2GVTWESW.mjs.map +0 -7
  465. package/dist/lib/node-esm/chunk-4X375PGY.mjs +0 -90
  466. package/dist/lib/node-esm/chunk-4X375PGY.mjs.map +0 -7
  467. package/dist/lib/node-esm/chunk-67OVZHI3.mjs +0 -327
  468. package/dist/lib/node-esm/chunk-67OVZHI3.mjs.map +0 -7
  469. package/dist/lib/node-esm/chunk-C2ORIPKH.mjs +0 -154
  470. package/dist/lib/node-esm/chunk-C2ORIPKH.mjs.map +0 -7
  471. package/dist/lib/node-esm/chunk-NUXZQQ6P.mjs +0 -16
  472. package/dist/lib/node-esm/chunk-NUXZQQ6P.mjs.map +0 -7
  473. package/dist/lib/node-esm/chunk-OG2SIKHE.mjs +0 -28
  474. package/dist/lib/node-esm/chunk-OG2SIKHE.mjs.map +0 -7
  475. package/dist/lib/node-esm/chunk-SMFPSKQT.mjs +0 -647
  476. package/dist/lib/node-esm/chunk-SMFPSKQT.mjs.map +0 -7
  477. package/dist/lib/node-esm/chunk-VRSDE4CI.mjs +0 -114
  478. package/dist/lib/node-esm/chunk-VRSDE4CI.mjs.map +0 -7
  479. package/dist/lib/node-esm/chunk-VZAFGLD7.mjs +0 -283
  480. package/dist/lib/node-esm/chunk-VZAFGLD7.mjs.map +0 -7
  481. package/dist/lib/node-esm/chunk-YW36TZ7K.mjs +0 -255
  482. package/dist/lib/node-esm/chunk-YW36TZ7K.mjs.map +0 -7
  483. package/dist/lib/node-esm/compiler-PLDAZ5GJ.mjs +0 -99
  484. package/dist/lib/node-esm/compiler-PLDAZ5GJ.mjs.map +0 -7
  485. package/dist/lib/node-esm/index.mjs +0 -280
  486. package/dist/lib/node-esm/index.mjs.map +0 -7
  487. package/dist/lib/node-esm/intent-resolver-SFGTIFOG.mjs +0 -106
  488. package/dist/lib/node-esm/intent-resolver-SFGTIFOG.mjs.map +0 -7
  489. package/dist/lib/node-esm/meta.json +0 -1
  490. package/dist/lib/node-esm/react-surface-SHEBNW4R.mjs +0 -128
  491. package/dist/lib/node-esm/react-surface-SHEBNW4R.mjs.map +0 -7
  492. package/dist/lib/node-esm/settings-5TYXQ42N.mjs +0 -26
  493. package/dist/lib/node-esm/settings-5TYXQ42N.mjs.map +0 -7
  494. package/dist/lib/node-esm/templates/index.mjs +0 -10
  495. package/dist/lib/node-esm/types/index.mjs +0 -14
  496. package/dist/types/src/capabilities/artifact-definition.d.ts +0 -11
  497. package/dist/types/src/capabilities/artifact-definition.d.ts.map +0 -1
  498. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  499. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  500. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  501. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  502. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +0 -1
  503. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +0 -251
  504. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +0 -1
  505. package/dist/types/src/components/DeploymentDialog/index.d.ts +0 -4
  506. package/dist/types/src/components/DeploymentDialog/index.d.ts.map +0 -1
  507. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts +0 -12
  508. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +0 -1
  509. package/dist/types/src/components/FrameContainer/frame.d.ts +0 -2
  510. package/dist/types/src/components/FrameContainer/frame.d.ts.map +0 -1
  511. package/dist/types/src/components/FrameContainer/index.d.ts +0 -2
  512. package/dist/types/src/components/FrameContainer/index.d.ts.map +0 -1
  513. package/dist/types/src/components/NotebookContainer.d.ts +0 -10
  514. package/dist/types/src/components/NotebookContainer.d.ts.map +0 -1
  515. package/dist/types/src/components/NotebookContainer.stories.d.ts +0 -248
  516. package/dist/types/src/components/NotebookContainer.stories.d.ts.map +0 -1
  517. package/dist/types/src/components/ScriptContainer.d.ts +0 -12
  518. package/dist/types/src/components/ScriptContainer.d.ts.map +0 -1
  519. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +0 -8
  520. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +0 -1
  521. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts +0 -6
  522. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +0 -1
  523. package/dist/types/src/components/Settings/index.d.ts +0 -3
  524. package/dist/types/src/components/Settings/index.d.ts.map +0 -1
  525. package/dist/types/src/components/TestPanel/TestContainer.d.ts +0 -8
  526. package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +0 -1
  527. package/dist/types/src/events.d.ts +0 -4
  528. package/dist/types/src/events.d.ts.map +0 -1
  529. package/dist/types/src/notebook/notebook.d.ts +0 -35
  530. package/dist/types/src/notebook/notebook.d.ts.map +0 -1
  531. package/dist/types/src/notebook/notebook.test.d.ts +0 -2
  532. package/dist/types/src/notebook/notebook.test.d.ts.map +0 -1
  533. package/dist/types/src/templates/chat.d.ts +0 -6
  534. package/dist/types/src/templates/chat.d.ts.map +0 -1
  535. package/dist/types/src/templates/chess.d.ts +0 -3
  536. package/dist/types/src/templates/chess.d.ts.map +0 -1
  537. package/dist/types/src/testing/data.d.ts +0 -19
  538. package/dist/types/src/testing/data.d.ts.map +0 -1
  539. package/dist/types/src/types/actions.d.ts +0 -66
  540. package/dist/types/src/types/actions.d.ts.map +0 -1
  541. package/dist/types/src/types/schema.d.ts +0 -61
  542. package/dist/types/src/types/schema.d.ts.map +0 -1
  543. package/src/capabilities/artifact-definition.ts +0 -225
  544. package/src/capabilities/capabilities.ts +0 -12
  545. package/src/capabilities/intent-resolver.ts +0 -87
  546. package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +0 -53
  547. package/src/components/DeploymentDialog/DeploymentDialog.tsx +0 -106
  548. package/src/components/DeploymentDialog/index.ts +0 -9
  549. package/src/components/FrameContainer/FrameContainer.tsx +0 -84
  550. package/src/components/FrameContainer/frame.html +0 -25
  551. package/src/components/FrameContainer/frame.tsx +0 -51
  552. package/src/components/FrameContainer/index.ts +0 -5
  553. package/src/components/NotebookContainer.stories.tsx +0 -32
  554. package/src/components/NotebookContainer.tsx +0 -124
  555. package/src/components/ScriptContainer.tsx +0 -69
  556. package/src/components/Settings/ScriptObjectSettings.tsx +0 -286
  557. package/src/components/Settings/ScriptPluginSettings.tsx +0 -61
  558. package/src/components/Settings/index.ts +0 -6
  559. package/src/components/TestPanel/TestContainer.tsx +0 -27
  560. package/src/events.ts +0 -11
  561. package/src/notebook/notebook.test.ts +0 -70
  562. package/src/templates/chat.ts +0 -96
  563. package/src/templates/chess.ts +0 -49
  564. package/src/testing/data.ts +0 -47
  565. package/src/types/actions.ts +0 -53
  566. package/src/types/schema.ts +0 -48
  567. /package/dist/lib/{browser/templates → neutral/blueprints}/index.mjs.map +0 -0
  568. /package/dist/lib/{browser/DeploymentDialog-65TWT6S5.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  569. /package/dist/lib/{browser/types → neutral}/index.mjs.map +0 -0
  570. /package/dist/lib/{node-esm/DeploymentDialog-I63ZC2HH.mjs.map → neutral/meta.mjs.map} +0 -0
  571. /package/dist/lib/{node-esm/templates → neutral/operations}/index.mjs.map +0 -0
  572. /package/dist/lib/{node-esm/types → neutral/templates}/index.mjs.map +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/NotebookContainer.tsx", "../../../src/notebook/notebook.ts", "../../../src/notebook/eval.ts", "../../../src/notebook/vfs-parser.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { Ref } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { Assistant } from '@dxos/plugin-assistant';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { DropdownMenu, IconButton, Toolbar, useTranslation } from '@dxos/react-ui';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { DataType } from '@dxos/schema';\n\nimport { meta } from '../meta';\nimport { ComputeGraph } from '../notebook';\nimport { type Notebook } from '../types';\n\nimport { NotebookMenu, NotebookStack, type NotebookStackProps } from './NotebookStack';\nimport { type TypescriptEditorProps } from './TypescriptEditor';\n\n// TODO(burdon): Support calling named deployed functions (as with sheet).\n\nexport type NotebookContainerProps = {\n role?: string;\n notebook?: Notebook.Notebook;\n} & Pick<TypescriptEditorProps, 'env'>;\n\nexport const NotebookContainer = ({ notebook, env }: NotebookContainerProps) => {\n const { t } = useTranslation(meta.id);\n const space = getSpace(notebook);\n const graph = useMemo(() => notebook && new ComputeGraph(notebook), [notebook]);\n\n // TODO(burdon): Cache values in context (preserve when switched).\n const handleCompute = useCallback(() => {\n graph?.evaluate();\n }, [graph]);\n\n const handleRearrange = useCallback<NonNullable<NotebookStackProps['onRearrange']>>(\n (source, target) => {\n invariant(notebook);\n const from = notebook.cells.findIndex((cell) => cell.id === source.id);\n const to = notebook.cells.findIndex((cell) => cell.id === target.id);\n if (from != null && to != null) {\n const cell = notebook.cells.splice(from, 1)[0];\n if (cell) {\n notebook.cells.splice(to, 0, cell);\n }\n }\n },\n [notebook],\n );\n\n const handleCellInsert = useCallback<NonNullable<NotebookStackProps['onCellInsert']>>(\n (type, after) => {\n invariant(notebook);\n const cell: Notebook.Cell = { id: crypto.randomUUID(), type };\n switch (type) {\n case 'markdown':\n case 'script':\n case 'query': {\n cell.script = Ref.make(DataType.makeText());\n break;\n }\n\n case 'prompt': {\n if (space) {\n cell.chat = Ref.make(Assistant.makeChat({ queue: space.queues.create() }));\n }\n break;\n }\n }\n\n const idx = after ? notebook.cells.findIndex((cell) => cell.id === after) : notebook.cells.length;\n notebook.cells.splice(idx, 0, cell);\n },\n [space, notebook],\n );\n\n const handleCellDelete = useCallback<NonNullable<NotebookStackProps['onCellDelete']>>(\n (id) => {\n invariant(notebook);\n const idx = notebook.cells.findIndex((cell) => cell.id === id);\n if (idx !== -1) {\n notebook.cells.splice(idx, 1);\n }\n },\n [notebook],\n );\n\n return (\n <StackItem.Content toolbar>\n <Toolbar.Root textBlockWidth>\n <DropdownMenu.Root>\n <DropdownMenu.Trigger asChild>\n <IconButton icon='ph--plus--regular' iconOnly label={t('notebook cell insert label')} />\n </DropdownMenu.Trigger>\n <NotebookMenu onCellInsert={handleCellInsert} />\n </DropdownMenu.Root>\n <Toolbar.IconButton\n icon='ph--play--fill'\n iconOnly\n label={t('compute label')}\n classNames='text-green-500'\n onClick={handleCompute}\n />\n </Toolbar.Root>\n <div role='none' className='flex bs-full overflow-hidden -mis-[1px] -mie-[1px]'>\n <NotebookStack\n classNames='container-max-width border-l border-r border-subduedSeparator'\n space={space}\n notebook={notebook}\n graph={graph}\n env={env}\n onRearrange={handleRearrange}\n onCellInsert={handleCellInsert}\n onCellDelete={handleCellDelete}\n />\n </div>\n </StackItem.Content>\n );\n};\n\nexport default NotebookContainer;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Signal, signal } from '@preact/signals-core';\n\nimport { log } from '@dxos/log';\n\nimport { type Notebook } from '../types';\n\nimport { evalScript } from './eval';\nimport { type ParsedExpression, VirtualTypeScriptParser } from './vfs-parser';\n\n/**\n * Compute graph that evaluates the notebook cells.\n */\nexport class ComputeGraph {\n private readonly _parser = new VirtualTypeScriptParser();\n\n private _expressions = signal<Record<string, ParsedExpression>>({});\n private _values = signal<Record<string, any>>({});\n\n constructor(private readonly _notebook: Notebook.Notebook) {}\n\n /**\n * Parsed expressions by cell ID.\n */\n get expressions(): Signal<Record<string, ParsedExpression>> {\n return this._expressions;\n }\n\n /**\n * Computed values by cell ID.\n */\n get values(): Signal<Record<string, any>> {\n return this._values;\n }\n\n /**\n * Compute values.\n */\n evaluate() {\n // Parse expressions.\n const { expressions, dependencyGraph } = this.parse();\n this._values.value = {};\n\n // Create a map of cell IDs to expressions for easy lookup.\n const cellExpressions = new Map<string, ParsedExpression>();\n Object.entries(expressions).forEach(([id, expr]) => {\n cellExpressions.set(id, expr);\n });\n\n // Topological sort to determine evaluation order.\n const evaluationOrder = this.topologicalSort(Object.keys(expressions), dependencyGraph);\n\n // Values by reference name.\n const valuesByName: Record<string, any> = {};\n const valuesByCellId: Record<string, any> = {};\n\n // Evaluate cells in dependency order.\n for (const cellId of evaluationOrder) {\n const expr = cellExpressions.get(cellId);\n if (!expr) {\n log.error('no expression for cell', { cellId });\n continue;\n }\n\n const cellSource = this._notebook.cells.find((cell) => cell.id === cellId)?.script?.target?.content;\n if (!cellSource) {\n log.error('no source for cell', { cellId });\n continue;\n }\n\n try {\n // For assignments or declarations, evaluate and store the value.\n if (expr.name && expr.value !== undefined) {\n // If the parser extracted a literal value, use it directly.\n valuesByName[expr.name] = expr.value;\n valuesByCellId[cellId] = expr.value;\n } else if (expr.name) {\n // For non-literal assignments, we need to evaluate the expression.\n // The parser identifies it's an assignment, so we can extract the RHS.\n const equalIndex = cellSource.indexOf('=');\n if (equalIndex !== -1) {\n // Find the actual assignment operator (not in strings or other contexts).\n let rhs = cellSource.substring(equalIndex + 1).trim();\n\n // Handle semicolon at the end.\n if (rhs.endsWith(';')) {\n rhs = rhs.slice(0, -1).trim();\n }\n\n const result = evalScript(rhs, valuesByName);\n valuesByName[expr.name] = result;\n if (typeof result !== 'function') {\n valuesByCellId[cellId] = result;\n }\n }\n } else {\n // For expressions without assignment, just evaluate.\n const result = evalScript(cellSource, valuesByName);\n valuesByCellId[cellId] = result;\n }\n } catch (error) {\n log.error('error evaluating cell', { cellId, error });\n }\n }\n\n this._values.value = valuesByCellId;\n return valuesByCellId;\n }\n\n /**\n * Parse expressions.\n */\n parse() {\n const expressions = this._notebook.cells\n .filter((cell) => cell.type === 'script')\n .reduce<Record<string, ParsedExpression>>((acc, cell) => {\n const text = cell.script?.target?.content.trim();\n if (text) {\n const parsed = this._parser.parseExpression(text);\n acc[cell.id] = parsed;\n }\n\n return acc;\n }, {});\n\n // Build dependency graph.\n const dependencyGraph = this.buildDependencyGraph(expressions);\n this._expressions.value = expressions;\n return { expressions, dependencyGraph };\n }\n\n private topologicalSort(nodes: string[], dependencies: Record<string, string[]>): string[] {\n const visited = new Set<string>();\n const result: string[] = [];\n\n const visit = (node: string) => {\n if (visited.has(node)) {\n return;\n }\n\n visited.add(node);\n\n // Visit dependencies first.\n const deps = dependencies[node] || [];\n deps.forEach((dep) => visit(dep));\n result.push(node);\n };\n\n // Visit all nodes.\n nodes.forEach((node) => visit(node));\n return result;\n }\n\n private buildDependencyGraph(expressions: Record<string, ParsedExpression>): Record<string, string[]> {\n // Create a map of variable names to their cell IDs.\n const nameToCellId = new Map<string, string>();\n Object.entries(expressions).forEach(([id, expr]) => {\n if (expr.name) {\n nameToCellId.set(expr.name, id);\n }\n });\n\n // Build the dependency graph using cell IDs.\n const graph: Record<string, string[]> = {};\n Object.entries(expressions).forEach(([id, expr]) => {\n if (expr.references && expr.references.length > 0) {\n // Map variable references to cell IDs.\n const dependencyCellIds = expr.references\n .map((ref) => nameToCellId.get(ref))\n .filter((cellId): cellId is string => cellId !== undefined && cellId !== id);\n\n if (dependencyCellIds.length > 0) {\n graph[id] = dependencyCellIds;\n }\n }\n });\n\n return graph;\n }\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { trim } from '@dxos/util';\n\n/**\n * Evaluate the script (with dependencies as arguments).\n */\nexport const evalScript = (code: string, deps: Record<string, any> = {}) => {\n // Create a sandboxed environment that blocks access to window and document.\n const sandbox = {\n ...deps,\n\n // Block access to global objects.\n console: undefined,\n document: undefined,\n global: undefined,\n globalThis: undefined,\n self: undefined,\n window: undefined,\n\n // Allow some safe globals.\n Array,\n Boolean,\n Date,\n Error,\n JSON,\n Map,\n Math,\n Number,\n Object,\n Promise,\n RegExp,\n Set,\n String,\n\n // Functions.\n isFinite,\n isNaN,\n parseFloat,\n parseInt,\n\n // Note: undefined and null are not included as they are keywords, not variables.\n };\n\n // Create function with all sandbox keys as parameters.\n const sandboxKeys = Object.keys(sandbox);\n const sandboxValues = Object.values(sandbox);\n\n // eslint-disable-next-line @typescript-eslint/no-implied-eval\n const fn = new Function(\n ...sandboxKeys,\n trim`\n 'use strict';\n return ${code};\n `,\n );\n\n return fn(...sandboxValues);\n};\n\n/**\n * Globals.\n */\nexport const builtIns = new Set([\n // Types.\n 'Array',\n 'Date',\n 'Error',\n 'JSON',\n 'Map',\n 'Math',\n 'Number',\n 'Object',\n 'Promise',\n 'RegExp',\n 'Set',\n 'String',\n\n // Functions.\n 'isFinite',\n 'isNaN',\n 'parseFloat',\n 'parseInt',\n]);\n\n/**\n * Default system definitions.\n */\nexport const systemDefinitions = trim`\n interface Array<T> { length: number; [n: number]: T; }\n interface Boolean {}\n interface Function {}\n interface IArguments {}\n interface Number {}\n interface Object {}\n interface RegExp {}\n interface String { length: number; }\n\n interface CallableFunction extends Function {}\n interface NewableFunction extends Function {}\n\n declare var console: { log(...args: any[]): void };\n`;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { createSystem, createVirtualTypeScriptEnvironment } from '@typescript/vfs';\nimport ts from 'typescript';\n\nimport { invariant } from '@dxos/invariant';\n\nimport { builtIns, systemDefinitions } from './eval';\n\n/**\n * Default system definitions.\n */\nconst systemFiles: VirtualFile[] = [\n {\n filename: '/lib.d.ts',\n content: systemDefinitions,\n },\n];\n\nexport type ParsedExpression = {\n name?: string;\n type?: 'function' | 'variable' | 'class' | 'interface';\n value?: any;\n valueType?: string;\n parameters?: Array<{ name: string; type: string }>;\n returnType?: string;\n references?: string[];\n};\n\nexport type VirtualFile = {\n filename: string;\n content: string;\n};\n\n/**\n * TypeScript parser using Virtual File System for browser compatibility.\n * This provides full TypeScript analysis including type information.\n */\nexport class VirtualTypeScriptParser {\n protected compilerOptions: ts.CompilerOptions = {\n target: ts.ScriptTarget.ES2020,\n module: ts.ModuleKind.ESNext,\n strict: true,\n esModuleInterop: true,\n skipLibCheck: true,\n forceConsistentCasingInfilenames: true,\n jsx: ts.JsxEmit.React,\n noLib: true, // Don't automatically include default lib files.\n };\n\n /**\n * Parse a single expression or statement.\n */\n parseExpression(input: string): ParsedExpression {\n invariant(input.trim() !== '', 'input must not be empty');\n const files: VirtualFile[] = [{ filename: '/temp.ts', content: input }];\n const analysis = this.analyzeFiles(files);\n\n // If no declarations found, check for standalone expression references.\n if (analysis.length === 0) {\n const sourcefilename = '/temp.ts';\n const env = this.createEnvironment([{ filename: sourcefilename, content: input }]);\n const sourceFile = env.getSourceFile(sourcefilename);\n const typeChecker = env.languageService.getProgram()?.getTypeChecker();\n\n if (sourceFile && typeChecker) {\n // Check for assignment expressions.\n const assignmentInfo = this.findAssignmentExpression(sourceFile, typeChecker);\n if (assignmentInfo) {\n return assignmentInfo;\n }\n\n const references = this.findAllReferences(sourceFile, typeChecker);\n return { references };\n }\n }\n\n return analysis[0];\n }\n\n /**\n * Analyze multiple files with full type information.\n */\n analyzeFiles(files: VirtualFile[]): ParsedExpression[] {\n const env = this.createEnvironment(files);\n const results: ParsedExpression[] = [];\n const typeChecker = env.languageService.getProgram()?.getTypeChecker();\n\n // Analyze each file.\n files.forEach((file) => {\n const sourceFile = env.getSourceFile(file.filename);\n if (!sourceFile || !typeChecker) return;\n\n const fileResults = this.analyzeSourceFile(sourceFile, typeChecker);\n results.push(...fileResults);\n });\n\n return results;\n }\n\n /**\n * Analyze a source file with type information.\n */\n protected analyzeSourceFile(sourceFile: ts.SourceFile, typeChecker: ts.TypeChecker): ParsedExpression[] {\n const results: ParsedExpression[] = [];\n\n const visit = (node: ts.Node) => {\n // Function declarations.\n if (ts.isFunctionDeclaration(node) && node.name) {\n const symbol = typeChecker.getSymbolAtLocation(node.name);\n const type = symbol && typeChecker.getTypeOfSymbolAtLocation(symbol, node);\n const signature = type && typeChecker.getSignaturesOfType(type, ts.SignatureKind.Call)[0];\n\n results.push({\n name: node.name.text,\n type: 'function',\n parameters: this.extractParameters(signature, typeChecker),\n returnType: signature ? typeChecker.typeToString(signature.getReturnType()) : 'any',\n references: this.findReferences(node, sourceFile, typeChecker),\n });\n }\n\n // Variable declarations.\n else if (ts.isVariableStatement(node)) {\n node.declarationList.declarations.forEach((declaration) => {\n if (ts.isIdentifier(declaration.name)) {\n const symbol = typeChecker.getSymbolAtLocation(declaration.name);\n const type = symbol && typeChecker.getTypeOfSymbolAtLocation(symbol, declaration);\n\n let kind: 'function' | 'variable' = 'variable';\n let parameters: Array<{ name: string; type: string }> | undefined;\n let returnType: string | undefined;\n let value: any;\n\n // Get the type string.\n const typeString = type ? typeChecker.typeToString(type) : 'any';\n\n // Check if it's a function.\n if (declaration.initializer) {\n if (ts.isArrowFunction(declaration.initializer) || ts.isFunctionExpression(declaration.initializer)) {\n kind = 'function';\n const funcType = typeChecker.getTypeAtLocation(declaration.initializer);\n const signature = typeChecker.getSignaturesOfType(funcType, ts.SignatureKind.Call)[0];\n if (signature) {\n parameters = this.extractParameters(signature, typeChecker);\n returnType = typeChecker.typeToString(signature.getReturnType());\n }\n } else {\n // Extract literal values\n if (ts.isNumericLiteral(declaration.initializer)) {\n value = Number(declaration.initializer.text);\n } else if (ts.isStringLiteral(declaration.initializer)) {\n value = declaration.initializer.text;\n }\n }\n }\n\n // Find references in the initializer only.\n const refs = declaration.initializer\n ? this.findReferences(declaration.initializer, sourceFile, typeChecker)\n : [];\n\n results.push({\n name: declaration.name.text,\n type: kind,\n valueType: typeString,\n value,\n parameters,\n returnType,\n references: refs,\n });\n }\n });\n }\n\n // Class declarations.\n else if (ts.isClassDeclaration(node) && node.name) {\n results.push({\n name: node.name.text,\n type: 'class',\n references: this.findReferences(node, sourceFile, typeChecker),\n });\n }\n\n // Interface declarations.\n else if (ts.isInterfaceDeclaration(node)) {\n results.push({\n name: node.name.text,\n type: 'interface',\n references: this.findReferences(node, sourceFile, typeChecker),\n });\n }\n\n ts.forEachChild(node, visit);\n };\n\n visit(sourceFile);\n return results;\n }\n\n /**\n * Extract parameter information from a signature.\n */\n private extractParameters(\n signature: ts.Signature | undefined,\n typeChecker: ts.TypeChecker,\n ): Array<{ name: string; type: string }> {\n if (!signature) return [];\n\n return signature.parameters.map((param) => ({\n name: param.getName(),\n type: typeChecker.typeToString(typeChecker.getTypeOfSymbolAtLocation(param, param.valueDeclaration!)),\n }));\n }\n\n /**\n * Find all references to variables used in a node.\n */\n private findReferences(node: ts.Node, _sourceFile: ts.SourceFile, _typeChecker: ts.TypeChecker): string[] {\n const references = new Set<string>();\n const localSymbols = new Set<string>();\n\n // First, collect local symbols (parameters, local variables).\n const collectLocalSymbols = (node: ts.Node) => {\n if (ts.isFunctionDeclaration(node) || ts.isArrowFunction(node) || ts.isFunctionExpression(node)) {\n node.parameters.forEach((param) => {\n if (ts.isIdentifier(param.name)) {\n localSymbols.add(param.name.text);\n }\n });\n }\n\n if (ts.isVariableDeclaration(node) && ts.isIdentifier(node.name)) {\n localSymbols.add(node.name.text);\n }\n\n ts.forEachChild(node, collectLocalSymbols);\n };\n\n collectLocalSymbols(node);\n\n // Then find all identifier references.\n const findRefs = (node: ts.Node) => {\n if (ts.isIdentifier(node)) {\n // Skip if it's a local symbol.\n if (!localSymbols.has(node.text)) {\n // Check if it's a reference (not a declaration).\n const parent = node.parent;\n const isDeclaration =\n (ts.isVariableDeclaration(parent) && parent.name === node) ||\n (ts.isFunctionDeclaration(parent) && parent.name === node) ||\n (ts.isParameter(parent) && parent.name === node);\n\n if (!isDeclaration && !this.isBuiltIn(node.text)) {\n references.add(node.text);\n }\n }\n }\n ts.forEachChild(node, findRefs);\n };\n\n findRefs(node);\n return Array.from(references);\n }\n\n /**\n * Check if a name is a built-in global.\n */\n protected isBuiltIn(name: string): boolean {\n return builtIns.has(name);\n }\n\n /**\n * Find assignment expressions in a source file.\n */\n private findAssignmentExpression(sourceFile: ts.SourceFile, typeChecker: ts.TypeChecker): ParsedExpression | null {\n let result: ParsedExpression | null = null;\n\n const visit = (node: ts.Node) => {\n if (ts.isExpressionStatement(node) && ts.isBinaryExpression(node.expression)) {\n const expr = node.expression;\n if (expr.operatorToken.kind === ts.SyntaxKind.EqualsToken && ts.isIdentifier(expr.left)) {\n const type = typeChecker.getTypeAtLocation(expr.right);\n const typeString = typeChecker.typeToString(type);\n\n // Get the literal value if it's a literal.\n let value: any;\n if (ts.isNumericLiteral(expr.right)) {\n value = Number(expr.right.text);\n } else if (ts.isStringLiteral(expr.right)) {\n value = expr.right.text;\n }\n\n // Find references in the right-hand side.\n const references = this.findReferences(expr.right, sourceFile, typeChecker);\n\n result = {\n name: expr.left.text,\n type: 'variable',\n valueType: typeString,\n value,\n references,\n };\n }\n }\n if (!result) {\n ts.forEachChild(node, visit);\n }\n };\n\n visit(sourceFile);\n return result;\n }\n\n /**\n * Find all identifier references in a source file.\n */\n protected findAllReferences(sourceFile: ts.SourceFile, _typeChecker: ts.TypeChecker): string[] {\n const references = new Set<string>();\n\n const visit = (node: ts.Node) => {\n if (ts.isIdentifier(node)) {\n // Skip if it's a declaration.\n const parent = node.parent;\n const isDeclaration =\n (ts.isVariableDeclaration(parent) && parent.name === node) ||\n (ts.isFunctionDeclaration(parent) && parent.name === node) ||\n (ts.isParameter(parent) && parent.name === node);\n\n // Skip if it's the left-hand side of an assignment.\n const isAssignmentTarget =\n ts.isBinaryExpression(parent) &&\n parent.operatorToken.kind === ts.SyntaxKind.EqualsToken &&\n parent.left === node;\n\n if (!isDeclaration && !isAssignmentTarget && !this.isBuiltIn(node.text)) {\n references.add(node.text);\n }\n }\n ts.forEachChild(node, visit);\n };\n\n visit(sourceFile);\n return Array.from(references);\n }\n\n protected createEnvironment(files: VirtualFile[]) {\n const allFiles = [...systemFiles, ...files];\n\n const fileMap = new Map<string, string>();\n allFiles.forEach(({ filename, content }) => {\n fileMap.set(filename, content);\n });\n\n const system = createSystem(fileMap);\n return createVirtualTypeScriptEnvironment(\n system,\n allFiles.map(({ filename }) => filename),\n ts,\n this.compilerOptions,\n );\n }\n}\n\n/**\n * Notebook-specific parser with dependency analysis.\n */\nexport class NotebookVirtualParser extends VirtualTypeScriptParser {\n /**\n * Analyze notebook cells with full type checking.\n */\n analyzeNotebook(cells: Array<{ id: string; code: string }>) {\n // Create cumulative environment where each cell can see previous cells.\n const cumulativeCode: string[] = [];\n const cellAnalysis: Map<\n string,\n {\n exports: ParsedExpression[];\n imports: string[];\n errors: ts.Diagnostic[];\n }\n > = new Map();\n\n cells.forEach((cell) => {\n // Create files for all cells up to current.\n const files: VirtualFile[] = [];\n\n // Add previous cells as context.\n if (cumulativeCode.length > 0) {\n files.push({\n filename: '/context.ts',\n content: cumulativeCode.join('\\n'),\n });\n }\n\n // Add current cell.\n const filename = `/cell/${cell.id}.ts`;\n files.push({\n filename,\n content: cell.code,\n });\n\n // Create environment.\n const env = this.createEnvironment(files);\n\n // Get diagnostics (errors).\n const diagnostics = env.languageService.getSemanticDiagnostics(filename);\n\n // Analyze current cell.\n const sourceFile = env.getSourceFile(filename);\n const typeChecker = env.languageService.getProgram()?.getTypeChecker();\n\n if (sourceFile && typeChecker) {\n const exports = this.analyzeSourceFile(sourceFile, typeChecker);\n\n // Find all references in the current cell.\n const allRefs = new Set<string>();\n exports.forEach((exp) => {\n exp.references?.forEach((ref) => allRefs.add(ref));\n });\n\n // Also check for references not in exports (e.g., console.log(y)).\n const additionalRefs = this.findAllReferences(sourceFile, typeChecker);\n additionalRefs.forEach((ref) => allRefs.add(ref));\n\n // Determine which references are imports from previous cells.\n const previousExports = new Set<string>();\n for (const [_prevCellId, prevAnalysis] of cellAnalysis) {\n prevAnalysis.exports.forEach((exp) => {\n if (exp.name) previousExports.add(exp.name);\n });\n }\n\n const imports = Array.from(allRefs).filter((ref) => previousExports.has(ref));\n\n cellAnalysis.set(cell.id, {\n exports,\n imports,\n errors: diagnostics,\n });\n }\n\n // Add current cell code to cumulative.\n cumulativeCode.push(cell.code);\n });\n\n return cellAnalysis;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["React", "useCallback", "useMemo", "Ref", "invariant", "Assistant", "getSpace", "DropdownMenu", "IconButton", "Toolbar", "useTranslation", "StackItem", "DataType", "signal", "log", "trim", "evalScript", "code", "deps", "sandbox", "console", "undefined", "document", "global", "globalThis", "self", "window", "Array", "Boolean", "Date", "Error", "JSON", "Map", "Math", "Number", "Object", "Promise", "RegExp", "Set", "String", "isFinite", "isNaN", "parseFloat", "parseInt", "sandboxKeys", "keys", "sandboxValues", "values", "fn", "Function", "trim", "builtIns", "systemDefinitions", "createSystem", "createVirtualTypeScriptEnvironment", "ts", "invariant", "systemFiles", "filename", "content", "systemDefinitions", "VirtualTypeScriptParser", "parseExpression", "input", "invariant", "trim", "files", "analysis", "analyzeFiles", "length", "sourcefilename", "env", "createEnvironment", "sourceFile", "getSourceFile", "typeChecker", "languageService", "getProgram", "getTypeChecker", "assignmentInfo", "findAssignmentExpression", "references", "findAllReferences", "results", "forEach", "file", "fileResults", "analyzeSourceFile", "push", "visit", "node", "ts", "isFunctionDeclaration", "name", "symbol", "getSymbolAtLocation", "type", "getTypeOfSymbolAtLocation", "signature", "getSignaturesOfType", "SignatureKind", "Call", "text", "parameters", "extractParameters", "returnType", "typeToString", "getReturnType", "findReferences", "isVariableStatement", "declarationList", "declarations", "declaration", "isIdentifier", "kind", "value", "typeString", "initializer", "isArrowFunction", "isFunctionExpression", "funcType", "getTypeAtLocation", "isNumericLiteral", "Number", "isStringLiteral", "refs", "valueType", "isClassDeclaration", "isInterfaceDeclaration", "forEachChild", "map", "param", "getName", "valueDeclaration", "_sourceFile", "_typeChecker", "Set", "localSymbols", "collectLocalSymbols", "add", "isVariableDeclaration", "findRefs", "has", "parent", "isDeclaration", "isParameter", "isBuiltIn", "Array", "from", "builtIns", "result", "isExpressionStatement", "isBinaryExpression", "expression", "expr", "operatorToken", "SyntaxKind", "EqualsToken", "left", "right", "isAssignmentTarget", "allFiles", "fileMap", "Map", "set", "system", "createSystem", "createVirtualTypeScriptEnvironment", "compilerOptions", "target", "ScriptTarget", "ES2020", "module", "ModuleKind", "ESNext", "strict", "esModuleInterop", "skipLibCheck", "forceConsistentCasingInfilenames", "jsx", "JsxEmit", "React", "noLib", "ComputeGraph", "expressions", "_expressions", "values", "_values", "evaluate", "dependencyGraph", "parse", "value", "cellExpressions", "Map", "Object", "entries", "forEach", "id", "expr", "set", "evaluationOrder", "topologicalSort", "keys", "valuesByName", "valuesByCellId", "cellId", "get", "log", "error", "cellSource", "_notebook", "cells", "find", "cell", "script", "target", "content", "name", "undefined", "equalIndex", "indexOf", "rhs", "substring", "trim", "endsWith", "slice", "result", "evalScript", "filter", "type", "reduce", "acc", "text", "parsed", "_parser", "parseExpression", "buildDependencyGraph", "nodes", "dependencies", "visited", "Set", "visit", "node", "has", "add", "deps", "dep", "push", "nameToCellId", "graph", "references", "length", "dependencyCellIds", "map", "ref", "_define_property", "VirtualTypeScriptParser", "signal", "NotebookContainer", "notebook", "env", "t", "useTranslation", "meta", "id", "space", "getSpace", "graph", "useMemo", "ComputeGraph", "handleCompute", "useCallback", "evaluate", "handleRearrange", "source", "target", "invariant", "from", "cells", "findIndex", "cell", "to", "splice", "handleCellInsert", "type", "after", "crypto", "randomUUID", "script", "Ref", "make", "DataType", "makeText", "chat", "Assistant", "makeChat", "queue", "queues", "create", "idx", "length", "handleCellDelete", "StackItem", "Content", "toolbar", "Toolbar", "Root", "textBlockWidth", "DropdownMenu", "Trigger", "asChild", "IconButton", "icon", "iconOnly", "label", "NotebookMenu", "onCellInsert", "classNames", "onClick", "div", "role", "className", "NotebookStack", "onRearrange", "onCellDelete"]
7
- }
@@ -1,149 +0,0 @@
1
- import {
2
- createDeploy,
3
- createFormat,
4
- createTemplateSelect,
5
- useDeployDeps,
6
- useDeployState,
7
- useToolbarState
8
- } from "./chunk-E7DXDICD.mjs";
9
- import {
10
- TypescriptEditor
11
- } from "./chunk-N6M34EUC.mjs";
12
- import "./chunk-JO2O7W6J.mjs";
13
- import "./chunk-5CYLWXRH.mjs";
14
- import "./chunk-ST3ACVUC.mjs";
15
- import {
16
- meta
17
- } from "./chunk-EZVXV6DA.mjs";
18
-
19
- // src/components/ScriptContainer.tsx
20
- import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
21
- import React2, { useMemo as useMemo2 } from "react";
22
- import { createDocAccessor, getSpace } from "@dxos/react-client/echo";
23
- import { useIdentity } from "@dxos/react-client/halo";
24
- import { createDataExtensions, listener, stackItemContentEditorClassNames } from "@dxos/react-ui-editor";
25
- import { StackItem } from "@dxos/react-ui-stack";
26
-
27
- // src/components/ScriptToolbar/ScriptToolbar.tsx
28
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
29
- import { Rx } from "@effect-rx/rx-react";
30
- import React, { useMemo } from "react";
31
- import { fullyQualifiedId } from "@dxos/react-client/echo";
32
- import { ElevationProvider, useTranslation } from "@dxos/react-ui";
33
- import { MenuProvider, ToolbarMenu, createGapSeparator, rxFromSignal, useMenuActions } from "@dxos/react-ui-menu";
34
- var ScriptToolbar = ({ script, role, state, classNames }) => {
35
- var _effect = _useSignals();
36
- try {
37
- const { t } = useTranslation(meta.id);
38
- const options = useDeployDeps({
39
- script
40
- });
41
- const menu = useMemo(() => createToolbarActions({
42
- state,
43
- script,
44
- t,
45
- ...options
46
- }), [
47
- state,
48
- script,
49
- options,
50
- t
51
- ]);
52
- const actions = useMenuActions(menu);
53
- return /* @__PURE__ */ React.createElement(ElevationProvider, {
54
- elevation: role === "section" ? "positioned" : "base"
55
- }, /* @__PURE__ */ React.createElement(MenuProvider, {
56
- ...actions,
57
- attendableId: fullyQualifiedId(script)
58
- }, /* @__PURE__ */ React.createElement(ToolbarMenu, {
59
- classNames
60
- })));
61
- } finally {
62
- _effect.f();
63
- }
64
- };
65
- var createToolbarActions = ({ state, script, ...options }) => Rx.make((get) => get(rxFromSignal(() => {
66
- const templateSelect = createTemplateSelect(script);
67
- const format = createFormat(script);
68
- const gap = createGapSeparator();
69
- const deploy = createDeploy({
70
- state,
71
- script,
72
- ...options
73
- });
74
- return {
75
- nodes: [
76
- ...templateSelect.nodes,
77
- ...format.nodes,
78
- ...gap.nodes,
79
- ...deploy.nodes
80
- ],
81
- edges: [
82
- ...templateSelect.edges,
83
- ...format.edges,
84
- ...gap.edges,
85
- ...deploy.edges
86
- ]
87
- };
88
- })));
89
-
90
- // src/components/ScriptContainer.tsx
91
- var ScriptContainer = ({ role, script, settings = {
92
- editorInputMode: "vscode"
93
- }, env }) => {
94
- var _effect = _useSignals2();
95
- try {
96
- const identity = useIdentity();
97
- const space = getSpace(script);
98
- const state = useToolbarState();
99
- useDeployState({
100
- state,
101
- script
102
- });
103
- const extensions = useMemo2(() => script.source.target ? [
104
- listener({
105
- onChange: (text) => {
106
- if (script.source.target?.content !== text) {
107
- script.changed = true;
108
- }
109
- }
110
- }),
111
- createDataExtensions({
112
- id: script.id,
113
- text: createDocAccessor(script.source.target, [
114
- "content"
115
- ]),
116
- space,
117
- identity
118
- })
119
- ] : [], [
120
- identity,
121
- space,
122
- script,
123
- script.source.target
124
- ]);
125
- return /* @__PURE__ */ React2.createElement(StackItem.Content, {
126
- toolbar: true
127
- }, /* @__PURE__ */ React2.createElement(ScriptToolbar, {
128
- state,
129
- role,
130
- script
131
- }), /* @__PURE__ */ React2.createElement(TypescriptEditor, {
132
- id: script.id,
133
- env,
134
- initialValue: script.source?.target?.content,
135
- extensions,
136
- classNames: stackItemContentEditorClassNames(role),
137
- inputMode: settings.editorInputMode,
138
- toolbar: true
139
- }));
140
- } finally {
141
- _effect.f();
142
- }
143
- };
144
- var ScriptContainer_default = ScriptContainer;
145
- export {
146
- ScriptContainer,
147
- ScriptContainer_default as default
148
- };
149
- //# sourceMappingURL=ScriptContainer-LRTRN7JW.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/ScriptContainer.tsx", "../../../src/components/ScriptToolbar/ScriptToolbar.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { type ScriptType } from '@dxos/functions';\nimport { createDocAccessor, getSpace } from '@dxos/react-client/echo';\nimport { useIdentity } from '@dxos/react-client/halo';\nimport { createDataExtensions, listener, stackItemContentEditorClassNames } from '@dxos/react-ui-editor';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { useDeployState, useToolbarState } from '../hooks';\nimport { type ScriptSettings } from '../types';\n\nimport { ScriptToolbar } from './ScriptToolbar';\nimport { TypescriptEditor, type TypescriptEditorProps } from './TypescriptEditor';\n\nexport type ScriptEditorProps = {\n role: string;\n script: ScriptType;\n settings?: ScriptSettings;\n} & Pick<TypescriptEditorProps, 'env'>;\n\nexport const ScriptContainer = ({ role, script, settings = { editorInputMode: 'vscode' }, env }: ScriptEditorProps) => {\n const identity = useIdentity();\n const space = getSpace(script);\n const state = useToolbarState();\n useDeployState({ state, script });\n\n const extensions = useMemo(\n () =>\n script.source.target\n ? [\n listener({\n onChange: (text) => {\n if (script.source.target?.content !== text) {\n script.changed = true;\n }\n },\n }),\n createDataExtensions({\n id: script.id,\n text: createDocAccessor(script.source.target, ['content']),\n space,\n identity,\n }),\n ]\n : [],\n [identity, space, script, script.source.target],\n );\n\n return (\n <StackItem.Content toolbar>\n <ScriptToolbar state={state} role={role} script={script} />\n <TypescriptEditor\n id={script.id}\n env={env}\n initialValue={script.source?.target?.content}\n extensions={extensions}\n classNames={stackItemContentEditorClassNames(role)}\n inputMode={settings.editorInputMode}\n toolbar\n />\n </StackItem.Content>\n );\n};\n\nexport default ScriptContainer;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport React, { useMemo } from 'react';\n\nimport { type ScriptType } from '@dxos/functions';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { ElevationProvider, type ThemedClassName, useTranslation } from '@dxos/react-ui';\nimport {\n type ActionGraphProps,\n MenuProvider,\n ToolbarMenu,\n createGapSeparator,\n rxFromSignal,\n useMenuActions,\n} from '@dxos/react-ui-menu';\n\nimport {\n type CreateDeployOptions,\n type ScriptToolbarState,\n createDeploy,\n createFormat,\n createTemplateSelect,\n useDeployDeps,\n} from '../../hooks';\nimport { meta } from '../../meta';\n\nexport type ScriptToolbarProps = ThemedClassName<{\n role?: string;\n script: ScriptType;\n state: ScriptToolbarState;\n}>;\n\nexport const ScriptToolbar = ({ script, role, state, classNames }: ScriptToolbarProps) => {\n const { t } = useTranslation(meta.id);\n const options = useDeployDeps({ script });\n const menu = useMemo(() => createToolbarActions({ state, script, t, ...options }), [state, script, options, t]);\n const actions = useMenuActions(menu);\n\n return (\n <ElevationProvider elevation={role === 'section' ? 'positioned' : 'base'}>\n <MenuProvider {...actions} attendableId={fullyQualifiedId(script)}>\n <ToolbarMenu classNames={classNames} />\n </MenuProvider>\n </ElevationProvider>\n );\n};\n\nconst createToolbarActions = ({ state, script, ...options }: CreateDeployOptions): Rx.Rx<ActionGraphProps> =>\n Rx.make((get) =>\n get(\n rxFromSignal(() => {\n const templateSelect = createTemplateSelect(script);\n const format = createFormat(script);\n const gap = createGapSeparator();\n const deploy = createDeploy({ state, script, ...options });\n return {\n nodes: [...templateSelect.nodes, ...format.nodes, ...gap.nodes, ...deploy.nodes],\n edges: [...templateSelect.edges, ...format.edges, ...gap.edges, ...deploy.edges],\n };\n }),\n ),\n );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAIA,OAAOA,UAASC,WAAAA,gBAAe;AAG/B,SAASC,mBAAmBC,gBAAgB;AAC5C,SAASC,mBAAmB;AAC5B,SAASC,sBAAsBC,UAAUC,wCAAwC;AACjF,SAASC,iBAAiB;;;;ACN1B,SAASC,UAAU;AACnB,OAAOC,SAASC,eAAe;AAG/B,SAASC,wBAAwB;AACjC,SAASC,mBAAyCC,sBAAsB;AACxE,SAEEC,cACAC,aACAC,oBACAC,cACAC,sBACK;AAkBA,IAAMC,gBAAgB,CAAC,EAAEC,QAAQC,MAAMC,OAAOC,WAAU,MAAsB;;;AACnF,UAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,UAAMC,UAAUC,cAAc;MAAET;IAAO,CAAA;AACvC,UAAMU,OAAOC,QAAQ,MAAMC,qBAAqB;MAAEV;MAAOF;MAAQI;MAAG,GAAGI;IAAQ,CAAA,GAAI;MAACN;MAAOF;MAAQQ;MAASJ;KAAE;AAC9G,UAAMS,UAAUC,eAAeJ,IAAAA;AAE/B,WACE,sBAAA,cAACK,mBAAAA;MAAkBC,WAAWf,SAAS,YAAY,eAAe;OAChE,sBAAA,cAACgB,cAAAA;MAAc,GAAGJ;MAASK,cAAcC,iBAAiBnB,MAAAA;OACxD,sBAAA,cAACoB,aAAAA;MAAYjB;;;;;AAIrB;AAEA,IAAMS,uBAAuB,CAAC,EAAEV,OAAOF,QAAQ,GAAGQ,QAAAA,MAChDa,GAAGC,KAAK,CAACC,QACPA,IACEC,aAAa,MAAA;AACX,QAAMC,iBAAiBC,qBAAqB1B,MAAAA;AAC5C,QAAM2B,SAASC,aAAa5B,MAAAA;AAC5B,QAAM6B,MAAMC,mBAAAA;AACZ,QAAMC,SAASC,aAAa;IAAE9B;IAAOF;IAAQ,GAAGQ;EAAQ,CAAA;AACxD,SAAO;IACLyB,OAAO;SAAIR,eAAeQ;SAAUN,OAAOM;SAAUJ,IAAII;SAAUF,OAAOE;;IAC1EC,OAAO;SAAIT,eAAeS;SAAUP,OAAOO;SAAUL,IAAIK;SAAUH,OAAOG;;EAC5E;AACF,CAAA,CAAA,CAAA;;;ADtCC,IAAMC,kBAAkB,CAAC,EAAEC,MAAMC,QAAQC,WAAW;EAAEC,iBAAiB;AAAS,GAAGC,IAAG,MAAqB;;;AAChH,UAAMC,WAAWC,YAAAA;AACjB,UAAMC,QAAQC,SAASP,MAAAA;AACvB,UAAMQ,QAAQC,gBAAAA;AACdC,mBAAe;MAAEF;MAAOR;IAAO,CAAA;AAE/B,UAAMW,aAAaC,SACjB,MACEZ,OAAOa,OAAOC,SACV;MACEC,SAAS;QACPC,UAAU,CAACC,SAAAA;AACT,cAAIjB,OAAOa,OAAOC,QAAQI,YAAYD,MAAM;AAC1CjB,mBAAOmB,UAAU;UACnB;QACF;MACF,CAAA;MACAC,qBAAqB;QACnBC,IAAIrB,OAAOqB;QACXJ,MAAMK,kBAAkBtB,OAAOa,OAAOC,QAAQ;UAAC;SAAU;QACzDR;QACAF;MACF,CAAA;QAEF,CAAA,GACN;MAACA;MAAUE;MAAON;MAAQA,OAAOa,OAAOC;KAAO;AAGjD,WACE,gBAAAS,OAAA,cAACC,UAAUC,SAAO;MAACC,SAAAA;OACjB,gBAAAH,OAAA,cAACI,eAAAA;MAAcnB;MAAcT;MAAYC;QACzC,gBAAAuB,OAAA,cAACK,kBAAAA;MACCP,IAAIrB,OAAOqB;MACXlB;MACA0B,cAAc7B,OAAOa,QAAQC,QAAQI;MACrCP;MACAmB,YAAYC,iCAAiChC,IAAAA;MAC7CiC,WAAW/B,SAASC;MACpBwB,SAAAA;;;;;AAIR;AAEA,IAAA,0BAAe5B;",
6
- "names": ["React", "useMemo", "createDocAccessor", "getSpace", "useIdentity", "createDataExtensions", "listener", "stackItemContentEditorClassNames", "StackItem", "Rx", "React", "useMemo", "fullyQualifiedId", "ElevationProvider", "useTranslation", "MenuProvider", "ToolbarMenu", "createGapSeparator", "rxFromSignal", "useMenuActions", "ScriptToolbar", "script", "role", "state", "classNames", "t", "useTranslation", "meta", "id", "options", "useDeployDeps", "menu", "useMemo", "createToolbarActions", "actions", "useMenuActions", "ElevationProvider", "elevation", "MenuProvider", "attendableId", "fullyQualifiedId", "ToolbarMenu", "Rx", "make", "get", "rxFromSignal", "templateSelect", "createTemplateSelect", "format", "createFormat", "gap", "createGapSeparator", "deploy", "createDeploy", "nodes", "edges", "ScriptContainer", "role", "script", "settings", "editorInputMode", "env", "identity", "useIdentity", "space", "getSpace", "state", "useToolbarState", "useDeployState", "extensions", "useMemo", "source", "target", "listener", "onChange", "text", "content", "changed", "createDataExtensions", "id", "createDocAccessor", "React", "StackItem", "Content", "toolbar", "ScriptToolbar", "TypescriptEditor", "initialValue", "classNames", "stackItemContentEditorClassNames", "inputMode"]
7
- }
@@ -1,65 +0,0 @@
1
- import {
2
- meta
3
- } from "./chunk-EZVXV6DA.mjs";
4
-
5
- // src/capabilities/app-graph-builder.ts
6
- import { Rx } from "@effect-rx/rx-react";
7
- import * as Function from "effect/Function";
8
- import * as Option from "effect/Option";
9
- import { Capabilities, contributes } from "@dxos/app-framework";
10
- import { Obj } from "@dxos/echo";
11
- import { ScriptType } from "@dxos/functions";
12
- import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
13
- import { createExtension } from "@dxos/plugin-graph";
14
- var app_graph_builder_default = ((context) => contributes(Capabilities.AppGraphBuilder, [
15
- createExtension({
16
- id: `${meta.id}/execute`,
17
- connector: (node) => Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(ScriptType, node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
18
- {
19
- id: [
20
- node2.id,
21
- "execute"
22
- ].join(ATTENDABLE_PATH_SEPARATOR),
23
- type: PLANK_COMPANION_TYPE,
24
- data: "execute",
25
- properties: {
26
- label: [
27
- "script test label",
28
- {
29
- ns: meta.id
30
- }
31
- ],
32
- icon: "ph--terminal--regular",
33
- disposition: "hidden"
34
- }
35
- }
36
- ]), Option.getOrElse(() => [])))
37
- }),
38
- createExtension({
39
- id: `${meta.id}/logs`,
40
- connector: (node) => Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(ScriptType, node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
41
- {
42
- id: [
43
- node2.id,
44
- "logs"
45
- ].join(ATTENDABLE_PATH_SEPARATOR),
46
- type: PLANK_COMPANION_TYPE,
47
- data: "logs",
48
- properties: {
49
- label: [
50
- "script logs label",
51
- {
52
- ns: meta.id
53
- }
54
- ],
55
- icon: "ph--clock-countdown--regular",
56
- disposition: "hidden"
57
- }
58
- }
59
- ]), Option.getOrElse(() => [])))
60
- })
61
- ]));
62
- export {
63
- app_graph_builder_default as default
64
- };
65
- //# sourceMappingURL=app-graph-builder-DPYULSME.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\n\nimport { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { ScriptType } from '@dxos/functions';\nimport { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';\nimport { createExtension } from '@dxos/plugin-graph';\n\nimport { meta } from '../meta';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${meta.id}/execute`,\n connector: (node) =>\n Rx.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => (Obj.instanceOf(ScriptType, node.data) ? Option.some(node) : Option.none())),\n Option.map((node) => [\n {\n id: [node.id, 'execute'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'execute',\n properties: {\n label: ['script test label', { ns: meta.id }],\n icon: 'ph--terminal--regular',\n disposition: 'hidden',\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n createExtension({\n id: `${meta.id}/logs`,\n connector: (node) =>\n Rx.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => (Obj.instanceOf(ScriptType, node.data) ? Option.some(node) : Option.none())),\n Option.map((node) => [\n {\n id: [node.id, 'logs'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'logs',\n properties: {\n label: ['script logs label', { ns: meta.id }],\n icon: 'ph--clock-countdown--regular',\n disposition: 'hidden',\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n ]);\n"],
5
- "mappings": ";;;;;AAIA,SAASA,UAAU;AACnB,YAAYC,cAAc;AAC1B,YAAYC,YAAY;AAExB,SAASC,cAAkCC,mBAAmB;AAC9D,SAASC,WAAW;AACpB,SAASC,kBAAkB;AAC3B,SAASC,2BAA2BC,4BAA4B;AAChE,SAASC,uBAAuB;AAIhC,IAAA,6BAAe,CAACC,YACdC,YAAYC,aAAaC,iBAAiB;EACxCC,gBAAgB;IACdC,IAAI,GAAGC,KAAKD,EAAE;IACdE,WAAW,CAACC,SACVC,GAAGC,KAAK,CAACC,QACEC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UAAUM,IAAIC,WAAWC,YAAYR,MAAKS,IAAI,IAAWC,YAAKV,KAAAA,IAAeW,YAAI,CAAA,GAC1FC,WAAI,CAACZ,UAAS;MACnB;QACEH,IAAI;UAACG,MAAKH;UAAI;UAAWgB,KAAKC,yBAAAA;QAC9BC,MAAMC;QACNP,MAAM;QACNQ,YAAY;UACVC,OAAO;YAAC;YAAqB;cAAEC,IAAIrB,KAAKD;YAAG;;UAC3CuB,MAAM;UACNC,aAAa;QACf;MACF;KACD,GACMC,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;EAGjC,CAAA;EACA1B,gBAAgB;IACdC,IAAI,GAAGC,KAAKD,EAAE;IACdE,WAAW,CAACC,SACVC,GAAGC,KAAK,CAACC,QACEC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UAAUM,IAAIC,WAAWC,YAAYR,MAAKS,IAAI,IAAWC,YAAKV,KAAAA,IAAeW,YAAI,CAAA,GAC1FC,WAAI,CAACZ,UAAS;MACnB;QACEH,IAAI;UAACG,MAAKH;UAAI;UAAQgB,KAAKC,yBAAAA;QAC3BC,MAAMC;QACNP,MAAM;QACNQ,YAAY;UACVC,OAAO;YAAC;YAAqB;cAAEC,IAAIrB,KAAKD;YAAG;;UAC3CuB,MAAM;UACNC,aAAa;QACf;MACF;KACD,GACMC,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;EAGjC,CAAA;CACD;",
6
- "names": ["Rx", "Function", "Option", "Capabilities", "contributes", "Obj", "ScriptType", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE", "createExtension", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "meta", "connector", "node", "Rx", "make", "get", "pipe", "flatMap", "Obj", "instanceOf", "ScriptType", "data", "some", "none", "map", "join", "ATTENDABLE_PATH_SEPARATOR", "type", "PLANK_COMPANION_TYPE", "properties", "label", "ns", "icon", "disposition", "getOrElse"]
7
- }
@@ -1,28 +0,0 @@
1
- // src/capabilities/blueprint-definition.ts
2
- import { Capabilities, contributes } from "@dxos/app-framework";
3
- import { Blueprint, Template } from "@dxos/blueprints";
4
- import { trim } from "@dxos/util";
5
- var functions = [];
6
- var tools = [];
7
- var blueprint_definition_default = (() => {
8
- return [
9
- contributes(Capabilities.Functions, functions),
10
- contributes(Capabilities.BlueprintDefinition, Blueprint.make({
11
- key: "dxos.org/blueprint/script",
12
- name: "Script",
13
- tools: Blueprint.toolDefinitions({
14
- functions,
15
- tools
16
- }),
17
- instructions: Template.make({
18
- source: trim`
19
- You can create and update scripts which contain Typescript code.
20
- `
21
- })
22
- }))
23
- ];
24
- });
25
- export {
26
- blueprint_definition_default as default
27
- };
28
- //# sourceMappingURL=blueprint-definition-ET5KZ46I.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/blueprint-definition.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { Blueprint, Template } from '@dxos/blueprints';\nimport { type FunctionDefinition } from '@dxos/functions';\nimport { trim } from '@dxos/util';\n\nconst functions: FunctionDefinition[] = [];\nconst tools: string[] = [];\n\nexport default () => {\n return [\n contributes(Capabilities.Functions, functions),\n contributes(\n Capabilities.BlueprintDefinition,\n Blueprint.make({\n key: 'dxos.org/blueprint/script',\n name: 'Script',\n tools: Blueprint.toolDefinitions({ functions, tools }),\n instructions: Template.make({\n source: trim`\n You can create and update scripts which contain Typescript code.\n `,\n }),\n }),\n ),\n ];\n};\n"],
5
- "mappings": ";AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,WAAWC,gBAAgB;AAEpC,SAASC,YAAY;AAErB,IAAMC,YAAkC,CAAA;AACxC,IAAMC,QAAkB,CAAA;AAExB,IAAA,gCAAe,MAAA;AACb,SAAO;IACLC,YAAYC,aAAaC,WAAWJ,SAAAA;IACpCE,YACEC,aAAaE,qBACbC,UAAUC,KAAK;MACbC,KAAK;MACLC,MAAM;MACNR,OAAOK,UAAUI,gBAAgB;QAAEV;QAAWC;MAAM,CAAA;MACpDU,cAAcC,SAASL,KAAK;QAC1BM,QAAQC;;;MAGV,CAAA;IACF,CAAA,CAAA;;AAGN;",
6
- "names": ["Capabilities", "contributes", "Blueprint", "Template", "trim", "functions", "tools", "contributes", "Capabilities", "Functions", "BlueprintDefinition", "Blueprint", "make", "key", "name", "toolDefinitions", "instructions", "Template", "source", "trim"]
7
- }
@@ -1,89 +0,0 @@
1
- import {
2
- templates
3
- } from "./chunk-ST3ACVUC.mjs";
4
- import {
5
- meta
6
- } from "./chunk-EZVXV6DA.mjs";
7
-
8
- // src/types/actions.ts
9
- import * as Schema2 from "effect/Schema";
10
- import { SpaceSchema } from "@dxos/client/echo";
11
- import { ScriptType } from "@dxos/functions";
12
-
13
- // src/types/schema.ts
14
- import * as Schema from "effect/Schema";
15
- import { Obj, Type } from "@dxos/echo";
16
- import { LabelAnnotation } from "@dxos/echo/internal";
17
- import { Assistant } from "@dxos/plugin-assistant/types";
18
- import { EditorInputMode } from "@dxos/react-ui-editor";
19
- import { DataType } from "@dxos/schema";
20
- (function(Notebook2) {
21
- Notebook2.Cell = Schema.Struct({
22
- id: Schema.String,
23
- type: Schema.String,
24
- script: Schema.optional(Type.Ref(DataType.Text)),
25
- view: Schema.optional(Type.Ref(DataType.View)),
26
- chat: Schema.optional(Type.Ref(Assistant.Chat))
27
- }).pipe(Schema.mutable);
28
- Notebook2.Notebook = Schema.Struct({
29
- name: Schema.optional(Schema.String),
30
- cells: Schema.mutable(Schema.Array(Notebook2.Cell))
31
- }).pipe(Type.Obj({
32
- typename: "dxos.org/type/Notebook",
33
- version: "0.1.0"
34
- }), LabelAnnotation.set([
35
- "name"
36
- ]));
37
- Notebook2.make = (props = {
38
- cells: []
39
- }) => Obj.make(Notebook2.Notebook, props);
40
- })(Notebook || (Notebook = {}));
41
- var ScriptSettings = Schema.mutable(Schema.Struct({
42
- editorInputMode: EditorInputMode
43
- }));
44
- var Notebook;
45
-
46
- // src/types/actions.ts
47
- (function(ScriptAction2) {
48
- ScriptAction2.ScriptProps = Schema2.Struct({
49
- name: Schema2.optional(Schema2.String),
50
- // TODO(wittjosiah): Placeholder annotation?
51
- gistUrl: Schema2.optional(Schema2.String.annotations({
52
- title: "Import from Gist (url)"
53
- })),
54
- initialTemplateId: Schema2.Literal(...templates.map(({ id }) => id)).pipe(Schema2.annotations({
55
- title: "Template"
56
- }), Schema2.optional)
57
- });
58
- class CreateScript extends Schema2.TaggedClass()(`${meta.id}/action/create-script`, {
59
- input: Schema2.extend(ScriptAction2.ScriptProps, Schema2.Struct({
60
- space: SpaceSchema
61
- })),
62
- output: Schema2.Struct({
63
- object: ScriptType
64
- })
65
- }) {
66
- }
67
- ScriptAction2.CreateScript = CreateScript;
68
- ScriptAction2.NotebookProps = Schema2.Struct({
69
- name: Schema2.optional(Schema2.String)
70
- });
71
- class CreateNotebook extends Schema2.TaggedClass()(`${meta.id}/action/create-notebook`, {
72
- input: Schema2.extend(ScriptAction2.NotebookProps, Schema2.Struct({
73
- space: SpaceSchema
74
- })),
75
- output: Schema2.Struct({
76
- object: Notebook.Notebook
77
- })
78
- }) {
79
- }
80
- ScriptAction2.CreateNotebook = CreateNotebook;
81
- })(ScriptAction || (ScriptAction = {}));
82
- var ScriptAction;
83
-
84
- export {
85
- ScriptSettings,
86
- Notebook,
87
- ScriptAction
88
- };
89
- //# sourceMappingURL=chunk-5CYLWXRH.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/actions.ts", "../../../src/types/schema.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { SpaceSchema } from '@dxos/client/echo';\nimport { ScriptType } from '@dxos/functions';\n\nimport { meta } from '../meta';\nimport { templates } from '../templates';\n\nimport { Notebook } from './schema';\n\nexport namespace ScriptAction {\n export const ScriptProps = Schema.Struct({\n name: Schema.optional(Schema.String),\n // TODO(wittjosiah): Placeholder annotation?\n gistUrl: Schema.optional(Schema.String.annotations({ title: 'Import from Gist (url)' })),\n initialTemplateId: Schema.Literal(...templates.map(({ id }) => id)).pipe(\n Schema.annotations({ title: 'Template' }),\n Schema.optional,\n ),\n });\n\n export class CreateScript extends Schema.TaggedClass<CreateScript>()(`${meta.id}/action/create-script`, {\n input: Schema.extend(\n ScriptProps,\n Schema.Struct({\n space: SpaceSchema,\n }),\n ),\n output: Schema.Struct({\n object: ScriptType,\n }),\n }) {}\n\n export const NotebookProps = Schema.Struct({\n name: Schema.optional(Schema.String),\n });\n\n export class CreateNotebook extends Schema.TaggedClass<CreateNotebook>()(`${meta.id}/action/create-notebook`, {\n input: Schema.extend(\n NotebookProps,\n Schema.Struct({\n space: SpaceSchema,\n }),\n ),\n output: Schema.Struct({\n object: Notebook.Notebook,\n }),\n }) {}\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Obj, Type } from '@dxos/echo';\nimport { LabelAnnotation } from '@dxos/echo/internal';\nimport { Assistant } from '@dxos/plugin-assistant/types';\nimport { EditorInputMode } from '@dxos/react-ui-editor';\nimport { DataType } from '@dxos/schema';\n\nexport namespace Notebook {\n export type CellType = 'markdown' | 'script' | 'query' | 'prompt' | 'view';\n\n export const Cell = Schema.Struct({\n id: Schema.String,\n type: Schema.String,\n script: Schema.optional(Type.Ref(DataType.Text)),\n view: Schema.optional(Type.Ref(DataType.View)),\n chat: Schema.optional(Type.Ref(Assistant.Chat)),\n }).pipe(Schema.mutable);\n\n export type Cell = Schema.Schema.Type<typeof Cell>;\n\n export const Notebook = Schema.Struct({\n name: Schema.optional(Schema.String),\n cells: Schema.mutable(Schema.Array(Cell)),\n }).pipe(\n Type.Obj({\n typename: 'dxos.org/type/Notebook',\n version: '0.1.0',\n }),\n LabelAnnotation.set(['name']),\n );\n\n export type Notebook = Schema.Schema.Type<typeof Notebook>;\n\n export const make = (props: Obj.MakeProps<typeof Notebook> = { cells: [] }) => Obj.make(Notebook, props);\n}\n\nexport const ScriptSettings = Schema.mutable(\n Schema.Struct({\n editorInputMode: EditorInputMode,\n }),\n);\n\nexport type ScriptSettings = Schema.Schema.Type<typeof ScriptSettings>;\n"],
5
- "mappings": ";;;;;;;;AAIA,YAAYA,aAAY;AAExB,SAASC,mBAAmB;AAC5B,SAASC,kBAAkB;;;ACH3B,YAAYC,YAAY;AAExB,SAASC,KAAKC,YAAY;AAC1B,SAASC,uBAAuB;AAChC,SAASC,iBAAiB;AAC1B,SAASC,uBAAuB;AAChC,SAASC,gBAAgB;UAERC,WAAAA;YAGFC,OAAcC,cAAO;IAChCC,IAAWC;IACXC,MAAaD;IACbE,QAAeC,gBAASC,KAAKC,IAAIC,SAASC,IAAI,CAAA;IAC9CC,MAAaL,gBAASC,KAAKC,IAAIC,SAASG,IAAI,CAAA;IAC5CC,MAAaP,gBAASC,KAAKC,IAAIM,UAAUC,IAAI,CAAA;EAC/C,CAAA,EAAGC,KAAYC,cAAO;YAITlB,WAAkBE,cAAO;IACpCiB,MAAaZ,gBAAgBH,aAAM;IACnCgB,OAAcF,eAAeG,aAAKrB,UAACC,IAAAA,CAAAA;EACrC,CAAA,EAAGgB,KACDT,KAAKc,IAAI;IACPC,UAAU;IACVC,SAAS;EACX,CAAA,GACAC,gBAAgBC,IAAI;IAAC;GAAO,CAAA;YAKjBC,OAAO,CAACC,QAAwC;IAAER,OAAO,CAAA;EAAG,MAAME,IAAIK,KAAI3B,UAACA,UAAU4B,KAAAA;AACpG,GA3BiB5B,aAAAA,WAAAA,CAAAA,EAAAA;AA6BV,IAAM6B,iBAAwBX,eAC5BhB,cAAO;EACZ4B,iBAAiBC;AACnB,CAAA,CAAA;;;;UD9BeC,eAAAA;gBACFC,cAAqBC,eAAO;IACvCC,MAAaC,iBAAgBC,cAAM;;IAEnCC,SAAgBF,iBAAgBC,eAAOE,YAAY;MAAEC,OAAO;IAAyB,CAAA,CAAA;IACrFC,mBAA0BC,gBAAO,GAAIC,UAAUC,IAAI,CAAC,EAAEC,GAAE,MAAOA,EAAAA,CAAAA,EAAKC,KAC3DP,oBAAY;MAAEC,OAAO;IAAW,CAAA,GAChCJ,gBAAQ;EAEnB,CAAA;EAEO,MAAMW,qBAA4BC,oBAAW,EAAiB,GAAGC,KAAKJ,EAAE,yBAAyB;IACtGK,OAAcC,eAAMnB,cAClBC,aACOC,eAAO;MACZkB,OAAOC;IACT,CAAA,CAAA;IAEFC,QAAepB,eAAO;MACpBqB,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;gBAVST,eAAAA;gBAYAU,gBAAuBvB,eAAO;IACzCC,MAAaC,iBAAgBC,cAAM;EACrC,CAAA;EAEO,MAAMqB,uBAA8BV,oBAAW,EAAmB,GAAGC,KAAKJ,EAAE,2BAA2B;IAC5GK,OAAcC,eAAMnB,cAClByB,eACOvB,eAAO;MACZkB,OAAOC;IACT,CAAA,CAAA;IAEFC,QAAepB,eAAO;MACpBqB,QAAQI,SAASA;IACnB,CAAA;EACF,CAAA,EAAA;EAAI;gBAVSD,iBAAAA;AAWf,GAtCiB1B,iBAAAA,eAAAA,CAAAA,EAAAA;;",
6
- "names": ["Schema", "SpaceSchema", "ScriptType", "Schema", "Obj", "Type", "LabelAnnotation", "Assistant", "EditorInputMode", "DataType", "Notebook", "Cell", "Struct", "id", "String", "type", "script", "optional", "Type", "Ref", "DataType", "Text", "view", "View", "chat", "Assistant", "Chat", "pipe", "mutable", "name", "cells", "Array", "Obj", "typename", "version", "LabelAnnotation", "set", "make", "props", "ScriptSettings", "editorInputMode", "EditorInputMode", "ScriptAction", "ScriptProps", "Struct", "name", "optional", "String", "gistUrl", "annotations", "title", "initialTemplateId", "Literal", "templates", "map", "id", "pipe", "CreateScript", "TaggedClass", "meta", "input", "extend", "space", "SpaceSchema", "output", "object", "ScriptType", "NotebookProps", "CreateNotebook", "Notebook"]
7
- }