@dxos/plugin-script 0.8.1-main.ba2dec9 → 0.8.1-staging.31c3ee1

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 (266) 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-AIBCQZ7S.mjs → ScriptContainer-R25PRK2D.mjs} +28 -40
  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-5RZVHFGR.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-ZYVN7ZW6.cjs → ScriptContainer-5KY6ZOQD.cjs} +31 -41
  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-PTXU7QFZ.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-PI7PU5T7.mjs → ScriptContainer-W2F4FGDV.mjs} +28 -40
  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-AXFGQDAD.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/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  136. package/dist/types/src/components/index.d.ts +8 -5
  137. package/dist/types/src/components/index.d.ts.map +1 -1
  138. package/dist/types/src/hooks/deploy.d.ts +16 -12
  139. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  140. package/dist/types/src/hooks/index.d.ts +1 -1
  141. package/dist/types/src/hooks/index.d.ts.map +1 -1
  142. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts +17 -0
  143. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -0
  144. package/dist/types/src/hooks/useToolbarAction.d.ts +2 -3
  145. package/dist/types/src/hooks/useToolbarAction.d.ts.map +1 -1
  146. package/dist/types/src/hooks/useToolbarState.d.ts +2 -8
  147. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  148. package/dist/types/src/meta.d.ts +3 -9
  149. package/dist/types/src/meta.d.ts.map +1 -1
  150. package/dist/types/src/templates/chess.d.ts.map +1 -1
  151. package/dist/types/src/templates/data-generator.d.ts +10 -0
  152. package/dist/types/src/templates/data-generator.d.ts.map +1 -0
  153. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  154. package/dist/types/src/templates/gmail.d.ts +3 -0
  155. package/dist/types/src/templates/gmail.d.ts.map +1 -0
  156. package/dist/types/src/templates/index.d.ts.map +1 -1
  157. package/dist/types/src/translations.d.ts +68 -21
  158. package/dist/types/src/translations.d.ts.map +1 -1
  159. package/dist/types/src/types.d.ts +12 -2
  160. package/dist/types/src/types.d.ts.map +1 -1
  161. package/dist/types/src/util/deploy.d.ts +25 -0
  162. package/dist/types/src/util/deploy.d.ts.map +1 -0
  163. package/dist/types/src/util/functions.d.ts +11 -0
  164. package/dist/types/src/util/functions.d.ts.map +1 -0
  165. package/dist/types/src/util/index.d.ts +3 -0
  166. package/dist/types/src/util/index.d.ts.map +1 -0
  167. package/package.json +51 -49
  168. package/src/ScriptPlugin.tsx +12 -17
  169. package/src/capabilities/app-graph-builder.ts +47 -0
  170. package/src/capabilities/artifact-definition.ts +2 -1
  171. package/src/capabilities/capabilities.ts +2 -2
  172. package/src/capabilities/index.ts +2 -1
  173. package/src/capabilities/intent-resolver.ts +39 -5
  174. package/src/capabilities/react-surface.tsx +64 -25
  175. package/src/capabilities/settings.ts +2 -2
  176. package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +39 -0
  177. package/src/components/DeploymentDialog/DeploymentDialog.tsx +112 -0
  178. package/src/components/DeploymentDialog/index.ts +9 -0
  179. package/src/components/ScriptContainer.tsx +21 -32
  180. package/src/components/ScriptToolbar/ScriptToolbar.tsx +3 -4
  181. package/src/components/{ScriptSettingsPanel.tsx → Settings/ScriptObjectSettings.tsx} +120 -102
  182. package/src/components/{ScriptSettings/ScriptSettings.tsx → Settings/ScriptPluginSettings.tsx} +3 -3
  183. package/src/components/Settings/index.ts +6 -0
  184. package/src/components/{DebugPanel/DebugPanel.tsx → TestPanel/TestPanel.tsx} +8 -14
  185. package/src/components/{LogsPanel → TestPanel}/index.ts +1 -1
  186. package/src/components/TypescriptEditor/TypescriptEditor.tsx +1 -0
  187. package/src/components/index.ts +4 -4
  188. package/src/hooks/deploy.ts +31 -81
  189. package/src/hooks/index.ts +1 -1
  190. package/src/hooks/useCreateAndDeployScriptTemplates.ts +59 -0
  191. package/src/hooks/useToolbarAction.ts +9 -13
  192. package/src/hooks/useToolbarState.ts +2 -2
  193. package/src/meta.ts +7 -2
  194. package/src/templates/chess.ts +4 -0
  195. package/src/templates/data-generator.ts +73 -0
  196. package/src/templates/discord.ts +1 -1
  197. package/src/templates/forex-effect.ts +2 -1
  198. package/src/templates/gmail.ts +244 -0
  199. package/src/templates/index.ts +14 -0
  200. package/src/translations.ts +28 -10
  201. package/src/types.ts +4 -0
  202. package/src/util/deploy.ts +126 -0
  203. package/src/util/functions.ts +53 -0
  204. package/src/util/index.ts +6 -0
  205. package/dist/lib/browser/ScriptContainer-AIBCQZ7S.mjs.map +0 -7
  206. package/dist/lib/browser/artifact-definition-GTL3ZSF2.mjs.map +0 -7
  207. package/dist/lib/browser/chunk-4SSKJNMZ.mjs +0 -69
  208. package/dist/lib/browser/chunk-4SSKJNMZ.mjs.map +0 -7
  209. package/dist/lib/browser/chunk-5RZVHFGR.mjs.map +0 -7
  210. package/dist/lib/browser/chunk-5WPOWUPI.mjs +0 -542
  211. package/dist/lib/browser/chunk-5WPOWUPI.mjs.map +0 -7
  212. package/dist/lib/browser/chunk-6MOQ4BP3.mjs +0 -15
  213. package/dist/lib/browser/chunk-FVVCAWNP.mjs.map +0 -7
  214. package/dist/lib/browser/chunk-JL34HAEL.mjs.map +0 -7
  215. package/dist/lib/browser/intent-resolver-BJ76DBGE.mjs +0 -45
  216. package/dist/lib/browser/intent-resolver-BJ76DBGE.mjs.map +0 -7
  217. package/dist/lib/browser/react-surface-M4RD24IN.mjs +0 -79
  218. package/dist/lib/browser/react-surface-M4RD24IN.mjs.map +0 -7
  219. package/dist/lib/node/ScriptContainer-ZYVN7ZW6.cjs.map +0 -7
  220. package/dist/lib/node/artifact-definition-64KZC4UT.cjs.map +0 -7
  221. package/dist/lib/node/chunk-5UH3F7TA.cjs.map +0 -7
  222. package/dist/lib/node/chunk-B2O7H2AU.cjs +0 -564
  223. package/dist/lib/node/chunk-B2O7H2AU.cjs.map +0 -7
  224. package/dist/lib/node/chunk-PTXU7QFZ.cjs.map +0 -7
  225. package/dist/lib/node/chunk-VJ73IG7P.cjs.map +0 -7
  226. package/dist/lib/node/chunk-XCQNFRZ6.cjs +0 -77
  227. package/dist/lib/node/chunk-XCQNFRZ6.cjs.map +0 -7
  228. package/dist/lib/node/intent-resolver-HQ3FGK2K.cjs +0 -59
  229. package/dist/lib/node/intent-resolver-HQ3FGK2K.cjs.map +0 -7
  230. package/dist/lib/node/react-surface-JDA5UZCC.cjs +0 -95
  231. package/dist/lib/node/react-surface-JDA5UZCC.cjs.map +0 -7
  232. package/dist/lib/node-esm/ScriptContainer-PI7PU5T7.mjs.map +0 -7
  233. package/dist/lib/node-esm/artifact-definition-SF46QOO7.mjs.map +0 -7
  234. package/dist/lib/node-esm/chunk-4YUSGXJ2.mjs +0 -71
  235. package/dist/lib/node-esm/chunk-4YUSGXJ2.mjs.map +0 -7
  236. package/dist/lib/node-esm/chunk-AXFGQDAD.mjs.map +0 -7
  237. package/dist/lib/node-esm/chunk-FHQKFLM7.mjs.map +0 -7
  238. package/dist/lib/node-esm/chunk-GLW67SM7.mjs +0 -543
  239. package/dist/lib/node-esm/chunk-GLW67SM7.mjs.map +0 -7
  240. package/dist/lib/node-esm/chunk-P2V2Y5LV.mjs.map +0 -7
  241. package/dist/lib/node-esm/intent-resolver-CDTQKQD4.mjs +0 -46
  242. package/dist/lib/node-esm/intent-resolver-CDTQKQD4.mjs.map +0 -7
  243. package/dist/lib/node-esm/react-surface-ODWVGWV4.mjs +0 -80
  244. package/dist/lib/node-esm/react-surface-ODWVGWV4.mjs.map +0 -7
  245. package/dist/types/src/components/DebugPanel/DebugPanel.d.ts +0 -7
  246. package/dist/types/src/components/DebugPanel/DebugPanel.d.ts.map +0 -1
  247. package/dist/types/src/components/DebugPanel/index.d.ts +0 -2
  248. package/dist/types/src/components/DebugPanel/index.d.ts.map +0 -1
  249. package/dist/types/src/components/LogsPanel/LogsPanel.d.ts +0 -8
  250. package/dist/types/src/components/LogsPanel/LogsPanel.d.ts.map +0 -1
  251. package/dist/types/src/components/LogsPanel/index.d.ts +0 -2
  252. package/dist/types/src/components/LogsPanel/index.d.ts.map +0 -1
  253. package/dist/types/src/components/ScriptSettings/ScriptSettings.d.ts.map +0 -1
  254. package/dist/types/src/components/ScriptSettings/index.d.ts +0 -2
  255. package/dist/types/src/components/ScriptSettings/index.d.ts.map +0 -1
  256. package/dist/types/src/components/ScriptSettingsPanel.d.ts +0 -7
  257. package/dist/types/src/components/ScriptSettingsPanel.d.ts.map +0 -1
  258. package/dist/types/src/hooks/view.d.ts +0 -33
  259. package/dist/types/src/hooks/view.d.ts.map +0 -1
  260. package/src/components/DebugPanel/index.ts +0 -5
  261. package/src/components/LogsPanel/LogsPanel.tsx +0 -111
  262. package/src/components/ScriptSettings/index.ts +0 -5
  263. package/src/hooks/view.ts +0 -52
  264. /package/dist/lib/browser/{compiler-YY2XSKHQ.mjs.map → compiler-56LTBEQB.mjs.map} +0 -0
  265. /package/dist/lib/node/{compiler-UIBLKJKG.cjs.map → compiler-W2RU3M7U.cjs.map} +0 -0
  266. /package/dist/lib/node-esm/{compiler-XTXFGZJM.mjs.map → compiler-VT5C2Z3T.mjs.map} +0 -0
