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