@dxos/plugin-script 0.8.2-main.fbd8ed0 → 0.8.2-staging.7ac8446

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 (236) hide show
  1. package/dist/lib/browser/DeploymentDialog-AEPYJKPO.mjs +12 -0
  2. package/dist/lib/browser/{ScriptContainer-6DYV7D65.mjs → ScriptContainer-R25PRK2D.mjs} +19 -31
  3. package/dist/lib/browser/ScriptContainer-R25PRK2D.mjs.map +7 -0
  4. package/dist/lib/browser/{app-graph-builder-BFBTQPSP.mjs → app-graph-builder-RRLY67QC.mjs} +10 -10
  5. package/dist/lib/browser/app-graph-builder-RRLY67QC.mjs.map +7 -0
  6. package/dist/lib/browser/{artifact-definition-PD4UAAQZ.mjs → artifact-definition-WXFYD2V5.mjs} +38 -44
  7. package/dist/lib/browser/artifact-definition-WXFYD2V5.mjs.map +7 -0
  8. package/dist/lib/browser/{chunk-BONEXAIK.mjs → chunk-2CGZFDCR.mjs} +10 -10
  9. package/dist/lib/browser/chunk-2CGZFDCR.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-A4VOGQ2P.mjs → chunk-4VD3K3PY.mjs} +2 -2
  11. package/dist/lib/browser/{chunk-YNOCAJYT.mjs → chunk-CSZXPLYY.mjs} +3 -3
  12. package/dist/lib/browser/chunk-CSZXPLYY.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-FFDJENAN.mjs → chunk-KLEOGVXY.mjs} +156 -87
  14. package/dist/lib/browser/chunk-KLEOGVXY.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-INL55MFV.mjs → chunk-MQZQB5VD.mjs} +10 -10
  16. package/dist/lib/browser/chunk-MQZQB5VD.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-R2CHVWJ2.mjs +41 -0
  18. package/dist/lib/browser/chunk-R2CHVWJ2.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-SUCBNCEQ.mjs +87 -0
  20. package/dist/lib/browser/chunk-SUCBNCEQ.mjs.map +7 -0
  21. package/dist/lib/browser/{chunk-KJMVDGRB.mjs → chunk-WSK3YQXI.mjs} +1 -2
  22. package/dist/lib/browser/{chunk-KJMVDGRB.mjs.map → chunk-WSK3YQXI.mjs.map} +2 -2
  23. package/dist/lib/browser/{compiler-O4FJK7RR.mjs → compiler-56LTBEQB.mjs} +3 -3
  24. package/dist/lib/browser/index.mjs +15 -16
  25. package/dist/lib/browser/index.mjs.map +3 -3
  26. package/dist/lib/browser/{intent-resolver-SXO6X6XQ.mjs → intent-resolver-WCVXKRBR.mjs} +14 -14
  27. package/dist/lib/browser/intent-resolver-WCVXKRBR.mjs.map +7 -0
  28. package/dist/lib/browser/meta.json +1 -1
  29. package/dist/lib/browser/{react-surface-TZGE7EGC.mjs → react-surface-WXZVPNGI.mjs} +12 -12
  30. package/dist/lib/browser/react-surface-WXZVPNGI.mjs.map +7 -0
  31. package/dist/lib/browser/{settings-EOKSUGB6.mjs → settings-Z7B37V2I.mjs} +5 -5
  32. package/dist/lib/browser/settings-Z7B37V2I.mjs.map +7 -0
  33. package/dist/lib/browser/types.mjs +2 -2
  34. package/dist/lib/node/{DeploymentDialog-43SI7XFL.cjs → DeploymentDialog-O4MU4OMF.cjs} +10 -10
  35. package/dist/lib/node/DeploymentDialog-O4MU4OMF.cjs.map +7 -0
  36. package/dist/lib/node/{ScriptContainer-H56OW5FC.cjs → ScriptContainer-5KY6ZOQD.cjs} +22 -32
  37. package/dist/lib/node/ScriptContainer-5KY6ZOQD.cjs.map +7 -0
  38. package/dist/lib/node/{app-graph-builder-IKOX7GHW.cjs → app-graph-builder-6I2BWD46.cjs} +17 -17
  39. package/dist/lib/node/app-graph-builder-6I2BWD46.cjs.map +7 -0
  40. package/dist/lib/node/{artifact-definition-C644EAYM.cjs → artifact-definition-6NVXEHJD.cjs} +47 -53
  41. package/dist/lib/node/artifact-definition-6NVXEHJD.cjs.map +7 -0
  42. package/dist/lib/node/{chunk-VHSIOCS5.cjs → chunk-65MIJR3Q.cjs} +17 -17
  43. package/dist/lib/node/chunk-65MIJR3Q.cjs.map +7 -0
  44. package/dist/lib/node/{chunk-7NNN3IUQ.cjs → chunk-F4DP7WON.cjs} +160 -93
  45. package/dist/lib/node/chunk-F4DP7WON.cjs.map +7 -0
  46. package/dist/lib/node/{chunk-KFJQVOGS.cjs → chunk-JICWAOWZ.cjs} +6 -6
  47. package/dist/lib/node/{chunk-HPBQHRM3.cjs → chunk-SLDJM45C.cjs} +18 -18
  48. package/dist/lib/node/chunk-SLDJM45C.cjs.map +7 -0
  49. package/dist/lib/node/{chunk-K7PPLRVQ.cjs → chunk-VYBEBLDO.cjs} +14 -14
  50. package/dist/lib/node/chunk-VYBEBLDO.cjs.map +7 -0
  51. package/dist/lib/node/chunk-X7MHLHHS.cjs +91 -0
  52. package/dist/lib/node/chunk-X7MHLHHS.cjs.map +7 -0
  53. package/dist/lib/node/{chunk-SXJGHLK6.cjs → chunk-XFZPWFEG.cjs} +19 -18
  54. package/dist/lib/node/chunk-XFZPWFEG.cjs.map +7 -0
  55. package/dist/lib/node/{chunk-NO5Y74F3.cjs → chunk-YJQZHKKA.cjs} +4 -5
  56. package/dist/lib/node/{chunk-NO5Y74F3.cjs.map → chunk-YJQZHKKA.cjs.map} +2 -2
  57. package/dist/lib/node/{compiler-FBC6ELQN.cjs → compiler-W2RU3M7U.cjs} +7 -7
  58. package/dist/lib/node/index.cjs +44 -45
  59. package/dist/lib/node/index.cjs.map +3 -3
  60. package/dist/lib/node/{intent-resolver-PDSMZM2T.cjs → intent-resolver-J4NBDNFH.cjs} +21 -21
  61. package/dist/lib/node/intent-resolver-J4NBDNFH.cjs.map +7 -0
  62. package/dist/lib/node/meta.json +1 -1
  63. package/dist/lib/node/{react-surface-BHHJQZ7P.cjs → react-surface-27KTUBIZ.cjs} +38 -38
  64. package/dist/lib/node/react-surface-27KTUBIZ.cjs.map +7 -0
  65. package/dist/lib/node/{settings-425QHVGC.cjs → settings-EI6VPNKN.cjs} +9 -9
  66. package/dist/lib/node/settings-EI6VPNKN.cjs.map +7 -0
  67. package/dist/lib/node/types.cjs +5 -5
  68. package/dist/lib/node/types.cjs.map +1 -1
  69. package/dist/lib/node-esm/{DeploymentDialog-2RRUJEBC.mjs → DeploymentDialog-SSQSWLHX.mjs} +5 -5
  70. package/dist/lib/node-esm/{ScriptContainer-762FHDZ4.mjs → ScriptContainer-W2F4FGDV.mjs} +19 -31
  71. package/dist/lib/node-esm/ScriptContainer-W2F4FGDV.mjs.map +7 -0
  72. package/dist/lib/node-esm/{app-graph-builder-KZGKGSP6.mjs → app-graph-builder-H5XLRVX3.mjs} +10 -10
  73. package/dist/lib/node-esm/app-graph-builder-H5XLRVX3.mjs.map +7 -0
  74. package/dist/lib/node-esm/{artifact-definition-J6UM6BQF.mjs → artifact-definition-KQ64AYBP.mjs} +38 -44
  75. package/dist/lib/node-esm/artifact-definition-KQ64AYBP.mjs.map +7 -0
  76. package/dist/lib/node-esm/{chunk-A3TXZHGD.mjs → chunk-4MTPYMV2.mjs} +10 -10
  77. package/dist/lib/node-esm/chunk-4MTPYMV2.mjs.map +7 -0
  78. package/dist/lib/node-esm/{chunk-HKJUN636.mjs → chunk-EB5DSAD4.mjs} +2 -2
  79. package/dist/lib/node-esm/{chunk-F47OE6ZM.mjs → chunk-F4HA5C34.mjs} +10 -10
  80. package/dist/lib/node-esm/chunk-F4HA5C34.mjs.map +7 -0
  81. package/dist/lib/node-esm/{chunk-H7FRB3M7.mjs → chunk-FDEAVT67.mjs} +1 -2
  82. package/dist/lib/node-esm/{chunk-H7FRB3M7.mjs.map → chunk-FDEAVT67.mjs.map} +2 -2
  83. package/dist/lib/node-esm/{chunk-V733VFCJ.mjs → chunk-MU3JKVL2.mjs} +3 -3
  84. package/dist/lib/node-esm/chunk-MU3JKVL2.mjs.map +7 -0
  85. package/dist/lib/node-esm/{chunk-NYA7KDN6.mjs → chunk-PBGVTGL2.mjs} +156 -87
  86. package/dist/lib/node-esm/chunk-PBGVTGL2.mjs.map +7 -0
  87. package/dist/lib/node-esm/chunk-QDYGTY4L.mjs +89 -0
  88. package/dist/lib/node-esm/chunk-QDYGTY4L.mjs.map +7 -0
  89. package/dist/lib/node-esm/{chunk-VMQPOPKV.mjs → chunk-RW2APVMV.mjs} +14 -13
  90. package/dist/lib/node-esm/chunk-RW2APVMV.mjs.map +7 -0
  91. package/dist/lib/node-esm/{compiler-3NG4T5LH.mjs → compiler-VT5C2Z3T.mjs} +3 -3
  92. package/dist/lib/node-esm/index.mjs +15 -16
  93. package/dist/lib/node-esm/index.mjs.map +3 -3
  94. package/dist/lib/node-esm/{intent-resolver-WSAVLQY5.mjs → intent-resolver-PDZ2A26X.mjs} +14 -14
  95. package/dist/lib/node-esm/intent-resolver-PDZ2A26X.mjs.map +7 -0
  96. package/dist/lib/node-esm/meta.json +1 -1
  97. package/dist/lib/node-esm/{react-surface-W7BM4PDK.mjs → react-surface-UCUVDVSH.mjs} +12 -12
  98. package/dist/lib/node-esm/react-surface-UCUVDVSH.mjs.map +7 -0
  99. package/dist/lib/node-esm/{settings-BWSKKIVQ.mjs → settings-HU5UEFRF.mjs} +5 -5
  100. package/dist/lib/node-esm/settings-HU5UEFRF.mjs.map +7 -0
  101. package/dist/lib/node-esm/types.mjs +2 -2
  102. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  103. package/dist/types/src/capabilities/app-graph-builder.d.ts +179 -2
  104. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  106. package/dist/types/src/capabilities/index.d.ts +177 -1
  107. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  108. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts +2 -2
  109. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +1 -1
  110. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -1
  111. package/dist/types/src/components/ScriptContainer.d.ts +1 -1
  112. package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
  113. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +1 -1
  114. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  115. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +1 -1
  116. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +1 -1
  117. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +1 -1
  118. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
  119. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  120. package/dist/types/src/components/index.d.ts +1 -1
  121. package/dist/types/src/hooks/deploy.d.ts +19 -22
  122. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  123. package/dist/types/src/hooks/format.d.ts +5 -2
  124. package/dist/types/src/hooks/format.d.ts.map +1 -1
  125. package/dist/types/src/hooks/index.d.ts +1 -0
  126. package/dist/types/src/hooks/index.d.ts.map +1 -1
  127. package/dist/types/src/hooks/template.d.ts +5 -2
  128. package/dist/types/src/hooks/template.d.ts.map +1 -1
  129. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  130. package/dist/types/src/hooks/useToolbarAction.d.ts +13 -0
  131. package/dist/types/src/hooks/useToolbarAction.d.ts.map +1 -0
  132. package/dist/types/src/hooks/useToolbarState.d.ts +1 -1
  133. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  134. package/dist/types/src/meta.d.ts.map +1 -1
  135. package/dist/types/src/templates/chat.d.ts +1 -1
  136. package/dist/types/src/templates/chat.d.ts.map +1 -1
  137. package/dist/types/src/templates/chess.d.ts.map +1 -1
  138. package/dist/types/src/templates/data-generator.d.ts +7 -0
  139. package/dist/types/src/templates/data-generator.d.ts.map +1 -1
  140. package/dist/types/src/templates/discord.d.ts.map +1 -1
  141. package/dist/types/src/templates/echo.d.ts +1 -1
  142. package/dist/types/src/templates/echo.d.ts.map +1 -1
  143. package/dist/types/src/templates/email.d.ts +1 -1
  144. package/dist/types/src/templates/email.d.ts.map +1 -1
  145. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  146. package/dist/types/src/templates/forex.d.ts.map +1 -1
  147. package/dist/types/src/templates/gmail.d.ts.map +1 -1
  148. package/dist/types/src/translations.d.ts +110 -2
  149. package/dist/types/src/translations.d.ts.map +1 -1
  150. package/dist/types/src/types.d.ts +26 -27
  151. package/dist/types/src/types.d.ts.map +1 -1
  152. package/dist/types/src/util/deploy.d.ts.map +1 -1
  153. package/dist/types/src/util/functions.d.ts.map +1 -1
  154. package/dist/types/tsconfig.tsbuildinfo +1 -1
  155. package/package.json +50 -56
  156. package/src/ScriptPlugin.tsx +2 -4
  157. package/src/capabilities/app-graph-builder.ts +29 -46
  158. package/src/capabilities/artifact-definition.ts +32 -35
  159. package/src/capabilities/intent-resolver.ts +7 -7
  160. package/src/capabilities/react-surface.tsx +5 -5
  161. package/src/capabilities/settings.ts +2 -2
  162. package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +1 -1
  163. package/src/components/DeploymentDialog/DeploymentDialog.tsx +2 -2
  164. package/src/components/ScriptContainer.tsx +2 -2
  165. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +1 -1
  166. package/src/components/ScriptToolbar/ScriptToolbar.tsx +10 -16
  167. package/src/components/Settings/ScriptObjectSettings.tsx +5 -5
  168. package/src/hooks/deploy.ts +55 -61
  169. package/src/hooks/format.ts +26 -26
  170. package/src/hooks/index.ts +1 -0
  171. package/src/hooks/template.ts +32 -24
  172. package/src/hooks/useToolbarAction.ts +50 -0
  173. package/src/hooks/useToolbarState.ts +2 -2
  174. package/src/meta.ts +0 -1
  175. package/src/templates/chat.ts +9 -3
  176. package/src/templates/chess.ts +6 -1
  177. package/src/templates/data-generator.ts +45 -20
  178. package/src/templates/discord.ts +10 -10
  179. package/src/templates/echo.ts +12 -1
  180. package/src/templates/email.ts +14 -8
  181. package/src/templates/forex-effect.ts +6 -2
  182. package/src/templates/forex.ts +5 -1
  183. package/src/templates/gmail.ts +26 -33
  184. package/src/translations.ts +1 -1
  185. package/src/types.ts +14 -13
  186. package/src/util/deploy.ts +10 -6
  187. package/dist/lib/browser/DeploymentDialog-W7PY33VN.mjs +0 -12
  188. package/dist/lib/browser/ScriptContainer-6DYV7D65.mjs.map +0 -7
  189. package/dist/lib/browser/app-graph-builder-BFBTQPSP.mjs.map +0 -7
  190. package/dist/lib/browser/artifact-definition-PD4UAAQZ.mjs.map +0 -7
  191. package/dist/lib/browser/chunk-6MLJJI73.mjs +0 -40
  192. package/dist/lib/browser/chunk-6MLJJI73.mjs.map +0 -7
  193. package/dist/lib/browser/chunk-BONEXAIK.mjs.map +0 -7
  194. package/dist/lib/browser/chunk-FFDJENAN.mjs.map +0 -7
  195. package/dist/lib/browser/chunk-INL55MFV.mjs.map +0 -7
  196. package/dist/lib/browser/chunk-RTVU4RZW.mjs +0 -87
  197. package/dist/lib/browser/chunk-RTVU4RZW.mjs.map +0 -7
  198. package/dist/lib/browser/chunk-YNOCAJYT.mjs.map +0 -7
  199. package/dist/lib/browser/intent-resolver-SXO6X6XQ.mjs.map +0 -7
  200. package/dist/lib/browser/react-surface-TZGE7EGC.mjs.map +0 -7
  201. package/dist/lib/browser/settings-EOKSUGB6.mjs.map +0 -7
  202. package/dist/lib/node/DeploymentDialog-43SI7XFL.cjs.map +0 -7
  203. package/dist/lib/node/ScriptContainer-H56OW5FC.cjs.map +0 -7
  204. package/dist/lib/node/app-graph-builder-IKOX7GHW.cjs.map +0 -7
  205. package/dist/lib/node/artifact-definition-C644EAYM.cjs.map +0 -7
  206. package/dist/lib/node/chunk-7NNN3IUQ.cjs.map +0 -7
  207. package/dist/lib/node/chunk-HPBQHRM3.cjs.map +0 -7
  208. package/dist/lib/node/chunk-K7PPLRVQ.cjs.map +0 -7
  209. package/dist/lib/node/chunk-SXJGHLK6.cjs.map +0 -7
  210. package/dist/lib/node/chunk-VHSIOCS5.cjs.map +0 -7
  211. package/dist/lib/node/chunk-VNSZBEJW.cjs +0 -91
  212. package/dist/lib/node/chunk-VNSZBEJW.cjs.map +0 -7
  213. package/dist/lib/node/intent-resolver-PDSMZM2T.cjs.map +0 -7
  214. package/dist/lib/node/react-surface-BHHJQZ7P.cjs.map +0 -7
  215. package/dist/lib/node/settings-425QHVGC.cjs.map +0 -7
  216. package/dist/lib/node-esm/ScriptContainer-762FHDZ4.mjs.map +0 -7
  217. package/dist/lib/node-esm/app-graph-builder-KZGKGSP6.mjs.map +0 -7
  218. package/dist/lib/node-esm/artifact-definition-J6UM6BQF.mjs.map +0 -7
  219. package/dist/lib/node-esm/chunk-A3TXZHGD.mjs.map +0 -7
  220. package/dist/lib/node-esm/chunk-F47OE6ZM.mjs.map +0 -7
  221. package/dist/lib/node-esm/chunk-NYA7KDN6.mjs.map +0 -7
  222. package/dist/lib/node-esm/chunk-V733VFCJ.mjs.map +0 -7
  223. package/dist/lib/node-esm/chunk-VMQPOPKV.mjs.map +0 -7
  224. package/dist/lib/node-esm/chunk-YCTECQLY.mjs +0 -89
  225. package/dist/lib/node-esm/chunk-YCTECQLY.mjs.map +0 -7
  226. package/dist/lib/node-esm/intent-resolver-WSAVLQY5.mjs.map +0 -7
  227. package/dist/lib/node-esm/react-surface-W7BM4PDK.mjs.map +0 -7
  228. package/dist/lib/node-esm/settings-BWSKKIVQ.mjs.map +0 -7
  229. /package/dist/lib/browser/{DeploymentDialog-W7PY33VN.mjs.map → DeploymentDialog-AEPYJKPO.mjs.map} +0 -0
  230. /package/dist/lib/browser/{chunk-A4VOGQ2P.mjs.map → chunk-4VD3K3PY.mjs.map} +0 -0
  231. /package/dist/lib/browser/{compiler-O4FJK7RR.mjs.map → compiler-56LTBEQB.mjs.map} +0 -0
  232. /package/dist/lib/node/{chunk-KFJQVOGS.cjs.map → chunk-JICWAOWZ.cjs.map} +0 -0
  233. /package/dist/lib/node/{compiler-FBC6ELQN.cjs.map → compiler-W2RU3M7U.cjs.map} +0 -0
  234. /package/dist/lib/node-esm/{DeploymentDialog-2RRUJEBC.mjs.map → DeploymentDialog-SSQSWLHX.mjs.map} +0 -0
  235. /package/dist/lib/node-esm/{chunk-HKJUN636.mjs.map → chunk-EB5DSAD4.mjs.map} +0 -0
  236. /package/dist/lib/node-esm/{compiler-3NG4T5LH.mjs.map → compiler-VT5C2Z3T.mjs.map} +0 -0
