@dxos/plugin-script 0.8.4-main.e8ec1fe → 0.8.4-main.effb148878

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 (555) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +15 -13
  3. package/dist/lib/neutral/DeploymentDialog-M3AFYQHC.mjs +114 -0
  4. package/dist/lib/neutral/DeploymentDialog-M3AFYQHC.mjs.map +7 -0
  5. package/dist/lib/{browser/NotebookContainer-RTESC4OV.mjs → neutral/NotebookArticle-NV4AHOOS.mjs} +245 -299
  6. package/dist/lib/neutral/NotebookArticle-NV4AHOOS.mjs.map +7 -0
  7. package/dist/lib/neutral/ScriptArticle-UBT27SB6.mjs +79 -0
  8. package/dist/lib/neutral/ScriptArticle-UBT27SB6.mjs.map +7 -0
  9. package/dist/lib/neutral/ScriptPlugin.mjs +39 -0
  10. package/dist/lib/neutral/ScriptPlugin.mjs.map +7 -0
  11. package/dist/lib/neutral/ScriptPlugin.node.mjs +27 -0
  12. package/dist/lib/neutral/ScriptPlugin.node.mjs.map +7 -0
  13. package/dist/lib/neutral/ScriptPlugin.workerd.mjs +21 -0
  14. package/dist/lib/neutral/ScriptPlugin.workerd.mjs.map +7 -0
  15. package/dist/lib/neutral/ScriptPluginSettings-T4JMUSHN.mjs +31 -0
  16. package/dist/lib/neutral/ScriptPluginSettings-T4JMUSHN.mjs.map +7 -0
  17. package/dist/lib/neutral/ScriptProperties-RLXNAN3N.mjs +297 -0
  18. package/dist/lib/neutral/ScriptProperties-RLXNAN3N.mjs.map +7 -0
  19. package/dist/lib/neutral/TestContainer-AFVTBYSJ.mjs +44 -0
  20. package/dist/lib/neutral/TestContainer-AFVTBYSJ.mjs.map +7 -0
  21. package/dist/lib/neutral/app-graph-builder-7AWFCEQF.mjs +52 -0
  22. package/dist/lib/neutral/app-graph-builder-7AWFCEQF.mjs.map +7 -0
  23. package/dist/lib/neutral/blueprint-definition-T33SBPP2.mjs +15 -0
  24. package/dist/lib/neutral/blueprint-definition-T33SBPP2.mjs.map +7 -0
  25. package/dist/lib/neutral/blueprints/index.mjs +10 -0
  26. package/dist/lib/neutral/capabilities/index.mjs +21 -0
  27. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  28. package/dist/lib/neutral/capabilities/node.mjs +17 -0
  29. package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
  30. package/dist/lib/neutral/chunk-2REUEDUA.mjs +56 -0
  31. package/dist/lib/neutral/chunk-2REUEDUA.mjs.map +7 -0
  32. package/dist/lib/neutral/chunk-4H6UOE5J.mjs +123 -0
  33. package/dist/lib/neutral/chunk-4H6UOE5J.mjs.map +7 -0
  34. package/dist/lib/neutral/chunk-6XGGYOY2.mjs +36 -0
  35. package/dist/lib/neutral/chunk-6XGGYOY2.mjs.map +7 -0
  36. package/dist/lib/neutral/chunk-GD5SNDAA.mjs +8 -0
  37. package/dist/lib/neutral/chunk-GD5SNDAA.mjs.map +7 -0
  38. package/dist/lib/neutral/chunk-GYQPDUTK.mjs +105 -0
  39. package/dist/lib/neutral/chunk-GYQPDUTK.mjs.map +7 -0
  40. package/dist/lib/neutral/chunk-HJ4BY42S.mjs +8 -0
  41. package/dist/lib/neutral/chunk-HJ4BY42S.mjs.map +7 -0
  42. package/dist/lib/neutral/chunk-VXDJH6OL.mjs +150 -0
  43. package/dist/lib/neutral/chunk-VXDJH6OL.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-WEIU4BCS.mjs +52 -0
  45. package/dist/lib/neutral/chunk-WEIU4BCS.mjs.map +7 -0
  46. package/dist/lib/neutral/chunk-Y3O3YZSE.mjs +345 -0
  47. package/dist/lib/neutral/chunk-Y3O3YZSE.mjs.map +7 -0
  48. package/dist/lib/neutral/compiler-ODK4UA2N.mjs +101 -0
  49. package/dist/lib/neutral/compiler-ODK4UA2N.mjs.map +7 -0
  50. package/dist/lib/neutral/components/index.mjs +722 -0
  51. package/dist/lib/neutral/components/index.mjs.map +7 -0
  52. package/dist/lib/neutral/containers/index.mjs +17 -0
  53. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  54. package/dist/lib/neutral/create-32MZYUAA.mjs +46 -0
  55. package/dist/lib/neutral/create-32MZYUAA.mjs.map +7 -0
  56. package/dist/lib/neutral/create-object-FZM5ASWM.mjs +45 -0
  57. package/dist/lib/neutral/create-object-FZM5ASWM.mjs.map +7 -0
  58. package/dist/lib/neutral/create-script-6HWJMXMD.mjs +45 -0
  59. package/dist/lib/neutral/create-script-6HWJMXMD.mjs.map +7 -0
  60. package/dist/lib/neutral/delete-475DHFZO.mjs +21 -0
  61. package/dist/lib/neutral/delete-475DHFZO.mjs.map +7 -0
  62. package/dist/lib/neutral/deploy-VMPGXUR2.mjs +63 -0
  63. package/dist/lib/neutral/deploy-VMPGXUR2.mjs.map +7 -0
  64. package/dist/lib/neutral/hooks/index.mjs +369 -0
  65. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  66. package/dist/lib/neutral/index.mjs +41 -0
  67. package/dist/lib/neutral/inspect-invocations-IHZDHE27.mjs +59 -0
  68. package/dist/lib/neutral/inspect-invocations-IHZDHE27.mjs.map +7 -0
  69. package/dist/lib/neutral/install-function-UJWJMTZY.mjs +49 -0
  70. package/dist/lib/neutral/install-function-UJWJMTZY.mjs.map +7 -0
  71. package/dist/lib/neutral/invoke-M7J6LRZB.mjs +32 -0
  72. package/dist/lib/neutral/invoke-M7J6LRZB.mjs.map +7 -0
  73. package/dist/lib/neutral/meta.json +1 -0
  74. package/dist/lib/neutral/meta.mjs +10 -0
  75. package/dist/lib/neutral/operation-handler-MOATB7ZI.mjs +18 -0
  76. package/dist/lib/neutral/operation-handler-MOATB7ZI.mjs.map +7 -0
  77. package/dist/lib/neutral/operations/index.mjs +8 -0
  78. package/dist/lib/neutral/plugin.mjs +16 -0
  79. package/dist/lib/neutral/plugin.mjs.map +7 -0
  80. package/dist/lib/neutral/query-deployed-functions-MZUBGLJG.mjs +34 -0
  81. package/dist/lib/neutral/query-deployed-functions-MZUBGLJG.mjs.map +7 -0
  82. package/dist/lib/neutral/react-surface-DPK6XU2Y.mjs +120 -0
  83. package/dist/lib/neutral/react-surface-DPK6XU2Y.mjs.map +7 -0
  84. package/dist/lib/neutral/read-LWLI7RB2.mjs +26 -0
  85. package/dist/lib/neutral/read-LWLI7RB2.mjs.map +7 -0
  86. package/dist/lib/neutral/settings-VJBW4OMK.mjs +30 -0
  87. package/dist/lib/neutral/settings-VJBW4OMK.mjs.map +7 -0
  88. package/dist/lib/{browser → neutral}/templates/index.mjs +1 -1
  89. package/dist/lib/neutral/translations.mjs +105 -0
  90. package/dist/lib/neutral/translations.mjs.map +7 -0
  91. package/dist/lib/neutral/types/index.mjs +17 -0
  92. package/dist/lib/neutral/update-HTFIQY2Z.mjs +63 -0
  93. package/dist/lib/neutral/update-HTFIQY2Z.mjs.map +7 -0
  94. package/dist/types/src/ScriptPlugin.d.ts +3 -1
  95. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  96. package/dist/types/src/ScriptPlugin.node.d.ts +4 -0
  97. package/dist/types/src/ScriptPlugin.node.d.ts.map +1 -0
  98. package/dist/types/src/ScriptPlugin.test.d.ts +2 -0
  99. package/dist/types/src/ScriptPlugin.test.d.ts.map +1 -0
  100. package/dist/types/src/ScriptPlugin.workerd.d.ts +4 -0
  101. package/dist/types/src/ScriptPlugin.workerd.d.ts.map +1 -0
  102. package/dist/types/src/blueprints/functions/create.d.ts +11 -0
  103. package/dist/types/src/blueprints/functions/create.d.ts.map +1 -0
  104. package/dist/types/src/blueprints/functions/definitions.d.ts +135 -0
  105. package/dist/types/src/blueprints/functions/definitions.d.ts.map +1 -0
  106. package/dist/types/src/blueprints/functions/delete.d.ts +17 -0
  107. package/dist/types/src/blueprints/functions/delete.d.ts.map +1 -0
  108. package/dist/types/src/blueprints/functions/deploy.d.ts +21 -0
  109. package/dist/types/src/blueprints/functions/deploy.d.ts.map +1 -0
  110. package/dist/types/src/blueprints/functions/index.d.ts +4 -0
  111. package/dist/types/src/blueprints/functions/index.d.ts.map +1 -0
  112. package/dist/types/src/blueprints/functions/inspect-invocations.d.ts +28 -0
  113. package/dist/types/src/blueprints/functions/inspect-invocations.d.ts.map +1 -0
  114. package/dist/types/src/blueprints/functions/install-function.d.ts +11 -0
  115. package/dist/types/src/blueprints/functions/install-function.d.ts.map +1 -0
  116. package/dist/types/src/blueprints/functions/invoke.d.ts +21 -0
  117. package/dist/types/src/blueprints/functions/invoke.d.ts.map +1 -0
  118. package/dist/types/src/blueprints/functions/query-deployed-functions.d.ts +13 -0
  119. package/dist/types/src/blueprints/functions/query-deployed-functions.d.ts.map +1 -0
  120. package/dist/types/src/blueprints/functions/read.d.ts +21 -0
  121. package/dist/types/src/blueprints/functions/read.d.ts.map +1 -0
  122. package/dist/types/src/blueprints/functions/update.d.ts +26 -0
  123. package/dist/types/src/blueprints/functions/update.d.ts.map +1 -0
  124. package/dist/types/src/blueprints/index.d.ts +2 -0
  125. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  126. package/dist/types/src/blueprints/script-blueprint.d.ts +4 -0
  127. package/dist/types/src/blueprints/script-blueprint.d.ts.map +1 -0
  128. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  129. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  130. package/dist/types/src/capabilities/artifact-definition.d.ts +3 -2
  131. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  132. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -4
  133. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  134. package/dist/types/src/capabilities/compiler.d.ts +3 -1
  135. package/dist/types/src/capabilities/compiler.d.ts.map +1 -1
  136. package/dist/types/src/capabilities/create-object.d.ts +16 -0
  137. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  138. package/dist/types/src/capabilities/index.d.ts +19 -7
  139. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  140. package/dist/types/src/capabilities/node.d.ts +18 -0
  141. package/dist/types/src/capabilities/node.d.ts.map +1 -0
  142. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  143. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  144. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  145. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  146. package/dist/types/src/capabilities/settings.d.ts +5 -2
  147. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  148. package/dist/types/src/compiler/compiler.d.ts +1 -1
  149. package/dist/types/src/compiler/compiler.d.ts.map +1 -1
  150. package/dist/types/src/components/{FrameContainer/FrameContainer.d.ts → FramePanel/FramePanel.d.ts} +3 -3
  151. package/dist/types/src/components/FramePanel/FramePanel.d.ts.map +1 -0
  152. package/dist/types/src/components/FramePanel/index.d.ts +2 -0
  153. package/dist/types/src/components/FramePanel/index.d.ts.map +1 -0
  154. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts +4 -4
  155. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -1
  156. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts +1 -1
  157. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts.map +1 -1
  158. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +5 -3
  159. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -1
  160. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +221 -226
  161. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -1
  162. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts +5 -0
  163. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts.map +1 -0
  164. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts +13 -0
  165. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts.map +1 -0
  166. package/dist/types/src/components/QueryEditor/index.d.ts +2 -0
  167. package/dist/types/src/components/QueryEditor/index.d.ts.map +1 -0
  168. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.d.ts +8 -0
  169. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.d.ts.map +1 -0
  170. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.d.ts +241 -0
  171. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.d.ts.map +1 -0
  172. package/dist/types/src/components/ScriptPluginSettings/index.d.ts +2 -0
  173. package/dist/types/src/components/ScriptPluginSettings/index.d.ts.map +1 -0
  174. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +8 -6
  175. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  176. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +221 -226
  177. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  178. package/dist/types/src/components/TestPanel/TestPanel.d.ts +4 -2
  179. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
  180. package/dist/types/src/components/TestPanel/index.d.ts +0 -1
  181. package/dist/types/src/components/TestPanel/index.d.ts.map +1 -1
  182. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +6 -2
  183. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  184. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +3 -1
  185. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  186. package/dist/types/src/components/index.d.ts +6 -5
  187. package/dist/types/src/components/index.d.ts.map +1 -1
  188. package/dist/types/src/constants.d.ts +2 -0
  189. package/dist/types/src/constants.d.ts.map +1 -0
  190. package/dist/types/src/{components → containers}/DeploymentDialog/DeploymentDialog.d.ts +0 -2
  191. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.d.ts.map +1 -0
  192. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts +240 -0
  193. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -0
  194. package/dist/types/src/containers/DeploymentDialog/index.d.ts +2 -0
  195. package/dist/types/src/containers/DeploymentDialog/index.d.ts.map +1 -0
  196. package/dist/types/src/containers/NotebookArticle/NotebookArticle.d.ts +7 -0
  197. package/dist/types/src/containers/NotebookArticle/NotebookArticle.d.ts.map +1 -0
  198. package/dist/types/src/containers/NotebookArticle/NotebookArticle.stories.d.ts +7 -0
  199. package/dist/types/src/containers/NotebookArticle/NotebookArticle.stories.d.ts.map +1 -0
  200. package/dist/types/src/containers/NotebookArticle/index.d.ts +2 -0
  201. package/dist/types/src/containers/NotebookArticle/index.d.ts.map +1 -0
  202. package/dist/types/src/containers/ScriptArticle/ScriptArticle.d.ts +10 -0
  203. package/dist/types/src/containers/ScriptArticle/ScriptArticle.d.ts.map +1 -0
  204. package/dist/types/src/containers/ScriptArticle/ScriptArticle.stories.d.ts +242 -0
  205. package/dist/types/src/containers/ScriptArticle/ScriptArticle.stories.d.ts.map +1 -0
  206. package/dist/types/src/containers/ScriptArticle/index.d.ts +2 -0
  207. package/dist/types/src/containers/ScriptArticle/index.d.ts.map +1 -0
  208. package/dist/types/src/containers/ScriptProperties/BlueprintEditor.d.ts +7 -0
  209. package/dist/types/src/containers/ScriptProperties/BlueprintEditor.d.ts.map +1 -0
  210. package/dist/types/src/containers/ScriptProperties/FunctionBinding.d.ts +7 -0
  211. package/dist/types/src/containers/ScriptProperties/FunctionBinding.d.ts.map +1 -0
  212. package/dist/types/src/containers/ScriptProperties/FunctionPublishing.d.ts +7 -0
  213. package/dist/types/src/containers/ScriptProperties/FunctionPublishing.d.ts.map +1 -0
  214. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts +6 -0
  215. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts.map +1 -0
  216. package/dist/types/src/containers/ScriptProperties/ScriptProperties.stories.d.ts +242 -0
  217. package/dist/types/src/containers/ScriptProperties/ScriptProperties.stories.d.ts.map +1 -0
  218. package/dist/types/src/containers/ScriptProperties/index.d.ts +2 -0
  219. package/dist/types/src/containers/ScriptProperties/index.d.ts.map +1 -0
  220. package/dist/types/src/containers/TestContainer/TestContainer.d.ts +8 -0
  221. package/dist/types/src/containers/TestContainer/TestContainer.d.ts.map +1 -0
  222. package/dist/types/src/containers/TestContainer/index.d.ts +2 -0
  223. package/dist/types/src/containers/TestContainer/index.d.ts.map +1 -0
  224. package/dist/types/src/containers/index.d.ts +7 -0
  225. package/dist/types/src/containers/index.d.ts.map +1 -0
  226. package/dist/types/src/e2e/ai.test.d.ts +2 -0
  227. package/dist/types/src/e2e/ai.test.d.ts.map +1 -0
  228. package/dist/types/src/e2e/deploy.test.d.ts +2 -0
  229. package/dist/types/src/e2e/deploy.test.d.ts.map +1 -0
  230. package/dist/types/src/hooks/deploy.d.ts +24 -29
  231. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  232. package/dist/types/src/hooks/format.d.ts +4 -3
  233. package/dist/types/src/hooks/format.d.ts.map +1 -1
  234. package/dist/types/src/hooks/index.d.ts +1 -0
  235. package/dist/types/src/hooks/index.d.ts.map +1 -1
  236. package/dist/types/src/hooks/template.d.ts +4 -3
  237. package/dist/types/src/hooks/template.d.ts.map +1 -1
  238. package/dist/types/src/hooks/useCompiler.d.ts +7 -0
  239. package/dist/types/src/hooks/useCompiler.d.ts.map +1 -0
  240. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  241. package/dist/types/src/hooks/useToolbarState.d.ts +8 -1
  242. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  243. package/dist/types/src/index.d.ts +2 -3
  244. package/dist/types/src/index.d.ts.map +1 -1
  245. package/dist/types/src/meta.d.ts +2 -2
  246. package/dist/types/src/meta.d.ts.map +1 -1
  247. package/dist/types/src/notebook/compute-graph.d.ts +25 -12
  248. package/dist/types/src/notebook/compute-graph.d.ts.map +1 -1
  249. package/dist/types/src/notebook/eval.d.ts.map +1 -1
  250. package/dist/types/src/notebook/vfs-parser.d.ts.map +1 -1
  251. package/dist/types/src/operations/create-script.d.ts +5 -0
  252. package/dist/types/src/operations/create-script.d.ts.map +1 -0
  253. package/dist/types/src/operations/index.d.ts +3 -0
  254. package/dist/types/src/operations/index.d.ts.map +1 -0
  255. package/dist/types/src/plugin.d.ts +4 -0
  256. package/dist/types/src/plugin.d.ts.map +1 -0
  257. package/dist/types/src/templates/anthropic.d.ts +7 -0
  258. package/dist/types/src/templates/anthropic.d.ts.map +1 -0
  259. package/dist/types/src/templates/chat.d.ts.map +1 -1
  260. package/dist/types/src/templates/chess-bot.d.ts +14 -0
  261. package/dist/types/src/templates/chess-bot.d.ts.map +1 -0
  262. package/dist/types/src/templates/commentary.d.ts +15 -0
  263. package/dist/types/src/templates/commentary.d.ts.map +1 -0
  264. package/dist/types/src/templates/data-generator.d.ts.map +1 -1
  265. package/dist/types/src/templates/discord.d.ts.map +1 -1
  266. package/dist/types/src/templates/email.d.ts.map +1 -1
  267. package/dist/types/src/templates/forex-effect.d.ts +5 -1
  268. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  269. package/dist/types/src/templates/forex.d.ts +5 -1
  270. package/dist/types/src/templates/forex.d.ts.map +1 -1
  271. package/dist/types/src/templates/gmail.d.ts.map +1 -1
  272. package/dist/types/src/templates/index.d.ts +33 -24
  273. package/dist/types/src/templates/index.d.ts.map +1 -1
  274. package/dist/types/src/templates/ping.d.ts +2 -4
  275. package/dist/types/src/templates/ping.d.ts.map +1 -1
  276. package/dist/types/src/testing/index.d.ts +2 -1
  277. package/dist/types/src/testing/index.d.ts.map +1 -1
  278. package/dist/types/src/testing/simulator.test.d.ts +2 -0
  279. package/dist/types/src/testing/simulator.test.d.ts.map +1 -0
  280. package/dist/types/src/testing/test-notebook.d.ts +3 -0
  281. package/dist/types/src/testing/test-notebook.d.ts.map +1 -0
  282. package/dist/types/src/testing/test-script.d.ts +7 -0
  283. package/dist/types/src/testing/test-script.d.ts.map +1 -0
  284. package/dist/types/src/translations.d.ts +222 -90
  285. package/dist/types/src/translations.d.ts.map +1 -1
  286. package/dist/types/src/types/Notebook.d.ts +110 -24
  287. package/dist/types/src/types/Notebook.d.ts.map +1 -1
  288. package/dist/types/src/types/ScriptCapabilities.d.ts +6 -0
  289. package/dist/types/src/types/ScriptCapabilities.d.ts.map +1 -0
  290. package/dist/types/src/types/ScriptEvents.d.ts +3 -0
  291. package/dist/types/src/types/ScriptEvents.d.ts.map +1 -0
  292. package/dist/types/src/types/ScriptOperation.d.ts +29 -0
  293. package/dist/types/src/types/ScriptOperation.d.ts.map +1 -0
  294. package/dist/types/src/types/Settings.d.ts +7 -0
  295. package/dist/types/src/types/Settings.d.ts.map +1 -0
  296. package/dist/types/src/types/index.d.ts +4 -2
  297. package/dist/types/src/types/index.d.ts.map +1 -1
  298. package/dist/types/src/types/types.d.ts +1 -5
  299. package/dist/types/src/types/types.d.ts.map +1 -1
  300. package/dist/types/src/util/deploy.d.ts +2 -2
  301. package/dist/types/src/util/deploy.d.ts.map +1 -1
  302. package/dist/types/src/util/functions.d.ts +2 -2
  303. package/dist/types/src/util/functions.d.ts.map +1 -1
  304. package/dist/types/tsconfig.tsbuildinfo +1 -1
  305. package/package.json +185 -107
  306. package/src/ScriptPlugin.node.ts +21 -0
  307. package/src/ScriptPlugin.test.ts +31 -0
  308. package/src/ScriptPlugin.tsx +24 -94
  309. package/src/ScriptPlugin.workerd.ts +18 -0
  310. package/src/blueprints/functions/create.ts +47 -0
  311. package/src/blueprints/functions/definitions.ts +332 -0
  312. package/src/blueprints/functions/delete.ts +23 -0
  313. package/src/blueprints/functions/deploy.ts +71 -0
  314. package/src/blueprints/functions/index.ts +19 -0
  315. package/src/blueprints/functions/inspect-invocations.ts +56 -0
  316. package/src/blueprints/functions/install-function.ts +56 -0
  317. package/src/blueprints/functions/invoke.ts +34 -0
  318. package/src/blueprints/functions/query-deployed-functions.ts +35 -0
  319. package/src/blueprints/functions/read.ts +29 -0
  320. package/src/blueprints/functions/update.ts +68 -0
  321. package/src/blueprints/index.ts +5 -0
  322. package/src/blueprints/script-blueprint.ts +55 -0
  323. package/src/capabilities/app-graph-builder.ts +40 -58
  324. package/src/capabilities/artifact-definition.ts +99 -97
  325. package/src/capabilities/blueprint-definition.ts +13 -24
  326. package/src/capabilities/compiler.ts +99 -22
  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 -93
  332. package/src/capabilities/settings.ts +26 -14
  333. package/src/compiler/compiler.ts +21 -3
  334. package/src/components/{FrameContainer/FrameContainer.tsx → FramePanel/FramePanel.tsx} +7 -6
  335. package/src/components/{FrameContainer → FramePanel}/index.ts +1 -1
  336. package/src/components/NotebookStack/NotebookCell.tsx +45 -33
  337. package/src/components/NotebookStack/NotebookMenu.tsx +7 -7
  338. package/src/components/NotebookStack/NotebookStack.stories.tsx +24 -25
  339. package/src/components/NotebookStack/NotebookStack.tsx +31 -20
  340. package/src/components/QueryEditor/QueryEditor.stories.tsx +96 -0
  341. package/src/components/QueryEditor/QueryEditor.tsx +49 -0
  342. package/src/components/QueryEditor/index.ts +5 -0
  343. package/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.tsx +32 -0
  344. package/src/components/ScriptPluginSettings/ScriptPluginSettings.tsx +42 -0
  345. package/src/components/ScriptPluginSettings/index.ts +5 -0
  346. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +42 -20
  347. package/src/components/ScriptToolbar/ScriptToolbar.tsx +38 -43
  348. package/src/components/TestPanel/TestPanel.tsx +111 -194
  349. package/src/components/TestPanel/index.ts +0 -1
  350. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +25 -18
  351. package/src/components/TypescriptEditor/TypescriptEditor.tsx +74 -66
  352. package/src/components/index.ts +6 -7
  353. package/src/constants.ts +7 -0
  354. package/src/containers/DeploymentDialog/DeploymentDialog.stories.tsx +63 -0
  355. package/src/containers/DeploymentDialog/DeploymentDialog.tsx +99 -0
  356. package/src/containers/DeploymentDialog/index.ts +5 -0
  357. package/src/containers/NotebookArticle/NotebookArticle.stories.tsx +85 -0
  358. package/src/containers/NotebookArticle/NotebookArticle.tsx +255 -0
  359. package/src/containers/NotebookArticle/index.ts +5 -0
  360. package/src/containers/ScriptArticle/ScriptArticle.stories.tsx +107 -0
  361. package/src/containers/ScriptArticle/ScriptArticle.tsx +85 -0
  362. package/src/containers/ScriptArticle/index.ts +5 -0
  363. package/src/containers/ScriptProperties/BlueprintEditor.tsx +102 -0
  364. package/src/containers/ScriptProperties/FunctionBinding.tsx +83 -0
  365. package/src/containers/ScriptProperties/FunctionPublishing.tsx +121 -0
  366. package/src/containers/ScriptProperties/ScriptProperties.stories.tsx +76 -0
  367. package/src/containers/ScriptProperties/ScriptProperties.tsx +24 -0
  368. package/src/containers/ScriptProperties/index.ts +5 -0
  369. package/src/containers/TestContainer/TestContainer.tsx +44 -0
  370. package/src/containers/TestContainer/index.ts +5 -0
  371. package/src/containers/index.ts +11 -0
  372. package/src/e2e/ai.test.ts +93 -0
  373. package/src/e2e/deploy.test.ts +66 -0
  374. package/src/hooks/deploy.ts +45 -35
  375. package/src/hooks/format.ts +9 -4
  376. package/src/hooks/index.ts +1 -0
  377. package/src/hooks/template.ts +19 -12
  378. package/src/hooks/useCompiler.ts +25 -0
  379. package/src/hooks/useCreateAndDeployScriptTemplates.ts +15 -20
  380. package/src/hooks/useToolbarState.ts +29 -4
  381. package/src/index.ts +2 -4
  382. package/src/meta.ts +11 -6
  383. package/src/notebook/compute-graph.test.ts +21 -9
  384. package/src/notebook/compute-graph.ts +46 -22
  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 +49 -0
  390. package/src/templates/chat.ts +1 -1
  391. package/src/templates/chess-bot.ts +63 -0
  392. package/src/templates/commentary.ts +248 -0
  393. package/src/templates/data-generator.ts +2 -2
  394. package/src/templates/discord.ts +5 -5
  395. package/src/templates/forex-effect.ts +35 -29
  396. package/src/templates/forex.ts +27 -17
  397. package/src/templates/gmail.ts +6 -6
  398. package/src/templates/index.ts +31 -18
  399. package/src/templates/ping.ts +22 -5
  400. package/src/testing/index.ts +2 -1
  401. package/src/testing/simulator.test.ts +39 -0
  402. package/src/testing/{data.ts → test-notebook.ts} +12 -13
  403. package/src/testing/test-script.ts +28 -0
  404. package/src/translations.ts +89 -87
  405. package/src/types/Notebook.ts +20 -19
  406. package/src/types/ScriptCapabilities.ts +18 -0
  407. package/src/types/ScriptEvents.ts +11 -0
  408. package/src/types/ScriptOperation.ts +42 -0
  409. package/src/types/Settings.ts +20 -0
  410. package/src/types/index.ts +5 -2
  411. package/src/types/types.ts +1 -11
  412. package/src/util/deploy.ts +29 -33
  413. package/src/util/functions.ts +32 -28
  414. package/src/vite-env.d.ts +2 -0
  415. package/dist/lib/browser/DeploymentDialog-MZX4T77L.mjs +0 -14
  416. package/dist/lib/browser/NotebookContainer-RTESC4OV.mjs.map +0 -7
  417. package/dist/lib/browser/ScriptContainer-T2BAZDJ4.mjs +0 -147
  418. package/dist/lib/browser/ScriptContainer-T2BAZDJ4.mjs.map +0 -7
  419. package/dist/lib/browser/app-graph-builder-2WR2ATTJ.mjs +0 -66
  420. package/dist/lib/browser/app-graph-builder-2WR2ATTJ.mjs.map +0 -7
  421. package/dist/lib/browser/blueprint-definition-6PZWZM2Y.mjs +0 -30
  422. package/dist/lib/browser/blueprint-definition-6PZWZM2Y.mjs.map +0 -7
  423. package/dist/lib/browser/chunk-2G2NA6DQ.mjs +0 -88
  424. package/dist/lib/browser/chunk-2G2NA6DQ.mjs.map +0 -7
  425. package/dist/lib/browser/chunk-3IJASGG5.mjs +0 -155
  426. package/dist/lib/browser/chunk-3IJASGG5.mjs.map +0 -7
  427. package/dist/lib/browser/chunk-4M7U2WVT.mjs +0 -304
  428. package/dist/lib/browser/chunk-4M7U2WVT.mjs.map +0 -7
  429. package/dist/lib/browser/chunk-5JSNQYZZ.mjs +0 -517
  430. package/dist/lib/browser/chunk-5JSNQYZZ.mjs.map +0 -7
  431. package/dist/lib/browser/chunk-EB6AXFXO.mjs +0 -31
  432. package/dist/lib/browser/chunk-EB6AXFXO.mjs.map +0 -7
  433. package/dist/lib/browser/chunk-GAFCKEII.mjs +0 -646
  434. package/dist/lib/browser/chunk-GAFCKEII.mjs.map +0 -7
  435. package/dist/lib/browser/chunk-LNNCD2H4.mjs +0 -102
  436. package/dist/lib/browser/chunk-LNNCD2H4.mjs.map +0 -7
  437. package/dist/lib/browser/chunk-M6KJPUJK.mjs +0 -111
  438. package/dist/lib/browser/chunk-M6KJPUJK.mjs.map +0 -7
  439. package/dist/lib/browser/chunk-UOQ6NCH3.mjs +0 -15
  440. package/dist/lib/browser/chunk-UOQ6NCH3.mjs.map +0 -7
  441. package/dist/lib/browser/compiler-4KHRSX7J.mjs +0 -86
  442. package/dist/lib/browser/compiler-4KHRSX7J.mjs.map +0 -7
  443. package/dist/lib/browser/index.mjs +0 -273
  444. package/dist/lib/browser/index.mjs.map +0 -7
  445. package/dist/lib/browser/intent-resolver-AFJ575VK.mjs +0 -104
  446. package/dist/lib/browser/intent-resolver-AFJ575VK.mjs.map +0 -7
  447. package/dist/lib/browser/meta.json +0 -1
  448. package/dist/lib/browser/react-surface-QEQ3QUQA.mjs +0 -128
  449. package/dist/lib/browser/react-surface-QEQ3QUQA.mjs.map +0 -7
  450. package/dist/lib/browser/settings-LNLSTZM4.mjs +0 -26
  451. package/dist/lib/browser/settings-LNLSTZM4.mjs.map +0 -7
  452. package/dist/lib/browser/types/index.mjs +0 -14
  453. package/dist/lib/node-esm/DeploymentDialog-GL5AUWMR.mjs +0 -15
  454. package/dist/lib/node-esm/NotebookContainer-SVD3A3D6.mjs +0 -818
  455. package/dist/lib/node-esm/NotebookContainer-SVD3A3D6.mjs.map +0 -7
  456. package/dist/lib/node-esm/ScriptContainer-2CE3H3JJ.mjs +0 -148
  457. package/dist/lib/node-esm/ScriptContainer-2CE3H3JJ.mjs.map +0 -7
  458. package/dist/lib/node-esm/app-graph-builder-NCVLUL5R.mjs +0 -67
  459. package/dist/lib/node-esm/app-graph-builder-NCVLUL5R.mjs.map +0 -7
  460. package/dist/lib/node-esm/blueprint-definition-5R6YCSZZ.mjs +0 -31
  461. package/dist/lib/node-esm/blueprint-definition-5R6YCSZZ.mjs.map +0 -7
  462. package/dist/lib/node-esm/chunk-55JZVM6K.mjs +0 -16
  463. package/dist/lib/node-esm/chunk-55JZVM6K.mjs.map +0 -7
  464. package/dist/lib/node-esm/chunk-57JA6XL5.mjs +0 -90
  465. package/dist/lib/node-esm/chunk-57JA6XL5.mjs.map +0 -7
  466. package/dist/lib/node-esm/chunk-HDKR5WCD.mjs +0 -113
  467. package/dist/lib/node-esm/chunk-HDKR5WCD.mjs.map +0 -7
  468. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  469. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +0 -7
  470. package/dist/lib/node-esm/chunk-IBV2DR36.mjs +0 -33
  471. package/dist/lib/node-esm/chunk-IBV2DR36.mjs.map +0 -7
  472. package/dist/lib/node-esm/chunk-IQTBVH4L.mjs +0 -518
  473. package/dist/lib/node-esm/chunk-IQTBVH4L.mjs.map +0 -7
  474. package/dist/lib/node-esm/chunk-KJKZ4KNO.mjs +0 -647
  475. package/dist/lib/node-esm/chunk-KJKZ4KNO.mjs.map +0 -7
  476. package/dist/lib/node-esm/chunk-NNHWLRHT.mjs +0 -103
  477. package/dist/lib/node-esm/chunk-NNHWLRHT.mjs.map +0 -7
  478. package/dist/lib/node-esm/chunk-RIE676OW.mjs +0 -156
  479. package/dist/lib/node-esm/chunk-RIE676OW.mjs.map +0 -7
  480. package/dist/lib/node-esm/chunk-YRTA4EHU.mjs +0 -305
  481. package/dist/lib/node-esm/chunk-YRTA4EHU.mjs.map +0 -7
  482. package/dist/lib/node-esm/compiler-DU5NQISX.mjs +0 -87
  483. package/dist/lib/node-esm/compiler-DU5NQISX.mjs.map +0 -7
  484. package/dist/lib/node-esm/index.mjs +0 -274
  485. package/dist/lib/node-esm/index.mjs.map +0 -7
  486. package/dist/lib/node-esm/intent-resolver-A5VVK746.mjs +0 -105
  487. package/dist/lib/node-esm/intent-resolver-A5VVK746.mjs.map +0 -7
  488. package/dist/lib/node-esm/meta.json +0 -1
  489. package/dist/lib/node-esm/react-surface-U77YT7VF.mjs +0 -129
  490. package/dist/lib/node-esm/react-surface-U77YT7VF.mjs.map +0 -7
  491. package/dist/lib/node-esm/settings-IUFMOCXY.mjs +0 -27
  492. package/dist/lib/node-esm/settings-IUFMOCXY.mjs.map +0 -7
  493. package/dist/lib/node-esm/templates/index.mjs +0 -11
  494. package/dist/lib/node-esm/types/index.mjs +0 -15
  495. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  496. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  497. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  498. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  499. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +0 -1
  500. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +0 -248
  501. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +0 -1
  502. package/dist/types/src/components/DeploymentDialog/index.d.ts +0 -4
  503. package/dist/types/src/components/DeploymentDialog/index.d.ts.map +0 -1
  504. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +0 -1
  505. package/dist/types/src/components/FrameContainer/frame.d.ts +0 -2
  506. package/dist/types/src/components/FrameContainer/frame.d.ts.map +0 -1
  507. package/dist/types/src/components/FrameContainer/index.d.ts +0 -2
  508. package/dist/types/src/components/FrameContainer/index.d.ts.map +0 -1
  509. package/dist/types/src/components/NotebookContainer.d.ts +0 -10
  510. package/dist/types/src/components/NotebookContainer.d.ts.map +0 -1
  511. package/dist/types/src/components/NotebookContainer.stories.d.ts +0 -251
  512. package/dist/types/src/components/NotebookContainer.stories.d.ts.map +0 -1
  513. package/dist/types/src/components/ScriptContainer.d.ts +0 -12
  514. package/dist/types/src/components/ScriptContainer.d.ts.map +0 -1
  515. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +0 -8
  516. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +0 -1
  517. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts +0 -6
  518. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +0 -1
  519. package/dist/types/src/components/Settings/index.d.ts +0 -3
  520. package/dist/types/src/components/Settings/index.d.ts.map +0 -1
  521. package/dist/types/src/components/TestPanel/TestContainer.d.ts +0 -8
  522. package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +0 -1
  523. package/dist/types/src/events.d.ts +0 -4
  524. package/dist/types/src/events.d.ts.map +0 -1
  525. package/dist/types/src/templates/chess.d.ts +0 -3
  526. package/dist/types/src/templates/chess.d.ts.map +0 -1
  527. package/dist/types/src/testing/data.d.ts +0 -3
  528. package/dist/types/src/testing/data.d.ts.map +0 -1
  529. package/dist/types/src/types/actions.d.ts +0 -54
  530. package/dist/types/src/types/actions.d.ts.map +0 -1
  531. package/src/capabilities/capabilities.ts +0 -12
  532. package/src/capabilities/intent-resolver.ts +0 -86
  533. package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +0 -58
  534. package/src/components/DeploymentDialog/DeploymentDialog.tsx +0 -123
  535. package/src/components/DeploymentDialog/index.ts +0 -9
  536. package/src/components/FrameContainer/frame.html +0 -25
  537. package/src/components/FrameContainer/frame.tsx +0 -51
  538. package/src/components/NotebookContainer.stories.tsx +0 -83
  539. package/src/components/NotebookContainer.tsx +0 -263
  540. package/src/components/ScriptContainer.tsx +0 -69
  541. package/src/components/Settings/ScriptObjectSettings.tsx +0 -297
  542. package/src/components/Settings/ScriptPluginSettings.tsx +0 -61
  543. package/src/components/Settings/index.ts +0 -6
  544. package/src/components/TestPanel/TestContainer.tsx +0 -27
  545. package/src/events.ts +0 -11
  546. package/src/templates/chess.ts +0 -49
  547. package/src/types/actions.ts +0 -53
  548. /package/dist/lib/{browser/templates → neutral/blueprints}/index.mjs.map +0 -0
  549. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  550. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs.map +0 -0
  551. /package/dist/lib/{browser/types → neutral}/index.mjs.map +0 -0
  552. /package/dist/lib/{browser/DeploymentDialog-MZX4T77L.mjs.map → neutral/meta.mjs.map} +0 -0
  553. /package/dist/lib/{node-esm/templates → neutral/operations}/index.mjs.map +0 -0
  554. /package/dist/lib/{node-esm/types → neutral/templates}/index.mjs.map +0 -0
  555. /package/dist/lib/{node-esm/DeploymentDialog-GL5AUWMR.mjs.map → neutral/types/index.mjs.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/NotebookArticle/NotebookArticle.tsx", "../../../src/notebook/compute-graph.ts", "../../../src/notebook/eval.ts", "../../../src/notebook/vfs-parser.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { RegistryContext } from '@effect-atom/atom-react';\nimport * as Cause from 'effect/Cause';\nimport * as Effect from 'effect/Effect';\nimport * as Exit from 'effect/Exit';\nimport type * as Types from 'effect/Types';\nimport React, { useCallback, useContext, useMemo, useState } from 'react';\n\nimport { useSpaceCallback } from '@dxos/app-framework/ui';\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { AgentPrompt } from '@dxos/assistant-toolkit';\nimport { Blueprint, Routine } from '@dxos/compute';\nimport { Operation } from '@dxos/compute';\nimport { Filter, Obj, Query, Ref } from '@dxos/echo';\nimport { QueryBuilder } from '@dxos/echo-query';\nimport { invariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\nimport { Graph } from '@dxos/plugin-explorer';\nimport { DropdownMenu, IconButton, Panel, Toolbar, useTranslation } from '@dxos/react-ui';\nimport { useAttention } from '@dxos/react-ui-attention';\nimport { Text, ViewModel } from '@dxos/schema';\nimport { isNonNullable } from '@dxos/util';\n\nimport { NotebookMenu, NotebookStack, type NotebookStackProps, type TypescriptEditorProps } from '#components';\nimport { meta } from '#meta';\nimport { type Notebook } from '#types';\n\nimport { ComputeGraph } from '../../notebook';\n\nconst INCLUDE_BLUEPRINTS = [\n 'org.dxos.blueprint.assistant',\n 'org.dxos.blueprint.database',\n 'org.dxos.blueprint.markdown',\n];\n\n// TODO(burdon): Support calling named deployed functions (as with sheet).\n\nexport type NotebookArticleProps = AppSurface.ObjectArticleProps<Notebook.Notebook, Pick<TypescriptEditorProps, 'env'>>;\n\nexport const NotebookArticle = ({ role, subject: notebook, attendableId, env }: NotebookArticleProps) => {\n const { t } = useTranslation(meta.id);\n const registry = useContext(RegistryContext);\n const db = Obj.getDatabase(notebook);\n const { hasAttention } = useAttention(attendableId);\n\n // TODO(burdon): Consolidate execution and state (with graph).\n // Generalize ComputeGraph evaluation function (using effects).\n const graph = useMemo(() => notebook && new ComputeGraph(notebook, registry), [notebook, registry]);\n\n const [queryValues, setQueryValues] = useState<Record<string, any>>({});\n const handleExecQueries = useCallback(async () => {\n invariant(db);\n\n const builder = new QueryBuilder();\n for (const cell of notebook?.cells ?? []) {\n if (cell.type === 'query') {\n if (cell.source?.target) {\n const source = cell.source.target.content;\n const { name, filter } = builder.build(source);\n if (filter) {\n const ast = Query.select(filter).ast;\n const graph = cell.graph?.target;\n if (!graph) {\n const { view } = await ViewModel.makeFromDatabase({ db });\n const newGraph = Graph.make({ query: { ast }, view });\n Obj.update(notebook!, (obj) => {\n const c = obj.cells.find((c) => c.id === cell.id);\n if (c) {\n c.graph = Ref.make(newGraph);\n c.name = name;\n }\n });\n } else {\n Obj.update(graph, (graph) => {\n graph.query.ast = ast as Obj.Mutable<typeof ast>;\n });\n }\n }\n }\n\n if (cell.name && cell.graph?.target) {\n const graph = Obj.getSnapshot(cell.graph?.target);\n const query = Query.fromAst(graph.query.ast);\n const objects = await db.query(query).run();\n const objectIds = objects?.map((obj) => obj.id);\n setQueryValues((prev) => ({ ...prev, [cell.name!]: objectIds }));\n }\n }\n }\n }, [db, notebook, graph]);\n\n const [promptResults, setPromptResults] = useState<Record<string, string>>({});\n const handleExecPrompts = useSpaceCallback(\n db?.spaceId,\n [] as const,\n Effect.fnUntraced(function* () {\n invariant(graph);\n\n const prompts =\n notebook?.cells\n .filter((cell) => cell.type === 'prompt')\n .map((cell) => cell.prompt)\n .filter(isNonNullable) ?? [];\n\n for (const prompt of prompts) {\n yield* runPrompt({\n prompt,\n input: { ...queryValues, ...graph.getValuesByName() },\n onResult: (result) =>\n setPromptResults((prev) => ({\n ...prev,\n [prompt.uri]: result,\n })),\n });\n }\n }),\n [notebook, graph, queryValues],\n );\n\n // TODO(burdon): Cache values in context (preserve when switched).\n const handleCompute = useCallback(async () => {\n // TODO(burdon): Generalize executors (dependencies).\n await graph?.evaluate();\n await handleExecQueries();\n await handleExecPrompts();\n }, [graph, handleExecQueries, handleExecPrompts]);\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 Obj.update(notebook, (notebook) => {\n const cell = notebook.cells.splice(from, 1)[0];\n if (cell) {\n notebook.cells.splice(to, 0, cell);\n }\n });\n }\n },\n [notebook],\n );\n\n const handleCellInsert = useCallback<NonNullable<NotebookStackProps['onCellInsert']>>(\n async (type, after) => {\n invariant(notebook);\n const cell: Types.Mutable<Notebook.Cell> = { id: crypto.randomUUID(), type };\n switch (type) {\n case 'markdown':\n case 'script':\n case 'query': {\n cell.source = Ref.make(Text.make());\n break;\n }\n\n case 'prompt': {\n if (db) {\n const objects = await db.query(Query.select(Filter.type(Blueprint.Blueprint))).run();\n const blueprints = objects\n .filter((blueprint) => {\n const key = Obj.getMeta(blueprint).key;\n return key !== undefined && INCLUDE_BLUEPRINTS.includes(key);\n })\n .map((blueprint) => Ref.make(blueprint));\n cell.prompt = Ref.make(Routine.make({ instructions: '', blueprints }));\n }\n break;\n }\n }\n\n const idx = after ? notebook.cells.findIndex((cell) => cell.id === after) : notebook.cells.length;\n Obj.update(notebook, (notebook) => {\n notebook.cells.splice(idx, 0, cell);\n });\n },\n [db, 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 Obj.update(notebook, (notebook) => {\n notebook.cells.splice(idx, 1);\n });\n }\n },\n [notebook],\n );\n\n return (\n <Panel.Root role={role} className='dx-document'>\n <Panel.Toolbar asChild>\n <Toolbar.Root disabled={!hasAttention}>\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-success-text'\n onClick={handleCompute}\n />\n </Toolbar.Root>\n </Panel.Toolbar>\n <Panel.Content asChild>\n <NotebookStack\n db={db}\n notebook={notebook}\n graph={graph}\n env={env}\n promptResults={promptResults}\n onRearrange={handleRearrange}\n onCellInsert={handleCellInsert}\n onCellDelete={handleCellDelete}\n />\n </Panel.Content>\n </Panel.Root>\n );\n};\n\n// TODO(wittjosiah): Factor out. Copied from PromptArticle in plugin-assistant.\nconst runPrompt = Effect.fn(function* ({\n prompt,\n input,\n onResult,\n}: {\n prompt: Ref.Ref<Routine.Routine>;\n input: Record<string, any>;\n onResult: (result: string) => void;\n}) {\n const inputData: Operation.Definition.Input<typeof AgentPrompt> = { prompt, input };\n // Invoke the function.\n const result = yield* Operation.invoke(AgentPrompt, inputData).pipe(Effect.orDie, Effect.exit);\n\n Exit.match(result, {\n onFailure: (cause) => {\n const error = Cause.prettyErrors(cause)[0];\n log.error(error.message, error.cause ?? error.stack);\n onResult(error.message);\n },\n onSuccess: (result: any) => {\n onResult(result.note);\n },\n });\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom, type Registry } from '@effect-atom/atom-react';\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 */\n// TODO(burdon): Reconcile with @dxos/conductor.\nexport class ComputeGraph {\n private readonly _parser = new VirtualTypeScriptParser();\n\n private _expressionsAtom = Atom.make<Record<string, ParsedExpression>>({});\n private _valuesByCellIdAtom = Atom.make<Record<string, any>>({});\n private _valuesByNameAtom = Atom.make<Record<string, any>>({});\n\n constructor(\n private readonly _notebook: Notebook.Notebook,\n private readonly _registry: Registry.Registry,\n ) {}\n\n /**\n * Atom for parsed expressions by cell ID.\n */\n get expressions(): Atom.Atom<Record<string, ParsedExpression>> {\n return this._expressionsAtom;\n }\n\n /**\n * Get current expressions by cell ID.\n */\n getExpressions(): Record<string, ParsedExpression> {\n return this._registry.get(this._expressionsAtom);\n }\n\n /**\n * Atom for computed values by cell ID.\n */\n get values(): Atom.Atom<Record<string, any>> {\n return this._valuesByCellIdAtom;\n }\n\n /**\n * Get computed values by cell ID.\n */\n getValues(): Record<string, any> {\n return this._registry.get(this._valuesByCellIdAtom);\n }\n\n /**\n * Atom for computed values by name.\n */\n get valuesByName(): Atom.Atom<Record<string, any>> {\n return this._valuesByNameAtom;\n }\n\n /**\n * Get current values by name.\n */\n getValuesByName(): Record<string, any> {\n return this._registry.get(this._valuesByNameAtom);\n }\n\n /**\n * Get computed value by cell ID.\n */\n getValue(cellId: string): any {\n return this._registry.get(this._valuesByCellIdAtom)[cellId];\n }\n\n /**\n * Compute values.\n */\n async evaluate() {\n // Parse expressions.\n const { expressions, dependencyGraph } = this.parse();\n this._registry.set(this._valuesByCellIdAtom, {});\n this._registry.set(this._valuesByNameAtom, {});\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)?.source?.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 = await this.eval(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 = await this.eval(cellSource, valuesByName);\n valuesByCellId[cellId] = result;\n }\n } catch (error) {\n // TODO(burdon): Set error state.\n log.error('error evaluating cell', { cellId, error });\n }\n }\n\n this._registry.set(this._valuesByCellIdAtom, valuesByCellId);\n this._registry.set(this._valuesByNameAtom, valuesByName);\n return valuesByCellId;\n }\n\n private async eval(source: string, values: Record<string, any>) {\n return evalScript(source, values);\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.source?.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._registry.set(this._expressionsAtom, 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 = async (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 moduleResolution: ts.ModuleResolutionKind.Bundler,\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) {\n return;\n }\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) {\n return [];\n }\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) {\n previousExports.add(exp.name);\n }\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": ["RegistryContext", "Cause", "Effect", "Exit", "React", "useCallback", "useContext", "useMemo", "useState", "useSpaceCallback", "AgentPrompt", "Blueprint", "Routine", "Operation", "Filter", "Obj", "Query", "Ref", "QueryBuilder", "invariant", "log", "Graph", "DropdownMenu", "IconButton", "Panel", "Toolbar", "useTranslation", "useAttention", "Text", "ViewModel", "isNonNullable", "NotebookMenu", "NotebookStack", "meta", "Atom", "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", "builtIns", "systemDefinitions", "createSystem", "createVirtualTypeScriptEnvironment", "ts", "invariant", "filename", "target", "ts", "ModuleKind", "moduleResolution", "ModuleResolutionKind", "strict", "esModuleInterop", "skipLibCheck", "forceConsistentCasingInfilenames", "jsx", "JsxEmit", "noLib", "analysis", "length", "env", "createEnvironment", "sourcefilename", "sourceFile", "typeChecker", "assignmentInfo", "references", "results", "languageService", "getProgram", "files", "forEach", "file", "node", "isFunctionDeclaration", "getTypeOfSymbolAtLocation", "signature", "getSignaturesOfType", "name", "type", "parameters", "returnType", "findReferences", "isVariableStatement", "declaration", "symbol", "getSymbolAtLocation", "kind", "value", "initializer", "getTypeAtLocation", "extractParameters", "isStringLiteral", "valueType", "typeString", "isInterfaceDeclaration", "forEachChild", "visit", "typeToString", "localSymbols", "Set", "collectLocalSymbols", "param", "has", "parent", "isDeclaration", "text", "findRefs", "isExpressionStatement", "expr", "SyntaxKind", "EqualsToken", "isIdentifier", "right", "isAssignmentTarget", "isBinaryExpression", "operatorToken", "systemFiles", "fileMap", "allFiles", "system", "createSystem", "__dxlog_file", "_parser", "_expressionsAtom", "_valuesByCellIdAtom", "_valuesByNameAtom", "Atom", "_registry", "_notebook", "expressions", "cellExpressions", "Map", "id", "expr", "valuesByName", "evaluationOrder", "log", "cellId", "name", "cellSource", "rhs", "endsWith", "result", "eval", "valuesByCellId", "error", "source", "parsed", "parseExpression", "acc", "cell", "dependencyGraph", "topologicalSort", "visit", "node", "visited", "has", "deps", "dependencies", "nodes", "buildDependencyGraph", "nameToCellId", "references", "dependencyCellIds", "map", "ref", "graph", "__dxlog_file", "INCLUDE_BLUEPRINTS", "registry", "useContext", "RegistryContext", "db", "Obj", "notebook", "hasAttention", "useAttention", "attendableId", "invariant", "QueryBuilder", "cell", "cells", "type", "source", "target", "filter", "ast", "Query", "select", "graph", "view", "update", "Ref", "make", "newGraph", "c", "name", "query", "fromAst", "objects", "objectIds", "map", "obj", "id", "setQueryValues", "prev", "prompt", "prompts", "runPrompt", "input", "onResult", "result", "setPromptResults", "uri", "queryValues", "evaluate", "handleExecPrompts", "findIndex", "to", "from", "splice", "crypto", "randomUUID", "getMeta", "blueprint", "undefined", "instructions", "blueprints", "idx", "asChild", "Toolbar", "disabled", "DropdownMenu", "Root", "IconButton", "icon", "iconOnly", "label", "onCellInsert", "handleCellInsert", "classNames", "onClick", "handleCompute", "NotebookStack", "env", "promptResults", "onRearrange", "onCellDelete", "onFailure", "cause", "error", "message", "log", "onSuccess"]
7
+ }
@@ -0,0 +1,79 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/containers/ScriptArticle/ScriptArticle.tsx
4
+ import React, { useMemo } from "react";
5
+ import { Obj } from "@dxos/echo";
6
+ import { createDocAccessor } from "@dxos/echo-db";
7
+ import { getSpace } from "@dxos/react-client/echo";
8
+ import { useIdentity } from "@dxos/react-client/halo";
9
+ import { Panel } from "@dxos/react-ui";
10
+ import { createDataExtensions, listener, editorClassNames } from "@dxos/ui-editor";
11
+ import { ScriptToolbar, TypescriptEditor } from "#components";
12
+ import { useDeployState, useToolbarState } from "#hooks";
13
+ var ScriptArticle = ({ role, attendableId, subject: script, settings = {
14
+ editorInputMode: "vscode"
15
+ }, env }) => {
16
+ const identity = useIdentity();
17
+ const space = getSpace(script);
18
+ const state = useToolbarState();
19
+ useDeployState({
20
+ script,
21
+ state
22
+ });
23
+ const extensions = useMemo(() => {
24
+ if (!script.source.target) {
25
+ return [];
26
+ }
27
+ return [
28
+ createDataExtensions({
29
+ id: script.id,
30
+ text: createDocAccessor(script.source.target, [
31
+ "content"
32
+ ]),
33
+ messenger: space,
34
+ identity
35
+ }),
36
+ listener({
37
+ onChange: ({ text }) => {
38
+ if (script.source.target?.content !== text) {
39
+ Obj.update(script, (script2) => {
40
+ script2.changed = true;
41
+ });
42
+ }
43
+ }
44
+ })
45
+ ];
46
+ }, [
47
+ identity,
48
+ space,
49
+ script,
50
+ script.source.target
51
+ ]);
52
+ if (!extensions.length) {
53
+ return null;
54
+ }
55
+ return /* @__PURE__ */ React.createElement(Panel.Root, {
56
+ role
57
+ }, /* @__PURE__ */ React.createElement(Panel.Toolbar, {
58
+ asChild: true
59
+ }, /* @__PURE__ */ React.createElement(ScriptToolbar, {
60
+ script,
61
+ attendableId,
62
+ state,
63
+ role
64
+ })), /* @__PURE__ */ React.createElement(Panel.Content, {
65
+ asChild: true
66
+ }, /* @__PURE__ */ React.createElement(TypescriptEditor, {
67
+ classNames: editorClassNames(role),
68
+ id: script.id,
69
+ env,
70
+ initialValue: script.source?.target?.content,
71
+ extensions,
72
+ inputMode: settings.editorInputMode,
73
+ toolbar: true
74
+ })));
75
+ };
76
+ export {
77
+ ScriptArticle as default
78
+ };
79
+ //# sourceMappingURL=ScriptArticle-UBT27SB6.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/ScriptArticle/ScriptArticle.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { type Script } from '@dxos/compute';\nimport { Obj } from '@dxos/echo';\nimport { createDocAccessor } from '@dxos/echo-db';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { useIdentity } from '@dxos/react-client/halo';\nimport { Panel } from '@dxos/react-ui';\nimport { createDataExtensions, listener, editorClassNames } from '@dxos/ui-editor';\n\nimport { ScriptToolbar, TypescriptEditor, type TypescriptEditorProps } from '#components';\nimport { useDeployState, useToolbarState } from '#hooks';\nimport { type Settings } from '#types';\n\nexport type ScriptEditorProps = AppSurface.ObjectArticleProps<\n Script.Script,\n {\n settings?: Settings.Settings;\n } & Pick<TypescriptEditorProps, 'env'>\n>;\n\nexport const ScriptArticle = ({\n role,\n attendableId,\n subject: script,\n settings = { editorInputMode: 'vscode' },\n env,\n}: ScriptEditorProps) => {\n const identity = useIdentity();\n const space = getSpace(script);\n const state = useToolbarState();\n useDeployState({ script, state });\n\n const extensions = useMemo(() => {\n if (!script.source.target) {\n return [];\n }\n\n return [\n createDataExtensions({\n id: script.id,\n text: createDocAccessor(script.source.target, ['content']),\n messenger: space,\n identity,\n }),\n listener({\n onChange: ({ text }) => {\n if (script.source.target?.content !== text) {\n Obj.update(script, (script) => {\n script.changed = true;\n });\n }\n },\n }),\n ];\n }, [identity, space, script, script.source.target]);\n\n if (!extensions.length) {\n return null;\n }\n\n return (\n <Panel.Root role={role}>\n <Panel.Toolbar asChild>\n <ScriptToolbar script={script} attendableId={attendableId} state={state} role={role} />\n </Panel.Toolbar>\n <Panel.Content asChild>\n <TypescriptEditor\n classNames={editorClassNames(role)}\n id={script.id}\n env={env}\n initialValue={script.source?.target?.content}\n extensions={extensions}\n inputMode={settings.editorInputMode}\n toolbar\n />\n </Panel.Content>\n </Panel.Root>\n );\n};\n"],
5
+ "mappings": ";;;AAIA,OAAOA,SAASC,eAAe;AAI/B,SAASC,WAAW;AACpB,SAASC,yBAAyB;AAClC,SAASC,gBAAgB;AACzB,SAASC,mBAAmB;AAC5B,SAASC,aAAa;AACtB,SAASC,sBAAsBC,UAAUC,wBAAwB;AAEjE,SAASC,eAAeC,wBAAoD;AAC5E,SAASC,gBAAgBC,uBAAuB;AAUzC,IAAMC,gBAAgB,CAAC,EAC5BC,MACAC,cACAC,SAASC,QACTC,WAAW;EAAEC,iBAAiB;AAAS,GACvCC,IAAG,MACe;AAClB,QAAMC,WAAWjB,YAAAA;AACjB,QAAMkB,QAAQnB,SAASc,MAAAA;AACvB,QAAMM,QAAQX,gBAAAA;AACdD,iBAAe;IAAEM;IAAQM;EAAM,CAAA;AAE/B,QAAMC,aAAaxB,QAAQ,MAAA;AACzB,QAAI,CAACiB,OAAOQ,OAAOC,QAAQ;AACzB,aAAO,CAAA;IACT;AAEA,WAAO;MACLpB,qBAAqB;QACnBqB,IAAIV,OAAOU;QACXC,MAAM1B,kBAAkBe,OAAOQ,OAAOC,QAAQ;UAAC;SAAU;QACzDG,WAAWP;QACXD;MACF,CAAA;MACAd,SAAS;QACPuB,UAAU,CAAC,EAAEF,KAAI,MAAE;AACjB,cAAIX,OAAOQ,OAAOC,QAAQK,YAAYH,MAAM;AAC1C3B,gBAAI+B,OAAOf,QAAQ,CAACA,YAAAA;AAClBA,cAAAA,QAAOgB,UAAU;YACnB,CAAA;UACF;QACF;MACF,CAAA;;EAEJ,GAAG;IAACZ;IAAUC;IAAOL;IAAQA,OAAOQ,OAAOC;GAAO;AAElD,MAAI,CAACF,WAAWU,QAAQ;AACtB,WAAO;EACT;AAEA,SACE,sBAAA,cAAC7B,MAAM8B,MAAI;IAACrB;KACV,sBAAA,cAACT,MAAM+B,SAAO;IAACC,SAAAA;KACb,sBAAA,cAAC5B,eAAAA;IAAcQ;IAAgBF;IAA4BQ;IAAcT;OAE3E,sBAAA,cAACT,MAAMiC,SAAO;IAACD,SAAAA;KACb,sBAAA,cAAC3B,kBAAAA;IACC6B,YAAY/B,iBAAiBM,IAAAA;IAC7Ba,IAAIV,OAAOU;IACXP;IACAoB,cAAcvB,OAAOQ,QAAQC,QAAQK;IACrCP;IACAiB,WAAWvB,SAASC;IACpBuB,SAAAA;;AAKV;",
6
+ "names": ["React", "useMemo", "Obj", "createDocAccessor", "getSpace", "useIdentity", "Panel", "createDataExtensions", "listener", "editorClassNames", "ScriptToolbar", "TypescriptEditor", "useDeployState", "useToolbarState", "ScriptArticle", "role", "attendableId", "subject", "script", "settings", "editorInputMode", "env", "identity", "space", "state", "extensions", "source", "target", "id", "text", "messenger", "onChange", "content", "update", "changed", "length", "Root", "Toolbar", "asChild", "Content", "classNames", "initialValue", "inputMode", "toolbar"]
7
+ }
@@ -0,0 +1,39 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/ScriptPlugin.tsx
4
+ import { Plugin } from "@dxos/app-framework";
5
+ import { AppActivationEvents, AppPlugin } from "@dxos/app-toolkit";
6
+ import { Script } from "@dxos/compute";
7
+ import { AppGraphBuilder, BlueprintDefinition, Compiler, CreateObject, OperationHandler, ReactSurface, ScriptSettings } from "#capabilities";
8
+ import { meta } from "#meta";
9
+ import { translations } from "#translations";
10
+ import { ScriptEvents } from "#types";
11
+ var ScriptPlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({
12
+ activate: AppGraphBuilder
13
+ }), AppPlugin.addBlueprintDefinitionModule({
14
+ activate: BlueprintDefinition
15
+ }), AppPlugin.addCreateObjectModule({
16
+ activate: CreateObject
17
+ }), AppPlugin.addOperationHandlerModule({
18
+ activate: OperationHandler
19
+ }), AppPlugin.addSchemaModule({
20
+ schema: [
21
+ Script.Script
22
+ ]
23
+ }), AppPlugin.addSurfaceModule({
24
+ activate: ReactSurface
25
+ }), AppPlugin.addTranslationsModule({
26
+ translations
27
+ }), Plugin.addModule({
28
+ activatesOn: AppActivationEvents.SetupSettings,
29
+ activate: ScriptSettings
30
+ }), Plugin.addModule({
31
+ activatesOn: ScriptEvents.SetupCompiler,
32
+ activate: Compiler
33
+ }), Plugin.make);
34
+ var ScriptPlugin_default = ScriptPlugin;
35
+ export {
36
+ ScriptPlugin,
37
+ ScriptPlugin_default as default
38
+ };
39
+ //# sourceMappingURL=ScriptPlugin.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/ScriptPlugin.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';\nimport { Script } from '@dxos/compute';\n\nimport {\n AppGraphBuilder,\n BlueprintDefinition,\n Compiler,\n CreateObject,\n OperationHandler,\n ReactSurface,\n ScriptSettings,\n} from '#capabilities';\nimport { meta } from '#meta';\nimport { translations } from '#translations';\nimport { ScriptEvents } from '#types';\n\nexport const ScriptPlugin = Plugin.define(meta).pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n AppPlugin.addBlueprintDefinitionModule({ activate: BlueprintDefinition }),\n AppPlugin.addCreateObjectModule({ activate: CreateObject }),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addSchemaModule({ schema: [Script.Script] }),\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.addModule({\n activatesOn: AppActivationEvents.SetupSettings,\n activate: ScriptSettings,\n }),\n Plugin.addModule({\n activatesOn: ScriptEvents.SetupCompiler,\n activate: Compiler,\n }),\n Plugin.make,\n);\n\nexport default ScriptPlugin;\n"],
5
+ "mappings": ";;;AAIA,SAASA,cAAc;AACvB,SAASC,qBAAqBC,iBAAiB;AAC/C,SAASC,cAAc;AAEvB,SACEC,iBACAC,qBACAC,UACAC,cACAC,kBACAC,cACAC,sBACK;AACP,SAASC,YAAY;AACrB,SAASC,oBAAoB;AAC7B,SAASC,oBAAoB;AAEtB,IAAMC,eAAed,OAAOe,OAAOJ,IAAAA,EAAMK,KAC9Cd,UAAUe,kBAAkB;EAAEC,UAAUd;AAAgB,CAAA,GACxDF,UAAUiB,6BAA6B;EAAED,UAAUb;AAAoB,CAAA,GACvEH,UAAUkB,sBAAsB;EAAEF,UAAUX;AAAa,CAAA,GACzDL,UAAUmB,0BAA0B;EAAEH,UAAUV;AAAiB,CAAA,GACjEN,UAAUoB,gBAAgB;EAAEC,QAAQ;IAACpB,OAAOA;;AAAQ,CAAA,GACpDD,UAAUsB,iBAAiB;EAAEN,UAAUT;AAAa,CAAA,GACpDP,UAAUuB,sBAAsB;EAAEb;AAAa,CAAA,GAC/CZ,OAAO0B,UAAU;EACfC,aAAa1B,oBAAoB2B;EACjCV,UAAUR;AACZ,CAAA,GACAV,OAAO0B,UAAU;EACfC,aAAad,aAAagB;EAC1BX,UAAUZ;AACZ,CAAA,GACAN,OAAO8B,IAAI;AAGb,IAAA,uBAAehB;",
6
+ "names": ["Plugin", "AppActivationEvents", "AppPlugin", "Script", "AppGraphBuilder", "BlueprintDefinition", "Compiler", "CreateObject", "OperationHandler", "ReactSurface", "ScriptSettings", "meta", "translations", "ScriptEvents", "ScriptPlugin", "define", "pipe", "addAppGraphModule", "activate", "addBlueprintDefinitionModule", "addCreateObjectModule", "addOperationHandlerModule", "addSchemaModule", "schema", "addSurfaceModule", "addTranslationsModule", "addModule", "activatesOn", "SetupSettings", "SetupCompiler", "make"]
7
+ }
@@ -0,0 +1,27 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/ScriptPlugin.node.ts
4
+ import { Plugin } from "@dxos/app-framework";
5
+ import { AppPlugin } from "@dxos/app-toolkit";
6
+ import { Script } from "@dxos/compute";
7
+ import { AppGraphBuilder, BlueprintDefinition, CreateObject, OperationHandler } from "#capabilities";
8
+ import { meta } from "#meta";
9
+ var ScriptPlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({
10
+ activate: AppGraphBuilder
11
+ }), AppPlugin.addBlueprintDefinitionModule({
12
+ activate: BlueprintDefinition
13
+ }), AppPlugin.addCreateObjectModule({
14
+ activate: CreateObject
15
+ }), AppPlugin.addOperationHandlerModule({
16
+ activate: OperationHandler
17
+ }), AppPlugin.addSchemaModule({
18
+ schema: [
19
+ Script.Script
20
+ ]
21
+ }), Plugin.make);
22
+ var ScriptPlugin_node_default = ScriptPlugin;
23
+ export {
24
+ ScriptPlugin,
25
+ ScriptPlugin_node_default as default
26
+ };
27
+ //# sourceMappingURL=ScriptPlugin.node.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/ScriptPlugin.node.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { Script } from '@dxos/compute';\n\nimport { AppGraphBuilder, BlueprintDefinition, CreateObject, OperationHandler } from '#capabilities';\nimport { meta } from '#meta';\n\nexport const ScriptPlugin = Plugin.define(meta).pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n AppPlugin.addBlueprintDefinitionModule({ activate: BlueprintDefinition }),\n AppPlugin.addCreateObjectModule({ activate: CreateObject }),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addSchemaModule({ schema: [Script.Script] }),\n Plugin.make,\n);\n\nexport default ScriptPlugin;\n"],
5
+ "mappings": ";;;AAIA,SAASA,cAAc;AACvB,SAASC,iBAAiB;AAC1B,SAASC,cAAc;AAEvB,SAASC,iBAAiBC,qBAAqBC,cAAcC,wBAAwB;AACrF,SAASC,YAAY;AAEd,IAAMC,eAAeR,OAAOS,OAAOF,IAAAA,EAAMG,KAC9CT,UAAUU,kBAAkB;EAAEC,UAAUT;AAAgB,CAAA,GACxDF,UAAUY,6BAA6B;EAAED,UAAUR;AAAoB,CAAA,GACvEH,UAAUa,sBAAsB;EAAEF,UAAUP;AAAa,CAAA,GACzDJ,UAAUc,0BAA0B;EAAEH,UAAUN;AAAiB,CAAA,GACjEL,UAAUe,gBAAgB;EAAEC,QAAQ;IAACf,OAAOA;;AAAQ,CAAA,GACpDF,OAAOkB,IAAI;AAGb,IAAA,4BAAeV;",
6
+ "names": ["Plugin", "AppPlugin", "Script", "AppGraphBuilder", "BlueprintDefinition", "CreateObject", "OperationHandler", "meta", "ScriptPlugin", "define", "pipe", "addAppGraphModule", "activate", "addBlueprintDefinitionModule", "addCreateObjectModule", "addOperationHandlerModule", "addSchemaModule", "schema", "make"]
7
+ }
@@ -0,0 +1,21 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/ScriptPlugin.workerd.ts
4
+ import { Plugin } from "@dxos/app-framework";
5
+ import { AppPlugin } from "@dxos/app-toolkit";
6
+ import { Script } from "@dxos/compute";
7
+ import { OperationHandler } from "#capabilities";
8
+ import { meta } from "#meta";
9
+ var ScriptPlugin = Plugin.define(meta).pipe(AppPlugin.addOperationHandlerModule({
10
+ activate: OperationHandler
11
+ }), AppPlugin.addSchemaModule({
12
+ schema: [
13
+ Script.Script
14
+ ]
15
+ }), Plugin.make);
16
+ var ScriptPlugin_workerd_default = ScriptPlugin;
17
+ export {
18
+ ScriptPlugin,
19
+ ScriptPlugin_workerd_default as default
20
+ };
21
+ //# sourceMappingURL=ScriptPlugin.workerd.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/ScriptPlugin.workerd.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { Script } from '@dxos/compute';\n\nimport { OperationHandler } from '#capabilities';\nimport { meta } from '#meta';\n\nexport const ScriptPlugin = Plugin.define(meta).pipe(\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addSchemaModule({ schema: [Script.Script] }),\n Plugin.make,\n);\n\nexport default ScriptPlugin;\n"],
5
+ "mappings": ";;;AAIA,SAASA,cAAc;AACvB,SAASC,iBAAiB;AAC1B,SAASC,cAAc;AAEvB,SAASC,wBAAwB;AACjC,SAASC,YAAY;AAEd,IAAMC,eAAeL,OAAOM,OAAOF,IAAAA,EAAMG,KAC9CN,UAAUO,0BAA0B;EAAEC,UAAUN;AAAiB,CAAA,GACjEF,UAAUS,gBAAgB;EAAEC,QAAQ;IAACT,OAAOA;;AAAQ,CAAA,GACpDF,OAAOY,IAAI;AAGb,IAAA,+BAAeP;",
6
+ "names": ["Plugin", "AppPlugin", "Script", "OperationHandler", "meta", "ScriptPlugin", "define", "pipe", "addOperationHandlerModule", "activate", "addSchemaModule", "schema", "make"]
7
+ }
@@ -0,0 +1,31 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/components/ScriptPluginSettings/ScriptPluginSettings.tsx
4
+ import React from "react";
5
+ import { Button, useTranslation } from "@dxos/react-ui";
6
+ import { Settings as SettingsForm } from "@dxos/react-ui-form";
7
+ import { meta } from "#meta";
8
+ import { Settings } from "#types";
9
+ var ScriptPluginSettings = ({ settings, onSettingsChange, onAuthenticate }) => {
10
+ const { t } = useTranslation(meta.id);
11
+ return /* @__PURE__ */ React.createElement(SettingsForm.Viewport, null, /* @__PURE__ */ React.createElement(SettingsForm.Section, {
12
+ title: t("settings.title", {
13
+ ns: meta.id
14
+ })
15
+ }, /* @__PURE__ */ React.createElement(SettingsForm.Item, {
16
+ title: t("authenticate-action.label"),
17
+ description: t("authenticate-action.description")
18
+ }, /* @__PURE__ */ React.createElement(Button, {
19
+ disabled: !onSettingsChange,
20
+ onClick: onAuthenticate
21
+ }, t("authenticate-button.label"))), /* @__PURE__ */ React.createElement(SettingsForm.FieldSet, {
22
+ readonly: !onSettingsChange,
23
+ schema: Settings.Settings,
24
+ values: settings,
25
+ onValuesChanged: (values) => onSettingsChange?.(() => values)
26
+ })));
27
+ };
28
+ export {
29
+ ScriptPluginSettings as default
30
+ };
31
+ //# sourceMappingURL=ScriptPluginSettings-T4JMUSHN.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/ScriptPluginSettings/ScriptPluginSettings.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { Button, useTranslation } from '@dxos/react-ui';\nimport { Settings as SettingsForm } from '@dxos/react-ui-form';\n\nimport { meta } from '#meta';\nimport { Settings } from '#types';\n\nexport type ScriptPluginSettingsProps = AppSurface.SettingsArticleProps<\n Settings.Settings,\n {\n onAuthenticate?: () => void;\n }\n>;\n\nexport const ScriptPluginSettings = ({ settings, onSettingsChange, onAuthenticate }: ScriptPluginSettingsProps) => {\n const { t } = useTranslation(meta.id);\n\n return (\n <SettingsForm.Viewport>\n <SettingsForm.Section title={t('settings.title', { ns: meta.id })}>\n {/* TODO(wittjosiah): Hide outside of dev environments. */}\n <SettingsForm.Item title={t('authenticate-action.label')} description={t('authenticate-action.description')}>\n <Button disabled={!onSettingsChange} onClick={onAuthenticate}>\n {t('authenticate-button.label')}\n </Button>\n </SettingsForm.Item>\n <SettingsForm.FieldSet\n readonly={!onSettingsChange}\n schema={Settings.Settings}\n values={settings}\n onValuesChanged={(values) => onSettingsChange?.(() => values)}\n />\n </SettingsForm.Section>\n </SettingsForm.Viewport>\n );\n};\n"],
5
+ "mappings": ";;;AAIA,OAAOA,WAAW;AAGlB,SAASC,QAAQC,sBAAsB;AACvC,SAASC,YAAYC,oBAAoB;AAEzC,SAASC,YAAY;AACrB,SAASF,gBAAgB;AASlB,IAAMG,uBAAuB,CAAC,EAAEC,UAAUC,kBAAkBC,eAAc,MAA6B;AAC5G,QAAM,EAAEC,EAAC,IAAKR,eAAeG,KAAKM,EAAE;AAEpC,SACE,sBAAA,cAACP,aAAaQ,UAAQ,MACpB,sBAAA,cAACR,aAAaS,SAAO;IAACC,OAAOJ,EAAE,kBAAkB;MAAEK,IAAIV,KAAKM;IAAG,CAAA;KAE7D,sBAAA,cAACP,aAAaY,MAAI;IAACF,OAAOJ,EAAE,2BAAA;IAA8BO,aAAaP,EAAE,iCAAA;KACvE,sBAAA,cAACT,QAAAA;IAAOiB,UAAU,CAACV;IAAkBW,SAASV;KAC3CC,EAAE,2BAAA,CAAA,CAAA,GAGP,sBAAA,cAACN,aAAagB,UAAQ;IACpBC,UAAU,CAACb;IACXc,QAAQnB,SAASA;IACjBoB,QAAQhB;IACRiB,iBAAiB,CAACD,WAAWf,mBAAmB,MAAMe,MAAAA;;AAKhE;",
6
+ "names": ["React", "Button", "useTranslation", "Settings", "SettingsForm", "meta", "ScriptPluginSettings", "settings", "onSettingsChange", "onAuthenticate", "t", "id", "Viewport", "Section", "title", "ns", "Item", "description", "disabled", "onClick", "FieldSet", "readonly", "schema", "values", "onValuesChanged"]
7
+ }