@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,21 +1,255 @@
1
1
  import {
2
- SCRIPT_PLUGIN
3
- } from "./chunk-FVVCAWNP.mjs";
2
+ SCRIPT_PLUGIN,
3
+ meta
4
+ } from "./chunk-WSK3YQXI.mjs";
4
5
 
5
- // packages/plugins/experimental/plugin-script/src/components/DebugPanel/DebugPanel.tsx
6
- import React, { forwardRef, useEffect, useRef, useState } from "react";
6
+ // packages/plugins/plugin-script/src/components/Settings/ScriptObjectSettings.tsx
7
+ import { Octokit } from "@octokit/core";
8
+ import React, { useCallback, useEffect, useState } from "react";
9
+ import { createIntent, SettingsAction, useIntentDispatcher } from "@dxos/app-framework";
10
+ import { FunctionType, getInvocationUrl, getUserFunctionUrlInMetadata } from "@dxos/functions/types";
7
11
  import { log } from "@dxos/log";
8
- import { Avatar, Icon, Input, Toolbar, useTranslation } from "@dxos/react-ui";
12
+ import { useClient } from "@dxos/react-client";
13
+ import { Filter, getMeta, getSpace, useQuery } from "@dxos/react-client/echo";
14
+ import { Button, Clipboard, Input, useControlledState, useTranslation } from "@dxos/react-ui";
15
+ import { AccessTokenType } from "@dxos/schema";
16
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/components/Settings/ScriptObjectSettings.tsx";
17
+ var ScriptObjectSettings = ({ object }) => {
18
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Binding, {
19
+ object
20
+ }), /* @__PURE__ */ React.createElement(Publishing, {
21
+ object
22
+ }));
23
+ };
24
+ var ScriptProperties = ({ object }) => {
25
+ const { t } = useTranslation(SCRIPT_PLUGIN);
26
+ return /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.Label, null, t("description label")), /* @__PURE__ */ React.createElement(Input.TextInput, {
27
+ placeholder: t("description placeholder"),
28
+ value: object.description ?? "",
29
+ onChange: (event) => {
30
+ object.description = event.target.value;
31
+ }
32
+ }));
33
+ };
34
+ var Binding = ({ object }) => {
35
+ const { t } = useTranslation(SCRIPT_PLUGIN);
36
+ const client = useClient();
37
+ const space = getSpace(object);
38
+ const [fn] = useQuery(space, Filter.schema(FunctionType, {
39
+ source: object
40
+ }));
41
+ const functionPath = fn && getUserFunctionUrlInMetadata(getMeta(fn));
42
+ const functionUrl = functionPath && getInvocationUrl(functionPath, client.config.values.runtime?.services?.edge?.url ?? "", {
43
+ spaceId: space?.id
44
+ });
45
+ const [binding, setBinding] = useControlledState(fn?.binding ?? "");
46
+ const handleBindingChange = useCallback((event) => {
47
+ setBinding(event.target.value);
48
+ }, [
49
+ setBinding
50
+ ]);
51
+ const handleBindingBlur = useCallback(() => {
52
+ fn.binding = binding;
53
+ }, [
54
+ fn,
55
+ binding
56
+ ]);
57
+ if (!fn || !functionUrl) {
58
+ return null;
59
+ }
60
+ return /* @__PURE__ */ React.createElement("div", {
61
+ role: "form",
62
+ className: "flex flex-col p-2 gap-2"
63
+ }, /* @__PURE__ */ React.createElement("h2", null, t("remote function settings heading")), /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement("div", {
64
+ role: "none",
65
+ className: "flex flex-col gap-1"
66
+ }, /* @__PURE__ */ React.createElement(Input.Label, null, t("function url label")), /* @__PURE__ */ React.createElement("div", {
67
+ role: "none",
68
+ className: "flex gap-1"
69
+ }, /* @__PURE__ */ React.createElement(Input.TextInput, {
70
+ disabled: true,
71
+ value: functionUrl,
72
+ onChange: (event) => {
73
+ fn.name = event.target.value;
74
+ }
75
+ }), /* @__PURE__ */ React.createElement(Clipboard.IconButton, {
76
+ value: functionUrl
77
+ })))), /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement("div", {
78
+ role: "none",
79
+ className: "flex flex-col gap-1"
80
+ }, /* @__PURE__ */ React.createElement(Input.Label, null, t("function binding label")), /* @__PURE__ */ React.createElement(Input.TextInput, {
81
+ placeholder: t("function binding placeholder"),
82
+ value: binding,
83
+ onChange: handleBindingChange,
84
+ onBlur: handleBindingBlur
85
+ }))));
86
+ };
87
+ var Publishing = ({ object }) => {
88
+ const { t } = useTranslation(SCRIPT_PLUGIN);
89
+ const { dispatchPromise: dispatch } = useIntentDispatcher();
90
+ const space = getSpace(object);
91
+ const [githubToken] = useQuery(space, Filter.schema(AccessTokenType, {
92
+ source: "github.com"
93
+ }));
94
+ const gistKey = getMeta(object).keys.find(({ source }) => source === "github.com");
95
+ const [gistUrl, setGistUrl] = useState();
96
+ useEffect(() => {
97
+ const token = githubToken?.token;
98
+ const gistId = gistKey?.id;
99
+ if (!token || !gistId) {
100
+ setGistUrl(void 0);
101
+ return;
102
+ }
103
+ const timeout = setTimeout(async () => {
104
+ try {
105
+ const octokit = new Octokit({
106
+ auth: githubToken.token
107
+ });
108
+ const response = await octokit.request("GET /gists/{gist_id}", {
109
+ gist_id: gistId
110
+ });
111
+ setGistUrl(response.data.html_url);
112
+ } catch (err) {
113
+ log.catch(err, void 0, {
114
+ F: __dxlog_file,
115
+ L: 135,
116
+ S: void 0,
117
+ C: (f, a) => f(...a)
118
+ });
119
+ setGistUrl(void 0);
120
+ }
121
+ });
122
+ return () => clearTimeout(timeout);
123
+ }, [
124
+ githubToken,
125
+ gistKey
126
+ ]);
127
+ const handleOpenTokenManager = useCallback(() => dispatch(createIntent(SettingsAction.Open, {
128
+ plugin: "dxos.org/plugin/token-manager"
129
+ })), []);
130
+ const [publishing, setPublishing] = useState(false);
131
+ const handlePublish = useCallback(async () => {
132
+ setPublishing(true);
133
+ const octokit = new Octokit({
134
+ auth: githubToken.token
135
+ });
136
+ const source = await object.source.load();
137
+ const filename = object.name ? kebabize(object.name) : "composer-script";
138
+ const files = {
139
+ [`${filename}.ts`]: {
140
+ content: source.content
141
+ }
142
+ };
143
+ try {
144
+ const meta2 = getMeta(object);
145
+ const githubKey = meta2.keys.find(({ source: source2 }) => source2 === "github.com");
146
+ const gistId = githubKey?.id;
147
+ if (gistId) {
148
+ await octokit.request("PATCH /gists/{gist_id}", {
149
+ gist_id: gistId,
150
+ files
151
+ });
152
+ } else {
153
+ const response = await octokit.request("POST /gists", {
154
+ public: true,
155
+ files
156
+ });
157
+ if (response.data.id) {
158
+ meta2.keys.push({
159
+ source: "github.com",
160
+ id: response.data.id
161
+ });
162
+ }
163
+ }
164
+ } finally {
165
+ setPublishing(false);
166
+ }
167
+ }, [
168
+ object,
169
+ githubToken
170
+ ]);
171
+ return /* @__PURE__ */ React.createElement("div", {
172
+ className: "flex flex-col p-2 gap-4"
173
+ }, /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("h2", null, t("script publish settings label")), /* @__PURE__ */ React.createElement("p", {
174
+ className: "text-description text-sm"
175
+ }, t("script publish settings description"))), !githubToken && /* @__PURE__ */ React.createElement("div", {
176
+ className: "flex flex-col gap-2"
177
+ }, /* @__PURE__ */ React.createElement("span", null, t("no github token label")), /* @__PURE__ */ React.createElement(Button, {
178
+ onClick: handleOpenTokenManager
179
+ }, t("open token manager label"))), githubToken && /* @__PURE__ */ React.createElement("div", {
180
+ className: "flex justify-end gap-2"
181
+ }, gistUrl && /* @__PURE__ */ React.createElement(Clipboard.IconButton, {
182
+ value: gistUrl
183
+ }), /* @__PURE__ */ React.createElement(Button, {
184
+ disabled: publishing,
185
+ onClick: handlePublish
186
+ }, t(publishing ? "publishing label" : "publish label"))));
187
+ };
188
+ var kebabize = (str) => str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? "-" : "") + $.toLowerCase());
189
+
190
+ // packages/plugins/plugin-script/src/components/Settings/ScriptPluginSettings.tsx
191
+ import React2 from "react";
192
+ import { useClient as useClient2 } from "@dxos/react-client";
193
+ import { Button as Button2, Select, useTranslation as useTranslation2 } from "@dxos/react-ui";
194
+ import { EditorInputModes } from "@dxos/react-ui-editor";
195
+ import { DeprecatedFormContainer, DeprecatedFormInput } from "@dxos/react-ui-form";
196
+ var ScriptPluginSettings = ({ settings }) => {
197
+ const { t } = useTranslation2(meta.id);
198
+ const client = useClient2();
199
+ const handleAuthenticate = async () => {
200
+ const { identityKey } = client.halo.identity.get();
201
+ await client.halo.writeCredentials([
202
+ {
203
+ issuer: identityKey,
204
+ issuanceDate: /* @__PURE__ */ new Date(),
205
+ subject: {
206
+ id: identityKey,
207
+ assertion: {
208
+ "@type": "dxos.halo.credentials.ServiceAccess",
209
+ serverName: "hub.dxos.network",
210
+ serverKey: identityKey,
211
+ identityKey,
212
+ capabilities: [
213
+ "composer:beta"
214
+ ]
215
+ }
216
+ }
217
+ }
218
+ ]);
219
+ };
220
+ return /* @__PURE__ */ React2.createElement(DeprecatedFormContainer, null, /* @__PURE__ */ React2.createElement(DeprecatedFormInput, {
221
+ label: t("authenticate action label")
222
+ }, /* @__PURE__ */ React2.createElement(Button2, {
223
+ onClick: handleAuthenticate
224
+ }, t("authenticate button label"))), /* @__PURE__ */ React2.createElement(DeprecatedFormInput, {
225
+ label: t("editor input mode label")
226
+ }, /* @__PURE__ */ React2.createElement(Select.Root, {
227
+ value: settings.editorInputMode ?? "default",
228
+ onValueChange: (value) => {
229
+ settings.editorInputMode = value;
230
+ }
231
+ }, /* @__PURE__ */ React2.createElement(Select.TriggerButton, {
232
+ placeholder: t("select editor input mode placeholder")
233
+ }), /* @__PURE__ */ React2.createElement(Select.Portal, null, /* @__PURE__ */ React2.createElement(Select.Content, null, /* @__PURE__ */ React2.createElement(Select.Viewport, null, EditorInputModes.map((mode) => /* @__PURE__ */ React2.createElement(Select.Option, {
234
+ key: mode,
235
+ value: mode
236
+ }, t(`settings editor input mode ${mode} label`)))))))));
237
+ };
238
+
239
+ // packages/plugins/plugin-script/src/components/TestPanel/TestPanel.tsx
240
+ import React3, { forwardRef, useEffect as useEffect2, useRef, useState as useState2 } from "react";
241
+ import { log as log2 } from "@dxos/log";
242
+ import { Avatar, Icon, Input as Input2, Toolbar, useTranslation as useTranslation3 } from "@dxos/react-ui";
9
243
  import { SyntaxHighlighter } from "@dxos/react-ui-syntax-highlighter";
