@dxos/plugin-script 0.7.5-main.9d26e3a → 0.7.5-main.b19bfc8

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 (265) hide show
  1. package/dist/lib/browser/{AutomationPanel-RFQAQ7NF.mjs → AutomationPanel-6HFRNRWV.mjs} +3 -3
  2. package/dist/lib/browser/ScriptContainer-U3BFT76B.mjs +713 -0
  3. package/dist/lib/browser/ScriptContainer-U3BFT76B.mjs.map +7 -0
  4. package/dist/lib/browser/artifact-definition-NAWYXFF5.mjs +243 -0
  5. package/dist/lib/browser/artifact-definition-NAWYXFF5.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-K7KY6YMG.mjs → chunk-5SXOHNAK.mjs} +4 -4
  7. package/dist/lib/browser/chunk-5SXOHNAK.mjs.map +7 -0
  8. package/dist/lib/browser/chunk-6MOQ4BP3.mjs +15 -0
  9. package/dist/lib/browser/chunk-6MOQ4BP3.mjs.map +7 -0
  10. package/dist/lib/browser/chunk-FVVCAWNP.mjs +21 -0
  11. package/dist/lib/browser/chunk-FVVCAWNP.mjs.map +7 -0
  12. package/dist/lib/browser/chunk-HJNS3BBK.mjs +236 -0
  13. package/dist/lib/browser/chunk-HJNS3BBK.mjs.map +7 -0
  14. package/dist/lib/browser/chunk-N46LE7FS.mjs +40 -0
  15. package/dist/lib/browser/chunk-N46LE7FS.mjs.map +7 -0
  16. package/dist/lib/browser/chunk-PZPYF7M4.mjs +69 -0
  17. package/dist/lib/browser/chunk-PZPYF7M4.mjs.map +7 -0
  18. package/dist/lib/browser/compiler-YY2XSKHQ.mjs +82 -0
  19. package/dist/lib/browser/compiler-YY2XSKHQ.mjs.map +7 -0
  20. package/dist/lib/browser/index.mjs +129 -288
  21. package/dist/lib/browser/index.mjs.map +4 -4
  22. package/dist/lib/browser/intent-resolver-D6FPY5ZA.mjs +45 -0
  23. package/dist/lib/browser/intent-resolver-D6FPY5ZA.mjs.map +7 -0
  24. package/dist/lib/browser/meta.json +1 -1
  25. package/dist/lib/browser/react-surface-DIXYM2HA.mjs +65 -0
  26. package/dist/lib/browser/react-surface-DIXYM2HA.mjs.map +7 -0
  27. package/dist/lib/browser/settings-SZCDKHWO.mjs +24 -0
  28. package/dist/lib/browser/settings-SZCDKHWO.mjs.map +7 -0
  29. package/dist/lib/browser/types.mjs +6 -4
  30. package/dist/lib/node/{AutomationPanel-5CJEF4MI.cjs → AutomationPanel-RBQ4DODN.cjs} +8 -8
  31. package/dist/lib/node/ScriptContainer-PSLB34RX.cjs +719 -0
  32. package/dist/lib/node/ScriptContainer-PSLB34RX.cjs.map +7 -0
  33. package/dist/lib/node/artifact-definition-7AANUS3X.cjs +262 -0
  34. package/dist/lib/node/artifact-definition-7AANUS3X.cjs.map +7 -0
  35. package/dist/lib/node/chunk-2UNNYU2C.cjs +264 -0
  36. package/dist/lib/node/chunk-2UNNYU2C.cjs.map +7 -0
  37. package/dist/lib/node/{chunk-6LYX73ZT.cjs → chunk-5UH3F7TA.cjs} +11 -8
  38. package/dist/lib/node/chunk-5UH3F7TA.cjs.map +7 -0
  39. package/dist/lib/node/{meta.cjs → chunk-ALY3N6PW.cjs} +12 -8
  40. package/dist/lib/node/chunk-ALY3N6PW.cjs.map +7 -0
  41. package/dist/lib/node/{chunk-PK3OQP5L.cjs → chunk-DJGLGRQV.cjs} +26 -11
  42. package/dist/lib/node/chunk-DJGLGRQV.cjs.map +7 -0
  43. package/dist/lib/node/chunk-ITAJ3WRW.cjs +77 -0
  44. package/dist/lib/node/chunk-ITAJ3WRW.cjs.map +7 -0
  45. package/dist/lib/node/{chunk-4INUJLXL.cjs → chunk-K3ZZWVXS.cjs} +7 -7
  46. package/dist/lib/node/chunk-K3ZZWVXS.cjs.map +7 -0
  47. package/dist/lib/node/compiler-UIBLKJKG.cjs +104 -0
  48. package/dist/lib/node/compiler-UIBLKJKG.cjs.map +7 -0
  49. package/dist/lib/node/index.cjs +122 -277
  50. package/dist/lib/node/index.cjs.map +4 -4
  51. package/dist/lib/node/intent-resolver-NYJFPD5B.cjs +59 -0
  52. package/dist/lib/node/intent-resolver-NYJFPD5B.cjs.map +7 -0
  53. package/dist/lib/node/meta.json +1 -1
  54. package/dist/lib/node/react-surface-JOMWTFI2.cjs +84 -0
  55. package/dist/lib/node/react-surface-JOMWTFI2.cjs.map +7 -0
  56. package/dist/lib/node/settings-SZFSMSKM.cjs +38 -0
  57. package/dist/lib/node/settings-SZFSMSKM.cjs.map +7 -0
  58. package/dist/lib/node/types.cjs +6 -4
  59. package/dist/lib/node/types.cjs.map +2 -2
  60. package/dist/lib/node-esm/{AutomationPanel-7Y6REBNJ.mjs → AutomationPanel-WTVVVMRH.mjs} +3 -3
  61. package/dist/lib/node-esm/ScriptContainer-E4J6XXE6.mjs +714 -0
  62. package/dist/lib/node-esm/ScriptContainer-E4J6XXE6.mjs.map +7 -0
  63. package/dist/lib/node-esm/artifact-definition-KBASPVMM.mjs +245 -0
  64. package/dist/lib/node-esm/artifact-definition-KBASPVMM.mjs.map +7 -0
  65. package/dist/lib/node-esm/{chunk-OFYGBUNI.mjs → chunk-2AFXX34U.mjs} +4 -4
  66. package/dist/lib/node-esm/chunk-2AFXX34U.mjs.map +7 -0
  67. package/dist/lib/node-esm/chunk-4OCRARHP.mjs +237 -0
  68. package/dist/lib/node-esm/chunk-4OCRARHP.mjs.map +7 -0
  69. package/dist/lib/node-esm/chunk-CP5LXTK5.mjs +16 -0
  70. package/dist/lib/node-esm/chunk-CP5LXTK5.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-SLTZMY34.mjs → chunk-P2V2Y5LV.mjs} +7 -4
  72. package/dist/lib/node-esm/chunk-P2V2Y5LV.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-UNQFIERE.mjs +41 -0
  74. package/dist/lib/node-esm/chunk-UNQFIERE.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-YIWRJ25J.mjs +71 -0
  76. package/dist/lib/node-esm/chunk-YIWRJ25J.mjs.map +7 -0
  77. package/dist/lib/node-esm/compiler-XTXFGZJM.mjs +83 -0
  78. package/dist/lib/node-esm/compiler-XTXFGZJM.mjs.map +7 -0
  79. package/dist/lib/node-esm/index.mjs +129 -288
  80. package/dist/lib/node-esm/index.mjs.map +4 -4
  81. package/dist/lib/node-esm/intent-resolver-KLBHSMW4.mjs +46 -0
  82. package/dist/lib/node-esm/intent-resolver-KLBHSMW4.mjs.map +7 -0
  83. package/dist/lib/node-esm/meta.json +1 -1
  84. package/dist/lib/node-esm/react-surface-OLH7N3DK.mjs +66 -0
  85. package/dist/lib/node-esm/react-surface-OLH7N3DK.mjs.map +7 -0
  86. package/dist/lib/node-esm/settings-GR4O2WHZ.mjs +25 -0
  87. package/dist/lib/node-esm/settings-GR4O2WHZ.mjs.map +7 -0
  88. package/dist/lib/node-esm/types.mjs +6 -4
  89. package/dist/types/src/ScriptPlugin.d.ts +1 -3
  90. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  91. package/dist/types/src/capabilities/artifact-definition.d.ts +11 -0
  92. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -0
  93. package/dist/types/src/capabilities/capabilities.d.ts +5 -0
  94. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -0
  95. package/dist/types/src/capabilities/compiler.d.ts +4 -0
  96. package/dist/types/src/capabilities/compiler.d.ts.map +1 -0
  97. package/dist/types/src/capabilities/index.d.ts +7 -0
  98. package/dist/types/src/capabilities/index.d.ts.map +1 -0
  99. package/dist/types/src/capabilities/intent-resolver.d.ts +4 -0
  100. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
  101. package/dist/types/src/capabilities/react-surface.d.ts +4 -0
  102. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  103. package/dist/types/src/capabilities/settings.d.ts +4 -0
  104. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  105. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts +1 -2
  106. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.map +1 -1
  107. package/dist/types/src/components/DebugPanel/DebugPanel.d.ts +1 -2
  108. package/dist/types/src/components/DebugPanel/DebugPanel.d.ts.map +1 -1
  109. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts +3 -4
  110. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -1
  111. package/dist/types/src/components/ScriptContainer.d.ts +10 -3
  112. package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
  113. package/dist/types/src/components/ScriptSettings/ScriptSettings.d.ts +1 -2
  114. package/dist/types/src/components/ScriptSettings/ScriptSettings.d.ts.map +1 -1
  115. package/dist/types/src/components/ScriptSettingsPanel.d.ts +1 -2
  116. package/dist/types/src/components/ScriptSettingsPanel.d.ts.map +1 -1
  117. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +10 -0
  118. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -0
  119. package/dist/types/src/components/{Toolbar/Toolbar.stories.d.ts → ScriptToolbar/ScriptToolbar.stories.d.ts} +1 -1
  120. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -0
  121. package/dist/types/src/components/ScriptToolbar/index.d.ts +2 -0
  122. package/dist/types/src/components/ScriptToolbar/index.d.ts.map +1 -0
  123. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +4 -3
  124. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  125. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  126. package/dist/types/src/components/index.d.ts +2 -2
  127. package/dist/types/src/components/index.d.ts.map +1 -1
  128. package/dist/types/src/events.d.ts +4 -0
  129. package/dist/types/src/events.d.ts.map +1 -0
  130. package/dist/types/src/hooks/deploy.d.ts +48 -0
  131. package/dist/types/src/hooks/deploy.d.ts.map +1 -0
  132. package/dist/types/src/hooks/format.d.ts +25 -0
  133. package/dist/types/src/hooks/format.d.ts.map +1 -0
  134. package/dist/types/src/hooks/index.d.ts +7 -0
  135. package/dist/types/src/hooks/index.d.ts.map +1 -0
  136. package/dist/types/src/hooks/template.d.ts +31 -0
  137. package/dist/types/src/hooks/template.d.ts.map +1 -0
  138. package/dist/types/src/hooks/useToolbarAction.d.ts +14 -0
  139. package/dist/types/src/hooks/useToolbarAction.d.ts.map +1 -0
  140. package/dist/types/src/hooks/useToolbarState.d.ts +10 -0
  141. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -0
  142. package/dist/types/src/hooks/view.d.ts +33 -0
  143. package/dist/types/src/hooks/view.d.ts.map +1 -0
  144. package/dist/types/src/index.d.ts +2 -5
  145. package/dist/types/src/index.d.ts.map +1 -1
  146. package/dist/types/src/meta.d.ts +2 -2
  147. package/dist/types/src/meta.d.ts.map +1 -1
  148. package/dist/types/src/templates/chess.d.ts +1 -4
  149. package/dist/types/src/templates/chess.d.ts.map +1 -1
  150. package/dist/types/src/templates/discord.d.ts +3 -0
  151. package/dist/types/src/templates/discord.d.ts.map +1 -0
  152. package/dist/types/src/templates/echo.d.ts.map +1 -1
  153. package/dist/types/src/templates/email.d.ts +2 -1
  154. package/dist/types/src/templates/email.d.ts.map +1 -1
  155. package/dist/types/src/templates/forex-effect.d.ts +3 -0
  156. package/dist/types/src/templates/forex-effect.d.ts.map +1 -0
  157. package/dist/types/src/templates/forex.d.ts +1 -4
  158. package/dist/types/src/templates/forex.d.ts.map +1 -1
  159. package/dist/types/src/{templates.d.ts → templates/index.d.ts} +1 -1
  160. package/dist/types/src/templates/index.d.ts.map +1 -0
  161. package/dist/types/src/translations.d.ts +97 -0
  162. package/dist/types/src/translations.d.ts.map +1 -1
  163. package/dist/types/src/types.d.ts +14 -6
  164. package/dist/types/src/types.d.ts.map +1 -1
  165. package/dist/types/tsconfig.tsbuildinfo +1 -1
  166. package/package.json +45 -46
  167. package/src/ScriptPlugin.tsx +70 -90
  168. package/src/capabilities/artifact-definition.ts +219 -0
  169. package/src/capabilities/capabilities.ts +12 -0
  170. package/src/capabilities/compiler.ts +33 -0
  171. package/src/capabilities/index.ts +13 -0
  172. package/src/capabilities/intent-resolver.ts +46 -0
  173. package/src/capabilities/react-surface.tsx +54 -0
  174. package/src/capabilities/settings.ts +14 -0
  175. package/src/compiler/compiler.browser.test.ts +1 -1
  176. package/src/components/DebugPanel/DebugPanel.tsx +2 -2
  177. package/src/components/FrameContainer/FrameContainer.tsx +5 -4
  178. package/src/components/ScriptContainer.tsx +69 -9
  179. package/src/components/ScriptSettings/ScriptSettings.tsx +28 -4
  180. package/src/components/ScriptSettingsPanel.tsx +139 -51
  181. package/src/components/{Toolbar/Toolbar.stories.tsx → ScriptToolbar/ScriptToolbar.stories.tsx} +2 -2
  182. package/src/components/ScriptToolbar/ScriptToolbar.tsx +53 -0
  183. package/src/{bundler → components/ScriptToolbar}/index.ts +1 -1
  184. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +2 -0
  185. package/src/components/TypescriptEditor/TypescriptEditor.tsx +75 -10
  186. package/src/events.ts +11 -0
  187. package/src/hooks/deploy.ts +169 -0
  188. package/src/hooks/format.ts +47 -0
  189. package/src/hooks/index.ts +11 -0
  190. package/src/hooks/template.ts +64 -0
  191. package/src/hooks/useToolbarAction.ts +54 -0
  192. package/src/hooks/useToolbarState.ts +16 -0
  193. package/src/hooks/view.ts +52 -0
  194. package/src/index.ts +2 -7
  195. package/src/meta.ts +4 -2
  196. package/src/templates/chat.ts +4 -4
  197. package/src/templates/chess.ts +42 -35
  198. package/src/templates/discord.ts +103 -0
  199. package/src/templates/echo.ts +5 -1
  200. package/src/templates/email.ts +26 -23
  201. package/src/templates/forex-effect.ts +41 -0
  202. package/src/templates/forex.ts +23 -16
  203. package/src/{templates.ts → templates/index.ts} +20 -5
  204. package/src/translations.ts +23 -0
  205. package/src/types.ts +19 -18
  206. package/dist/lib/browser/ScriptContainer-GDVBWFI7.mjs +0 -415
  207. package/dist/lib/browser/ScriptContainer-GDVBWFI7.mjs.map +0 -7
  208. package/dist/lib/browser/chunk-4UTRJLQ3.mjs +0 -286
  209. package/dist/lib/browser/chunk-4UTRJLQ3.mjs.map +0 -7
  210. package/dist/lib/browser/chunk-C7VBULMK.mjs +0 -18
  211. package/dist/lib/browser/chunk-C7VBULMK.mjs.map +0 -7
  212. package/dist/lib/browser/chunk-K7KY6YMG.mjs.map +0 -7
  213. package/dist/lib/browser/chunk-RQA3EB5K.mjs +0 -26
  214. package/dist/lib/browser/chunk-RQA3EB5K.mjs.map +0 -7
  215. package/dist/lib/browser/meta.mjs +0 -9
  216. package/dist/lib/browser/meta.mjs.map +0 -7
  217. package/dist/lib/node/ScriptContainer-YWXXNLG6.cjs +0 -426
  218. package/dist/lib/node/ScriptContainer-YWXXNLG6.cjs.map +0 -7
  219. package/dist/lib/node/chunk-4INUJLXL.cjs.map +0 -7
  220. package/dist/lib/node/chunk-6LYX73ZT.cjs.map +0 -7
  221. package/dist/lib/node/chunk-PK3OQP5L.cjs.map +0 -7
  222. package/dist/lib/node/chunk-WPP65EYS.cjs +0 -298
  223. package/dist/lib/node/chunk-WPP65EYS.cjs.map +0 -7
  224. package/dist/lib/node/meta.cjs.map +0 -7
  225. package/dist/lib/node-esm/ScriptContainer-BG2PHKEH.mjs +0 -416
  226. package/dist/lib/node-esm/ScriptContainer-BG2PHKEH.mjs.map +0 -7
  227. package/dist/lib/node-esm/chunk-4SRPREUK.mjs +0 -288
  228. package/dist/lib/node-esm/chunk-4SRPREUK.mjs.map +0 -7
  229. package/dist/lib/node-esm/chunk-H6BBLQ5Q.mjs +0 -27
  230. package/dist/lib/node-esm/chunk-H6BBLQ5Q.mjs.map +0 -7
  231. package/dist/lib/node-esm/chunk-OFYGBUNI.mjs.map +0 -7
  232. package/dist/lib/node-esm/chunk-SLTZMY34.mjs.map +0 -7
  233. package/dist/lib/node-esm/meta.mjs +0 -10
  234. package/dist/lib/node-esm/meta.mjs.map +0 -7
  235. package/dist/types/src/bundler/bundler.d.ts +0 -39
  236. package/dist/types/src/bundler/bundler.d.ts.map +0 -1
  237. package/dist/types/src/bundler/bundler.test.d.ts +0 -2
  238. package/dist/types/src/bundler/bundler.test.d.ts.map +0 -1
  239. package/dist/types/src/bundler/index.d.ts +0 -2
  240. package/dist/types/src/bundler/index.d.ts.map +0 -1
  241. package/dist/types/src/components/ScriptBlock/ScriptBlock.d.ts +0 -12
  242. package/dist/types/src/components/ScriptBlock/ScriptBlock.d.ts.map +0 -1
  243. package/dist/types/src/components/ScriptBlock/ScriptBlock.stories.d.ts +0 -6
  244. package/dist/types/src/components/ScriptBlock/ScriptBlock.stories.d.ts.map +0 -1
  245. package/dist/types/src/components/ScriptBlock/index.d.ts +0 -2
  246. package/dist/types/src/components/ScriptBlock/index.d.ts.map +0 -1
  247. package/dist/types/src/components/ScriptEditor.d.ts +0 -9
  248. package/dist/types/src/components/ScriptEditor.d.ts.map +0 -1
  249. package/dist/types/src/components/Toolbar/Toolbar.d.ts +0 -23
  250. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +0 -1
  251. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +0 -1
  252. package/dist/types/src/components/Toolbar/index.d.ts +0 -2
  253. package/dist/types/src/components/Toolbar/index.d.ts.map +0 -1
  254. package/dist/types/src/templates.d.ts.map +0 -1
  255. package/src/bundler/bundler.test.ts +0 -54
  256. package/src/bundler/bundler.ts +0 -250
  257. package/src/components/ScriptBlock/ScriptBlock.stories.tsx +0 -55
  258. package/src/components/ScriptBlock/ScriptBlock.tsx +0 -102
  259. package/src/components/ScriptBlock/index.ts +0 -5
  260. package/src/components/ScriptEditor.tsx +0 -193
  261. package/src/components/Toolbar/Toolbar.tsx +0 -177
  262. package/src/components/Toolbar/index.ts +0 -5
  263. /package/dist/lib/browser/{AutomationPanel-RFQAQ7NF.mjs.map → AutomationPanel-6HFRNRWV.mjs.map} +0 -0
  264. /package/dist/lib/node/{AutomationPanel-5CJEF4MI.cjs.map → AutomationPanel-RBQ4DODN.cjs.map} +0 -0
  265. /package/dist/lib/node-esm/{AutomationPanel-7Y6REBNJ.mjs.map → AutomationPanel-WTVVVMRH.mjs.map} +0 -0
