@dxos/plugin-script 0.8.1-staging.391c573 → 0.8.1-staging.97aedb1

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 (264) hide show
  1. package/dist/lib/browser/DeploymentDialog-AEPYJKPO.mjs +12 -0
  2. package/dist/lib/browser/DeploymentDialog-AEPYJKPO.mjs.map +7 -0
  3. package/dist/lib/browser/{ScriptContainer-4FIJVITA.mjs → ScriptContainer-R25PRK2D.mjs} +26 -39
  4. package/dist/lib/browser/ScriptContainer-R25PRK2D.mjs.map +7 -0
  5. package/dist/lib/browser/app-graph-builder-RRLY67QC.mjs +64 -0
  6. package/dist/lib/browser/app-graph-builder-RRLY67QC.mjs.map +7 -0
  7. package/dist/lib/browser/{artifact-definition-GTL3ZSF2.mjs → artifact-definition-WXFYD2V5.mjs} +10 -9
  8. package/dist/lib/browser/artifact-definition-WXFYD2V5.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-SFG422OU.mjs → chunk-2CGZFDCR.mjs} +290 -277
  10. package/dist/lib/browser/chunk-2CGZFDCR.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-4VD3K3PY.mjs +15 -0
  12. package/dist/lib/browser/{chunk-6MOQ4BP3.mjs.map → chunk-4VD3K3PY.mjs.map} +3 -3
  13. package/dist/lib/browser/chunk-CSZXPLYY.mjs +147 -0
  14. package/dist/lib/browser/chunk-CSZXPLYY.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-KLEOGVXY.mjs +352 -0
  16. package/dist/lib/browser/chunk-KLEOGVXY.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-MQZQB5VD.mjs +233 -0
  18. package/dist/lib/browser/chunk-MQZQB5VD.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-JL34HAEL.mjs → chunk-R2CHVWJ2.mjs} +5 -4
  20. package/dist/lib/browser/chunk-R2CHVWJ2.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-SUCBNCEQ.mjs +87 -0
  22. package/dist/lib/browser/chunk-SUCBNCEQ.mjs.map +7 -0
  23. package/dist/lib/browser/{chunk-FVVCAWNP.mjs → chunk-WSK3YQXI.mjs} +9 -3
  24. package/dist/lib/browser/chunk-WSK3YQXI.mjs.map +7 -0
  25. package/dist/lib/browser/{compiler-YY2XSKHQ.mjs → compiler-56LTBEQB.mjs} +7 -7
  26. package/dist/lib/browser/index.mjs +65 -61
  27. package/dist/lib/browser/index.mjs.map +3 -3
  28. package/dist/lib/browser/intent-resolver-WCVXKRBR.mjs +90 -0
  29. package/dist/lib/browser/intent-resolver-WCVXKRBR.mjs.map +7 -0
  30. package/dist/lib/browser/meta.json +1 -1
  31. package/dist/lib/browser/react-surface-WXZVPNGI.mjs +117 -0
  32. package/dist/lib/browser/react-surface-WXZVPNGI.mjs.map +7 -0
  33. package/dist/lib/browser/{settings-HIWURVAS.mjs → settings-Z7B37V2I.mjs} +6 -6
  34. package/dist/lib/browser/{settings-HIWURVAS.mjs.map → settings-Z7B37V2I.mjs.map} +3 -3
  35. package/dist/lib/browser/types.mjs +5 -2
  36. package/dist/lib/node/DeploymentDialog-O4MU4OMF.cjs +33 -0
  37. package/dist/lib/node/DeploymentDialog-O4MU4OMF.cjs.map +7 -0
  38. package/dist/lib/node/{ScriptContainer-54GQSZCU.cjs → ScriptContainer-5KY6ZOQD.cjs} +29 -40
  39. package/dist/lib/node/ScriptContainer-5KY6ZOQD.cjs.map +7 -0
  40. package/dist/lib/node/app-graph-builder-6I2BWD46.cjs +80 -0
  41. package/dist/lib/node/app-graph-builder-6I2BWD46.cjs.map +7 -0
  42. package/dist/lib/node/{artifact-definition-64KZC4UT.cjs → artifact-definition-6NVXEHJD.cjs} +16 -15
  43. package/dist/lib/node/artifact-definition-6NVXEHJD.cjs.map +7 -0
  44. package/dist/lib/node/chunk-65MIJR3Q.cjs +173 -0
  45. package/dist/lib/node/chunk-65MIJR3Q.cjs.map +7 -0
  46. package/dist/lib/node/chunk-F4DP7WON.cjs +372 -0
  47. package/dist/lib/node/chunk-F4DP7WON.cjs.map +7 -0
  48. package/dist/lib/node/{chunk-ALY3N6PW.cjs → chunk-JICWAOWZ.cjs} +6 -6
  49. package/dist/lib/node/{chunk-ALY3N6PW.cjs.map → chunk-JICWAOWZ.cjs.map} +3 -3
  50. package/dist/lib/node/{chunk-45OE3V5M.cjs → chunk-SLDJM45C.cjs} +286 -272
  51. package/dist/lib/node/chunk-SLDJM45C.cjs.map +7 -0
  52. package/dist/lib/node/chunk-VYBEBLDO.cjs +251 -0
  53. package/dist/lib/node/chunk-VYBEBLDO.cjs.map +7 -0
  54. package/dist/lib/node/chunk-X7MHLHHS.cjs +91 -0
  55. package/dist/lib/node/chunk-X7MHLHHS.cjs.map +7 -0
  56. package/dist/lib/node/{chunk-VJ73IG7P.cjs → chunk-XFZPWFEG.cjs} +8 -7
  57. package/dist/lib/node/chunk-XFZPWFEG.cjs.map +7 -0
  58. package/dist/lib/node/{chunk-5UH3F7TA.cjs → chunk-YJQZHKKA.cjs} +11 -4
  59. package/dist/lib/node/chunk-YJQZHKKA.cjs.map +7 -0
  60. package/dist/lib/node/{compiler-UIBLKJKG.cjs → compiler-W2RU3M7U.cjs} +8 -8
  61. package/dist/lib/node/index.cjs +75 -71
  62. package/dist/lib/node/index.cjs.map +3 -3
  63. package/dist/lib/node/intent-resolver-J4NBDNFH.cjs +100 -0
  64. package/dist/lib/node/intent-resolver-J4NBDNFH.cjs.map +7 -0
  65. package/dist/lib/node/meta.json +1 -1
  66. package/dist/lib/node/react-surface-27KTUBIZ.cjs +129 -0
  67. package/dist/lib/node/react-surface-27KTUBIZ.cjs.map +7 -0
  68. package/dist/lib/node/{settings-ZASSNBKR.cjs → settings-EI6VPNKN.cjs} +9 -9
  69. package/dist/lib/node/{settings-ZASSNBKR.cjs.map → settings-EI6VPNKN.cjs.map} +3 -3
  70. package/dist/lib/node/types.cjs +6 -4
  71. package/dist/lib/node/types.cjs.map +2 -2
  72. package/dist/lib/node-esm/DeploymentDialog-SSQSWLHX.mjs +13 -0
  73. package/dist/lib/node-esm/DeploymentDialog-SSQSWLHX.mjs.map +7 -0
  74. package/dist/lib/node-esm/{ScriptContainer-JAQY5F3X.mjs → ScriptContainer-W2F4FGDV.mjs} +26 -39
  75. package/dist/lib/node-esm/ScriptContainer-W2F4FGDV.mjs.map +7 -0
  76. package/dist/lib/node-esm/app-graph-builder-H5XLRVX3.mjs +65 -0
  77. package/dist/lib/node-esm/app-graph-builder-H5XLRVX3.mjs.map +7 -0
  78. package/dist/lib/node-esm/{artifact-definition-SF46QOO7.mjs → artifact-definition-KQ64AYBP.mjs} +10 -9
  79. package/dist/lib/node-esm/artifact-definition-KQ64AYBP.mjs.map +7 -0
  80. package/dist/lib/node-esm/{chunk-LBFWIT3Y.mjs → chunk-4MTPYMV2.mjs} +290 -277
  81. package/dist/lib/node-esm/chunk-4MTPYMV2.mjs.map +7 -0
  82. package/dist/lib/node-esm/{chunk-CP5LXTK5.mjs → chunk-EB5DSAD4.mjs} +5 -5
  83. package/dist/lib/node-esm/{chunk-CP5LXTK5.mjs.map → chunk-EB5DSAD4.mjs.map} +3 -3
  84. package/dist/lib/node-esm/chunk-F4HA5C34.mjs +234 -0
  85. package/dist/lib/node-esm/chunk-F4HA5C34.mjs.map +7 -0
  86. package/dist/lib/node-esm/{chunk-P2V2Y5LV.mjs → chunk-FDEAVT67.mjs} +9 -3
  87. package/dist/lib/node-esm/chunk-FDEAVT67.mjs.map +7 -0
  88. package/dist/lib/node-esm/chunk-MU3JKVL2.mjs +148 -0
  89. package/dist/lib/node-esm/chunk-MU3JKVL2.mjs.map +7 -0
  90. package/dist/lib/node-esm/chunk-PBGVTGL2.mjs +353 -0
  91. package/dist/lib/node-esm/chunk-PBGVTGL2.mjs.map +7 -0
  92. package/dist/lib/node-esm/chunk-QDYGTY4L.mjs +89 -0
  93. package/dist/lib/node-esm/chunk-QDYGTY4L.mjs.map +7 -0
  94. package/dist/lib/node-esm/{chunk-FHQKFLM7.mjs → chunk-RW2APVMV.mjs} +5 -4
  95. package/dist/lib/node-esm/chunk-RW2APVMV.mjs.map +7 -0
  96. package/dist/lib/node-esm/{compiler-XTXFGZJM.mjs → compiler-VT5C2Z3T.mjs} +7 -7
  97. package/dist/lib/node-esm/index.mjs +65 -61
  98. package/dist/lib/node-esm/index.mjs.map +3 -3
  99. package/dist/lib/node-esm/intent-resolver-PDZ2A26X.mjs +91 -0
  100. package/dist/lib/node-esm/intent-resolver-PDZ2A26X.mjs.map +7 -0
  101. package/dist/lib/node-esm/meta.json +1 -1
  102. package/dist/lib/node-esm/react-surface-UCUVDVSH.mjs +118 -0
  103. package/dist/lib/node-esm/react-surface-UCUVDVSH.mjs.map +7 -0
  104. package/dist/lib/node-esm/{settings-FDGLXN4I.mjs → settings-HU5UEFRF.mjs} +6 -6
  105. package/dist/lib/node-esm/{settings-FDGLXN4I.mjs.map → settings-HU5UEFRF.mjs.map} +3 -3
  106. package/dist/lib/node-esm/types.mjs +5 -2
  107. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  108. package/dist/types/src/capabilities/app-graph-builder.d.ts +181 -0
  109. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  110. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  112. package/dist/types/src/capabilities/index.d.ts +178 -1
  113. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  114. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  116. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts +11 -0
  117. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +1 -0
  118. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +18 -0
  119. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -0
  120. package/dist/types/src/components/DeploymentDialog/index.d.ts +4 -0
  121. package/dist/types/src/components/DeploymentDialog/index.d.ts.map +1 -0
  122. package/dist/types/src/components/ScriptContainer.d.ts +3 -3
  123. package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
  124. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  125. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +8 -0
  126. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +1 -0
  127. package/dist/types/src/components/{ScriptSettings/ScriptSettings.d.ts → Settings/ScriptPluginSettings.d.ts} +2 -2
  128. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +1 -0
  129. package/dist/types/src/components/Settings/index.d.ts +3 -0
  130. package/dist/types/src/components/Settings/index.d.ts.map +1 -0
  131. package/dist/types/src/components/TestPanel/TestPanel.d.ts +7 -0
  132. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -0
  133. package/dist/types/src/components/TestPanel/index.d.ts +2 -0
  134. package/dist/types/src/components/TestPanel/index.d.ts.map +1 -0
  135. package/dist/types/src/components/index.d.ts +8 -5
  136. package/dist/types/src/components/index.d.ts.map +1 -1
  137. package/dist/types/src/hooks/deploy.d.ts +16 -12
  138. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  139. package/dist/types/src/hooks/index.d.ts +1 -1
  140. package/dist/types/src/hooks/index.d.ts.map +1 -1
  141. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts +17 -0
  142. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -0
  143. package/dist/types/src/hooks/useToolbarAction.d.ts +2 -3
  144. package/dist/types/src/hooks/useToolbarAction.d.ts.map +1 -1
  145. package/dist/types/src/hooks/useToolbarState.d.ts +2 -8
  146. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  147. package/dist/types/src/meta.d.ts +3 -9
  148. package/dist/types/src/meta.d.ts.map +1 -1
  149. package/dist/types/src/templates/chess.d.ts.map +1 -1
  150. package/dist/types/src/templates/data-generator.d.ts +10 -0
  151. package/dist/types/src/templates/data-generator.d.ts.map +1 -0
  152. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  153. package/dist/types/src/templates/gmail.d.ts +3 -0
  154. package/dist/types/src/templates/gmail.d.ts.map +1 -0
  155. package/dist/types/src/templates/index.d.ts.map +1 -1
  156. package/dist/types/src/translations.d.ts +68 -21
  157. package/dist/types/src/translations.d.ts.map +1 -1
  158. package/dist/types/src/types.d.ts +12 -2
  159. package/dist/types/src/types.d.ts.map +1 -1
  160. package/dist/types/src/util/deploy.d.ts +25 -0
  161. package/dist/types/src/util/deploy.d.ts.map +1 -0
  162. package/dist/types/src/util/functions.d.ts +11 -0
  163. package/dist/types/src/util/functions.d.ts.map +1 -0
  164. package/dist/types/src/util/index.d.ts +3 -0
  165. package/dist/types/src/util/index.d.ts.map +1 -0
  166. package/package.json +51 -49
  167. package/src/ScriptPlugin.tsx +12 -17
  168. package/src/capabilities/app-graph-builder.ts +47 -0
  169. package/src/capabilities/artifact-definition.ts +2 -1
  170. package/src/capabilities/capabilities.ts +2 -2
  171. package/src/capabilities/index.ts +2 -1
  172. package/src/capabilities/intent-resolver.ts +39 -5
  173. package/src/capabilities/react-surface.tsx +64 -25
  174. package/src/capabilities/settings.ts +2 -2
  175. package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +39 -0
  176. package/src/components/DeploymentDialog/DeploymentDialog.tsx +112 -0
  177. package/src/components/DeploymentDialog/index.ts +9 -0
  178. package/src/components/ScriptContainer.tsx +21 -32
  179. package/src/components/ScriptToolbar/ScriptToolbar.tsx +3 -4
  180. package/src/components/{ScriptSettingsPanel.tsx → Settings/ScriptObjectSettings.tsx} +120 -102
  181. package/src/components/{ScriptSettings/ScriptSettings.tsx → Settings/ScriptPluginSettings.tsx} +3 -3
  182. package/src/components/Settings/index.ts +6 -0
  183. package/src/components/{DebugPanel/DebugPanel.tsx → TestPanel/TestPanel.tsx} +8 -14
  184. package/src/components/{LogsPanel → TestPanel}/index.ts +1 -1
  185. package/src/components/index.ts +4 -4
  186. package/src/hooks/deploy.ts +31 -80
  187. package/src/hooks/index.ts +1 -1
  188. package/src/hooks/useCreateAndDeployScriptTemplates.ts +59 -0
  189. package/src/hooks/useToolbarAction.ts +9 -13
  190. package/src/hooks/useToolbarState.ts +1 -2
  191. package/src/meta.ts +7 -2
  192. package/src/templates/chess.ts +4 -0
  193. package/src/templates/data-generator.ts +73 -0
  194. package/src/templates/discord.ts +1 -1
  195. package/src/templates/forex-effect.ts +2 -1
  196. package/src/templates/gmail.ts +244 -0
  197. package/src/templates/index.ts +14 -0
  198. package/src/translations.ts +28 -10
  199. package/src/types.ts +4 -0
  200. package/src/util/deploy.ts +126 -0
  201. package/src/util/functions.ts +53 -0
  202. package/src/util/index.ts +6 -0
  203. package/dist/lib/browser/ScriptContainer-4FIJVITA.mjs.map +0 -7
  204. package/dist/lib/browser/artifact-definition-GTL3ZSF2.mjs.map +0 -7
  205. package/dist/lib/browser/chunk-4SSKJNMZ.mjs +0 -69
  206. package/dist/lib/browser/chunk-4SSKJNMZ.mjs.map +0 -7
  207. package/dist/lib/browser/chunk-6MOQ4BP3.mjs +0 -15
  208. package/dist/lib/browser/chunk-7TZYIGBS.mjs +0 -541
  209. package/dist/lib/browser/chunk-7TZYIGBS.mjs.map +0 -7
  210. package/dist/lib/browser/chunk-FVVCAWNP.mjs.map +0 -7
  211. package/dist/lib/browser/chunk-JL34HAEL.mjs.map +0 -7
  212. package/dist/lib/browser/chunk-SFG422OU.mjs.map +0 -7
  213. package/dist/lib/browser/intent-resolver-BJ76DBGE.mjs +0 -45
  214. package/dist/lib/browser/intent-resolver-BJ76DBGE.mjs.map +0 -7
  215. package/dist/lib/browser/react-surface-HXCDELEA.mjs +0 -79
  216. package/dist/lib/browser/react-surface-HXCDELEA.mjs.map +0 -7
  217. package/dist/lib/node/ScriptContainer-54GQSZCU.cjs.map +0 -7
  218. package/dist/lib/node/artifact-definition-64KZC4UT.cjs.map +0 -7
  219. package/dist/lib/node/chunk-45OE3V5M.cjs.map +0 -7
  220. package/dist/lib/node/chunk-5UH3F7TA.cjs.map +0 -7
  221. package/dist/lib/node/chunk-CJ45RBS4.cjs +0 -563
  222. package/dist/lib/node/chunk-CJ45RBS4.cjs.map +0 -7
  223. package/dist/lib/node/chunk-VJ73IG7P.cjs.map +0 -7
  224. package/dist/lib/node/chunk-XCQNFRZ6.cjs +0 -77
  225. package/dist/lib/node/chunk-XCQNFRZ6.cjs.map +0 -7
  226. package/dist/lib/node/intent-resolver-HQ3FGK2K.cjs +0 -59
  227. package/dist/lib/node/intent-resolver-HQ3FGK2K.cjs.map +0 -7
  228. package/dist/lib/node/react-surface-QQL4EDUS.cjs +0 -95
  229. package/dist/lib/node/react-surface-QQL4EDUS.cjs.map +0 -7
  230. package/dist/lib/node-esm/ScriptContainer-JAQY5F3X.mjs.map +0 -7
  231. package/dist/lib/node-esm/artifact-definition-SF46QOO7.mjs.map +0 -7
  232. package/dist/lib/node-esm/chunk-4YUSGXJ2.mjs +0 -71
  233. package/dist/lib/node-esm/chunk-4YUSGXJ2.mjs.map +0 -7
  234. package/dist/lib/node-esm/chunk-FHQKFLM7.mjs.map +0 -7
  235. package/dist/lib/node-esm/chunk-LBFWIT3Y.mjs.map +0 -7
  236. package/dist/lib/node-esm/chunk-P2V2Y5LV.mjs.map +0 -7
  237. package/dist/lib/node-esm/chunk-RI35DJSW.mjs +0 -542
  238. package/dist/lib/node-esm/chunk-RI35DJSW.mjs.map +0 -7
  239. package/dist/lib/node-esm/intent-resolver-CDTQKQD4.mjs +0 -46
  240. package/dist/lib/node-esm/intent-resolver-CDTQKQD4.mjs.map +0 -7
  241. package/dist/lib/node-esm/react-surface-PCW5HN3B.mjs +0 -80
  242. package/dist/lib/node-esm/react-surface-PCW5HN3B.mjs.map +0 -7
  243. package/dist/types/src/components/DebugPanel/DebugPanel.d.ts +0 -7
  244. package/dist/types/src/components/DebugPanel/DebugPanel.d.ts.map +0 -1
  245. package/dist/types/src/components/DebugPanel/index.d.ts +0 -2
  246. package/dist/types/src/components/DebugPanel/index.d.ts.map +0 -1
  247. package/dist/types/src/components/LogsPanel/LogsPanel.d.ts +0 -8
  248. package/dist/types/src/components/LogsPanel/LogsPanel.d.ts.map +0 -1
  249. package/dist/types/src/components/LogsPanel/index.d.ts +0 -2
  250. package/dist/types/src/components/LogsPanel/index.d.ts.map +0 -1
  251. package/dist/types/src/components/ScriptSettings/ScriptSettings.d.ts.map +0 -1
  252. package/dist/types/src/components/ScriptSettings/index.d.ts +0 -2
  253. package/dist/types/src/components/ScriptSettings/index.d.ts.map +0 -1
  254. package/dist/types/src/components/ScriptSettingsPanel.d.ts +0 -7
  255. package/dist/types/src/components/ScriptSettingsPanel.d.ts.map +0 -1
  256. package/dist/types/src/hooks/view.d.ts +0 -33
  257. package/dist/types/src/hooks/view.d.ts.map +0 -1
  258. package/src/components/DebugPanel/index.ts +0 -5
  259. package/src/components/LogsPanel/LogsPanel.tsx +0 -111
  260. package/src/components/ScriptSettings/index.ts +0 -5
  261. package/src/hooks/view.ts +0 -52
  262. /package/dist/lib/browser/{compiler-YY2XSKHQ.mjs.map → compiler-56LTBEQB.mjs.map} +0 -0
  263. /package/dist/lib/node/{compiler-UIBLKJKG.cjs.map → compiler-W2RU3M7U.cjs.map} +0 -0
  264. /package/dist/lib/node-esm/{compiler-XTXFGZJM.mjs.map → compiler-VT5C2Z3T.mjs.map} +0 -0