10
244
  import { errorText, mx } from "@dxos/react-ui-theme";
11
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-script/src/components/DebugPanel/DebugPanel.tsx";
12
- var DebugPanel = ({ classNames, functionUrl }) => {
13
- const { t } = useTranslation(SCRIPT_PLUGIN);
245
+ var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/components/TestPanel/TestPanel.tsx";
246
+ var TestPanel = ({ classNames, functionUrl }) => {
247
+ const { t } = useTranslation3(SCRIPT_PLUGIN);
14
248
  const inputRef = useRef(null);
15
- const [input, setInput] = useState("");
16
- const [result, setResult] = useState("");
17
- const [state, setState] = useState(null);
18
- const [history, setHistory] = useState([]);
249
+ const [input, setInput] = useState2("");
250
+ const [result, setResult] = useState2("");
251
+ const [state, setState] = useState2(null);
252
+ const [history, setHistory] = useState2([]);
19
253
  const scrollerRef = useRef(null);
20
254
  const handleScroll = () => {
21
255
  if (scrollerRef.current) {
@@ -23,7 +257,7 @@ var DebugPanel = ({ classNames, functionUrl }) => {
23
257
  }
24
258
  };
25
259
  const controller = useRef();
26
- useEffect(() => {
260
+ useEffect2(() => {
27
261
  return () => {
28
262
  handleStop();
29
263
  };
@@ -123,9 +357,9 @@ var DebugPanel = ({ classNames, functionUrl }) => {
123
357
  };
124
358
  void reader.read().then(pump).catch((err) => {
125
359
  if (err.name !== "AbortError") {
126
- log.catch(err, void 0, {
127
- F: __dxlog_file,
128
- L: 146,
360
+ log2.catch(err, void 0, {
361
+ F: __dxlog_file2,
362
+ L: 147,
129
363
  S: void 0,
130
364
  C: (f, a) => f(...a)
131
365
  });
@@ -137,9 +371,9 @@ var DebugPanel = ({ classNames, functionUrl }) => {
137
371
  handleResponse({
138
372
  error
139
373
  });
140
- log.catch(err, void 0, {
141
- F: __dxlog_file,
142
- L: 153,
374
+ log2.catch(err, void 0, {
375
+ F: __dxlog_file2,
376
+ L: 154,
143
377
  S: void 0,
144
378
  C: (f, a) => f(...a)
145
379
  });
@@ -148,65 +382,62 @@ var DebugPanel = ({ classNames, functionUrl }) => {
148
382
  }
149
383
  }
150
384
  };
151
- return /* @__PURE__ */ React.createElement("div", {
385
+ return /* @__PURE__ */ React3.createElement("div", {
152
386
  className: mx("flex flex-col h-full overflow-hidden", classNames)
153
- }, /* @__PURE__ */ React.createElement(MessageThread, {
387
+ }, /* @__PURE__ */ React3.createElement(MessageThread, {
154
388
  ref: scrollerRef,
155
389
  state,
156
390
  result,
157
391
  history
158
- }), /* @__PURE__ */ React.createElement(Toolbar.Root, {
159
- classNames: "p-1"
160
- }, /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.TextInput, {
392
+ }), /* @__PURE__ */ React3.createElement(Toolbar.Root, {
393
+ classNames: "p-2"
394
+ }, /* @__PURE__ */ React3.createElement(Input2.Root, null, /* @__PURE__ */ React3.createElement(Input2.TextInput, {
161
395
  ref: inputRef,
162
396
  autoFocus: true,
163
397
  placeholder: t("function request placeholder"),
164
398
  value: input,
165
399
  onChange: (ev) => setInput(ev.target.value),
166
400
  onKeyDown: (ev) => ev.key === "Enter" && handleRequest(input)
167
- })), /* @__PURE__ */ React.createElement(Toolbar.Button, {
401
+ })), /* @__PURE__ */ React3.createElement(Toolbar.Button, {
168
402
  onClick: () => handleRequest(input)
169
- }, /* @__PURE__ */ React.createElement(Icon, {
403
+ }, /* @__PURE__ */ React3.createElement(Icon, {
170
404
  icon: "ph--play--regular",
171
405
  size: 4
172
- })), /* @__PURE__ */ React.createElement(Toolbar.Button, {
406
+ })), /* @__PURE__ */ React3.createElement(Toolbar.Button, {
173
407
  onClick: () => state ? handleStop() : handleClear()
174
- }, /* @__PURE__ */ React.createElement(Icon, {
408
+ }, /* @__PURE__ */ React3.createElement(Icon, {
175
409
  icon: state ? "ph--stop--regular" : "ph--trash--regular",
176
410
  size: 4
177
411
  }))));
178
412
  };
179
413
  var MessageThread = /* @__PURE__ */ forwardRef(({ state, history, result }, forwardedRef) => {
180
- if (!history.length && !result.length) {
181
- return null;
182
- }
183
- return /* @__PURE__ */ React.createElement("div", {
414
+ return /* @__PURE__ */ React3.createElement("div", {
184
415
  ref: forwardedRef,
185
416
  className: "flex flex-col gap-6 h-full p-2 overflow-x-hidden overflow-y-auto"
186
- }, history.map((message, i) => /* @__PURE__ */ React.createElement("div", {
417
+ }, history.map((message, i) => /* @__PURE__ */ React3.createElement("div", {
187
418
  key: i,
188
419
  className: "grid grid-cols-[2rem_1fr_2rem]"
189
- }, /* @__PURE__ */ React.createElement("div", {
420
+ }, /* @__PURE__ */ React3.createElement("div", {
190
421
  className: "p-1"
191
- }, message.type === "response" && /* @__PURE__ */ React.createElement(RobotAvatar, null)), /* @__PURE__ */ React.createElement("div", {
422
+ }, message.type === "response" && /* @__PURE__ */ React3.createElement(RobotAvatar, null)), /* @__PURE__ */ React3.createElement("div", {
192
423
  className: "overflow-auto"
193
- }, /* @__PURE__ */ React.createElement(MessageItem, {
424
+ }, /* @__PURE__ */ React3.createElement(MessageItem, {
194
425
  message
195
- })))), result?.length > 0 && /* @__PURE__ */ React.createElement("div", {
426
+ })))), result?.length > 0 && /* @__PURE__ */ React3.createElement("div", {
196
427
  className: "grid grid-cols-[2rem_1fr_2rem]"
197
- }, /* @__PURE__ */ React.createElement("div", {
428
+ }, /* @__PURE__ */ React3.createElement("div", {
198
429
  className: "p-1"
199
- }, state === "pending" && /* @__PURE__ */ React.createElement(Icon, {
430
+ }, state === "pending" && /* @__PURE__ */ React3.createElement(Icon, {
200
431
  icon: "ph--spinner--regular",
201
432
  size: 6,
202
433
  classNames: "animate-spin"
203
- }) || /* @__PURE__ */ React.createElement(Icon, {
434
+ }) || /* @__PURE__ */ React3.createElement(Icon, {
204
435
  icon: "ph--robot--regular",
205
436
  size: 6,
206
437
  classNames: "animate-[pulse_1s_ease-in-out_infinite]"
207
- })), /* @__PURE__ */ React.createElement("div", {
438
+ })), /* @__PURE__ */ React3.createElement("div", {
208
439
  className: "overflow-auto"
209
- }, /* @__PURE__ */ React.createElement(MessageItem, {
440
+ }, /* @__PURE__ */ React3.createElement(MessageItem, {
210
441
  message: {
211
442
  type: "response",
212
443
  text: result
@@ -216,252 +447,34 @@ var MessageThread = /* @__PURE__ */ forwardRef(({ state, history, result }, forw
216
447
  var MessageItem = ({ classNames, message }) => {
217
448
  const { type, text, data, error } = message;
218
449
  const wrapper = "p-1 px-2 rounded-lg bg-hoverSurface overflow-auto";
219
- return /* @__PURE__ */ React.createElement("div", {
450
+ return /* @__PURE__ */ React3.createElement("div", {
220
451
  className: mx("flex", type === "request" ? "ml-[1rem] justify-end" : "mr-[1rem]", classNames)
221
- }, error && /* @__PURE__ */ React.createElement("div", {
452
+ }, error && /* @__PURE__ */ React3.createElement("div", {
222
453
  className: mx(wrapper, "whitespace-pre", errorText)
223
- }, String(error)), text !== void 0 && /* @__PURE__ */ React.createElement("div", {
454
+ }, String(error)), text !== void 0 && /* @__PURE__ */ React3.createElement("div", {
224
455
  className: mx(wrapper, type === "request" && "bg-primary-400 dark:bg-primary-600")
225
- }, text || "\xD8"), data && /* @__PURE__ */ React.createElement(SyntaxHighlighter, {
456
+ }, text || "\xD8"), data && /* @__PURE__ */ React3.createElement(SyntaxHighlighter, {
226
457
  language: "json",
227
458
  className: mx(wrapper, "px-8 py-2 text-xs")
228
459
  }, JSON.stringify(data, null, 2)));
229
460
  };
230
- var RobotAvatar = () => /* @__PURE__ */ React.createElement(Avatar.Root, {
461
+ var RobotAvatar = () => /* @__PURE__ */ React3.createElement(Avatar.Root, null, /* @__PURE__ */ React3.createElement(Avatar.Content, {
231
462
  size: 6,
232
- variant: "circle"
233
- }, /* @__PURE__ */ React.createElement(Avatar.Frame, null, /* @__PURE__ */ React.createElement(Avatar.Icon, {
463
+ variant: "circle",
234
464
  icon: "ph--robot--regular"
235
- })));
236
-
237
- // packages/plugins/experimental/plugin-script/src/components/ScriptSettings/ScriptSettings.tsx
238
- import React2 from "react";
239
- import { useClient } from "@dxos/react-client";
240
- import { Button, Select, useTranslation as useTranslation2 } from "@dxos/react-ui";
241
- import { EditorInputModes } from "@dxos/react-ui-editor";
242
- import { DeprecatedFormContainer, DeprecatedFormInput } from "@dxos/react-ui-form";
243
- var ScriptSettings = ({ settings }) => {
244
- const { t } = useTranslation2(SCRIPT_PLUGIN);
245
- const client = useClient();
246
- const handleAuthenticate = async () => {
247
- const { identityKey } = client.halo.identity.get();
248
- await client.halo.writeCredentials([
249
- {
250
- issuer: identityKey,
251
- issuanceDate: /* @__PURE__ */ new Date(),
252
- subject: {
253
- id: identityKey,
254
- assertion: {
255
- "@type": "dxos.halo.credentials.ServiceAccess",
256
- serverName: "hub.dxos.network",
257
- serverKey: identityKey,
258
- identityKey,
259
- capabilities: [
260
- "composer:beta"
261
- ]
262
- }
263
- }
264
- }
265
- ]);
266
- };
267
- return /* @__PURE__ */ React2.createElement(DeprecatedFormContainer, null, /* @__PURE__ */ React2.createElement(DeprecatedFormInput, {
268
- label: t("authenticate action label")
269
- }, /* @__PURE__ */ React2.createElement(Button, {
270
- onClick: handleAuthenticate
271
- }, t("authenticate button label"))), /* @__PURE__ */ React2.createElement(DeprecatedFormInput, {
272
- label: t("editor input mode label")
273
- }, /* @__PURE__ */ React2.createElement(Select.Root, {
274
- value: settings.editorInputMode ?? "default",
275
- onValueChange: (value) => {
276
- settings.editorInputMode = value;
277
- }
278
- }, /* @__PURE__ */ React2.createElement(Select.TriggerButton, {
279
- placeholder: t("select editor input mode placeholder")
280
- }), /* @__PURE__ */ React2.createElement(Select.Portal, null, /* @__PURE__ */ React2.createElement(Select.Content, null, /* @__PURE__ */ React2.createElement(Select.Viewport, null, EditorInputModes.map((mode) => /* @__PURE__ */ React2.createElement(Select.Option, {
281
- key: mode,
282
- value: mode
283
- }, t(`settings editor input mode ${mode} label`)))))))));
284
- };
285
-
286
- // packages/plugins/experimental/plugin-script/src/components/ScriptSettingsPanel.tsx
287
- import { Octokit } from "@octokit/core";
288
- import React3, { useCallback, useEffect as useEffect2, useState as useState2 } from "react";
289
- import { createIntent, SettingsAction, useIntentDispatcher } from "@dxos/app-framework";
290
- import { FunctionType, getInvocationUrl, getUserFunctionUrlInMetadata } from "@dxos/functions/types";
291
- import { log as log2 } from "@dxos/log";
292
- import { useClient as useClient2 } from "@dxos/react-client";
293
- import { Filter, getMeta, getSpace, useQuery } from "@dxos/react-client/echo";
294
- import { Button as Button2, Clipboard, Input as Input2, Separator, useControlledState, useTranslation as useTranslation3 } from "@dxos/react-ui";
295
- import { AccessTokenType } from "@dxos/schema";
296
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-script/src/components/ScriptSettingsPanel.tsx";
297
- var kebabize = (str) => str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? "-" : "") + $.toLowerCase());
298
- var ScriptSettingsPanel = ({ script }) => {
299
- const { t } = useTranslation3(SCRIPT_PLUGIN);
300
- const { dispatchPromise: dispatch } = useIntentDispatcher();
301
- const client = useClient2();
302
- const space = getSpace(script);
303
- const [fn] = useQuery(space, Filter.schema(FunctionType, {
304
- source: script
305
- }));
306
- const [githubToken] = useQuery(space, Filter.schema(AccessTokenType, {
307
- source: "github.com"
308
- }));
309
- const gistKey = getMeta(script).keys.find(({ source }) => source === "github.com");
310
- const [gistUrl, setGistUrl] = useState2();
311
- useEffect2(() => {
312
- const token = githubToken?.token;
313
- const gistId = gistKey?.id;
314
- if (!token || !gistId) {
315
- setGistUrl(void 0);
316
- return;
317
- }
318
- const timeout = setTimeout(async () => {
319
- try {
320
- const octokit = new Octokit({
321
- auth: githubToken.token
322
- });
323
- const response = await octokit.request("GET /gists/{gist_id}", {
324
- gist_id: gistId
325
- });
326
- setGistUrl(response.data.html_url);
327
- } catch (err) {
328
- log2.catch(err, void 0, {
329
- F: __dxlog_file2,
330
- L: 52,
331
- S: void 0,
332
- C: (f, a) => f(...a)
333
- });
334
- setGistUrl(void 0);
335
- }
336
- });
337
- return () => clearTimeout(timeout);
338
- }, [
339
- githubToken,
340
- gistKey
341
- ]);
342
- const [binding, setBinding] = useControlledState(fn?.binding ?? "");
343
- const handleBindingChange = useCallback((event) => {
344
- setBinding(event.target.value);
345
- }, [
346
- setBinding
347
- ]);
348
- const handleBindingBlur = useCallback(() => {
349
- fn.binding = binding;
350
- }, [
351
- fn,
352
- binding
353
- ]);
354
- const functionPath = fn && getUserFunctionUrlInMetadata(getMeta(fn));
355
- const functionUrl = functionPath && getInvocationUrl(functionPath, client.config.values.runtime?.services?.edge?.url ?? "", {
356
- spaceId: space?.id
357
- });
358
- const handleOpenTokenManager = useCallback(() => dispatch(createIntent(SettingsAction.Open, {
359
- plugin: "dxos.org/plugin/token-manager"
360
- })), []);
361
- const [publishing, setPublishing] = useState2(false);
362
- const handlePublish = useCallback(async () => {
363
- setPublishing(true);
364
- const octokit = new Octokit({
365
- auth: githubToken.token
366
- });
367
- const source = await script.source.load();
368
- const filename = script.name ? kebabize(script.name) : "composer-script";
369
- const files = {
370
- [`${filename}.ts`]: {
371
- content: source.content
372
- }
373
- };
374
- try {
375
- const meta = getMeta(script);
376
- const githubKey = meta.keys.find(({ source: source2 }) => source2 === "github.com");
377
- const gistId = githubKey?.id;
378
- if (gistId) {
379
- await octokit.request("PATCH /gists/{gist_id}", {
380
- gist_id: gistId,
381
- files
382
- });
383
- } else {
384
- const response = await octokit.request("POST /gists", {
385
- public: true,
386
- files
387
- });
388
- if (response.data.id) {
389
- meta.keys.push({
390
- source: "github.com",
391
- id: response.data.id
392
- });
393
- }
394
- }
395
- } finally {
396
- setPublishing(false);
397
- }
398
- }, [
399
- script,
400
- githubToken
401
- ]);
402
- return /* @__PURE__ */ React3.createElement(React3.Fragment, null, /* @__PURE__ */ React3.createElement("div", {
403
- role: "form",
404
- className: "flex flex-col w-full p-2 gap-4"
405
- }, /* @__PURE__ */ React3.createElement(Input2.Root, null, /* @__PURE__ */ React3.createElement("div", {
406
- role: "none",
407
- className: "flex flex-col gap-1"
408
- }, /* @__PURE__ */ React3.createElement(Input2.Label, null, t("description label")), /* @__PURE__ */ React3.createElement(Input2.TextInput, {
409
- placeholder: t("description placeholder"),
410
- value: script.description ?? "",
411
- onChange: (event) => {
412
- script.description = event.target.value;
413
- }
414
- })))), fn && functionUrl && /* @__PURE__ */ React3.createElement(React3.Fragment, null, /* @__PURE__ */ React3.createElement(Separator, null), /* @__PURE__ */ React3.createElement("div", {
415
- role: "form",
416
- className: "flex flex-col w-full p-2 gap-4"
417
- }, /* @__PURE__ */ React3.createElement("h2", null, t("remote function settings heading")), /* @__PURE__ */ React3.createElement(Input2.Root, null, /* @__PURE__ */ React3.createElement("div", {
418
- role: "none",
419
- className: "flex flex-col gap-1"
420
- }, /* @__PURE__ */ React3.createElement(Input2.Label, null, t("function url label")), /* @__PURE__ */ React3.createElement("div", {
421
- role: "none",
422
- className: "flex gap-1"
423
- }, /* @__PURE__ */ React3.createElement(Input2.TextInput, {
424
- disabled: true,
425
- value: functionUrl,
426
- onChange: (event) => {
427
- fn.name = event.target.value;
428
- }
429
- }), /* @__PURE__ */ React3.createElement(Clipboard.IconButton, {
430
- value: functionUrl
431
- })))), /* @__PURE__ */ React3.createElement(Input2.Root, null, /* @__PURE__ */ React3.createElement("div", {
432
- role: "none",
433
- className: "flex flex-col gap-1"
434
- }, /* @__PURE__ */ React3.createElement(Input2.Label, null, t("function binding label")), /* @__PURE__ */ React3.createElement(Input2.TextInput, {
435
- placeholder: t("function binding placeholder"),
436
- value: binding,
437
- onChange: handleBindingChange,
438
- onBlur: handleBindingBlur
439
- }))))), /* @__PURE__ */ React3.createElement(Separator, null), /* @__PURE__ */ React3.createElement("div", {
440
- className: "flex flex-col w-full p-2 gap-4"
441
- }, /* @__PURE__ */ React3.createElement("div", null, /* @__PURE__ */ React3.createElement("h2", null, t("script publish settings label")), /* @__PURE__ */ React3.createElement("p", {
442
- className: "text-description text-sm"
443
- }, t("script publish settings description"))), !githubToken && /* @__PURE__ */ React3.createElement("div", {
444
- className: "flex flex-col items-center justify-center gap-2"
445
- }, /* @__PURE__ */ React3.createElement("span", null, t("no github token label")), /* @__PURE__ */ React3.createElement(Button2, {
446
- onClick: handleOpenTokenManager
447
- }, t("open token manager label"))), githubToken && /* @__PURE__ */ React3.createElement("div", {
448
- className: "flex justify-end gap-2"
449
- }, gistUrl && /* @__PURE__ */ React3.createElement(Clipboard.IconButton, {
450
- value: gistUrl
451
- }), /* @__PURE__ */ React3.createElement(Button2, {
452
- disabled: publishing,
453
- onClick: handlePublish
454
- }, t(publishing ? "publishing label" : "publish label")))));
455
- };
465
+ }));
456
466
 
457
- // packages/plugins/experimental/plugin-script/src/components/index.ts
467
+ // packages/plugins/plugin-script/src/components/index.ts
458
468
  import { lazy } from "react";
459
- var ScriptContainer = lazy(() => import("./ScriptContainer-4FIJVITA.mjs"));
469
+ var ScriptContainer = lazy(() => import("./ScriptContainer-R25PRK2D.mjs"));
470
+ var DeploymentDialog = lazy(() => import("./DeploymentDialog-AEPYJKPO.mjs"));
460
471
 
461
472
  export {
462
- DebugPanel,
463
- ScriptSettings,
464
- ScriptSettingsPanel,
465
- ScriptContainer
473
+ ScriptObjectSettings,
474
+ ScriptProperties,
475
+ ScriptPluginSettings,
476
+ TestPanel,
477
+ ScriptContainer,
478
+ DeploymentDialog
466
479
  };
467
- //# sourceMappingURL=chunk-SFG422OU.mjs.map
480
+ //# sourceMappingURL=chunk-2CGZFDCR.mjs.map