@dxos/plugin-script 0.8.1-staging.9eaf14f → 0.8.2-main.10c050d

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 (250) hide show
  1. package/dist/lib/browser/DeploymentDialog-NLWQHNKE.mjs +12 -0
  2. package/dist/lib/browser/ScriptContainer-Q2K5FJSC.mjs +272 -0
  3. package/dist/lib/browser/ScriptContainer-Q2K5FJSC.mjs.map +7 -0
  4. package/dist/lib/browser/{app-graph-builder-RRLY67QC.mjs → app-graph-builder-V3HPXJAD.mjs} +10 -10
  5. package/dist/lib/browser/app-graph-builder-V3HPXJAD.mjs.map +7 -0
  6. package/dist/lib/browser/{artifact-definition-WXFYD2V5.mjs → artifact-definition-L3AIY4XA.mjs} +45 -48
  7. package/dist/lib/browser/artifact-definition-L3AIY4XA.mjs.map +7 -0
  8. package/dist/lib/browser/{chunk-MQZQB5VD.mjs → chunk-6T64VQHF.mjs} +10 -10
  9. package/dist/lib/browser/chunk-6T64VQHF.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-WSK3YQXI.mjs → chunk-6ZHHWU6S.mjs} +4 -3
  11. package/dist/lib/browser/{chunk-WSK3YQXI.mjs.map → chunk-6ZHHWU6S.mjs.map} +2 -2
  12. package/dist/lib/browser/chunk-74DEDPHT.mjs +530 -0
  13. package/dist/lib/browser/chunk-74DEDPHT.mjs.map +7 -0
  14. package/dist/lib/browser/chunk-BTEFFA4C.mjs +153 -0
  15. package/dist/lib/browser/chunk-BTEFFA4C.mjs.map +7 -0
  16. package/dist/lib/browser/{chunk-KLEOGVXY.mjs → chunk-JQOAZJTK.mjs} +87 -156
  17. package/dist/lib/browser/chunk-JQOAZJTK.mjs.map +7 -0
  18. package/dist/lib/browser/chunk-M6QMJBKQ.mjs +87 -0
  19. package/dist/lib/browser/chunk-M6QMJBKQ.mjs.map +7 -0
  20. package/dist/lib/browser/chunk-WB3X5Z7Q.mjs +40 -0
  21. package/dist/lib/browser/chunk-WB3X5Z7Q.mjs.map +7 -0
  22. package/dist/lib/browser/{chunk-4VD3K3PY.mjs → chunk-YSQMXTYO.mjs} +3 -3
  23. package/dist/lib/{node-esm/chunk-EB5DSAD4.mjs.map → browser/chunk-YSQMXTYO.mjs.map} +1 -1
  24. package/dist/lib/browser/{compiler-56LTBEQB.mjs → compiler-W4BYJYTL.mjs} +3 -3
  25. package/dist/lib/browser/compiler-W4BYJYTL.mjs.map +7 -0
  26. package/dist/lib/browser/index.mjs +17 -16
  27. package/dist/lib/browser/index.mjs.map +3 -3
  28. package/dist/lib/browser/{intent-resolver-WCVXKRBR.mjs → intent-resolver-U5YRUE7W.mjs} +14 -14
  29. package/dist/lib/browser/intent-resolver-U5YRUE7W.mjs.map +7 -0
  30. package/dist/lib/browser/meta.json +1 -1
  31. package/dist/lib/browser/{react-surface-WXZVPNGI.mjs → react-surface-3MSPT54G.mjs} +12 -12
  32. package/dist/lib/browser/react-surface-3MSPT54G.mjs.map +7 -0
  33. package/dist/lib/browser/{settings-Z7B37V2I.mjs → settings-FU7NTENS.mjs} +5 -5
  34. package/dist/lib/browser/settings-FU7NTENS.mjs.map +7 -0
  35. package/dist/lib/browser/types.mjs +2 -2
  36. package/dist/lib/node/{DeploymentDialog-O4MU4OMF.cjs → DeploymentDialog-PC5AL3BB.cjs} +10 -10
  37. package/dist/lib/node/DeploymentDialog-PC5AL3BB.cjs.map +7 -0
  38. package/dist/lib/node/ScriptContainer-56SH6R24.cjs +289 -0
  39. package/dist/lib/node/ScriptContainer-56SH6R24.cjs.map +7 -0
  40. package/dist/lib/node/{app-graph-builder-6I2BWD46.cjs → app-graph-builder-YE4OM4OC.cjs} +17 -17
  41. package/dist/lib/node/app-graph-builder-YE4OM4OC.cjs.map +7 -0
  42. package/dist/lib/node/{artifact-definition-6NVXEHJD.cjs → artifact-definition-6BD6CVOV.cjs} +55 -58
  43. package/dist/lib/node/artifact-definition-6BD6CVOV.cjs.map +7 -0
  44. package/dist/lib/node/chunk-5LHP5EUJ.cjs +557 -0
  45. package/dist/lib/node/chunk-5LHP5EUJ.cjs.map +7 -0
  46. package/dist/lib/node/chunk-BYLHJ26I.cjs +91 -0
  47. package/dist/lib/node/chunk-BYLHJ26I.cjs.map +7 -0
  48. package/dist/lib/node/{chunk-XFZPWFEG.cjs → chunk-HCRW6T3G.cjs} +19 -20
  49. package/dist/lib/node/chunk-HCRW6T3G.cjs.map +7 -0
  50. package/dist/lib/node/{chunk-F4DP7WON.cjs → chunk-NRZJV5SV.cjs} +93 -160
  51. package/dist/lib/node/chunk-NRZJV5SV.cjs.map +7 -0
  52. package/dist/lib/node/{chunk-YJQZHKKA.cjs → chunk-QG2X6J74.cjs} +7 -6
  53. package/dist/lib/node/{chunk-YJQZHKKA.cjs.map → chunk-QG2X6J74.cjs.map} +2 -2
  54. package/dist/lib/node/chunk-RARNZD62.cjs +179 -0
  55. package/dist/lib/node/chunk-RARNZD62.cjs.map +7 -0
  56. package/dist/lib/node/{chunk-VYBEBLDO.cjs → chunk-V6L73D7S.cjs} +14 -14
  57. package/dist/lib/node/chunk-V6L73D7S.cjs.map +7 -0
  58. package/dist/lib/node/{chunk-JICWAOWZ.cjs → chunk-ZEV3VARQ.cjs} +7 -7
  59. package/dist/lib/node/{chunk-JICWAOWZ.cjs.map → chunk-ZEV3VARQ.cjs.map} +1 -1
  60. package/dist/lib/node/{compiler-W2RU3M7U.cjs → compiler-TFSJRLL4.cjs} +7 -7
  61. package/dist/lib/node/{compiler-W2RU3M7U.cjs.map → compiler-TFSJRLL4.cjs.map} +3 -3
  62. package/dist/lib/node/index.cjs +46 -45
  63. package/dist/lib/node/index.cjs.map +3 -3
  64. package/dist/lib/node/{intent-resolver-J4NBDNFH.cjs → intent-resolver-7SF26VGC.cjs} +21 -21
  65. package/dist/lib/node/intent-resolver-7SF26VGC.cjs.map +7 -0
  66. package/dist/lib/node/meta.json +1 -1
  67. package/dist/lib/node/{react-surface-27KTUBIZ.cjs → react-surface-L6RS7BT2.cjs} +38 -38
  68. package/dist/lib/node/react-surface-L6RS7BT2.cjs.map +7 -0
  69. package/dist/lib/node/{settings-EI6VPNKN.cjs → settings-RRCQ7ZQD.cjs} +9 -9
  70. package/dist/lib/node/settings-RRCQ7ZQD.cjs.map +7 -0
  71. package/dist/lib/node/types.cjs +5 -5
  72. package/dist/lib/node/types.cjs.map +1 -1
  73. package/dist/lib/node-esm/{DeploymentDialog-SSQSWLHX.mjs → DeploymentDialog-QHB2BGNJ.mjs} +5 -5
  74. package/dist/lib/node-esm/ScriptContainer-6RCZ43TI.mjs +273 -0
  75. package/dist/lib/node-esm/ScriptContainer-6RCZ43TI.mjs.map +7 -0
  76. package/dist/lib/node-esm/{app-graph-builder-H5XLRVX3.mjs → app-graph-builder-4CN7URJQ.mjs} +10 -10
  77. package/dist/lib/node-esm/app-graph-builder-4CN7URJQ.mjs.map +7 -0
  78. package/dist/lib/node-esm/{artifact-definition-KQ64AYBP.mjs → artifact-definition-PPV2XKU7.mjs} +45 -48
  79. package/dist/lib/node-esm/artifact-definition-PPV2XKU7.mjs.map +7 -0
  80. package/dist/lib/node-esm/chunk-25GOLUXY.mjs +154 -0
  81. package/dist/lib/node-esm/chunk-25GOLUXY.mjs.map +7 -0
  82. package/dist/lib/node-esm/{chunk-EB5DSAD4.mjs → chunk-2KJYPUQD.mjs} +3 -3
  83. package/dist/lib/{browser/chunk-4VD3K3PY.mjs.map → node-esm/chunk-2KJYPUQD.mjs.map} +1 -1
  84. package/dist/lib/node-esm/{chunk-F4HA5C34.mjs → chunk-47MABIVX.mjs} +10 -10
  85. package/dist/lib/node-esm/chunk-47MABIVX.mjs.map +7 -0
  86. package/dist/lib/node-esm/{chunk-FDEAVT67.mjs → chunk-AEB5TPEW.mjs} +4 -3
  87. package/dist/lib/node-esm/{chunk-FDEAVT67.mjs.map → chunk-AEB5TPEW.mjs.map} +2 -2
  88. package/dist/lib/node-esm/chunk-KOO76P2Y.mjs +531 -0
  89. package/dist/lib/node-esm/chunk-KOO76P2Y.mjs.map +7 -0
  90. package/dist/lib/node-esm/chunk-UESZKXLR.mjs +41 -0
  91. package/dist/lib/node-esm/chunk-UESZKXLR.mjs.map +7 -0
  92. package/dist/lib/node-esm/{chunk-PBGVTGL2.mjs → chunk-WD7OFSM3.mjs} +87 -156
  93. package/dist/lib/node-esm/chunk-WD7OFSM3.mjs.map +7 -0
  94. package/dist/lib/node-esm/chunk-Z44O2YIK.mjs +89 -0
  95. package/dist/lib/node-esm/chunk-Z44O2YIK.mjs.map +7 -0
  96. package/dist/lib/node-esm/{compiler-VT5C2Z3T.mjs → compiler-7PQ4D43R.mjs} +3 -3
  97. package/dist/lib/{browser/compiler-56LTBEQB.mjs.map → node-esm/compiler-7PQ4D43R.mjs.map} +3 -3
  98. package/dist/lib/node-esm/index.mjs +17 -16
  99. package/dist/lib/node-esm/index.mjs.map +3 -3
  100. package/dist/lib/node-esm/{intent-resolver-PDZ2A26X.mjs → intent-resolver-3APO7YDF.mjs} +14 -14
  101. package/dist/lib/node-esm/intent-resolver-3APO7YDF.mjs.map +7 -0
  102. package/dist/lib/node-esm/meta.json +1 -1
  103. package/dist/lib/node-esm/{react-surface-UCUVDVSH.mjs → react-surface-S5LHD3IA.mjs} +12 -12
  104. package/dist/lib/node-esm/react-surface-S5LHD3IA.mjs.map +7 -0
  105. package/dist/lib/node-esm/{settings-HU5UEFRF.mjs → settings-NKNC32QC.mjs} +5 -5
  106. package/dist/lib/node-esm/settings-NKNC32QC.mjs.map +7 -0
  107. package/dist/lib/node-esm/types.mjs +2 -2
  108. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  109. package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -179
  110. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  112. package/dist/types/src/capabilities/index.d.ts +1 -177
  113. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  114. package/dist/types/src/compiler/compiler.d.ts.map +1 -1
  115. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts +2 -2
  116. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +1 -1
  117. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -1
  118. package/dist/types/src/components/ScriptContainer.d.ts +1 -1
  119. package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
  120. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +1 -1
  121. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  122. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +1 -1
  123. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +1 -1
  124. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +1 -1
  125. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
  126. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  127. package/dist/types/src/components/index.d.ts +1 -1
  128. package/dist/types/src/hooks/deploy.d.ts +22 -19
  129. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  130. package/dist/types/src/hooks/format.d.ts +2 -5
  131. package/dist/types/src/hooks/format.d.ts.map +1 -1
  132. package/dist/types/src/hooks/index.d.ts +0 -1
  133. package/dist/types/src/hooks/index.d.ts.map +1 -1
  134. package/dist/types/src/hooks/template.d.ts +2 -5
  135. package/dist/types/src/hooks/template.d.ts.map +1 -1
  136. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  137. package/dist/types/src/hooks/useToolbarState.d.ts +1 -1
  138. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  139. package/dist/types/src/meta.d.ts.map +1 -1
  140. package/dist/types/src/templates/chat.d.ts +1 -1
  141. package/dist/types/src/templates/chat.d.ts.map +1 -1
  142. package/dist/types/src/templates/chess.d.ts.map +1 -1
  143. package/dist/types/src/templates/data-generator.d.ts +0 -7
  144. package/dist/types/src/templates/data-generator.d.ts.map +1 -1
  145. package/dist/types/src/templates/discord.d.ts.map +1 -1
  146. package/dist/types/src/templates/echo.d.ts +1 -1
  147. package/dist/types/src/templates/echo.d.ts.map +1 -1
  148. package/dist/types/src/templates/email.d.ts +1 -1
  149. package/dist/types/src/templates/email.d.ts.map +1 -1
  150. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  151. package/dist/types/src/templates/forex.d.ts.map +1 -1
  152. package/dist/types/src/templates/gmail.d.ts.map +1 -1
  153. package/dist/types/src/translations.d.ts +2 -110
  154. package/dist/types/src/translations.d.ts.map +1 -1
  155. package/dist/types/src/types.d.ts +27 -26
  156. package/dist/types/src/types.d.ts.map +1 -1
  157. package/dist/types/src/util/deploy.d.ts.map +1 -1
  158. package/dist/types/src/util/functions.d.ts.map +1 -1
  159. package/dist/types/tsconfig.tsbuildinfo +1 -1
  160. package/package.json +59 -53
  161. package/src/ScriptPlugin.tsx +4 -2
  162. package/src/capabilities/app-graph-builder.ts +46 -29
  163. package/src/capabilities/artifact-definition.ts +40 -38
  164. package/src/capabilities/intent-resolver.ts +7 -7
  165. package/src/capabilities/react-surface.tsx +5 -5
  166. package/src/capabilities/settings.ts +2 -2
  167. package/src/compiler/compiler.ts +3 -3
  168. package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +1 -1
  169. package/src/components/DeploymentDialog/DeploymentDialog.tsx +2 -2
  170. package/src/components/ScriptContainer.tsx +2 -2
  171. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +1 -1
  172. package/src/components/ScriptToolbar/ScriptToolbar.tsx +27 -18
  173. package/src/components/Settings/ScriptObjectSettings.tsx +5 -5
  174. package/src/components/TypescriptEditor/TypescriptEditor.tsx +0 -6
  175. package/src/hooks/deploy.ts +61 -55
  176. package/src/hooks/format.ts +26 -26
  177. package/src/hooks/index.ts +0 -1
  178. package/src/hooks/template.ts +24 -32
  179. package/src/hooks/useToolbarState.ts +2 -2
  180. package/src/meta.ts +3 -2
  181. package/src/templates/chat.ts +4 -10
  182. package/src/templates/chess.ts +2 -7
  183. package/src/templates/data-generator.ts +20 -45
  184. package/src/templates/discord.ts +17 -15
  185. package/src/templates/echo.ts +1 -12
  186. package/src/templates/email.ts +8 -14
  187. package/src/templates/forex-effect.ts +4 -8
  188. package/src/templates/forex.ts +1 -5
  189. package/src/templates/gmail.ts +37 -28
  190. package/src/translations.ts +1 -1
  191. package/src/types.ts +13 -14
  192. package/src/util/deploy.ts +6 -10
  193. package/dist/lib/browser/DeploymentDialog-AEPYJKPO.mjs +0 -12
  194. package/dist/lib/browser/ScriptContainer-R25PRK2D.mjs +0 -248
  195. package/dist/lib/browser/ScriptContainer-R25PRK2D.mjs.map +0 -7
  196. package/dist/lib/browser/app-graph-builder-RRLY67QC.mjs.map +0 -7
  197. package/dist/lib/browser/artifact-definition-WXFYD2V5.mjs.map +0 -7
  198. package/dist/lib/browser/chunk-2CGZFDCR.mjs +0 -480
  199. package/dist/lib/browser/chunk-2CGZFDCR.mjs.map +0 -7
  200. package/dist/lib/browser/chunk-CSZXPLYY.mjs +0 -147
  201. package/dist/lib/browser/chunk-CSZXPLYY.mjs.map +0 -7
  202. package/dist/lib/browser/chunk-KLEOGVXY.mjs.map +0 -7
  203. package/dist/lib/browser/chunk-MQZQB5VD.mjs.map +0 -7
  204. package/dist/lib/browser/chunk-R2CHVWJ2.mjs +0 -41
  205. package/dist/lib/browser/chunk-R2CHVWJ2.mjs.map +0 -7
  206. package/dist/lib/browser/chunk-SUCBNCEQ.mjs +0 -87
  207. package/dist/lib/browser/chunk-SUCBNCEQ.mjs.map +0 -7
  208. package/dist/lib/browser/intent-resolver-WCVXKRBR.mjs.map +0 -7
  209. package/dist/lib/browser/react-surface-WXZVPNGI.mjs.map +0 -7
  210. package/dist/lib/browser/settings-Z7B37V2I.mjs.map +0 -7
  211. package/dist/lib/node/DeploymentDialog-O4MU4OMF.cjs.map +0 -7
  212. package/dist/lib/node/ScriptContainer-5KY6ZOQD.cjs +0 -267
  213. package/dist/lib/node/ScriptContainer-5KY6ZOQD.cjs.map +0 -7
  214. package/dist/lib/node/app-graph-builder-6I2BWD46.cjs.map +0 -7
  215. package/dist/lib/node/artifact-definition-6NVXEHJD.cjs.map +0 -7
  216. package/dist/lib/node/chunk-65MIJR3Q.cjs +0 -173
  217. package/dist/lib/node/chunk-65MIJR3Q.cjs.map +0 -7
  218. package/dist/lib/node/chunk-F4DP7WON.cjs.map +0 -7
  219. package/dist/lib/node/chunk-SLDJM45C.cjs +0 -507
  220. package/dist/lib/node/chunk-SLDJM45C.cjs.map +0 -7
  221. package/dist/lib/node/chunk-VYBEBLDO.cjs.map +0 -7
  222. package/dist/lib/node/chunk-X7MHLHHS.cjs +0 -91
  223. package/dist/lib/node/chunk-X7MHLHHS.cjs.map +0 -7
  224. package/dist/lib/node/chunk-XFZPWFEG.cjs.map +0 -7
  225. package/dist/lib/node/intent-resolver-J4NBDNFH.cjs.map +0 -7
  226. package/dist/lib/node/react-surface-27KTUBIZ.cjs.map +0 -7
  227. package/dist/lib/node/settings-EI6VPNKN.cjs.map +0 -7
  228. package/dist/lib/node-esm/ScriptContainer-W2F4FGDV.mjs +0 -249
  229. package/dist/lib/node-esm/ScriptContainer-W2F4FGDV.mjs.map +0 -7
  230. package/dist/lib/node-esm/app-graph-builder-H5XLRVX3.mjs.map +0 -7
  231. package/dist/lib/node-esm/artifact-definition-KQ64AYBP.mjs.map +0 -7
  232. package/dist/lib/node-esm/chunk-4MTPYMV2.mjs +0 -481
  233. package/dist/lib/node-esm/chunk-4MTPYMV2.mjs.map +0 -7
  234. package/dist/lib/node-esm/chunk-F4HA5C34.mjs.map +0 -7
  235. package/dist/lib/node-esm/chunk-MU3JKVL2.mjs +0 -148
  236. package/dist/lib/node-esm/chunk-MU3JKVL2.mjs.map +0 -7
  237. package/dist/lib/node-esm/chunk-PBGVTGL2.mjs.map +0 -7
  238. package/dist/lib/node-esm/chunk-QDYGTY4L.mjs +0 -89
  239. package/dist/lib/node-esm/chunk-QDYGTY4L.mjs.map +0 -7
  240. package/dist/lib/node-esm/chunk-RW2APVMV.mjs +0 -42
  241. package/dist/lib/node-esm/chunk-RW2APVMV.mjs.map +0 -7
  242. package/dist/lib/node-esm/compiler-VT5C2Z3T.mjs.map +0 -7
  243. package/dist/lib/node-esm/intent-resolver-PDZ2A26X.mjs.map +0 -7
  244. package/dist/lib/node-esm/react-surface-UCUVDVSH.mjs.map +0 -7
  245. package/dist/lib/node-esm/settings-HU5UEFRF.mjs.map +0 -7
  246. package/dist/types/src/hooks/useToolbarAction.d.ts +0 -13
  247. package/dist/types/src/hooks/useToolbarAction.d.ts.map +0 -1
  248. package/src/hooks/useToolbarAction.ts +0 -50
  249. /package/dist/lib/browser/{DeploymentDialog-AEPYJKPO.mjs.map → DeploymentDialog-NLWQHNKE.mjs.map} +0 -0
  250. /package/dist/lib/node-esm/{DeploymentDialog-SSQSWLHX.mjs.map → DeploymentDialog-QHB2BGNJ.mjs.map} +0 -0