@@ -1,541 +0,0 @@
1
- import {
2
- templates
3
- } from "./chunk-4SSKJNMZ.mjs";
4
- import {
5
- SCRIPT_PLUGIN
6
- } from "./chunk-FVVCAWNP.mjs";
7
-
8
- // packages/plugins/experimental/plugin-script/src/hooks/deploy.ts
9
- import { useCallback, useEffect, useMemo } from "react";
10
- import { FunctionType, getInvocationUrl, getUserFunctionUrlInMetadata, incrementSemverPatch, setUserFunctionUrlInMetadata, uploadWorkerFunction } from "@dxos/functions";
11
- import { Bundler } from "@dxos/functions/bundler";
12
- import { log } from "@dxos/log";
13
- import { useClient } from "@dxos/react-client";
14
- import { Filter, create, getMeta, getSpace, makeRef, useQuery } from "@dxos/react-client/echo";
15
- import { useTranslation } from "@dxos/react-ui";
16
- import { createMenuAction } from "@dxos/react-ui-menu";
17
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-script/src/hooks/deploy.ts";
18
- var createDeploy = (state) => {
19
- const errorItem = createMenuAction("error", {
20
- label: state.error ?? [
21
- "no error label",
22
- {
23
- ns: SCRIPT_PLUGIN
24
- }
25
- ],
26
- icon: "ph--warning-circle--regular",
27
- hidden: !state.error
28
- });
29
- const deployAction = createMenuAction("deploy", {
30
- type: "deploy",
31
- label: [
32
- state.deploying ? "pending label" : "deploy label",
33
- {
34
- ns: SCRIPT_PLUGIN
35
- }
36
- ],
37
- icon: state.deploying ? "ph--spinner-gap--regular" : "ph--cloud-arrow-up--regular",
38
- disabled: state.deploying,
39
- classNames: state.deploying ? "[&_svg]:animate-spin" : ""
40
- });
41
- const copyAction = createMenuAction("copy", {
42
- type: "copy",
43
- label: [
44
- "copy link label",
45
- {
46
- ns: SCRIPT_PLUGIN
47
- }
48
- ],
49
- icon: "ph--link--regular",
50
- disabled: !state.functionUrl
51
- });
52
- return {
53
- nodes: [
54
- errorItem,
55
- deployAction,
56
- copyAction
57
- ],
58
- edges: [
59
- {
60
- source: "root",
61
- target: "error"
62
- },
63
- {
64
- source: "root",
65
- target: "deploy"
66
- },
67
- {
68
- source: "root",
69
- target: "copy"
70
- }
71
- ]
72
- };
73
- };
74
- var useDeployDeps = ({ script }) => {
75
- const space = getSpace(script);
76
- const [fn] = useQuery(space, Filter.schema(FunctionType, {
77
- source: script
78
- }));
79
- const client = useClient();
80
- const existingFunctionUrl = useMemo(() => fn && getUserFunctionUrlInMetadata(getMeta(fn)), [
81
- fn
82
- ]);
83
- return {
84
- space,
85
- fn,
86
- client,
87
- existingFunctionUrl
88
- };
89
- };
90
- var useDeployState = ({ state, script }) => {
91
- const { space, client, existingFunctionUrl } = useDeployDeps({
92
- script
93
- });
94
- useEffect(() => {
95
- if (!existingFunctionUrl) {
96
- return;
97
- }
98
- state.functionUrl = getInvocationUrl(existingFunctionUrl, client.config.values.runtime?.services?.edge?.url ?? "", {
99
- spaceId: space?.id
100
- });
101
- }, [
102
- existingFunctionUrl,
103
- space
104
- ]);
105
- useEffect(() => {
106
- state.deployed = Boolean(existingFunctionUrl) && !script.changed;
107
- }, [
108
- script.changed,
109
- existingFunctionUrl
110
- ]);
111
- };
112
- var useDeployHandler = ({ state, script }) => {
113
- const { space, fn, client, existingFunctionUrl } = useDeployDeps({
114
- script
115
- });
116
- const { t } = useTranslation(SCRIPT_PLUGIN);
117
- return useCallback(async () => {
118
- if (!script.source || !space) {
119
- return;
120
- }
121
- state.error = void 0;
122
- state.deploying = true;
123
- try {
124
- const existingFunctionId = existingFunctionUrl?.split("/").at(-1);
125
- const bundler = new Bundler({
126
- platform: "browser",
127
- sandboxedModules: [],
128
- remoteModules: {}
129
- });
130
- const buildResult = await bundler.bundle({
131
- source: script.source.target.content
132
- });
133
- if (buildResult.error || !buildResult.bundle) {
134
- throw buildResult.error;
135
- }
136
- const { functionId, version, meta } = await uploadWorkerFunction({
137
- client,
138
- spaceId: space.id,
139
- version: fn ? incrementSemverPatch(fn.version) : "0.0.1",
140
- functionId: existingFunctionId,
141
- source: buildResult.bundle
142
- });
143
- if (functionId === void 0 || version === void 0) {
144
- throw new Error(`Upload didn't return expected data: functionId=${functionId}, version=${version}`);
145
- }
146
- log.info("function uploaded", {
147
- functionId,
148
- version
149
- }, {
150
- F: __dxlog_file,
151
- L: 124,
152
- S: void 0,
153
- C: (f, a) => f(...a)
154
- });
155
- if (fn) {
156
- fn.version = version;
157
- }
158
- const deployedFunction = fn ?? space.db.add(create(FunctionType, {
159
- name: functionId,
160
- version,
161
- source: makeRef(script)
162
- }));
163
- script.changed = false;
164
- if (script.description !== void 0 && script.description.trim() !== "") {
165
- deployedFunction.description = script.description;
166
- } else if (meta.description) {
167
- deployedFunction.description = meta.description;
168
- } else {
169
- log.verbose("no description in function metadata", {
170
- functionId
171
- }, {
172
- F: __dxlog_file,
173
- L: 138,
174
- S: void 0,
175
- C: (f, a) => f(...a)
176
- });
177
- }
178
- if (meta.inputSchema) {
179
- deployedFunction.inputSchema = meta.inputSchema;
180
- } else {
181
- log.verbose("no input schema in function metadata", {
182
- functionId
183
- }, {
184
- F: __dxlog_file,
185
- L: 144,
186
- S: void 0,
187
- C: (f, a) => f(...a)
188
- });
189
- }
190
- if (meta.outputSchema) {
191
- deployedFunction.outputSchema = meta.outputSchema;
192
- } else {
193
- log.verbose("no output schema in function metadata", {
194
- functionId
195
- }, {
196
- F: __dxlog_file,
197
- L: 150,
198
- S: void 0,
199
- C: (f, a) => f(...a)
200
- });
201
- }
202
- setUserFunctionUrlInMetadata(getMeta(deployedFunction), `/${space.id}/${functionId}`);
203
- } catch (err) {
204
- log.catch(err, void 0, {
205
- F: __dxlog_file,
206
- L: 155,
207
- S: void 0,
208
- C: (f, a) => f(...a)
209
- });
210
- state.error = t("upload failed label");
211
- }
212
- state.deploying = false;
213
- }, [
214
- fn,
215
- client,
216
- t,
217
- existingFunctionUrl,
218
- script,
219
- script.name,
220
- script.source,
221
- space?.id ?? null
222
- ]);
223
- };
224
- var useCopyHandler = ({ state }) => useCallback(async () => {
225
- if (!state.functionUrl) {
226
- return;
227
- }
228
- await navigator.clipboard.writeText(state.functionUrl);
229
- }, [
230
- state.functionUrl
231
- ]);
232
-
233
- // packages/plugins/experimental/plugin-script/src/hooks/useToolbarState.ts
234
- import { useMemo as useMemo2 } from "react";
235
- import { create as create2 } from "@dxos/live-object";
236
- var useToolbarState = (initialState = {}) => {
237
- return useMemo2(() => create2(initialState), []);
238
- };
239
-
240
- // packages/plugins/experimental/plugin-script/src/hooks/format.ts
241
- import { format } from "prettier";
242
- import prettierPluginEstree from "prettier/plugins/estree";
243
- import prettierPluginTypescript from "prettier/plugins/typescript";
244
- import { useCallback as useCallback2 } from "react";
245
- import { log as log2 } from "@dxos/log";
246
- import { createMenuAction as createMenuAction2 } from "@dxos/react-ui-menu";
247
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-script/src/hooks/format.ts";
248
- var createFormat = () => {
249
- const formatAction = createMenuAction2("format", {
250
- label: [
251
- "format label",
252
- {
253
- ns: SCRIPT_PLUGIN
254
- }
255
- ],
256
- icon: "ph--magic-wand--regular"
257
- });
258
- return {
259
- nodes: [
260
- formatAction
261
- ],
262
- edges: [
263
- {
264
- source: "root",
265
- target: "format"
266
- }
267
- ]
268
- };
269
- };
270
- var useFormatHandler = ({ script }) => useCallback2(async () => {
271
- if (!script.source) {
272
- return;
273
- }
274
- try {
275
- script.source.target.content = await format(script.source.target.content, {
276
- parser: "typescript",
277
- plugins: [
278
- prettierPluginEstree,
279
- prettierPluginTypescript
280
- ],
281
- semi: true,
282
- singleQuote: true
283
- });
284
- } catch (err) {
285
- log2.catch(err, void 0, {
286
- F: __dxlog_file2,
287
- L: 45,
288
- S: void 0,
289
- C: (f, a) => f(...a)
290
- });
291
- }
292
- }, [
293
- script.source
294
- ]);
295
-
296
- // packages/plugins/experimental/plugin-script/src/hooks/template.ts
297
- import { useCallback as useCallback3 } from "react";
298
- import { FUNCTIONS_PRESET_META_KEY } from "@dxos/functions/types";
299
- import { getMeta as getMeta2 } from "@dxos/live-object";
300
- import { createMenuItemGroup, createMenuAction as createMenuAction3 } from "@dxos/react-ui-menu";
301
- var createTemplateSelectGroup = () => {
302
- return createMenuItemGroup("template-select", {
303
- label: [
304
- "template select group label",
305
- {
306
- ns: SCRIPT_PLUGIN
307
- }
308
- ],
309
- variant: "dropdownMenu"
310
- });
311
- };
312
- var createTemplateSelectActions = () => {
313
- return templates.map((template) => {
314
- return createMenuAction3(`template--${template.id}`, {
315
- label: template.name,
316
- value: template.id,
317
- type: "template"
318
- });
319
- });
320
- };
321
- var createTemplateSelect = () => {
322
- const templateSelectGroup = createTemplateSelectGroup();
323
- const templateSelectActions = createTemplateSelectActions();
324
- return {
325
- nodes: [
326
- templateSelectGroup,
327
- ...templateSelectActions
328
- ],
329
- edges: [
330
- {
331
- source: "root",
332
- target: "template-select"
333
- },
334
- ...templateSelectActions.map((action) => ({
335
- source: "template-select",
336
- target: action.id
337
- }))
338
- ]
339
- };
340
- };
341
- var useTemplateSelectHandler = ({ script }) => {
342
- return useCallback3((templateId) => {
343
- const template = templates.find((template2) => template2.id === templateId);
344
- if (template) {
345
- script.name = template.name;
346
- script.source.target.content = template.source;
347
- const metaKeys = getMeta2(script).keys;
348
- const oldPresetIndex = metaKeys.findIndex((key) => key.source === FUNCTIONS_PRESET_META_KEY);
349
- if (oldPresetIndex >= 0) {
350
- metaKeys.splice(oldPresetIndex, 1);
351
- }
352
- if (template.presetId) {
353
- metaKeys.push({
354
- source: FUNCTIONS_PRESET_META_KEY,
355
- id: template.presetId
356
- });
357
- }
358
- }
359
- }, [
360
- script
361
- ]);
362
- };
363
-
364
- // packages/plugins/experimental/plugin-script/src/hooks/view.ts
365
- import { createMenuAction as createMenuAction4, createMenuItemGroup as createMenuItemGroup2 } from "@dxos/react-ui-menu";
366
- var views = {
367
- editor: "ph--code--regular",
368
- split: "ph--square-split-vertical--regular",
369
- logs: "ph--clock-counter-clockwise--regular"
370
- };
371
- var createViewGroupItem = (state) => {
372
- return createMenuItemGroup2("view", {
373
- label: [
374
- "view group label",
375
- {
376
- ns: SCRIPT_PLUGIN
377
- }
378
- ],
379
- variant: "dropdownMenu",
380
- applyActive: true,
381
- value: state.view
382
- });
383
- };
384
- var createViewActions = (state) => {
385
- return Object.entries(views).map(([viewType, icon]) => {
386
- return createMenuAction4(`view--${viewType}`, {
387
- type: "view",
388
- value: viewType,
389
- label: [
390
- `view ${viewType} label`,
391
- {
392
- ns: SCRIPT_PLUGIN
393
- }
394
- ],
395
- icon,
396
- checked: state.view === viewType
397
- });
398
- });
399
- };
400
- var createView = (state) => {
401
- const viewGroupItem = createViewGroupItem(state);
402
- const viewActions = createViewActions(state);
403
- return {
404
- nodes: [
405
- viewGroupItem,
406
- ...viewActions
407
- ],
408
- edges: [
409
- {
410
- source: "root",
411
- target: "view"
412
- },
413
- ...viewActions.map((action) => ({
414
- source: "view",
415
- target: action.id
416
- }))
417
- ]
418
- };
419
- };
420
-
421
- // packages/plugins/experimental/plugin-script/src/hooks/useToolbarAction.ts
422
- import { useCallback as useCallback4 } from "react";
423
- import { log as log3 } from "@dxos/log";
424
- var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-script/src/hooks/useToolbarAction.ts";
425
- var useToolbarAction = (props) => {
426
- const handleTemplateSelect = useTemplateSelectHandler(props);
427
- const handleFormat = useFormatHandler(props);
428
- const handleDeploy = useDeployHandler(props);
429
- const handleCopy = useCopyHandler(props);
430
- return useCallback4((action) => {
431
- switch (action.properties.type) {
432
- case "template":
433
- handleTemplateSelect(action.properties.value);
434
- break;
435
- case "view":
436
- props.state.view = action.properties.value;
437
- break;
438
- case "format":
439
- void handleFormat();
440
- break;
441
- case "deploy":
442
- void handleDeploy();
443
- break;
444
- case "copy":
445
- void handleCopy();
446
- break;
447
- default:
448
- log3.error("Unknown action type", action, {
449
- F: __dxlog_file3,
450
- L: 49,
451
- S: void 0,
452
- C: (f, a) => f(...a)
453
- });
454
- }
455
- }, [
456
- handleTemplateSelect,
457
- handleFormat,
458
- handleDeploy,
459
- handleCopy
460
- ]);
461
- };
462
-
463
- // packages/plugins/experimental/plugin-script/src/components/LogsPanel/LogsPanel.tsx
464
- import React, { useCallback as useCallback5, useMemo as useMemo3, useState } from "react";
465
- import { decodeReference } from "@dxos/echo-protocol";
466
- import { useEdgeClient, useQueue } from "@dxos/react-edge-client";
467
- import { Icon, List, ListItem, useTranslation as useTranslation2 } from "@dxos/react-ui";
468
- import { mx } from "@dxos/react-ui-theme";
469
- var LogsPanel = ({ script, classNames }) => {
470
- const { t } = useTranslation2(SCRIPT_PLUGIN);
471
- const { space, existingFunctionUrl } = useDeployDeps({
472
- script
473
- });
474
- const edgeClient = useEdgeClient();
475
- const invocationTraceQueue = useQueue(edgeClient, space?.properties.invocationTraceQueue?.dxn, {
476
- pollInterval: 500
477
- });
478
- const [selected, setSelected] = useState();
479
- const workerDxn = `dxn:worker:${existingFunctionUrl?.split("/").at(-1)}`;
480
- if (!invocationTraceQueue) {
481
- return /* @__PURE__ */ React.createElement("div", null, t("no invocations message"));
482
- }
483
- const handleOpenChange = useCallback5((trace, open) => {
484
- setSelected(open ? trace : void 0);
485
- }, []);
486
- return /* @__PURE__ */ React.createElement(List, {
487
- classNames: mx("overflow-y-auto", classNames)
488
- }, invocationTraceQueue.items.filter((trace) => decodeReference(trace.invocationTarget).dxn?.toString() === workerDxn).map((trace) => /* @__PURE__ */ React.createElement(InvocationTraceItem, {
489
- key: trace.id,
490
- trace,
491
- open: selected?.id === trace.id,
492
- setOpen: handleOpenChange
493
- })));
494
- };
495
- var InvocationTraceItem = ({ trace, open, setOpen }) => {
496
- const edgeClient = useEdgeClient();
497
- const eventQueue = useQueue(edgeClient, open ? decodeReference(trace.invocationTraceQueue).dxn : void 0);
498
- const handleOpenChange = useCallback5((open2) => {
499
- setOpen?.(trace, open2);
500
- }, [
501
- trace,
502
- setOpen
503
- ]);
504
- const logs = useMemo3(() => eventQueue?.items.flatMap((event) => event.logs), [
505
- eventQueue?.items
506
- ]);
507
- const heading = "bodyText" in trace.input && typeof trace.input.bodyText === "string" ? trace.input.bodyText : JSON.stringify(trace.input);
508
- return /* @__PURE__ */ React.createElement(ListItem.Root, {
509
- key: trace.id,
510
- collapsible: true,
511
- open,
512
- onOpenChange: handleOpenChange
513
- }, /* @__PURE__ */ React.createElement("div", {
514
- className: "flex items-center gap-2"
515
- }, /* @__PURE__ */ React.createElement(ListItem.OpenTrigger, null), /* @__PURE__ */ React.createElement(ListItem.Endcap, {
516
- classNames: "flex items-center justify-center"
517
- }, /* @__PURE__ */ React.createElement(Icon, {
518
- icon: trace.outcome === "success" ? "ph--check--regular" : "ph--x--regular",
519
- size: 5
520
- })), /* @__PURE__ */ React.createElement(ListItem.Heading, {
521
- classNames: "flex-1 flex items-center gap-2 truncate"
522
- }, /* @__PURE__ */ React.createElement("span", null, new Date(trace.timestampMs).toLocaleString()), /* @__PURE__ */ React.createElement("span", null, heading))), logs && /* @__PURE__ */ React.createElement(ListItem.CollapsibleContent, null, /* @__PURE__ */ React.createElement("div", {
523
- className: "flex items-center gap-2"
524
- }, /* @__PURE__ */ React.createElement("span", null, "Duration:"), /* @__PURE__ */ React.createElement("span", null, trace.durationMs, "ms")), /* @__PURE__ */ React.createElement("pre", null, /* @__PURE__ */ React.createElement("div", null, JSON.stringify(trace.input, null, 2)), logs.map((log4, index) => {
525
- return /* @__PURE__ */ React.createElement("div", {
526
- key: index
527
- }, JSON.stringify(log4, null, 2));
528
- }))));
529
- };
530
-
531
- export {
532
- createDeploy,
533
- useDeployState,
534
- createFormat,
535
- createTemplateSelect,
536
- createView,
537
- useToolbarAction,
538
- useToolbarState,
539
- LogsPanel
540
- };
541
- //# sourceMappingURL=chunk-7TZYIGBS.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", "../../../src/hooks/view.ts", "../../../src/hooks/useToolbarAction.ts", "../../../src/components/LogsPanel/LogsPanel.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback, useEffect, useMemo } from 'react';\n\nimport {\n FunctionType,\n type ScriptType,\n getInvocationUrl,\n getUserFunctionUrlInMetadata,\n incrementSemverPatch,\n setUserFunctionUrlInMetadata,\n uploadWorkerFunction,\n} from '@dxos/functions';\nimport { Bundler } from '@dxos/functions/bundler';\nimport { log } from '@dxos/log';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, create, getMeta, getSpace, makeRef, useQuery } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { createMenuAction } from '@dxos/react-ui-menu';\n\nimport { type ViewState } from './view';\nimport { SCRIPT_PLUGIN } from '../meta';\n\nexport type DeployActionProperties = { type: 'deploy' } | { type: 'copy' };\n\nexport type DeployState = ViewState & {\n deploying: boolean;\n deployed: boolean;\n functionUrl: string;\n error: string;\n};\n\nexport const createDeploy = (state: Partial<DeployState>) => {\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 });\n\n const deployAction = createMenuAction<DeployActionProperties>('deploy', {\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 const copyAction = createMenuAction<DeployActionProperties>('copy', {\n type: 'copy',\n label: ['copy link label', { ns: SCRIPT_PLUGIN }],\n icon: 'ph--link--regular',\n disabled: !state.functionUrl,\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 useDeployDeps = ({ script }: { script: ScriptType }) => {\n const space = getSpace(script);\n const [fn] = useQuery(space, Filter.schema(FunctionType, { source: script }));\n const client = useClient();\n const existingFunctionUrl = useMemo(() => fn && getUserFunctionUrlInMetadata(getMeta(fn)), [fn]);\n return { space, fn, client, existingFunctionUrl };\n};\n\nexport const useDeployState = ({ state, script }: { state: Partial<DeployState>; script: ScriptType }) => {\n const { space, client, existingFunctionUrl } = useDeployDeps({ script });\n useEffect(() => {\n if (!existingFunctionUrl) {\n return;\n }\n\n state.functionUrl = getInvocationUrl(existingFunctionUrl, client.config.values.runtime?.services?.edge?.url ?? '', {\n spaceId: space?.id,\n });\n }, [existingFunctionUrl, space]);\n\n useEffect(() => {\n state.deployed = Boolean(existingFunctionUrl) && !script.changed;\n }, [script.changed, existingFunctionUrl]);\n};\n\nexport const useDeployHandler = ({ state, script }: { state: Partial<DeployState>; script: ScriptType }) => {\n const { space, fn, client, existingFunctionUrl } = useDeployDeps({ script });\n const { t } = useTranslation(SCRIPT_PLUGIN);\n\n return useCallback(async () => {\n if (!script.source || !space) {\n return;\n }\n\n state.error = undefined;\n state.deploying = true;\n\n try {\n const existingFunctionId = existingFunctionUrl?.split('/').at(-1);\n\n const bundler = new Bundler({ platform: 'browser', sandboxedModules: [], remoteModules: {} });\n const buildResult = await bundler.bundle({ source: script.source.target!.content });\n if (buildResult.error || !buildResult.bundle) {\n throw buildResult.error;\n }\n\n const { functionId, version, meta } = await uploadWorkerFunction({\n client,\n spaceId: space.id,\n version: fn ? incrementSemverPatch(fn.version) : '0.0.1',\n functionId: existingFunctionId,\n source: buildResult.bundle,\n });\n if (functionId === undefined || version === undefined) {\n throw new Error(`Upload didn't return expected data: functionId=${functionId}, version=${version}`);\n }\n\n log.info('function uploaded', { functionId, version });\n if (fn) {\n fn.version = version;\n }\n\n const deployedFunction =\n fn ?? space.db.add(create(FunctionType, { name: functionId, version, source: makeRef(script) }));\n\n script.changed = false;\n if (script.description !== undefined && script.description.trim() !== '') {\n deployedFunction.description = script.description;\n } else if (meta.description) {\n deployedFunction.description = meta.description;\n } else {\n log.verbose('no description in function metadata', { functionId });\n }\n\n if (meta.inputSchema) {\n deployedFunction.inputSchema = meta.inputSchema;\n } else {\n log.verbose('no input schema in function metadata', { functionId });\n }\n\n if (meta.outputSchema) {\n deployedFunction.outputSchema = meta.outputSchema;\n } else {\n log.verbose('no output schema in function metadata', { functionId });\n }\n\n setUserFunctionUrlInMetadata(getMeta(deployedFunction), `/${space.id}/${functionId}`);\n } catch (err: any) {\n log.catch(err);\n state.error = t('upload failed label');\n }\n state.deploying = false;\n }, [fn, client, t, existingFunctionUrl, script, script.name, script.source, space?.id ?? null]);\n};\n\nexport const useCopyHandler = ({ state }: { state: Partial<DeployState> }) =>\n useCallback(async () => {\n if (!state.functionUrl) {\n return;\n }\n await navigator.clipboard.writeText(state.functionUrl);\n }, [state.functionUrl]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { create } from '@dxos/live-object';\n\nimport { type DeployState } from './deploy';\nimport { type ViewState } from './view';\n\nexport type ScriptToolbarState = Partial<DeployState & ViewState>;\n\n// TODO(burdon): Replace with context provider?\nexport const useToolbarState = (initialState: ScriptToolbarState = {}) => {\n return useMemo(() => create<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';\nimport { useCallback } from 'react';\n\nimport { type ScriptType } from '@dxos/functions/types';\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 = () => {\n const formatAction = createMenuAction('format', {\n label: ['format label', { ns: SCRIPT_PLUGIN }],\n icon: 'ph--magic-wand--regular',\n });\n\n return {\n nodes: [formatAction],\n edges: [{ source: 'root', target: 'format' }],\n };\n};\n\nexport const useFormatHandler = ({ script }: { script: ScriptType }) =>\n useCallback(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 }, [script.source]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback } from 'react';\n\nimport { FUNCTIONS_PRESET_META_KEY, type ScriptType } from '@dxos/functions/types';\nimport { getMeta } from '@dxos/live-object';\nimport { createMenuItemGroup, createMenuAction } 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 = () => {\n return templates.map((template) => {\n return createMenuAction<TemplateActionProperties>(`template--${template.id}`, {\n label: template.name,\n value: template.id,\n type: 'template',\n });\n });\n};\n\nexport const createTemplateSelect = () => {\n const templateSelectGroup = createTemplateSelectGroup();\n const templateSelectActions = createTemplateSelectActions();\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\nexport const useTemplateSelectHandler = ({ script }: { script: ScriptType }) => {\n return useCallback(\n (templateId: string) => {\n const template = templates.find((template) => template.id === templateId);\n if (template) {\n script.name = template.name;\n script.source!.target!.content = template.source;\n const metaKeys = 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 [script],\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { createMenuAction, createMenuItemGroup } from '@dxos/react-ui-menu';\n\nimport { SCRIPT_PLUGIN } from '../meta';\n\nexport type ViewType = 'editor' | 'split' | 'logs';\n\nexport type ViewState = { view: ViewType };\n\nexport type ViewActionProperties = { type: 'view'; value: ViewType };\n\nconst views: Record<ViewType, string> = {\n editor: 'ph--code--regular',\n split: 'ph--square-split-vertical--regular',\n logs: 'ph--clock-counter-clockwise--regular',\n};\n\nconst createViewGroupItem = (state: Partial<ViewState>) => {\n return createMenuItemGroup('view', {\n label: ['view group label', { ns: SCRIPT_PLUGIN }],\n variant: 'dropdownMenu',\n applyActive: true,\n value: state.view,\n });\n};\n\nconst createViewActions = (state: Partial<ViewState>) => {\n return Object.entries(views).map(([viewType, icon]) => {\n return createMenuAction<ViewActionProperties>(`view--${viewType}`, {\n type: 'view',\n value: viewType as ViewType,\n label: [`view ${viewType} label`, { ns: SCRIPT_PLUGIN }],\n icon,\n checked: state.view === viewType,\n });\n });\n};\n\nexport const createView = (state: Partial<ViewState>) => {\n const viewGroupItem = createViewGroupItem(state);\n const viewActions = createViewActions(state);\n return {\n nodes: [viewGroupItem, ...viewActions],\n edges: [\n { source: 'root', target: 'view' },\n ...viewActions.map((action) => ({ source: 'view', target: action.id })),\n ],\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback } from 'react';\n\nimport { type ScriptType } from '@dxos/functions/types';\nimport { log } from '@dxos/log';\nimport { type MenuAction, type MenuActionHandler } from '@dxos/react-ui-menu';\n\nimport { type DeployActionProperties, useDeployHandler, useCopyHandler } from './deploy';\nimport { type FormatActionProperties, useFormatHandler } from './format';\nimport { type TemplateActionProperties, useTemplateSelectHandler } from './template';\nimport { type ScriptToolbarState } from './useToolbarState';\nimport { type ViewActionProperties } from './view';\n\nexport type ScriptToolbarActionProperties =\n | TemplateActionProperties\n | ViewActionProperties\n | FormatActionProperties\n | DeployActionProperties;\n\nexport type ScriptToolbarAction = MenuAction<ScriptToolbarActionProperties>;\n\nexport const useToolbarAction = (props: { state: ScriptToolbarState; script: ScriptType }) => {\n const handleTemplateSelect = useTemplateSelectHandler(props);\n const handleFormat = useFormatHandler(props);\n const handleDeploy = useDeployHandler(props);\n const handleCopy = useCopyHandler(props);\n return useCallback(\n ((action: ScriptToolbarAction) => {\n switch (action.properties.type) {\n case 'template':\n handleTemplateSelect(action.properties.value);\n break;\n case 'view':\n props.state.view = action.properties.value;\n break;\n case 'format':\n void handleFormat();\n break;\n case 'deploy':\n void handleDeploy();\n break;\n case 'copy':\n void handleCopy();\n break;\n default:\n log.error('Unknown action type', action);\n }\n }) as MenuActionHandler,\n [handleTemplateSelect, handleFormat, handleDeploy, handleCopy],\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useMemo, useState } from 'react';\n\nimport { decodeReference } from '@dxos/echo-protocol';\nimport { type TraceEvent, type InvocationTraceEvent, type ScriptType } from '@dxos/functions/types';\nimport { useEdgeClient, useQueue } from '@dxos/react-edge-client';\nimport { Icon, List, ListItem, useTranslation, type ThemedClassName } from '@dxos/react-ui';\nimport { mx } from '@dxos/react-ui-theme';\n\nimport { useDeployDeps } from '../../hooks';\nimport { SCRIPT_PLUGIN } from '../../meta';\n\nexport type LogsPanelProps = ThemedClassName<{\n script: ScriptType;\n}>;\n\nexport const LogsPanel = ({ script, classNames }: LogsPanelProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n // TODO(wittjosiah): Refactor these hooks.\n const { space, existingFunctionUrl } = useDeployDeps({ script });\n const edgeClient = useEdgeClient();\n const invocationTraceQueue = useQueue<InvocationTraceEvent>(edgeClient, space?.properties.invocationTraceQueue?.dxn, {\n pollInterval: 500,\n });\n const [selected, setSelected] = useState<InvocationTraceEvent>();\n const workerDxn = `dxn:worker:${existingFunctionUrl?.split('/').at(-1)}`;\n\n if (!invocationTraceQueue) {\n return <div>{t('no invocations message')}</div>;\n }\n\n const handleOpenChange = useCallback((trace: InvocationTraceEvent, open: boolean) => {\n setSelected(open ? trace : undefined);\n }, []);\n\n return (\n <List classNames={mx('overflow-y-auto', classNames)}>\n {invocationTraceQueue.items\n .filter((trace) => decodeReference(trace.invocationTarget).dxn?.toString() === workerDxn)\n .map((trace) => (\n <InvocationTraceItem\n key={trace.id}\n trace={trace}\n open={selected?.id === trace.id}\n setOpen={handleOpenChange}\n />\n ))}\n </List>\n );\n};\n\nconst InvocationTraceItem = ({\n trace,\n open,\n setOpen,\n}: {\n trace: InvocationTraceEvent;\n open?: boolean;\n setOpen?: (trace: InvocationTraceEvent, open: boolean) => void;\n}) => {\n const edgeClient = useEdgeClient();\n const eventQueue = useQueue<TraceEvent>(\n edgeClient,\n open ? decodeReference(trace.invocationTraceQueue).dxn : undefined,\n );\n\n const handleOpenChange = useCallback(\n (open: boolean) => {\n setOpen?.(trace, open);\n },\n [trace, setOpen],\n );\n\n const logs = useMemo(() => eventQueue?.items.flatMap((event) => event.logs), [eventQueue?.items]);\n const heading =\n 'bodyText' in trace.input && typeof trace.input.bodyText === 'string'\n ? trace.input.bodyText\n : JSON.stringify(trace.input);\n\n return (\n <ListItem.Root key={trace.id} collapsible open={open} onOpenChange={handleOpenChange}>\n <div className='flex items-center gap-2'>\n <ListItem.OpenTrigger />\n <ListItem.Endcap classNames='flex items-center justify-center'>\n <Icon icon={trace.outcome === 'success' ? 'ph--check--regular' : 'ph--x--regular'} size={5} />\n </ListItem.Endcap>\n <ListItem.Heading classNames='flex-1 flex items-center gap-2 truncate'>\n <span>{new Date(trace.timestampMs).toLocaleString()}</span>\n <span>{heading}</span>\n </ListItem.Heading>\n </div>\n {logs && (\n <ListItem.CollapsibleContent>\n <div className='flex items-center gap-2'>\n <span>Duration:</span>\n <span>{trace.durationMs}ms</span>\n </div>\n <pre>\n <div>{JSON.stringify(trace.input, null, 2)}</div>\n {logs.map((log, index) => {\n return <div key={index}>{JSON.stringify(log, null, 2)}</div>;\n })}\n </pre>\n </ListItem.CollapsibleContent>\n )}\n </ListItem.Root>\n );\n};\n"],
5
- "mappings": "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",
6
- "names": ["useCallback", "useEffect", "useMemo", "FunctionType", "getInvocationUrl", "getUserFunctionUrlInMetadata", "incrementSemverPatch", "setUserFunctionUrlInMetadata", "uploadWorkerFunction", "Bundler", "log", "useClient", "Filter", "create", "getMeta", "getSpace", "makeRef", "useQuery", "useTranslation", "createMenuAction", "createDeploy", "state", "errorItem", "createMenuAction", "label", "error", "ns", "SCRIPT_PLUGIN", "icon", "hidden", "deployAction", "type", "deploying", "disabled", "classNames", "copyAction", "functionUrl", "nodes", "edges", "source", "target", "useDeployDeps", "script", "space", "getSpace", "fn", "useQuery", "Filter", "schema", "FunctionType", "client", "useClient", "existingFunctionUrl", "useMemo", "getUserFunctionUrlInMetadata", "getMeta", "useDeployState", "useEffect", "getInvocationUrl", "config", "values", "runtime", "services", "edge", "url", "spaceId", "id", "deployed", "Boolean", "changed", "useDeployHandler", "t", "useTranslation", "useCallback", "undefined", "existingFunctionId", "split", "at", "bundler", "Bundler", "platform", "sandboxedModules", "remoteModules", "buildResult", "bundle", "content", "functionId", "version", "meta", "uploadWorkerFunction", "incrementSemverPatch", "Error", "log", "info", "deployedFunction", "db", "add", "create", "name", "makeRef", "description", "trim", "verbose", "inputSchema", "outputSchema", "setUserFunctionUrlInMetadata", "err", "catch", "useCopyHandler", "navigator", "clipboard", "writeText", "useMemo", "create", "useToolbarState", "initialState", "useMemo", "create", "format", "prettierPluginEstree", "prettierPluginTypescript", "useCallback", "log", "createMenuAction", "createFormat", "formatAction", "createMenuAction", "label", "ns", "SCRIPT_PLUGIN", "icon", "nodes", "edges", "source", "target", "useFormatHandler", "script", "useCallback", "content", "format", "parser", "plugins", "prettierPluginEstree", "prettierPluginTypescript", "semi", "singleQuote", "err", "log", "catch", "useCallback", "FUNCTIONS_PRESET_META_KEY", "getMeta", "createMenuItemGroup", "createMenuAction", "createTemplateSelectGroup", "createMenuItemGroup", "label", "ns", "SCRIPT_PLUGIN", "variant", "createTemplateSelectActions", "templates", "map", "template", "createMenuAction", "id", "name", "value", "type", "createTemplateSelect", "templateSelectGroup", "templateSelectActions", "nodes", "edges", "source", "target", "action", "useTemplateSelectHandler", "script", "useCallback", "templateId", "find", "content", "metaKeys", "getMeta", "keys", "oldPresetIndex", "findIndex", "key", "FUNCTIONS_PRESET_META_KEY", "splice", "presetId", "push", "createMenuAction", "createMenuItemGroup", "views", "editor", "split", "logs", "createViewGroupItem", "state", "createMenuItemGroup", "label", "ns", "SCRIPT_PLUGIN", "variant", "applyActive", "value", "view", "createViewActions", "Object", "entries", "map", "viewType", "icon", "createMenuAction", "type", "checked", "createView", "viewGroupItem", "viewActions", "nodes", "edges", "source", "target", "action", "id", "useCallback", "log", "useToolbarAction", "props", "handleTemplateSelect", "useTemplateSelectHandler", "handleFormat", "useFormatHandler", "handleDeploy", "useDeployHandler", "handleCopy", "useCopyHandler", "useCallback", "action", "properties", "type", "value", "state", "view", "log", "error", "React", "useCallback", "useMemo", "useState", "decodeReference", "useEdgeClient", "useQueue", "Icon", "List", "ListItem", "useTranslation", "mx", "LogsPanel", "script", "classNames", "t", "useTranslation", "SCRIPT_PLUGIN", "space", "existingFunctionUrl", "useDeployDeps", "edgeClient", "useEdgeClient", "invocationTraceQueue", "useQueue", "properties", "dxn", "pollInterval", "selected", "setSelected", "useState", "workerDxn", "split", "at", "div", "handleOpenChange", "useCallback", "trace", "open", "undefined", "List", "mx", "items", "filter", "decodeReference", "invocationTarget", "toString", "map", "InvocationTraceItem", "key", "id", "setOpen", "eventQueue", "logs", "useMemo", "flatMap", "event", "heading", "input", "bodyText", "JSON", "stringify", "ListItem", "Root", "collapsible", "onOpenChange", "className", "OpenTrigger", "Endcap", "Icon", "icon", "outcome", "size", "Heading", "span", "Date", "timestampMs", "toLocaleString", "CollapsibleContent", "durationMs", "pre", "log", "index"]
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 = {\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/experimental/plugin-explorer',\n tags: ['experimental'],\n screenshots: ['https://dxos.network/plugin-details-scripts-dark.png'],\n} satisfies PluginMeta;\n"],
5
- "mappings": ";AAMO,IAAMA,gBAAgB;AAEtB,IAAMC,OAAO;EAClBC,IAAIF;EACJG,MAAM;EACNC,aACE;EACFC,MAAM;EACNC,QAAQ;EACRC,MAAM;IAAC;;EACPC,aAAa;IAAC;;AAChB;",
6
- "names": ["SCRIPT_PLUGIN", "meta", "id", "name", "description", "icon", "source", "tags", "screenshots"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { TitleAnnotationId } from 'effect/SchemaAST';\n\nimport { SpaceSchema } from '@dxos/client/echo';\nimport { S } from '@dxos/echo-schema';\nimport { ScriptType } from '@dxos/functions/types';\nimport { EditorInputMode } from '@dxos/react-ui-editor';\n\nimport { SCRIPT_PLUGIN } from './meta';\n\nexport namespace ScriptAction {\n const SCRIPT_ACTION = `${SCRIPT_PLUGIN}/action`;\n\n export const CreateScriptSchema = S.Struct({\n name: S.optional(S.String),\n // TODO(wittjosiah): Placeholder annotation?\n gistUrl: S.optional(S.String.annotations({ [TitleAnnotationId]: 'Import from Gist (url)' })),\n });\n\n export type CreateScriptProps = S.Schema.Type<typeof CreateScriptSchema>;\n\n export class Create extends S.TaggedClass<Create>()(`${SCRIPT_ACTION}/create`, {\n input: S.extend(CreateScriptSchema, S.Struct({ space: SpaceSchema })),\n output: S.Struct({\n object: ScriptType,\n }),\n }) {}\n}\n\nexport const ScriptSettingsSchema = S.mutable(\n S.Struct({\n editorInputMode: EditorInputMode,\n }),\n);\n\nexport type ScriptSettingsProps = S.Schema.Type<typeof ScriptSettingsSchema>;\n"],
5
- "mappings": ";;;;;AAIA,SAASA,yBAAyB;AAElC,SAASC,mBAAmB;AAC5B,SAASC,SAAS;AAClB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;;UAIfC,eAAAA;AACf,QAAMC,gBAAgB,GAAGC,aAAAA;gBAEZC,qBAAqBC,EAAEC,OAAO;IACzCC,MAAMF,EAAEG,SAASH,EAAEI,MAAM;;IAEzBC,SAASL,EAAEG,SAASH,EAAEI,OAAOE,YAAY;MAAE,CAACC,iBAAAA,GAAoB;IAAyB,CAAA,CAAA;EAC3F,CAAA;EAIO,MAAMC,eAAeR,EAAES,YAAW,EAAW,GAAGZ,aAAAA,WAAwB;IAC7Ea,OAAOV,EAAEW,OAAMf,cAACG,oBAAoBC,EAAEC,OAAO;MAAEW,OAAOC;IAAY,CAAA,CAAA;IAClEC,QAAQd,EAAEC,OAAO;MACfc,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;gBALSR,SAAAA;AAMf,GAjBiBZ,iBAAAA,eAAAA,CAAAA,EAAAA;AAmBV,IAAMqB,uBAAuBjB,EAAEkB,QACpClB,EAAEC,OAAO;EACPkB,iBAAiBC;AACnB,CAAA,CAAA;",
6
- "names": ["TitleAnnotationId", "SpaceSchema", "S", "ScriptType", "EditorInputMode", "ScriptAction", "SCRIPT_ACTION", "SCRIPT_PLUGIN", "CreateScriptSchema", "S", "Struct", "name", "optional", "String", "gistUrl", "annotations", "TitleAnnotationId", "Create", "TaggedClass", "input", "extend", "space", "SpaceSchema", "output", "object", "ScriptType", "ScriptSettingsSchema", "mutable", "editorInputMode", "EditorInputMode"]
7
- }