@dxos/plugin-debug 0.8.4-main.fd6878d → 0.9.0

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/LICENSE +102 -5
  2. package/PLUGIN.mdl +373 -0
  3. package/README.md +1 -1
  4. package/dist/lib/neutral/DebugGraph-G4FWS57E.mjs +15 -0
  5. package/dist/lib/neutral/DebugGraph-G4FWS57E.mjs.map +7 -0
  6. package/dist/lib/neutral/DebugObjectPanel-OS65NC4M.mjs +59 -0
  7. package/dist/lib/neutral/DebugObjectPanel-OS65NC4M.mjs.map +7 -0
  8. package/dist/lib/neutral/DebugPlugin.mjs +59 -0
  9. package/dist/lib/neutral/DebugPlugin.mjs.map +7 -0
  10. package/dist/lib/neutral/DebugPlugin.node.mjs +18 -0
  11. package/dist/lib/neutral/DebugPlugin.node.mjs.map +7 -0
  12. package/dist/lib/neutral/DebugPlugin.workerd.mjs +12 -0
  13. package/dist/lib/neutral/DebugPlugin.workerd.mjs.map +7 -0
  14. package/dist/lib/neutral/DebugSettings-RKYNQIKH.mjs +223 -0
  15. package/dist/lib/neutral/DebugSettings-RKYNQIKH.mjs.map +7 -0
  16. package/dist/lib/neutral/DebugSpaceObjectsPanel-BHOCFWDJ.mjs +34 -0
  17. package/dist/lib/neutral/DebugSpaceObjectsPanel-BHOCFWDJ.mjs.map +7 -0
  18. package/dist/lib/neutral/DebugStatus-H2BAHN26.mjs +122 -0
  19. package/dist/lib/neutral/DebugStatus-H2BAHN26.mjs.map +7 -0
  20. package/dist/lib/neutral/DevtoolsOverviewContainer-YX7Z3D2H.mjs +23 -0
  21. package/dist/lib/neutral/DevtoolsOverviewContainer-YX7Z3D2H.mjs.map +7 -0
  22. package/dist/lib/neutral/GithubPanel-QJKDJRVQ.mjs +177 -0
  23. package/dist/lib/neutral/GithubPanel-QJKDJRVQ.mjs.map +7 -0
  24. package/dist/lib/neutral/RegistryPanel-64GIYJHN.mjs +161 -0
  25. package/dist/lib/neutral/RegistryPanel-64GIYJHN.mjs.map +7 -0
  26. package/dist/lib/neutral/SpaceGenerator-Y35G6DRV.mjs +146 -0
  27. package/dist/lib/neutral/SpaceGenerator-Y35G6DRV.mjs.map +7 -0
  28. package/dist/lib/neutral/Wireframe-WD7S2AUU.mjs +52 -0
  29. package/dist/lib/neutral/Wireframe-WD7S2AUU.mjs.map +7 -0
  30. package/dist/lib/neutral/app-graph-builder-4OJQQLSH.mjs +626 -0
  31. package/dist/lib/neutral/app-graph-builder-4OJQQLSH.mjs.map +7 -0
  32. package/dist/lib/neutral/capabilities/index.mjs +15 -0
  33. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  34. package/dist/lib/neutral/chunk-HOV6MV5B.mjs +43 -0
  35. package/dist/lib/neutral/chunk-HOV6MV5B.mjs.map +7 -0
  36. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  37. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  38. package/dist/lib/{browser/chunk-AJA6RYN3.mjs → neutral/chunk-TAST3Y2C.mjs} +32 -9
  39. package/dist/lib/neutral/chunk-TAST3Y2C.mjs.map +7 -0
  40. package/dist/lib/{browser/SpaceGenerator-XJJAOTIT.mjs → neutral/components/index.mjs} +415 -423
  41. package/dist/lib/neutral/components/index.mjs.map +7 -0
  42. package/dist/lib/neutral/containers/index.mjs +25 -0
  43. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  44. package/dist/lib/neutral/index.mjs +18 -0
  45. package/dist/lib/neutral/index.mjs.map +7 -0
  46. package/dist/lib/neutral/meta.json +1 -0
  47. package/dist/lib/neutral/meta.mjs +8 -0
  48. package/dist/lib/neutral/meta.mjs.map +7 -0
  49. package/dist/lib/neutral/plugin.mjs +12 -0
  50. package/dist/lib/neutral/plugin.mjs.map +7 -0
  51. package/dist/lib/neutral/react-context-MUZ3KVLU.mjs +17 -0
  52. package/dist/lib/neutral/react-context-MUZ3KVLU.mjs.map +7 -0
  53. package/dist/lib/neutral/react-surface-YBC4HK7I.mjs +430 -0
  54. package/dist/lib/neutral/react-surface-YBC4HK7I.mjs.map +7 -0
  55. package/dist/lib/neutral/settings-MPM6YUP4.mjs +28 -0
  56. package/dist/lib/neutral/settings-MPM6YUP4.mjs.map +7 -0
  57. package/dist/lib/neutral/translations.mjs +92 -0
  58. package/dist/lib/neutral/translations.mjs.map +7 -0
  59. package/dist/lib/neutral/types/index.mjs +14 -0
  60. package/dist/lib/neutral/types/index.mjs.map +7 -0
  61. package/dist/types/src/DebugPlugin.d.ts +4 -1
  62. package/dist/types/src/DebugPlugin.d.ts.map +1 -1
  63. package/dist/types/src/DebugPlugin.node.d.ts +5 -0
  64. package/dist/types/src/DebugPlugin.node.d.ts.map +1 -0
  65. package/dist/types/src/DebugPlugin.test.d.ts +2 -0
  66. package/dist/types/src/DebugPlugin.test.d.ts.map +1 -0
  67. package/dist/types/src/DebugPlugin.workerd.d.ts +5 -0
  68. package/dist/types/src/DebugPlugin.workerd.d.ts.map +1 -0
  69. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  70. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  71. package/dist/types/src/capabilities/index.d.ts +8 -5
  72. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  73. package/dist/types/src/capabilities/react-context.d.ts +4 -2
  74. package/dist/types/src/capabilities/react-context.d.ts.map +1 -1
  75. package/dist/types/src/capabilities/react-surface.d.ts +7 -2
  76. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  77. package/dist/types/src/capabilities/settings.d.ts +5 -2
  78. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  79. package/dist/types/src/components/DebugSettings/DebugSettings.d.ts +11 -0
  80. package/dist/types/src/components/DebugSettings/DebugSettings.d.ts.map +1 -0
  81. package/dist/types/src/components/DebugSettings/DebugSettings.stories.d.ts +107 -0
  82. package/dist/types/src/components/DebugSettings/DebugSettings.stories.d.ts.map +1 -0
  83. package/dist/types/src/components/DebugSettings/index.d.ts +2 -0
  84. package/dist/types/src/components/DebugSettings/index.d.ts.map +1 -0
  85. package/dist/types/src/components/SchemaTable/SchemaTable.d.ts.map +1 -0
  86. package/dist/types/src/components/SchemaTable/index.d.ts +2 -0
  87. package/dist/types/src/components/SchemaTable/index.d.ts.map +1 -0
  88. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts +4 -5
  89. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts.map +1 -1
  90. package/dist/types/src/components/SpaceGenerator/draw-util.d.ts.map +1 -1
  91. package/dist/types/src/components/SpaceGenerator/index.d.ts +2 -2
  92. package/dist/types/src/components/SpaceGenerator/index.d.ts.map +1 -1
  93. package/dist/types/src/components/SpaceGenerator/presets.d.ts +4 -4
  94. package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -1
  95. package/dist/types/src/components/index.d.ts +4 -9
  96. package/dist/types/src/components/index.d.ts.map +1 -1
  97. package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts +8 -0
  98. package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts.map +1 -0
  99. package/dist/types/src/containers/DebugGraph/index.d.ts +2 -0
  100. package/dist/types/src/containers/DebugGraph/index.d.ts.map +1 -0
  101. package/dist/types/src/containers/DebugObjectPanel/DebugObjectPanel.d.ts +6 -0
  102. package/dist/types/src/containers/DebugObjectPanel/DebugObjectPanel.d.ts.map +1 -0
  103. package/dist/types/src/containers/DebugObjectPanel/index.d.ts +2 -0
  104. package/dist/types/src/containers/DebugObjectPanel/index.d.ts.map +1 -0
  105. package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts +5 -0
  106. package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts.map +1 -0
  107. package/dist/types/src/containers/DebugSpaceObjectsPanel/index.d.ts +2 -0
  108. package/dist/types/src/containers/DebugSpaceObjectsPanel/index.d.ts.map +1 -0
  109. package/dist/types/src/containers/DebugStatus/DebugStatus.d.ts.map +1 -0
  110. package/dist/types/src/containers/DebugStatus/index.d.ts +2 -0
  111. package/dist/types/src/containers/DebugStatus/index.d.ts.map +1 -0
  112. package/dist/types/src/{components → containers/DevtoolsOverviewContainer}/DevtoolsOverviewContainer.d.ts +0 -1
  113. package/dist/types/src/containers/DevtoolsOverviewContainer/DevtoolsOverviewContainer.d.ts.map +1 -0
  114. package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts +2 -0
  115. package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts.map +1 -0
  116. package/dist/types/src/containers/GithubPanel/GithubComponent.d.ts +15 -0
  117. package/dist/types/src/containers/GithubPanel/GithubComponent.d.ts.map +1 -0
  118. package/dist/types/src/containers/GithubPanel/GithubComponent.stories.d.ts +107 -0
  119. package/dist/types/src/containers/GithubPanel/GithubComponent.stories.d.ts.map +1 -0
  120. package/dist/types/src/containers/GithubPanel/GithubPanel.d.ts +3 -0
  121. package/dist/types/src/containers/GithubPanel/GithubPanel.d.ts.map +1 -0
  122. package/dist/types/src/containers/GithubPanel/index.d.ts +2 -0
  123. package/dist/types/src/containers/GithubPanel/index.d.ts.map +1 -0
  124. package/dist/types/src/containers/RegistryPanel/RegistryPanel.d.ts +3 -0
  125. package/dist/types/src/containers/RegistryPanel/RegistryPanel.d.ts.map +1 -0
  126. package/dist/types/src/containers/RegistryPanel/index.d.ts +2 -0
  127. package/dist/types/src/containers/RegistryPanel/index.d.ts.map +1 -0
  128. package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.d.ts +11 -0
  129. package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.d.ts.map +1 -0
  130. package/dist/types/src/containers/SpaceGenerator/index.d.ts +2 -0
  131. package/dist/types/src/containers/SpaceGenerator/index.d.ts.map +1 -0
  132. package/dist/types/src/{components → containers/Wireframe}/Wireframe.d.ts +2 -2
  133. package/dist/types/src/containers/Wireframe/Wireframe.d.ts.map +1 -0
  134. package/dist/types/src/containers/Wireframe/index.d.ts +2 -0
  135. package/dist/types/src/containers/Wireframe/index.d.ts.map +1 -0
  136. package/dist/types/src/containers/index.d.ts +11 -0
  137. package/dist/types/src/containers/index.d.ts.map +1 -0
  138. package/dist/types/src/index.d.ts +1 -1
  139. package/dist/types/src/index.d.ts.map +1 -1
  140. package/dist/types/src/meta.d.ts +2 -3
  141. package/dist/types/src/meta.d.ts.map +1 -1
  142. package/dist/types/src/plugin.d.ts +4 -0
  143. package/dist/types/src/plugin.d.ts.map +1 -0
  144. package/dist/types/src/translations.d.ts +88 -57
  145. package/dist/types/src/translations.d.ts.map +1 -1
  146. package/dist/types/src/types/Settings.d.ts +8 -0
  147. package/dist/types/src/types/Settings.d.ts.map +1 -0
  148. package/dist/types/src/types/index.d.ts +71 -0
  149. package/dist/types/src/types/index.d.ts.map +1 -0
  150. package/dist/types/tsconfig.tsbuildinfo +1 -1
  151. package/package.json +125 -76
  152. package/src/DebugPlugin.node.ts +18 -0
  153. package/src/DebugPlugin.test.ts +29 -0
  154. package/src/DebugPlugin.tsx +37 -38
  155. package/src/DebugPlugin.workerd.ts +12 -0
  156. package/src/capabilities/app-graph-builder.ts +397 -412
  157. package/src/capabilities/index.ts +5 -5
  158. package/src/capabilities/react-context.tsx +16 -7
  159. package/src/capabilities/react-surface.tsx +394 -339
  160. package/src/capabilities/settings.ts +24 -12
  161. package/src/components/DebugSettings/DebugSettings.stories.tsx +36 -0
  162. package/src/components/DebugSettings/DebugSettings.tsx +259 -0
  163. package/src/components/DebugSettings/index.ts +5 -0
  164. package/src/components/SchemaTable/index.ts +5 -0
  165. package/src/components/SpaceGenerator/ObjectGenerator.tsx +41 -47
  166. package/src/components/SpaceGenerator/draw-util.ts +10 -10
  167. package/src/components/SpaceGenerator/index.ts +2 -3
  168. package/src/components/SpaceGenerator/presets.ts +318 -57
  169. package/src/components/index.ts +4 -8
  170. package/src/containers/DebugGraph/DebugGraph.tsx +14 -0
  171. package/src/containers/DebugGraph/index.ts +5 -0
  172. package/src/containers/DebugObjectPanel/DebugObjectPanel.tsx +76 -0
  173. package/src/containers/DebugObjectPanel/index.ts +5 -0
  174. package/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.tsx +47 -0
  175. package/src/containers/DebugSpaceObjectsPanel/index.ts +5 -0
  176. package/src/{components → containers/DebugStatus}/DebugStatus.tsx +44 -21
  177. package/src/containers/DebugStatus/index.ts +5 -0
  178. package/src/containers/DevtoolsOverviewContainer/DevtoolsOverviewContainer.tsx +25 -0
  179. package/src/containers/DevtoolsOverviewContainer/index.ts +5 -0
  180. package/src/containers/GithubPanel/GithubComponent.stories.tsx +38 -0
  181. package/src/containers/GithubPanel/GithubComponent.tsx +192 -0
  182. package/src/containers/GithubPanel/GithubPanel.tsx +17 -0
  183. package/src/containers/GithubPanel/index.ts +5 -0
  184. package/src/containers/RegistryPanel/RegistryPanel.tsx +150 -0
  185. package/src/containers/RegistryPanel/index.ts +5 -0
  186. package/src/containers/SpaceGenerator/SpaceGenerator.tsx +127 -0
  187. package/src/containers/SpaceGenerator/index.ts +5 -0
  188. package/src/{components → containers/Wireframe}/Wireframe.tsx +8 -12
  189. package/src/containers/Wireframe/index.ts +5 -0
  190. package/src/containers/index.ts +15 -0
  191. package/src/index.ts +1 -1
  192. package/src/meta.ts +29 -8
  193. package/src/plugin.ts +10 -0
  194. package/src/translations.ts +84 -56
  195. package/src/types/Settings.ts +16 -0
  196. package/src/{types.ts → types/index.ts} +22 -11
  197. package/src/vite-env.d.ts +10 -0
  198. package/dist/lib/browser/DebugApp-F4UFVW4Y.mjs +0 -228
  199. package/dist/lib/browser/DebugApp-F4UFVW4Y.mjs.map +0 -7
  200. package/dist/lib/browser/DevtoolsOverviewContainer-EPD6EWT5.mjs +0 -25
  201. package/dist/lib/browser/DevtoolsOverviewContainer-EPD6EWT5.mjs.map +0 -7
  202. package/dist/lib/browser/SpaceGenerator-XJJAOTIT.mjs.map +0 -7
  203. package/dist/lib/browser/app-graph-builder-PXPZIIGY.mjs +0 -597
  204. package/dist/lib/browser/app-graph-builder-PXPZIIGY.mjs.map +0 -7
  205. package/dist/lib/browser/chunk-5XPIRNQS.mjs +0 -18
  206. package/dist/lib/browser/chunk-5XPIRNQS.mjs.map +0 -7
  207. package/dist/lib/browser/chunk-AJA6RYN3.mjs.map +0 -7
  208. package/dist/lib/browser/index.mjs +0 -130
  209. package/dist/lib/browser/index.mjs.map +0 -7
  210. package/dist/lib/browser/meta.json +0 -1
  211. package/dist/lib/browser/react-context-NVAGLAJD.mjs +0 -16
  212. package/dist/lib/browser/react-context-NVAGLAJD.mjs.map +0 -7
  213. package/dist/lib/browser/react-surface-UNFNQFWK.mjs +0 -768
  214. package/dist/lib/browser/react-surface-UNFNQFWK.mjs.map +0 -7
  215. package/dist/lib/browser/settings-LSSWLM5I.mjs +0 -22
  216. package/dist/lib/browser/settings-LSSWLM5I.mjs.map +0 -7
  217. package/dist/types/src/components/Container.d.ts +0 -5
  218. package/dist/types/src/components/Container.d.ts.map +0 -1
  219. package/dist/types/src/components/DebugApp/DebugApp.d.ts +0 -6
  220. package/dist/types/src/components/DebugApp/DebugApp.d.ts.map +0 -1
  221. package/dist/types/src/components/DebugApp/Tree.d.ts +0 -18
  222. package/dist/types/src/components/DebugApp/Tree.d.ts.map +0 -1
  223. package/dist/types/src/components/DebugApp/index.d.ts +0 -3
  224. package/dist/types/src/components/DebugApp/index.d.ts.map +0 -1
  225. package/dist/types/src/components/DebugObjectPanel.d.ts +0 -7
  226. package/dist/types/src/components/DebugObjectPanel.d.ts.map +0 -1
  227. package/dist/types/src/components/DebugSettings.d.ts +0 -6
  228. package/dist/types/src/components/DebugSettings.d.ts.map +0 -1
  229. package/dist/types/src/components/DebugStatus.d.ts.map +0 -1
  230. package/dist/types/src/components/DevtoolsOverviewContainer.d.ts.map +0 -1
  231. package/dist/types/src/components/SpaceGenerator/SchemaTable.d.ts.map +0 -1
  232. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.d.ts +0 -9
  233. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.d.ts.map +0 -1
  234. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.stories.d.ts +0 -6
  235. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.stories.d.ts.map +0 -1
  236. package/dist/types/src/components/Wireframe.d.ts.map +0 -1
  237. package/dist/types/src/types.d.ts +0 -63
  238. package/dist/types/src/types.d.ts.map +0 -1
  239. package/src/components/Container.tsx +0 -15
  240. package/src/components/DebugApp/DebugApp.tsx +0 -85
  241. package/src/components/DebugApp/Tree.tsx +0 -103
  242. package/src/components/DebugApp/index.ts +0 -7
  243. package/src/components/DebugObjectPanel.tsx +0 -35
  244. package/src/components/DebugSettings.tsx +0 -151
  245. package/src/components/DevtoolsOverviewContainer.tsx +0 -20
  246. package/src/components/SpaceGenerator/SpaceGenerator.stories.tsx +0 -52
  247. package/src/components/SpaceGenerator/SpaceGenerator.tsx +0 -122
  248. /package/dist/types/src/components/{SpaceGenerator → SchemaTable}/SchemaTable.d.ts +0 -0
  249. /package/dist/types/src/{components → containers/DebugStatus}/DebugStatus.d.ts +0 -0
  250. /package/src/components/{SpaceGenerator → SchemaTable}/SchemaTable.tsx +0 -0
