@dxos/plugin-script 0.8.4-main.406dc2a → 0.8.4-main.52d7546f51

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 (415) hide show
  1. package/dist/lib/browser/DeploymentDialog-XUAFCNI7.mjs +14 -0
  2. package/dist/lib/browser/{NotebookContainer-LVGRPFY3.mjs → NotebookContainer-UQ4I24R6.mjs} +357 -195
  3. package/dist/lib/browser/NotebookContainer-UQ4I24R6.mjs.map +7 -0
  4. package/dist/lib/browser/ScriptContainer-NB76645V.mjs +149 -0
  5. package/dist/lib/browser/ScriptContainer-NB76645V.mjs.map +7 -0
  6. package/dist/lib/browser/app-graph-builder-66ZDI72K.mjs +69 -0
  7. package/dist/lib/browser/app-graph-builder-66ZDI72K.mjs.map +7 -0
  8. package/dist/lib/browser/blueprint-definition-5RFKE7VK.mjs +18 -0
  9. package/dist/lib/browser/blueprint-definition-5RFKE7VK.mjs.map +7 -0
  10. package/dist/lib/browser/blueprints/index.mjs +8 -0
  11. package/dist/lib/browser/chunk-3BSF5BIA.mjs +113 -0
  12. package/dist/lib/browser/chunk-3BSF5BIA.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-ST3ACVUC.mjs → chunk-4N5TLXEJ.mjs} +29 -12
  14. package/dist/lib/browser/chunk-4N5TLXEJ.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-BKGEAUUH.mjs +270 -0
  16. package/dist/lib/browser/chunk-BKGEAUUH.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-BU6CGVU2.mjs +137 -0
  18. package/dist/lib/browser/chunk-BU6CGVU2.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-F3QKSKSF.mjs +35 -0
  20. package/dist/lib/browser/chunk-F3QKSKSF.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-I7CSE6T3.mjs +110 -0
  22. package/dist/lib/browser/chunk-I7CSE6T3.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  24. package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-LYMPME7J.mjs +609 -0
  26. package/dist/lib/browser/chunk-LYMPME7J.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-WWCDIB6Z.mjs +557 -0
  28. package/dist/lib/browser/chunk-WWCDIB6Z.mjs.map +7 -0
  29. package/dist/lib/browser/{chunk-EZVXV6DA.mjs → chunk-WYR4QHPE.mjs} +7 -2
  30. package/dist/lib/browser/chunk-WYR4QHPE.mjs.map +7 -0
  31. package/dist/lib/browser/compiler-VPUVTFQD.mjs +161 -0
  32. package/dist/lib/browser/compiler-VPUVTFQD.mjs.map +7 -0
  33. package/dist/lib/browser/index.mjs +103 -137
  34. package/dist/lib/browser/index.mjs.map +4 -4
  35. package/dist/lib/browser/meta.json +1 -1
  36. package/dist/lib/browser/operation-resolver-NYDY7GDT.mjs +83 -0
  37. package/dist/lib/browser/operation-resolver-NYDY7GDT.mjs.map +7 -0
  38. package/dist/lib/browser/react-surface-FYOQSC6S.mjs +140 -0
  39. package/dist/lib/browser/react-surface-FYOQSC6S.mjs.map +7 -0
  40. package/dist/lib/browser/settings-5SF77MRH.mjs +36 -0
  41. package/dist/lib/browser/settings-5SF77MRH.mjs.map +7 -0
  42. package/dist/lib/browser/templates/index.mjs +2 -1
  43. package/dist/lib/browser/types/index.mjs +12 -7
  44. package/dist/lib/node-esm/DeploymentDialog-GGWDQMEB.mjs +15 -0
  45. package/dist/lib/node-esm/DeploymentDialog-GGWDQMEB.mjs.map +7 -0
  46. package/dist/lib/node-esm/{NotebookContainer-QY5NJGJI.mjs → NotebookContainer-DQGZ6QHI.mjs} +357 -195
  47. package/dist/lib/node-esm/NotebookContainer-DQGZ6QHI.mjs.map +7 -0
  48. package/dist/lib/node-esm/ScriptContainer-PCNJFUWX.mjs +150 -0
  49. package/dist/lib/node-esm/ScriptContainer-PCNJFUWX.mjs.map +7 -0
  50. package/dist/lib/node-esm/app-graph-builder-IGAZTJ45.mjs +70 -0
  51. package/dist/lib/node-esm/app-graph-builder-IGAZTJ45.mjs.map +7 -0
  52. package/dist/lib/node-esm/blueprint-definition-EYL5GNDC.mjs +19 -0
  53. package/dist/lib/node-esm/blueprint-definition-EYL5GNDC.mjs.map +7 -0
  54. package/dist/lib/node-esm/blueprints/index.mjs +9 -0
  55. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  56. package/dist/lib/node-esm/chunk-3CKQUF55.mjs +610 -0
  57. package/dist/lib/node-esm/chunk-3CKQUF55.mjs.map +7 -0
  58. package/dist/lib/node-esm/chunk-3QBXN6QC.mjs +271 -0
  59. package/dist/lib/node-esm/chunk-3QBXN6QC.mjs.map +7 -0
  60. package/dist/lib/node-esm/{chunk-OG2SIKHE.mjs → chunk-5HSJPAK7.mjs} +7 -2
  61. package/dist/lib/node-esm/chunk-5HSJPAK7.mjs.map +7 -0
  62. package/dist/lib/node-esm/chunk-ECRSTVR6.mjs +558 -0
  63. package/dist/lib/node-esm/chunk-ECRSTVR6.mjs.map +7 -0
  64. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  65. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  66. package/dist/lib/node-esm/chunk-KRVL7UYI.mjs +114 -0
  67. package/dist/lib/node-esm/chunk-KRVL7UYI.mjs.map +7 -0
  68. package/dist/lib/node-esm/chunk-SLU3KRV3.mjs +112 -0
  69. package/dist/lib/node-esm/chunk-SLU3KRV3.mjs.map +7 -0
  70. package/dist/lib/node-esm/chunk-U6PXM2HT.mjs +138 -0
  71. package/dist/lib/node-esm/chunk-U6PXM2HT.mjs.map +7 -0
  72. package/dist/lib/node-esm/{chunk-2GVTWESW.mjs → chunk-V37R7KB5.mjs} +29 -12
  73. package/dist/lib/node-esm/chunk-V37R7KB5.mjs.map +7 -0
  74. package/dist/lib/node-esm/chunk-Y3G5NCTP.mjs +36 -0
  75. package/dist/lib/node-esm/chunk-Y3G5NCTP.mjs.map +7 -0
  76. package/dist/lib/node-esm/compiler-WUOSY6MS.mjs +162 -0
  77. package/dist/lib/node-esm/compiler-WUOSY6MS.mjs.map +7 -0
  78. package/dist/lib/node-esm/index.mjs +103 -137
  79. package/dist/lib/node-esm/index.mjs.map +4 -4
  80. package/dist/lib/node-esm/meta.json +1 -1
  81. package/dist/lib/node-esm/operation-resolver-AJNJXGCE.mjs +84 -0
  82. package/dist/lib/node-esm/operation-resolver-AJNJXGCE.mjs.map +7 -0
  83. package/dist/lib/node-esm/react-surface-LREMOVNJ.mjs +141 -0
  84. package/dist/lib/node-esm/react-surface-LREMOVNJ.mjs.map +7 -0
  85. package/dist/lib/node-esm/settings-ILI762CY.mjs +37 -0
  86. package/dist/lib/node-esm/settings-ILI762CY.mjs.map +7 -0
  87. package/dist/lib/node-esm/templates/index.mjs +2 -1
  88. package/dist/lib/node-esm/types/index.mjs +12 -7
  89. package/dist/types/src/ScriptPlugin.d.ts +2 -1
  90. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  91. package/dist/types/src/blueprints/index.d.ts +2 -0
  92. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  93. package/dist/types/src/blueprints/script-blueprint.d.ts +22 -0
  94. package/dist/types/src/blueprints/script-blueprint.d.ts.map +1 -0
  95. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  96. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  97. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  98. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  99. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts +12 -0
  100. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +1 -0
  101. package/dist/types/src/capabilities/artifact-definition/index.d.ts +3 -0
  102. package/dist/types/src/capabilities/artifact-definition/index.d.ts.map +1 -0
  103. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +10 -0
  104. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
  105. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
  106. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
  107. package/dist/types/src/capabilities/compiler/compiler.d.ts +6 -0
  108. package/dist/types/src/capabilities/compiler/compiler.d.ts.map +1 -0
  109. package/dist/types/src/capabilities/compiler/index.d.ts +3 -0
  110. package/dist/types/src/capabilities/compiler/index.d.ts.map +1 -0
  111. package/dist/types/src/capabilities/index.d.ts +6 -7
  112. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
  114. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  115. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
  116. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  117. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  118. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  119. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  120. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  121. package/dist/types/src/capabilities/settings/index.d.ts +7 -0
  122. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  123. package/dist/types/src/capabilities/settings/settings.d.ts +10 -0
  124. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  125. package/dist/types/src/compiler/compiler.d.ts +1 -1
  126. package/dist/types/src/compiler/compiler.d.ts.map +1 -1
  127. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts +2 -2
  128. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +1 -1
  129. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +4 -6
  130. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -1
  131. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts +1 -1
  132. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -1
  133. package/dist/types/src/components/NotebookContainer.d.ts +3 -5
  134. package/dist/types/src/components/NotebookContainer.d.ts.map +1 -1
  135. package/dist/types/src/components/NotebookContainer.stories.d.ts +3 -244
  136. package/dist/types/src/components/NotebookContainer.stories.d.ts.map +1 -1
  137. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts +4 -3
  138. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -1
  139. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +1 -1
  140. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -1
  141. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +5 -4
  142. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -1
  143. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts +5 -0
  144. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts.map +1 -0
  145. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts +13 -0
  146. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts.map +1 -0
  147. package/dist/types/src/components/QueryEditor/index.d.ts +2 -0
  148. package/dist/types/src/components/QueryEditor/index.d.ts.map +1 -0
  149. package/dist/types/src/components/ScriptContainer.d.ts +5 -6
  150. package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
  151. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +7 -8
  152. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  153. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +5 -4
  154. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  155. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +2 -2
  156. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +1 -1
  157. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts +4 -2
  158. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +1 -1
  159. package/dist/types/src/components/TestPanel/TestContainer.d.ts +3 -3
  160. package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +1 -1
  161. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
  162. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +3 -2
  163. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  164. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +1 -1
  165. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  166. package/dist/types/src/components/index.d.ts +2 -2
  167. package/dist/types/src/components/index.d.ts.map +1 -1
  168. package/dist/types/src/e2e/ai.test.d.ts +2 -0
  169. package/dist/types/src/e2e/ai.test.d.ts.map +1 -0
  170. package/dist/types/src/e2e/deploy.test.d.ts +2 -0
  171. package/dist/types/src/e2e/deploy.test.d.ts.map +1 -0
  172. package/dist/types/src/hooks/deploy.d.ts +15 -30
  173. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  174. package/dist/types/src/hooks/format.d.ts +4 -4
  175. package/dist/types/src/hooks/format.d.ts.map +1 -1
  176. package/dist/types/src/hooks/index.d.ts +1 -0
  177. package/dist/types/src/hooks/index.d.ts.map +1 -1
  178. package/dist/types/src/hooks/template.d.ts +6 -16
  179. package/dist/types/src/hooks/template.d.ts.map +1 -1
  180. package/dist/types/src/hooks/useCompiler.d.ts +7 -0
  181. package/dist/types/src/hooks/useCompiler.d.ts.map +1 -0
  182. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  183. package/dist/types/src/hooks/useToolbarState.d.ts +8 -1
  184. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  185. package/dist/types/src/index.d.ts +1 -1
  186. package/dist/types/src/index.d.ts.map +1 -1
  187. package/dist/types/src/meta.d.ts +2 -2
  188. package/dist/types/src/meta.d.ts.map +1 -1
  189. package/dist/types/src/notebook/compute-graph.d.ts +58 -0
  190. package/dist/types/src/notebook/compute-graph.d.ts.map +1 -0
  191. package/dist/types/src/notebook/compute-graph.test.d.ts +2 -0
  192. package/dist/types/src/notebook/compute-graph.test.d.ts.map +1 -0
  193. package/dist/types/src/notebook/eval.d.ts +1 -1
  194. package/dist/types/src/notebook/eval.d.ts.map +1 -1
  195. package/dist/types/src/notebook/index.d.ts +1 -1
  196. package/dist/types/src/notebook/index.d.ts.map +1 -1
  197. package/dist/types/src/templates/anthropic.d.ts +8 -0
  198. package/dist/types/src/templates/anthropic.d.ts.map +1 -0
  199. package/dist/types/src/templates/chess-bot.d.ts +16 -0
  200. package/dist/types/src/templates/chess-bot.d.ts.map +1 -0
  201. package/dist/types/src/templates/commentary.d.ts +16 -0
  202. package/dist/types/src/templates/commentary.d.ts.map +1 -0
  203. package/dist/types/src/templates/forex-effect.d.ts +4 -1
  204. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  205. package/dist/types/src/templates/forex.d.ts +4 -1
  206. package/dist/types/src/templates/forex.d.ts.map +1 -1
  207. package/dist/types/src/templates/index.d.ts +12 -3
  208. package/dist/types/src/templates/index.d.ts.map +1 -1
  209. package/dist/types/src/templates/ping.d.ts +1 -4
  210. package/dist/types/src/templates/ping.d.ts.map +1 -1
  211. package/dist/types/src/testing/data.d.ts +2 -18
  212. package/dist/types/src/testing/data.d.ts.map +1 -1
  213. package/dist/types/src/testing/simulator.test.d.ts +2 -0
  214. package/dist/types/src/testing/simulator.test.d.ts.map +1 -0
  215. package/dist/types/src/translations.d.ts +4 -3
  216. package/dist/types/src/translations.d.ts.map +1 -1
  217. package/dist/types/src/types/Notebook.d.ts +100 -0
  218. package/dist/types/src/types/Notebook.d.ts.map +1 -0
  219. package/dist/types/src/types/actions.d.ts +30 -56
  220. package/dist/types/src/types/actions.d.ts.map +1 -1
  221. package/dist/types/src/types/capabilities.d.ts +12 -0
  222. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  223. package/dist/types/src/types/events.d.ts +5 -0
  224. package/dist/types/src/types/events.d.ts.map +1 -0
  225. package/dist/types/src/types/index.d.ts +4 -1
  226. package/dist/types/src/types/index.d.ts.map +1 -1
  227. package/dist/types/src/types/types.d.ts +6 -0
  228. package/dist/types/src/types/types.d.ts.map +1 -0
  229. package/dist/types/src/util/deploy.d.ts +4 -4
  230. package/dist/types/src/util/deploy.d.ts.map +1 -1
  231. package/dist/types/src/util/functions.d.ts +3 -3
  232. package/dist/types/src/util/functions.d.ts.map +1 -1
  233. package/dist/types/tsconfig.tsbuildinfo +1 -1
  234. package/package.json +114 -82
  235. package/src/ScriptPlugin.tsx +45 -87
  236. package/src/blueprints/index.ts +5 -0
  237. package/src/blueprints/script-blueprint.ts +24 -0
  238. package/src/capabilities/app-graph-builder/app-graph-builder.ts +56 -0
  239. package/src/capabilities/app-graph-builder/index.ts +7 -0
  240. package/src/capabilities/{artifact-definition.ts → artifact-definition/artifact-definition.ts} +97 -95
  241. package/src/capabilities/artifact-definition/index.ts +7 -0
  242. package/src/capabilities/blueprint-definition/blueprint-definition.ts +24 -0
  243. package/src/capabilities/blueprint-definition/index.ts +7 -0
  244. package/src/capabilities/compiler/compiler.ts +103 -0
  245. package/src/capabilities/compiler/index.ts +7 -0
  246. package/src/capabilities/index.ts +6 -10
  247. package/src/capabilities/operation-resolver/index.ts +7 -0
  248. package/src/capabilities/operation-resolver/operation-resolver.ts +75 -0
  249. package/src/capabilities/react-surface/index.ts +7 -0
  250. package/src/capabilities/react-surface/react-surface.tsx +119 -0
  251. package/src/capabilities/settings/index.ts +7 -0
  252. package/src/capabilities/settings/settings.ts +33 -0
  253. package/src/compiler/compiler.ts +10 -3
  254. package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +33 -24
  255. package/src/components/DeploymentDialog/DeploymentDialog.tsx +38 -41
  256. package/src/components/FrameContainer/FrameContainer.tsx +6 -4
  257. package/src/components/NotebookContainer.stories.tsx +60 -5
  258. package/src/components/NotebookContainer.tsx +179 -32
  259. package/src/components/NotebookStack/NotebookCell.tsx +84 -84
  260. package/src/components/NotebookStack/NotebookStack.stories.tsx +32 -9
  261. package/src/components/NotebookStack/NotebookStack.tsx +13 -6
  262. package/src/components/QueryEditor/QueryEditor.stories.tsx +100 -0
  263. package/src/components/QueryEditor/QueryEditor.tsx +47 -0
  264. package/src/components/QueryEditor/index.ts +5 -0
  265. package/src/components/ScriptContainer.tsx +49 -34
  266. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +42 -19
  267. package/src/components/ScriptToolbar/ScriptToolbar.tsx +25 -28
  268. package/src/components/Settings/ScriptObjectSettings.tsx +55 -32
  269. package/src/components/Settings/ScriptPluginSettings.tsx +19 -14
  270. package/src/components/TestPanel/TestContainer.tsx +7 -7
  271. package/src/components/TestPanel/TestPanel.tsx +60 -35
  272. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +14 -9
  273. package/src/components/TypescriptEditor/TypescriptEditor.tsx +69 -73
  274. package/src/e2e/ai.test.ts +92 -0
  275. package/src/e2e/deploy.test.ts +64 -0
  276. package/src/hooks/deploy.ts +40 -32
  277. package/src/hooks/format.ts +7 -3
  278. package/src/hooks/index.ts +1 -0
  279. package/src/hooks/template.ts +20 -24
  280. package/src/hooks/useCompiler.ts +24 -0
  281. package/src/hooks/useCreateAndDeployScriptTemplates.ts +14 -16
  282. package/src/hooks/useToolbarState.ts +29 -4
  283. package/src/index.ts +1 -1
  284. package/src/meta.ts +8 -4
  285. package/src/notebook/{notebook.test.ts → compute-graph.test.ts} +31 -19
  286. package/src/notebook/{notebook.ts → compute-graph.ts} +65 -18
  287. package/src/notebook/eval.ts +1 -1
  288. package/src/notebook/index.ts +1 -1
  289. package/src/templates/anthropic.ts +42 -0
  290. package/src/templates/chess-bot.ts +58 -0
  291. package/src/templates/commentary.ts +230 -0
  292. package/src/templates/data-generator.ts +1 -1
  293. package/src/templates/forex-effect.ts +22 -27
  294. package/src/templates/forex.ts +7 -6
  295. package/src/templates/gmail.ts +1 -2
  296. package/src/templates/index.ts +18 -5
  297. package/src/templates/ping.ts +14 -5
  298. package/src/testing/data.ts +34 -9
  299. package/src/testing/simulator.test.ts +40 -0
  300. package/src/translations.ts +4 -3
  301. package/src/types/Notebook.ts +41 -0
  302. package/src/types/actions.ts +18 -26
  303. package/src/types/capabilities.ts +17 -0
  304. package/src/types/events.ts +11 -0
  305. package/src/types/index.ts +4 -1
  306. package/src/types/types.ts +15 -0
  307. package/src/util/deploy.ts +30 -40
  308. package/src/util/functions.ts +32 -28
  309. package/src/vite-env.d.ts +2 -0
  310. package/dist/lib/browser/DeploymentDialog-65TWT6S5.mjs +0 -13
  311. package/dist/lib/browser/NotebookContainer-LVGRPFY3.mjs.map +0 -7
  312. package/dist/lib/browser/ScriptContainer-LRTRN7JW.mjs +0 -149
  313. package/dist/lib/browser/ScriptContainer-LRTRN7JW.mjs.map +0 -7
  314. package/dist/lib/browser/app-graph-builder-DPYULSME.mjs +0 -65
  315. package/dist/lib/browser/app-graph-builder-DPYULSME.mjs.map +0 -7
  316. package/dist/lib/browser/blueprint-definition-ET5KZ46I.mjs +0 -28
  317. package/dist/lib/browser/blueprint-definition-ET5KZ46I.mjs.map +0 -7
  318. package/dist/lib/browser/chunk-5CYLWXRH.mjs +0 -89
  319. package/dist/lib/browser/chunk-5CYLWXRH.mjs.map +0 -7
  320. package/dist/lib/browser/chunk-75LH4EUR.mjs +0 -326
  321. package/dist/lib/browser/chunk-75LH4EUR.mjs.map +0 -7
  322. package/dist/lib/browser/chunk-E7DXDICD.mjs +0 -282
  323. package/dist/lib/browser/chunk-E7DXDICD.mjs.map +0 -7
  324. package/dist/lib/browser/chunk-EZVXV6DA.mjs.map +0 -7
  325. package/dist/lib/browser/chunk-I3QSGUFJ.mjs +0 -646
  326. package/dist/lib/browser/chunk-I3QSGUFJ.mjs.map +0 -7
  327. package/dist/lib/browser/chunk-JO2O7W6J.mjs +0 -254
  328. package/dist/lib/browser/chunk-JO2O7W6J.mjs.map +0 -7
  329. package/dist/lib/browser/chunk-N6M34EUC.mjs +0 -112
  330. package/dist/lib/browser/chunk-N6M34EUC.mjs.map +0 -7
  331. package/dist/lib/browser/chunk-NM4WQS4F.mjs +0 -153
  332. package/dist/lib/browser/chunk-NM4WQS4F.mjs.map +0 -7
  333. package/dist/lib/browser/chunk-OKXN2N7M.mjs +0 -15
  334. package/dist/lib/browser/chunk-OKXN2N7M.mjs.map +0 -7
  335. package/dist/lib/browser/chunk-ST3ACVUC.mjs.map +0 -7
  336. package/dist/lib/browser/compiler-G2N2CG63.mjs +0 -98
  337. package/dist/lib/browser/compiler-G2N2CG63.mjs.map +0 -7
  338. package/dist/lib/browser/intent-resolver-JLU7DVLQ.mjs +0 -105
  339. package/dist/lib/browser/intent-resolver-JLU7DVLQ.mjs.map +0 -7
  340. package/dist/lib/browser/react-surface-76SDTUYG.mjs +0 -127
  341. package/dist/lib/browser/react-surface-76SDTUYG.mjs.map +0 -7
  342. package/dist/lib/browser/settings-ERFKVNUK.mjs +0 -25
  343. package/dist/lib/browser/settings-ERFKVNUK.mjs.map +0 -7
  344. package/dist/lib/node-esm/DeploymentDialog-I63ZC2HH.mjs +0 -14
  345. package/dist/lib/node-esm/NotebookContainer-QY5NJGJI.mjs.map +0 -7
  346. package/dist/lib/node-esm/ScriptContainer-SVXCSLNH.mjs +0 -150
  347. package/dist/lib/node-esm/ScriptContainer-SVXCSLNH.mjs.map +0 -7
  348. package/dist/lib/node-esm/app-graph-builder-UXJGHXSL.mjs +0 -66
  349. package/dist/lib/node-esm/app-graph-builder-UXJGHXSL.mjs.map +0 -7
  350. package/dist/lib/node-esm/blueprint-definition-AIYFOT7Q.mjs +0 -30
  351. package/dist/lib/node-esm/blueprint-definition-AIYFOT7Q.mjs.map +0 -7
  352. package/dist/lib/node-esm/chunk-2GVTWESW.mjs.map +0 -7
  353. package/dist/lib/node-esm/chunk-4X375PGY.mjs +0 -90
  354. package/dist/lib/node-esm/chunk-4X375PGY.mjs.map +0 -7
  355. package/dist/lib/node-esm/chunk-67OVZHI3.mjs +0 -327
  356. package/dist/lib/node-esm/chunk-67OVZHI3.mjs.map +0 -7
  357. package/dist/lib/node-esm/chunk-C2ORIPKH.mjs +0 -154
  358. package/dist/lib/node-esm/chunk-C2ORIPKH.mjs.map +0 -7
  359. package/dist/lib/node-esm/chunk-NUXZQQ6P.mjs +0 -16
  360. package/dist/lib/node-esm/chunk-NUXZQQ6P.mjs.map +0 -7
  361. package/dist/lib/node-esm/chunk-OG2SIKHE.mjs.map +0 -7
  362. package/dist/lib/node-esm/chunk-SMFPSKQT.mjs +0 -647
  363. package/dist/lib/node-esm/chunk-SMFPSKQT.mjs.map +0 -7
  364. package/dist/lib/node-esm/chunk-VRSDE4CI.mjs +0 -114
  365. package/dist/lib/node-esm/chunk-VRSDE4CI.mjs.map +0 -7
  366. package/dist/lib/node-esm/chunk-VZAFGLD7.mjs +0 -283
  367. package/dist/lib/node-esm/chunk-VZAFGLD7.mjs.map +0 -7
  368. package/dist/lib/node-esm/chunk-YW36TZ7K.mjs +0 -255
  369. package/dist/lib/node-esm/chunk-YW36TZ7K.mjs.map +0 -7
  370. package/dist/lib/node-esm/compiler-PLDAZ5GJ.mjs +0 -99
  371. package/dist/lib/node-esm/compiler-PLDAZ5GJ.mjs.map +0 -7
  372. package/dist/lib/node-esm/intent-resolver-SFGTIFOG.mjs +0 -106
  373. package/dist/lib/node-esm/intent-resolver-SFGTIFOG.mjs.map +0 -7
  374. package/dist/lib/node-esm/react-surface-SHEBNW4R.mjs +0 -128
  375. package/dist/lib/node-esm/react-surface-SHEBNW4R.mjs.map +0 -7
  376. package/dist/lib/node-esm/settings-5TYXQ42N.mjs +0 -26
  377. package/dist/lib/node-esm/settings-5TYXQ42N.mjs.map +0 -7
  378. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  379. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  380. package/dist/types/src/capabilities/artifact-definition.d.ts +0 -11
  381. package/dist/types/src/capabilities/artifact-definition.d.ts.map +0 -1
  382. package/dist/types/src/capabilities/blueprint-definition.d.ts +0 -5
  383. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +0 -1
  384. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  385. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  386. package/dist/types/src/capabilities/compiler.d.ts +0 -4
  387. package/dist/types/src/capabilities/compiler.d.ts.map +0 -1
  388. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  389. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  390. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  391. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  392. package/dist/types/src/capabilities/settings.d.ts +0 -4
  393. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  394. package/dist/types/src/events.d.ts +0 -4
  395. package/dist/types/src/events.d.ts.map +0 -1
  396. package/dist/types/src/notebook/notebook.d.ts +0 -35
  397. package/dist/types/src/notebook/notebook.d.ts.map +0 -1
  398. package/dist/types/src/notebook/notebook.test.d.ts +0 -2
  399. package/dist/types/src/notebook/notebook.test.d.ts.map +0 -1
  400. package/dist/types/src/templates/chess.d.ts +0 -3
  401. package/dist/types/src/templates/chess.d.ts.map +0 -1
  402. package/dist/types/src/types/schema.d.ts +0 -61
  403. package/dist/types/src/types/schema.d.ts.map +0 -1
  404. package/src/capabilities/app-graph-builder.ts +0 -65
  405. package/src/capabilities/blueprint-definition.ts +0 -30
  406. package/src/capabilities/capabilities.ts +0 -12
  407. package/src/capabilities/compiler.ts +0 -34
  408. package/src/capabilities/intent-resolver.ts +0 -87
  409. package/src/capabilities/react-surface.tsx +0 -102
  410. package/src/capabilities/settings.ts +0 -21
  411. package/src/events.ts +0 -11
  412. package/src/templates/chess.ts +0 -49
  413. package/src/types/schema.ts +0 -48
  414. /package/dist/lib/browser/{DeploymentDialog-65TWT6S5.mjs.map → DeploymentDialog-XUAFCNI7.mjs.map} +0 -0
  415. /package/dist/lib/{node-esm/DeploymentDialog-I63ZC2HH.mjs.map → browser/blueprints/index.mjs.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util/deploy.ts", "../../../src/util/functions.ts", "../../../src/hooks/deploy.ts", "../../../src/hooks/useToolbarState.ts", "../../../src/hooks/useCompiler.ts", "../../../src/hooks/format.ts", "../../../src/hooks/template.ts", "../../../src/hooks/useCreateAndDeployScriptTemplates.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Client } from '@dxos/client';\nimport { Obj, Ref } from '@dxos/echo';\nimport { Function, type Script, getUserFunctionIdInMetadata } from '@dxos/functions';\nimport { bundleFunction } from '@dxos/functions-runtime/bundler';\nimport { FunctionsServiceClient, incrementSemverPatch } from '@dxos/functions-runtime/edge';\nimport { log } from '@dxos/log';\nimport { FunctionRuntimeKind } from '@dxos/protocols';\nimport { type Space } from '@dxos/react-client/echo';\n\nexport const isScriptDeployed = ({ script, fn }: { script: Script.Script; fn: any }): boolean => {\n const existingFunctionId = fn && getUserFunctionIdInMetadata(Obj.getMeta(fn));\n return Boolean(existingFunctionId) && !script.changed;\n};\n\ntype DeployScriptProps = {\n script: Script.Script;\n client: Client;\n space: Space;\n fn?: Function.Function;\n existingFunctionId?: string;\n};\n\ntype DeployScriptResult = { success: boolean; error?: Error; functionId?: string };\n\n/**\n * Deploy a script to a space, handling bundling and uploading to the FaaS infrastructure.\n */\nexport const deployScript = async ({\n script,\n client,\n space,\n fn,\n existingFunctionId,\n}: DeployScriptProps): Promise<DeployScriptResult> => {\n const validationError = validateDeployInputs(script, space);\n if (validationError) {\n return { success: false, error: validationError };\n }\n\n try {\n const buildResult = await bundleFunction({\n source: script.source!.target!.content,\n });\n if ('error' in buildResult) {\n throw buildResult.error || new Error('Bundle creation failed');\n }\n\n const functionsServiceClient = FunctionsServiceClient.fromClient(client);\n const newFunction = await functionsServiceClient.deploy({\n // TODO(dmaretskyi): Space key or identity key.\n ownerPublicKey: space.key,\n version: fn ? incrementSemverPatch(fn.version) : '0.0.1',\n functionId: existingFunctionId,\n entryPoint: buildResult.entryPoint,\n assets: buildResult.assets,\n runtime: FunctionRuntimeKind.enums.WORKER_LOADER,\n });\n\n const storedFunction = createOrUpdateFunctionInSpace(space, fn, script, newFunction);\n Obj.change(script, (s) => {\n s.changed = false;\n });\n\n return { success: true, functionId: getUserFunctionIdInMetadata(Obj.getMeta(storedFunction)) };\n } catch (err: any) {\n log.catch(err);\n return { success: false, error: err };\n }\n};\n\n/**\n * Validate inputs for script deployment.\n */\nconst validateDeployInputs = (script: Script.Script, space: Space): Error | null => {\n if (!script.source || !space) {\n return new Error('Script source or space not available');\n }\n return null;\n};\n\nconst createOrUpdateFunctionInSpace = (\n space: Space,\n fn: Function.Function | undefined,\n script: Script.Script,\n newFunction: Function.Function,\n): Function.Function => {\n if (fn) {\n Function.setFrom(fn, newFunction);\n return fn;\n } else {\n Obj.change(newFunction, (f) => {\n f.source = Ref.make(script);\n });\n return space.db.add(newFunction);\n }\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Obj } from '@dxos/echo';\nimport { type Function, type Script, getUserFunctionIdInMetadata } from '@dxos/functions';\nimport { getInvocationUrl } from '@dxos/functions-runtime';\nimport { type PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { type Credential } from '@dxos/protocols/proto/dxos/halo/credentials';\nimport { getSpace } from '@dxos/react-client/echo';\n/**\n * Get the function URL for a given script and client configuration\n */\nexport const getFunctionUrl = ({\n script,\n fn,\n edgeUrl,\n}: {\n script: Script.Script;\n fn: any;\n edgeUrl: string;\n}): string | undefined => {\n const space = getSpace(script);\n const existingFunctionId = fn && getUserFunctionIdInMetadata(Obj.getMeta(fn));\n\n if (!existingFunctionId) {\n return undefined;\n }\n\n return getInvocationUrl(existingFunctionId, edgeUrl, {\n spaceId: space?.id,\n });\n};\n\nexport const updateFunctionMetadata = (\n script: Script.Script,\n storedFunction: Function.Function,\n meta: any,\n functionId: string,\n) => {\n Obj.change(storedFunction, (f) => {\n if (script.description !== undefined && script.description.trim() !== '') {\n f.description = script.description;\n } else if (meta.description) {\n f.description = meta.description;\n } else {\n log.verbose('no description in function metadata', { functionId });\n }\n\n if (meta.inputSchema) {\n f.inputSchema = meta.inputSchema;\n } else {\n log.verbose('no input schema in function metadata', { functionId });\n }\n\n if (meta.outputSchema) {\n f.outputSchema = meta.outputSchema;\n } else {\n log.verbose('no output schema in function metadata', { functionId });\n }\n\n if (meta.key) {\n f.key = meta.key;\n } else {\n log.verbose('no key in function metadata', { functionId });\n }\n });\n};\n\nexport const getAccessCredential = (identityKey: PublicKey): Credential => {\n return {\n issuer: identityKey,\n issuanceDate: new Date(),\n subject: {\n id: identityKey,\n assertion: {\n '@type': 'dxos.halo.credentials.ServiceAccess',\n serverName: 'hub.dxos.network',\n serverKey: identityKey,\n identityKey,\n capabilities: ['composer:beta'],\n },\n },\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useEffect, useMemo } from 'react';\n\nimport { Obj, Query, Ref } from '@dxos/echo';\nimport { Function, type Script, getUserFunctionIdInMetadata } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { type Client, useClient } from '@dxos/react-client';\nimport { type Space, getSpace, useQuery } from '@dxos/react-client/echo';\nimport { type TFunction } from '@dxos/react-ui';\nimport { createMenuAction } from '@dxos/react-ui-menu';\nimport { errorMessageColors } from '@dxos/ui-theme';\n\nimport { meta } from '../meta';\nimport { deployScript, getFunctionUrl, isScriptDeployed } from '../util';\n\nexport type DeployActionProperties = { type: 'deploy' } | { type: 'copy' };\n\nexport type DeployState = {\n deploying: boolean;\n deployed: boolean;\n functionUrl: string;\n error: string;\n};\n\nimport { type ScriptToolbarStateStore } from './useToolbarState';\n\nexport type CreateDeployOptions = {\n state: ScriptToolbarStateStore;\n script: Script.Script;\n fn: Function.Function;\n space?: Space;\n existingFunctionId?: string;\n client: Client;\n t: TFunction;\n};\n\nexport const createDeploy = ({ state, script, space, fn, client, existingFunctionId, t }: CreateDeployOptions) => {\n const { value } = state;\n\n // TODO(wittjosiah): Should this be an action?\n const errorItem = createMenuAction('error', () => {}, {\n label: value.error ?? ['no error label', { ns: meta.id }],\n icon: 'ph--warning-circle--regular',\n hidden: !value.error,\n classNames: value.error && errorMessageColors,\n });\n\n const deployAction = createMenuAction<DeployActionProperties>(\n 'deploy',\n async () => {\n if (!script.source || !space) {\n return;\n }\n\n state.set('error', undefined);\n state.set('deploying', true);\n\n const result = await deployScript({ script, client, space, fn, existingFunctionId });\n\n if (!result.success) {\n log.catch(result.error);\n state.set('error', t('upload failed label'));\n }\n\n state.set('deploying', false);\n },\n {\n type: 'deploy',\n label: [value.deploying ? 'publishing label' : 'deploy label', { ns: meta.id }],\n icon: value.deploying ? 'ph--spinner-gap--regular' : 'ph--cloud-arrow-up--regular',\n disabled: value.deploying,\n classNames: value.deploying ? '[&_svg]:animate-spin' : '',\n },\n );\n\n const copyAction = createMenuAction<DeployActionProperties>(\n 'copy',\n async () => {\n if (value.functionUrl) {\n await navigator.clipboard.writeText(value.functionUrl);\n }\n },\n {\n type: 'copy',\n label: ['copy link label', { ns: meta.id }],\n icon: 'ph--link--regular',\n disabled: !value.functionUrl,\n },\n );\n\n return {\n nodes: [errorItem, deployAction, copyAction],\n edges: [\n { source: 'root', target: 'error' },\n { source: 'root', target: 'deploy' },\n { source: 'root', target: 'copy' },\n ],\n };\n};\n\nexport const useDeployState = ({ state, script }: { state: ScriptToolbarStateStore; script: Script.Script }) => {\n const { space, client, fn, existingFunctionId } = useDeployDeps({ script });\n useEffect(() => {\n if (!existingFunctionId) {\n return;\n }\n\n state.set(\n 'functionUrl',\n getFunctionUrl({\n script,\n fn,\n edgeUrl: client.config.values.runtime?.services?.edge?.url ?? '',\n }),\n );\n }, [existingFunctionId, space, fn, script, client.config.values.runtime?.services?.edge?.url, state]);\n\n useEffect(() => {\n state.set('deployed', isScriptDeployed({ script, fn }));\n }, [script.changed, existingFunctionId, fn, script, state]);\n};\n\nexport const useDeployDeps = ({ script }: { script: Script.Script }) => {\n const client = useClient();\n const space = getSpace(script);\n const [fn] = useQuery(space?.db, Query.type(Function.Function, { source: Ref.make(script) }));\n const existingFunctionId = useMemo(() => fn && getUserFunctionIdInMetadata(Obj.getMeta(fn)), [fn]);\n return { client, space, fn, existingFunctionId };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom-react';\nimport { useMemo } from 'react';\n\nimport { Capabilities } from '@dxos/app-framework';\nimport { useCapability } from '@dxos/app-framework/ui';\n\nimport { type DeployState } from './deploy';\n\nexport type ScriptToolbarState = Partial<DeployState>;\n\nexport type ScriptToolbarStateStore = {\n atom: Atom.Writable<ScriptToolbarState>;\n get value(): ScriptToolbarState;\n update: (updater: (current: ScriptToolbarState) => ScriptToolbarState) => void;\n set: <K extends keyof ScriptToolbarState>(key: K, value: ScriptToolbarState[K]) => void;\n};\n\nexport const useToolbarState = (initialState: ScriptToolbarState = {}): ScriptToolbarStateStore => {\n const registry = useCapability(Capabilities.AtomRegistry);\n const atom = useMemo(() => Atom.make<ScriptToolbarState>(initialState), []);\n\n return useMemo(\n () => ({\n atom,\n get value() {\n return registry.get(atom);\n },\n update: (updater: (current: ScriptToolbarState) => ScriptToolbarState) => {\n registry.set(atom, updater(registry.get(atom)));\n },\n set: <K extends keyof ScriptToolbarState>(key: K, v: ScriptToolbarState[K]) => {\n registry.set(atom, { ...registry.get(atom), [key]: v });\n },\n }),\n [atom, registry],\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCapabilities, usePluginManager } from '@dxos/app-framework/ui';\nimport { runAndForwardErrors } from '@dxos/effect';\nimport { useAsyncEffect } from '@dxos/react-ui';\n\nimport type { Compiler } from '../compiler';\nimport { ScriptEvents } from '../types';\nimport { ScriptCapabilities } from '../types';\n\n/**\n * Asynchronously sets up the compiler and returns it.\n * @returns The compiler instance or undefined if it is not ready.\n */\nexport const useCompiler = (): Compiler | undefined => {\n const manager = usePluginManager();\n useAsyncEffect(async () => {\n await manager.activate(ScriptEvents.SetupCompiler).pipe(runAndForwardErrors);\n }, [manager]);\n const [compiler] = useCapabilities(ScriptCapabilities.Compiler);\n return compiler;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { format } from 'prettier';\nimport prettierPluginEstree from 'prettier/plugins/estree';\nimport prettierPluginTypescript from 'prettier/plugins/typescript';\n\nimport { Obj } from '@dxos/echo';\nimport { type Script } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { createMenuAction } from '@dxos/react-ui-menu';\n\nimport { meta } from '../meta';\n\nexport type FormatActionProperties = { type: 'format' };\n\nexport const createFormat = (script: Script.Script) => {\n const formatAction = createMenuAction(\n 'format',\n async () => {\n if (!script.source) {\n return;\n }\n\n try {\n const formatted = await format(script.source.target!.content, {\n parser: 'typescript',\n plugins: [prettierPluginEstree, prettierPluginTypescript],\n semi: true,\n singleQuote: true,\n });\n Obj.change(script.source.target!, (s) => {\n s.content = formatted;\n });\n } catch (err: any) {\n // TODO(wittjosiah): Show error in UI.\n log.catch(err);\n }\n },\n {\n label: ['format label', { ns: meta.id }],\n icon: 'ph--magic-wand--regular',\n },\n );\n\n return {\n nodes: [formatAction],\n edges: [\n {\n source: 'root',\n target: 'format',\n },\n ],\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Obj } from '@dxos/echo';\nimport { FUNCTIONS_PRESET_META_KEY, type Script } from '@dxos/functions';\nimport { createMenuAction } from '@dxos/react-ui-menu';\n\nimport { templates } from '../templates';\n\nexport type TemplateActionProperties = { type: 'template'; value: string };\n\nconst createTemplateSelectActions = (script: Script.Script) => {\n return templates.map((template) => {\n return createMenuAction<TemplateActionProperties>(\n `template--${template.id}`,\n () => {\n Obj.change(script, (s) => {\n s.name = template.name;\n const meta = Obj.getMeta(s);\n const oldPresetIndex = meta.keys.findIndex((key) => key.source === FUNCTIONS_PRESET_META_KEY);\n if (oldPresetIndex >= 0) {\n meta.keys.splice(oldPresetIndex, 1);\n }\n if ('presetId' in template) {\n meta.keys.push({ source: FUNCTIONS_PRESET_META_KEY, id: template.presetId });\n }\n });\n if (script.source?.target) {\n Obj.change(script.source.target, (s) => {\n s.content = template.source;\n });\n }\n },\n {\n label: template.name,\n value: template.id,\n type: 'template',\n },\n );\n });\n};\n\nexport const createTemplateSelect = (script: Script.Script) => {\n const templateSelectActions = createTemplateSelectActions(script);\n return {\n nodes: [...templateSelectActions],\n edges: [\n { source: 'root', target: 'template-select' },\n ...templateSelectActions.map((action) => ({ source: 'template-select', target: action.id })),\n ],\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback, useState } from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { Obj } from '@dxos/echo';\nimport { Script } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { SpaceOperation } from '@dxos/plugin-space/types';\nimport { useClient } from '@dxos/react-client';\nimport { type Space } from '@dxos/react-client/echo';\n\nimport { type Template } from '../templates';\nimport { ScriptOperation } from '../types';\nimport { deployScript } from '../util';\n\ntype DeploymentStatus = 'idle' | 'pending' | 'success' | 'error';\n\n/**\n * Hook for creating and deploying multiple script templates concurrently.\n *\n * Takes a space and an array of script template IDs, then provides a callback\n * function that creates each script from its template and deploys it to the space.\n * All creation / deployment operations run concurrently for improved performance.\n */\nexport const useCreateAndDeployScriptTemplates = (space: Space | undefined, scriptTemplates: Template[]) => {\n const { invokePromise } = useOperationInvoker();\n const client = useClient();\n const [status, setStatus] = useState<DeploymentStatus>('idle');\n const [error, setError] = useState<Error | undefined>(undefined);\n\n const handleCreateAndDeployScripts = useCallback(async () => {\n invariant(space);\n setStatus('pending');\n setError(undefined);\n\n const deploymentResults = await Promise.all(\n scriptTemplates.map(async (template) => {\n const createResult = await invokePromise(ScriptOperation.CreateScript, {\n db: space.db,\n initialTemplateId: template.id as any,\n });\n invariant(Obj.instanceOf(Script.Script, createResult.data?.object));\n await invokePromise(SpaceOperation.AddObject, { target: space.db, object: createResult.data.object });\n\n return deployScript({ space, client, script: createResult.data.object });\n }),\n );\n\n const hasErrors = deploymentResults.some((result) => !result.success);\n setStatus(hasErrors ? 'error' : 'success');\n }, [space, invokePromise, client, scriptTemplates]);\n\n // TODO(burdon): Return onCreateAndDeployScripts.\n return { handleCreateAndDeployScripts, status, error };\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Obj", "Ref", "Function", "getUserFunctionIdInMetadata", "bundleFunction", "FunctionsServiceClient", "incrementSemverPatch", "log", "FunctionRuntimeKind", "isScriptDeployed", "script", "fn", "existingFunctionId", "getMeta", "Boolean", "changed", "deployScript", "client", "space", "validationError", "validateDeployInputs", "success", "error", "buildResult", "source", "target", "content", "Error", "functionsServiceClient", "fromClient", "newFunction", "deploy", "ownerPublicKey", "key", "version", "functionId", "entryPoint", "assets", "runtime", "enums", "WORKER_LOADER", "storedFunction", "createOrUpdateFunctionInSpace", "change", "s", "err", "catch", "setFrom", "f", "make", "db", "add", "Obj", "getUserFunctionIdInMetadata", "getInvocationUrl", "log", "getSpace", "getFunctionUrl", "script", "fn", "edgeUrl", "space", "existingFunctionId", "getMeta", "undefined", "spaceId", "id", "updateFunctionMetadata", "storedFunction", "meta", "functionId", "change", "f", "description", "trim", "verbose", "inputSchema", "outputSchema", "key", "getAccessCredential", "identityKey", "issuer", "issuanceDate", "Date", "subject", "assertion", "serverName", "serverKey", "capabilities", "useEffect", "useMemo", "Obj", "Query", "Ref", "Function", "getUserFunctionIdInMetadata", "log", "useClient", "getSpace", "useQuery", "createMenuAction", "errorMessageColors", "createDeploy", "state", "script", "space", "fn", "client", "existingFunctionId", "t", "value", "errorItem", "createMenuAction", "label", "error", "ns", "meta", "id", "icon", "hidden", "classNames", "errorMessageColors", "deployAction", "source", "set", "undefined", "result", "deployScript", "success", "log", "catch", "type", "deploying", "disabled", "copyAction", "functionUrl", "navigator", "clipboard", "writeText", "nodes", "edges", "target", "useDeployState", "useDeployDeps", "useEffect", "getFunctionUrl", "edgeUrl", "config", "values", "runtime", "services", "edge", "url", "isScriptDeployed", "changed", "useClient", "getSpace", "useQuery", "db", "Query", "Function", "Ref", "make", "useMemo", "getUserFunctionIdInMetadata", "Obj", "getMeta", "Atom", "useMemo", "Capabilities", "useCapability", "useToolbarState", "initialState", "registry", "useCapability", "Capabilities", "AtomRegistry", "atom", "useMemo", "Atom", "make", "value", "get", "update", "updater", "set", "key", "v", "useCapabilities", "usePluginManager", "runAndForwardErrors", "useAsyncEffect", "useCompiler", "manager", "usePluginManager", "useAsyncEffect", "activate", "ScriptEvents", "SetupCompiler", "pipe", "runAndForwardErrors", "compiler", "useCapabilities", "ScriptCapabilities", "Compiler", "format", "prettierPluginEstree", "prettierPluginTypescript", "Obj", "log", "createMenuAction", "createFormat", "script", "formatAction", "createMenuAction", "source", "formatted", "format", "target", "content", "parser", "plugins", "prettierPluginEstree", "prettierPluginTypescript", "semi", "singleQuote", "Obj", "change", "s", "err", "log", "catch", "label", "ns", "meta", "id", "icon", "nodes", "edges", "Obj", "FUNCTIONS_PRESET_META_KEY", "createMenuAction", "createTemplateSelectActions", "script", "templates", "map", "template", "createMenuAction", "id", "Obj", "change", "s", "name", "meta", "getMeta", "oldPresetIndex", "keys", "findIndex", "key", "source", "FUNCTIONS_PRESET_META_KEY", "splice", "push", "presetId", "target", "content", "label", "value", "type", "createTemplateSelect", "templateSelectActions", "nodes", "edges", "action", "useCallback", "useState", "useOperationInvoker", "Obj", "Script", "invariant", "SpaceOperation", "useClient", "useCreateAndDeployScriptTemplates", "space", "scriptTemplates", "invokePromise", "useOperationInvoker", "client", "useClient", "status", "setStatus", "useState", "error", "setError", "undefined", "handleCreateAndDeployScripts", "useCallback", "invariant", "deploymentResults", "Promise", "all", "map", "template", "createResult", "ScriptOperation", "CreateScript", "db", "initialTemplateId", "id", "Obj", "instanceOf", "Script", "data", "object", "SpaceOperation", "AddObject", "target", "deployScript", "script", "hasErrors", "some", "result", "success"]
7
+ }
@@ -1,9 +1,14 @@
1
1
  // src/meta.ts
2
+ import { trim } from "@dxos/util";
2
3
  var meta = {
3
4
  id: "dxos.org/plugin/script",
4
5
  name: "Scripts",
5
- description: "Scripts enable you to deploy custom functions that run on the edge. These functions can be referenced by your AI agent and called inside of cells in any Sheet. Use scripts to interact with API\u2019s or external data inside of Composer.",
6
+ description: trim`
7
+ Write and deploy custom JavaScript functions that extend your workspace capabilities.
8
+ Create AI agent tools, spreadsheet formulas, and automation scripts that integrate seamlessly with other plugins.
9
+ `,
6
10
  icon: "ph--code--regular",
11
+ iconHue: "sky",
7
12
  source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-explorer",
8
13
  tags: [
9
14
  "labs"
@@ -23,4 +28,4 @@ export {
23
28
  meta,
24
29
  defaultScriptsForIntegration
25
30
  };
26
- //# sourceMappingURL=chunk-EZVXV6DA.mjs.map
31
+ //# sourceMappingURL=chunk-WYR4QHPE.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/meta.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'dxos.org/plugin/script',\n name: 'Scripts',\n description: trim`\n Write and deploy custom JavaScript functions that extend your workspace capabilities.\n Create AI agent tools, spreadsheet formulas, and automation scripts that integrate seamlessly with other plugins.\n `,\n icon: 'ph--code--regular',\n iconHue: 'sky',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-explorer',\n tags: ['labs'],\n screenshots: ['https://dxos.network/plugin-details-scripts-dark.png'],\n};\n\n// TODO(ZaymonFC): Configure by scopes?\nexport const defaultScriptsForIntegration: Record<string, string[]> = {\n // TODO(wittjosiah): Also include content extraction scripts in the default set.\n 'gmail.com': ['dxos.org/script/gmail'],\n};\n"],
5
+ "mappings": ";AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,MAAM;IAAC;;EACPC,aAAa;IAAC;;AAChB;AAGO,IAAMC,+BAAyD;;EAEpE,aAAa;IAAC;;AAChB;",
6
+ "names": ["trim", "meta", "id", "name", "description", "trim", "icon", "iconHue", "source", "tags", "screenshots", "defaultScriptsForIntegration"]
7
+ }
@@ -0,0 +1,161 @@
1
+ import {
2
+ ScriptCapabilities
3
+ } from "./chunk-3BSF5BIA.mjs";
4
+ import "./chunk-4N5TLXEJ.mjs";
5
+ import "./chunk-WYR4QHPE.mjs";
6
+ import "./chunk-J5LGTIGS.mjs";
7
+
8
+ // src/capabilities/compiler/compiler.ts
9
+ import * as FetchHttpClient from "@effect/platform/FetchHttpClient";
10
+ import * as HttpClient from "@effect/platform/HttpClient";
11
+ import * as Effect from "effect/Effect";
12
+ import * as Schedule from "effect/Schedule";
13
+ import * as Schema from "effect/Schema";
14
+ import wasmUrl from "esbuild-wasm/esbuild.wasm?url";
15
+ import * as ts2 from "typescript";
16
+ import { Capability } from "@dxos/app-framework";
17
+ import { initializeBundler } from "@dxos/functions-runtime/bundler";
18
+ import { log } from "@dxos/log";
19
+ import { trim } from "@dxos/util";
20
+
21
+ // src/compiler/compiler.ts
22
+ import { createDefaultMapFromCDN, createSystem, createVirtualTypeScriptEnvironment } from "@typescript/vfs";
23
+ import ts from "typescript";
24
+ import { invariant } from "@dxos/invariant";
25
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/compiler/compiler.ts";
26
+ var GLOBALS = "globals.d.ts";
27
+ var defaultOptions = {
28
+ lib: [
29
+ "DOM",
30
+ "es2022"
31
+ ],
32
+ target: ts.ScriptTarget.ES2022
33
+ };
34
+ var Compiler = class {
35
+ _options;
36
+ _env;
37
+ _fsMap;
38
+ constructor(_options = defaultOptions) {
39
+ this._options = _options;
40
+ }
41
+ async initialize(globals) {
42
+ if (this._env) {
43
+ return;
44
+ }
45
+ this._fsMap = await createDefaultMapFromCDN(this._options, "5.7.2", true, ts);
46
+ if (globals) {
47
+ this._fsMap.set(GLOBALS, globals);
48
+ }
49
+ const rootFiles = globals ? [
50
+ GLOBALS
51
+ ] : [];
52
+ const system = createSystem(this._fsMap);
53
+ this._env = createVirtualTypeScriptEnvironment(system, rootFiles, ts, this._options);
54
+ }
55
+ get environment() {
56
+ invariant(this._env, "Compiler environment not initialized.", {
57
+ F: __dxlog_file,
58
+ L: 46,
59
+ S: this,
60
+ A: [
61
+ "this._env",
62
+ "'Compiler environment not initialized.'"
63
+ ]
64
+ });
65
+ return this._env;
66
+ }
67
+ setFile(fileName, content) {
68
+ invariant(this._fsMap, "File system map not initialized.", {
69
+ F: __dxlog_file,
70
+ L: 51,
71
+ S: this,
72
+ A: [
73
+ "this._fsMap",
74
+ "'File system map not initialized.'"
75
+ ]
76
+ });
77
+ this.environment.createFile(fileName, content);
78
+ }
79
+ compile(fileName) {
80
+ return this.environment.languageService.getEmitOutput(fileName);
81
+ }
82
+ };
83
+
84
+ // src/capabilities/compiler/compiler.ts
85
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/capabilities/compiler/compiler.ts";
86
+ var SCRIPT_PACKAGES_BUCKET = "https://pub-5745ae82e450484aa28f75fc6a175935.r2.dev/dev/";
87
+ var DECLARATION_EXTS = [
88
+ ".d.ts",
89
+ ".d.mts"
90
+ ];
91
+ var NO_TYPES = true;
92
+ var compiler_default = Capability.makeModule(() => Effect.gen(function* () {
93
+ yield* Effect.tryPromise(() => initializeBundler({
94
+ wasmUrl
95
+ }));
96
+ const runtimeModules = yield* fetchRuntimeModules().pipe(Effect.provide(FetchHttpClient.layer));
97
+ const compiler = new Compiler({
98
+ skipLibCheck: true,
99
+ moduleResolution: ts2.ModuleResolutionKind.Bundler,
100
+ allowImportingTsExtensions: true,
101
+ noEmit: true,
102
+ strict: true,
103
+ esModuleInterop: true,
104
+ paths: Object.fromEntries(runtimeModules.map((mod) => [
105
+ mod.moduleName,
106
+ [
107
+ `./src/${mod.filename}`
108
+ ]
109
+ ]))
110
+ });
111
+ yield* Effect.tryPromise(() => compiler.initialize(trim`
112
+ declare module 'https://*';
113
+ ${NO_TYPES ? "" : 'declare module "*";'}
114
+ `));
115
+ if (!NO_TYPES) {
116
+ for (const mod of runtimeModules) {
117
+ compiler.setFile(`/src/${mod.filename}`, mod.content);
118
+ }
119
+ }
120
+ return Capability.contributes(ScriptCapabilities.Compiler, compiler);
121
+ }));
122
+ var fetchRuntimeModules = Effect.fnUntraced(function* () {
123
+ const manifest = yield* HttpClient.get(new URL("manifest.json", SCRIPT_PACKAGES_BUCKET)).pipe(Effect.flatMap((_) => _.json), Effect.flatMap(Schema.decodeUnknown(Schema.Struct({
124
+ files: Schema.Array(Schema.Struct({
125
+ key: Schema.String
126
+ }))
127
+ }))), Effect.map((manifest2) => ({
128
+ ...manifest2,
129
+ files: manifest2.files.map((f) => f.key)
130
+ })));
131
+ const declarationFiles = manifest.files.filter((file) => DECLARATION_EXTS.some((ext) => file.endsWith(ext)));
132
+ let fetched = 0;
133
+ const modules = yield* Effect.forEach(declarationFiles, Effect.fnUntraced(function* (filename) {
134
+ const response = yield* HttpClient.get(new URL(filename, SCRIPT_PACKAGES_BUCKET)).pipe(Effect.retry(Schedule.exponential(1e3).pipe(Schedule.compose(Schedule.recurs(3)))));
135
+ const content = yield* response.text;
136
+ const moduleName = filename.replace(/\.d\.(ts|mts)$/, "");
137
+ fetched++;
138
+ return {
139
+ moduleName,
140
+ filename,
141
+ content
142
+ };
143
+ }, Effect.retry(Schedule.exponential(1e3).pipe(Schedule.compose(Schedule.recurs(3))))), {
144
+ concurrency: 20
145
+ });
146
+ log.info("runtime modules", {
147
+ manifest: manifest.files.length,
148
+ files: declarationFiles.length,
149
+ fetched
150
+ }, {
151
+ F: __dxlog_file2,
152
+ L: 101,
153
+ S: this,
154
+ C: (f, a) => f(...a)
155
+ });
156
+ return modules;
157
+ });
158
+ export {
159
+ compiler_default as default
160
+ };
161
+ //# sourceMappingURL=compiler-VPUVTFQD.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/compiler/compiler.ts", "../../../src/compiler/compiler.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as FetchHttpClient from '@effect/platform/FetchHttpClient';\nimport * as HttpClient from '@effect/platform/HttpClient';\nimport * as Effect from 'effect/Effect';\nimport * as Schedule from 'effect/Schedule';\nimport * as Schema from 'effect/Schema';\nimport wasmUrl from 'esbuild-wasm/esbuild.wasm?url';\nimport * as ts from 'typescript';\n\nimport { Capability } from '@dxos/app-framework';\nimport { initializeBundler } from '@dxos/functions-runtime/bundler';\nimport { log } from '@dxos/log';\nimport { trim } from '@dxos/util';\n\nimport { Compiler } from '../../compiler';\nimport { ScriptCapabilities } from '../../types';\n\n// TODO(burdon): Document.\nconst SCRIPT_PACKAGES_BUCKET = 'https://pub-5745ae82e450484aa28f75fc6a175935.r2.dev/dev/';\nconst DECLARATION_EXTS = ['.d.ts', '.d.mts'];\nconst NO_TYPES = true; // Types temopararly disabled due to compiler erorrs.\n\nexport default Capability.makeModule(() =>\n Effect.gen(function* () {\n yield* Effect.tryPromise(() => initializeBundler({ wasmUrl }));\n\n const runtimeModules = yield* fetchRuntimeModules().pipe(Effect.provide(FetchHttpClient.layer));\n\n const compiler = new Compiler({\n skipLibCheck: true,\n moduleResolution: ts.ModuleResolutionKind.Bundler,\n allowImportingTsExtensions: true,\n noEmit: true,\n strict: true,\n esModuleInterop: true,\n paths: Object.fromEntries(runtimeModules.map((mod: any) => [mod.moduleName, [`./src/${mod.filename}`]])),\n });\n\n yield* Effect.tryPromise(() =>\n compiler.initialize(trim`\n declare module 'https://*';\n ${NO_TYPES ? '' : 'declare module \"*\";'}\n `),\n );\n if (!NO_TYPES) {\n for (const mod of runtimeModules) {\n compiler.setFile(`/src/${mod.filename}`, mod.content);\n }\n }\n\n return Capability.contributes(ScriptCapabilities.Compiler, compiler);\n }),\n);\n\nconst fetchRuntimeModules = Effect.fnUntraced(function* () {\n // { key, size, contentType }\n const manifest = yield* HttpClient.get(new URL('manifest.json', SCRIPT_PACKAGES_BUCKET)).pipe(\n Effect.flatMap((_) => _.json),\n Effect.flatMap(\n Schema.decodeUnknown(\n Schema.Struct({\n files: Schema.Array(\n Schema.Struct({\n key: Schema.String,\n }),\n ),\n }),\n ),\n ),\n Effect.map((manifest) => ({ ...manifest, files: manifest.files.map((f) => f.key) })),\n );\n\n const declarationFiles = manifest.files.filter((file) => DECLARATION_EXTS.some((ext) => file.endsWith(ext)));\n\n let fetched = 0;\n const modules = yield* Effect.forEach(\n declarationFiles,\n Effect.fnUntraced(\n function* (filename) {\n const response = yield* HttpClient.get(new URL(filename, SCRIPT_PACKAGES_BUCKET)).pipe(\n Effect.retry(Schedule.exponential(1_000).pipe(Schedule.compose(Schedule.recurs(3)))),\n );\n const content = yield* response.text;\n const moduleName = filename.replace(/\\.d\\.(ts|mts)$/, '');\n fetched++;\n\n return {\n moduleName,\n filename,\n content,\n };\n },\n Effect.retry(Schedule.exponential(1_000).pipe(Schedule.compose(Schedule.recurs(3)))),\n ),\n { concurrency: 20 },\n );\n\n log.info('runtime modules', { manifest: manifest.files.length, files: declarationFiles.length, fetched });\n return modules;\n});\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport {\n type VirtualTypeScriptEnvironment,\n createDefaultMapFromCDN,\n createSystem,\n createVirtualTypeScriptEnvironment,\n} from '@typescript/vfs';\nimport ts from 'typescript';\n\nimport { invariant } from '@dxos/invariant';\n\nconst GLOBALS = 'globals.d.ts';\n\nconst defaultOptions: ts.CompilerOptions = {\n lib: ['DOM', 'es2022'],\n target: ts.ScriptTarget.ES2022,\n};\n\nexport class Compiler {\n private _env: VirtualTypeScriptEnvironment | undefined;\n private _fsMap: Map<string, string> | undefined;\n\n constructor(private readonly _options: ts.CompilerOptions = defaultOptions) {}\n\n async initialize(globals?: string): Promise<void> {\n if (this._env) {\n return;\n }\n\n // TODO(wittjosiah): Figure out how to get workers working in plugin packages.\n // https://github.com/val-town/codemirror-ts?tab=readme-ov-file#setup-worker\n this._fsMap = await createDefaultMapFromCDN(this._options, '5.7.2', true, ts);\n if (globals) {\n this._fsMap.set(GLOBALS, globals);\n }\n\n const rootFiles = globals ? [GLOBALS] : [];\n const system = createSystem(this._fsMap);\n this._env = createVirtualTypeScriptEnvironment(system, rootFiles, ts, this._options);\n }\n\n get environment() {\n invariant(this._env, 'Compiler environment not initialized.');\n return this._env;\n }\n\n setFile(fileName: string, content: string): void {\n invariant(this._fsMap, 'File system map not initialized.');\n this.environment.createFile(fileName, content);\n }\n\n compile(fileName: string): ts.EmitOutput {\n return this.environment.languageService.getEmitOutput(fileName);\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["FetchHttpClient", "HttpClient", "Effect", "Schedule", "Schema", "wasmUrl", "ts", "Capability", "initializeBundler", "log", "trim", "createDefaultMapFromCDN", "createSystem", "createVirtualTypeScriptEnvironment", "ts", "invariant", "GLOBALS", "defaultOptions", "lib", "target", "ScriptTarget", "ES2022", "Compiler", "_env", "_fsMap", "_options", "initialize", "globals", "set", "rootFiles", "system", "environment", "setFile", "fileName", "content", "createFile", "compile", "languageService", "getEmitOutput", "SCRIPT_PACKAGES_BUCKET", "DECLARATION_EXTS", "NO_TYPES", "Capability", "makeModule", "gen", "tryPromise", "initializeBundler", "wasmUrl", "runtimeModules", "fetchRuntimeModules", "pipe", "provide", "layer", "compiler", "Compiler", "skipLibCheck", "moduleResolution", "ModuleResolutionKind", "Bundler", "allowImportingTsExtensions", "noEmit", "strict", "esModuleInterop", "paths", "Object", "fromEntries", "map", "mod", "moduleName", "filename", "initialize", "trim", "setFile", "content", "contributes", "ScriptCapabilities", "fnUntraced", "manifest", "get", "URL", "flatMap", "_", "json", "decodeUnknown", "Struct", "files", "Array", "key", "String", "f", "declarationFiles", "filter", "file", "some", "ext", "endsWith", "fetched", "modules", "forEach", "response", "retry", "exponential", "compose", "recurs", "text", "replace", "concurrency", "log", "info", "length"]
7
+ }
@@ -7,83 +7,91 @@ import {
7
7
  ScriptProperties,
8
8
  TestContainer,
9
9
  TestPanel
10
- } from "./chunk-I3QSGUFJ.mjs";
11
- import {
12
- NotebookMenu,
13
- NotebookStack
14
- } from "./chunk-75LH4EUR.mjs";
15
- import {
16
- ScriptCapabilities
17
- } from "./chunk-OKXN2N7M.mjs";
10
+ } from "./chunk-LYMPME7J.mjs";
18
11
  import {
19
12
  DEPLOYMENT_DIALOG
20
- } from "./chunk-NM4WQS4F.mjs";
21
- import "./chunk-E7DXDICD.mjs";
22
- import "./chunk-N6M34EUC.mjs";
13
+ } from "./chunk-BU6CGVU2.mjs";
23
14
  import {
24
15
  deployScript,
25
16
  getAccessCredential,
26
17
  getFunctionUrl,
27
18
  isScriptDeployed,
28
19
  updateFunctionMetadata
29
- } from "./chunk-JO2O7W6J.mjs";
20
+ } from "./chunk-WWCDIB6Z.mjs";
30
21
  import {
31
- Notebook,
32
- ScriptAction
33
- } from "./chunk-5CYLWXRH.mjs";
34
- import "./chunk-ST3ACVUC.mjs";
22
+ Notebook_exports,
23
+ ScriptCapabilities,
24
+ ScriptEvents,
25
+ ScriptOperation
26
+ } from "./chunk-3BSF5BIA.mjs";
27
+ import "./chunk-4N5TLXEJ.mjs";
28
+ import {
29
+ NotebookMenu,
30
+ NotebookStack
31
+ } from "./chunk-BKGEAUUH.mjs";
32
+ import "./chunk-I7CSE6T3.mjs";
35
33
  import {
36
34
  defaultScriptsForIntegration,
37
35
  meta
38
- } from "./chunk-EZVXV6DA.mjs";
39
-
40
- // src/capabilities/index.ts
41
- import { lazy } from "@dxos/app-framework";
42
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-DPYULSME.mjs"));
43
- var BlueprintDefinition = lazy(() => import("./blueprint-definition-ET5KZ46I.mjs"));
44
- var Compiler = lazy(() => import("./compiler-G2N2CG63.mjs"));
45
- var IntentResolver = lazy(() => import("./intent-resolver-JLU7DVLQ.mjs"));
46
- var ReactSurface = lazy(() => import("./react-surface-76SDTUYG.mjs"));
47
- var ScriptSettings = lazy(() => import("./settings-ERFKVNUK.mjs"));
36
+ } from "./chunk-WYR4QHPE.mjs";
37
+ import "./chunk-J5LGTIGS.mjs";
48
38
 
