@dxos/plugin-script 0.8.4-main.28f8d3d → 0.8.4-main.2c6827d

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 (295) hide show
  1. package/dist/lib/browser/DeploymentDialog-MZX4T77L.mjs +14 -0
  2. package/dist/lib/browser/NotebookContainer-RTESC4OV.mjs +817 -0
  3. package/dist/lib/browser/NotebookContainer-RTESC4OV.mjs.map +7 -0
  4. package/dist/lib/browser/ScriptContainer-T2BAZDJ4.mjs +147 -0
  5. package/dist/lib/browser/ScriptContainer-T2BAZDJ4.mjs.map +7 -0
  6. package/dist/lib/browser/{app-graph-builder-IABOSTBK.mjs → app-graph-builder-2WR2ATTJ.mjs} +11 -9
  7. package/dist/lib/browser/app-graph-builder-2WR2ATTJ.mjs.map +7 -0
  8. package/dist/lib/browser/blueprint-definition-6PZWZM2Y.mjs +30 -0
  9. package/dist/lib/browser/blueprint-definition-6PZWZM2Y.mjs.map +7 -0
  10. package/dist/lib/browser/chunk-2G2NA6DQ.mjs +88 -0
  11. package/dist/lib/browser/chunk-2G2NA6DQ.mjs.map +7 -0
  12. package/dist/lib/browser/{chunk-OAVS36Q3.mjs → chunk-3IJASGG5.mjs} +23 -21
  13. package/dist/lib/browser/chunk-3IJASGG5.mjs.map +7 -0
  14. package/dist/lib/browser/chunk-4M7U2WVT.mjs +304 -0
  15. package/dist/lib/browser/chunk-4M7U2WVT.mjs.map +7 -0
  16. package/dist/lib/browser/chunk-5JSNQYZZ.mjs +517 -0
  17. package/dist/lib/browser/chunk-5JSNQYZZ.mjs.map +7 -0
  18. package/dist/lib/browser/{chunk-QYAREHGH.mjs → chunk-EB6AXFXO.mjs} +8 -5
  19. package/dist/lib/browser/chunk-EB6AXFXO.mjs.map +7 -0
  20. package/dist/lib/browser/{chunk-OULPWKXN.mjs → chunk-GAFCKEII.mjs} +178 -87
  21. package/dist/lib/browser/chunk-GAFCKEII.mjs.map +7 -0
  22. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  23. package/dist/lib/browser/chunk-LNNCD2H4.mjs +102 -0
  24. package/dist/lib/browser/chunk-LNNCD2H4.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-M6KJPUJK.mjs +111 -0
  26. package/dist/lib/browser/chunk-M6KJPUJK.mjs.map +7 -0
  27. package/dist/lib/browser/{chunk-5TVBECWH.mjs → chunk-UOQ6NCH3.mjs} +2 -2
  28. package/dist/lib/browser/{compiler-RIWQVBPX.mjs → compiler-4KHRSX7J.mjs} +7 -6
  29. package/dist/lib/browser/compiler-4KHRSX7J.mjs.map +7 -0
  30. package/dist/lib/browser/index.mjs +112 -42
  31. package/dist/lib/browser/index.mjs.map +3 -3
  32. package/dist/lib/browser/{intent-resolver-SAL2TM7U.mjs → intent-resolver-AFJ575VK.mjs} +38 -23
  33. package/dist/lib/browser/intent-resolver-AFJ575VK.mjs.map +7 -0
  34. package/dist/lib/browser/meta.json +1 -1
  35. package/dist/lib/browser/{react-surface-E3SXU6ON.mjs → react-surface-QEQ3QUQA.mjs} +47 -23
  36. package/dist/lib/browser/react-surface-QEQ3QUQA.mjs.map +7 -0
  37. package/dist/lib/browser/{settings-KCTBK5TY.mjs → settings-LNLSTZM4.mjs} +10 -8
  38. package/dist/lib/browser/settings-LNLSTZM4.mjs.map +7 -0
  39. package/dist/lib/browser/templates/index.mjs +2 -1
  40. package/dist/lib/browser/types/index.mjs +8 -4
  41. package/dist/lib/node-esm/DeploymentDialog-GL5AUWMR.mjs +15 -0
  42. package/dist/lib/node-esm/DeploymentDialog-GL5AUWMR.mjs.map +7 -0
  43. package/dist/lib/node-esm/NotebookContainer-SVD3A3D6.mjs +818 -0
  44. package/dist/lib/node-esm/NotebookContainer-SVD3A3D6.mjs.map +7 -0
  45. package/dist/lib/node-esm/ScriptContainer-2CE3H3JJ.mjs +148 -0
  46. package/dist/lib/node-esm/ScriptContainer-2CE3H3JJ.mjs.map +7 -0
  47. package/dist/lib/node-esm/{app-graph-builder-CQTTAYHP.mjs → app-graph-builder-NCVLUL5R.mjs} +11 -9
  48. package/dist/lib/node-esm/app-graph-builder-NCVLUL5R.mjs.map +7 -0
  49. package/dist/lib/node-esm/blueprint-definition-5R6YCSZZ.mjs +31 -0
  50. package/dist/lib/node-esm/blueprint-definition-5R6YCSZZ.mjs.map +7 -0
  51. package/dist/lib/node-esm/{chunk-35M3CHYE.mjs → chunk-55JZVM6K.mjs} +2 -2
  52. package/dist/lib/node-esm/chunk-57JA6XL5.mjs +90 -0
  53. package/dist/lib/node-esm/chunk-57JA6XL5.mjs.map +7 -0
  54. package/dist/lib/node-esm/chunk-HDKR5WCD.mjs +113 -0
  55. package/dist/lib/node-esm/chunk-HDKR5WCD.mjs.map +7 -0
  56. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  57. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  58. package/dist/lib/node-esm/{chunk-AHXJ6NQU.mjs → chunk-IBV2DR36.mjs} +8 -5
  59. package/dist/lib/node-esm/chunk-IBV2DR36.mjs.map +7 -0
  60. package/dist/lib/node-esm/chunk-IQTBVH4L.mjs +518 -0
  61. package/dist/lib/node-esm/chunk-IQTBVH4L.mjs.map +7 -0
  62. package/dist/lib/node-esm/{chunk-6WMFL3JL.mjs → chunk-KJKZ4KNO.mjs} +178 -87
  63. package/dist/lib/node-esm/chunk-KJKZ4KNO.mjs.map +7 -0
  64. package/dist/lib/node-esm/chunk-NNHWLRHT.mjs +103 -0
  65. package/dist/lib/node-esm/chunk-NNHWLRHT.mjs.map +7 -0
  66. package/dist/lib/node-esm/{chunk-IO6T72KY.mjs → chunk-RIE676OW.mjs} +23 -21
  67. package/dist/lib/node-esm/chunk-RIE676OW.mjs.map +7 -0
  68. package/dist/lib/node-esm/chunk-YRTA4EHU.mjs +305 -0
  69. package/dist/lib/node-esm/chunk-YRTA4EHU.mjs.map +7 -0
  70. package/dist/lib/node-esm/{compiler-S52P5P3F.mjs → compiler-DU5NQISX.mjs} +7 -6
  71. package/dist/lib/node-esm/compiler-DU5NQISX.mjs.map +7 -0
  72. package/dist/lib/node-esm/index.mjs +112 -42
  73. package/dist/lib/node-esm/index.mjs.map +3 -3
  74. package/dist/lib/node-esm/{intent-resolver-GO53JOPL.mjs → intent-resolver-A5VVK746.mjs} +38 -23
  75. package/dist/lib/node-esm/intent-resolver-A5VVK746.mjs.map +7 -0
  76. package/dist/lib/node-esm/meta.json +1 -1
  77. package/dist/lib/node-esm/{react-surface-W3NRCS5O.mjs → react-surface-U77YT7VF.mjs} +47 -23
  78. package/dist/lib/node-esm/react-surface-U77YT7VF.mjs.map +7 -0
  79. package/dist/lib/node-esm/{settings-DXZ334A3.mjs → settings-IUFMOCXY.mjs} +10 -8
  80. package/dist/lib/node-esm/settings-IUFMOCXY.mjs.map +7 -0
  81. package/dist/lib/node-esm/templates/index.mjs +2 -1
  82. package/dist/lib/node-esm/types/index.mjs +8 -4
  83. package/dist/types/src/ScriptPlugin.d.ts +1 -1
  84. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  85. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
  86. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  87. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  88. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -0
  89. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  90. package/dist/types/src/capabilities/compiler.d.ts +1 -1
  91. package/dist/types/src/capabilities/index.d.ts +6 -5
  92. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  93. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  94. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  95. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  96. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/settings.d.ts +1 -1
  98. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts +4 -4
  99. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +1 -1
  100. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +243 -13
  101. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -1
  102. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts +1 -1
  103. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -1
  104. package/dist/types/src/components/NotebookContainer.d.ts +10 -0
  105. package/dist/types/src/components/NotebookContainer.d.ts.map +1 -0
  106. package/dist/types/src/components/NotebookContainer.stories.d.ts +251 -0
  107. package/dist/types/src/components/NotebookContainer.stories.d.ts.map +1 -0
  108. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts +15 -0
  109. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -0
  110. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts +9 -0
  111. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts.map +1 -0
  112. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +14 -0
  113. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -0
  114. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +245 -0
  115. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -0
  116. package/dist/types/src/components/NotebookStack/index.d.ts +3 -0
  117. package/dist/types/src/components/NotebookStack/index.d.ts.map +1 -0
  118. package/dist/types/src/components/ScriptContainer.d.ts +4 -4
  119. package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
  120. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +5 -6
  121. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  122. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +242 -10
  123. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  124. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +2 -2
  125. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +1 -1
  126. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts +2 -2
  127. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +1 -1
  128. package/dist/types/src/components/TestPanel/TestContainer.d.ts +2 -2
  129. package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +1 -1
  130. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
  131. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +4 -2
  132. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  133. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +11 -4
  134. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  135. package/dist/types/src/components/index.d.ts +3 -4
  136. package/dist/types/src/components/index.d.ts.map +1 -1
  137. package/dist/types/src/events.d.ts.map +1 -1
  138. package/dist/types/src/hooks/deploy.d.ts +17 -14
  139. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  140. package/dist/types/src/hooks/format.d.ts +2 -2
  141. package/dist/types/src/hooks/format.d.ts.map +1 -1
  142. package/dist/types/src/hooks/template.d.ts +4 -14
  143. package/dist/types/src/hooks/template.d.ts.map +1 -1
  144. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  145. package/dist/types/src/index.d.ts +1 -0
  146. package/dist/types/src/index.d.ts.map +1 -1
  147. package/dist/types/src/meta.d.ts +0 -1
  148. package/dist/types/src/meta.d.ts.map +1 -1
  149. package/dist/types/src/notebook/compute-graph.d.ts +45 -0
  150. package/dist/types/src/notebook/compute-graph.d.ts.map +1 -0
  151. package/dist/types/src/notebook/compute-graph.test.d.ts +2 -0
  152. package/dist/types/src/notebook/compute-graph.test.d.ts.map +1 -0
  153. package/dist/types/src/notebook/eval.d.ts +13 -0
  154. package/dist/types/src/notebook/eval.d.ts.map +1 -0
  155. package/dist/types/src/notebook/index.d.ts +2 -0
  156. package/dist/types/src/notebook/index.d.ts.map +1 -0
  157. package/dist/types/src/notebook/vfs-parser.d.ts +74 -0
  158. package/dist/types/src/notebook/vfs-parser.d.ts.map +1 -0
  159. package/dist/types/src/notebook/vfs-parser.test.d.ts +2 -0
  160. package/dist/types/src/notebook/vfs-parser.test.d.ts.map +1 -0
  161. package/dist/types/src/templates/chess.d.ts.map +1 -1
  162. package/dist/types/src/templates/data-generator.d.ts.map +1 -1
  163. package/dist/types/src/templates/discord.d.ts.map +1 -1
  164. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  165. package/dist/types/src/templates/forex.d.ts.map +1 -1
  166. package/dist/types/src/templates/gmail.d.ts.map +1 -1
  167. package/dist/types/src/templates/index.d.ts +43 -1
  168. package/dist/types/src/templates/index.d.ts.map +1 -1
  169. package/dist/types/src/templates/{echo.d.ts → ping.d.ts} +1 -1
  170. package/dist/types/src/templates/ping.d.ts.map +1 -0
  171. package/dist/types/src/testing/data.d.ts +3 -0
  172. package/dist/types/src/testing/data.d.ts.map +1 -0
  173. package/dist/types/src/testing/index.d.ts +2 -0
  174. package/dist/types/src/testing/index.d.ts.map +1 -0
  175. package/dist/types/src/translations.d.ts +30 -5
  176. package/dist/types/src/translations.d.ts.map +1 -1
  177. package/dist/types/src/types/Notebook.d.ts +31 -0
  178. package/dist/types/src/types/Notebook.d.ts.map +1 -0
  179. package/dist/types/src/types/actions.d.ts +54 -0
  180. package/dist/types/src/types/actions.d.ts.map +1 -0
  181. package/dist/types/src/types/index.d.ts +3 -1
  182. package/dist/types/src/types/index.d.ts.map +1 -1
  183. package/dist/types/src/types/types.d.ts +6 -0
  184. package/dist/types/src/types/types.d.ts.map +1 -0
  185. package/dist/types/src/util/deploy.d.ts +7 -7
  186. package/dist/types/src/util/deploy.d.ts.map +1 -1
  187. package/dist/types/src/util/functions.d.ts +6 -3
  188. package/dist/types/src/util/functions.d.ts.map +1 -1
  189. package/dist/types/tsconfig.tsbuildinfo +1 -1
  190. package/package.json +78 -69
  191. package/src/ScriptPlugin.tsx +96 -65
  192. package/src/capabilities/app-graph-builder.ts +10 -9
  193. package/src/capabilities/artifact-definition.ts +2 -3
  194. package/src/capabilities/blueprint-definition.ts +30 -0
  195. package/src/capabilities/compiler.ts +1 -1
  196. package/src/capabilities/index.ts +1 -0
  197. package/src/capabilities/intent-resolver.ts +20 -11
  198. package/src/capabilities/react-surface.tsx +30 -17
  199. package/src/capabilities/settings.ts +3 -3
  200. package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +39 -20
  201. package/src/components/DeploymentDialog/DeploymentDialog.tsx +42 -31
  202. package/src/components/FrameContainer/FrameContainer.tsx +5 -4
  203. package/src/components/NotebookContainer.stories.tsx +83 -0
  204. package/src/components/NotebookContainer.tsx +263 -0
  205. package/src/components/NotebookStack/NotebookCell.tsx +214 -0
  206. package/src/components/NotebookStack/NotebookMenu.tsx +47 -0
  207. package/src/components/NotebookStack/NotebookStack.stories.tsx +54 -0
  208. package/src/components/NotebookStack/NotebookStack.tsx +86 -0
  209. package/src/components/NotebookStack/index.ts +6 -0
  210. package/src/components/ScriptContainer.tsx +5 -5
  211. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +34 -18
  212. package/src/components/ScriptToolbar/ScriptToolbar.tsx +37 -30
  213. package/src/components/Settings/ScriptObjectSettings.tsx +126 -35
  214. package/src/components/Settings/ScriptPluginSettings.tsx +37 -47
  215. package/src/components/TestPanel/TestContainer.tsx +2 -2
  216. package/src/components/TestPanel/TestPanel.tsx +42 -19
  217. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +74 -27
  218. package/src/components/TypescriptEditor/TypescriptEditor.tsx +36 -35
  219. package/src/components/index.ts +3 -0
  220. package/src/events.ts +2 -2
  221. package/src/hooks/deploy.ts +22 -23
  222. package/src/hooks/format.ts +4 -4
  223. package/src/hooks/template.ts +6 -15
  224. package/src/hooks/useCreateAndDeployScriptTemplates.ts +10 -6
  225. package/src/index.ts +1 -0
  226. package/src/meta.ts +7 -5
  227. package/src/notebook/compute-graph.test.ts +70 -0
  228. package/src/notebook/compute-graph.ts +206 -0
  229. package/src/notebook/eval.ts +105 -0
  230. package/src/notebook/index.ts +5 -0
  231. package/src/notebook/vfs-parser.test.ts +149 -0
  232. package/src/notebook/vfs-parser.ts +451 -0
  233. package/src/templates/chess.ts +2 -0
  234. package/src/templates/data-generator.ts +2 -0
  235. package/src/templates/discord.ts +11 -3
  236. package/src/templates/forex-effect.ts +6 -2
  237. package/src/templates/forex.ts +2 -0
  238. package/src/templates/gmail.ts +32 -62
  239. package/src/templates/index.ts +6 -6
  240. package/src/testing/data.ts +72 -0
  241. package/src/testing/index.ts +5 -0
  242. package/src/translations.ts +33 -7
  243. package/src/types/Notebook.ts +41 -0
  244. package/src/types/actions.ts +53 -0
  245. package/src/types/index.ts +3 -1
  246. package/src/types/types.ts +15 -0
  247. package/src/util/deploy.ts +29 -46
  248. package/src/util/functions.ts +37 -7
  249. package/dist/lib/browser/DeploymentDialog-C3XH2Z56.mjs +0 -12
  250. package/dist/lib/browser/ScriptContainer-FUBR4OZE.mjs +0 -263
  251. package/dist/lib/browser/ScriptContainer-FUBR4OZE.mjs.map +0 -7
  252. package/dist/lib/browser/app-graph-builder-IABOSTBK.mjs.map +0 -7
  253. package/dist/lib/browser/chunk-G4A2MGAL.mjs +0 -88
  254. package/dist/lib/browser/chunk-G4A2MGAL.mjs.map +0 -7
  255. package/dist/lib/browser/chunk-IS4OG2UW.mjs +0 -39
  256. package/dist/lib/browser/chunk-IS4OG2UW.mjs.map +0 -7
  257. package/dist/lib/browser/chunk-MWZDJNCQ.mjs +0 -283
  258. package/dist/lib/browser/chunk-MWZDJNCQ.mjs.map +0 -7
  259. package/dist/lib/browser/chunk-OAVS36Q3.mjs.map +0 -7
  260. package/dist/lib/browser/chunk-OULPWKXN.mjs.map +0 -7
  261. package/dist/lib/browser/chunk-QYAREHGH.mjs.map +0 -7
  262. package/dist/lib/browser/chunk-SUOLJH55.mjs +0 -233
  263. package/dist/lib/browser/chunk-SUOLJH55.mjs.map +0 -7
  264. package/dist/lib/browser/compiler-RIWQVBPX.mjs.map +0 -7
  265. package/dist/lib/browser/intent-resolver-SAL2TM7U.mjs.map +0 -7
  266. package/dist/lib/browser/react-surface-E3SXU6ON.mjs.map +0 -7
  267. package/dist/lib/browser/settings-KCTBK5TY.mjs.map +0 -7
  268. package/dist/lib/node-esm/DeploymentDialog-O2XZVRLU.mjs +0 -13
  269. package/dist/lib/node-esm/ScriptContainer-VJ75TM24.mjs +0 -264
  270. package/dist/lib/node-esm/ScriptContainer-VJ75TM24.mjs.map +0 -7
  271. package/dist/lib/node-esm/app-graph-builder-CQTTAYHP.mjs.map +0 -7
  272. package/dist/lib/node-esm/chunk-3BBEM2U7.mjs +0 -90
  273. package/dist/lib/node-esm/chunk-3BBEM2U7.mjs.map +0 -7
  274. package/dist/lib/node-esm/chunk-6WMFL3JL.mjs.map +0 -7
  275. package/dist/lib/node-esm/chunk-7L4JDSXJ.mjs +0 -284
  276. package/dist/lib/node-esm/chunk-7L4JDSXJ.mjs.map +0 -7
  277. package/dist/lib/node-esm/chunk-AHXJ6NQU.mjs.map +0 -7
  278. package/dist/lib/node-esm/chunk-IO6T72KY.mjs.map +0 -7
  279. package/dist/lib/node-esm/chunk-JIPFLBYA.mjs +0 -40
  280. package/dist/lib/node-esm/chunk-JIPFLBYA.mjs.map +0 -7
  281. package/dist/lib/node-esm/chunk-PACUN7RS.mjs +0 -234
  282. package/dist/lib/node-esm/chunk-PACUN7RS.mjs.map +0 -7
  283. package/dist/lib/node-esm/compiler-S52P5P3F.mjs.map +0 -7
  284. package/dist/lib/node-esm/intent-resolver-GO53JOPL.mjs.map +0 -7
  285. package/dist/lib/node-esm/react-surface-W3NRCS5O.mjs.map +0 -7
  286. package/dist/lib/node-esm/settings-DXZ334A3.mjs.map +0 -7
  287. package/dist/types/src/templates/echo.d.ts.map +0 -1
  288. package/dist/types/src/types/schema.d.ts +0 -38
  289. package/dist/types/src/types/schema.d.ts.map +0 -1
  290. package/src/types/schema.ts +0 -37
  291. /package/dist/lib/browser/{DeploymentDialog-C3XH2Z56.mjs.map → DeploymentDialog-MZX4T77L.mjs.map} +0 -0
  292. /package/dist/lib/{node-esm/DeploymentDialog-O2XZVRLU.mjs.map → browser/chunk-J5LGTIGS.mjs.map} +0 -0
  293. /package/dist/lib/browser/{chunk-5TVBECWH.mjs.map → chunk-UOQ6NCH3.mjs.map} +0 -0
  294. /package/dist/lib/node-esm/{chunk-35M3CHYE.mjs.map → chunk-55JZVM6K.mjs.map} +0 -0
  295. /package/src/templates/{echo.ts → ping.ts} +0 -0