@@ -1,151 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import React, { useEffect, useState } from 'react';
6
-
7
- import { Capabilities, useCapabilities } from '@dxos/app-framework';
8
- import { type ConfigProto, SaveConfig, Storage, defs } from '@dxos/config';
9
- import { log } from '@dxos/log';
10
- import { useClient } from '@dxos/react-client';
11
- import { Button, Icon, Input, Select, Toast, useFileDownload, useTranslation } from '@dxos/react-ui';
12
- import { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';
13
- import { setDeep } from '@dxos/util';
14
-
15
- import { DEBUG_PLUGIN } from '../meta';
16
- import { type DebugSettingsProps } from '../types';
17
-
18
- type Toast = {
19
- title: string;
20
- description?: string;
21
- };
22
-
23
- const StorageAdapters = {
24
- opfs: defs.Runtime.Client.Storage.StorageDriver.WEBFS,
25
- idb: defs.Runtime.Client.Storage.StorageDriver.IDB,
26
- } as const;
27
-
28
- export const DebugSettings = ({ settings }: { settings: DebugSettingsProps }) => {
29
- const { t } = useTranslation(DEBUG_PLUGIN);
30
- const [toast, setToast] = useState<Toast>();
31
- const client = useClient();
32
- const download = useFileDownload();
33
- // TODO(mykola): Get updates from other places that change Config.
34
- const [storageConfig, setStorageConfig] = useState<ConfigProto>({});
35
- const [upload] = useCapabilities(Capabilities.FileUploader);
36
-
37
- useEffect(() => {
38
- void Storage().then((config) => setStorageConfig(config));
39
- }, []);
40
-
41
- const handleToast = (toast: Toast) => {
42
- setToast(toast);
43
- const t = setTimeout(() => setToast(undefined), 5_000);
44
- return () => clearTimeout(t);
45
- };
46
-
47
- const handleDownload = async () => {
48
- const data = await client.diagnostics();
49
- const file = new Blob([JSON.stringify(data, undefined, 2)], { type: 'text/plain' });
50
- const fileName = `composer-${new Date().toISOString().replace(/\W/g, '-')}.json`;
51
- download(file, fileName);
52
-
53
- if (upload) {
54
- const info = await upload(new File([file], fileName), client.spaces.default);
55
- if (!info) {
56
- log.error('diagnostics failed to upload to IPFS');
57
- return;
58
- }
59
- handleToast({ title: t('settings uploaded'), description: t('settings uploaded to clipboard') });
60
-
61
- // TODO(nf): move to IpfsPlugin?
62
- const url = client.config.values.runtime!.services!.ipfs!.gateway + '/' + info.cid;
63
- void navigator.clipboard.writeText(url);
64
- handleToast({ title: t('settings uploaded'), description: t('settings uploaded to clipboard') });
65
- log.info('diagnostics', { url });
66
- }
67
- };
68
-
69
- const handleRepair = async () => {
70
- try {
71
- const info = await client.repair();
72
- setStorageConfig(await Storage());
73
- handleToast({ title: t('settings repair success'), description: JSON.stringify(info, undefined, 2) });
74
- } catch (err: any) {
75
- handleToast({ title: t('settings repair failed'), description: err.message });
76
- }
77
- };
78
-
79
- return (
80
- <DeprecatedFormContainer>
81
- <DeprecatedFormInput label={t('settings wireframe')}>
82
- <Input.Switch checked={settings.wireframe} onCheckedChange={(checked) => (settings.wireframe = !!checked)} />
83
- </DeprecatedFormInput>
84
- <DeprecatedFormInput label={t('settings download diagnostics')}>
85
- <Button onClick={handleDownload}>
86
- <Icon icon='ph--download-simple--regular' size={5} />
87
- </Button>
88
- </DeprecatedFormInput>
89
- <DeprecatedFormInput label={t('settings repair')}>
90
- <Button onClick={handleRepair}>
91
- <Icon icon='ph--first-aid-kit--regular' size={5} />
92
- </Button>
93
- </DeprecatedFormInput>
94
-
95
- {/* TODO(burdon): Move to layout? */}
96
- {toast && (
97
- <Toast.Root>
98
- <Toast.Body>
99
- <Toast.Title>
100
- <Icon icon='ph--gift--duotone' size={5} classNames='inline mr-1' />
101
- <span>{toast.title}</span>
102
- </Toast.Title>
103
- {toast.description && <Toast.Description>{toast.description}</Toast.Description>}
104
- </Toast.Body>
105
- </Toast.Root>
106
- )}
107
-
108
- <DeprecatedFormInput label={t('settings choose storage adaptor')}>
109
- <Select.Root
110
- value={
111
- Object.entries(StorageAdapters).find(
112
- ([name, value]) => value === storageConfig?.runtime?.client?.storage?.dataStore,
113
- )?.[0]
114
- }
115
- onValueChange={(value) => {
116
- if (confirm(t('settings storage adapter changed alert'))) {
117
- updateConfig(
118
- storageConfig,
119
- setStorageConfig,
120
- ['runtime', 'client', 'storage', 'dataStore'],
121
- StorageAdapters[value as keyof typeof StorageAdapters],
122
- );
123
- }
124
- }}
125
- >
126
- <Select.TriggerButton placeholder={t('settings data store label')} />
127
- <Select.Portal>
128
- <Select.Content>
129
- <Select.Viewport>
130
- {Object.keys(StorageAdapters).map((key) => (
131
- <Select.Option key={key} value={key}>
132
- {t(`settings storage adaptor ${key} label`)}
133
- </Select.Option>
134
- ))}
135
- </Select.Viewport>
136
- </Select.Content>
137
- </Select.Portal>
138
- </Select.Root>
139
- </DeprecatedFormInput>
140
- </DeprecatedFormContainer>
141
- );
142
- };
143
-
144
- const updateConfig = (config: ConfigProto, setConfig: (newConfig: ConfigProto) => void, path: string[], value: any) => {
145
- const storageConfigCopy = JSON.parse(JSON.stringify(config ?? {}));
146
- setDeep(storageConfigCopy, path, value);
147
- setConfig(storageConfigCopy);
148
- queueMicrotask(async () => {
149
- await SaveConfig(storageConfigCopy);
150
- });
151
- };
@@ -1,20 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import React from 'react';
6
-
7
- import { Surface } from '@dxos/app-framework';
8
- import { StatsPanel, useStats } from '@dxos/devtools';
9
-
10
- export const DevtoolsOverviewContainer = () => {
11
- const [stats, refreshStats] = useStats();
12
-
13
- return (
14
- <StatsPanel stats={stats} onRefresh={refreshStats}>
15
- <Surface role='devtools-overview' />
16
- </StatsPanel>
17
- );
18
- };
19
-
20
- export default DevtoolsOverviewContainer;
@@ -1,52 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import '@dxos-theme';
6
-
7
- import { type Meta } from '@storybook/react-vite';
8
- import React from 'react';
9
-
10
- import { IntentPlugin } from '@dxos/app-framework';
11
- import { withPluginManager } from '@dxos/app-framework/testing';
12
- import { ClientPlugin } from '@dxos/plugin-client';
13
- import { useSpaces } from '@dxos/react-client/echo';
14
- import { render, withLayout, withTheme } from '@dxos/storybook-utils';
15
-
16
- import { SpaceGenerator } from './SpaceGenerator';
17
-
18
- const DefaultStory = () => {
19
- const [space] = useSpaces();
20
- if (!space) {
21
- return null;
22
- }
23
-
24
- return <SpaceGenerator space={space} />;
25
- };
26
-
27
- const meta: Meta = {
28
- title: 'plugins/plugin-debug/SpaceGenerator',
29
- component: SpaceGenerator,
30
- render: render(DefaultStory),
31
- decorators: [
32
- withPluginManager({
33
- plugins: [
34
- ClientPlugin({
35
- onClientInitialized: async ({ client }) => {
36
- await client.halo.createIdentity();
37
- },
38
- }),
39
- IntentPlugin(),
40
- ],
41
- }),
42
- withLayout(),
43
- withTheme,
44
- ],
45
- parameters: {
46
- layout: 'fullscreen',
47
- },
48
- };
49
-
50
- export default meta;
51
-
52
- export const Default = {};
@@ -1,122 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- import React, { useCallback, useMemo, useState } from 'react';
6
-
7
- import { useIntentDispatcher } from '@dxos/app-framework';
8
- import { ComputeGraph } from '@dxos/conductor';
9
- import { Filter, type Obj } from '@dxos/echo';
10
- import { Markdown } from '@dxos/plugin-markdown/types';
11
- import { SheetType } from '@dxos/plugin-sheet/types';
12
- import { DiagramType } from '@dxos/plugin-sketch/types';
13
- import { useClient } from '@dxos/react-client';
14
- import { type Space, getTypename } from '@dxos/react-client/echo';
15
- import { IconButton, Input, Toolbar, useAsyncEffect } from '@dxos/react-ui';
16
- import { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';
17
- import { DataType } from '@dxos/schema';
18
- import { jsonKeyReplacer, sortKeys } from '@dxos/util';
19
-
20
- import { type ObjectGenerator, createGenerator, staticGenerators } from './ObjectGenerator';
21
- import { generator } from './presets';
22
- import { SchemaTable } from './SchemaTable';
23
-
24
- export type SpaceGeneratorProps = {
25
- space: Space;
26
- onCreateObjects?: (objects: Obj.Any[]) => void;
27
- };
28
-
29
- export const SpaceGenerator = ({ space, onCreateObjects }: SpaceGeneratorProps) => {
30
- const { dispatchPromise: dispatch } = useIntentDispatcher();
31
- const client = useClient();
32
- const staticTypes = [Markdown.Document, DiagramType, SheetType, ComputeGraph]; // TODO(burdon): Make extensible.
33
- const recordTypes = [DataType.Organization, DataType.Person, DataType.Task];
34
- const [count, setCount] = useState(1);
35
- const [info, setInfo] = useState<any>({});
36
- const presets = useMemo(() => generator(), []);
37
-
38
- // Create type generators.
39
- const typeMap = useMemo(() => {
40
- client.addTypes([...staticTypes, ...recordTypes, ...presets.schemas]);
41
- const recordGenerators = new Map<string, ObjectGenerator<any>>(
42
- recordTypes.map((type) => [type.typename, createGenerator(client, dispatch, type as any)]),
43
- );
44
-
45
- return new Map([...staticGenerators, ...presets.items, ...recordGenerators]);
46
- }, [client, recordTypes]);
47
-
48
- // Query space to get info.
49
- const updateInfo = async () => {
50
- // Create schema map.
51
- const echoSchema = await space.db.schemaRegistry.query().run();
52
- const staticSchema = space.db.graph.schemaRegistry.schemas;
53
-
54
- // Create object map.
55
- const { objects } = await space.db.query(Filter.everything()).run();
56
- const objectMap = sortKeys(
57
- objects.reduce<Record<string, number>>((map, obj) => {
58
- const type = getTypename(obj);
59
- if (type) {
60
- const count = map[type] ?? 0;
61
- map[type] = count + 1;
62
- }
63
- return map;
64
- }, {}),
65
- );
66
-
67
- setInfo({
68
- schema: {
69
- static: staticSchema.length,
70
- mutable: echoSchema.length,
71
- },
72
- objects: objectMap,
73
- });
74
- };
75
-
76
- useAsyncEffect(updateInfo, [space]);
77
-
78
- const handleCreateData = useCallback(
79
- async (typename: string) => {
80
- const constructor = typeMap.get(typename);
81
- if (constructor) {
82
- // TODO(burdon): Input to specify number of objects.
83
- await constructor(space, count, onCreateObjects);
84
- await updateInfo();
85
- }
86
- },
87
- [typeMap, count],
88
- );
89
-
90
- return (
91
- <div role='none' className='flex flex-col grow overflow-hidden'>
92
- <Toolbar.Root classNames='border-be border-subduedSeparator'>
93
- <IconButton icon='ph--arrow-clockwise--regular' iconOnly label='Refresh' onClick={updateInfo} />
94
- <Toolbar.Separator variant='gap' />
95
- <Input.Root>
96
- <Input.TextInput
97
- type='number'
98
- min={1}
99
- max={100}
100
- placeholder={'Count'}
101
- classNames='!w-[4rem] !text-right'
102
- size={8}
103
- value={count}
104
- onChange={(ev) => setCount(parseInt(ev.target.value))}
105
- />
106
- </Input.Root>
107
- </Toolbar.Root>
108
-
109
- <div className='flex flex-col overflow-y-auto divide-y divide-separator'>
110
- <SchemaTable types={staticTypes} objects={info.objects} label='Static Types' onClick={handleCreateData} />
111
- <SchemaTable types={recordTypes} objects={info.objects} label='Record Types' onClick={handleCreateData} />
112
- <SchemaTable types={presets.types} objects={info.objects} label='Presets' onClick={handleCreateData} />
113
-
114
- <div>
115
- <SyntaxHighlighter classNames='flex text-xs' language='json'>
116
- {JSON.stringify({ space, ...info }, jsonKeyReplacer({ truncate: true }), 2)}
117
- </SyntaxHighlighter>
118
- </div>
119
- </div>
120
- </div>
121
- );
122
- };