49
39
  // src/ScriptPlugin.tsx
50
- import { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from "@dxos/app-framework";
40
+ import * as Effect from "effect/Effect";
41
+ import { Plugin } from "@dxos/app-framework";
42
+ import { AppActivationEvents, AppPlugin } from "@dxos/app-toolkit";
51
43
  import { Ref } from "@dxos/echo";
52
- import { ScriptType as ScriptType2 } from "@dxos/functions";
53
- import { ClientEvents } from "@dxos/plugin-client";
54
- import { SpaceCapabilities } from "@dxos/plugin-space";
55
- import { defineObjectForm } from "@dxos/plugin-space/types";
56
- import { isNonNullable } from "@dxos/util";
44
+ import { Script as Script2 } from "@dxos/functions";
45
+ import { Operation } from "@dxos/operation";
57
46
 
58
- // src/events.ts
59
- import { defineEvent } from "@dxos/app-framework";
60
- (function(ScriptEvents2) {
61
- ScriptEvents2.SetupCompiler = defineEvent(`${meta.id}/event/setup-compiler`);
62
- })(ScriptEvents || (ScriptEvents = {}));
63
- var ScriptEvents;
47
+ // src/capabilities/app-graph-builder/index.ts
48
+ import { Capability } from "@dxos/app-framework";
49
+ var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("./app-graph-builder-66ZDI72K.mjs"));
50
+
51
+ // src/capabilities/blueprint-definition/index.ts
52
+ import { Capability as Capability2 } from "@dxos/app-framework";
53
+ var BlueprintDefinition = Capability2.lazy("BlueprintDefinition", () => import("./blueprint-definition-5RFKE7VK.mjs"));
54
+
55
+ // src/capabilities/compiler/index.ts
56
+ import { Capability as Capability3 } from "@dxos/app-framework";
57
+ var Compiler = Capability3.lazy("Compiler", () => import("./compiler-VPUVTFQD.mjs"));
58
+
59
+ // src/capabilities/operation-resolver/index.ts
60
+ import { Capability as Capability4 } from "@dxos/app-framework";
61
+ var OperationResolver = Capability4.lazy("OperationResolver", () => import("./operation-resolver-NYDY7GDT.mjs"));
62
+
63
+ // src/capabilities/react-surface/index.ts
64
+ import { Capability as Capability5 } from "@dxos/app-framework";
65
+ var ReactSurface = Capability5.lazy("ReactSurface", () => import("./react-surface-FYOQSC6S.mjs"));
66
+
67
+ // src/capabilities/settings/index.ts
68
+ import { Capability as Capability6 } from "@dxos/app-framework";
69
+ var ScriptSettings = Capability6.lazy("ScriptSettings", () => import("./settings-5SF77MRH.mjs"));
64
70
 