@@ -26,12 +26,12 @@ 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_4INUJLXL_exports = {};
30
- __export(chunk_4INUJLXL_exports, {
29
+ var chunk_K3ZZWVXS_exports = {};
30
+ __export(chunk_K3ZZWVXS_exports, {
31
31
  DebugPanel: () => DebugPanel
32
32
  });
33
- module.exports = __toCommonJS(chunk_4INUJLXL_exports);
34
- var import_chunk_6LYX73ZT = require("./chunk-6LYX73ZT.cjs");
33
+ module.exports = __toCommonJS(chunk_K3ZZWVXS_exports);
34
+ var import_chunk_5UH3F7TA = require("./chunk-5UH3F7TA.cjs");
35
35
  var import_react = __toESM(require("react"));
36
36
  var import_log = require("@dxos/log");
37
37
  var import_react_ui = require("@dxos/react-ui");
@@ -39,7 +39,7 @@ var import_react_ui_syntax_highlighter = require("@dxos/react-ui-syntax-highligh
39
39
  var import_react_ui_theme = require("@dxos/react-ui-theme");
40
40
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-script/src/components/DebugPanel/DebugPanel.tsx";
41
41
  var DebugPanel = ({ classNames, functionUrl }) => {
42
- const { t } = (0, import_react_ui.useTranslation)(import_chunk_6LYX73ZT.SCRIPT_PLUGIN);
42
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_5UH3F7TA.SCRIPT_PLUGIN);
43
43
  const inputRef = (0, import_react.useRef)(null);
44
44
  const [input, setInput] = (0, import_react.useState)("");
45
45
  const [result, setResult] = (0, import_react.useState)("");
@@ -248,7 +248,7 @@ var MessageItem = ({ classNames, message }) => {
248
248
  return /* @__PURE__ */ import_react.default.createElement("div", {
249
249
  className: (0, import_react_ui_theme.mx)("flex", type === "request" ? "ml-[1rem] justify-end" : "mr-[1rem]", classNames)
250
250
  }, error && /* @__PURE__ */ import_react.default.createElement("div", {
251
- className: (0, import_react_ui_theme.mx)(wrapper, "whitespace-pre text-error")
251
+ className: (0, import_react_ui_theme.mx)(wrapper, "whitespace-pre", import_react_ui_theme.errorText)
252
252
  }, String(error)), text !== void 0 && /* @__PURE__ */ import_react.default.createElement("div", {
253
253
  className: (0, import_react_ui_theme.mx)(wrapper, type === "request" && "bg-primary-400 dark:bg-primary-600")
254
254
  }, text || "\xD8"), data && /* @__PURE__ */ import_react.default.createElement(import_react_ui_syntax_highlighter.SyntaxHighlighter, {
@@ -266,4 +266,4 @@ var RobotAvatar = () => /* @__PURE__ */ import_react.default.createElement(impor
266
266
  0 && (module.exports = {
267
267
  DebugPanel
268
268
  });
269
- //# sourceMappingURL=chunk-4INUJLXL.cjs.map
269
+ //# sourceMappingURL=chunk-K3ZZWVXS.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/DebugPanel/DebugPanel.tsx"],
4
+ "sourcesContent": ["//\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 DebugPanelProps = ThemedClassName<{\n functionUrl?: string;\n}>;\n\nexport const DebugPanel = ({ classNames, functionUrl }: DebugPanelProps) => {\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 -- at least for session (non-space ECHO data?)\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\n <Toolbar.Root classNames='p-1'>\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 delete individual messages.\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 if (!history.length && !result.length) {\n return null;\n }\n\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 size={6} variant='circle'>\n <Avatar.Frame>\n <Avatar.Icon icon='ph--robot--regular' />\n </Avatar.Frame>\n </Avatar.Root>\n);\n"],
5
+ "mappings": "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",
6
+ "names": ["DebugPanel", "classNames", "functionUrl", "t", "useTranslation", "SCRIPT_PLUGIN", "inputRef", "useRef", "input", "setInput", "useState", "result", "setResult", "state", "setState", "history", "setHistory", "scrollerRef", "handleScroll", "current", "scrollTop", "scrollHeight", "controller", "useEffect", "handleStop", "abort", "undefined", "handleClear", "focus", "handleResponse", "text", "data", "error", "type", "handleRequest", "charAt", "validJsonString", "replace", "JSON", "parse", "stringify", "err", "setTimeout", "AbortController", "response", "fetch", "signal", "method", "body", "headers", "ok", "Error", "statusText", "String", "status", "contentType", "get", "json", "reader", "getReader", "pump", "done", "value", "TextDecoder", "decode", "read", "then", "catch", "name", "log", "React", "div", "className", "mx", "MessageThread", "ref", "Toolbar", "Root", "Input", "TextInput", "autoFocus", "placeholder", "onChange", "ev", "target", "onKeyDown", "key", "Button", "onClick", "Icon", "icon", "size", "forwardRef", "forwardedRef", "length", "map", "message", "i", "RobotAvatar", "MessageItem", "wrapper", "errorText", "SyntaxHighlighter", "language", "Avatar", "variant", "Frame"]
7
+ }
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var compiler_UIBLKJKG_exports = {};
30
+ __export(compiler_UIBLKJKG_exports, {
31
+ default: () => compiler_default
32
+ });
33
+ module.exports = __toCommonJS(compiler_UIBLKJKG_exports);
34
+ var import_chunk_ALY3N6PW = require("./chunk-ALY3N6PW.cjs");
35
+ var import_chunk_5UH3F7TA = require("./chunk-5UH3F7TA.cjs");
36
+ var import_esbuild = __toESM(require("esbuild-wasm/esbuild.wasm?url"));
37
+ var import_app_framework = require("@dxos/app-framework");
38
+ var import_bundler = require("@dxos/functions/bundler");
39
+ var import_vfs = require("@typescript/vfs");
40
+ var import_typescript = __toESM(require("typescript"));
41
+ var import_invariant = require("@dxos/invariant");
42
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-script/src/compiler/compiler.ts";
43
+ var defaultOptions = {
44
+ lib: [
45
+ "DOM",
46
+ "es2022"
47
+ ],
48
+ target: import_typescript.default.ScriptTarget.ES2022
49
+ };
50
+ var Compiler = class {
51
+ constructor(_options = defaultOptions) {
52
+ this._options = _options;
53
+ }
54
+ async initialize() {
55
+ if (this._env) {
56
+ return;
57
+ }
58
+ this._fsMap = await (0, import_vfs.createDefaultMapFromCDN)(this._options, "5.5.4", true, import_typescript.default);
59
+ const system = (0, import_vfs.createSystem)(this._fsMap);
60
+ this._env = (0, import_vfs.createVirtualTypeScriptEnvironment)(system, [], import_typescript.default, this._options);
61
+ }
62
+ get environment() {
63
+ (0, import_invariant.invariant)(this._env, "Compiler environment not initialized.", {
64
+ F: __dxlog_file,
65
+ L: 39,
66
+ S: this,
67
+ A: [
68
+ "this._env",
69
+ "'Compiler environment not initialized.'"
70
+ ]
71
+ });
72
+ return this._env;
73
+ }
74
+ setFile(fileName, content) {
75
+ (0, import_invariant.invariant)(this._fsMap, "File system map not initialized.", {
76
+ F: __dxlog_file,
77
+ L: 44,
78
+ S: this,
79
+ A: [
80
+ "this._fsMap",
81
+ "'File system map not initialized.'"
82
+ ]
83
+ });
84
+ this.environment.createFile(fileName, content);
85
+ }
86
+ compile(fileName) {
87
+ return this.environment.languageService.getEmitOutput(fileName);
88
+ }
89
+ };
90
+ var compiler_default = async () => {
91
+ const compiler = new Compiler();
92
+ await compiler.initialize();
93
+ compiler.setFile("/src/typings.d.ts", "declare module 'https://*';");
94
+ compiler.setFile("/src/runtime.ts", `
95
+ export const Filter: any = {};
96
+ export type FunctionHandler = ({ event, context }: { event: any; context: any }) => Promise<Response>;
97
+ export const functionHandler = (handler: FunctionHandler) => handler;
98
+ `);
99
+ await (0, import_bundler.initializeBundler)({
100
+ wasmUrl: import_esbuild.default
101
+ });
102
+ return (0, import_app_framework.contributes)(import_chunk_ALY3N6PW.ScriptCapabilities.Compiler, compiler);
103
+ };
104
+ //# sourceMappingURL=compiler-UIBLKJKG.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/compiler.ts", "../../../src/compiler/compiler.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n// @ts-ignore\nimport wasmUrl from 'esbuild-wasm/esbuild.wasm?url';\n\nimport { contributes } from '@dxos/app-framework';\nimport { initializeBundler } from '@dxos/functions/bundler';\n\nimport { ScriptCapabilities } from './capabilities';\nimport { Compiler } from '../compiler';\n\nexport default async () => {\n const compiler = new Compiler();\n\n await compiler.initialize();\n // TODO(wittjosiah): Fetch types for https modules.\n compiler.setFile('/src/typings.d.ts', \"declare module 'https://*';\");\n // TODO(wittjosiah): Proper function handler types.\n // TODO(wittjosiah): Remove.\n compiler.setFile(\n '/src/runtime.ts',\n `\n export const Filter: any = {};\n export type FunctionHandler = ({ event, context }: { event: any; context: any }) => Promise<Response>;\n export const functionHandler = (handler: FunctionHandler) => handler;\n `,\n );\n await initializeBundler({ wasmUrl });\n\n return contributes(ScriptCapabilities.Compiler, compiler);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport {\n createDefaultMapFromCDN,\n createSystem,\n createVirtualTypeScriptEnvironment,\n type VirtualTypeScriptEnvironment,\n} from '@typescript/vfs';\nimport ts from 'typescript';\n\nimport { invariant } from '@dxos/invariant';\n\nconst defaultOptions: ts.CompilerOptions = {\n lib: ['DOM', 'es2022'],\n target: ts.ScriptTarget.ES2022,\n};\n\nexport class Compiler {\n private _env: VirtualTypeScriptEnvironment | undefined;\n private _fsMap: Map<string, string> | undefined;\n\n constructor(private readonly _options: ts.CompilerOptions = defaultOptions) {}\n\n async initialize() {\n if (this._env) {\n return;\n }\n\n // TODO(wittjosiah): Figure out how to get workers working in plugin packages.\n // https://github.com/val-town/codemirror-ts?tab=readme-ov-file#setup-worker\n this._fsMap = await createDefaultMapFromCDN(this._options, '5.5.4', true, ts);\n const system = createSystem(this._fsMap);\n this._env = createVirtualTypeScriptEnvironment(system, [], ts, this._options);\n }\n\n get environment() {\n invariant(this._env, 'Compiler environment not initialized.');\n return this._env;\n }\n\n setFile(fileName: string, content: string) {\n invariant(this._fsMap, 'File system map not initialized.');\n this.environment.createFile(fileName, content);\n }\n\n compile(fileName: string) {\n return this.environment.languageService.getEmitOutput(fileName);\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,qBAAoB;AAEpB,2BAA4B;AAC5B,qBAAkC;ACJlC,iBAKO;AACP,wBAAe;AAEf,uBAA0B;;AAE1B,IAAMA,iBAAqC;EACzCC,KAAK;IAAC;IAAO;;EACbC,QAAQC,kBAAAA,QAAGC,aAAaC;AAC1B;AAEO,IAAMC,WAAN,MAAMA;EAIXC,YAA6BC,WAA+BR,gBAAgB;SAA/CQ,WAAAA;EAAgD;EAE7E,MAAMC,aAAa;AACjB,QAAI,KAAKC,MAAM;AACb;IACF;AAIA,SAAKC,SAAS,UAAMC,oCAAwB,KAAKJ,UAAU,SAAS,MAAML,kBAAAA,OAAAA;AAC1E,UAAMU,aAASC,yBAAa,KAAKH,MAAM;AACvC,SAAKD,WAAOK,+CAAmCF,QAAQ,CAAA,GAAIV,kBAAAA,SAAI,KAAKK,QAAQ;EAC9E;EAEA,IAAIQ,cAAc;AAChBC,oCAAU,KAAKP,MAAM,yCAAA;;;;;;;;;AACrB,WAAO,KAAKA;EACd;EAEAQ,QAAQC,UAAkBC,SAAiB;AACzCH,oCAAU,KAAKN,QAAQ,oCAAA;;;;;;;;;AACvB,SAAKK,YAAYK,WAAWF,UAAUC,OAAAA;EACxC;EAEAE,QAAQH,UAAkB;AACxB,WAAO,KAAKH,YAAYO,gBAAgBC,cAAcL,QAAAA;EACxD;AACF;ADrCA,IAAA,mBAAe,YAAA;AACb,QAAMM,WAAW,IAAInB,SAAAA;AAErB,QAAMmB,SAAShB,WAAU;AAEzBgB,WAASP,QAAQ,qBAAqB,6BAAA;AAGtCO,WAASP,QACP,mBACA;;;;OAIG;AAEL,YAAMQ,kCAAkB;IAAEC,wBAAAA;EAAQ,CAAA;AAElC,aAAOC,kCAAYC,yCAAmBvB,UAAUmB,QAAAA;AAClD;",
6
+ "names": ["defaultOptions", "lib", "target", "ts", "ScriptTarget", "ES2022", "Compiler", "constructor", "_options", "initialize", "_env", "_fsMap", "createDefaultMapFromCDN", "system", "createSystem", "createVirtualTypeScriptEnvironment", "environment", "invariant", "setFile", "fileName", "content", "createFile", "compile", "languageService", "getEmitOutput", "compiler", "initializeBundler", "wasmUrl", "contributes", "ScriptCapabilities"]
7
+ }
@@ -28,198 +28,51 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
  var node_exports = {};
30
30
  __export(node_exports, {
31
- AutomationPanel: () => AutomationPanel,
32
- Bundler: () => import_chunk_WPP65EYS.Bundler,
33
- Compiler: () => Compiler,
34
- ScriptAction: () => import_chunk_PK3OQP5L.ScriptAction,
35
- ScriptContainer: () => ScriptContainer,
31
+ AutomationPanel: () => import_chunk_2UNNYU2C.AutomationPanel,
32
+ SCRIPT_PLUGIN: () => import_chunk_5UH3F7TA.SCRIPT_PLUGIN,
33
+ ScriptCapabilities: () => import_chunk_ALY3N6PW.ScriptCapabilities,
34
+ ScriptContainer: () => import_chunk_2UNNYU2C.ScriptContainer,
36
35
  ScriptPlugin: () => ScriptPlugin,
37
- ScriptSettings: () => ScriptSettings,
38
- ScriptSettingsPanel: () => ScriptSettingsPanel,
39
- default: () => src_default,
40
- initializeBundler: () => import_chunk_WPP65EYS.initializeBundler
36
+ ScriptSettings: () => import_chunk_2UNNYU2C.ScriptSettings,
37
+ ScriptSettingsPanel: () => import_chunk_2UNNYU2C.ScriptSettingsPanel,
38
+ meta: () => import_chunk_5UH3F7TA.meta
41
39
  });
42
40
  module.exports = __toCommonJS(node_exports);
43
- var import_chunk_PK3OQP5L = require("./chunk-PK3OQP5L.cjs");
44
- var import_chunk_WPP65EYS = require("./chunk-WPP65EYS.cjs");
45
- var import_chunk_6LYX73ZT = require("./chunk-6LYX73ZT.cjs");
46
- var import_esbuild = __toESM(require("esbuild-wasm/esbuild.wasm?url"));
47
- var import_react = __toESM(require("react"));
41
+ var import_chunk_2UNNYU2C = require("./chunk-2UNNYU2C.cjs");
42
+ var import_chunk_ALY3N6PW = require("./chunk-ALY3N6PW.cjs");
43
+ var import_chunk_DJGLGRQV = require("./chunk-DJGLGRQV.cjs");
44
+ var import_chunk_5UH3F7TA = require("./chunk-5UH3F7TA.cjs");
48
45
  var import_app_framework = require("@dxos/app-framework");
46
+ var import_app_framework2 = require("@dxos/app-framework");
49
47
  var import_functions = require("@dxos/functions");
50
48
  var import_live_object = require("@dxos/live-object");
51
- var import_types = require("@dxos/plugin-markdown/types");
52
- var import_vfs = require("@typescript/vfs");
53
- var import_typescript = __toESM(require("typescript"));
54
- var import_invariant = require("@dxos/invariant");
55
- var import_react2 = require("react");
56
- var import_react3 = __toESM(require("react"));
57
- var import_react_client = require("@dxos/react-client");
58
- var import_react_ui = require("@dxos/react-ui");
59
- var import_react_ui_form = require("@dxos/react-ui-form");
60
- var import_react4 = __toESM(require("react"));
49
+ var import_plugin_client = require("@dxos/plugin-client");
50
+ var import_plugin_space = require("@dxos/plugin-space");
51
+ var import_types = require("@dxos/plugin-space/types");
52
+ var import_app_framework3 = require("@dxos/app-framework");
61
53
  var import_functions2 = require("@dxos/functions");
62
- var import_react_client2 = require("@dxos/react-client");
63
- var import_echo = require("@dxos/react-client/echo");
64
- var import_react_ui2 = require("@dxos/react-ui");
65
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-script/src/compiler/compiler.ts";
66
- var defaultOptions = {
67
- lib: [
68
- "DOM",
69
- "es2022"
70
- ],
71
- target: import_typescript.default.ScriptTarget.ES2022
72
- };
73
- var Compiler = class {
74
- constructor(_options = defaultOptions) {
75
- this._options = _options;
76
- }
77
- async initialize() {
78
- if (this._env) {
79
- return;
80
- }
81
- this._fsMap = await (0, import_vfs.createDefaultMapFromCDN)(this._options, "5.5.4", true, import_typescript.default);
82
- const system = (0, import_vfs.createSystem)(this._fsMap);
83
- this._env = (0, import_vfs.createVirtualTypeScriptEnvironment)(system, [], import_typescript.default, this._options);
84
- }
85
- get environment() {
86
- (0, import_invariant.invariant)(this._env, "Compiler environment not initialized.", {
87
- F: __dxlog_file,
88
- L: 39,
89
- S: this,
90
- A: [
91
- "this._env",
92
- "'Compiler environment not initialized.'"
93
- ]
94
- });
95
- return this._env;
96
- }
97
- setFile(fileName, content) {
98
- (0, import_invariant.invariant)(this._fsMap, "File system map not initialized.", {
99
- F: __dxlog_file,
100
- L: 44,
101
- S: this,
102
- A: [
103
- "this._fsMap",
104
- "'File system map not initialized.'"
105
- ]
106
- });
107
- this.environment.createFile(fileName, content);
108
- }
109
- compile(fileName) {
110
- return this.environment.languageService.getEmitOutput(fileName);
111
- }
112
- };
113
- var ScriptSettings = ({ settings }) => {
114
- const { t } = (0, import_react_ui.useTranslation)(import_chunk_6LYX73ZT.SCRIPT_PLUGIN);
115
- const client = (0, import_react_client.useClient)();
116
- const handleAuthenticate = async () => {
117
- const { identityKey } = client.halo.identity.get();
118
- await client.halo.writeCredentials([
119
- {
120
- issuer: identityKey,
121
- issuanceDate: /* @__PURE__ */ new Date(),
122
- subject: {
123
- id: identityKey,
124
- assertion: {
125
- "@type": "dxos.halo.credentials.ServiceAccess",
126
- serverName: "hub.dxos.network",
127
- serverKey: identityKey,
128
- identityKey,
129
- capabilities: [
130
- "composer:beta"
131
- ]
132
- }
133
- }
134
- }
135
- ]);
136
- };
137
- return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui_form.DeprecatedFormInput, {
138
- label: t("authenticate action label")
139
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Button, {
140
- onClick: handleAuthenticate
141
- }, t("authenticate button label"))));
142
- };
143
- var ScriptSettingsPanel = ({ script }) => {
144
- const { t } = (0, import_react_ui2.useTranslation)(import_chunk_6LYX73ZT.SCRIPT_PLUGIN);
145
- const client = (0, import_react_client2.useClient)();
146
- const space = (0, import_echo.getSpace)(script);
147
- const [fn] = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_functions2.FunctionType, {
148
- source: script
149
- }));
150
- const handleNameChange = (0, import_react4.useCallback)((event) => {
151
- script.name = event.target.value;
152
- }, [
153
- script
154
- ]);
155
- const [binding, setBinding] = (0, import_react_ui2.useControlledValue)(fn?.binding ?? "");
156
- const handleBindingChange = (0, import_react4.useCallback)((event) => {
157
- setBinding(event.target.value);
158
- }, [
159
- setBinding
160
- ]);
161
- const handleBindingBlur = (0, import_react4.useCallback)(() => {
162
- fn.binding = binding;
163
- }, [
164
- fn,
165
- binding
166
- ]);
167
- const functionPath = fn && (0, import_functions2.getUserFunctionUrlInMetadata)((0, import_echo.getMeta)(fn));
168
- const functionUrl = functionPath && (0, import_functions2.getInvocationUrl)(functionPath, client.config.values.runtime?.services?.edge?.url ?? "", {
169
- spaceId: space?.id
170
- });
171
- const handleCopy = (0, import_react4.useCallback)(() => functionUrl && navigator.clipboard.writeText(functionUrl), [
172
- functionUrl
173
- ]);
174
- return /* @__PURE__ */ import_react4.default.createElement("div", {
175
- role: "form",
176
- className: "flex flex-col w-full p-2 gap-4"
177
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Input.Root, null, /* @__PURE__ */ import_react4.default.createElement("div", {
178
- role: "none",
179
- className: "flex flex-col gap-1"
180
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Input.Label, null, t("name label")), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Input.TextInput, {
181
- placeholder: t("object title placeholder"),
182
- value: script.name ?? "",
183
- onChange: handleNameChange
184
- }))), fn && /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, /* @__PURE__ */ import_react4.default.createElement("hr", {
185
- className: "border-separator"
186
- }), /* @__PURE__ */ import_react4.default.createElement("h2", null, t("remote function settings heading")), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Input.Root, null, /* @__PURE__ */ import_react4.default.createElement("div", {
187
- role: "none",
188
- className: "flex flex-col gap-1"
189
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Input.Label, null, t("function url label")), /* @__PURE__ */ import_react4.default.createElement("div", {
190
- role: "none",
191
- className: "flex gap-1"
192
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Input.TextInput, {
193
- disabled: true,
194
- value: functionUrl,
195
- onChange: (event) => {
196
- fn.name = event.target.value;
197
- }
198
- }), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Button, {
199
- onClick: handleCopy
200
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Icon, {
201
- icon: "ph--copy--regular",
202
- size: 4
203
- }))))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Input.Root, null, /* @__PURE__ */ import_react4.default.createElement("div", {
204
- role: "none",
205
- className: "flex flex-col gap-1"
206
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Input.Label, null, t("function binding label")), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Input.TextInput, {
207
- placeholder: t("function binding placeholder"),
208
- value: binding,
209
- onChange: handleBindingChange,
210
- onBlur: handleBindingBlur
211
- })))));
212
- };
213
- var AutomationPanel = (0, import_react2.lazy)(() => import("./AutomationPanel-5CJEF4MI.cjs"));
214
- var ScriptContainer = (0, import_react2.lazy)(() => import("./ScriptContainer-YWXXNLG6.cjs"));
54
+ var Compiler = (0, import_app_framework.lazy)(() => import("./compiler-UIBLKJKG.cjs"));
55
+ var IntentResolver = (0, import_app_framework.lazy)(() => import("./intent-resolver-NYJFPD5B.cjs"));
56
+ var ReactSurface = (0, import_app_framework.lazy)(() => import("./react-surface-JOMWTFI2.cjs"));
57
+ var ScriptSettings2 = (0, import_app_framework.lazy)(() => import("./settings-SZFSMSKM.cjs"));
58
+ var ArtifactDefinition = (0, import_app_framework.lazy)(() => import("./artifact-definition-7AANUS3X.cjs"));
59
+ var ScriptEvents;
60
+ (function(ScriptEvents2) {
61
+ ScriptEvents2.SetupCompiler = (0, import_app_framework3.defineEvent)(`${import_chunk_5UH3F7TA.SCRIPT_PLUGIN}/event/setup-compiler`);
62
+ })(ScriptEvents || (ScriptEvents = {}));
215
63
  var translations_default = [
216
64
  {
217
65
  "en-US": {
218
- [import_chunk_6LYX73ZT.SCRIPT_PLUGIN]: {
66
+ [import_functions2.ScriptType.typename]: {
67
+ "typename label": "Script"
68
+ },
69
+ [import_chunk_5UH3F7TA.SCRIPT_PLUGIN]: {
219
70
  "plugin name": "Scripts",
220
71
  "object title placeholder": "New script",
221
72
  "create object label": "Create script",
222
73
  "create stack section label": "Create script",
74
+ "description label": "Description",
75
+ "description placeholder": "Describe what the script does.",
223
76
  "binding placeholder": "Function name",
224
77
  "function request placeholder": "Function request",
225
78
  "deploy label": "Deploy",
@@ -234,119 +87,111 @@ var translations_default = [
234
87
  "remote function settings heading": "Remote Function",
235
88
  "function url label": "Invocation URL",
236
89
  "function binding label": "Function binding",
237
- "function binding placeholder": "BINDING"
90
+ "function binding placeholder": "BINDING",
91
+ "script publish settings label": "Publishing",
92
+ "script publish settings description": "Scripts can be shared publicly as Github gists.",
93
+ "no github token label": "This space has no Github access token available.",
94
+ "open token manager label": "Open Token Manager",
95
+ "publish label": "Publish",
96
+ "publishing label": "Publishing",
97
+ "editor input mode label": "Editor input mode",
98
+ "select editor input mode placeholder": "Select editor input mode\u2026",
99
+ "settings editor input mode default label": "Default",
100
+ "settings editor input mode vim label": "Vim",
101
+ "settings editor input mode vscode label": "VS Code",
102
+ "view group label": "View",
103
+ "view editor label": "Editor",
104
+ "view split label": "Split",
105
+ "view debug label": "Debug",
106
+ "template select group label": "Select template"
238
107
  }
239
108
  }
240
109
  }
241
110
  ];
242
- var ScriptPlugin = () => {
243
- const compiler = new Compiler();
244
- return {
245
- meta: import_chunk_6LYX73ZT.meta_default,
246
- initialize: async () => {
247
- await compiler.initialize();
248
- compiler.setFile("/src/typings.d.ts", "declare module 'https://*';");
249
- compiler.setFile("/src/runtime.ts", `
250
- export const Filter: any = {};
251
- export type FunctionHandler = ({ event, context }: { event: any; context: any }) => Promise<Response>;
252
- export const functionHandler = (handler: FunctionHandler) => handler;
253
- `);
254
- await (0, import_chunk_WPP65EYS.initializeBundler)({
255
- wasmUrl: import_esbuild.default
256
- });
257
- },
258
- provides: {
259
- settings: {},
111
+ var ScriptPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_5UH3F7TA.meta, [
112
+ (0, import_app_framework2.defineModule)({
113
+ id: `${import_chunk_5UH3F7TA.meta.id}/module/settings`,
114
+ activatesOn: import_app_framework2.Events.SetupSettings,
115
+ activate: ScriptSettings2
116
+ }),
117
+ (0, import_app_framework2.defineModule)({
118
+ id: `${import_chunk_5UH3F7TA.meta.id}/module/compiler`,
119
+ activatesOn: ScriptEvents.SetupCompiler,
120
+ activate: Compiler
121
+ }),
122
+ (0, import_app_framework2.defineModule)({
123
+ id: `${import_chunk_5UH3F7TA.meta.id}/module/translations`,
124
+ activatesOn: import_app_framework2.Events.SetupTranslations,
125
+ activate: () => (0, import_app_framework2.contributes)(import_app_framework2.Capabilities.Translations, translations_default)
126
+ }),
127
+ (0, import_app_framework2.defineModule)({
128
+ id: `${import_chunk_5UH3F7TA.meta.id}/module/metadata`,
129
+ activatesOn: import_app_framework2.Events.SetupMetadata,
130
+ activate: () => (0, import_app_framework2.contributes)(import_app_framework2.Capabilities.Metadata, {
131
+ id: import_functions.ScriptType.typename,
260
132
  metadata: {
261
- records: {
262
- [import_functions.ScriptType.typename]: {
263
- createObject: (props) => (0, import_app_framework.createIntent)(import_chunk_PK3OQP5L.ScriptAction.Create, props),
264
- placeholder: [
265
- "object title placeholder",
266
- {
267
- ns: import_chunk_6LYX73ZT.SCRIPT_PLUGIN
268
- }
269
- ],
270
- icon: "ph--code--regular",
271
- // TODO(wittjosiah): Move out of metadata.
272
- loadReferences: async (script) => await import_live_object.RefArray.loadAll([
273
- script.source
274
- ])
133
+ placeholder: [
134
+ "object title placeholder",
135
+ {
136
+ ns: import_chunk_5UH3F7TA.SCRIPT_PLUGIN
275
137
  }
276
- }
277
- },
278
- translations: translations_default,
279
- echo: {
280
- schema: [
281
- import_functions.ScriptType
282
138
  ],
283
- system: [
284
- import_functions.FunctionType
285
- ]
286
- },
287
- surface: {
288
- definitions: () => [
289
- (0, import_app_framework.createSurface)({
290
- id: `${import_chunk_6LYX73ZT.SCRIPT_PLUGIN}/settings`,
291
- role: "settings",
292
- filter: (data) => data.subject === import_chunk_6LYX73ZT.SCRIPT_PLUGIN,
293
- component: () => /* @__PURE__ */ import_react.default.createElement(ScriptSettings, {
294
- settings: {}
295
- })
296
- }),
297
- (0, import_app_framework.createSurface)({
298
- id: `${import_chunk_6LYX73ZT.SCRIPT_PLUGIN}/article`,
299
- role: "article",
300
- filter: (data) => data.subject instanceof import_functions.ScriptType,
301
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(ScriptContainer, {
302
- script: data.subject,
303
- env: compiler.environment
304
- })
305
- }),
306
- (0, import_app_framework.createSurface)({
307
- id: `${import_chunk_6LYX73ZT.SCRIPT_PLUGIN}/automation`,
308
- role: "complementary--automation",
309
- disposition: "hoist",
310
- filter: (data) => data.subject instanceof import_functions.ScriptType,
311
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(AutomationPanel, {
312
- subject: data.subject
313
- })
314
- }),
315
- (0, import_app_framework.createSurface)({
316
- id: `${import_chunk_6LYX73ZT.SCRIPT_PLUGIN}/settings-panel`,
317
- role: "complementary--settings",
318
- filter: (data) => data.subject instanceof import_functions.ScriptType,
319
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(ScriptSettingsPanel, {
320
- script: data.subject
321
- })
322
- })
323
- ]
324
- },
325
- intent: {
326
- resolvers: () => (0, import_app_framework.createResolver)(import_chunk_PK3OQP5L.ScriptAction.Create, ({ name }) => ({
327
- data: {
328
- object: (0, import_live_object.create)(import_functions.ScriptType, {
329
- source: (0, import_live_object.makeRef)((0, import_live_object.create)(import_types.TextType, {
330
- content: import_chunk_WPP65EYS.templates[0].source
331
- }))
332
- })
333
- }
334
- }))
139
+ icon: "ph--code--regular",
140
+ // TODO(wittjosiah): Move out of metadata.
141
+ loadReferences: async (script) => await import_live_object.RefArray.loadAll([
142
+ script.source
143
+ ])
335
144
  }
336
- }
337
- };
338
- };
339
- var src_default = ScriptPlugin;
145
+ })
146
+ }),
147
+ (0, import_app_framework2.defineModule)({
148
+ id: `${import_chunk_5UH3F7TA.meta.id}/module/object-form`,
149
+ activatesOn: import_plugin_client.ClientEvents.SetupSchema,
150
+ activate: () => (0, import_app_framework2.contributes)(import_plugin_space.SpaceCapabilities.ObjectForm, (0, import_types.defineObjectForm)({
151
+ objectSchema: import_functions.ScriptType,
152
+ formSchema: import_chunk_DJGLGRQV.ScriptAction.CreateScriptSchema,
153
+ getIntent: (props, options) => (0, import_app_framework2.createIntent)(import_chunk_DJGLGRQV.ScriptAction.Create, {
154
+ ...props,
155
+ space: options.space
156
+ })
157
+ }))
158
+ }),
159
+ (0, import_app_framework2.defineModule)({
160
+ id: `${import_chunk_5UH3F7TA.meta.id}/module/schema`,
161
+ activatesOn: import_plugin_client.ClientEvents.SetupSchema,
162
+ activate: () => (0, import_app_framework2.contributes)(import_plugin_client.ClientCapabilities.Schema, [
163
+ import_functions.FunctionType
164
+ ])
165
+ }),
166
+ (0, import_app_framework2.defineModule)({
167
+ id: `${import_chunk_5UH3F7TA.meta.id}/module/react-surface`,
168
+ activatesOn: import_app_framework2.Events.SetupReactSurface,
169
+ // TODO(wittjosiah): Should occur before the script editor is loaded when surfaces activation is more granular.
170
+ activatesBefore: [
171
+ ScriptEvents.SetupCompiler
172
+ ],
173
+ activate: ReactSurface
174
+ }),
175
+ (0, import_app_framework2.defineModule)({
176
+ id: `${import_chunk_5UH3F7TA.meta.id}/module/intent-resolver`,
177
+ activatesOn: import_app_framework2.Events.SetupIntentResolver,
178
+ activate: IntentResolver
179
+ }),
180
+ (0, import_app_framework2.defineModule)({
181
+ id: `${import_chunk_5UH3F7TA.meta.id}/module/artifact-definition`,
182
+ activatesOn: import_app_framework2.Events.SetupArtifactDefinition,
183
+ activate: ArtifactDefinition
184
+ })
185
+ ]);
340
186
  // Annotate the CommonJS export names for ESM import in node:
341
187
  0 && (module.exports = {
342
188
  AutomationPanel,
343
- Bundler,
344
- Compiler,
345
- ScriptAction,
189
+ SCRIPT_PLUGIN,
190
+ ScriptCapabilities,
346
191
  ScriptContainer,
347
192
  ScriptPlugin,
348
193
  ScriptSettings,
349
194
  ScriptSettingsPanel,
350
- initializeBundler
195
+ meta
351
196
  });
352
197
  //# sourceMappingURL=index.cjs.map