@dxos/plugin-script 0.8.4-main.5ea62a8 → 0.8.4-main.66e292d

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 (285) hide show
  1. package/dist/lib/browser/DeploymentDialog-5TKNGPVR.mjs +14 -0
  2. package/dist/lib/browser/NotebookContainer-MHY3DXDE.mjs +817 -0
  3. package/dist/lib/browser/NotebookContainer-MHY3DXDE.mjs.map +7 -0
  4. package/dist/lib/browser/ScriptContainer-CW6YN3DQ.mjs +148 -0
  5. package/dist/lib/browser/ScriptContainer-CW6YN3DQ.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-AR7ITBCD.mjs → blueprint-definition-6PZWZM2Y.mjs} +5 -3
  9. package/dist/lib/{node-esm/blueprint-definition-TJY4TX6S.mjs.map → browser/blueprint-definition-6PZWZM2Y.mjs.map} +1 -1
  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-ALS6X4HU.mjs +304 -0
  13. package/dist/lib/browser/chunk-ALS6X4HU.mjs.map +7 -0
  14. package/dist/lib/browser/{chunk-QYAREHGH.mjs → chunk-EB6AXFXO.mjs} +8 -5
  15. package/dist/lib/browser/chunk-EB6AXFXO.mjs.map +7 -0
  16. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  17. package/dist/lib/browser/chunk-M6KJPUJK.mjs +111 -0
  18. package/dist/lib/browser/chunk-M6KJPUJK.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-TH7GXPE3.mjs → chunk-N5EYLQOT.mjs} +150 -59
  20. package/dist/lib/browser/chunk-N5EYLQOT.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-QIZ3BPRK.mjs +103 -0
  22. package/dist/lib/browser/chunk-QIZ3BPRK.mjs.map +7 -0
  23. package/dist/lib/browser/{chunk-YCZPTTFO.mjs → chunk-SAN5Y7FI.mjs} +23 -21
  24. package/dist/lib/browser/chunk-SAN5Y7FI.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-ULJFT73Q.mjs +513 -0
  26. package/dist/lib/browser/chunk-ULJFT73Q.mjs.map +7 -0
  27. package/dist/lib/browser/{chunk-5TVBECWH.mjs → chunk-UOQ6NCH3.mjs} +2 -2
  28. package/dist/lib/browser/{compiler-2HJH34GM.mjs → compiler-4KHRSX7J.mjs} +13 -25
  29. package/dist/lib/browser/compiler-4KHRSX7J.mjs.map +7 -0
  30. package/dist/lib/browser/index.mjs +108 -50
  31. package/dist/lib/browser/index.mjs.map +3 -3
  32. package/dist/lib/browser/{intent-resolver-YMK5SXVC.mjs → intent-resolver-TXTBWOVD.mjs} +38 -23
  33. package/dist/lib/browser/intent-resolver-TXTBWOVD.mjs.map +7 -0
  34. package/dist/lib/browser/meta.json +1 -1
  35. package/dist/lib/browser/{react-surface-FEM5WWFH.mjs → react-surface-R245YN52.mjs} +45 -21
  36. package/dist/lib/browser/react-surface-R245YN52.mjs.map +7 -0
  37. package/dist/lib/browser/{settings-KCTBK5TY.mjs → settings-MHJXRGDF.mjs} +10 -8
  38. package/dist/lib/browser/settings-MHJXRGDF.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-2ULNOZQH.mjs +15 -0
  42. package/dist/lib/node-esm/DeploymentDialog-2ULNOZQH.mjs.map +7 -0
  43. package/dist/lib/node-esm/NotebookContainer-U4C2HQ4T.mjs +818 -0
  44. package/dist/lib/node-esm/NotebookContainer-U4C2HQ4T.mjs.map +7 -0
  45. package/dist/lib/node-esm/ScriptContainer-VRPEKB4T.mjs +149 -0
  46. package/dist/lib/node-esm/ScriptContainer-VRPEKB4T.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-TJY4TX6S.mjs → blueprint-definition-5R6YCSZZ.mjs} +4 -3
  50. package/dist/lib/{browser/blueprint-definition-AR7ITBCD.mjs.map → node-esm/blueprint-definition-5R6YCSZZ.mjs.map} +1 -1
  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-ZA36GO4T.mjs → chunk-ND4BPYPR.mjs} +23 -21
  61. package/dist/lib/node-esm/chunk-ND4BPYPR.mjs.map +7 -0
  62. package/dist/lib/node-esm/{chunk-6M2R2FQF.mjs → chunk-UEVZP5DN.mjs} +150 -59
  63. package/dist/lib/node-esm/chunk-UEVZP5DN.mjs.map +7 -0
  64. package/dist/lib/node-esm/chunk-VJSRZRLI.mjs +514 -0
  65. package/dist/lib/node-esm/chunk-VJSRZRLI.mjs.map +7 -0
  66. package/dist/lib/node-esm/chunk-VTRMJSQL.mjs +305 -0
  67. package/dist/lib/node-esm/chunk-VTRMJSQL.mjs.map +7 -0
  68. package/dist/lib/node-esm/chunk-XYKKDWUR.mjs +104 -0
  69. package/dist/lib/node-esm/chunk-XYKKDWUR.mjs.map +7 -0
  70. package/dist/lib/node-esm/{compiler-7SP27RA6.mjs → compiler-DU5NQISX.mjs} +13 -25
  71. package/dist/lib/node-esm/compiler-DU5NQISX.mjs.map +7 -0
  72. package/dist/lib/node-esm/index.mjs +108 -50
  73. package/dist/lib/node-esm/index.mjs.map +3 -3
  74. package/dist/lib/node-esm/{intent-resolver-SKRDYQCZ.mjs → intent-resolver-D6AVAQRA.mjs} +38 -23
  75. package/dist/lib/node-esm/intent-resolver-D6AVAQRA.mjs.map +7 -0
  76. package/dist/lib/node-esm/meta.json +1 -1
  77. package/dist/lib/node-esm/{react-surface-AOKMDJR4.mjs → react-surface-MHT3PJ6C.mjs} +45 -21
  78. package/dist/lib/node-esm/react-surface-MHT3PJ6C.mjs.map +7 -0
  79. package/dist/lib/node-esm/{settings-DXZ334A3.mjs → settings-BVJORMMJ.mjs} +10 -8
  80. package/dist/lib/node-esm/settings-BVJORMMJ.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.map +1 -1
  86. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  87. package/dist/types/src/capabilities/blueprint-definition.d.ts +1 -1
  88. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  89. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  90. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts +3 -3
  91. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +1 -1
  92. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +113 -7
  93. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -1
  94. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts +1 -1
  95. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -1
  96. package/dist/types/src/components/NotebookContainer.d.ts +10 -0
  97. package/dist/types/src/components/NotebookContainer.d.ts.map +1 -0
  98. package/dist/types/src/components/NotebookContainer.stories.d.ts +254 -0
  99. package/dist/types/src/components/NotebookContainer.stories.d.ts.map +1 -0
  100. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts +15 -0
  101. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -0
  102. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts +9 -0
  103. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts.map +1 -0
  104. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +14 -0
  105. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -0
  106. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +248 -0
  107. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -0
  108. package/dist/types/src/components/NotebookStack/index.d.ts +3 -0
  109. package/dist/types/src/components/NotebookStack/index.d.ts.map +1 -0
  110. package/dist/types/src/components/ScriptContainer.d.ts +4 -4
  111. package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
  112. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +5 -6
  113. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  114. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +240 -2
  115. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  116. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +2 -2
  117. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +1 -1
  118. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts +2 -2
  119. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +1 -1
  120. package/dist/types/src/components/TestPanel/TestContainer.d.ts +2 -2
  121. package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +1 -1
  122. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
  123. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +4 -2
  124. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  125. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +3 -3
  126. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  127. package/dist/types/src/components/index.d.ts +2 -0
  128. package/dist/types/src/components/index.d.ts.map +1 -1
  129. package/dist/types/src/events.d.ts.map +1 -1
  130. package/dist/types/src/hooks/deploy.d.ts +14 -12
  131. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  132. package/dist/types/src/hooks/format.d.ts +2 -2
  133. package/dist/types/src/hooks/format.d.ts.map +1 -1
  134. package/dist/types/src/hooks/template.d.ts +4 -14
  135. package/dist/types/src/hooks/template.d.ts.map +1 -1
  136. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  137. package/dist/types/src/index.d.ts +1 -0
  138. package/dist/types/src/index.d.ts.map +1 -1
  139. package/dist/types/src/meta.d.ts +0 -1
  140. package/dist/types/src/meta.d.ts.map +1 -1
  141. package/dist/types/src/notebook/compute-graph.d.ts +45 -0
  142. package/dist/types/src/notebook/compute-graph.d.ts.map +1 -0
  143. package/dist/types/src/notebook/compute-graph.test.d.ts +2 -0
  144. package/dist/types/src/notebook/compute-graph.test.d.ts.map +1 -0
  145. package/dist/types/src/notebook/eval.d.ts +13 -0
  146. package/dist/types/src/notebook/eval.d.ts.map +1 -0
  147. package/dist/types/src/notebook/index.d.ts +2 -0
  148. package/dist/types/src/notebook/index.d.ts.map +1 -0
  149. package/dist/types/src/notebook/vfs-parser.d.ts +74 -0
  150. package/dist/types/src/notebook/vfs-parser.d.ts.map +1 -0
  151. package/dist/types/src/notebook/vfs-parser.test.d.ts +2 -0
  152. package/dist/types/src/notebook/vfs-parser.test.d.ts.map +1 -0
  153. package/dist/types/src/templates/chess.d.ts.map +1 -1
  154. package/dist/types/src/templates/data-generator.d.ts.map +1 -1
  155. package/dist/types/src/templates/discord.d.ts.map +1 -1
  156. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  157. package/dist/types/src/templates/forex.d.ts.map +1 -1
  158. package/dist/types/src/templates/gmail.d.ts.map +1 -1
  159. package/dist/types/src/templates/index.d.ts +43 -1
  160. package/dist/types/src/templates/index.d.ts.map +1 -1
  161. package/dist/types/src/templates/{echo.d.ts → ping.d.ts} +1 -1
  162. package/dist/types/src/templates/ping.d.ts.map +1 -0
  163. package/dist/types/src/testing/data.d.ts +3 -0
  164. package/dist/types/src/testing/data.d.ts.map +1 -0
  165. package/dist/types/src/testing/index.d.ts +2 -0
  166. package/dist/types/src/testing/index.d.ts.map +1 -0
  167. package/dist/types/src/translations.d.ts +31 -5
  168. package/dist/types/src/translations.d.ts.map +1 -1
  169. package/dist/types/src/types/Notebook.d.ts +31 -0
  170. package/dist/types/src/types/Notebook.d.ts.map +1 -0
  171. package/dist/types/src/types/actions.d.ts +54 -0
  172. package/dist/types/src/types/actions.d.ts.map +1 -0
  173. package/dist/types/src/types/index.d.ts +3 -1
  174. package/dist/types/src/types/index.d.ts.map +1 -1
  175. package/dist/types/src/types/types.d.ts +6 -0
  176. package/dist/types/src/types/types.d.ts.map +1 -0
  177. package/dist/types/src/util/deploy.d.ts +4 -4
  178. package/dist/types/src/util/deploy.d.ts.map +1 -1
  179. package/dist/types/src/util/functions.d.ts +6 -3
  180. package/dist/types/src/util/functions.d.ts.map +1 -1
  181. package/dist/types/tsconfig.tsbuildinfo +1 -1
  182. package/package.json +79 -69
  183. package/src/ScriptPlugin.tsx +79 -73
  184. package/src/capabilities/app-graph-builder.ts +10 -9
  185. package/src/capabilities/artifact-definition.ts +2 -3
  186. package/src/capabilities/compiler.ts +1 -1
  187. package/src/capabilities/intent-resolver.ts +20 -11
  188. package/src/capabilities/react-surface.tsx +30 -17
  189. package/src/capabilities/settings.ts +3 -3
  190. package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +13 -6
  191. package/src/components/DeploymentDialog/DeploymentDialog.tsx +41 -30
  192. package/src/components/FrameContainer/FrameContainer.tsx +2 -2
  193. package/src/components/NotebookContainer.stories.tsx +83 -0
  194. package/src/components/NotebookContainer.tsx +260 -0
  195. package/src/components/NotebookStack/NotebookCell.tsx +216 -0
  196. package/src/components/NotebookStack/NotebookMenu.tsx +47 -0
  197. package/src/components/NotebookStack/NotebookStack.stories.tsx +54 -0
  198. package/src/components/NotebookStack/NotebookStack.tsx +86 -0
  199. package/src/components/NotebookStack/index.ts +6 -0
  200. package/src/components/ScriptContainer.tsx +8 -7
  201. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +22 -10
  202. package/src/components/ScriptToolbar/ScriptToolbar.tsx +30 -33
  203. package/src/components/Settings/ScriptObjectSettings.tsx +115 -19
  204. package/src/components/Settings/ScriptPluginSettings.tsx +4 -19
  205. package/src/components/TestPanel/TestContainer.tsx +2 -2
  206. package/src/components/TestPanel/TestPanel.tsx +42 -19
  207. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +71 -16
  208. package/src/components/TypescriptEditor/TypescriptEditor.tsx +36 -35
  209. package/src/components/index.ts +3 -0
  210. package/src/events.ts +2 -2
  211. package/src/hooks/deploy.ts +17 -17
  212. package/src/hooks/format.ts +4 -4
  213. package/src/hooks/template.ts +6 -15
  214. package/src/hooks/useCreateAndDeployScriptTemplates.ts +10 -6
  215. package/src/index.ts +1 -0
  216. package/src/meta.ts +7 -5
  217. package/src/notebook/compute-graph.test.ts +70 -0
  218. package/src/notebook/compute-graph.ts +206 -0
  219. package/src/notebook/eval.ts +105 -0
  220. package/src/notebook/index.ts +5 -0
  221. package/src/notebook/vfs-parser.test.ts +149 -0
  222. package/src/notebook/vfs-parser.ts +451 -0
  223. package/src/templates/chess.ts +2 -0
  224. package/src/templates/data-generator.ts +2 -0
  225. package/src/templates/discord.ts +9 -1
  226. package/src/templates/forex-effect.ts +5 -1
  227. package/src/templates/forex.ts +2 -0
  228. package/src/templates/gmail.ts +22 -11
  229. package/src/templates/index.ts +6 -6
  230. package/src/testing/data.ts +72 -0
  231. package/src/testing/index.ts +5 -0
  232. package/src/translations.ts +34 -7
  233. package/src/types/Notebook.ts +42 -0
  234. package/src/types/actions.ts +53 -0
  235. package/src/types/index.ts +3 -1
  236. package/src/types/types.ts +15 -0
  237. package/src/util/deploy.ts +14 -18
  238. package/src/util/functions.ts +37 -6
  239. package/dist/lib/browser/DeploymentDialog-QZSTVNIS.mjs +0 -12
  240. package/dist/lib/browser/ScriptContainer-JUPCBUCP.mjs +0 -263
  241. package/dist/lib/browser/ScriptContainer-JUPCBUCP.mjs.map +0 -7
  242. package/dist/lib/browser/app-graph-builder-IABOSTBK.mjs.map +0 -7
  243. package/dist/lib/browser/chunk-6CAH7VIE.mjs +0 -283
  244. package/dist/lib/browser/chunk-6CAH7VIE.mjs.map +0 -7
  245. package/dist/lib/browser/chunk-IS4OG2UW.mjs +0 -39
  246. package/dist/lib/browser/chunk-IS4OG2UW.mjs.map +0 -7
  247. package/dist/lib/browser/chunk-NXKU3BNX.mjs +0 -222
  248. package/dist/lib/browser/chunk-NXKU3BNX.mjs.map +0 -7
  249. package/dist/lib/browser/chunk-QYAREHGH.mjs.map +0 -7
  250. package/dist/lib/browser/chunk-RNGIQIEJ.mjs +0 -88
  251. package/dist/lib/browser/chunk-RNGIQIEJ.mjs.map +0 -7
  252. package/dist/lib/browser/chunk-TH7GXPE3.mjs.map +0 -7
  253. package/dist/lib/browser/chunk-YCZPTTFO.mjs.map +0 -7
  254. package/dist/lib/browser/compiler-2HJH34GM.mjs.map +0 -7
  255. package/dist/lib/browser/intent-resolver-YMK5SXVC.mjs.map +0 -7
  256. package/dist/lib/browser/react-surface-FEM5WWFH.mjs.map +0 -7
  257. package/dist/lib/browser/settings-KCTBK5TY.mjs.map +0 -7
  258. package/dist/lib/node-esm/DeploymentDialog-G6EHEPXN.mjs +0 -13
  259. package/dist/lib/node-esm/ScriptContainer-UXZUDQF6.mjs +0 -264
  260. package/dist/lib/node-esm/ScriptContainer-UXZUDQF6.mjs.map +0 -7
  261. package/dist/lib/node-esm/app-graph-builder-CQTTAYHP.mjs.map +0 -7
  262. package/dist/lib/node-esm/chunk-2GBESIHU.mjs +0 -284
  263. package/dist/lib/node-esm/chunk-2GBESIHU.mjs.map +0 -7
  264. package/dist/lib/node-esm/chunk-6M2R2FQF.mjs.map +0 -7
  265. package/dist/lib/node-esm/chunk-AHXJ6NQU.mjs.map +0 -7
  266. package/dist/lib/node-esm/chunk-GWHLP5LM.mjs +0 -90
  267. package/dist/lib/node-esm/chunk-GWHLP5LM.mjs.map +0 -7
  268. package/dist/lib/node-esm/chunk-JIPFLBYA.mjs +0 -40
  269. package/dist/lib/node-esm/chunk-JIPFLBYA.mjs.map +0 -7
  270. package/dist/lib/node-esm/chunk-M642JUOZ.mjs +0 -223
  271. package/dist/lib/node-esm/chunk-M642JUOZ.mjs.map +0 -7
  272. package/dist/lib/node-esm/chunk-ZA36GO4T.mjs.map +0 -7
  273. package/dist/lib/node-esm/compiler-7SP27RA6.mjs.map +0 -7
  274. package/dist/lib/node-esm/intent-resolver-SKRDYQCZ.mjs.map +0 -7
  275. package/dist/lib/node-esm/react-surface-AOKMDJR4.mjs.map +0 -7
  276. package/dist/lib/node-esm/settings-DXZ334A3.mjs.map +0 -7
  277. package/dist/types/src/templates/echo.d.ts.map +0 -1
  278. package/dist/types/src/types/schema.d.ts +0 -38
  279. package/dist/types/src/types/schema.d.ts.map +0 -1
  280. package/src/types/schema.ts +0 -37
  281. /package/dist/lib/browser/{DeploymentDialog-QZSTVNIS.mjs.map → DeploymentDialog-5TKNGPVR.mjs.map} +0 -0
  282. /package/dist/lib/{node-esm/DeploymentDialog-G6EHEPXN.mjs.map → browser/chunk-J5LGTIGS.mjs.map} +0 -0
  283. /package/dist/lib/browser/{chunk-5TVBECWH.mjs.map → chunk-UOQ6NCH3.mjs.map} +0 -0
  284. /package/dist/lib/node-esm/{chunk-35M3CHYE.mjs.map → chunk-55JZVM6K.mjs.map} +0 -0
  285. /package/src/templates/{echo.ts → ping.ts} +0 -0