@@ -0,0 +1,289 @@
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 ScriptContainer_56SH6R24_exports = {};
30
+ __export(ScriptContainer_56SH6R24_exports, {
31
+ ScriptContainer: () => ScriptContainer,
32
+ default: () => ScriptContainer_default
33
+ });
34
+ module.exports = __toCommonJS(ScriptContainer_56SH6R24_exports);
35
+ var import_chunk_NRZJV5SV = require("./chunk-NRZJV5SV.cjs");
36
+ var import_chunk_BYLHJ26I = require("./chunk-BYLHJ26I.cjs");
37
+ var import_chunk_V6L73D7S = require("./chunk-V6L73D7S.cjs");
38
+ var import_chunk_HCRW6T3G = require("./chunk-HCRW6T3G.cjs");
39
+ var import_chunk_QG2X6J74 = require("./chunk-QG2X6J74.cjs");
40
+ var import_tracking = require("@preact-signals/safe-react/tracking");
41
+ var import_react = __toESM(require("react"));
42
+ var import_echo = require("@dxos/react-client/echo");
43
+ var import_halo = require("@dxos/react-client/halo");
44
+ var import_react_ui_editor = require("@dxos/react-ui-editor");
45
+ var import_react_ui_stack = require("@dxos/react-ui-stack");
46
+ var import_react_ui_theme = require("@dxos/react-ui-theme");
47
+ var import_tracking2 = require("@preact-signals/safe-react/tracking");
48
+ var import_rx_react = require("@effect-rx/rx-react");
49
+ var import_react2 = __toESM(require("react"));
50
+ var import_echo2 = require("@dxos/react-client/echo");
51
+ var import_react_ui = require("@dxos/react-ui");
52
+ var import_react_ui_editor2 = require("@dxos/react-ui-editor");
53
+ var import_react_ui_menu = require("@dxos/react-ui-menu");
54
+ var import_tracking3 = require("@preact-signals/safe-react/tracking");
55
+ var import_lang_javascript = require("@codemirror/lang-javascript");
56
+ var import_language = require("@codemirror/language");
57
+ var import_state = require("@codemirror/state");
58
+ var import_theme_one_dark = require("@codemirror/theme-one-dark");
59
+ var import_view = require("@codemirror/view");
60
+ var import_highlight = require("@lezer/highlight");
61
+ var import_codemirror_continue = require("@valtown/codemirror-continue");
62
+ var import_codemirror_ts = require("@valtown/codemirror-ts");
63
+ var import_react3 = __toESM(require("react"));
64
+ var import_react_ui2 = require("@dxos/react-ui");
65
+ var import_react_ui_editor3 = require("@dxos/react-ui-editor");
66
+ var import_util = require("@dxos/util");
67
+ var createToolbar = ({ state, script, ...options }) => import_rx_react.Rx.make((get) => get((0, import_react_ui_menu.rxFromSignal)(() => {
68
+ const templateSelect = (0, import_chunk_NRZJV5SV.createTemplateSelect)(script);
69
+ const format = (0, import_chunk_NRZJV5SV.createFormat)(script);
70
+ const gap = (0, import_react_ui_menu.createGapSeparator)();
71
+ const deploy = (0, import_chunk_NRZJV5SV.createDeploy)({
72
+ state,
73
+ script,
74
+ ...options
75
+ });
76
+ return {
77
+ nodes: [
78
+ ...templateSelect.nodes,
79
+ ...format.nodes,
80
+ ...gap.nodes,
81
+ ...deploy.nodes
82
+ ],
83
+ edges: [
84
+ ...templateSelect.edges,
85
+ ...format.edges,
86
+ ...gap.edges,
87
+ ...deploy.edges
88
+ ]
89
+ };
90
+ })));
91
+ var ScriptToolbar = ({ script, role, state, classNames }) => {
92
+ var _effect = (0, import_tracking2.useSignals)();
93
+ try {
94
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_QG2X6J74.SCRIPT_PLUGIN);
95
+ const options = (0, import_chunk_NRZJV5SV.useDeployDeps)({
96
+ script
97
+ });
98
+ const toolbarCreator = (0, import_react2.useMemo)(() => createToolbar({
99
+ state,
100
+ script,
101
+ t,
102
+ ...options
103
+ }), [
104
+ state,
105
+ script,
106
+ options,
107
+ t
108
+ ]);
109
+ const menu = (0, import_react_ui_menu.useMenuActions)(toolbarCreator);
110
+ return /* @__PURE__ */ import_react2.default.createElement("div", {
111
+ role: "none",
112
+ className: (0, import_react_ui_editor2.stackItemContentToolbarClassNames)(role)
113
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.ElevationProvider, {
114
+ elevation: role === "section" ? "positioned" : "base"
115
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui_menu.MenuProvider, {
116
+ ...menu,
117
+ attendableId: (0, import_echo2.fullyQualifiedId)(script)
118
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui_menu.ToolbarMenu, {
119
+ classNames
120
+ }))));
121
+ } finally {
122
+ _effect.f();
123
+ }
124
+ };
125
+ var TypescriptEditor = ({ id, env, className, initialValue, extensions, scrollTo, selection, toolbar, inputMode = "vscode" }) => {
126
+ var _effect = (0, import_tracking3.useSignals)();
127
+ try {
128
+ const { themeMode } = (0, import_react_ui2.useThemeContext)();
129
+ const { parentRef, focusAttributes } = (0, import_react_ui_editor3.useTextEditor)(() => ({
130
+ id,
131
+ initialValue,
132
+ extensions: [
133
+ extensions,
134
+ (0, import_react_ui_editor3.createBasicExtensions)({
135
+ highlightActiveLine: true,
136
+ indentWithTab: true,
137
+ lineNumbers: true,
138
+ lineWrapping: false,
139
+ scrollPastEnd: true
140
+ }),
141
+ (0, import_react_ui_editor3.createThemeExtensions)({
142
+ themeMode,
143
+ syntaxHighlighting: true
144
+ }),
145
+ // NOTE: Not using default editor gutter because folding for code works best right beside text.
146
+ import_react_ui_editor3.EditorView.theme({
147
+ ".cm-gutters": {
148
+ background: "var(--dx-baseSurface)"
149
+ }
150
+ }),
151
+ import_react_ui_editor3.InputModeExtensions[inputMode],
152
+ (0, import_react_ui_editor3.folding)(),
153
+ // Continues block comments when you hit Enter.
154
+ import_state.Prec.high(import_view.keymap.of(import_codemirror_continue.continueKeymap)),
155
+ // TODO(burdon): Factor out.
156
+ [
157
+ import_react_ui_editor3.editorMonospace,
158
+ (0, import_lang_javascript.javascript)({
159
+ typescript: true
160
+ }),
161
+ // https://github.com/val-town/codemirror-ts
162
+ (0, import_react_ui_editor3.autocomplete)({
163
+ override: env ? [
164
+ (0, import_codemirror_ts.tsAutocomplete)()
165
+ ] : []
166
+ }),
167
+ env ? [
168
+ import_codemirror_ts.tsFacet.of({
169
+ env,
170
+ path: `/src/${id}.ts`
171
+ }),
172
+ (0, import_codemirror_ts.tsSync)(),
173
+ (0, import_codemirror_ts.tsLinter)(),
174
+ (0, import_codemirror_ts.tsHover)({
175
+ renderTooltip: createTooltipRenderer(themeMode)
176
+ })
177
+ ] : []
178
+ ]
179
+ ].filter(import_util.isNonNullable),
180
+ selection,
181
+ scrollTo
182
+ }), [
183
+ id,
184
+ extensions,
185
+ themeMode,
186
+ inputMode,
187
+ selection,
188
+ scrollTo
189
+ ]);
190
+ return /* @__PURE__ */ import_react3.default.createElement("div", {
191
+ ref: parentRef,
192
+ "data-toolbar": toolbar ? "enabled" : "disabled",
193
+ className,
194
+ ...focusAttributes
195
+ });
196
+ } finally {
197
+ _effect.f();
198
+ }
199
+ };
200
+ var createTooltipRenderer = (themeMode) => {
201
+ const theme = themeMode === "dark" ? import_theme_one_dark.oneDarkHighlightStyle : import_language.defaultHighlightStyle;
202
+ const classFromKind = (_kind) => {
203
+ const kind = _kind.endsWith("Name") ? "name" : _kind;
204
+ const validTag = kind in import_highlight.tags;
205
+ if (!validTag) {
206
+ return "";
207
+ }
208
+ const tag = import_highlight.tags[kind];
209
+ if (typeof tag === "function") {
210
+ return "";
211
+ }
212
+ return theme.style([
213
+ tag
214
+ ]) ?? "";
215
+ };
216
+ return (info) => {
217
+ const div = document.createElement("div");
218
+ div.className = "p-1 rounded border border-separator bg-baseSurface xs:max-w-80 max-w-lg";
219
+ if (info.quickInfo?.displayParts) {
220
+ for (const part of info.quickInfo.displayParts) {
221
+ const span = div.appendChild(document.createElement("span"));
222
+ span.className = classFromKind(part.kind);
223
+ span.innerText = part.text;
224
+ }
225
+ }
226
+ return {
227
+ dom: div
228
+ };
229
+ };
230
+ };
231
+ var ScriptContainer = ({ classNames, role, script, settings = {
232
+ editorInputMode: "vscode"
233
+ }, env }) => {
234
+ var _effect = (0, import_tracking.useSignals)();
235
+ try {
236
+ const identity = (0, import_halo.useIdentity)();
237
+ const space = (0, import_echo.getSpace)(script);
238
+ const state = (0, import_chunk_NRZJV5SV.useToolbarState)();
239
+ (0, import_chunk_NRZJV5SV.useDeployState)({
240
+ state,
241
+ script
242
+ });
243
+ const extensions = (0, import_react.useMemo)(() => [
244
+ (0, import_react_ui_editor.listener)({
245
+ onChange: (text) => {
246
+ if (script.source.target && script.source.target.content !== text) {
247
+ script.changed = true;
248
+ }
249
+ }
250
+ }),
251
+ (0, import_react_ui_editor.createDataExtensions)({
252
+ id: script.id,
253
+ text: script.source.target && (0, import_echo.createDocAccessor)(script.source.target, [
254
+ "content"
255
+ ]),
256
+ space,
257
+ identity
258
+ })
259
+ ], [
260
+ identity,
261
+ space,
262
+ script,
263
+ script.source.target
264
+ ]);
265
+ return /* @__PURE__ */ import_react.default.createElement(import_react_ui_stack.StackItem.Content, {
266
+ toolbar: true
267
+ }, /* @__PURE__ */ import_react.default.createElement(ScriptToolbar, {
268
+ state,
269
+ role,
270
+ script
271
+ }), /* @__PURE__ */ import_react.default.createElement(TypescriptEditor, {
272
+ id: script.id,
273
+ env,
274
+ initialValue: script.source?.target?.content,
275
+ extensions,
276
+ className: (0, import_react_ui_theme.mx)((0, import_react_ui_editor.stackItemContentEditorClassNames)(role)),
277
+ inputMode: settings.editorInputMode,
278
+ toolbar: true
279
+ }));
280
+ } finally {
281
+ _effect.f();
282
+ }
283
+ };
284
+ var ScriptContainer_default = ScriptContainer;
285
+ // Annotate the CommonJS export names for ESM import in node:
286
+ 0 && (module.exports = {
287
+ ScriptContainer
288
+ });
289
+ //# sourceMappingURL=ScriptContainer-56SH6R24.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/ScriptContainer.tsx", "../../../src/components/ScriptToolbar/ScriptToolbar.tsx", "../../../src/components/TypescriptEditor/TypescriptEditor.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { type ScriptType } from '@dxos/functions';\nimport { createDocAccessor, getSpace } from '@dxos/react-client/echo';\nimport { useIdentity } from '@dxos/react-client/halo';\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { createDataExtensions, listener, stackItemContentEditorClassNames } from '@dxos/react-ui-editor';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { mx } from '@dxos/react-ui-theme';\n\nimport { ScriptToolbar } from './ScriptToolbar';\nimport { TypescriptEditor, type TypescriptEditorProps } from './TypescriptEditor';\nimport { useDeployState, useToolbarState } from '../hooks';\nimport { type ScriptSettingsProps } from '../types';\n\nexport type ScriptEditorProps = ThemedClassName<\n {\n role?: string;\n script: ScriptType;\n settings?: ScriptSettingsProps;\n } & Pick<TypescriptEditorProps, 'env'>\n>;\n\nexport const ScriptContainer = ({\n classNames,\n role,\n script,\n settings = { editorInputMode: 'vscode' },\n env,\n}: ScriptEditorProps) => {\n const identity = useIdentity();\n const space = getSpace(script);\n const state = useToolbarState();\n useDeployState({ state, script });\n\n const extensions = useMemo(\n () => [\n listener({\n onChange: (text) => {\n if (script.source.target && script.source.target.content !== text) {\n script.changed = true;\n }\n },\n }),\n createDataExtensions({\n id: script.id,\n text: script.source.target && createDocAccessor(script.source.target, ['content']),\n space,\n identity,\n }),\n ],\n [identity, space, script, script.source.target],\n );\n\n return (\n <StackItem.Content toolbar>\n <ScriptToolbar state={state} role={role} script={script} />\n <TypescriptEditor\n id={script.id}\n env={env}\n initialValue={script.source?.target?.content}\n extensions={extensions}\n className={mx(stackItemContentEditorClassNames(role))}\n inputMode={settings.editorInputMode}\n toolbar\n />\n </StackItem.Content>\n );\n};\n\nexport default ScriptContainer;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport React, { useMemo } from 'react';\n\nimport { type ScriptType } from '@dxos/functions';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { ElevationProvider, useTranslation, type ThemedClassName } from '@dxos/react-ui';\nimport { stackItemContentToolbarClassNames } from '@dxos/react-ui-editor';\nimport { createGapSeparator, MenuProvider, rxFromSignal, ToolbarMenu, useMenuActions } from '@dxos/react-ui-menu';\n\nimport {\n type CreateDeployOptions,\n type ScriptToolbarState,\n createDeploy,\n createFormat,\n createTemplateSelect,\n useDeployDeps,\n} from '../../hooks';\nimport { SCRIPT_PLUGIN } from '../../meta';\n\nexport type ScriptToolbarProps = ThemedClassName<{\n role?: string;\n script: ScriptType;\n state: ScriptToolbarState;\n}>;\n\nconst createToolbar = ({ state, script, ...options }: CreateDeployOptions) =>\n Rx.make((get) =>\n get(\n rxFromSignal(() => {\n const templateSelect = createTemplateSelect(script);\n const format = createFormat(script);\n const gap = createGapSeparator();\n const deploy = createDeploy({ state, script, ...options });\n return {\n nodes: [...templateSelect.nodes, ...format.nodes, ...gap.nodes, ...deploy.nodes],\n edges: [...templateSelect.edges, ...format.edges, ...gap.edges, ...deploy.edges],\n };\n }),\n ),\n );\n\nexport const ScriptToolbar = ({ script, role, state, classNames }: ScriptToolbarProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n const options = useDeployDeps({ script });\n const toolbarCreator = useMemo(() => createToolbar({ state, script, t, ...options }), [state, script, options, t]);\n const menu = useMenuActions(toolbarCreator);\n\n return (\n <div role='none' className={stackItemContentToolbarClassNames(role)}>\n <ElevationProvider elevation={role === 'section' ? 'positioned' : 'base'}>\n <MenuProvider {...menu} attendableId={fullyQualifiedId(script)}>\n <ToolbarMenu classNames={classNames} />\n </MenuProvider>\n </ElevationProvider>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { javascript } from '@codemirror/lang-javascript';\nimport { defaultHighlightStyle } from '@codemirror/language';\nimport { Prec } from '@codemirror/state';\nimport { oneDarkHighlightStyle } from '@codemirror/theme-one-dark';\nimport { keymap } from '@codemirror/view';\nimport { tags } from '@lezer/highlight';\nimport { type VirtualTypeScriptEnvironment } from '@typescript/vfs';\nimport { continueKeymap } from '@valtown/codemirror-continue';\nimport { tsSync, tsFacet, tsLinter, tsAutocomplete, tsHover, type HoverInfo } from '@valtown/codemirror-ts';\nimport React from 'react';\n\nimport { type ThemeMode, useThemeContext } from '@dxos/react-ui';\nimport {\n autocomplete,\n createBasicExtensions,\n createThemeExtensions,\n type EditorInputMode,\n editorMonospace,\n EditorView,\n folding,\n InputModeExtensions,\n useTextEditor,\n type UseTextEditorProps,\n} from '@dxos/react-ui-editor';\nimport { isNonNullable } from '@dxos/util';\n\nexport type TypescriptEditorProps = {\n id: string;\n inputMode?: EditorInputMode;\n env?: VirtualTypeScriptEnvironment;\n toolbar?: boolean;\n} & Pick<UseTextEditorProps, 'className' | 'initialValue' | 'extensions' | 'scrollTo' | 'selection'>;\n\nexport const TypescriptEditor = ({\n id,\n env,\n className,\n initialValue,\n extensions,\n scrollTo,\n selection,\n toolbar,\n inputMode = 'vscode',\n}: TypescriptEditorProps) => {\n const { themeMode } = useThemeContext();\n const { parentRef, focusAttributes } = useTextEditor(\n () => ({\n id,\n initialValue,\n extensions: [\n extensions,\n createBasicExtensions({\n highlightActiveLine: true,\n indentWithTab: true,\n lineNumbers: true,\n lineWrapping: false,\n scrollPastEnd: true,\n }),\n createThemeExtensions({\n themeMode,\n syntaxHighlighting: true,\n }),\n // NOTE: Not using default editor gutter because folding for code works best right beside text.\n EditorView.theme({\n '.cm-gutters': {\n background: 'var(--dx-baseSurface)',\n },\n }),\n InputModeExtensions[inputMode],\n folding(),\n // Continues block comments when you hit Enter.\n Prec.high(keymap.of(continueKeymap)),\n // TODO(burdon): Factor out.\n [\n editorMonospace,\n javascript({ typescript: true }),\n // https://github.com/val-town/codemirror-ts\n autocomplete({ override: env ? [tsAutocomplete()] : [] }),\n env\n ? [\n tsFacet.of({ env, path: `/src/${id}.ts` }),\n tsSync(),\n tsLinter(),\n tsHover({ renderTooltip: createTooltipRenderer(themeMode) }),\n ]\n : [],\n ],\n ].filter(isNonNullable),\n selection,\n scrollTo,\n }),\n [id, extensions, themeMode, inputMode, selection, scrollTo],\n );\n\n return (\n <div ref={parentRef} data-toolbar={toolbar ? 'enabled' : 'disabled'} className={className} {...focusAttributes} />\n );\n};\n\nconst createTooltipRenderer = (themeMode: ThemeMode) => {\n const theme = themeMode === 'dark' ? oneDarkHighlightStyle : defaultHighlightStyle;\n\n const classFromKind = (_kind: string) => {\n // E.g., localName, methodName, parameterName, etc.\n const kind = _kind.endsWith('Name') ? 'name' : _kind;\n const validTag = kind in tags;\n if (!validTag) {\n return '';\n }\n\n const tag = tags[kind as keyof typeof tags];\n if (typeof tag === 'function') {\n return '';\n }\n\n return theme.style([tag]) ?? '';\n };\n\n return (info: HoverInfo) => {\n const div = document.createElement('div');\n div.className = 'p-1 rounded border border-separator bg-baseSurface xs:max-w-80 max-w-lg';\n\n if (info.quickInfo?.displayParts) {\n for (const part of info.quickInfo.displayParts) {\n const span = div.appendChild(document.createElement('span'));\n span.className = classFromKind(part.kind);\n span.innerText = part.text;\n }\n }\n\n return { dom: div };\n };\n};\n\nexport default TypescriptEditor;\n"],
5
+ "mappings": "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",
6
+ "names": ["import_react", "import_echo", "import_react_ui_editor", "import_react_ui", "createToolbar", "state", "script", "options", "Rx", "make", "get", "rxFromSignal", "templateSelect", "createTemplateSelect", "format", "createFormat", "gap", "createGapSeparator", "deploy", "createDeploy", "nodes", "edges", "ScriptToolbar", "role", "classNames", "t", "useTranslation", "SCRIPT_PLUGIN", "useDeployDeps", "toolbarCreator", "useMemo", "menu", "useMenuActions", "React", "div", "className", "stackItemContentToolbarClassNames", "ElevationProvider", "elevation", "MenuProvider", "attendableId", "fullyQualifiedId", "ToolbarMenu", "TypescriptEditor", "id", "env", "initialValue", "extensions", "scrollTo", "selection", "toolbar", "inputMode", "themeMode", "useThemeContext", "parentRef", "focusAttributes", "useTextEditor", "createBasicExtensions", "highlightActiveLine", "indentWithTab", "lineNumbers", "lineWrapping", "scrollPastEnd", "createThemeExtensions", "syntaxHighlighting", "EditorView", "theme", "background", "InputModeExtensions", "folding", "Prec", "high", "keymap", "of", "continueKeymap", "editorMonospace", "javascript", "typescript", "autocomplete", "override", "tsAutocomplete", "tsFacet", "path", "tsSync", "tsLinter", "tsHover", "renderTooltip", "createTooltipRenderer", "filter", "isNonNullable", "ref", "data-toolbar", "oneDarkHighlightStyle", "defaultHighlightStyle", "classFromKind", "_kind", "kind", "endsWith", "validTag", "tags", "tag", "style", "info", "document", "createElement", "quickInfo", "displayParts", "part", "span", "appendChild", "innerText", "text", "dom", "ScriptContainer", "settings", "editorInputMode", "identity", "useIdentity", "space", "getSpace", "useToolbarState", "useDeployState", "listener", "onChange", "source", "target", "content", "changed", "createDataExtensions", "createDocAccessor", "StackItem", "Content", "mx", "stackItemContentEditorClassNames"]
7
+ }
@@ -16,12 +16,14 @@ 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 app_graph_builder_6I2BWD46_exports = {};
20
- __export(app_graph_builder_6I2BWD46_exports, {
19
+ var app_graph_builder_YE4OM4OC_exports = {};
20
+ __export(app_graph_builder_YE4OM4OC_exports, {
21
21
  default: () => app_graph_builder_default
22
22
  });
23
- module.exports = __toCommonJS(app_graph_builder_6I2BWD46_exports);
24
- var import_chunk_YJQZHKKA = require("./chunk-YJQZHKKA.cjs");
23
+ module.exports = __toCommonJS(app_graph_builder_YE4OM4OC_exports);
24
+ var import_chunk_QG2X6J74 = require("./chunk-QG2X6J74.cjs");
25
+ var import_rx_react = require("@effect-rx/rx-react");
26
+ var import_effect = require("effect");
25
27
  var import_app_framework = require("@dxos/app-framework");
26
28
  var import_echo_schema = require("@dxos/echo-schema");
27
29
  var import_functions = require("@dxos/functions");
@@ -29,12 +31,11 @@ var import_types = require("@dxos/plugin-deck/types");
29
31
  var import_plugin_graph = require("@dxos/plugin-graph");
30
32
  var app_graph_builder_default = (context) => (0, import_app_framework.contributes)(import_app_framework.Capabilities.AppGraphBuilder, [
31
33
  (0, import_plugin_graph.createExtension)({
32
- id: `${import_chunk_YJQZHKKA.meta.id}/execute`,
33
- filter: (node) => (0, import_echo_schema.isInstanceOf)(import_functions.ScriptType, node.data),
34
- connector: ({ node }) => [
34
+ id: `${import_chunk_QG2X6J74.meta.id}/execute`,
35
+ connector: (node) => import_rx_react.Rx.make((get) => (0, import_effect.pipe)(get(node), import_effect.Option.flatMap((node2) => (0, import_echo_schema.isInstanceOf)(import_functions.ScriptType, node2.data) ? import_effect.Option.some(node2) : import_effect.Option.none()), import_effect.Option.map((node2) => [
35
36
  {
36
37
  id: [
37
- node.id,
38
+ node2.id,
38
39
  "execute"
39
40
  ].join(import_types.ATTENDABLE_PATH_SEPARATOR),
40
41
  type: import_types.PLANK_COMPANION_TYPE,
@@ -43,22 +44,21 @@ var app_graph_builder_default = (context) => (0, import_app_framework.contribute
43
44
  label: [
44
45
  "script test label",
45
46
  {
46
- ns: import_chunk_YJQZHKKA.meta.id
47
+ ns: import_chunk_QG2X6J74.meta.id
47
48
  }
48
49
  ],
49
50
  icon: "ph--terminal--regular",
50
51
  disposition: "hidden"
51
52
  }
52
53
  }
53
- ]
54
+ ]), import_effect.Option.getOrElse(() => [])))
54
55
  }),
55
56
  (0, import_plugin_graph.createExtension)({
56
- id: `${import_chunk_YJQZHKKA.meta.id}/logs`,
57
- filter: (node) => (0, import_echo_schema.isInstanceOf)(import_functions.ScriptType, node.data),
58
- connector: ({ node }) => [
57
+ id: `${import_chunk_QG2X6J74.meta.id}/logs`,
58
+ connector: (node) => import_rx_react.Rx.make((get) => (0, import_effect.pipe)(get(node), import_effect.Option.flatMap((node2) => (0, import_echo_schema.isInstanceOf)(import_functions.ScriptType, node2.data) ? import_effect.Option.some(node2) : import_effect.Option.none()), import_effect.Option.map((node2) => [
59
59
  {
60
60
  id: [
61
- node.id,
61
+ node2.id,
62
62
  "logs"
63
63
  ].join(import_types.ATTENDABLE_PATH_SEPARATOR),
64
64
  type: import_types.PLANK_COMPANION_TYPE,
@@ -67,14 +67,14 @@ var app_graph_builder_default = (context) => (0, import_app_framework.contribute
67
67
  label: [
68
68
  "script logs label",
69
69
  {
70
- ns: import_chunk_YJQZHKKA.meta.id
70
+ ns: import_chunk_QG2X6J74.meta.id
71
71
  }
72
72
  ],
73
73
  icon: "ph--clock-countdown--regular",
74
74
  disposition: "hidden"
75
75
  }
76
76
  }
77
- ]
77
+ ]), import_effect.Option.getOrElse(() => [])))
78
78
  })
79
79
  ]);
80
- //# sourceMappingURL=app-graph-builder-6I2BWD46.cjs.map
80
+ //# sourceMappingURL=app-graph-builder-YE4OM4OC.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport { Option, pipe } from 'effect';\n\nimport { Capabilities, contributes, type PluginContext } from '@dxos/app-framework';\nimport { isInstanceOf } from '@dxos/echo-schema';\nimport { ScriptType } from '@dxos/functions';\nimport { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';\nimport { createExtension } from '@dxos/plugin-graph';\n\nimport { meta } from '../meta';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${meta.id}/execute`,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (isInstanceOf(ScriptType, node.data) ? Option.some(node) : Option.none())),\n Option.map((node) => [\n {\n id: [node.id, 'execute'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'execute',\n properties: {\n label: ['script test label', { ns: meta.id }],\n icon: 'ph--terminal--regular',\n disposition: 'hidden',\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n createExtension({\n id: `${meta.id}/logs`,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (isInstanceOf(ScriptType, node.data) ? Option.some(node) : Option.none())),\n Option.map((node) => [\n {\n id: [node.id, 'logs'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'logs',\n properties: {\n label: ['script logs label', { ns: meta.id }],\n icon: 'ph--clock-countdown--regular',\n disposition: 'hidden',\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAIA,sBAAmB;AACnB,oBAA6B;AAE7B,2BAA8D;AAC9D,yBAA6B;AAC7B,uBAA2B;AAC3B,mBAAgE;AAChE,0BAAgC;AAIhC,IAAA,4BAAe,CAACA,gBACdC,kCAAYC,kCAAaC,iBAAiB;MACxCC,qCAAgB;IACdC,IAAI,GAAGC,2BAAKD,EAAE;IACdE,WAAW,CAACC,SACVC,mBAAGC,KAAK,CAACC,YACPC,oBACED,IAAIH,IAAAA,GACJK,qBAAOC,QAAQ,CAACN,cAAUO,iCAAaC,6BAAYR,MAAKS,IAAI,IAAIJ,qBAAOK,KAAKV,KAAAA,IAAQK,qBAAOM,KAAI,CAAA,GAC/FN,qBAAOO,IAAI,CAACZ,UAAS;MACnB;QACEH,IAAI;UAACG,MAAKH;UAAI;UAAWgB,KAAKC,sCAAAA;QAC9BC,MAAMC;QACNP,MAAM;QACNQ,YAAY;UACVC,OAAO;YAAC;YAAqB;cAAEC,IAAIrB,2BAAKD;YAAG;;UAC3CuB,MAAM;UACNC,aAAa;QACf;MACF;KACD,GACDhB,qBAAOiB,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;EAGjC,CAAA;MACA1B,qCAAgB;IACdC,IAAI,GAAGC,2BAAKD,EAAE;IACdE,WAAW,CAACC,SACVC,mBAAGC,KAAK,CAACC,YACPC,oBACED,IAAIH,IAAAA,GACJK,qBAAOC,QAAQ,CAACN,cAAUO,iCAAaC,6BAAYR,MAAKS,IAAI,IAAIJ,qBAAOK,KAAKV,KAAAA,IAAQK,qBAAOM,KAAI,CAAA,GAC/FN,qBAAOO,IAAI,CAACZ,UAAS;MACnB;QACEH,IAAI;UAACG,MAAKH;UAAI;UAAQgB,KAAKC,sCAAAA;QAC3BC,MAAMC;QACNP,MAAM;QACNQ,YAAY;UACVC,OAAO;YAAC;YAAqB;cAAEC,IAAIrB,2BAAKD;YAAG;;UAC3CuB,MAAM;UACNC,aAAa;QACf;MACF;KACD,GACDhB,qBAAOiB,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;EAGjC,CAAA;CACD;",
6
+ "names": ["context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "meta", "connector", "node", "Rx", "make", "get", "pipe", "Option", "flatMap", "isInstanceOf", "ScriptType", "data", "some", "none", "map", "join", "ATTENDABLE_PATH_SEPARATOR", "type", "PLANK_COMPANION_TYPE", "properties", "label", "ns", "icon", "disposition", "getOrElse"]
7
+ }