65
71
  // src/translations.ts
66
- import { ScriptType } from "@dxos/functions";
72
+ import { Script } from "@dxos/functions";
67
73
  var translations = [
68
74
  {
69
75
  "en-US": {
70
- [ScriptType.typename]: {
76
+ [Script.Script.typename]: {
71
77
  "typename label": "Script",
72
78
  "typename label_zero": "Scripts",
73
79
  "typename label_one": "Script",
74
80
  "typename label_other": "Scripts",
75
81
  "object name placeholder": "New script",
76
82
  "rename object label": "Rename script",
77
- "delete object label": "Delete script"
83
+ "delete object label": "Delete script",
84
+ "object deleted label": "Script deleted"
78
85
  },
79
- [Notebook.Notebook.typename]: {
86
+ [Notebook_exports.Notebook.typename]: {
80
87
  "typename label": "Notebook",
81
88
  "typename label_zero": "Notebooks",
82
89
  "typename label_one": "Notebook",
83
90
  "typename label_other": "Notebooks",
84
91
  "object name placeholder": "New notebook",
85
92
  "rename object label": "Rename notebook",
86
- "delete object label": "Delete notebook"
93
+ "delete object label": "Delete notebook",
94
+ "object deleted label": "Notebook deleted"
87
95
  },
88
96
  [meta.id]: {
89
97
  "plugin name": "Scripts",
@@ -122,7 +130,6 @@ var translations = [
122
130
  "settings editor input mode default label": "Default",
123
131
  "settings editor input mode vim label": "Vim",
124
132
  "settings editor input mode vscode label": "VS Code",
125
- "template select group label": "Select template",
126
133
  "function panel label": "Debug Function",
127
134
  "script test label": "Test",
128
135
  "script logs label": "Logs",
@@ -161,99 +168,57 @@ var translations = [
161
168
  ];
162
169
 
163
170
  // src/ScriptPlugin.tsx
164
- var ScriptPlugin = definePlugin(meta, () => [
165
- defineModule({
166
- id: `${meta.id}/module/settings`,
167
- activatesOn: Events.SetupSettings,
168
- activate: ScriptSettings
169
- }),
170
- defineModule({
171
- id: `${meta.id}/module/compiler`,
172
- activatesOn: ScriptEvents.SetupCompiler,
173
- activate: Compiler
174
- }),
175
- defineModule({
176
- id: `${meta.id}/module/translations`,
177
- activatesOn: Events.SetupTranslations,
178
- activate: () => contributes(Capabilities.Translations, translations)
179
- }),
180
- defineModule({
181
- id: `${meta.id}/module/metadata`,
182
- activatesOn: Events.SetupMetadata,
183
- activate: () => [
184
- contributes(Capabilities.Metadata, {
185
- id: ScriptType2.typename,
186
- metadata: {
187
- icon: "ph--code--regular",
188
- // TODO(wittjosiah): Move out of metadata.
189
- loadReferences: async (script) => await Ref.Array.loadAll([
190
- script.source
191
- ])
192
- }
193
- }),
194
- contributes(Capabilities.Metadata, {
195
- id: Notebook.Notebook.typename,
196
- metadata: {
197
- icon: "ph--notebook--regular",
198
- // TODO(wittjosiah): Move out of metadata.
199
- loadReferences: async (notebook) => await Ref.Array.loadAll(notebook.cells.flatMap((cell) => [
200
- cell.script,
201
- cell.view,
202
- cell.chat
203
- ].filter(isNonNullable)))
204
- }
205
- })
206
- ]
207
- }),
208
- defineModule({
209
- id: `${meta.id}/module/app-graph-builder`,
210
- activatesOn: Events.SetupAppGraph,
211
- activate: AppGraphBuilder
212
- }),
213
- defineModule({
214
- id: `${meta.id}/module/script/object-form`,
215
- activatesOn: ClientEvents.SetupSchema,
216
- activate: () => contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
217
- objectSchema: ScriptType2,
218
- formSchema: ScriptAction.ScriptProps,
219
- getIntent: (props, options) => createIntent(ScriptAction.CreateScript, {
220
- ...props,
221
- space: options.space
222
- })
223
- }))
224
- }),
225
- defineModule({
226
- id: `${meta.id}/module/notebook/object-form`,
227
- activatesOn: ClientEvents.SetupSchema,
228
- activate: () => contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
229
- objectSchema: Notebook.Notebook,
230
- formSchema: ScriptAction.NotebookProps,
231
- getIntent: (props, options) => createIntent(ScriptAction.CreateNotebook, {
232
- ...props,
233
- space: options.space
234
- })
235
- }))
236
- }),
237
- defineModule({
238
- id: `${meta.id}/module/react-surface`,
239
- activatesOn: Events.SetupReactSurface,
240
- // TODO(wittjosiah): Should occur before the script editor is loaded when surfaces activation is more granular.
241
- activatesBefore: [
242
- ScriptEvents.SetupCompiler
243
- ],
244
- activate: ReactSurface
245
- }),
246
- defineModule({
247
- id: `${meta.id}/module/intent-resolver`,
248
- activatesOn: Events.SetupIntentResolver,
249
- activate: IntentResolver
250
- }),
251
- defineModule({
252
- id: `${meta.id}/module/blueprint`,
253
- activatesOn: Events.SetupArtifactDefinition,
254
- activate: BlueprintDefinition
255
- })
256
- ]);
171
+ var ScriptPlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({
172
+ activate: AppGraphBuilder
173
+ }), AppPlugin.addBlueprintDefinitionModule({
174
+ activate: BlueprintDefinition
175
+ }), AppPlugin.addMetadataModule({
176
+ metadata: [
177
+ {
178
+ id: Script2.Script.typename,
179
+ metadata: {
180
+ icon: "ph--code--regular",
181
+ iconHue: "sky",
182
+ // TODO(wittjosiah): Move out of metadata.
183
+ loadReferences: async (script) => await Ref.Array.loadAll([
184
+ script.source
185
+ ]),
186
+ inputSchema: ScriptOperation.ScriptProps,
187
+ createObject: (props) => Effect.gen(function* () {
188
+ const { object } = yield* Operation.invoke(ScriptOperation.CreateScript, props);
189
+ return object;
190
+ }),
191
+ addToCollectionOnCreate: true
192
+ }
193
+ },
194
+ {
195
+ id: Notebook_exports.Notebook.typename,
196
+ metadata: {
197
+ icon: "ph--notebook--regular",
198
+ iconHue: "sky",
199
+ inputSchema: ScriptOperation.NotebookProps,
200
+ createObject: (props) => Effect.sync(() => Notebook_exports.make(props)),
201
+ addToCollectionOnCreate: true
202
+ }
203
+ }
204
+ ]
205
+ }), AppPlugin.addOperationResolverModule({
206
+ activate: OperationResolver
207
+ }), AppPlugin.addSchemaModule({
208
+ schema: [
209
+ Script2.Script
210
+ ]
211
+ }), AppPlugin.addSurfaceModule({
212
+ activate: ReactSurface
213
+ }), AppPlugin.addTranslationsModule({
214
+ translations
215
+ }), Plugin.addModule({
216
+ activatesOn: AppActivationEvents.SetupSettings,
217
+ activate: ScriptSettings
218
+ }), Plugin.addModule({
219
+ activatesOn: ScriptEvents.SetupCompiler,
220
+ activate: Compiler
221
+ }), Plugin.make);
257
222
  export {
258
223
  DEPLOYMENT_DIALOG,
259
224
  DeploymentDialog,
@@ -262,6 +227,7 @@ export {
262
227
  NotebookStack,
263
228
  ScriptCapabilities,
264
229
  ScriptContainer,
230
+ ScriptEvents,
265
231
  ScriptObjectSettings,
266
232
  ScriptPlugin,
267
233
  ScriptPluginSettings,