@@ -1,21 +1,22 @@
1
1
  import {
2
2
  useCreateAndDeployScriptTemplates
3
- } from "./chunk-NXKU3BNX.mjs";
3
+ } from "./chunk-ULJFT73Q.mjs";
4
4
  import {
5
- SCRIPT_PLUGIN
6
- } from "./chunk-QYAREHGH.mjs";
5
+ meta
6
+ } from "./chunk-EB6AXFXO.mjs";
7
7
 
8
8
  // src/components/DeploymentDialog/DeploymentDialog.tsx
9
9
  import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
10
10
  import React, { useEffect, useMemo } from "react";
11
- import { LayoutAction, createIntent, useIntentDispatcher } from "@dxos/app-framework";
11
+ import { LayoutAction, createIntent } from "@dxos/app-framework";
12
+ import { useIntentDispatcher } from "@dxos/app-framework/react";
12
13
  import { getSpace } from "@dxos/react-client/echo";
13
- import { Button, Dialog, Icon, useTranslation } from "@dxos/react-ui";
14
- var DEPLOYMENT_DIALOG = `${SCRIPT_PLUGIN}/deployment/dialog`;
14
+ import { Button, Dialog, IconButton, useTranslation } from "@dxos/react-ui";
15
+ var DEPLOYMENT_DIALOG = `${meta.id}/deployment/dialog`;
15
16
  var DeploymentDialog = ({ accessToken, scriptTemplates }) => {
16
17
  var _effect = _useSignals();
17
18
  try {
18
- const { t } = useTranslation(SCRIPT_PLUGIN);
19
+ const { t } = useTranslation(meta.id);
19
20
  const space = useMemo(() => getSpace(accessToken), [
20
21
  accessToken
21
22
  ]);
@@ -26,27 +27,27 @@ var DeploymentDialog = ({ accessToken, scriptTemplates }) => {
26
27
  void dispatch(createIntent(LayoutAction.AddToast, {
27
28
  part: "toast",
28
29
  subject: {
29
- id: `${SCRIPT_PLUGIN}/deployment-success`,
30
+ id: `${meta.id}/deployment-success`,
30
31
  icon: "ph--check--regular",
31
32
  duration: Infinity,
32
33
  title: [
33
34
  "script deployment toast label",
34
35
  {
35
- ns: SCRIPT_PLUGIN,
36
+ ns: meta.id,
36
37
  count: scriptTemplates.length
37
38
  }
38
39
  ],
39
40
  description: [
40
41
  "script deployment toast description",
41
42
  {
42
- ns: SCRIPT_PLUGIN,
43
+ ns: meta.id,
43
44
  count: scriptTemplates.length
44
45
  }
45
46
  ],
46
47
  closeLabel: [
47
48
  "script deployment toast close label",
48
49
  {
49
- ns: SCRIPT_PLUGIN,
50
+ ns: meta.id,
50
51
  count: scriptTemplates.length
51
52
  }
52
53
  ]
@@ -69,27 +70,27 @@ var DeploymentDialog = ({ accessToken, scriptTemplates }) => {
69
70
  void dispatch(createIntent(LayoutAction.AddToast, {
70
71
  part: "toast",
71
72
  subject: {
72
- id: `${SCRIPT_PLUGIN}/deployment-error`,
73
+ id: `${meta.id}/deployment-error`,
73
74
  icon: "ph--warning--regular",
74
75
  duration: Infinity,
75
76
  title: [
76
77
  "script deployment error toast label",
77
78
  {
78
- ns: SCRIPT_PLUGIN,
79
+ ns: meta.id,
79
80
  count: scriptTemplates.length
80
81
  }
81
82
  ],
82
83
  description: [
83
84
  "script deployment error toast description",
84
85
  {
85
- ns: SCRIPT_PLUGIN,
86
+ ns: meta.id,
86
87
  count: scriptTemplates.length
87
88
  }
88
89
  ],
89
90
  closeLabel: [
90
91
  "script deployment error toast close label",
91
92
  {
92
- ns: SCRIPT_PLUGIN,
93
+ ns: meta.id,
93
94
  count: scriptTemplates.length
94
95
  }
95
96
  ]
@@ -104,13 +105,14 @@ var DeploymentDialog = ({ accessToken, scriptTemplates }) => {
104
105
  className: "flex justify-between items-center"
105
106
  }, /* @__PURE__ */ React.createElement(Dialog.Title, null, t("deployment dialog title")), /* @__PURE__ */ React.createElement(Dialog.Close, {
106
107
  asChild: true
107
- }, /* @__PURE__ */ React.createElement(Button, {
108
+ }, /* @__PURE__ */ React.createElement(IconButton, {
109
+ icon: "ph--x--regular",
110
+ size: 4,
111
+ label: "Close",
112
+ iconOnly: true,
108
113
  density: "fine",
109
114
  variant: "ghost"
110
- }, /* @__PURE__ */ React.createElement(Icon, {
111
- icon: "ph--x--regular",
112
- size: 4
113
- })))), /* @__PURE__ */ React.createElement("div", {
115
+ }))), /* @__PURE__ */ React.createElement("div", {
114
116
  role: "none",
115
117
  className: "plb-4"
116
118
  }, /* @__PURE__ */ React.createElement("p", null, t("deployment dialog scripts found message", {
@@ -150,4 +152,4 @@ export {
150
152
  DEPLOYMENT_DIALOG,
151
153
  DeploymentDialog_default
152
154
  };
153
- //# sourceMappingURL=chunk-YCZPTTFO.mjs.map
155
+ //# sourceMappingURL=chunk-SAN5Y7FI.mjs.map
@@ -0,0 +1,7 @@
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 } from '@dxos/app-framework';\nimport { useIntentDispatcher } from '@dxos/app-framework/react';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { Button, Dialog, IconButton, useTranslation } from '@dxos/react-ui';\nimport { type AccessToken } from '@dxos/types';\n\nimport { useCreateAndDeployScriptTemplates } from '../../hooks';\nimport { meta } from '../../meta';\nimport { type Template } from '../../templates';\n\nexport const DEPLOYMENT_DIALOG = `${meta.id}/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\nexport type DeploymentDialogProps = {\n accessToken: AccessToken.AccessToken;\n scriptTemplates: Template[];\n};\n\nexport const DeploymentDialog = ({ accessToken, scriptTemplates }: DeploymentDialogProps) => {\n const { t } = useTranslation(meta.id);\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: `${meta.id}/deployment-success`,\n icon: 'ph--check--regular',\n duration: Infinity,\n title: ['script deployment toast label', { ns: meta.id, count: scriptTemplates.length }],\n description: ['script deployment toast description', { ns: meta.id, count: scriptTemplates.length }],\n closeLabel: ['script deployment toast close label', { ns: meta.id, count: scriptTemplates.length }],\n },\n }),\n );\n void dispatch(\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n options: { state: false },\n }),\n );\n }\n if (status === 'error') {\n void dispatch(\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n options: { state: false },\n }),\n );\n void dispatch(\n createIntent(LayoutAction.AddToast, {\n part: 'toast',\n subject: {\n id: `${meta.id}/deployment-error`,\n icon: 'ph--warning--regular',\n duration: Infinity,\n title: ['script deployment error toast label', { ns: meta.id, count: scriptTemplates.length }],\n description: ['script deployment error toast description', { ns: meta.id, count: scriptTemplates.length }],\n closeLabel: ['script deployment error toast close label', { ns: meta.id, count: scriptTemplates.length }],\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 <IconButton icon='ph--x--regular' size={4} label='Close' iconOnly density='fine' variant='ghost' />\n </Dialog.Close>\n </div>\n <div role='none' className='plb-4'>\n {/* TODO: Implement deployment logic and UI. */}\n <p>\n {t('deployment dialog scripts found message', {\n count: scriptTemplates.length,\n })}\n </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', {\n count: scriptTemplates.length,\n })\n : t('deployment dialog deploy functions button label', {\n count: scriptTemplates.length,\n })}\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", "IconButton", "useTranslation", "DEPLOYMENT_DIALOG", "meta", "id", "DeploymentDialog", "accessToken", "scriptTemplates", "t", "useTranslation", "space", "useMemo", "getSpace", "handleCreateAndDeployScripts", "status", "useCreateAndDeployScriptTemplates", "dispatchPromise", "dispatch", "useIntentDispatcher", "useEffect", "createIntent", "LayoutAction", "AddToast", "part", "subject", "icon", "duration", "Infinity", "title", "ns", "count", "length", "description", "closeLabel", "UpdateDialog", "options", "state", "Dialog", "Content", "div", "className", "Title", "Close", "asChild", "IconButton", "size", "label", "iconOnly", "density", "variant", "role", "p", "ul", "map", "template", "li", "key", "name", "Button", "onClick", "disabled", "DeploymentDialog"]
7
+ }
@@ -0,0 +1,513 @@
1
+ import {
2
+ ScriptAction
3
+ } from "./chunk-QIZ3BPRK.mjs";
4
+ import {
5
+ templates
6
+ } from "./chunk-2G2NA6DQ.mjs";
7
+ import {
8
+ meta
9
+ } from "./chunk-EB6AXFXO.mjs";
10
+
11
+ // src/util/functions.ts
12
+ import { Obj } from "@dxos/echo";
13
+ import { getUserFunctionIdInMetadata } from "@dxos/functions";
14
+ import { getInvocationUrl } from "@dxos/functions-runtime";
15
+ import { log } from "@dxos/log";
16
+ import { getSpace } from "@dxos/react-client/echo";
17
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/util/functions.ts";
18
+ var getFunctionUrl = ({ script, fn, edgeUrl }) => {
19
+ const space = getSpace(script);
20
+ const existingFunctionId = fn && getUserFunctionIdInMetadata(Obj.getMeta(fn));
21
+ if (!existingFunctionId) {
22
+ return void 0;
23
+ }
24
+ return getInvocationUrl(existingFunctionId, edgeUrl, {
25
+ spaceId: space?.id
26
+ });
27
+ };
28
+ var updateFunctionMetadata = (script, storedFunction, meta2, functionId) => {
29
+ if (script.description !== void 0 && script.description.trim() !== "") {
30
+ storedFunction.description = script.description;
31
+ } else if (meta2.description) {
32
+ storedFunction.description = meta2.description;
33
+ } else {
34
+ log.verbose("no description in function metadata", {
35
+ functionId
36
+ }, {
37
+ F: __dxlog_file,
38
+ L: 47,
39
+ S: void 0,
40
+ C: (f, a) => f(...a)
41
+ });
42
+ }
43
+ if (meta2.inputSchema) {
44
+ storedFunction.inputSchema = meta2.inputSchema;
45
+ } else {
46
+ log.verbose("no input schema in function metadata", {
47
+ functionId
48
+ }, {
49
+ F: __dxlog_file,
50
+ L: 53,
51
+ S: void 0,
52
+ C: (f, a) => f(...a)
53
+ });
54
+ }
55
+ if (meta2.outputSchema) {
56
+ storedFunction.outputSchema = meta2.outputSchema;
57
+ } else {
58
+ log.verbose("no output schema in function metadata", {
59
+ functionId
60
+ }, {
61
+ F: __dxlog_file,
62
+ L: 59,
63
+ S: void 0,
64
+ C: (f, a) => f(...a)
65
+ });
66
+ }
67
+ if (meta2.key) {
68
+ storedFunction.key = meta2.key;
69
+ } else {
70
+ log.verbose("no key in function metadata", {
71
+ functionId
72
+ }, {
73
+ F: __dxlog_file,
74
+ L: 65,
75
+ S: void 0,
76
+ C: (f, a) => f(...a)
77
+ });
78
+ }
79
+ };
80
+ var getAccessCredential = (identityKey) => {
81
+ return {
82
+ issuer: identityKey,
83
+ issuanceDate: /* @__PURE__ */ new Date(),
84
+ subject: {
85
+ id: identityKey,
86
+ assertion: {
87
+ "@type": "dxos.halo.credentials.ServiceAccess",
88
+ serverName: "hub.dxos.network",
89
+ serverKey: identityKey,
90
+ identityKey,
91
+ capabilities: [
92
+ "composer:beta"
93
+ ]
94
+ }
95
+ }
96
+ };
97
+ };
98
+
99
+ // src/util/deploy.ts
100
+ import { Obj as Obj2, Ref } from "@dxos/echo";
101
+ import { Function, getUserFunctionIdInMetadata as getUserFunctionIdInMetadata2, setUserFunctionIdInMetadata } from "@dxos/functions";
102
+ import { bundleFunction } from "@dxos/functions-runtime/bundler";
103
+ import { incrementSemverPatch, uploadWorkerFunction } from "@dxos/functions-runtime/edge";
104
+ import { log as log2 } from "@dxos/log";
105
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/util/deploy.ts";
106
+ var isScriptDeployed = ({ script, fn }) => {
107
+ const existingFunctionId = fn && getUserFunctionIdInMetadata2(Obj2.getMeta(fn));
108
+ return Boolean(existingFunctionId) && !script.changed;
109
+ };
110
+ var deployScript = async ({ script, client, space, fn, existingFunctionId }) => {
111
+ const validationError = validateDeployInputs(script, space);
112
+ if (validationError) {
113
+ return {
114
+ success: false,
115
+ error: validationError
116
+ };
117
+ }
118
+ try {
119
+ const buildResult = await bundleFunction({
120
+ source: script.source.target.content
121
+ });
122
+ if ("error" in buildResult) {
123
+ throw buildResult.error || new Error("Bundle creation failed");
124
+ }
125
+ const { functionId, version, meta: meta2 } = await uploadWorkerFunction({
126
+ client,
127
+ ownerPublicKey: space.key,
128
+ version: fn ? incrementSemverPatch(fn.version) : "0.0.1",
129
+ functionId: existingFunctionId,
130
+ entryPoint: buildResult.entryPoint,
131
+ assets: {
132
+ [buildResult.entryPoint]: buildResult.asset
133
+ }
134
+ });
135
+ if (functionId === void 0 || version === void 0) {
136
+ throw new Error(`Upload didn't return expected data: ${JSON.stringify({
137
+ functionId,
138
+ version
139
+ })}`);
140
+ }
141
+ const storedFunction = createOrUpdateFunctionInSpace(space, fn, script, functionId, version);
142
+ script.changed = false;
143
+ updateFunctionMetadata(script, storedFunction, meta2, functionId);
144
+ setUserFunctionIdInMetadata(Obj2.getMeta(storedFunction), functionId);
145
+ return {
146
+ success: true,
147
+ functionId
148
+ };
149
+ } catch (err) {
150
+ log2.catch(err, void 0, {
151
+ F: __dxlog_file2,
152
+ L: 74,
153
+ S: void 0,
154
+ C: (f, a) => f(...a)
155
+ });
156
+ return {
157
+ success: false,
158
+ error: err
159
+ };
160
+ }
161
+ };
162
+ var validateDeployInputs = (script, space) => {
163
+ if (!script.source || !space) {
164
+ return new Error("Script source or space not available");
165
+ }
166
+ return null;
167
+ };
168
+ var createOrUpdateFunctionInSpace = (space, fn, script, functionId, version) => {
169
+ if (fn) {
170
+ fn.name = script.name ?? "New Function";
171
+ fn.version = version;
172
+ return fn;
173
+ } else {
174
+ const fn2 = Function.make({
175
+ name: script.name ?? "New Function",
176
+ version,
177
+ source: Ref.make(script)
178
+ });
179
+ space.db.add(fn2);
180
+ setUserFunctionIdInMetadata(Obj2.getMeta(fn2), functionId);
181
+ return fn2;
182
+ }
183
+ };
184
+
185
+ // src/hooks/deploy.ts
186
+ import { useEffect, useMemo } from "react";
187
+ import { Obj as Obj3, Query, Ref as Ref2 } from "@dxos/echo";
188
+ import { Function as Function2, getUserFunctionIdInMetadata as getUserFunctionIdInMetadata3 } from "@dxos/functions";
189
+ import { log as log3 } from "@dxos/log";
190
+ import { useClient } from "@dxos/react-client";
191
+ import { getSpace as getSpace2, useQuery } from "@dxos/react-client/echo";
192
+ import { createMenuAction } from "@dxos/react-ui-menu";
193
+ import { errorMessageColors } from "@dxos/react-ui-theme";
194
+ var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/hooks/deploy.ts";
195
+ var createDeploy = ({ state, script, space, fn, client, existingFunctionId, t }) => {
196
+ const errorItem = createMenuAction("error", () => {
197
+ }, {
198
+ label: state.error ?? [
199
+ "no error label",
200
+ {
201
+ ns: meta.id
202
+ }
203
+ ],
204
+ icon: "ph--warning-circle--regular",
205
+ hidden: !state.error,
206
+ classNames: state.error && errorMessageColors
207
+ });
208
+ const deployAction = createMenuAction("deploy", async () => {
209
+ if (!script.source || !space) {
210
+ return;
211
+ }
212
+ state.error = void 0;
213
+ state.deploying = true;
214
+ const result = await deployScript({
215
+ script,
216
+ client,
217
+ space,
218
+ fn,
219
+ existingFunctionId
220
+ });
221
+ if (!result.success) {
222
+ log3.catch(result.error, void 0, {
223
+ F: __dxlog_file3,
224
+ L: 60,
225
+ S: void 0,
226
+ C: (f, a) => f(...a)
227
+ });
228
+ state.error = t("upload failed label");
229
+ }
230
+ state.deploying = false;
231
+ }, {
232
+ type: "deploy",
233
+ label: [
234
+ state.deploying ? "publishing label" : "deploy label",
235
+ {
236
+ ns: meta.id
237
+ }
238
+ ],
239
+ icon: state.deploying ? "ph--spinner-gap--regular" : "ph--cloud-arrow-up--regular",
240
+ disabled: state.deploying,
241
+ classNames: state.deploying ? "[&_svg]:animate-spin" : ""
242
+ });
243
+ const copyAction = createMenuAction("copy", async () => {
244
+ if (state.functionUrl) {
245
+ await navigator.clipboard.writeText(state.functionUrl);
246
+ }
247
+ }, {
248
+ type: "copy",
249
+ label: [
250
+ "copy link label",
251
+ {
252
+ ns: meta.id
253
+ }
254
+ ],
255
+ icon: "ph--link--regular",
256
+ disabled: !state.functionUrl
257
+ });
258
+ return {
259
+ nodes: [
260
+ errorItem,
261
+ deployAction,
262
+ copyAction
263
+ ],
264
+ edges: [
265
+ {
266
+ source: "root",
267
+ target: "error"
268
+ },
269
+ {
270
+ source: "root",
271
+ target: "deploy"
272
+ },
273
+ {
274
+ source: "root",
275
+ target: "copy"
276
+ }
277
+ ]
278
+ };
279
+ };
280
+ var useDeployState = ({ state, script }) => {
281
+ const { space, client, fn, existingFunctionId } = useDeployDeps({
282
+ script
283
+ });
284
+ useEffect(() => {
285
+ if (!existingFunctionId) {
286
+ return;
287
+ }
288
+ state.functionUrl = getFunctionUrl({
289
+ script,
290
+ fn,
291
+ edgeUrl: client.config.values.runtime?.services?.edge?.url ?? ""
292
+ });
293
+ }, [
294
+ existingFunctionId,
295
+ space,
296
+ fn,
297
+ script,
298
+ client.config.values.runtime?.services?.edge?.url
299
+ ]);
300
+ useEffect(() => {
301
+ state.deployed = isScriptDeployed({
302
+ script,
303
+ fn
304
+ });
305
+ }, [
306
+ script.changed,
307
+ existingFunctionId,
308
+ fn,
309
+ script
310
+ ]);
311
+ };
312
+ var useDeployDeps = ({ script }) => {
313
+ const client = useClient();
314
+ const space = getSpace2(script);
315
+ const [fn] = useQuery(space, Query.type(Function2.Function, {
316
+ source: Ref2.make(script)
317
+ }));
318
+ const existingFunctionId = useMemo(() => fn && getUserFunctionIdInMetadata3(Obj3.getMeta(fn)), [
319
+ fn
320
+ ]);
321
+ return {
322
+ client,
323
+ space,
324
+ fn,
325
+ existingFunctionId
326
+ };
327
+ };
328
+
329
+ // src/hooks/useToolbarState.ts
330
+ import { useMemo as useMemo2 } from "react";
331
+ import { live } from "@dxos/live-object";
332
+ var useToolbarState = (initialState = {}) => {
333
+ return useMemo2(() => live(initialState), []);
334
+ };
335
+
336
+ // src/hooks/format.ts
337
+ import { format } from "prettier";
338
+ import prettierPluginEstree from "prettier/plugins/estree";
339
+ import prettierPluginTypescript from "prettier/plugins/typescript";
340
+ import { log as log4 } from "@dxos/log";
341
+ import { createMenuAction as createMenuAction2 } from "@dxos/react-ui-menu";
342
+ var __dxlog_file4 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/hooks/format.ts";
343
+ var createFormat = (script) => {
344
+ const formatAction = createMenuAction2("format", async () => {
345
+ if (!script.source) {
346
+ return;
347
+ }
348
+ try {
349
+ script.source.target.content = await format(script.source.target.content, {
350
+ parser: "typescript",
351
+ plugins: [
352
+ prettierPluginEstree,
353
+ prettierPluginTypescript
354
+ ],
355
+ semi: true,
356
+ singleQuote: true
357
+ });
358
+ } catch (err) {
359
+ log4.catch(err, void 0, {
360
+ F: __dxlog_file4,
361
+ L: 34,
362
+ S: void 0,
363
+ C: (f, a) => f(...a)
364
+ });
365
+ }
366
+ }, {
367
+ label: [
368
+ "format label",
369
+ {
370
+ ns: meta.id
371
+ }
372
+ ],
373
+ icon: "ph--magic-wand--regular"
374
+ });
375
+ return {
376
+ nodes: [
377
+ formatAction
378
+ ],
379
+ edges: [
380
+ {
381
+ source: "root",
382
+ target: "format"
383
+ }
384
+ ]
385
+ };
386
+ };
387
+
388
+ // src/hooks/template.ts
389
+ import { Obj as Obj4 } from "@dxos/echo";
390
+ import { FUNCTIONS_PRESET_META_KEY } from "@dxos/functions";
391
+ import { createMenuAction as createMenuAction3 } from "@dxos/react-ui-menu";
392
+ var createTemplateSelectActions = (script) => {
393
+ return templates.map((template) => {
394
+ return createMenuAction3(`template--${template.id}`, () => {
395
+ script.name = template.name;
396
+ script.source.target.content = template.source;
397
+ const metaKeys = Obj4.getMeta(script).keys;
398
+ const oldPresetIndex = metaKeys.findIndex((key) => key.source === FUNCTIONS_PRESET_META_KEY);
399
+ if (oldPresetIndex >= 0) {
400
+ metaKeys.splice(oldPresetIndex, 1);
401
+ }
402
+ if ("presetId" in template) {
403
+ metaKeys.push({
404
+ source: FUNCTIONS_PRESET_META_KEY,
405
+ id: template.presetId
406
+ });
407
+ }
408
+ }, {
409
+ label: template.name,
410
+ value: template.id,
411
+ type: "template"
412
+ });
413
+ });
414
+ };
415
+ var createTemplateSelect = (script) => {
416
+ const templateSelectActions = createTemplateSelectActions(script);
417
+ return {
418
+ nodes: [
419
+ ...templateSelectActions
420
+ ],
421
+ edges: [
422
+ {
423
+ source: "root",
424
+ target: "template-select"
425
+ },
426
+ ...templateSelectActions.map((action) => ({
427
+ source: "template-select",
428
+ target: action.id
429
+ }))
430
+ ]
431
+ };
432
+ };
433
+
434
+ // src/hooks/useCreateAndDeployScriptTemplates.ts
435
+ import * as Function3 from "effect/Function";
436
+ import { useCallback, useState } from "react";
437
+ import { chain, createIntent } from "@dxos/app-framework";
438
+ import { useIntentDispatcher } from "@dxos/app-framework/react";
439
+ import { Obj as Obj5 } from "@dxos/echo";
440
+ import { Script } from "@dxos/functions";
441
+ import { invariant } from "@dxos/invariant";
442
+ import { SpaceAction } from "@dxos/plugin-space/types";
443
+ import { useClient as useClient2 } from "@dxos/react-client";
444
+ var __dxlog_file5 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/hooks/useCreateAndDeployScriptTemplates.ts";
445
+ var useCreateAndDeployScriptTemplates = (space, scriptTemplates) => {
446
+ const { dispatchPromise: dispatch } = useIntentDispatcher();
447
+ const client = useClient2();
448
+ const [status, setStatus] = useState("idle");
449
+ const [error, setError] = useState(void 0);
450
+ const handleCreateAndDeployScripts = useCallback(async () => {
451
+ invariant(space, void 0, {
452
+ F: __dxlog_file5,
453
+ L: 37,
454
+ S: void 0,
455
+ A: [
456
+ "space",
457
+ ""
458
+ ]
459
+ });
460
+ setStatus("pending");
461
+ setError(void 0);
462
+ const deploymentResults = await Promise.all(scriptTemplates.map(async (template) => {
463
+ const result = await dispatch(Function3.pipe(createIntent(ScriptAction.CreateScript, {
464
+ space,
465
+ initialTemplateId: template.id
466
+ }), chain(SpaceAction.AddObject, {
467
+ target: space
468
+ })));
469
+ invariant(Obj5.instanceOf(Script.Script, result.data?.object), void 0, {
470
+ F: __dxlog_file5,
471
+ L: 52,
472
+ S: void 0,
473
+ A: [
474
+ "Obj.instanceOf(Script.Script, result.data?.object)",
475
+ ""
476
+ ]
477
+ });
478
+ return deployScript({
479
+ space,
480
+ client,
481
+ script: result.data.object
482
+ });
483
+ }));
484
+ const hasErrors = deploymentResults.some((result) => !result.success);
485
+ setStatus(hasErrors ? "error" : "success");
486
+ }, [
487
+ space,
488
+ dispatch,
489
+ client,
490
+ scriptTemplates
491
+ ]);
492
+ return {
493
+ handleCreateAndDeployScripts,
494
+ status,
495
+ error
496
+ };
497
+ };
498
+
499
+ export {
500
+ getFunctionUrl,
501
+ updateFunctionMetadata,
502
+ getAccessCredential,
503
+ isScriptDeployed,
504
+ deployScript,
505
+ createDeploy,
506
+ useDeployState,
507
+ useDeployDeps,
508
+ createFormat,
509
+ createTemplateSelect,
510
+ useCreateAndDeployScriptTemplates,
511
+ useToolbarState
512
+ };
513
+ //# sourceMappingURL=chunk-ULJFT73Q.mjs.map