@@ -1,543 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- templates
4
- } from "./chunk-4YUSGXJ2.mjs";
5
- import {
6
- SCRIPT_PLUGIN
7
- } from "./chunk-P2V2Y5LV.mjs";
8
-
9
- // packages/plugins/experimental/plugin-script/src/hooks/deploy.ts
10
- import { useCallback, useEffect, useMemo } from "react";
11
- import { FunctionType, getInvocationUrl, getUserFunctionUrlInMetadata, incrementSemverPatch, setUserFunctionUrlInMetadata, uploadWorkerFunction } from "@dxos/functions";
12
- import { Bundler } from "@dxos/functions/bundler";
13
- import { log } from "@dxos/log";
14
- import { useClient } from "@dxos/react-client";
15
- import { Filter, create, getMeta, getSpace, makeRef, useQuery } from "@dxos/react-client/echo";
16
- import { useTranslation } from "@dxos/react-ui";
17
- import { createMenuAction } from "@dxos/react-ui-menu";
18
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-script/src/hooks/deploy.ts";
19
- var createDeploy = (state) => {
20
- const errorItem = createMenuAction("error", {
21
- label: state.error ?? [
22
- "no error label",
23
- {
24
- ns: SCRIPT_PLUGIN
25
- }
26
- ],
27
- icon: "ph--warning-circle--regular",
28
- hidden: !state.error
29
- });
30
- const deployAction = createMenuAction("deploy", {
31
- type: "deploy",
32
- label: [
33
- state.deploying ? "pending label" : "deploy label",
34
- {
35
- ns: SCRIPT_PLUGIN
36
- }
37
- ],
38
- icon: state.deploying ? "ph--spinner-gap--regular" : "ph--cloud-arrow-up--regular",
39
- disabled: state.deploying,
40
- classNames: state.deploying ? "[&_svg]:animate-spin" : ""
41
- });
42
- const copyAction = createMenuAction("copy", {
43
- type: "copy",
44
- label: [
45
- "copy link label",
46
- {
47
- ns: SCRIPT_PLUGIN
48
- }
49
- ],
50
- icon: "ph--link--regular",
51
- disabled: !state.functionUrl
52
- });
53
- return {
54
- nodes: [
55
- errorItem,
56
- deployAction,
57
- copyAction
58
- ],
59
- edges: [
60
- {
61
- source: "root",
62
- target: "error"
63
- },
64
- {
65
- source: "root",
66
- target: "deploy"
67
- },
68
- {
69
- source: "root",
70
- target: "copy"
71
- }
72
- ]
73
- };
74
- };
75
- var useDeployDeps = ({ script }) => {
76
- const space = getSpace(script);
77
- const [fn] = useQuery(space, Filter.schema(FunctionType, {
78
- source: script
79
- }));
80
- const client = useClient();
81
- const existingFunctionUrl = useMemo(() => fn && getUserFunctionUrlInMetadata(getMeta(fn)), [
82
- fn
83
- ]);
84
- return {
85
- space,
86
- fn,
87
- client,
88
- existingFunctionUrl
89
- };
90
- };
91
- var useDeployState = ({ state, script }) => {
92
- const { space, client, existingFunctionUrl } = useDeployDeps({
93
- script
94
- });
95
- useEffect(() => {
96
- if (!existingFunctionUrl) {
97
- return;
98
- }
99
- state.functionUrl = getInvocationUrl(existingFunctionUrl, client.config.values.runtime?.services?.edge?.url ?? "", {
100
- spaceId: space?.id
101
- });
102
- }, [
103
- existingFunctionUrl,
104
- space
105
- ]);
106
- useEffect(() => {
107
- state.deployed = Boolean(existingFunctionUrl) && !script.changed;
108
- }, [
109
- script.changed,
110
- existingFunctionUrl
111
- ]);
112
- };
113
- var useDeployHandler = ({ state, script }) => {
114
- const { space, fn, client, existingFunctionUrl } = useDeployDeps({
115
- script
116
- });
117
- const { t } = useTranslation(SCRIPT_PLUGIN);
118
- return useCallback(async () => {
119
- if (!script.source || !space) {
120
- return;
121
- }
122
- state.error = void 0;
123
- state.deploying = true;
124
- try {
125
- const existingFunctionId = existingFunctionUrl?.split("/").at(-1);
126
- const bundler = new Bundler({
127
- platform: "browser",
128
- sandboxedModules: [],
129
- remoteModules: {}
130
- });
131
- const buildResult = await bundler.bundle({
132
- source: script.source.target.content
133
- });
134
- if (buildResult.error || !buildResult.bundle) {
135
- throw buildResult.error;
136
- }
137
- const { functionId, version, meta } = await uploadWorkerFunction({
138
- client,
139
- spaceId: space.id,
140
- version: fn ? incrementSemverPatch(fn.version) : "0.0.1",
141
- functionId: existingFunctionId,
142
- source: buildResult.bundle
143
- });
144
- if (functionId === void 0 || version === void 0) {
145
- throw new Error(`Upload didn't return expected data: functionId=${functionId}, version=${version}`);
146
- }
147
- log.info("function uploaded", {
148
- functionId,
149
- version
150
- }, {
151
- F: __dxlog_file,
152
- L: 124,
153
- S: void 0,
154
- C: (f, a) => f(...a)
155
- });
156
- if (fn) {
157
- fn.version = version;
158
- }
159
- const deployedFunction = fn ?? space.db.add(create(FunctionType, {
160
- name: functionId,
161
- version,
162
- source: makeRef(script)
163
- }));
164
- script.changed = false;
165
- if (script.description !== void 0 && script.description.trim() !== "") {
166
- deployedFunction.description = script.description;
167
- } else if (meta.description) {
168
- deployedFunction.description = meta.description;
169
- } else {
170
- log.verbose("no description in function metadata", {
171
- functionId
172
- }, {
173
- F: __dxlog_file,
174
- L: 138,
175
- S: void 0,
176
- C: (f, a) => f(...a)
177
- });
178
- }
179
- if (meta.inputSchema) {
180
- deployedFunction.inputSchema = meta.inputSchema;
181
- } else {
182
- log.verbose("no input schema in function metadata", {
183
- functionId
184
- }, {
185
- F: __dxlog_file,
186
- L: 144,
187
- S: void 0,
188
- C: (f, a) => f(...a)
189
- });
190
- }
191
- if (meta.outputSchema) {
192
- deployedFunction.outputSchema = meta.outputSchema;
193
- } else {
194
- log.verbose("no output schema in function metadata", {
195
- functionId
196
- }, {
197
- F: __dxlog_file,
198
- L: 149,
199
- S: void 0,
200
- C: (f, a) => f(...a)
201
- });
202
- }
203
- setUserFunctionUrlInMetadata(getMeta(deployedFunction), `/${space.id}/${functionId}`);
204
- state.view = "split";
205
- } catch (err) {
206
- log.catch(err, void 0, {
207
- F: __dxlog_file,
208
- L: 156,
209
- S: void 0,
210
- C: (f, a) => f(...a)
211
- });
212
- state.error = t("upload failed label");
213
- }
214
- state.deploying = false;
215
- }, [
216
- fn,
217
- client,
218
- t,
219
- existingFunctionUrl,
220
- script,
221
- script.name,
222
- script.source,
223
- space?.id ?? null
224
- ]);
225
- };
226
- var useCopyHandler = ({ state }) => useCallback(async () => {
227
- if (!state.functionUrl) {
228
- return;
229
- }
230
- await navigator.clipboard.writeText(state.functionUrl);
231
- }, [
232
- state.functionUrl
233
- ]);
234
-
235
- // packages/plugins/experimental/plugin-script/src/hooks/useToolbarState.ts
236
- import { useMemo as useMemo2 } from "react";
237
- import { create as create2 } from "@dxos/live-object";
238
- var useToolbarState = (initialState = {}) => {
239
- return useMemo2(() => create2(initialState), []);
240
- };
241
-
242
- // packages/plugins/experimental/plugin-script/src/hooks/format.ts
243
- import { format } from "prettier";
244
- import prettierPluginEstree from "prettier/plugins/estree";
245
- import prettierPluginTypescript from "prettier/plugins/typescript";
246
- import { useCallback as useCallback2 } from "react";
247
- import { log as log2 } from "@dxos/log";
248
- import { createMenuAction as createMenuAction2 } from "@dxos/react-ui-menu";
249
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-script/src/hooks/format.ts";
250
- var createFormat = () => {
251
- const formatAction = createMenuAction2("format", {
252
- label: [
253
- "format label",
254
- {
255
- ns: SCRIPT_PLUGIN
256
- }
257
- ],
258
- icon: "ph--magic-wand--regular"
259
- });
260
- return {
261
- nodes: [
262
- formatAction
263
- ],
264
- edges: [
265
- {
266
- source: "root",
267
- target: "format"
268
- }
269
- ]
270
- };
271
- };
272
- var useFormatHandler = ({ script }) => useCallback2(async () => {
273
- if (!script.source) {
274
- return;
275
- }
276
- try {
277
- script.source.target.content = await format(script.source.target.content, {
278
- parser: "typescript",
279
- plugins: [
280
- prettierPluginEstree,
281
- prettierPluginTypescript
282
- ],
283
- semi: true,
284
- singleQuote: true
285
- });
286
- } catch (err) {
287
- log2.catch(err, void 0, {
288
- F: __dxlog_file2,
289
- L: 45,
290
- S: void 0,
291
- C: (f, a) => f(...a)
292
- });
293
- }
294
- }, [
295
- script.source
296
- ]);
297
-
298
- // packages/plugins/experimental/plugin-script/src/hooks/template.ts
299
- import { useCallback as useCallback3 } from "react";
300
- import { FUNCTIONS_PRESET_META_KEY } from "@dxos/functions/types";
301
- import { getMeta as getMeta2 } from "@dxos/live-object";
302
- import { createMenuItemGroup, createMenuAction as createMenuAction3 } from "@dxos/react-ui-menu";
303
- var createTemplateSelectGroup = () => {
304
- return createMenuItemGroup("template-select", {
305
- label: [
306
- "template select group label",
307
- {
308
- ns: SCRIPT_PLUGIN
309
- }
310
- ],
311
- variant: "dropdownMenu"
312
- });
313
- };
314
- var createTemplateSelectActions = () => {
315
- return templates.map((template) => {
316
- return createMenuAction3(`template--${template.id}`, {
317
- label: template.name,
318
- value: template.id,
319
- type: "template"
320
- });
321
- });
322
- };
323
- var createTemplateSelect = () => {
324
- const templateSelectGroup = createTemplateSelectGroup();
325
- const templateSelectActions = createTemplateSelectActions();
326
- return {
327
- nodes: [
328
- templateSelectGroup,
329
- ...templateSelectActions
330
- ],
331
- edges: [
332
- {
333
- source: "root",
334
- target: "template-select"
335
- },
336
- ...templateSelectActions.map((action) => ({
337
- source: "template-select",
338
- target: action.id
339
- }))
340
- ]
341
- };
342
- };
343
- var useTemplateSelectHandler = ({ script }) => {
344
- return useCallback3((templateId) => {
345
- const template = templates.find((template2) => template2.id === templateId);
346
- if (template) {
347
- script.name = template.name;
348
- script.source.target.content = template.source;
349
- const metaKeys = getMeta2(script).keys;
350
- const oldPresetIndex = metaKeys.findIndex((key) => key.source === FUNCTIONS_PRESET_META_KEY);
351
- if (oldPresetIndex >= 0) {
352
- metaKeys.splice(oldPresetIndex, 1);
353
- }
354
- if (template.presetId) {
355
- metaKeys.push({
356
- source: FUNCTIONS_PRESET_META_KEY,
357
- id: template.presetId
358
- });
359
- }
360
- }
361
- }, [
362
- script
363
- ]);
364
- };
365
-
366
- // packages/plugins/experimental/plugin-script/src/hooks/view.ts
367
- import { createMenuAction as createMenuAction4, createMenuItemGroup as createMenuItemGroup2 } from "@dxos/react-ui-menu";
368
- var views = {
369
- editor: "ph--code--regular",
370
- split: "ph--square-split-vertical--regular",
371
- logs: "ph--clock-counter-clockwise--regular"
372
- };
373
- var createViewGroupItem = (state) => {
374
- return createMenuItemGroup2("view", {
375
- label: [
376
- "view group label",
377
- {
378
- ns: SCRIPT_PLUGIN
379
- }
380
- ],
381
- variant: "dropdownMenu",
382
- applyActive: true,
383
- value: state.view
384
- });
385
- };
386
- var createViewActions = (state) => {
387
- return Object.entries(views).map(([viewType, icon]) => {
388
- return createMenuAction4(`view--${viewType}`, {
389
- type: "view",
390
- value: viewType,
391
- label: [
392
- `view ${viewType} label`,
393
- {
394
- ns: SCRIPT_PLUGIN
395
- }
396
- ],
397
- icon,
398
- checked: state.view === viewType
399
- });
400
- });
401
- };
402
- var createView = (state) => {
403
- const viewGroupItem = createViewGroupItem(state);
404
- const viewActions = createViewActions(state);
405
- return {
406
- nodes: [
407
- viewGroupItem,
408
- ...viewActions
409
- ],
410
- edges: [
411
- {
412
- source: "root",
413
- target: "view"
414
- },
415
- ...viewActions.map((action) => ({
416
- source: "view",
417
- target: action.id
418
- }))
419
- ]
420
- };
421
- };
422
-
423
- // packages/plugins/experimental/plugin-script/src/hooks/useToolbarAction.ts
424
- import { useCallback as useCallback4 } from "react";
425
- import { log as log3 } from "@dxos/log";
426
- var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-script/src/hooks/useToolbarAction.ts";
427
- var useToolbarAction = (props) => {
428
- const handleTemplateSelect = useTemplateSelectHandler(props);
429
- const handleFormat = useFormatHandler(props);
430
- const handleDeploy = useDeployHandler(props);
431
- const handleCopy = useCopyHandler(props);
432
- return useCallback4((action) => {
433
- switch (action.properties.type) {
434
- case "template":
435
- handleTemplateSelect(action.properties.value);
436
- break;
437
- case "view":
438
- props.state.view = action.properties.value;
439
- break;
440
- case "format":
441
- void handleFormat();
442
- break;
443
- case "deploy":
444
- void handleDeploy();
445
- break;
446
- case "copy":
447
- void handleCopy();
448
- break;
449
- default:
450
- log3.error("Unknown action type", action, {
451
- F: __dxlog_file3,
452
- L: 49,
453
- S: void 0,
454
- C: (f, a) => f(...a)
455
- });
456
- }
457
- }, [
458
- handleTemplateSelect,
459
- handleFormat,
460
- handleDeploy,
461
- handleCopy
462
- ]);
463
- };
464
-
465
- // packages/plugins/experimental/plugin-script/src/components/LogsPanel/LogsPanel.tsx
466
- import React, { useCallback as useCallback5, useMemo as useMemo3, useState } from "react";
467
- import { decodeReference } from "@dxos/echo-protocol";
468
- import { useEdgeClient, useQueue } from "@dxos/react-edge-client";
469
- import { Icon, List, ListItem, useTranslation as useTranslation2 } from "@dxos/react-ui";
470
- import { mx } from "@dxos/react-ui-theme";
471
- var LogsPanel = ({ script, classNames }) => {
472
- const { t } = useTranslation2(SCRIPT_PLUGIN);
473
- const { space, existingFunctionUrl } = useDeployDeps({
474
- script
475
- });
476
- const edgeClient = useEdgeClient();
477
- const invocationTraceQueue = useQueue(edgeClient, space?.properties.invocationTraceQueue?.dxn, {
478
- pollInterval: 500
479
- });
480
- const [selected, setSelected] = useState();
481
- const workerDxn = `dxn:worker:${existingFunctionUrl?.split("/").at(-1)}`;
482
- if (!invocationTraceQueue) {
483
- return /* @__PURE__ */ React.createElement("div", null, t("no invocations message"));
484
- }
485
- const handleOpenChange = useCallback5((trace, open) => {
486
- setSelected(open ? trace : void 0);
487
- }, []);
488
- return /* @__PURE__ */ React.createElement(List, {
489
- classNames: mx("overflow-y-auto", classNames)
490
- }, invocationTraceQueue.items.filter((trace) => decodeReference(trace.invocationTarget).dxn?.toString() === workerDxn).map((trace) => /* @__PURE__ */ React.createElement(InvocationTraceItem, {
491
- key: trace.id,
492
- trace,
493
- open: selected?.id === trace.id,
494
- setOpen: handleOpenChange
495
- })));
496
- };
497
- var InvocationTraceItem = ({ trace, open, setOpen }) => {
498
- const edgeClient = useEdgeClient();
499
- const eventQueue = useQueue(edgeClient, open ? decodeReference(trace.invocationTraceQueue).dxn : void 0);
500
- const handleOpenChange = useCallback5((open2) => {
501
- setOpen?.(trace, open2);
502
- }, [
503
- trace,
504
- setOpen
505
- ]);
506
- const logs = useMemo3(() => eventQueue?.items.flatMap((event) => event.logs), [
507
- eventQueue?.items
508
- ]);
509
- const heading = "bodyText" in trace.input && typeof trace.input.bodyText === "string" ? trace.input.bodyText : JSON.stringify(trace.input);
510
- return /* @__PURE__ */ React.createElement(ListItem.Root, {
511
- key: trace.id,
512
- collapsible: true,
513
- open,
514
- onOpenChange: handleOpenChange
515
- }, /* @__PURE__ */ React.createElement("div", {
516
- className: "flex items-center gap-2"
517
- }, /* @__PURE__ */ React.createElement(ListItem.OpenTrigger, null), /* @__PURE__ */ React.createElement(ListItem.Endcap, {
518
- classNames: "flex items-center justify-center"
519
- }, /* @__PURE__ */ React.createElement(Icon, {
520
- icon: trace.outcome === "success" ? "ph--check--regular" : "ph--x--regular",
521
- size: 5
522
- })), /* @__PURE__ */ React.createElement(ListItem.Heading, {
523
- classNames: "flex-1 flex items-center gap-2 truncate"
524
- }, /* @__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", {
525
- className: "flex items-center gap-2"
526
- }, /* @__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) => {
527
- return /* @__PURE__ */ React.createElement("div", {
528
- key: index
529
- }, JSON.stringify(log4, null, 2));
530
- }))));
531
- };
532
-
533
- export {
534
- createDeploy,
535
- useDeployState,
536
- createFormat,
537
- createTemplateSelect,
538
- createView,
539
- useToolbarAction,
540
- useToolbarState,
541
- LogsPanel
542
- };
543
- //# sourceMappingURL=chunk-GLW67SM7.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 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\n state.view = 'split';\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\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", "view", "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,46 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- templates
4
- } from "./chunk-4YUSGXJ2.mjs";
5
- import {
6
- ScriptAction
7
- } from "./chunk-FHQKFLM7.mjs";
8
- import "./chunk-P2V2Y5LV.mjs";
9
-
10
- // packages/plugins/experimental/plugin-script/src/capabilities/intent-resolver.ts
11
- import { Octokit } from "@octokit/core";
12
- import { contributes, Capabilities, createResolver } from "@dxos/app-framework";
13
- import { ScriptType } from "@dxos/functions/types";
14
- import { create, makeRef } from "@dxos/live-object";
15
- import { TextType } from "@dxos/schema";
16
- var intent_resolver_default = () => contributes(Capabilities.IntentResolver, createResolver({
17
- intent: ScriptAction.Create,
18
- resolve: async ({ name, gistUrl }) => {
19
- let content = templates[0].source;
20
- const gistId = gistUrl?.split("/").at(-1);
21
- if (gistId) {
22
- const octokit = new Octokit();
23
- const response = await octokit.request("GET /gists/{gist_id}", {
24
- gist_id: gistId
25
- });
26
- const gistContent = Object.values(response.data.files ?? {})[0]?.content;
27
- if (gistContent) {
28
- content = gistContent;
29
- }
30
- }
31
- return {
32
- data: {
33
- object: create(ScriptType, {
34
- name,
35
- source: makeRef(create(TextType, {
36
- content
37
- }))
38
- })
39
- }
40
- };
41
- }
42
- }));
43
- export {
44
- intent_resolver_default as default
45
- };
46
- //# sourceMappingURL=intent-resolver-CDTQKQD4.mjs.map