@@ -1,284 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- templates
4
- } from "./chunk-3BBEM2U7.mjs";
5
- import {
6
- deployScript,
7
- getFunctionUrl,
8
- isScriptDeployed
9
- } from "./chunk-PACUN7RS.mjs";
10
- import {
11
- SCRIPT_PLUGIN
12
- } from "./chunk-AHXJ6NQU.mjs";
13
-
14
- // src/hooks/deploy.ts
15
- import { useEffect, useMemo } from "react";
16
- import { FunctionType, getUserFunctionUrlInMetadata } from "@dxos/functions";
17
- import { log } from "@dxos/log";
18
- import { useClient } from "@dxos/react-client";
19
- import { Query, Ref, getMeta, getSpace, useQuery } from "@dxos/react-client/echo";
20
- import { createMenuAction } from "@dxos/react-ui-menu";
21
- import { errorMessageColors } from "@dxos/react-ui-theme";
22
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/hooks/deploy.ts";
23
- var createDeploy = ({ state, script, space, fn, client, existingFunctionUrl, t }) => {
24
- const errorItem = createMenuAction("error", () => {
25
- }, {
26
- label: state.error ?? [
27
- "no error label",
28
- {
29
- ns: SCRIPT_PLUGIN
30
- }
31
- ],
32
- icon: "ph--warning-circle--regular",
33
- hidden: !state.error,
34
- classNames: state.error && errorMessageColors
35
- });
36
- const deployAction = createMenuAction("deploy", async () => {
37
- if (!script.source || !space) {
38
- return;
39
- }
40
- state.error = void 0;
41
- state.deploying = true;
42
- const result = await deployScript({
43
- script,
44
- client,
45
- space,
46
- fn,
47
- existingFunctionUrl
48
- });
49
- if (!result.success) {
50
- log.catch(result.error, void 0, {
51
- F: __dxlog_file,
52
- L: 59,
53
- S: void 0,
54
- C: (f, a) => f(...a)
55
- });
56
- state.error = t("upload failed label");
57
- }
58
- state.deploying = false;
59
- }, {
60
- type: "deploy",
61
- label: [
62
- state.deploying ? "pending label" : "deploy label",
63
- {
64
- ns: SCRIPT_PLUGIN
65
- }
66
- ],
67
- icon: state.deploying ? "ph--spinner-gap--regular" : "ph--cloud-arrow-up--regular",
68
- disabled: state.deploying,
69
- classNames: state.deploying ? "[&_svg]:animate-spin" : ""
70
- });
71
- const copyAction = createMenuAction("copy", async () => {
72
- if (!state.functionUrl) {
73
- return;
74
- }
75
- await navigator.clipboard.writeText(state.functionUrl);
76
- }, {
77
- type: "copy",
78
- label: [
79
- "copy link label",
80
- {
81
- ns: SCRIPT_PLUGIN
82
- }
83
- ],
84
- icon: "ph--link--regular",
85
- disabled: !state.functionUrl
86
- });
87
- return {
88
- nodes: [
89
- errorItem,
90
- deployAction,
91
- copyAction
92
- ],
93
- edges: [
94
- {
95
- source: "root",
96
- target: "error"
97
- },
98
- {
99
- source: "root",
100
- target: "deploy"
101
- },
102
- {
103
- source: "root",
104
- target: "copy"
105
- }
106
- ]
107
- };
108
- };
109
- var useDeployState = ({ state, script }) => {
110
- const { space, client, fn, existingFunctionUrl } = useDeployDeps({
111
- script
112
- });
113
- useEffect(() => {
114
- if (!existingFunctionUrl) {
115
- return;
116
- }
117
- state.functionUrl = getFunctionUrl({
118
- script,
119
- fn,
120
- edgeUrl: client.config.values.runtime?.services?.edge?.url ?? ""
121
- });
122
- }, [
123
- existingFunctionUrl,
124
- space,
125
- fn,
126
- script,
127
- client.config.values.runtime?.services?.edge?.url
128
- ]);
129
- useEffect(() => {
130
- state.deployed = isScriptDeployed({
131
- script,
132
- fn
133
- });
134
- }, [
135
- script.changed,
136
- existingFunctionUrl,
137
- fn,
138
- script
139
- ]);
140
- };
141
- var useDeployDeps = ({ script }) => {
142
- const space = getSpace(script);
143
- const [fn] = useQuery(space, Query.type(FunctionType, {
144
- source: Ref.make(script)
145
- }));
146
- const client = useClient();
147
- const existingFunctionUrl = useMemo(() => fn && getUserFunctionUrlInMetadata(getMeta(fn)), [
148
- fn
149
- ]);
150
- return {
151
- space,
152
- fn,
153
- client,
154
- existingFunctionUrl
155
- };
156
- };
157
-
158
- // src/hooks/useToolbarState.ts
159
- import { useMemo as useMemo2 } from "react";
160
- import { live } from "@dxos/live-object";
161
- var useToolbarState = (initialState = {}) => {
162
- return useMemo2(() => live(initialState), []);
163
- };
164
-
165
- // src/hooks/format.ts
166
- import { format } from "prettier";
167
- import prettierPluginEstree from "prettier/plugins/estree";
168
- import prettierPluginTypescript from "prettier/plugins/typescript";
169
- import { log as log2 } from "@dxos/log";
170
- import { createMenuAction as createMenuAction2 } from "@dxos/react-ui-menu";
171
- var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/hooks/format.ts";
172
- var createFormat = (script) => {
173
- const formatAction = createMenuAction2("format", async () => {
174
- if (!script.source) {
175
- return;
176
- }
177
- try {
178
- script.source.target.content = await format(script.source.target.content, {
179
- parser: "typescript",
180
- plugins: [
181
- prettierPluginEstree,
182
- prettierPluginTypescript
183
- ],
184
- semi: true,
185
- singleQuote: true
186
- });
187
- } catch (err) {
188
- log2.catch(err, void 0, {
189
- F: __dxlog_file2,
190
- L: 34,
191
- S: void 0,
192
- C: (f, a) => f(...a)
193
- });
194
- }
195
- }, {
196
- label: [
197
- "format label",
198
- {
199
- ns: SCRIPT_PLUGIN
200
- }
201
- ],
202
- icon: "ph--magic-wand--regular"
203
- });
204
- return {
205
- nodes: [
206
- formatAction
207
- ],
208
- edges: [
209
- {
210
- source: "root",
211
- target: "format"
212
- }
213
- ]
214
- };
215
- };
216
-
217
- // src/hooks/template.ts
218
- import { Obj } from "@dxos/echo";
219
- import { FUNCTIONS_PRESET_META_KEY } from "@dxos/functions";
220
- import { createMenuAction as createMenuAction3, createMenuItemGroup } from "@dxos/react-ui-menu";
221
- var createTemplateSelectGroup = () => {
222
- return createMenuItemGroup("template-select", {
223
- label: [
224
- "template select group label",
225
- {
226
- ns: SCRIPT_PLUGIN
227
- }
228
- ],
229
- variant: "dropdownMenu"
230
- });
231
- };
232
- var createTemplateSelectActions = (script) => {
233
- return templates.map((template) => {
234
- return createMenuAction3(`template--${template.id}`, () => {
235
- script.name = template.name;
236
- script.source.target.content = template.source;
237
- const metaKeys = Obj.getMeta(script).keys;
238
- const oldPresetIndex = metaKeys.findIndex((key) => key.source === FUNCTIONS_PRESET_META_KEY);
239
- if (oldPresetIndex >= 0) {
240
- metaKeys.splice(oldPresetIndex, 1);
241
- }
242
- if (template.presetId) {
243
- metaKeys.push({
244
- source: FUNCTIONS_PRESET_META_KEY,
245
- id: template.presetId
246
- });
247
- }
248
- }, {
249
- label: template.name,
250
- value: template.id,
251
- type: "template"
252
- });
253
- });
254
- };
255
- var createTemplateSelect = (script) => {
256
- const templateSelectGroup = createTemplateSelectGroup();
257
- const templateSelectActions = createTemplateSelectActions(script);
258
- return {
259
- nodes: [
260
- templateSelectGroup,
261
- ...templateSelectActions
262
- ],
263
- edges: [
264
- {
265
- source: "root",
266
- target: "template-select"
267
- },
268
- ...templateSelectActions.map((action) => ({
269
- source: "template-select",
270
- target: action.id
271
- }))
272
- ]
273
- };
274
- };
275
-
276
- export {
277
- createDeploy,
278
- useDeployState,
279
- useDeployDeps,
280
- createFormat,
281
- createTemplateSelect,
282
- useToolbarState
283
- };
284
- //# sourceMappingURL=chunk-7L4JDSXJ.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/hooks/deploy.ts", "../../../src/hooks/useToolbarState.ts", "../../../src/hooks/format.ts", "../../../src/hooks/template.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { useEffect, useMemo } from 'react';\n\nimport { FunctionType, type ScriptType, getUserFunctionUrlInMetadata } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { type Client, useClient } from '@dxos/react-client';\nimport { Query, Ref, type Space, getMeta, 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/react-ui-theme';\n\nimport { SCRIPT_PLUGIN } 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\nexport type CreateDeployOptions = {\n state: Partial<DeployState>;\n script: ScriptType;\n fn: FunctionType;\n space?: Space;\n existingFunctionUrl?: string;\n client: Client;\n t: TFunction;\n};\n\nexport const createDeploy = ({ state, script, space, fn, client, existingFunctionUrl, t }: CreateDeployOptions) => {\n // TODO(wittjosiah): Should this be an action?\n const errorItem = createMenuAction('error', () => {}, {\n label: state.error ?? ['no error label', { ns: SCRIPT_PLUGIN }],\n icon: 'ph--warning-circle--regular',\n hidden: !state.error,\n classNames: state.error && errorMessageColors,\n });\n\n const deployAction = createMenuAction<DeployActionProperties>(\n 'deploy',\n async () => {\n if (!script.source || !space) {\n return;\n }\n\n state.error = undefined;\n state.deploying = true;\n\n const result = await deployScript({ script, client, space, fn, existingFunctionUrl });\n\n if (!result.success) {\n log.catch(result.error);\n state.error = t('upload failed label');\n }\n\n state.deploying = false;\n },\n {\n type: 'deploy',\n label: [state.deploying ? 'pending label' : 'deploy label', { ns: SCRIPT_PLUGIN }],\n icon: state.deploying ? 'ph--spinner-gap--regular' : 'ph--cloud-arrow-up--regular',\n disabled: state.deploying,\n classNames: state.deploying ? '[&_svg]:animate-spin' : '',\n },\n );\n\n const copyAction = createMenuAction<DeployActionProperties>(\n 'copy',\n async () => {\n if (!state.functionUrl) {\n return;\n }\n await navigator.clipboard.writeText(state.functionUrl);\n },\n {\n type: 'copy',\n label: ['copy link label', { ns: SCRIPT_PLUGIN }],\n icon: 'ph--link--regular',\n disabled: !state.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: Partial<DeployState>; script: ScriptType }) => {\n const { space, client, fn, existingFunctionUrl } = useDeployDeps({ script });\n useEffect(() => {\n if (!existingFunctionUrl) {\n return;\n }\n\n state.functionUrl = getFunctionUrl({\n script,\n fn,\n edgeUrl: client.config.values.runtime?.services?.edge?.url ?? '',\n });\n }, [existingFunctionUrl, space, fn, script, client.config.values.runtime?.services?.edge?.url]);\n\n useEffect(() => {\n state.deployed = isScriptDeployed({ script, fn });\n }, [script.changed, existingFunctionUrl, fn, script]);\n};\n\nexport const useDeployDeps = ({ script }: { script: ScriptType }) => {\n const space = getSpace(script);\n const [fn] = useQuery(space, Query.type(FunctionType, { source: Ref.make(script) }));\n const client = useClient();\n const existingFunctionUrl = useMemo(() => fn && getUserFunctionUrlInMetadata(getMeta(fn)), [fn]);\n return { space, fn, client, existingFunctionUrl };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { live } from '@dxos/live-object';\n\nimport { type DeployState } from './deploy';\n\nexport type ScriptToolbarState = Partial<DeployState>;\n\n// TODO(burdon): Replace with context provider?\nexport const useToolbarState = (initialState: ScriptToolbarState = {}) => {\n return useMemo(() => live<ScriptToolbarState>(initialState), []);\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 { type ScriptType } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { createMenuAction } from '@dxos/react-ui-menu';\n\nimport { SCRIPT_PLUGIN } from '../meta';\n\nexport type FormatActionProperties = { type: 'format' };\n\nexport const createFormat = (script: ScriptType) => {\n const formatAction = createMenuAction(\n 'format',\n async () => {\n if (!script.source) {\n return;\n }\n\n try {\n script.source.target!.content = await format(script.source.target!.content, {\n parser: 'typescript',\n plugins: [prettierPluginEstree, prettierPluginTypescript],\n semi: true,\n singleQuote: true,\n });\n } catch (err: any) {\n // TODO(wittjosiah): Show error in UI.\n log.catch(err);\n }\n },\n {\n label: ['format label', { ns: SCRIPT_PLUGIN }],\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 ScriptType } from '@dxos/functions';\nimport { createMenuAction, createMenuItemGroup } from '@dxos/react-ui-menu';\n\nimport { SCRIPT_PLUGIN } from '../meta';\nimport { templates } from '../templates';\n\nexport type TemplateActionProperties = { type: 'template'; value: string };\n\nconst createTemplateSelectGroup = () => {\n return createMenuItemGroup('template-select', {\n label: ['template select group label', { ns: SCRIPT_PLUGIN }],\n variant: 'dropdownMenu',\n });\n};\n\nconst createTemplateSelectActions = (script: ScriptType) => {\n return templates.map((template) => {\n return createMenuAction<TemplateActionProperties>(\n `template--${template.id}`,\n () => {\n script.name = template.name;\n script.source!.target!.content = template.source;\n const metaKeys = Obj.getMeta(script).keys;\n const oldPresetIndex = metaKeys.findIndex((key) => key.source === FUNCTIONS_PRESET_META_KEY);\n if (oldPresetIndex >= 0) {\n metaKeys.splice(oldPresetIndex, 1);\n }\n if (template.presetId) {\n metaKeys.push({ source: FUNCTIONS_PRESET_META_KEY, id: template.presetId });\n }\n },\n {\n label: template.name,\n value: template.id,\n type: 'template',\n },\n );\n });\n};\n\nexport const createTemplateSelect = (script: ScriptType) => {\n const templateSelectGroup = createTemplateSelectGroup();\n const templateSelectActions = createTemplateSelectActions(script);\n return {\n nodes: [templateSelectGroup, ...templateSelectActions],\n edges: [\n { source: 'root', target: 'template-select' },\n ...templateSelectActions.map((action) => ({ source: 'template-select', target: action.id })),\n ],\n };\n};\n"],
5
- "mappings": "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",
6
- "names": ["useEffect", "useMemo", "FunctionType", "getUserFunctionUrlInMetadata", "log", "useClient", "Query", "Ref", "getMeta", "getSpace", "useQuery", "createMenuAction", "errorMessageColors", "createDeploy", "state", "script", "space", "fn", "client", "existingFunctionUrl", "t", "errorItem", "createMenuAction", "label", "error", "ns", "SCRIPT_PLUGIN", "icon", "hidden", "classNames", "errorMessageColors", "deployAction", "source", "undefined", "deploying", "result", "deployScript", "success", "log", "catch", "type", "disabled", "copyAction", "functionUrl", "navigator", "clipboard", "writeText", "nodes", "edges", "target", "useDeployState", "useDeployDeps", "useEffect", "getFunctionUrl", "edgeUrl", "config", "values", "runtime", "services", "edge", "url", "deployed", "isScriptDeployed", "changed", "getSpace", "useQuery", "Query", "FunctionType", "Ref", "make", "useClient", "useMemo", "getUserFunctionUrlInMetadata", "getMeta", "useMemo", "live", "useToolbarState", "initialState", "useMemo", "live", "format", "prettierPluginEstree", "prettierPluginTypescript", "log", "createMenuAction", "createFormat", "script", "formatAction", "createMenuAction", "source", "target", "content", "format", "parser", "plugins", "prettierPluginEstree", "prettierPluginTypescript", "semi", "singleQuote", "err", "log", "catch", "label", "ns", "SCRIPT_PLUGIN", "icon", "nodes", "edges", "Obj", "FUNCTIONS_PRESET_META_KEY", "createMenuAction", "createMenuItemGroup", "createTemplateSelectGroup", "createMenuItemGroup", "label", "ns", "SCRIPT_PLUGIN", "variant", "createTemplateSelectActions", "script", "templates", "map", "template", "createMenuAction", "id", "name", "source", "target", "content", "metaKeys", "Obj", "getMeta", "keys", "oldPresetIndex", "findIndex", "key", "FUNCTIONS_PRESET_META_KEY", "splice", "presetId", "push", "value", "type", "createTemplateSelect", "templateSelectGroup", "templateSelectActions", "nodes", "edges", "action"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const SCRIPT_PLUGIN = 'dxos.org/plugin/script';\n\nexport const meta: PluginMeta = {\n id: SCRIPT_PLUGIN,\n name: 'Scripts',\n description:\n 'Scripts in Composer allow 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’s or external data inside of Composer.',\n icon: 'ph--code--regular',\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": ";;;AAMO,IAAMA,gBAAgB;AAEtB,IAAMC,OAAmB;EAC9BC,IAAIF;EACJG,MAAM;EACNC,aACE;EACFC,MAAM;EACNC,QAAQ;EACRC,MAAM;IAAC;;EACPC,aAAa;IAAC;;AAChB;AAGO,IAAMC,+BAAyD;;EAEpE,aAAa;IAAC;;AAChB;",
6
- "names": ["SCRIPT_PLUGIN", "meta", "id", "name", "description", "icon", "source", "tags", "screenshots", "defaultScriptsForIntegration"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/DeploymentDialog/DeploymentDialog.tsx", "../../../src/components/DeploymentDialog/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useEffect, useMemo } from 'react';\n\nimport { LayoutAction, createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { Button, Dialog, Icon, useTranslation } from '@dxos/react-ui';\nimport { type DataType } from '@dxos/schema';\n\nimport { useCreateAndDeployScriptTemplates } from '../../hooks/useCreateAndDeployScriptTemplates';\nimport { SCRIPT_PLUGIN } from '../../meta';\nimport { type Template } from '../../templates';\n\nexport const DEPLOYMENT_DIALOG = `${SCRIPT_PLUGIN}/deployment/dialog`;\n\n// TODO(ZaymonFC):\n// - Show activity and feedback to the user.\n// - Only take an array of templateIds and get the name from the data.\n// - Pending / onError states.\n\ntype DeploymentDialogProps = {\n accessToken: DataType.AccessToken;\n scriptTemplates: Template[];\n};\n\nexport const DeploymentDialog = ({ accessToken, scriptTemplates }: DeploymentDialogProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n const space = useMemo(() => getSpace(accessToken), [accessToken]);\n\n // TODO(ZaymonFC): Thinking further. All of this should get moved to intents to run async in the background.\n // Deployment shouldn't be tied to the lifecycle of the dialogue component.\n const { handleCreateAndDeployScripts, status } = useCreateAndDeployScriptTemplates(space, scriptTemplates);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n\n useEffect(() => {\n if (status === 'success') {\n // TODO(ZaymonFC): We can probably re-use this toast for normal script deployment.\n void dispatch(\n createIntent(LayoutAction.AddToast, {\n part: 'toast',\n subject: {\n id: `${SCRIPT_PLUGIN}/deployment-success`,\n icon: 'ph--check--regular',\n duration: Infinity,\n title: ['script deployment toast label', { ns: SCRIPT_PLUGIN, count: scriptTemplates.length }],\n description: ['script deployment toast description', { ns: SCRIPT_PLUGIN, count: scriptTemplates.length }],\n closeLabel: ['script deployment toast close label', { ns: SCRIPT_PLUGIN, count: scriptTemplates.length }],\n },\n }),\n );\n void dispatch(createIntent(LayoutAction.UpdateDialog, { part: 'dialog', options: { state: false } }));\n }\n if (status === 'error') {\n void dispatch(createIntent(LayoutAction.UpdateDialog, { part: 'dialog', options: { state: false } }));\n void dispatch(\n createIntent(LayoutAction.AddToast, {\n part: 'toast',\n subject: {\n id: `${SCRIPT_PLUGIN}/deployment-error`,\n icon: 'ph--warning--regular',\n duration: Infinity,\n title: ['script deployment error toast label', { ns: SCRIPT_PLUGIN, count: scriptTemplates.length }],\n description: [\n 'script deployment error toast description',\n { ns: SCRIPT_PLUGIN, count: scriptTemplates.length },\n ],\n closeLabel: [\n 'script deployment error toast close label',\n { ns: SCRIPT_PLUGIN, count: scriptTemplates.length },\n ],\n },\n }),\n );\n }\n }, [status, dispatch]);\n\n return (\n <Dialog.Content>\n <div className='flex justify-between items-center'>\n <Dialog.Title>{t('deployment dialog title')}</Dialog.Title>\n <Dialog.Close asChild>\n <Button density='fine' variant='ghost'>\n <Icon icon='ph--x--regular' size={4} />\n </Button>\n </Dialog.Close>\n </div>\n <div role='none' className='plb-4'>\n {/* TODO: Implement deployment logic and UI. */}\n <p>{t('deployment dialog scripts found message', { count: scriptTemplates.length })}</p>\n <ul className='pbs-2'>\n {scriptTemplates.map((template) => {\n return <li key={template.id}>{template.name}</li>;\n })}\n </ul>\n </div>\n <div role='none' className='flex flex-row-reverse gap-1'>\n <Button variant='primary' onClick={handleCreateAndDeployScripts} disabled={status === 'pending'}>\n {status === 'pending'\n ? t('deployment dialog deploy functions pending button label', { count: scriptTemplates.length })\n : t('deployment dialog deploy functions button label', { count: scriptTemplates.length })}\n </Button>\n <Dialog.Close asChild disabled={status === 'pending'}>\n <Button disabled={status === 'pending'}>{t('deployment dialog skip button label')}</Button>\n </Dialog.Close>\n </div>\n </Dialog.Content>\n );\n};\n\nexport default DeploymentDialog;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { DEPLOYMENT_DIALOG, DeploymentDialog } from './DeploymentDialog';\n\nexport { DEPLOYMENT_DIALOG };\n\nexport default DeploymentDialog;\n"],
5
- "mappings": "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",
6
- "names": ["React", "useEffect", "useMemo", "LayoutAction", "createIntent", "useIntentDispatcher", "getSpace", "Button", "Dialog", "Icon", "useTranslation", "DEPLOYMENT_DIALOG", "SCRIPT_PLUGIN", "DeploymentDialog", "accessToken", "scriptTemplates", "t", "useTranslation", "space", "useMemo", "getSpace", "handleCreateAndDeployScripts", "status", "useCreateAndDeployScriptTemplates", "dispatchPromise", "dispatch", "useIntentDispatcher", "useEffect", "createIntent", "LayoutAction", "AddToast", "part", "subject", "id", "icon", "duration", "Infinity", "title", "ns", "count", "length", "description", "closeLabel", "UpdateDialog", "options", "state", "Dialog", "Content", "div", "className", "Title", "Close", "asChild", "Button", "density", "variant", "Icon", "size", "role", "p", "ul", "map", "template", "li", "key", "name", "onClick", "disabled", "DeploymentDialog"]
7
- }
@@ -1,40 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- meta
4
- } from "./chunk-AHXJ6NQU.mjs";
5
-
6
- // src/types/schema.ts
7
- import { Schema } from "effect";
8
- import { SpaceSchema } from "@dxos/client/echo";
9
- import { ScriptType } from "@dxos/functions";
10
- import { EditorInputMode } from "@dxos/react-ui-editor";
11
- (function(ScriptAction2) {
12
- ScriptAction2.CreateScriptSchema = Schema.Struct({
13
- name: Schema.optional(Schema.String),
14
- // TODO(wittjosiah): Placeholder annotation?
15
- gistUrl: Schema.optional(Schema.String.annotations({
16
- title: "Import from Gist (url)"
17
- })),
18
- initialTemplateId: Schema.optional(Schema.String)
19
- });
20
- class Create extends Schema.TaggedClass()(`${meta.id}/action/create`, {
21
- input: Schema.extend(ScriptAction2.CreateScriptSchema, Schema.Struct({
22
- space: SpaceSchema
23
- })),
24
- output: Schema.Struct({
25
- object: ScriptType
26
- })
27
- }) {
28
- }
29
- ScriptAction2.Create = Create;
30
- })(ScriptAction || (ScriptAction = {}));
31
- var ScriptSettingsSchema = Schema.mutable(Schema.Struct({
32
- editorInputMode: EditorInputMode
33
- }));
34
- var ScriptAction;
35
-
36
- export {
37
- ScriptSettingsSchema,
38
- ScriptAction
39
- };
40
- //# sourceMappingURL=chunk-JIPFLBYA.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/schema.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { SpaceSchema } from '@dxos/client/echo';\nimport { ScriptType } from '@dxos/functions';\nimport { EditorInputMode } from '@dxos/react-ui-editor';\n\nimport { meta } from '../meta';\n\nexport namespace ScriptAction {\n export const CreateScriptSchema = Schema.Struct({\n name: Schema.optional(Schema.String),\n // TODO(wittjosiah): Placeholder annotation?\n gistUrl: Schema.optional(Schema.String.annotations({ title: 'Import from Gist (url)' })),\n initialTemplateId: Schema.optional(Schema.String),\n });\n\n export type CreateScriptProps = Schema.Schema.Type<typeof CreateScriptSchema>;\n\n export class Create extends Schema.TaggedClass<Create>()(`${meta.id}/action/create`, {\n input: Schema.extend(CreateScriptSchema, Schema.Struct({ space: SpaceSchema })),\n output: Schema.Struct({\n object: ScriptType,\n }),\n }) {}\n}\n\nexport const ScriptSettingsSchema = Schema.mutable(\n Schema.Struct({\n editorInputMode: EditorInputMode,\n }),\n);\n\nexport type ScriptSettingsProps = Schema.Schema.Type<typeof ScriptSettingsSchema>;\n"],
5
- "mappings": ";;;;;;AAIA,SAASA,cAAc;AAEvB,SAASC,mBAAmB;AAC5B,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;UAIfC,eAAAA;gBACFC,qBAAqBC,OAAOC,OAAO;IAC9CC,MAAMF,OAAOG,SAASH,OAAOI,MAAM;;IAEnCC,SAASL,OAAOG,SAASH,OAAOI,OAAOE,YAAY;MAAEC,OAAO;IAAyB,CAAA,CAAA;IACrFC,mBAAmBR,OAAOG,SAASH,OAAOI,MAAM;EAClD,CAAA;EAIO,MAAMK,eAAeT,OAAOU,YAAW,EAAW,GAAGC,KAAKC,EAAE,kBAAkB;IACnFC,OAAOb,OAAOc,OAAMhB,cAACC,oBAAoBC,OAAOC,OAAO;MAAEc,OAAOC;IAAY,CAAA,CAAA;IAC5EC,QAAQjB,OAAOC,OAAO;MACpBiB,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;gBALSV,SAAAA;AAMf,GAhBiBX,iBAAAA,eAAAA,CAAAA,EAAAA;AAkBV,IAAMsB,uBAAuBpB,OAAOqB,QACzCrB,OAAOC,OAAO;EACZqB,iBAAiBC;AACnB,CAAA,CAAA;;",
6
- "names": ["Schema", "SpaceSchema", "ScriptType", "EditorInputMode", "ScriptAction", "CreateScriptSchema", "Schema", "Struct", "name", "optional", "String", "gistUrl", "annotations", "title", "initialTemplateId", "Create", "TaggedClass", "meta", "id", "input", "extend", "space", "SpaceSchema", "output", "object", "ScriptType", "ScriptSettingsSchema", "mutable", "editorInputMode", "EditorInputMode"]
7
- }
@@ -1,234 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- ScriptAction
4
- } from "./chunk-JIPFLBYA.mjs";
5
-
6
- // src/util/functions.ts
7
- import { getInvocationUrl, getUserFunctionUrlInMetadata } from "@dxos/functions";
8
- import { log } from "@dxos/log";
9
- import { getMeta, getSpace } from "@dxos/react-client/echo";
10
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/util/functions.ts";
11
- var getFunctionUrl = ({ script, fn, edgeUrl }) => {
12
- const space = getSpace(script);
13
- const existingFunctionUrl = fn && getUserFunctionUrlInMetadata(getMeta(fn));
14
- if (!existingFunctionUrl) {
15
- return void 0;
16
- }
17
- return getInvocationUrl(existingFunctionUrl, edgeUrl, {
18
- spaceId: space?.id
19
- });
20
- };
21
- var updateFunctionMetadata = (script, storedFunction, meta, functionId) => {
22
- if (script.description !== void 0 && script.description.trim() !== "") {
23
- storedFunction.description = script.description;
24
- } else if (meta.description) {
25
- storedFunction.description = meta.description;
26
- } else {
27
- log.verbose("no description in function metadata", {
28
- functionId
29
- }, {
30
- F: __dxlog_file,
31
- L: 39,
32
- S: void 0,
33
- C: (f, a) => f(...a)
34
- });
35
- }
36
- if (meta.inputSchema) {
37
- storedFunction.inputSchema = meta.inputSchema;
38
- } else {
39
- log.verbose("no input schema in function metadata", {
40
- functionId
41
- }, {
42
- F: __dxlog_file,
43
- L: 45,
44
- S: void 0,
45
- C: (f, a) => f(...a)
46
- });
47
- }
48
- if (meta.outputSchema) {
49
- storedFunction.outputSchema = meta.outputSchema;
50
- } else {
51
- log.verbose("no output schema in function metadata", {
52
- functionId
53
- }, {
54
- F: __dxlog_file,
55
- L: 51,
56
- S: void 0,
57
- C: (f, a) => f(...a)
58
- });
59
- }
60
- };
61
-
62
- // src/util/deploy.ts
63
- import { Obj, Ref } from "@dxos/echo";
64
- import { FunctionType, getUserFunctionUrlInMetadata as getUserFunctionUrlInMetadata2, makeFunctionUrl, setUserFunctionUrlInMetadata } from "@dxos/functions";
65
- import { Bundler } from "@dxos/functions/bundler";
66
- import { incrementSemverPatch, uploadWorkerFunction } from "@dxos/functions/edge";
67
- import { log as log2 } from "@dxos/log";
68
- var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/util/deploy.ts";
69
- var isScriptDeployed = ({ script, fn }) => {
70
- const existingFunctionUrl = fn && getUserFunctionUrlInMetadata2(Obj.getMeta(fn));
71
- return Boolean(existingFunctionUrl) && !script.changed;
72
- };
73
- var deployScript = async ({ script, client, space, fn, existingFunctionUrl }) => {
74
- const validationError = validateDeployInputs(script, space);
75
- if (validationError) {
76
- return {
77
- success: false,
78
- error: validationError
79
- };
80
- }
81
- try {
82
- const existingFunctionId = extractFunctionId(existingFunctionUrl);
83
- const { bundle, error } = await bundleScript(script.source.target.content);
84
- if (error || !bundle) {
85
- throw error || new Error("Bundle creation failed");
86
- }
87
- const { functionId, version, meta } = await uploadWorkerFunction({
88
- client,
89
- ownerPublicKey: space.key,
90
- version: fn ? incrementSemverPatch(fn.version) : "0.0.1",
91
- functionId: existingFunctionId,
92
- source: bundle
93
- });
94
- if (functionId === void 0 || version === void 0) {
95
- throw new Error(`Upload didn't return expected data: ${JSON.stringify({
96
- functionId,
97
- version
98
- })}`);
99
- }
100
- const storedFunction = createOrUpdateFunctionInSpace(space, fn, script, functionId, version);
101
- script.changed = false;
102
- updateFunctionMetadata(script, storedFunction, meta, functionId);
103
- const functionUrl = makeFunctionUrl({
104
- functionId
105
- });
106
- setUserFunctionUrlInMetadata(Obj.getMeta(storedFunction), functionUrl);
107
- return {
108
- success: true,
109
- functionUrl
110
- };
111
- } catch (err) {
112
- log2.catch(err, void 0, {
113
- F: __dxlog_file2,
114
- L: 80,
115
- S: void 0,
116
- C: (f, a) => f(...a)
117
- });
118
- return {
119
- success: false,
120
- error: err
121
- };
122
- }
123
- };
124
- var validateDeployInputs = (script, space) => {
125
- if (!script.source || !space) {
126
- return new Error("Script source or space not available");
127
- }
128
- return null;
129
- };
130
- var extractFunctionId = (functionUrl) => {
131
- return functionUrl?.split("/").at(-1);
132
- };
133
- var bundleScript = async (source) => {
134
- const bundler = new Bundler({
135
- platform: "browser",
136
- sandboxedModules: [],
137
- remoteModules: {}
138
- });
139
- const buildResult = await bundler.bundle({
140
- source
141
- });
142
- if (buildResult.error || !buildResult.bundle) {
143
- return {
144
- error: buildResult.error || new Error("Bundle creation failed")
145
- };
146
- }
147
- return {
148
- bundle: buildResult.bundle
149
- };
150
- };
151
- var createOrUpdateFunctionInSpace = (space, fn, script, functionId, version) => {
152
- if (fn) {
153
- fn.version = version;
154
- return fn;
155
- } else {
156
- return space.db.add(Obj.make(FunctionType, {
157
- name: functionId,
158
- version,
159
- source: Ref.make(script)
160
- }));
161
- }
162
- };
163
-
164
- // src/hooks/useCreateAndDeployScriptTemplates.ts
165
- import { pipe } from "effect/Function";
166
- import { useCallback, useState } from "react";
167
- import { chain, createIntent, useIntentDispatcher } from "@dxos/app-framework";
168
- import { Obj as Obj2 } from "@dxos/echo";
169
- import { ScriptType } from "@dxos/functions";
170
- import { invariant } from "@dxos/invariant";
171
- import { SpaceAction } from "@dxos/plugin-space/types";
172
- import { useClient } from "@dxos/react-client";
173
- var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/hooks/useCreateAndDeployScriptTemplates.ts";
174
- var useCreateAndDeployScriptTemplates = (space, scriptTemplates) => {
175
- const { dispatchPromise: dispatch } = useIntentDispatcher();
176
- const client = useClient();
177
- const [status, setStatus] = useState("idle");
178
- const [error, setError] = useState(void 0);
179
- const handleCreateAndDeployScripts = useCallback(async () => {
180
- invariant(space, void 0, {
181
- F: __dxlog_file3,
182
- L: 36,
183
- S: void 0,
184
- A: [
185
- "space",
186
- ""
187
- ]
188
- });
189
- setStatus("pending");
190
- setError(void 0);
191
- const deploymentResults = await Promise.all(scriptTemplates.map(async (template) => {
192
- const result = await dispatch(pipe(createIntent(ScriptAction.Create, {
193
- space,
194
- initialTemplateId: template.id
195
- }), chain(SpaceAction.AddObject, {
196
- target: space
197
- })));
198
- invariant(Obj2.instanceOf(ScriptType, result.data?.object), void 0, {
199
- F: __dxlog_file3,
200
- L: 48,
201
- S: void 0,
202
- A: [
203
- "Obj.instanceOf(ScriptType, result.data?.object)",
204
- ""
205
- ]
206
- });
207
- return deployScript({
208
- space,
209
- client,
210
- script: result.data.object
211
- });
212
- }));
213
- const hasErrors = deploymentResults.some((result) => !result.success);
214
- setStatus(hasErrors ? "error" : "success");
215
- }, [
216
- space,
217
- dispatch,
218
- client,
219
- scriptTemplates
220
- ]);
221
- return {
222
- handleCreateAndDeployScripts,
223
- status,
224
- error
225
- };
226
- };
227
-
228
- export {
229
- getFunctionUrl,
230
- isScriptDeployed,
231
- deployScript,
232
- useCreateAndDeployScriptTemplates
233
- };
234
- //# sourceMappingURL=chunk-PACUN7RS.mjs.map