@@ -26,24 +26,25 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_7NNN3IUQ_exports = {};
30
- __export(chunk_7NNN3IUQ_exports, {
29
+ var chunk_F4DP7WON_exports = {};
30
+ __export(chunk_F4DP7WON_exports, {
31
31
  createDeploy: () => createDeploy,
32
32
  createFormat: () => createFormat,
33
33
  createTemplateSelect: () => createTemplateSelect,
34
- useDeployDeps: () => useDeployDeps,
35
34
  useDeployState: () => useDeployState,
35
+ useToolbarAction: () => useToolbarAction,
36
36
  useToolbarState: () => useToolbarState
37
37
  });
38
- module.exports = __toCommonJS(chunk_7NNN3IUQ_exports);
39
- var import_chunk_VNSZBEJW = require("./chunk-VNSZBEJW.cjs");
40
- var import_chunk_K7PPLRVQ = require("./chunk-K7PPLRVQ.cjs");
41
- var import_chunk_NO5Y74F3 = require("./chunk-NO5Y74F3.cjs");
38
+ module.exports = __toCommonJS(chunk_F4DP7WON_exports);
39
+ var import_chunk_X7MHLHHS = require("./chunk-X7MHLHHS.cjs");
40
+ var import_chunk_VYBEBLDO = require("./chunk-VYBEBLDO.cjs");
41
+ var import_chunk_YJQZHKKA = require("./chunk-YJQZHKKA.cjs");
42
42
  var import_react = require("react");
43
43
  var import_functions = require("@dxos/functions");
44
44
  var import_log = require("@dxos/log");
45
45
  var import_react_client = require("@dxos/react-client");
46
46
  var import_echo = require("@dxos/react-client/echo");
47
+ var import_react_ui = require("@dxos/react-ui");
47
48
  var import_react_ui_menu = require("@dxos/react-ui-menu");
48
49
  var import_react_ui_theme = require("@dxos/react-ui-theme");
49
50
  var import_react2 = require("react");
@@ -51,71 +52,46 @@ var import_live_object = require("@dxos/live-object");
51
52
  var import_prettier = require("prettier");
52
53
  var import_estree = __toESM(require("prettier/plugins/estree"));
53
54
  var import_typescript = __toESM(require("prettier/plugins/typescript"));
55
+ var import_react3 = require("react");
54
56
  var import_log2 = require("@dxos/log");
55
57
  var import_react_ui_menu2 = require("@dxos/react-ui-menu");
56
- var import_functions2 = require("@dxos/functions");
58
+ var import_react4 = require("react");
59
+ var import_types = require("@dxos/functions/types");
57
60
  var import_live_object2 = require("@dxos/live-object");
58
61
  var import_react_ui_menu3 = require("@dxos/react-ui-menu");
62
+ var import_react5 = require("react");
63
+ var import_log3 = require("@dxos/log");
59
64
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/hooks/deploy.ts";
60
- var createDeploy = ({ state, script, space, fn, client, existingFunctionUrl, t }) => {
61
- const errorItem = (0, import_react_ui_menu.createMenuAction)("error", () => {
62
- }, {
65
+ var createDeploy = (state) => {
66
+ const errorItem = (0, import_react_ui_menu.createMenuAction)("error", {
63
67
  label: state.error ?? [
64
68
  "no error label",
65
69
  {
66
- ns: import_chunk_NO5Y74F3.SCRIPT_PLUGIN
70
+ ns: import_chunk_YJQZHKKA.SCRIPT_PLUGIN
67
71
  }
68
72
  ],
69
73
  icon: "ph--warning-circle--regular",
70
74
  hidden: !state.error,
71
75
  classNames: state.error && import_react_ui_theme.errorMessageColors
72
76
  });
73
- const deployAction = (0, import_react_ui_menu.createMenuAction)("deploy", async () => {
74
- if (!script.source || !space) {
75
- return;
76
- }
77
- state.error = void 0;
78
- state.deploying = true;
79
- const result = await (0, import_chunk_K7PPLRVQ.deployScript)({
80
- script,
81
- client,
82
- space,
83
- fn,
84
- existingFunctionUrl
85
- });
86
- if (!result.success) {
87
- import_log.log.catch(result.error, void 0, {
88
- F: __dxlog_file,
89
- L: 59,
90
- S: void 0,
91
- C: (f, a) => f(...a)
92
- });
93
- state.error = t("upload failed label");
94
- }
95
- state.deploying = false;
96
- }, {
77
+ const deployAction = (0, import_react_ui_menu.createMenuAction)("deploy", {
97
78
  type: "deploy",
98
79
  label: [
99
80
  state.deploying ? "pending label" : "deploy label",
100
81
  {
101
- ns: import_chunk_NO5Y74F3.SCRIPT_PLUGIN
82
+ ns: import_chunk_YJQZHKKA.SCRIPT_PLUGIN
102
83
  }
103
84
  ],
104
85
  icon: state.deploying ? "ph--spinner-gap--regular" : "ph--cloud-arrow-up--regular",
105
86
  disabled: state.deploying,
106
87
  classNames: state.deploying ? "[&_svg]:animate-spin" : ""
107
88
  });
108
- const copyAction = (0, import_react_ui_menu.createMenuAction)("copy", async () => {
109
- if (!state.functionUrl) {
110
- return;
111
- }
112
- await navigator.clipboard.writeText(state.functionUrl);
113
- }, {
89
+ const copyAction = (0, import_react_ui_menu.createMenuAction)("copy", {
114
90
  type: "copy",
115
91
  label: [
116
92
  "copy link label",
117
93
  {
118
- ns: import_chunk_NO5Y74F3.SCRIPT_PLUGIN
94
+ ns: import_chunk_YJQZHKKA.SCRIPT_PLUGIN
119
95
  }
120
96
  ],
121
97
  icon: "ph--link--regular",
@@ -151,7 +127,7 @@ var useDeployState = ({ state, script }) => {
151
127
  if (!existingFunctionUrl) {
152
128
  return;
153
129
  }
154
- state.functionUrl = (0, import_chunk_K7PPLRVQ.getFunctionUrl)({
130
+ state.functionUrl = (0, import_chunk_VYBEBLDO.getFunctionUrl)({
155
131
  script,
156
132
  fn,
157
133
  edgeUrl: client.config.values.runtime?.services?.edge?.url ?? ""
@@ -164,7 +140,7 @@ var useDeployState = ({ state, script }) => {
164
140
  client.config.values.runtime?.services?.edge?.url
165
141
  ]);
166
142
  (0, import_react.useEffect)(() => {
167
- state.deployed = (0, import_chunk_K7PPLRVQ.isScriptDeployed)({
143
+ state.deployed = (0, import_chunk_VYBEBLDO.isScriptDeployed)({
168
144
  script,
169
145
  fn
170
146
  });
@@ -177,8 +153,8 @@ var useDeployState = ({ state, script }) => {
177
153
  };
178
154
  var useDeployDeps = ({ script }) => {
179
155
  const space = (0, import_echo.getSpace)(script);
180
- const [fn] = (0, import_echo.useQuery)(space, import_echo.Query.type(import_functions.FunctionType, {
181
- source: import_echo.Ref.make(script)
156
+ const [fn] = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_functions.FunctionType, {
157
+ source: script
182
158
  }));
183
159
  const client = (0, import_react_client.useClient)();
184
160
  const existingFunctionUrl = (0, import_react.useMemo)(() => fn && (0, import_functions.getUserFunctionUrlInMetadata)((0, import_echo.getMeta)(fn)), [
@@ -191,38 +167,61 @@ var useDeployDeps = ({ script }) => {
191
167
  existingFunctionUrl
192
168
  };
193
169
  };
194
- var useToolbarState = (initialState = {}) => {
195
- return (0, import_react2.useMemo)(() => (0, import_live_object.live)(initialState), []);
196
- };
197
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/hooks/format.ts";
198
- var createFormat = (script) => {
199
- const formatAction = (0, import_react_ui_menu2.createMenuAction)("format", async () => {
200
- if (!script.source) {
170
+ var useDeployHandler = ({ state, script }) => {
171
+ const { space, fn, client, existingFunctionUrl } = useDeployDeps({
172
+ script
173
+ });
174
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_YJQZHKKA.SCRIPT_PLUGIN);
175
+ return (0, import_react.useCallback)(async () => {
176
+ if (!script.source || !space) {
201
177
  return;
202
178
  }
203
- try {
204
- script.source.target.content = await (0, import_prettier.format)(script.source.target.content, {
205
- parser: "typescript",
206
- plugins: [
207
- import_estree.default,
208
- import_typescript.default
209
- ],
210
- semi: true,
211
- singleQuote: true
212
- });
213
- } catch (err) {
214
- import_log2.log.catch(err, void 0, {
215
- F: __dxlog_file2,
216
- L: 34,
179
+ state.error = void 0;
180
+ state.deploying = true;
181
+ const result = await (0, import_chunk_VYBEBLDO.deployScript)({
182
+ script,
183
+ client,
184
+ space,
185
+ fn,
186
+ existingFunctionUrl
187
+ });
188
+ if (!result.success) {
189
+ import_log.log.catch(result.error, void 0, {
190
+ F: __dxlog_file,
191
+ L: 105,
217
192
  S: void 0,
218
193
  C: (f, a) => f(...a)
219
194
  });
195
+ state.error = t("upload failed label");
220
196
  }
221
- }, {
197
+ state.deploying = false;
198
+ }, [
199
+ fn,
200
+ client,
201
+ t,
202
+ existingFunctionUrl,
203
+ script,
204
+ space
205
+ ]);
206
+ };
207
+ var useCopyHandler = ({ state }) => (0, import_react.useCallback)(async () => {
208
+ if (!state.functionUrl) {
209
+ return;
210
+ }
211
+ await navigator.clipboard.writeText(state.functionUrl);
212
+ }, [
213
+ state.functionUrl
214
+ ]);
215
+ var useToolbarState = (initialState = {}) => {
216
+ return (0, import_react2.useMemo)(() => (0, import_live_object.create)(initialState), []);
217
+ };
218
+ var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/hooks/format.ts";
219
+ var createFormat = () => {
220
+ const formatAction = (0, import_react_ui_menu2.createMenuAction)("format", {
222
221
  label: [
223
222
  "format label",
224
223
  {
225
- ns: import_chunk_NO5Y74F3.SCRIPT_PLUGIN
224
+ ns: import_chunk_YJQZHKKA.SCRIPT_PLUGIN
226
225
  }
227
226
  ],
228
227
  icon: "ph--magic-wand--regular"
@@ -239,43 +238,54 @@ var createFormat = (script) => {
239
238
  ]
240
239
  };
241
240
  };
241
+ var useFormatHandler = ({ script }) => (0, import_react3.useCallback)(async () => {
242
+ if (!script.source) {
243
+ return;
244
+ }
245
+ try {
246
+ script.source.target.content = await (0, import_prettier.format)(script.source.target.content, {
247
+ parser: "typescript",
248
+ plugins: [
249
+ import_estree.default,
250
+ import_typescript.default
251
+ ],
252
+ semi: true,
253
+ singleQuote: true
254
+ });
255
+ } catch (err) {
256
+ import_log2.log.catch(err, void 0, {
257
+ F: __dxlog_file2,
258
+ L: 45,
259
+ S: void 0,
260
+ C: (f, a) => f(...a)
261
+ });
262
+ }
263
+ }, [
264
+ script.source
265
+ ]);
242
266
  var createTemplateSelectGroup = () => {
243
267
  return (0, import_react_ui_menu3.createMenuItemGroup)("template-select", {
244
268
  label: [
245
269
  "template select group label",
246
270
  {
247
- ns: import_chunk_NO5Y74F3.SCRIPT_PLUGIN
271
+ ns: import_chunk_YJQZHKKA.SCRIPT_PLUGIN
248
272
  }
249
273
  ],
250
274
  variant: "dropdownMenu"
251
275
  });
252
276
  };
253
- var createTemplateSelectActions = (script) => {
254
- return import_chunk_VNSZBEJW.templates.map((template) => {
255
- return (0, import_react_ui_menu3.createMenuAction)(`template--${template.id}`, () => {
256
- script.name = template.name;
257
- script.source.target.content = template.source;
258
- const metaKeys = (0, import_live_object2.getMeta)(script).keys;
259
- const oldPresetIndex = metaKeys.findIndex((key) => key.source === import_functions2.FUNCTIONS_PRESET_META_KEY);
260
- if (oldPresetIndex >= 0) {
261
- metaKeys.splice(oldPresetIndex, 1);
262
- }
263
- if (template.presetId) {
264
- metaKeys.push({
265
- source: import_functions2.FUNCTIONS_PRESET_META_KEY,
266
- id: template.presetId
267
- });
268
- }
269
- }, {
277
+ var createTemplateSelectActions = () => {
278
+ return import_chunk_X7MHLHHS.templates.map((template) => {
279
+ return (0, import_react_ui_menu3.createMenuAction)(`template--${template.id}`, {
270
280
  label: template.name,
271
281
  value: template.id,
272
282
  type: "template"
273
283
  });
274
284
  });
275
285
  };
276
- var createTemplateSelect = (script) => {
286
+ var createTemplateSelect = () => {
277
287
  const templateSelectGroup = createTemplateSelectGroup();
278
- const templateSelectActions = createTemplateSelectActions(script);
288
+ const templateSelectActions = createTemplateSelectActions();
279
289
  return {
280
290
  nodes: [
281
291
  templateSelectGroup,
@@ -293,13 +303,70 @@ var createTemplateSelect = (script) => {
293
303
  ]
294
304
  };
295
305
  };
306
+ var useTemplateSelectHandler = ({ script }) => {
307
+ return (0, import_react4.useCallback)((templateId) => {
308
+ const template = import_chunk_X7MHLHHS.templates.find((template2) => template2.id === templateId);
309
+ if (template) {
310
+ script.name = template.name;
311
+ script.source.target.content = template.source;
312
+ const metaKeys = (0, import_live_object2.getMeta)(script).keys;
313
+ const oldPresetIndex = metaKeys.findIndex((key) => key.source === import_types.FUNCTIONS_PRESET_META_KEY);
314
+ if (oldPresetIndex >= 0) {
315
+ metaKeys.splice(oldPresetIndex, 1);
316
+ }
317
+ if (template.presetId) {
318
+ metaKeys.push({
319
+ source: import_types.FUNCTIONS_PRESET_META_KEY,
320
+ id: template.presetId
321
+ });
322
+ }
323
+ }
324
+ }, [
325
+ script
326
+ ]);
327
+ };
328
+ var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/hooks/useToolbarAction.ts";
329
+ var useToolbarAction = (props) => {
330
+ const handleTemplateSelect = useTemplateSelectHandler(props);
331
+ const handleFormat = useFormatHandler(props);
332
+ const handleDeploy = useDeployHandler(props);
333
+ const handleCopy = useCopyHandler(props);
334
+ return (0, import_react5.useCallback)((action) => {
335
+ switch (action.properties.type) {
336
+ case "template":
337
+ handleTemplateSelect(action.properties.value);
338
+ break;
339
+ case "format":
340
+ void handleFormat();
341
+ break;
342
+ case "deploy":
343
+ void handleDeploy();
344
+ break;
345
+ case "copy":
346
+ void handleCopy();
347
+ break;
348
+ default:
349
+ import_log3.log.error("Unknown action type", action, {
350
+ F: __dxlog_file3,
351
+ L: 45,
352
+ S: void 0,
353
+ C: (f, a) => f(...a)
354
+ });
355
+ }
356
+ }, [
357
+ handleTemplateSelect,
358
+ handleFormat,
359
+ handleDeploy,
360
+ handleCopy
361
+ ]);
362
+ };
296
363
  // Annotate the CommonJS export names for ESM import in node:
297
364
  0 && (module.exports = {
298
365
  createDeploy,
299
366
  createFormat,
300
367
  createTemplateSelect,
301
- useDeployDeps,
302
368
  useDeployState,
369
+ useToolbarAction,
303
370
  useToolbarState
304
371
  });
305
- //# sourceMappingURL=chunk-7NNN3IUQ.cjs.map
372
+ //# sourceMappingURL=chunk-F4DP7WON.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/deploy.ts", "../../../src/hooks/useToolbarState.ts", "../../../src/hooks/format.ts", "../../../src/hooks/template.ts", "../../../src/hooks/useToolbarAction.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback, useEffect, useMemo } from 'react';\n\nimport { FunctionType, type ScriptType, getUserFunctionUrlInMetadata } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, getMeta, getSpace, useQuery } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { createMenuAction } from '@dxos/react-ui-menu';\nimport { errorMessageColors } from '@dxos/react-ui-theme';\n\nimport { SCRIPT_PLUGIN } from '../meta';\nimport { deployScript, getFunctionUrl, isScriptDeployed } from '../util';\n\nexport type DeployActionProperties = { type: 'deploy' } | { type: 'copy' };\n\nexport type DeployState = {\n deploying: boolean;\n deployed: boolean;\n functionUrl: string;\n error: string;\n};\n\nexport const createDeploy = (state: Partial<DeployState>) => {\n const errorItem = createMenuAction('error', {\n label: state.error ?? ['no error label', { ns: SCRIPT_PLUGIN }],\n icon: 'ph--warning-circle--regular',\n hidden: !state.error,\n classNames: state.error && errorMessageColors,\n });\n\n const deployAction = createMenuAction<DeployActionProperties>('deploy', {\n type: 'deploy',\n label: [state.deploying ? 'pending label' : 'deploy label', { ns: SCRIPT_PLUGIN }],\n icon: state.deploying ? 'ph--spinner-gap--regular' : 'ph--cloud-arrow-up--regular',\n disabled: state.deploying,\n classNames: state.deploying ? '[&_svg]:animate-spin' : '',\n });\n\n const copyAction = createMenuAction<DeployActionProperties>('copy', {\n type: 'copy',\n label: ['copy link label', { ns: SCRIPT_PLUGIN }],\n icon: 'ph--link--regular',\n disabled: !state.functionUrl,\n });\n\n return {\n nodes: [errorItem, deployAction, copyAction],\n edges: [\n { source: 'root', target: 'error' },\n { source: 'root', target: 'deploy' },\n { source: 'root', target: 'copy' },\n ],\n };\n};\n\nexport const useDeployState = ({ state, script }: { state: Partial<DeployState>; script: ScriptType }) => {\n const { space, client, fn, existingFunctionUrl } = useDeployDeps({ script });\n useEffect(() => {\n if (!existingFunctionUrl) {\n return;\n }\n\n state.functionUrl = getFunctionUrl({\n script,\n fn,\n edgeUrl: client.config.values.runtime?.services?.edge?.url ?? '',\n });\n }, [existingFunctionUrl, space, fn, script, client.config.values.runtime?.services?.edge?.url]);\n\n useEffect(() => {\n state.deployed = isScriptDeployed({ script, fn });\n }, [script.changed, existingFunctionUrl, fn, script]);\n};\n\nexport const useDeployDeps = ({ script }: { script: ScriptType }) => {\n const space = getSpace(script);\n const [fn] = useQuery(space, Filter.schema(FunctionType, { source: script }));\n const client = useClient();\n const existingFunctionUrl = useMemo(() => fn && getUserFunctionUrlInMetadata(getMeta(fn)), [fn]);\n return { space, fn, client, existingFunctionUrl };\n};\n\n/**\n * Manage EDGE function deployment.\n */\nexport const useDeployHandler = ({ state, script }: { state: Partial<DeployState>; script: ScriptType }) => {\n const { space, fn, client, existingFunctionUrl } = useDeployDeps({ script });\n const { t } = useTranslation(SCRIPT_PLUGIN);\n\n return useCallback(async () => {\n if (!script.source || !space) {\n return;\n }\n\n state.error = undefined;\n state.deploying = true;\n\n const result = await deployScript({ script, client, space, fn, existingFunctionUrl });\n\n if (!result.success) {\n log.catch(result.error);\n state.error = t('upload failed label');\n }\n\n state.deploying = false;\n }, [fn, client, t, existingFunctionUrl, script, space]);\n};\n\nexport const useCopyHandler = ({ state }: { state: Partial<DeployState> }) =>\n useCallback(async () => {\n if (!state.functionUrl) {\n return;\n }\n await navigator.clipboard.writeText(state.functionUrl);\n }, [state.functionUrl]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { create } from '@dxos/live-object';\n\nimport { type DeployState } from './deploy';\n\nexport type ScriptToolbarState = Partial<DeployState>;\n\n// TODO(burdon): Replace with context provider?\nexport const useToolbarState = (initialState: ScriptToolbarState = {}) => {\n return useMemo(() => create<ScriptToolbarState>(initialState), []);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { format } from 'prettier';\nimport prettierPluginEstree from 'prettier/plugins/estree';\nimport prettierPluginTypescript from 'prettier/plugins/typescript';\nimport { useCallback } from 'react';\n\nimport { type ScriptType } from '@dxos/functions/types';\nimport { log } from '@dxos/log';\nimport { createMenuAction } from '@dxos/react-ui-menu';\n\nimport { SCRIPT_PLUGIN } from '../meta';\n\nexport type FormatActionProperties = { type: 'format' };\n\nexport const createFormat = () => {\n const formatAction = createMenuAction('format', {\n label: ['format label', { ns: SCRIPT_PLUGIN }],\n icon: 'ph--magic-wand--regular',\n });\n\n return {\n nodes: [formatAction],\n edges: [{ source: 'root', target: 'format' }],\n };\n};\n\nexport const useFormatHandler = ({ script }: { script: ScriptType }) =>\n useCallback(async () => {\n if (!script.source) {\n return;\n }\n\n try {\n script.source.target!.content = await format(script.source.target!.content, {\n parser: 'typescript',\n plugins: [prettierPluginEstree, prettierPluginTypescript],\n semi: true,\n singleQuote: true,\n });\n } catch (err: any) {\n // TODO(wittjosiah): Show error in UI.\n log.catch(err);\n }\n }, [script.source]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback } from 'react';\n\nimport { FUNCTIONS_PRESET_META_KEY, type ScriptType } from '@dxos/functions/types';\nimport { getMeta } from '@dxos/live-object';\nimport { createMenuItemGroup, createMenuAction } from '@dxos/react-ui-menu';\n\nimport { SCRIPT_PLUGIN } from '../meta';\nimport { templates } from '../templates';\n\nexport type TemplateActionProperties = { type: 'template'; value: string };\n\nconst createTemplateSelectGroup = () => {\n return createMenuItemGroup('template-select', {\n label: ['template select group label', { ns: SCRIPT_PLUGIN }],\n variant: 'dropdownMenu',\n });\n};\n\nconst createTemplateSelectActions = () => {\n return templates.map((template) => {\n return createMenuAction<TemplateActionProperties>(`template--${template.id}`, {\n label: template.name,\n value: template.id,\n type: 'template',\n });\n });\n};\n\nexport const createTemplateSelect = () => {\n const templateSelectGroup = createTemplateSelectGroup();\n const templateSelectActions = createTemplateSelectActions();\n return {\n nodes: [templateSelectGroup, ...templateSelectActions],\n edges: [\n { source: 'root', target: 'template-select' },\n ...templateSelectActions.map((action) => ({ source: 'template-select', target: action.id })),\n ],\n };\n};\n\nexport const useTemplateSelectHandler = ({ script }: { script: ScriptType }) => {\n return useCallback(\n (templateId: string) => {\n const template = templates.find((template) => template.id === templateId);\n if (template) {\n script.name = template.name;\n script.source!.target!.content = template.source;\n const metaKeys = getMeta(script).keys;\n const oldPresetIndex = metaKeys.findIndex((key) => key.source === FUNCTIONS_PRESET_META_KEY);\n if (oldPresetIndex >= 0) {\n metaKeys.splice(oldPresetIndex, 1);\n }\n if (template.presetId) {\n metaKeys.push({ source: FUNCTIONS_PRESET_META_KEY, id: template.presetId });\n }\n }\n },\n [script],\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback } from 'react';\n\nimport { type ScriptType } from '@dxos/functions/types';\nimport { log } from '@dxos/log';\nimport { type MenuAction, type MenuActionHandler } from '@dxos/react-ui-menu';\n\nimport { type DeployActionProperties, useDeployHandler, useCopyHandler } from './deploy';\nimport { type FormatActionProperties, useFormatHandler } from './format';\nimport { type TemplateActionProperties, useTemplateSelectHandler } from './template';\nimport { type ScriptToolbarState } from './useToolbarState';\n\nexport type ScriptToolbarActionProperties = TemplateActionProperties | FormatActionProperties | DeployActionProperties;\n\nexport type ScriptToolbarAction = MenuAction<ScriptToolbarActionProperties>;\n\nexport const useToolbarAction = (props: {\n state: ScriptToolbarState;\n script: ScriptType;\n}): MenuActionHandler<ScriptToolbarAction> => {\n const handleTemplateSelect = useTemplateSelectHandler(props);\n const handleFormat = useFormatHandler(props);\n const handleDeploy = useDeployHandler(props);\n const handleCopy = useCopyHandler(props);\n\n return useCallback<MenuActionHandler<ScriptToolbarAction>>(\n (action: ScriptToolbarAction) => {\n switch (action.properties.type) {\n case 'template':\n handleTemplateSelect(action.properties.value);\n break;\n case 'format':\n void handleFormat();\n break;\n case 'deploy':\n void handleDeploy();\n break;\n case 'copy':\n void handleCopy();\n break;\n default:\n log.error('Unknown action type', action);\n }\n },\n [handleTemplateSelect, handleFormat, handleDeploy, handleCopy],\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["import_react", "import_log", "import_react_ui_menu", "import_live_object", "createDeploy", "state", "errorItem", "createMenuAction", "label", "error", "ns", "SCRIPT_PLUGIN", "icon", "hidden", "classNames", "errorMessageColors", "deployAction", "type", "deploying", "disabled", "copyAction", "functionUrl", "nodes", "edges", "source", "target", "useDeployState", "script", "space", "client", "fn", "existingFunctionUrl", "useDeployDeps", "useEffect", "getFunctionUrl", "edgeUrl", "config", "values", "runtime", "services", "edge", "url", "deployed", "isScriptDeployed", "changed", "getSpace", "useQuery", "Filter", "schema", "FunctionType", "useClient", "useMemo", "getUserFunctionUrlInMetadata", "getMeta", "useDeployHandler", "t", "useTranslation", "useCallback", "undefined", "result", "deployScript", "success", "log", "catch", "useCopyHandler", "navigator", "clipboard", "writeText", "useToolbarState", "initialState", "create", "createFormat", "formatAction", "useFormatHandler", "content", "format", "parser", "plugins", "prettierPluginEstree", "prettierPluginTypescript", "semi", "singleQuote", "err", "createTemplateSelectGroup", "createMenuItemGroup", "variant", "createTemplateSelectActions", "templates", "map", "template", "id", "name", "value", "createTemplateSelect", "templateSelectGroup", "templateSelectActions", "action", "useTemplateSelectHandler", "templateId", "find", "metaKeys", "keys", "oldPresetIndex", "findIndex", "key", "FUNCTIONS_PRESET_META_KEY", "splice", "presetId", "push", "useToolbarAction", "props", "handleTemplateSelect", "handleFormat", "handleDeploy", "handleCopy", "properties"]
7
+ }
@@ -16,19 +16,19 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_KFJQVOGS_exports = {};
20
- __export(chunk_KFJQVOGS_exports, {
19
+ var chunk_JICWAOWZ_exports = {};
20
+ __export(chunk_JICWAOWZ_exports, {
21
21
  ScriptCapabilities: () => ScriptCapabilities
22
22
  });
23
- module.exports = __toCommonJS(chunk_KFJQVOGS_exports);
24
- var import_chunk_NO5Y74F3 = require("./chunk-NO5Y74F3.cjs");
23
+ module.exports = __toCommonJS(chunk_JICWAOWZ_exports);
24
+ var import_chunk_YJQZHKKA = require("./chunk-YJQZHKKA.cjs");
25
25
  var import_app_framework = require("@dxos/app-framework");
26
26
  var ScriptCapabilities;
27
27
  (function(ScriptCapabilities2) {
28
- ScriptCapabilities2.Compiler = (0, import_app_framework.defineCapability)(`${import_chunk_NO5Y74F3.meta.id}/capability/compiler`);
28
+ ScriptCapabilities2.Compiler = (0, import_app_framework.defineCapability)(`${import_chunk_YJQZHKKA.meta.id}/capability/compiler`);
29
29
  })(ScriptCapabilities || (ScriptCapabilities = {}));
30
30
  // Annotate the CommonJS export names for ESM import in node:
31
31
  0 && (module.exports = {
32
32
  ScriptCapabilities
33
33
  });
34
- //# sourceMappingURL=chunk-KFJQVOGS.cjs.map
34
+ //# sourceMappingURL=chunk-JICWAOWZ.cjs.map
@@ -26,8 +26,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_HPBQHRM3_exports = {};
30
- __export(chunk_HPBQHRM3_exports, {
29
+ var chunk_SLDJM45C_exports = {};
30
+ __export(chunk_SLDJM45C_exports, {
31
31
  DeploymentDialog: () => DeploymentDialog,
32
32
  ScriptContainer: () => ScriptContainer,
33
33
  ScriptObjectSettings: () => ScriptObjectSettings,
@@ -35,12 +35,12 @@ __export(chunk_HPBQHRM3_exports, {
35
35
  ScriptProperties: () => ScriptProperties,
36
36
  TestPanel: () => TestPanel
37
37
  });
38
- module.exports = __toCommonJS(chunk_HPBQHRM3_exports);
39
- var import_chunk_NO5Y74F3 = require("./chunk-NO5Y74F3.cjs");
38
+ module.exports = __toCommonJS(chunk_SLDJM45C_exports);
39
+ var import_chunk_YJQZHKKA = require("./chunk-YJQZHKKA.cjs");
40
40
  var import_core = require("@octokit/core");
41
41
  var import_react = __toESM(require("react"));
42
42
  var import_app_framework = require("@dxos/app-framework");
43
- var import_functions = require("@dxos/functions");
43
+ var import_types = require("@dxos/functions/types");
44
44
  var import_log = require("@dxos/log");
45
45
  var import_react_client = require("@dxos/react-client");
46
46
  var import_echo = require("@dxos/react-client/echo");
@@ -66,7 +66,7 @@ var ScriptObjectSettings = ({ object }) => {
66
66
  }));
67
67
  };
68
68
  var ScriptProperties = ({ object }) => {
69
- const { t } = (0, import_react_ui.useTranslation)(import_chunk_NO5Y74F3.SCRIPT_PLUGIN);
69
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_YJQZHKKA.SCRIPT_PLUGIN);
70
70
  return /* @__PURE__ */ import_react.default.createElement(import_react_ui.Input.Root, null, /* @__PURE__ */ import_react.default.createElement(import_react_ui.Input.Label, null, t("description label")), /* @__PURE__ */ import_react.default.createElement(import_react_ui.Input.TextInput, {
71
71
  placeholder: t("description placeholder"),
72
72
  value: object.description ?? "",
@@ -76,14 +76,14 @@ var ScriptProperties = ({ object }) => {
76
76
  }));
77
77
  };
78
78
  var Binding = ({ object }) => {
79
- const { t } = (0, import_react_ui.useTranslation)(import_chunk_NO5Y74F3.SCRIPT_PLUGIN);
79
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_YJQZHKKA.SCRIPT_PLUGIN);
80
80
  const client = (0, import_react_client.useClient)();
81
81
  const space = (0, import_echo.getSpace)(object);
82
- const [fn] = (0, import_echo.useQuery)(space, import_echo.Filter.type(import_functions.FunctionType, {
83
- source: import_echo.Ref.make(object)
82
+ const [fn] = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_types.FunctionType, {
83
+ source: object
84
84
  }));
85
- const functionPath = fn && (0, import_functions.getUserFunctionUrlInMetadata)((0, import_echo.getMeta)(fn));
86
- const functionUrl = functionPath && (0, import_functions.getInvocationUrl)(functionPath, client.config.values.runtime?.services?.edge?.url ?? "", {
85
+ const functionPath = fn && (0, import_types.getUserFunctionUrlInMetadata)((0, import_echo.getMeta)(fn));
86
+ const functionUrl = functionPath && (0, import_types.getInvocationUrl)(functionPath, client.config.values.runtime?.services?.edge?.url ?? "", {
87
87
  spaceId: space?.id
88
88
  });
89
89
  const [binding, setBinding] = (0, import_react_ui.useControlledState)(fn?.binding ?? "");
@@ -129,10 +129,10 @@ var Binding = ({ object }) => {
129
129
  }))));
130
130
  };
131
131
  var Publishing = ({ object }) => {
132
- const { t } = (0, import_react_ui.useTranslation)(import_chunk_NO5Y74F3.SCRIPT_PLUGIN);
132
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_YJQZHKKA.SCRIPT_PLUGIN);
133
133
  const { dispatchPromise: dispatch } = (0, import_app_framework.useIntentDispatcher)();
134
134
  const space = (0, import_echo.getSpace)(object);
135
- const [githubToken] = (0, import_echo.useQuery)(space, import_echo.Filter.type(import_schema.DataType.AccessToken, {
135
+ const [githubToken] = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_schema.AccessTokenType, {
136
136
  source: "github.com"
137
137
  }));
138
138
  const gistKey = (0, import_echo.getMeta)(object).keys.find(({ source }) => source === "github.com");
@@ -231,7 +231,7 @@ var Publishing = ({ object }) => {
231
231
  };
232
232
  var kebabize = (str) => str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? "-" : "") + $.toLowerCase());
233
233
  var ScriptPluginSettings = ({ settings }) => {
234
- const { t } = (0, import_react_ui2.useTranslation)(import_chunk_NO5Y74F3.meta.id);
234
+ const { t } = (0, import_react_ui2.useTranslation)(import_chunk_YJQZHKKA.meta.id);
235
235
  const client = (0, import_react_client2.useClient)();
236
236
  const handleAuthenticate = async () => {
237
237
  const { identityKey } = client.halo.identity.get();
@@ -274,7 +274,7 @@ var ScriptPluginSettings = ({ settings }) => {
274
274
  };
275
275
  var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/components/TestPanel/TestPanel.tsx";
276
276
  var TestPanel = ({ classNames, functionUrl }) => {
277
- const { t } = (0, import_react_ui3.useTranslation)(import_chunk_NO5Y74F3.SCRIPT_PLUGIN);
277
+ const { t } = (0, import_react_ui3.useTranslation)(import_chunk_YJQZHKKA.SCRIPT_PLUGIN);
278
278
  const inputRef = (0, import_react3.useRef)(null);
279
279
  const [input, setInput] = (0, import_react3.useState)("");
280
280
  const [result, setResult] = (0, import_react3.useState)("");
@@ -493,8 +493,8 @@ var RobotAvatar = () => /* @__PURE__ */ import_react3.default.createElement(impo
493
493
  variant: "circle",
494
494
  icon: "ph--robot--regular"
495
495
  }));
496
- var ScriptContainer = (0, import_react4.lazy)(() => import("./ScriptContainer-H56OW5FC.cjs"));
497
- var DeploymentDialog = (0, import_react4.lazy)(() => import("./DeploymentDialog-43SI7XFL.cjs"));
496
+ var ScriptContainer = (0, import_react4.lazy)(() => import("./ScriptContainer-5KY6ZOQD.cjs"));
497
+ var DeploymentDialog = (0, import_react4.lazy)(() => import("./DeploymentDialog-O4MU4OMF.cjs"));
498
498
  // Annotate the CommonJS export names for ESM import in node:
499
499
  0 && (module.exports = {
500
500
  DeploymentDialog,
@@ -504,4 +504,4 @@ var DeploymentDialog = (0, import_react4.lazy)(() => import("./DeploymentDialog-
504
504
  ScriptProperties,
505
505
  TestPanel
506
506
  });
507
- //# sourceMappingURL=chunk-HPBQHRM3.cjs.map
507
+ //# sourceMappingURL=chunk-SLDJM45C.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/Settings/ScriptObjectSettings.tsx", "../../../src/components/Settings/ScriptPluginSettings.tsx", "../../../src/components/TestPanel/TestPanel.tsx", "../../../src/components/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Octokit } from '@octokit/core';\nimport React, { type ChangeEvent, useCallback, useEffect, useState } from 'react';\n\nimport { createIntent, SettingsAction, useIntentDispatcher } from '@dxos/app-framework';\nimport { FunctionType, type ScriptType, getInvocationUrl, getUserFunctionUrlInMetadata } from '@dxos/functions/types';\nimport { log } from '@dxos/log';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, getMeta, getSpace, useQuery } from '@dxos/react-client/echo';\nimport { Button, Clipboard, Input, useControlledState, useTranslation } from '@dxos/react-ui';\nimport { AccessTokenType } from '@dxos/schema';\n\nimport { SCRIPT_PLUGIN } from '../../meta';\n\nexport type ScriptObjectSettingsProps = {\n object: ScriptType;\n};\n\nexport const ScriptObjectSettings = ({ object }: ScriptObjectSettingsProps) => {\n return (\n <>\n <Binding object={object} />\n <Publishing object={object} />\n </>\n );\n};\n\nexport const ScriptProperties = ({ object }: ScriptObjectSettingsProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n return (\n <Input.Root>\n <Input.Label>{t('description label')}</Input.Label>\n <Input.TextInput\n placeholder={t('description placeholder')}\n value={object.description ?? ''}\n onChange={(event) => {\n object.description = event.target.value;\n }}\n />\n </Input.Root>\n );\n};\n\nconst Binding = ({ object }: ScriptObjectSettingsProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n const client = useClient();\n const space = getSpace(object);\n const [fn] = useQuery(space, Filter.schema(FunctionType, { source: object }));\n\n const functionPath = fn && getUserFunctionUrlInMetadata(getMeta(fn));\n const functionUrl =\n functionPath &&\n getInvocationUrl(functionPath, client.config.values.runtime?.services?.edge?.url ?? '', {\n spaceId: space?.id,\n });\n\n const [binding, setBinding] = useControlledState(fn?.binding ?? '');\n const handleBindingChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n setBinding(event.target.value);\n },\n [setBinding],\n );\n\n const handleBindingBlur = useCallback(() => {\n fn.binding = binding;\n }, [fn, binding]);\n\n if (!fn || !functionUrl) {\n return null;\n }\n\n // TODO(burdon): Use form.\n return (\n <div role='form' className='flex flex-col p-2 gap-2'>\n <h2>{t('remote function settings heading')}</h2>\n <Input.Root>\n <div role='none' className='flex flex-col gap-1'>\n <Input.Label>{t('function url label')}</Input.Label>\n <div role='none' className='flex gap-1'>\n <Input.TextInput\n disabled\n value={functionUrl}\n onChange={(event) => {\n fn.name = event.target.value;\n }}\n />\n <Clipboard.IconButton value={functionUrl} />\n </div>\n </div>\n </Input.Root>\n <Input.Root>\n <div role='none' className='flex flex-col gap-1'>\n <Input.Label>{t('function binding label')}</Input.Label>\n <Input.TextInput\n placeholder={t('function binding placeholder')}\n value={binding}\n onChange={handleBindingChange}\n onBlur={handleBindingBlur}\n />\n </div>\n </Input.Root>\n </div>\n );\n};\n\n// TODO(burdon): Move to separate tab?\nconst Publishing = ({ object }: ScriptObjectSettingsProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const space = getSpace(object);\n const [githubToken] = useQuery(space, Filter.schema(AccessTokenType, { source: 'github.com' }));\n const gistKey = getMeta(object).keys.find(({ source }) => source === 'github.com');\n const [gistUrl, setGistUrl] = useState<string | undefined>();\n\n useEffect(() => {\n const token = githubToken?.token;\n const gistId = gistKey?.id;\n if (!token || !gistId) {\n setGistUrl(undefined);\n return;\n }\n\n const timeout = setTimeout(async () => {\n try {\n const octokit = new Octokit({ auth: githubToken.token });\n const response = await octokit.request('GET /gists/{gist_id}', {\n gist_id: gistId,\n });\n setGistUrl(response.data.html_url);\n } catch (err) {\n log.catch(err);\n setGistUrl(undefined);\n }\n });\n\n return () => clearTimeout(timeout);\n }, [githubToken, gistKey]);\n\n const handleOpenTokenManager = useCallback(\n () => dispatch(createIntent(SettingsAction.Open, { plugin: 'dxos.org/plugin/token-manager' })),\n [],\n );\n\n const [publishing, setPublishing] = useState(false);\n const handlePublish = useCallback(async () => {\n setPublishing(true);\n const octokit = new Octokit({ auth: githubToken.token });\n const source = await object.source.load();\n const filename = object.name ? kebabize(object.name) : 'composer-script';\n const files = { [`${filename}.ts`]: { content: source.content } };\n\n try {\n // TODO(wittjosiah): Factor out to intent.\n const meta = getMeta(object);\n const githubKey = meta.keys.find(({ source }) => source === 'github.com');\n const gistId = githubKey?.id;\n if (gistId) {\n await octokit.request('PATCH /gists/{gist_id}', {\n gist_id: gistId,\n files,\n });\n } else {\n const response = await octokit.request('POST /gists', {\n public: true,\n files,\n });\n if (response.data.id) {\n meta.keys.push({ source: 'github.com', id: response.data.id });\n }\n }\n } finally {\n setPublishing(false);\n }\n }, [object, githubToken]);\n\n return (\n <div className='flex flex-col p-2 gap-4'>\n <div>\n <h2>{t('script publish settings label')}</h2>\n <p className='text-description text-sm'>{t('script publish settings description')}</p>\n </div>\n {!githubToken && (\n <div className='flex flex-col gap-2'>\n <span>{t('no github token label')}</span>\n <Button onClick={handleOpenTokenManager}>{t('open token manager label')}</Button>\n </div>\n )}\n {githubToken && (\n <div className='flex justify-end gap-2'>\n {gistUrl && <Clipboard.IconButton value={gistUrl} />}\n <Button disabled={publishing} onClick={handlePublish}>\n {t(publishing ? 'publishing label' : 'publish label')}\n </Button>\n </div>\n )}\n </div>\n );\n};\n\n// TODO(wittjosiah): Factor out.\n// From https://stackoverflow.com/a/67243723/2804332\nconst kebabize = (str: string) => str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Credential } from '@dxos/protocols/proto/dxos/halo/credentials';\nimport { useClient } from '@dxos/react-client';\nimport { Button, Select, useTranslation } from '@dxos/react-ui';\nimport { type EditorInputMode, EditorInputModes } from '@dxos/react-ui-editor';\nimport { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';\n\nimport { meta } from '../../meta';\nimport { type ScriptSettingsProps } from '../../types';\n\nexport const ScriptPluginSettings = ({ settings }: { settings: ScriptSettingsProps }) => {\n const { t } = useTranslation(meta.id);\n const client = useClient();\n\n // TODO(burdon): Check token.\n const handleAuthenticate = async () => {\n const { identityKey } = client.halo.identity.get()!;\n await client.halo.writeCredentials([\n {\n issuer: identityKey,\n issuanceDate: new Date(),\n subject: {\n id: identityKey,\n assertion: {\n '@type': 'dxos.halo.credentials.ServiceAccess',\n serverName: 'hub.dxos.network',\n serverKey: identityKey,\n identityKey,\n capabilities: ['composer:beta'],\n },\n },\n } satisfies Credential,\n ]);\n };\n\n return (\n <DeprecatedFormContainer>\n {/* TODO(wittjosiah): Hide outside of dev environments. */}\n <DeprecatedFormInput label={t('authenticate action label')}>\n <Button onClick={handleAuthenticate}>{t('authenticate button label')}</Button>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('editor input mode label')}>\n <Select.Root\n value={settings.editorInputMode ?? 'default'}\n onValueChange={(value) => {\n settings.editorInputMode = value as EditorInputMode;\n }}\n >\n <Select.TriggerButton placeholder={t('select editor input mode placeholder')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {EditorInputModes.map((mode) => (\n <Select.Option key={mode} value={mode}>\n {t(`settings editor input mode ${mode} label`)}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n </DeprecatedFormContainer>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\n\nimport { log } from '@dxos/log';\nimport { Avatar, Icon, Input, type ThemedClassName, Toolbar, useTranslation } from '@dxos/react-ui';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { errorText, mx } from '@dxos/react-ui-theme';\n\nimport { SCRIPT_PLUGIN } from '../../meta';\n\ntype State = 'pending' | 'responding';\n\n/**\n * Request or response.\n */\ntype Message = { type: 'request' | 'response'; text?: string; data?: any; error?: Error };\n\nexport type TestPanelProps = ThemedClassName<{\n functionUrl?: string;\n}>;\n\n// TODO(burdon): Need persistent history (currently lost when switching tabs)..\nexport const TestPanel = ({ classNames, functionUrl }: TestPanelProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const [input, setInput] = useState('');\n const [result, setResult] = useState('');\n const [state, setState] = useState<State | null>(null);\n\n // TODO(burdon): Persistent history (thread).\n const [history, setHistory] = useState<Message[]>([]);\n\n const scrollerRef = useRef<HTMLDivElement>(null);\n const handleScroll = () => {\n if (scrollerRef.current) {\n scrollerRef.current.scrollTop = scrollerRef.current.scrollHeight;\n }\n };\n\n const controller = useRef<AbortController>();\n useEffect(() => {\n return () => {\n handleStop();\n };\n }, []);\n\n const handleStop = () => {\n controller.current?.abort('stop');\n controller.current = undefined;\n };\n\n const handleClear = () => {\n handleStop();\n setInput('');\n setResult('');\n setHistory([]);\n inputRef.current?.focus();\n };\n\n const handleResponse = ({ text, data, error }: { text?: string; data?: any; error?: Error } = {}) => {\n controller.current = undefined;\n setHistory((history) => [...history, { type: 'response', text, data, error } satisfies Message]);\n setResult('');\n setState(null);\n handleScroll();\n };\n\n const handleRequest = async (input: string) => {\n // Returns a promise that resolves when a value has been received.\n try {\n setState('pending');\n\n let data = null;\n // Detect JSON input.\n if (input.charAt(0) === '{') {\n try {\n const validJsonString = input.replace(/'/g, '\"').replace(/([{,]\\s*)([a-zA-Z0-9_]+)(\\s*:)/g, '$1\"$2\"$3');\n data = JSON.parse(validJsonString);\n input = JSON.stringify(data, null, 2);\n } catch (err) {\n inputRef.current?.focus();\n return;\n }\n }\n\n setInput('');\n setResult('');\n setHistory((history) => [...history, { type: 'request', text: input }]);\n setTimeout(() => {\n handleScroll();\n });\n\n // Throws DOMException when aborted.\n controller.current = new AbortController();\n const response = await fetch(functionUrl!, {\n signal: controller.current.signal,\n method: 'POST',\n body: input,\n headers: {\n 'Content-Type': data ? 'application/json' : 'text/plain',\n },\n });\n\n // Check for error.\n if (!response.ok) {\n const text = await response.text();\n handleResponse({ error: new Error(text || response.statusText || String(response.status)) });\n return;\n }\n\n // Check for JSON.\n const contentType = response.headers.get('content-type');\n if (contentType === 'application/json') {\n const data = await response.json();\n handleResponse({ data });\n return;\n }\n\n // Text (including streaming).\n setState('responding');\n let text = '';\n const reader = response.body!.getReader();\n const pump = async ({ done, value }: ReadableStreamReadResult<Uint8Array>): Promise<void> => {\n text = text + new TextDecoder().decode(value);\n if (!controller.current || done) {\n handleResponse({ text });\n return;\n }\n\n setResult(text);\n setTimeout(() => {\n handleScroll();\n });\n\n return reader.read().then(pump);\n };\n\n void reader\n .read()\n .then(pump)\n .catch((err) => {\n if (err.name !== 'AbortError') {\n log.catch(err);\n }\n });\n } catch (err: any) {\n if (err !== 'stop') {\n const error = err instanceof Error ? err : new Error(err);\n handleResponse({ error });\n log.catch(err);\n } else {\n handleResponse();\n }\n }\n };\n\n return (\n <div className={mx('flex flex-col h-full overflow-hidden', classNames)}>\n {/* TODO(burdon): Replace with Thread. */}\n <MessageThread ref={scrollerRef} state={state} result={result} history={history} />\n {/* TODO(burdon): Replace with Form based on the function's input schema. */}\n <Toolbar.Root classNames='p-2'>\n <Input.Root>\n <Input.TextInput\n ref={inputRef}\n autoFocus\n placeholder={t('function request placeholder')}\n value={input}\n onChange={(ev) => setInput(ev.target.value)}\n onKeyDown={(ev) => ev.key === 'Enter' && handleRequest(input)}\n />\n </Input.Root>\n <Toolbar.Button onClick={() => handleRequest(input)}>\n <Icon icon='ph--play--regular' size={4} />\n </Toolbar.Button>\n <Toolbar.Button onClick={() => (state ? handleStop() : handleClear())}>\n <Icon icon={state ? 'ph--stop--regular' : 'ph--trash--regular'} size={4} />\n </Toolbar.Button>\n </Toolbar.Root>\n </div>\n );\n};\n\n// TODO(burdon): Replace with thread?\n// TODO(burdon): Button to edit/re-run question.\ntype MessageThreadProps = {\n state: State | null;\n history: Message[];\n result: string;\n};\n\nconst MessageThread = forwardRef<HTMLDivElement, MessageThreadProps>(\n ({ state, history, result }: MessageThreadProps, forwardedRef) => {\n return (\n <div ref={forwardedRef} className='flex flex-col gap-6 h-full p-2 overflow-x-hidden overflow-y-auto'>\n {history.map((message, i) => (\n <div key={i} className='grid grid-cols-[2rem_1fr_2rem]'>\n <div className='p-1'>{message.type === 'response' && <RobotAvatar />}</div>\n <div className='overflow-auto'>\n <MessageItem message={message} />\n </div>\n </div>\n ))}\n\n {result?.length > 0 && (\n <div className='grid grid-cols-[2rem_1fr_2rem]'>\n <div className='p-1'>\n {(state === 'pending' && <Icon icon='ph--spinner--regular' size={6} classNames='animate-spin' />) || (\n <Icon icon='ph--robot--regular' size={6} classNames='animate-[pulse_1s_ease-in-out_infinite]' />\n )}\n </div>\n <div className='overflow-auto'>\n <MessageItem message={{ type: 'response', text: result }} />\n </div>\n </div>\n )}\n </div>\n );\n },\n);\n\nconst MessageItem = ({ classNames, message }: ThemedClassName<{ message: Message }>) => {\n const { type, text, data, error } = message;\n const wrapper = 'p-1 px-2 rounded-lg bg-hoverSurface overflow-auto';\n return (\n <div className={mx('flex', type === 'request' ? 'ml-[1rem] justify-end' : 'mr-[1rem]', classNames)}>\n {error && <div className={mx(wrapper, 'whitespace-pre', errorText)}>{String(error)}</div>}\n\n {text !== undefined && (\n <div className={mx(wrapper, type === 'request' && 'bg-primary-400 dark:bg-primary-600')}>\n {text || '\\u00D8'}\n </div>\n )}\n\n {data && (\n <SyntaxHighlighter language='json' className={mx(wrapper, 'px-8 py-2 text-xs')}>\n {JSON.stringify(data, null, 2)}\n </SyntaxHighlighter>\n )}\n </div>\n );\n};\n\nconst RobotAvatar = () => (\n <Avatar.Root>\n <Avatar.Content size={6} variant='circle' icon='ph--robot--regular' />\n </Avatar.Root>\n);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './Settings';\nexport * from './TestPanel';\nexport { DEPLOYMENT_DIALOG } from './DeploymentDialog';\n\nexport const ScriptContainer = lazy(() => import('./ScriptContainer'));\nexport const DeploymentDialog = lazy(() => import('./DeploymentDialog'));\n"],
5
+ "mappings": "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",
6
+ "names": ["import_react", "import_react_client", "import_react_ui", "import_log", "ScriptObjectSettings", "object", "React", "Binding", "Publishing", "ScriptProperties", "t", "useTranslation", "SCRIPT_PLUGIN", "Input", "Root", "Label", "TextInput", "placeholder", "value", "description", "onChange", "event", "target", "client", "useClient", "space", "getSpace", "fn", "useQuery", "Filter", "schema", "FunctionType", "source", "functionPath", "getUserFunctionUrlInMetadata", "getMeta", "functionUrl", "getInvocationUrl", "config", "values", "runtime", "services", "edge", "url", "spaceId", "id", "binding", "setBinding", "useControlledState", "handleBindingChange", "useCallback", "handleBindingBlur", "div", "role", "className", "h2", "disabled", "name", "Clipboard", "IconButton", "onBlur", "dispatchPromise", "dispatch", "useIntentDispatcher", "githubToken", "AccessTokenType", "gistKey", "keys", "find", "gistUrl", "setGistUrl", "useState", "useEffect", "token", "gistId", "undefined", "timeout", "setTimeout", "octokit", "Octokit", "auth", "response", "request", "gist_id", "data", "html_url", "err", "log", "catch", "clearTimeout", "handleOpenTokenManager", "createIntent", "SettingsAction", "Open", "plugin", "publishing", "setPublishing", "handlePublish", "load", "filename", "kebabize", "files", "content", "meta", "githubKey", "public", "push", "p", "span", "Button", "onClick", "str", "replace", "$", "ofs", "toLowerCase", "ScriptPluginSettings", "settings", "handleAuthenticate", "identityKey", "halo", "identity", "get", "writeCredentials", "issuer", "issuanceDate", "Date", "subject", "assertion", "serverName", "serverKey", "capabilities", "DeprecatedFormContainer", "DeprecatedFormInput", "label", "Select", "editorInputMode", "onValueChange", "TriggerButton", "Portal", "Content", "Viewport", "EditorInputModes", "map", "mode", "Option", "key", "TestPanel", "classNames", "inputRef", "useRef", "input", "setInput", "result", "setResult", "state", "setState", "history", "setHistory", "scrollerRef", "handleScroll", "current", "scrollTop", "scrollHeight", "controller", "handleStop", "abort", "handleClear", "focus", "handleResponse", "text", "error", "type", "handleRequest", "charAt", "validJsonString", "JSON", "parse", "stringify", "AbortController", "fetch", "signal", "method", "body", "headers", "ok", "Error", "statusText", "String", "status", "contentType", "json", "reader", "getReader", "pump", "done", "TextDecoder", "decode", "read", "then", "mx", "MessageThread", "ref", "Toolbar", "autoFocus", "ev", "onKeyDown", "Icon", "icon", "size", "forwardRef", "forwardedRef", "message", "i", "RobotAvatar", "MessageItem", "length", "wrapper", "errorText", "SyntaxHighlighter", "language", "Avatar", "variant", "ScriptContainer", "lazy", "DeploymentDialog"]
7
+ }