@dxos/plugin-script 0.8.1-main.ba2dec9 → 0.8.1-staging.31c3ee1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. package/dist/lib/browser/DeploymentDialog-AEPYJKPO.mjs +12 -0
  2. package/dist/lib/browser/DeploymentDialog-AEPYJKPO.mjs.map +7 -0
  3. package/dist/lib/browser/{ScriptContainer-AIBCQZ7S.mjs → ScriptContainer-R25PRK2D.mjs} +28 -40
  4. package/dist/lib/browser/ScriptContainer-R25PRK2D.mjs.map +7 -0
  5. package/dist/lib/browser/app-graph-builder-RRLY67QC.mjs +64 -0
  6. package/dist/lib/browser/app-graph-builder-RRLY67QC.mjs.map +7 -0
  7. package/dist/lib/browser/{artifact-definition-GTL3ZSF2.mjs → artifact-definition-WXFYD2V5.mjs} +10 -9
  8. package/dist/lib/browser/artifact-definition-WXFYD2V5.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-5RZVHFGR.mjs → chunk-2CGZFDCR.mjs} +290 -277
  10. package/dist/lib/browser/chunk-2CGZFDCR.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-4VD3K3PY.mjs +15 -0
  12. package/dist/lib/browser/{chunk-6MOQ4BP3.mjs.map → chunk-4VD3K3PY.mjs.map} +3 -3
  13. package/dist/lib/browser/chunk-CSZXPLYY.mjs +147 -0
  14. package/dist/lib/browser/chunk-CSZXPLYY.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-KLEOGVXY.mjs +352 -0
  16. package/dist/lib/browser/chunk-KLEOGVXY.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-MQZQB5VD.mjs +233 -0
  18. package/dist/lib/browser/chunk-MQZQB5VD.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-JL34HAEL.mjs → chunk-R2CHVWJ2.mjs} +5 -4
  20. package/dist/lib/browser/chunk-R2CHVWJ2.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-SUCBNCEQ.mjs +87 -0
  22. package/dist/lib/browser/chunk-SUCBNCEQ.mjs.map +7 -0
  23. package/dist/lib/browser/{chunk-FVVCAWNP.mjs → chunk-WSK3YQXI.mjs} +9 -3
  24. package/dist/lib/browser/chunk-WSK3YQXI.mjs.map +7 -0
  25. package/dist/lib/browser/{compiler-YY2XSKHQ.mjs → compiler-56LTBEQB.mjs} +7 -7
  26. package/dist/lib/browser/index.mjs +65 -61
  27. package/dist/lib/browser/index.mjs.map +3 -3
  28. package/dist/lib/browser/intent-resolver-WCVXKRBR.mjs +90 -0
  29. package/dist/lib/browser/intent-resolver-WCVXKRBR.mjs.map +7 -0
  30. package/dist/lib/browser/meta.json +1 -1
  31. package/dist/lib/browser/react-surface-WXZVPNGI.mjs +117 -0
  32. package/dist/lib/browser/react-surface-WXZVPNGI.mjs.map +7 -0
  33. package/dist/lib/browser/{settings-HIWURVAS.mjs → settings-Z7B37V2I.mjs} +6 -6
  34. package/dist/lib/browser/{settings-HIWURVAS.mjs.map → settings-Z7B37V2I.mjs.map} +3 -3
  35. package/dist/lib/browser/types.mjs +5 -2
  36. package/dist/lib/node/DeploymentDialog-O4MU4OMF.cjs +33 -0
  37. package/dist/lib/node/DeploymentDialog-O4MU4OMF.cjs.map +7 -0
  38. package/dist/lib/node/{ScriptContainer-ZYVN7ZW6.cjs → ScriptContainer-5KY6ZOQD.cjs} +31 -41
  39. package/dist/lib/node/ScriptContainer-5KY6ZOQD.cjs.map +7 -0
  40. package/dist/lib/node/app-graph-builder-6I2BWD46.cjs +80 -0
  41. package/dist/lib/node/app-graph-builder-6I2BWD46.cjs.map +7 -0
  42. package/dist/lib/node/{artifact-definition-64KZC4UT.cjs → artifact-definition-6NVXEHJD.cjs} +16 -15
  43. package/dist/lib/node/artifact-definition-6NVXEHJD.cjs.map +7 -0
  44. package/dist/lib/node/chunk-65MIJR3Q.cjs +173 -0
  45. package/dist/lib/node/chunk-65MIJR3Q.cjs.map +7 -0
  46. package/dist/lib/node/chunk-F4DP7WON.cjs +372 -0
  47. package/dist/lib/node/chunk-F4DP7WON.cjs.map +7 -0
  48. package/dist/lib/node/{chunk-ALY3N6PW.cjs → chunk-JICWAOWZ.cjs} +6 -6
  49. package/dist/lib/node/{chunk-ALY3N6PW.cjs.map → chunk-JICWAOWZ.cjs.map} +3 -3
  50. package/dist/lib/node/{chunk-PTXU7QFZ.cjs → chunk-SLDJM45C.cjs} +286 -272
  51. package/dist/lib/node/chunk-SLDJM45C.cjs.map +7 -0
  52. package/dist/lib/node/chunk-VYBEBLDO.cjs +251 -0
  53. package/dist/lib/node/chunk-VYBEBLDO.cjs.map +7 -0
  54. package/dist/lib/node/chunk-X7MHLHHS.cjs +91 -0
  55. package/dist/lib/node/chunk-X7MHLHHS.cjs.map +7 -0
  56. package/dist/lib/node/{chunk-VJ73IG7P.cjs → chunk-XFZPWFEG.cjs} +8 -7
  57. package/dist/lib/node/chunk-XFZPWFEG.cjs.map +7 -0
  58. package/dist/lib/node/{chunk-5UH3F7TA.cjs → chunk-YJQZHKKA.cjs} +11 -4
  59. package/dist/lib/node/chunk-YJQZHKKA.cjs.map +7 -0
  60. package/dist/lib/node/{compiler-UIBLKJKG.cjs → compiler-W2RU3M7U.cjs} +8 -8
  61. package/dist/lib/node/index.cjs +75 -71
  62. package/dist/lib/node/index.cjs.map +3 -3
  63. package/dist/lib/node/intent-resolver-J4NBDNFH.cjs +100 -0
  64. package/dist/lib/node/intent-resolver-J4NBDNFH.cjs.map +7 -0
  65. package/dist/lib/node/meta.json +1 -1
  66. package/dist/lib/node/react-surface-27KTUBIZ.cjs +129 -0
  67. package/dist/lib/node/react-surface-27KTUBIZ.cjs.map +7 -0
  68. package/dist/lib/node/{settings-ZASSNBKR.cjs → settings-EI6VPNKN.cjs} +9 -9
  69. package/dist/lib/node/{settings-ZASSNBKR.cjs.map → settings-EI6VPNKN.cjs.map} +3 -3
  70. package/dist/lib/node/types.cjs +6 -4
  71. package/dist/lib/node/types.cjs.map +2 -2
  72. package/dist/lib/node-esm/DeploymentDialog-SSQSWLHX.mjs +13 -0
  73. package/dist/lib/node-esm/DeploymentDialog-SSQSWLHX.mjs.map +7 -0
  74. package/dist/lib/node-esm/{ScriptContainer-PI7PU5T7.mjs → ScriptContainer-W2F4FGDV.mjs} +28 -40
  75. package/dist/lib/node-esm/ScriptContainer-W2F4FGDV.mjs.map +7 -0
  76. package/dist/lib/node-esm/app-graph-builder-H5XLRVX3.mjs +65 -0
  77. package/dist/lib/node-esm/app-graph-builder-H5XLRVX3.mjs.map +7 -0
  78. package/dist/lib/node-esm/{artifact-definition-SF46QOO7.mjs → artifact-definition-KQ64AYBP.mjs} +10 -9
  79. package/dist/lib/node-esm/artifact-definition-KQ64AYBP.mjs.map +7 -0
  80. package/dist/lib/node-esm/{chunk-AXFGQDAD.mjs → chunk-4MTPYMV2.mjs} +290 -277
  81. package/dist/lib/node-esm/chunk-4MTPYMV2.mjs.map +7 -0
  82. package/dist/lib/node-esm/{chunk-CP5LXTK5.mjs → chunk-EB5DSAD4.mjs} +5 -5
  83. package/dist/lib/node-esm/{chunk-CP5LXTK5.mjs.map → chunk-EB5DSAD4.mjs.map} +3 -3
  84. package/dist/lib/node-esm/chunk-F4HA5C34.mjs +234 -0
  85. package/dist/lib/node-esm/chunk-F4HA5C34.mjs.map +7 -0
  86. package/dist/lib/node-esm/{chunk-P2V2Y5LV.mjs → chunk-FDEAVT67.mjs} +9 -3
  87. package/dist/lib/node-esm/chunk-FDEAVT67.mjs.map +7 -0
  88. package/dist/lib/node-esm/chunk-MU3JKVL2.mjs +148 -0
  89. package/dist/lib/node-esm/chunk-MU3JKVL2.mjs.map +7 -0
  90. package/dist/lib/node-esm/chunk-PBGVTGL2.mjs +353 -0
  91. package/dist/lib/node-esm/chunk-PBGVTGL2.mjs.map +7 -0
  92. package/dist/lib/node-esm/chunk-QDYGTY4L.mjs +89 -0
  93. package/dist/lib/node-esm/chunk-QDYGTY4L.mjs.map +7 -0
  94. package/dist/lib/node-esm/{chunk-FHQKFLM7.mjs → chunk-RW2APVMV.mjs} +5 -4
  95. package/dist/lib/node-esm/chunk-RW2APVMV.mjs.map +7 -0
  96. package/dist/lib/node-esm/{compiler-XTXFGZJM.mjs → compiler-VT5C2Z3T.mjs} +7 -7
  97. package/dist/lib/node-esm/index.mjs +65 -61
  98. package/dist/lib/node-esm/index.mjs.map +3 -3
  99. package/dist/lib/node-esm/intent-resolver-PDZ2A26X.mjs +91 -0
  100. package/dist/lib/node-esm/intent-resolver-PDZ2A26X.mjs.map +7 -0
  101. package/dist/lib/node-esm/meta.json +1 -1
  102. package/dist/lib/node-esm/react-surface-UCUVDVSH.mjs +118 -0
  103. package/dist/lib/node-esm/react-surface-UCUVDVSH.mjs.map +7 -0
  104. package/dist/lib/node-esm/{settings-FDGLXN4I.mjs → settings-HU5UEFRF.mjs} +6 -6
  105. package/dist/lib/node-esm/{settings-FDGLXN4I.mjs.map → settings-HU5UEFRF.mjs.map} +3 -3
  106. package/dist/lib/node-esm/types.mjs +5 -2
  107. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  108. package/dist/types/src/capabilities/app-graph-builder.d.ts +181 -0
  109. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  110. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  112. package/dist/types/src/capabilities/index.d.ts +178 -1
  113. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  114. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  116. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts +11 -0
  117. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +1 -0
  118. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +18 -0
  119. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -0
  120. package/dist/types/src/components/DeploymentDialog/index.d.ts +4 -0
  121. package/dist/types/src/components/DeploymentDialog/index.d.ts.map +1 -0
  122. package/dist/types/src/components/ScriptContainer.d.ts +3 -3
  123. package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
  124. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  125. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +8 -0
  126. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +1 -0
  127. package/dist/types/src/components/{ScriptSettings/ScriptSettings.d.ts → Settings/ScriptPluginSettings.d.ts} +2 -2
  128. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +1 -0
  129. package/dist/types/src/components/Settings/index.d.ts +3 -0
  130. package/dist/types/src/components/Settings/index.d.ts.map +1 -0
  131. package/dist/types/src/components/TestPanel/TestPanel.d.ts +7 -0
  132. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -0
  133. package/dist/types/src/components/TestPanel/index.d.ts +2 -0
  134. package/dist/types/src/components/TestPanel/index.d.ts.map +1 -0
  135. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  136. package/dist/types/src/components/index.d.ts +8 -5
  137. package/dist/types/src/components/index.d.ts.map +1 -1
  138. package/dist/types/src/hooks/deploy.d.ts +16 -12
  139. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  140. package/dist/types/src/hooks/index.d.ts +1 -1
  141. package/dist/types/src/hooks/index.d.ts.map +1 -1
  142. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts +17 -0
  143. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -0
  144. package/dist/types/src/hooks/useToolbarAction.d.ts +2 -3
  145. package/dist/types/src/hooks/useToolbarAction.d.ts.map +1 -1
  146. package/dist/types/src/hooks/useToolbarState.d.ts +2 -8
  147. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  148. package/dist/types/src/meta.d.ts +3 -9
  149. package/dist/types/src/meta.d.ts.map +1 -1
  150. package/dist/types/src/templates/chess.d.ts.map +1 -1
  151. package/dist/types/src/templates/data-generator.d.ts +10 -0
  152. package/dist/types/src/templates/data-generator.d.ts.map +1 -0
  153. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  154. package/dist/types/src/templates/gmail.d.ts +3 -0
  155. package/dist/types/src/templates/gmail.d.ts.map +1 -0
  156. package/dist/types/src/templates/index.d.ts.map +1 -1
  157. package/dist/types/src/translations.d.ts +68 -21
  158. package/dist/types/src/translations.d.ts.map +1 -1
  159. package/dist/types/src/types.d.ts +12 -2
  160. package/dist/types/src/types.d.ts.map +1 -1
  161. package/dist/types/src/util/deploy.d.ts +25 -0
  162. package/dist/types/src/util/deploy.d.ts.map +1 -0
  163. package/dist/types/src/util/functions.d.ts +11 -0
  164. package/dist/types/src/util/functions.d.ts.map +1 -0
  165. package/dist/types/src/util/index.d.ts +3 -0
  166. package/dist/types/src/util/index.d.ts.map +1 -0
  167. package/package.json +51 -49
  168. package/src/ScriptPlugin.tsx +12 -17
  169. package/src/capabilities/app-graph-builder.ts +47 -0
  170. package/src/capabilities/artifact-definition.ts +2 -1
  171. package/src/capabilities/capabilities.ts +2 -2
  172. package/src/capabilities/index.ts +2 -1
  173. package/src/capabilities/intent-resolver.ts +39 -5
  174. package/src/capabilities/react-surface.tsx +64 -25
  175. package/src/capabilities/settings.ts +2 -2
  176. package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +39 -0
  177. package/src/components/DeploymentDialog/DeploymentDialog.tsx +112 -0
  178. package/src/components/DeploymentDialog/index.ts +9 -0
  179. package/src/components/ScriptContainer.tsx +21 -32
  180. package/src/components/ScriptToolbar/ScriptToolbar.tsx +3 -4
  181. package/src/components/{ScriptSettingsPanel.tsx → Settings/ScriptObjectSettings.tsx} +120 -102
  182. package/src/components/{ScriptSettings/ScriptSettings.tsx → Settings/ScriptPluginSettings.tsx} +3 -3
  183. package/src/components/Settings/index.ts +6 -0
  184. package/src/components/{DebugPanel/DebugPanel.tsx → TestPanel/TestPanel.tsx} +8 -14
  185. package/src/components/{LogsPanel → TestPanel}/index.ts +1 -1
  186. package/src/components/TypescriptEditor/TypescriptEditor.tsx +1 -0
  187. package/src/components/index.ts +4 -4
  188. package/src/hooks/deploy.ts +31 -81
  189. package/src/hooks/index.ts +1 -1
  190. package/src/hooks/useCreateAndDeployScriptTemplates.ts +59 -0
  191. package/src/hooks/useToolbarAction.ts +9 -13
  192. package/src/hooks/useToolbarState.ts +2 -2
  193. package/src/meta.ts +7 -2
  194. package/src/templates/chess.ts +4 -0
  195. package/src/templates/data-generator.ts +73 -0
  196. package/src/templates/discord.ts +1 -1
  197. package/src/templates/forex-effect.ts +2 -1
  198. package/src/templates/gmail.ts +244 -0
  199. package/src/templates/index.ts +14 -0
  200. package/src/translations.ts +28 -10
  201. package/src/types.ts +4 -0
  202. package/src/util/deploy.ts +126 -0
  203. package/src/util/functions.ts +53 -0
  204. package/src/util/index.ts +6 -0
  205. package/dist/lib/browser/ScriptContainer-AIBCQZ7S.mjs.map +0 -7
  206. package/dist/lib/browser/artifact-definition-GTL3ZSF2.mjs.map +0 -7
  207. package/dist/lib/browser/chunk-4SSKJNMZ.mjs +0 -69
  208. package/dist/lib/browser/chunk-4SSKJNMZ.mjs.map +0 -7
  209. package/dist/lib/browser/chunk-5RZVHFGR.mjs.map +0 -7
  210. package/dist/lib/browser/chunk-5WPOWUPI.mjs +0 -542
  211. package/dist/lib/browser/chunk-5WPOWUPI.mjs.map +0 -7
  212. package/dist/lib/browser/chunk-6MOQ4BP3.mjs +0 -15
  213. package/dist/lib/browser/chunk-FVVCAWNP.mjs.map +0 -7
  214. package/dist/lib/browser/chunk-JL34HAEL.mjs.map +0 -7
  215. package/dist/lib/browser/intent-resolver-BJ76DBGE.mjs +0 -45
  216. package/dist/lib/browser/intent-resolver-BJ76DBGE.mjs.map +0 -7
  217. package/dist/lib/browser/react-surface-M4RD24IN.mjs +0 -79
  218. package/dist/lib/browser/react-surface-M4RD24IN.mjs.map +0 -7
  219. package/dist/lib/node/ScriptContainer-ZYVN7ZW6.cjs.map +0 -7
  220. package/dist/lib/node/artifact-definition-64KZC4UT.cjs.map +0 -7
  221. package/dist/lib/node/chunk-5UH3F7TA.cjs.map +0 -7
  222. package/dist/lib/node/chunk-B2O7H2AU.cjs +0 -564
  223. package/dist/lib/node/chunk-B2O7H2AU.cjs.map +0 -7
  224. package/dist/lib/node/chunk-PTXU7QFZ.cjs.map +0 -7
  225. package/dist/lib/node/chunk-VJ73IG7P.cjs.map +0 -7
  226. package/dist/lib/node/chunk-XCQNFRZ6.cjs +0 -77
  227. package/dist/lib/node/chunk-XCQNFRZ6.cjs.map +0 -7
  228. package/dist/lib/node/intent-resolver-HQ3FGK2K.cjs +0 -59
  229. package/dist/lib/node/intent-resolver-HQ3FGK2K.cjs.map +0 -7
  230. package/dist/lib/node/react-surface-JDA5UZCC.cjs +0 -95
  231. package/dist/lib/node/react-surface-JDA5UZCC.cjs.map +0 -7
  232. package/dist/lib/node-esm/ScriptContainer-PI7PU5T7.mjs.map +0 -7
  233. package/dist/lib/node-esm/artifact-definition-SF46QOO7.mjs.map +0 -7
  234. package/dist/lib/node-esm/chunk-4YUSGXJ2.mjs +0 -71
  235. package/dist/lib/node-esm/chunk-4YUSGXJ2.mjs.map +0 -7
  236. package/dist/lib/node-esm/chunk-AXFGQDAD.mjs.map +0 -7
  237. package/dist/lib/node-esm/chunk-FHQKFLM7.mjs.map +0 -7
  238. package/dist/lib/node-esm/chunk-GLW67SM7.mjs +0 -543
  239. package/dist/lib/node-esm/chunk-GLW67SM7.mjs.map +0 -7
  240. package/dist/lib/node-esm/chunk-P2V2Y5LV.mjs.map +0 -7
  241. package/dist/lib/node-esm/intent-resolver-CDTQKQD4.mjs +0 -46
  242. package/dist/lib/node-esm/intent-resolver-CDTQKQD4.mjs.map +0 -7
  243. package/dist/lib/node-esm/react-surface-ODWVGWV4.mjs +0 -80
  244. package/dist/lib/node-esm/react-surface-ODWVGWV4.mjs.map +0 -7
  245. package/dist/types/src/components/DebugPanel/DebugPanel.d.ts +0 -7
  246. package/dist/types/src/components/DebugPanel/DebugPanel.d.ts.map +0 -1
  247. package/dist/types/src/components/DebugPanel/index.d.ts +0 -2
  248. package/dist/types/src/components/DebugPanel/index.d.ts.map +0 -1
  249. package/dist/types/src/components/LogsPanel/LogsPanel.d.ts +0 -8
  250. package/dist/types/src/components/LogsPanel/LogsPanel.d.ts.map +0 -1
  251. package/dist/types/src/components/LogsPanel/index.d.ts +0 -2
  252. package/dist/types/src/components/LogsPanel/index.d.ts.map +0 -1
  253. package/dist/types/src/components/ScriptSettings/ScriptSettings.d.ts.map +0 -1
  254. package/dist/types/src/components/ScriptSettings/index.d.ts +0 -2
  255. package/dist/types/src/components/ScriptSettings/index.d.ts.map +0 -1
  256. package/dist/types/src/components/ScriptSettingsPanel.d.ts +0 -7
  257. package/dist/types/src/components/ScriptSettingsPanel.d.ts.map +0 -1
  258. package/dist/types/src/hooks/view.d.ts +0 -33
  259. package/dist/types/src/hooks/view.d.ts.map +0 -1
  260. package/src/components/DebugPanel/index.ts +0 -5
  261. package/src/components/LogsPanel/LogsPanel.tsx +0 -111
  262. package/src/components/ScriptSettings/index.ts +0 -5
  263. package/src/hooks/view.ts +0 -52
  264. /package/dist/lib/browser/{compiler-YY2XSKHQ.mjs.map → compiler-56LTBEQB.mjs.map} +0 -0
  265. /package/dist/lib/node/{compiler-UIBLKJKG.cjs.map → compiler-W2RU3M7U.cjs.map} +0 -0
  266. /package/dist/lib/node-esm/{compiler-XTXFGZJM.mjs.map → compiler-VT5C2Z3T.mjs.map} +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Octokit } from '@octokit/core';\n\nimport { contributes, Capabilities, createResolver } from '@dxos/app-framework';\nimport { ScriptType } from '@dxos/functions/types';\nimport { create, makeRef } from '@dxos/live-object';\nimport { TextType } from '@dxos/schema';\n\nimport { templates } from '../templates';\nimport { ScriptAction } from '../types';\n\nexport default () =>\n contributes(\n Capabilities.IntentResolver,\n createResolver({\n intent: ScriptAction.Create,\n resolve: async ({ name, gistUrl }) => {\n let content = templates[0].source;\n const gistId = gistUrl?.split('/').at(-1);\n if (gistId) {\n // TODO(wittjosiah): Capability which contributes Octokit?\n // NOTE: AccessToken not needed to read public gists.\n const octokit = new Octokit();\n const response = await octokit.request('GET /gists/{gist_id}', {\n gist_id: gistId,\n });\n const gistContent = Object.values(response.data.files ?? {})[0]?.content;\n if (gistContent) {\n content = gistContent;\n }\n }\n\n return {\n data: {\n object: create(ScriptType, {\n name,\n source: makeRef(create(TextType, { content })),\n }),\n },\n };\n },\n }),\n );\n"],
5
- "mappings": ";;;;;;;;;;AAIA,SAASA,eAAe;AAExB,SAASC,aAAaC,cAAcC,sBAAsB;AAC1D,SAASC,kBAAkB;AAC3B,SAASC,QAAQC,eAAe;AAChC,SAASC,gBAAgB;AAKzB,IAAA,0BAAe,MACbC,YACEC,aAAaC,gBACbC,eAAe;EACbC,QAAQC,aAAaC;EACrBC,SAAS,OAAO,EAAEC,MAAMC,QAAO,MAAE;AAC/B,QAAIC,UAAUC,UAAU,CAAA,EAAGC;AAC3B,UAAMC,SAASJ,SAASK,MAAM,GAAA,EAAKC,GAAG,EAAC;AACvC,QAAIF,QAAQ;AAGV,YAAMG,UAAU,IAAIC,QAAAA;AACpB,YAAMC,WAAW,MAAMF,QAAQG,QAAQ,wBAAwB;QAC7DC,SAASP;MACX,CAAA;AACA,YAAMQ,cAAcC,OAAOC,OAAOL,SAASM,KAAKC,SAAS,CAAC,CAAA,EAAG,CAAA,GAAIf;AACjE,UAAIW,aAAa;AACfX,kBAAUW;MACZ;IACF;AAEA,WAAO;MACLG,MAAM;QACJE,QAAQC,OAAOC,YAAY;UACzBpB;UACAI,QAAQiB,QAAQF,OAAOG,UAAU;YAAEpB;UAAQ,CAAA,CAAA;QAC7C,CAAA;MACF;IACF;EACF;AACF,CAAA,CAAA;",
6
- "names": ["Octokit", "contributes", "Capabilities", "createResolver", "ScriptType", "create", "makeRef", "TextType", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "ScriptAction", "Create", "resolve", "name", "gistUrl", "content", "templates", "source", "gistId", "split", "at", "octokit", "Octokit", "response", "request", "gist_id", "gistContent", "Object", "values", "data", "files", "object", "create", "ScriptType", "makeRef", "TextType"]
7
- }
@@ -1,80 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- DebugPanel,
4
- ScriptContainer,
5
- ScriptSettings,
6
- ScriptSettingsPanel
7
- } from "./chunk-AXFGQDAD.mjs";
8
- import {
9
- ScriptCapabilities
10
- } from "./chunk-CP5LXTK5.mjs";
11
- import {
12
- useDeployState,
13
- useToolbarState
14
- } from "./chunk-GLW67SM7.mjs";
15
- import "./chunk-4YUSGXJ2.mjs";
16
- import {
17
- SCRIPT_PLUGIN
18
- } from "./chunk-P2V2Y5LV.mjs";
19
-
20
- // packages/plugins/experimental/plugin-script/src/capabilities/react-surface.tsx
21
- import React from "react";
22
- import { Capabilities, contributes, createSurface, useCapability } from "@dxos/app-framework";
23
- import { ScriptType } from "@dxos/functions/types";
24
- import { SettingsStore } from "@dxos/local-storage";
25
- import { Clipboard } from "@dxos/react-ui";
26
- var react_surface_default = () => contributes(Capabilities.ReactSurface, [
27
- createSurface({
28
- id: `${SCRIPT_PLUGIN}/settings`,
29
- role: "article",
30
- filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === SCRIPT_PLUGIN,
31
- component: ({ data: { subject } }) => /* @__PURE__ */ React.createElement(ScriptSettings, {
32
- settings: subject.value
33
- })
34
- }),
35
- createSurface({
36
- id: `${SCRIPT_PLUGIN}/article`,
37
- role: "article",
38
- filter: (data) => data.subject instanceof ScriptType,
39
- component: ({ data, role }) => {
40
- const compiler = useCapability(ScriptCapabilities.Compiler);
41
- const settings = useCapability(Capabilities.SettingsStore).getStore(SCRIPT_PLUGIN)?.value;
42
- return /* @__PURE__ */ React.createElement(ScriptContainer, {
43
- role,
44
- script: data.subject,
45
- settings,
46
- env: compiler.environment
47
- });
48
- }
49
- }),
50
- createSurface({
51
- id: `${SCRIPT_PLUGIN}/automation`,
52
- role: "complementary--function",
53
- position: "hoist",
54
- filter: (data) => data.subject instanceof ScriptType,
55
- component: ({ data }) => {
56
- const state = useToolbarState({
57
- view: "editor"
58
- });
59
- useDeployState({
60
- state,
61
- script: data.subject
62
- });
63
- return /* @__PURE__ */ React.createElement(DebugPanel, {
64
- functionUrl: state.functionUrl
65
- });
66
- }
67
- }),
68
- createSurface({
69
- id: `${SCRIPT_PLUGIN}/settings-panel`,
70
- role: "complementary--settings",
71
- filter: (data) => data.subject instanceof ScriptType,
72
- component: ({ data }) => /* @__PURE__ */ React.createElement(Clipboard.Provider, null, /* @__PURE__ */ React.createElement(ScriptSettingsPanel, {
73
- script: data.subject
74
- }))
75
- })
76
- ]);
77
- export {
78
- react_surface_default as default
79
- };
80
- //# sourceMappingURL=react-surface-ODWVGWV4.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface, useCapability } from '@dxos/app-framework';\nimport { ScriptType } from '@dxos/functions/types';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { Clipboard } from '@dxos/react-ui';\n\nimport { ScriptCapabilities } from './capabilities';\nimport { DebugPanel, ScriptSettings, ScriptContainer, ScriptSettingsPanel } from '../components';\nimport { useDeployState, useToolbarState } from '../hooks';\nimport { SCRIPT_PLUGIN } from '../meta';\nimport { type ScriptSettingsProps } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${SCRIPT_PLUGIN}/settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<ScriptSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === SCRIPT_PLUGIN,\n component: ({ data: { subject } }) => <ScriptSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${SCRIPT_PLUGIN}/article`,\n role: 'article',\n filter: (data): data is { subject: ScriptType } => data.subject instanceof ScriptType,\n component: ({ data, role }) => {\n const compiler = useCapability(ScriptCapabilities.Compiler);\n // TODO(dmaretskyi): Since settings store is not reactive, this would break on the script plugin being enabled without a page reload.\n const settings = useCapability(Capabilities.SettingsStore).getStore<ScriptSettingsProps>(SCRIPT_PLUGIN)?.value;\n return <ScriptContainer role={role} script={data.subject} settings={settings} env={compiler.environment} />;\n },\n }),\n createSurface({\n id: `${SCRIPT_PLUGIN}/automation`,\n role: 'complementary--function',\n position: 'hoist',\n filter: (data): data is { subject: ScriptType } => data.subject instanceof ScriptType,\n component: ({ data }) => {\n // TODO(wittjosiah): Decouple hooks from toolbar state.\n const state = useToolbarState({ view: 'editor' });\n useDeployState({ state, script: data.subject });\n return <DebugPanel functionUrl={state.functionUrl} />;\n },\n }),\n createSurface({\n id: `${SCRIPT_PLUGIN}/settings-panel`,\n role: 'complementary--settings',\n filter: (data): data is { subject: ScriptType } => data.subject instanceof ScriptType,\n component: ({ data }) => (\n <Clipboard.Provider>\n <ScriptSettingsPanel script={data.subject} />\n </Clipboard.Provider>\n ),\n }),\n ]);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,aAAaC,eAAeC,qBAAqB;AACxE,SAASC,kBAAkB;AAC3B,SAASC,qBAAqB;AAC9B,SAASC,iBAAiB;AAQ1B,IAAA,wBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAI,GAAGC,aAAAA;IACPC,MAAM;IACNC,QAAQ,CAACC,SACPA,KAAKC,mBAAmBC,iBAAiBF,KAAKC,QAAQE,WAAWN;IACnEO,WAAW,CAAC,EAAEJ,MAAM,EAAEC,QAAO,EAAE,MAAO,sBAAA,cAACI,gBAAAA;MAAeC,UAAUL,QAAQM;;EAC1E,CAAA;EACAZ,cAAc;IACZC,IAAI,GAAGC,aAAAA;IACPC,MAAM;IACNC,QAAQ,CAACC,SAA0CA,KAAKC,mBAAmBO;IAC3EJ,WAAW,CAAC,EAAEJ,MAAMF,KAAI,MAAE;AACxB,YAAMW,WAAWC,cAAcC,mBAAmBC,QAAQ;AAE1D,YAAMN,WAAWI,cAAcjB,aAAaS,aAAa,EAAEW,SAA8BhB,aAAAA,GAAgBU;AACzG,aAAO,sBAAA,cAACO,iBAAAA;QAAgBhB;QAAYiB,QAAQf,KAAKC;QAASK;QAAoBU,KAAKP,SAASQ;;IAC9F;EACF,CAAA;EACAtB,cAAc;IACZC,IAAI,GAAGC,aAAAA;IACPC,MAAM;IACNoB,UAAU;IACVnB,QAAQ,CAACC,SAA0CA,KAAKC,mBAAmBO;IAC3EJ,WAAW,CAAC,EAAEJ,KAAI,MAAE;AAElB,YAAMmB,QAAQC,gBAAgB;QAAEC,MAAM;MAAS,CAAA;AAC/CC,qBAAe;QAAEH;QAAOJ,QAAQf,KAAKC;MAAQ,CAAA;AAC7C,aAAO,sBAAA,cAACsB,YAAAA;QAAWC,aAAaL,MAAMK;;IACxC;EACF,CAAA;EACA7B,cAAc;IACZC,IAAI,GAAGC,aAAAA;IACPC,MAAM;IACNC,QAAQ,CAACC,SAA0CA,KAAKC,mBAAmBO;IAC3EJ,WAAW,CAAC,EAAEJ,KAAI,MAChB,sBAAA,cAACyB,UAAUC,UAAQ,MACjB,sBAAA,cAACC,qBAAAA;MAAoBZ,QAAQf,KAAKC;;EAGxC,CAAA;CACD;",
6
- "names": ["React", "Capabilities", "contributes", "createSurface", "useCapability", "ScriptType", "SettingsStore", "Clipboard", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "SCRIPT_PLUGIN", "role", "filter", "data", "subject", "SettingsStore", "prefix", "component", "ScriptSettings", "settings", "value", "ScriptType", "compiler", "useCapability", "ScriptCapabilities", "Compiler", "getStore", "ScriptContainer", "script", "env", "environment", "position", "state", "useToolbarState", "view", "useDeployState", "DebugPanel", "functionUrl", "Clipboard", "Provider", "ScriptSettingsPanel"]
7
- }
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- import { type ThemedClassName } from '@dxos/react-ui';
3
- export type DebugPanelProps = ThemedClassName<{
4
- functionUrl?: string;
5
- }>;
6
- export declare const DebugPanel: ({ classNames, functionUrl }: DebugPanelProps) => React.JSX.Element;
7
- //# sourceMappingURL=DebugPanel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DebugPanel.d.ts","sourceRoot":"","sources":["../../../../../src/components/DebugPanel/DebugPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAGvE,OAAO,EAAuB,KAAK,eAAe,EAA2B,MAAM,gBAAgB,CAAC;AAapG,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC,CAAC;AAEH,eAAO,MAAM,UAAU,gCAAiC,eAAe,sBAgKtE,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './DebugPanel';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/DebugPanel/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC"}
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- import { type ScriptType } from '@dxos/functions/types';
3
- import { type ThemedClassName } from '@dxos/react-ui';
4
- export type LogsPanelProps = ThemedClassName<{
5
- script: ScriptType;
6
- }>;
7
- export declare const LogsPanel: ({ script, classNames }: LogsPanelProps) => React.JSX.Element;
8
- //# sourceMappingURL=LogsPanel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LogsPanel.d.ts","sourceRoot":"","sources":["../../../../../src/components/LogsPanel/LogsPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAG9D,OAAO,EAA8C,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEpG,OAAO,EAAwC,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAM5F,MAAM,MAAM,cAAc,GAAG,eAAe,CAAC;IAC3C,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC,CAAC;AAEH,eAAO,MAAM,SAAS,2BAA4B,cAAc,sBAiC/D,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './LogsPanel';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/LogsPanel/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScriptSettings.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScriptSettings/ScriptSettings.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,cAAc,iBAAkB;IAAE,QAAQ,EAAE,mBAAmB,CAAA;CAAE,sBAuD7E,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './ScriptSettings';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScriptSettings/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC"}
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- import { type ScriptType } from '@dxos/functions/types';
3
- export type ScriptSettingsPanelProps = {
4
- script: ScriptType;
5
- };
6
- export declare const ScriptSettingsPanel: ({ script }: ScriptSettingsPanelProps) => React.JSX.Element;
7
- //# sourceMappingURL=ScriptSettingsPanel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScriptSettingsPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/ScriptSettingsPanel.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA6D,MAAM,OAAO,CAAC;AAGlF,OAAO,EAAgB,KAAK,UAAU,EAAkD,MAAM,uBAAuB,CAAC;AAatH,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,mBAAmB,eAAgB,wBAAwB,sBAkKvE,CAAC"}
@@ -1,33 +0,0 @@
1
- export type ViewType = 'editor' | 'split' | 'logs';
2
- export type ViewState = {
3
- view: ViewType;
4
- };
5
- export type ViewActionProperties = {
6
- type: 'view';
7
- value: ViewType;
8
- };
9
- export declare const createView: (state: Partial<ViewState>) => {
10
- nodes: ({
11
- id: string;
12
- type: string;
13
- properties: {
14
- label: [string, {
15
- ns: string;
16
- }];
17
- variant: string;
18
- applyActive: boolean;
19
- value: ViewType | undefined;
20
- };
21
- data: typeof import("@dxos/app-graph").actionGroupSymbol;
22
- } | {
23
- id: string;
24
- type: string;
25
- properties: ViewActionProperties & import("@dxos/react-ui-menu").MenuActionProperties;
26
- data: () => void;
27
- })[];
28
- edges: {
29
- source: string;
30
- target: string;
31
- }[];
32
- };
33
- //# sourceMappingURL=view.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../src/hooks/view.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnD,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAE3C,MAAM,MAAM,oBAAoB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC;AA6BrE,eAAO,MAAM,UAAU,UAAW,OAAO,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;CAUnD,CAAC"}
@@ -1,5 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- export * from './DebugPanel';
@@ -1,111 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- import React, { useCallback, useMemo, useState } from 'react';
6
-
7
- import { decodeReference } from '@dxos/echo-protocol';
8
- import { type TraceEvent, type InvocationTraceEvent, type ScriptType } from '@dxos/functions/types';
9
- import { useEdgeClient, useQueue } from '@dxos/react-edge-client';
10
- import { Icon, List, ListItem, useTranslation, type ThemedClassName } from '@dxos/react-ui';
11
- import { mx } from '@dxos/react-ui-theme';
12
-
13
- import { useDeployDeps } from '../../hooks';
14
- import { SCRIPT_PLUGIN } from '../../meta';
15
-
16
- export type LogsPanelProps = ThemedClassName<{
17
- script: ScriptType;
18
- }>;
19
-
20
- export const LogsPanel = ({ script, classNames }: LogsPanelProps) => {
21
- const { t } = useTranslation(SCRIPT_PLUGIN);
22
- // TODO(wittjosiah): Refactor these hooks.
23
- const { space, existingFunctionUrl } = useDeployDeps({ script });
24
- const edgeClient = useEdgeClient();
25
- const invocationTraceQueue = useQueue<InvocationTraceEvent>(edgeClient, space?.properties.invocationTraceQueue?.dxn, {
26
- pollInterval: 500,
27
- });
28
- const [selected, setSelected] = useState<InvocationTraceEvent>();
29
- const workerDxn = `dxn:worker:${existingFunctionUrl?.split('/').at(-1)}`;
30
-
31
- if (!invocationTraceQueue) {
32
- return <div>{t('no invocations message')}</div>;
33
- }
34
-
35
- const handleOpenChange = useCallback((trace: InvocationTraceEvent, open: boolean) => {
36
- setSelected(open ? trace : undefined);
37
- }, []);
38
-
39
- return (
40
- <List classNames={mx('overflow-y-auto', classNames)}>
41
- {invocationTraceQueue.items
42
- .filter((trace) => decodeReference(trace.invocationTarget).dxn?.toString() === workerDxn)
43
- .map((trace) => (
44
- <InvocationTraceItem
45
- key={trace.id}
46
- trace={trace}
47
- open={selected?.id === trace.id}
48
- setOpen={handleOpenChange}
49
- />
50
- ))}
51
- </List>
52
- );
53
- };
54
-
55
- const InvocationTraceItem = ({
56
- trace,
57
- open,
58
- setOpen,
59
- }: {
60
- trace: InvocationTraceEvent;
61
- open?: boolean;
62
- setOpen?: (trace: InvocationTraceEvent, open: boolean) => void;
63
- }) => {
64
- const edgeClient = useEdgeClient();
65
- const eventQueue = useQueue<TraceEvent>(
66
- edgeClient,
67
- open ? decodeReference(trace.invocationTraceQueue).dxn : undefined,
68
- );
69
-
70
- const handleOpenChange = useCallback(
71
- (open: boolean) => {
72
- setOpen?.(trace, open);
73
- },
74
- [trace, setOpen],
75
- );
76
-
77
- const logs = useMemo(() => eventQueue?.items.flatMap((event) => event.logs), [eventQueue?.items]);
78
- const heading =
79
- 'bodyText' in trace.input && typeof trace.input.bodyText === 'string'
80
- ? trace.input.bodyText
81
- : JSON.stringify(trace.input);
82
-
83
- return (
84
- <ListItem.Root key={trace.id} collapsible open={open} onOpenChange={handleOpenChange}>
85
- <div className='flex items-center gap-2'>
86
- <ListItem.OpenTrigger />
87
- <ListItem.Endcap classNames='flex items-center justify-center'>
88
- <Icon icon={trace.outcome === 'success' ? 'ph--check--regular' : 'ph--x--regular'} size={5} />
89
- </ListItem.Endcap>
90
- <ListItem.Heading classNames='flex-1 flex items-center gap-2 truncate'>
91
- <span>{new Date(trace.timestampMs).toLocaleString()}</span>
92
- <span>{heading}</span>
93
- </ListItem.Heading>
94
- </div>
95
- {logs && (
96
- <ListItem.CollapsibleContent>
97
- <div className='flex items-center gap-2'>
98
- <span>Duration:</span>
99
- <span>{trace.durationMs}ms</span>
100
- </div>
101
- <pre>
102
- <div>{JSON.stringify(trace.input, null, 2)}</div>
103
- {logs.map((log, index) => {
104
- return <div key={index}>{JSON.stringify(log, null, 2)}</div>;
105
- })}
106
- </pre>
107
- </ListItem.CollapsibleContent>
108
- )}
109
- </ListItem.Root>
110
- );
111
- };
@@ -1,5 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- export * from './ScriptSettings';
package/src/hooks/view.ts DELETED
@@ -1,52 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { createMenuAction, createMenuItemGroup } from '@dxos/react-ui-menu';
6
-
7
- import { SCRIPT_PLUGIN } from '../meta';
8
-
9
- export type ViewType = 'editor' | 'split' | 'logs';
10
-
11
- export type ViewState = { view: ViewType };
12
-
13
- export type ViewActionProperties = { type: 'view'; value: ViewType };
14
-
15
- const views: Record<ViewType, string> = {
16
- editor: 'ph--code--regular',
17
- split: 'ph--square-split-vertical--regular',
18
- logs: 'ph--clock-counter-clockwise--regular',
19
- };
20
-
21
- const createViewGroupItem = (state: Partial<ViewState>) => {
22
- return createMenuItemGroup('view', {
23
- label: ['view group label', { ns: SCRIPT_PLUGIN }],
24
- variant: 'dropdownMenu',
25
- applyActive: true,
26
- value: state.view,
27
- });
28
- };
29
-
30
- const createViewActions = (state: Partial<ViewState>) => {
31
- return Object.entries(views).map(([viewType, icon]) => {
32
- return createMenuAction<ViewActionProperties>(`view--${viewType}`, {
33
- type: 'view',
34
- value: viewType as ViewType,
35
- label: [`view ${viewType} label`, { ns: SCRIPT_PLUGIN }],
36
- icon,
37
- checked: state.view === viewType,
38
- });
39
- });
40
- };
41
-
42
- export const createView = (state: Partial<ViewState>) => {
43
- const viewGroupItem = createViewGroupItem(state);
44
- const viewActions = createViewActions(state);
45
- return {
46
- nodes: [viewGroupItem, ...viewActions],
47
- edges: [
48
- { source: 'root', target: 'view' },
49
- ...viewActions.map((action) => ({ source: 'view', target: action.id })),
50
- ],
51
- };
52
- };