@dxos/plugin-debug 0.8.4-main.c85a9c8dae → 0.8.4-main.d9fc60f731

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 (233) hide show
  1. package/LICENSE +102 -5
  2. package/PLUGIN.mdl +373 -0
  3. package/README.md +1 -1
  4. package/dist/lib/{browser/DebugGraph-7HXJ2PS2.mjs → neutral/DebugGraph-G4FWS57E.mjs} +4 -5
  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/{browser/DebugSpaceObjectsPanel-7NRPLWZ4.mjs → neutral/DebugSpaceObjectsPanel-BHOCFWDJ.mjs} +10 -26
  17. package/dist/lib/neutral/DebugSpaceObjectsPanel-BHOCFWDJ.mjs.map +7 -0
  18. package/dist/lib/{browser/DebugStatus-COQGH37G.mjs → neutral/DebugStatus-H2BAHN26.mjs} +36 -39
  19. package/dist/lib/neutral/DebugStatus-H2BAHN26.mjs.map +7 -0
  20. package/dist/lib/{browser/DevtoolsOverviewContainer-C75NFVER.mjs → neutral/DevtoolsOverviewContainer-YX7Z3D2H.mjs} +9 -6
  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/{browser/Wireframe-KAGOKEFW.mjs → neutral/Wireframe-WD7S2AUU.mjs} +9 -10
  29. package/dist/lib/neutral/Wireframe-WD7S2AUU.mjs.map +7 -0
  30. package/dist/lib/{browser/app-graph-builder-LGUQNXHD.mjs → neutral/app-graph-builder-XYLTBYKN.mjs} +246 -259
  31. package/dist/lib/neutral/app-graph-builder-XYLTBYKN.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-4UFQXPP7.mjs → neutral/chunk-UAAGABXZ.mjs} +24 -12
  39. package/dist/lib/neutral/chunk-UAAGABXZ.mjs.map +7 -0
  40. package/dist/lib/{browser/SpaceGenerator-SWSGJEEL.mjs → neutral/components/index.mjs} +90 -292
  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/{browser/react-context-I3USIAF6.mjs → neutral/react-context-MUZ3KVLU.mjs} +6 -6
  52. package/dist/lib/neutral/react-context-MUZ3KVLU.mjs.map +7 -0
  53. package/dist/lib/{browser/react-surface-BTVNKKVQ.mjs → neutral/react-surface-3MDMZGCA.mjs} +162 -180
  54. package/dist/lib/neutral/react-surface-3MDMZGCA.mjs.map +7 -0
  55. package/dist/lib/{browser/settings-SLTQJJNF.mjs → neutral/settings-MPM6YUP4.mjs} +7 -11
  56. package/dist/lib/neutral/settings-MPM6YUP4.mjs.map +7 -0
  57. package/dist/lib/neutral/translations.mjs +91 -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 +2 -5
  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.map +1 -0
  70. package/dist/types/src/capabilities/index.d.ts +11 -4
  71. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  72. package/dist/types/src/capabilities/react-context.d.ts.map +1 -0
  73. package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +2 -2
  74. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  75. package/dist/types/src/capabilities/{settings/settings.d.ts → settings.d.ts} +2 -1
  76. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  77. package/dist/types/src/components/DebugSettings/DebugSettings.d.ts +11 -0
  78. package/dist/types/src/components/DebugSettings/DebugSettings.d.ts.map +1 -0
  79. package/dist/types/src/components/DebugSettings/DebugSettings.stories.d.ts +106 -0
  80. package/dist/types/src/components/DebugSettings/DebugSettings.stories.d.ts.map +1 -0
  81. package/dist/types/src/components/DebugSettings/index.d.ts +2 -0
  82. package/dist/types/src/components/DebugSettings/index.d.ts.map +1 -0
  83. package/dist/types/src/components/SchemaTable/SchemaTable.d.ts.map +1 -1
  84. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts +3 -4
  85. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts.map +1 -1
  86. package/dist/types/src/components/SpaceGenerator/draw-util.d.ts.map +1 -1
  87. package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -1
  88. package/dist/types/src/components/index.d.ts +2 -0
  89. package/dist/types/src/components/index.d.ts.map +1 -1
  90. package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts +2 -2
  91. package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts.map +1 -1
  92. package/dist/types/src/containers/DebugGraph/index.d.ts +1 -2
  93. package/dist/types/src/containers/DebugGraph/index.d.ts.map +1 -1
  94. package/dist/types/src/containers/DebugObjectPanel/DebugObjectPanel.d.ts +3 -4
  95. package/dist/types/src/containers/DebugObjectPanel/DebugObjectPanel.d.ts.map +1 -1
  96. package/dist/types/src/containers/DebugObjectPanel/index.d.ts +1 -2
  97. package/dist/types/src/containers/DebugObjectPanel/index.d.ts.map +1 -1
  98. package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts +3 -1
  99. package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts.map +1 -1
  100. package/dist/types/src/containers/DebugSpaceObjectsPanel/index.d.ts +1 -2
  101. package/dist/types/src/containers/DebugSpaceObjectsPanel/index.d.ts.map +1 -1
  102. package/dist/types/src/containers/DebugStatus/DebugStatus.d.ts.map +1 -1
  103. package/dist/types/src/containers/DebugStatus/index.d.ts +1 -2
  104. package/dist/types/src/containers/DebugStatus/index.d.ts.map +1 -1
  105. package/dist/types/src/containers/DevtoolsOverviewContainer/DevtoolsOverviewContainer.d.ts.map +1 -1
  106. package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts +1 -2
  107. package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts.map +1 -1
  108. package/dist/types/src/containers/GithubPanel/GithubComponent.d.ts +15 -0
  109. package/dist/types/src/containers/GithubPanel/GithubComponent.d.ts.map +1 -0
  110. package/dist/types/src/containers/GithubPanel/GithubComponent.stories.d.ts +106 -0
  111. package/dist/types/src/containers/GithubPanel/GithubComponent.stories.d.ts.map +1 -0
  112. package/dist/types/src/containers/GithubPanel/GithubPanel.d.ts +3 -0
  113. package/dist/types/src/containers/GithubPanel/GithubPanel.d.ts.map +1 -0
  114. package/dist/types/src/containers/GithubPanel/index.d.ts +2 -0
  115. package/dist/types/src/containers/GithubPanel/index.d.ts.map +1 -0
  116. package/dist/types/src/containers/RegistryPanel/RegistryPanel.d.ts +3 -0
  117. package/dist/types/src/containers/RegistryPanel/RegistryPanel.d.ts.map +1 -0
  118. package/dist/types/src/containers/RegistryPanel/index.d.ts +2 -0
  119. package/dist/types/src/containers/RegistryPanel/index.d.ts.map +1 -0
  120. package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.d.ts +3 -1
  121. package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.d.ts.map +1 -1
  122. package/dist/types/src/containers/SpaceGenerator/index.d.ts +1 -2
  123. package/dist/types/src/containers/SpaceGenerator/index.d.ts.map +1 -1
  124. package/dist/types/src/containers/Wireframe/Wireframe.d.ts.map +1 -1
  125. package/dist/types/src/containers/Wireframe/index.d.ts +1 -2
  126. package/dist/types/src/containers/Wireframe/index.d.ts.map +1 -1
  127. package/dist/types/src/containers/index.d.ts +2 -1
  128. package/dist/types/src/containers/index.d.ts.map +1 -1
  129. package/dist/types/src/index.d.ts +1 -1
  130. package/dist/types/src/index.d.ts.map +1 -1
  131. package/dist/types/src/meta.d.ts +1 -1
  132. package/dist/types/src/meta.d.ts.map +1 -1
  133. package/dist/types/src/plugin.d.ts +4 -0
  134. package/dist/types/src/plugin.d.ts.map +1 -0
  135. package/dist/types/src/translations.d.ts +87 -61
  136. package/dist/types/src/translations.d.ts.map +1 -1
  137. package/dist/types/src/types/Settings.d.ts +8 -0
  138. package/dist/types/src/types/Settings.d.ts.map +1 -0
  139. package/dist/types/src/types/index.d.ts +70 -0
  140. package/dist/types/src/types/index.d.ts.map +1 -0
  141. package/dist/types/tsconfig.tsbuildinfo +1 -1
  142. package/package.json +112 -71
  143. package/src/DebugPlugin.node.ts +18 -0
  144. package/src/DebugPlugin.test.ts +29 -0
  145. package/src/DebugPlugin.tsx +14 -10
  146. package/src/DebugPlugin.workerd.ts +12 -0
  147. package/src/capabilities/app-graph-builder.ts +433 -0
  148. package/src/capabilities/index.ts +6 -4
  149. package/src/capabilities/{react-context/react-context.tsx → react-context.tsx} +7 -2
  150. package/src/capabilities/{react-surface/react-surface.tsx → react-surface.tsx} +179 -161
  151. package/src/capabilities/{settings/settings.ts → settings.ts} +4 -4
  152. package/src/components/DebugSettings/DebugSettings.stories.tsx +36 -0
  153. package/src/components/DebugSettings/DebugSettings.tsx +259 -0
  154. package/src/components/DebugSettings/index.ts +5 -0
  155. package/src/components/SpaceGenerator/ObjectGenerator.tsx +28 -28
  156. package/src/components/SpaceGenerator/draw-util.ts +8 -8
  157. package/src/components/SpaceGenerator/presets.ts +39 -62
  158. package/src/components/index.ts +4 -0
  159. package/src/containers/DebugGraph/DebugGraph.tsx +3 -2
  160. package/src/containers/DebugGraph/index.ts +1 -3
  161. package/src/containers/DebugObjectPanel/DebugObjectPanel.tsx +49 -18
  162. package/src/containers/DebugObjectPanel/index.ts +1 -3
  163. package/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.tsx +11 -24
  164. package/src/containers/DebugSpaceObjectsPanel/index.ts +1 -3
  165. package/src/containers/DebugStatus/DebugStatus.tsx +42 -19
  166. package/src/containers/DebugStatus/index.ts +1 -3
  167. package/src/containers/DevtoolsOverviewContainer/DevtoolsOverviewContainer.tsx +8 -1
  168. package/src/containers/DevtoolsOverviewContainer/index.ts +1 -3
  169. package/src/containers/GithubPanel/GithubComponent.stories.tsx +38 -0
  170. package/src/containers/GithubPanel/GithubComponent.tsx +192 -0
  171. package/src/containers/GithubPanel/GithubPanel.tsx +17 -0
  172. package/src/containers/GithubPanel/index.ts +5 -0
  173. package/src/containers/RegistryPanel/RegistryPanel.tsx +150 -0
  174. package/src/containers/RegistryPanel/index.ts +5 -0
  175. package/src/containers/SpaceGenerator/SpaceGenerator.tsx +104 -104
  176. package/src/containers/SpaceGenerator/index.ts +1 -3
  177. package/src/containers/Wireframe/Wireframe.tsx +3 -7
  178. package/src/containers/Wireframe/index.ts +1 -3
  179. package/src/containers/index.ts +2 -1
  180. package/src/index.ts +1 -1
  181. package/src/meta.ts +26 -6
  182. package/src/plugin.ts +10 -0
  183. package/src/translations.ts +83 -60
  184. package/src/types/Settings.ts +16 -0
  185. package/src/{types.ts → types/index.ts} +16 -14
  186. package/src/vite-env.d.ts +10 -0
  187. package/dist/lib/browser/DebugGraph-7HXJ2PS2.mjs.map +0 -7
  188. package/dist/lib/browser/DebugObjectPanel-3TCDNUNW.mjs +0 -33
  189. package/dist/lib/browser/DebugObjectPanel-3TCDNUNW.mjs.map +0 -7
  190. package/dist/lib/browser/DebugSettings-JZMIUDYB.mjs +0 -174
  191. package/dist/lib/browser/DebugSettings-JZMIUDYB.mjs.map +0 -7
  192. package/dist/lib/browser/DebugSpaceObjectsPanel-7NRPLWZ4.mjs.map +0 -7
  193. package/dist/lib/browser/DebugStatus-COQGH37G.mjs.map +0 -7
  194. package/dist/lib/browser/DevtoolsOverviewContainer-C75NFVER.mjs.map +0 -7
  195. package/dist/lib/browser/SpaceGenerator-SWSGJEEL.mjs.map +0 -7
  196. package/dist/lib/browser/Wireframe-KAGOKEFW.mjs.map +0 -7
  197. package/dist/lib/browser/app-graph-builder-LGUQNXHD.mjs.map +0 -7
  198. package/dist/lib/browser/chunk-4UFQXPP7.mjs.map +0 -7
  199. package/dist/lib/browser/chunk-A5H5GRV6.mjs +0 -20
  200. package/dist/lib/browser/chunk-A5H5GRV6.mjs.map +0 -7
  201. package/dist/lib/browser/index.mjs +0 -132
  202. package/dist/lib/browser/index.mjs.map +0 -7
  203. package/dist/lib/browser/meta.json +0 -1
  204. package/dist/lib/browser/react-context-I3USIAF6.mjs.map +0 -7
  205. package/dist/lib/browser/react-surface-BTVNKKVQ.mjs.map +0 -7
  206. package/dist/lib/browser/settings-SLTQJJNF.mjs.map +0 -7
  207. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
  208. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
  209. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
  210. package/dist/types/src/capabilities/react-context/index.d.ts +0 -7
  211. package/dist/types/src/capabilities/react-context/index.d.ts.map +0 -1
  212. package/dist/types/src/capabilities/react-context/react-context.d.ts.map +0 -1
  213. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -5
  214. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  215. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  216. package/dist/types/src/capabilities/settings/index.d.ts +0 -3
  217. package/dist/types/src/capabilities/settings/index.d.ts.map +0 -1
  218. package/dist/types/src/capabilities/settings/settings.d.ts.map +0 -1
  219. package/dist/types/src/containers/DebugSettings/DebugSettings.d.ts +0 -10
  220. package/dist/types/src/containers/DebugSettings/DebugSettings.d.ts.map +0 -1
  221. package/dist/types/src/containers/DebugSettings/index.d.ts +0 -3
  222. package/dist/types/src/containers/DebugSettings/index.d.ts.map +0 -1
  223. package/dist/types/src/types.d.ts +0 -68
  224. package/dist/types/src/types.d.ts.map +0 -1
  225. package/src/capabilities/app-graph-builder/app-graph-builder.ts +0 -441
  226. package/src/capabilities/app-graph-builder/index.ts +0 -7
  227. package/src/capabilities/react-context/index.ts +0 -7
  228. package/src/capabilities/react-surface/index.ts +0 -7
  229. package/src/capabilities/settings/index.ts +0 -7
  230. package/src/containers/DebugSettings/DebugSettings.tsx +0 -201
  231. package/src/containers/DebugSettings/index.ts +0 -7
  232. /package/dist/types/src/capabilities/{app-graph-builder/app-graph-builder.d.ts → app-graph-builder.d.ts} +0 -0
  233. /package/dist/types/src/capabilities/{react-context/react-context.d.ts → react-context.d.ts} +0 -0
@@ -0,0 +1,433 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+
7
+ import { Capability } from '@dxos/app-framework';
8
+ import { AppCapabilities, AppNode, getSpaceIdFromPath } from '@dxos/app-toolkit';
9
+ import { ClientCapabilities } from '@dxos/plugin-client';
10
+ import { GraphBuilder, Node, NodeMatcher } from '@dxos/plugin-graph';
11
+ import { SPACE_TYPE } from '@dxos/plugin-space';
12
+ import { getParentId } from '@dxos/react-ui-attention';
13
+
14
+ import { meta } from '#meta';
15
+ import { Devtools } from '#types';
16
+
17
+ const DEVTOOLS_TYPE = `${meta.id}.devtools`;
18
+
19
+ export default Capability.makeModule(
20
+ Effect.fnUntraced(function* () {
21
+ const extensions = yield* Effect.all([
22
+ GraphBuilder.createExtension({
23
+ id: 'root',
24
+ match: NodeMatcher.whenRoot,
25
+ actions: () =>
26
+ Effect.succeed([
27
+ Node.makeAction({
28
+ id: 'resetData',
29
+ data: () =>
30
+ Effect.sync(() => {
31
+ window.location.href = '/reset.html#continue';
32
+ }),
33
+ properties: {
34
+ label: ['reset-data.label', { ns: meta.id }],
35
+ icon: 'ph--warning--regular',
36
+ },
37
+ }),
38
+ ]),
39
+ }),
40
+
41
+ GraphBuilder.createExtension({
42
+ id: 'devtools',
43
+ match: NodeMatcher.whenAny(NodeMatcher.whenRoot, NodeMatcher.whenNodeType(SPACE_TYPE)),
44
+ connector: (node, get) =>
45
+ Effect.gen(function* () {
46
+ const client = yield* Capability.get(ClientCapabilities.Client);
47
+ const layoutAtom = get(yield* Capability.atom(AppCapabilities.Layout))[0];
48
+ const layout = layoutAtom ? get(layoutAtom) : undefined;
49
+ const spaceId = layout?.workspace ? getSpaceIdFromPath(layout.workspace) : undefined;
50
+ const space = spaceId ? client.spaces.get(spaceId) : undefined;
51
+ const [graph] = get(yield* Capability.atom(AppCapabilities.AppGraph));
52
+
53
+ return [
54
+ Node.make({
55
+ id: Devtools.id,
56
+ data: null,
57
+ type: DEVTOOLS_TYPE,
58
+ properties: {
59
+ label: ['devtools.label', { ns: meta.id }],
60
+ icon: 'ph--hammer--regular',
61
+ disposition: 'pin-end',
62
+ position: 'last',
63
+ },
64
+ nodes: [
65
+ Node.make({
66
+ id: 'appGraph',
67
+ type: `${meta.id}.app-graph`,
68
+ data: { graph: graph?.graph, root: node.id === Node.RootId ? node.id : getParentId(node.id) },
69
+ properties: {
70
+ label: ['debug-app-graph.label', { ns: meta.id }],
71
+ icon: 'ph--graph--regular',
72
+ },
73
+ }),
74
+ Node.make({
75
+ id: 'toolsExplorer',
76
+ data: Devtools.ToolsExplorer,
77
+ type: DEVTOOLS_TYPE,
78
+ properties: {
79
+ label: ['debug-tools-explorer.label', { ns: meta.id }],
80
+ icon: 'ph--toolbox--regular',
81
+ },
82
+ }),
83
+ ...(space && node.type === SPACE_TYPE
84
+ ? [
85
+ Node.make({
86
+ id: 'debug',
87
+ type: `${meta.id}.space`,
88
+ data: { space, type: `${meta.id}.space` },
89
+ properties: {
90
+ label: ['generate-objects.label', { ns: meta.id }],
91
+ icon: 'ph--dice-five--regular',
92
+ },
93
+ }),
94
+ ]
95
+ : []),
96
+ Node.make({
97
+ id: Devtools.Client.id,
98
+ data: null,
99
+ type: DEVTOOLS_TYPE,
100
+ properties: {
101
+ label: ['client.label', { ns: meta.id }],
102
+ icon: 'ph--users--regular',
103
+ },
104
+ nodes: [
105
+ Node.make({
106
+ id: Devtools.Client.Config,
107
+ data: Devtools.Client.Config,
108
+ type: DEVTOOLS_TYPE,
109
+ properties: {
110
+ label: ['config.label', { ns: meta.id }],
111
+ icon: 'ph--gear--regular',
112
+ },
113
+ }),
114
+ Node.make({
115
+ id: Devtools.Client.Storage,
116
+ data: Devtools.Client.Storage,
117
+ type: DEVTOOLS_TYPE,
118
+ properties: {
119
+ label: ['storage.label', { ns: meta.id }],
120
+ icon: 'ph--hard-drives--regular',
121
+ },
122
+ }),
123
+ Node.make({
124
+ id: Devtools.Client.Logs,
125
+ data: Devtools.Client.Logs,
126
+ type: DEVTOOLS_TYPE,
127
+ properties: {
128
+ label: ['logs.label', { ns: meta.id }],
129
+ icon: 'ph--file-text--regular',
130
+ },
131
+ }),
132
+ Node.make({
133
+ id: Devtools.Client.Diagnostics,
134
+ data: Devtools.Client.Diagnostics,
135
+ type: DEVTOOLS_TYPE,
136
+ properties: {
137
+ label: ['diagnostics.label', { ns: meta.id }],
138
+ icon: 'ph--chart-line--regular',
139
+ },
140
+ }),
141
+ ],
142
+ }),
143
+ Node.make({
144
+ id: Devtools.Halo.id,
145
+ data: null,
146
+ type: DEVTOOLS_TYPE,
147
+ properties: {
148
+ label: ['halo.label', { ns: meta.id }],
149
+ icon: 'ph--identification-badge--regular',
150
+ },
151
+ nodes: [
152
+ Node.make({
153
+ id: Devtools.Halo.Identity,
154
+ data: Devtools.Halo.Identity,
155
+ type: DEVTOOLS_TYPE,
156
+ properties: {
157
+ label: ['identity.label', { ns: meta.id }],
158
+ icon: 'ph--identification-badge--regular',
159
+ },
160
+ }),
161
+ Node.make({
162
+ id: Devtools.Halo.Devices,
163
+ data: Devtools.Halo.Devices,
164
+ type: DEVTOOLS_TYPE,
165
+ properties: {
166
+ label: ['devices.label', { ns: meta.id }],
167
+ icon: 'ph--devices--regular',
168
+ },
169
+ }),
170
+ Node.make({
171
+ id: Devtools.Halo.Keyring,
172
+ data: Devtools.Halo.Keyring,
173
+ type: DEVTOOLS_TYPE,
174
+ properties: {
175
+ label: ['keyring.label', { ns: meta.id }],
176
+ icon: 'ph--key--regular',
177
+ },
178
+ }),
179
+ Node.make({
180
+ id: Devtools.Halo.Credentials,
181
+ data: Devtools.Halo.Credentials,
182
+ type: DEVTOOLS_TYPE,
183
+ properties: {
184
+ label: ['credentials.label', { ns: meta.id }],
185
+ icon: 'ph--credit-card--regular',
186
+ },
187
+ }),
188
+ ],
189
+ }),
190
+ Node.make({
191
+ id: Devtools.Echo.id,
192
+ data: null,
193
+ type: DEVTOOLS_TYPE,
194
+ properties: {
195
+ label: ['echo.label', { ns: meta.id }],
196
+ icon: 'ph--database--regular',
197
+ },
198
+ nodes: [
199
+ Node.make({
200
+ id: Devtools.Echo.Spaces,
201
+ data: Devtools.Echo.Spaces,
202
+ type: DEVTOOLS_TYPE,
203
+ properties: {
204
+ label: ['spaces.label', { ns: meta.id }],
205
+ icon: 'ph--graph--regular',
206
+ },
207
+ }),
208
+ Node.make({
209
+ id: Devtools.Echo.Space,
210
+ data: Devtools.Echo.Space,
211
+ type: DEVTOOLS_TYPE,
212
+ properties: {
213
+ label: ['space.label', { ns: meta.id }],
214
+ icon: 'ph--planet--regular',
215
+ },
216
+ }),
217
+ Node.make({
218
+ id: Devtools.Echo.Feeds,
219
+ data: Devtools.Echo.Feeds,
220
+ type: DEVTOOLS_TYPE,
221
+ properties: {
222
+ label: ['feeds.label', { ns: meta.id }],
223
+ icon: 'ph--list-bullets--regular',
224
+ },
225
+ }),
226
+ Node.make({
227
+ id: Devtools.Echo.Objects,
228
+ data: Devtools.Echo.Objects,
229
+ type: DEVTOOLS_TYPE,
230
+ properties: {
231
+ label: ['objects.label', { ns: meta.id }],
232
+ icon: 'ph--cube--regular',
233
+ },
234
+ }),
235
+ Node.make({
236
+ id: Devtools.Echo.Schema,
237
+ data: Devtools.Echo.Schema,
238
+ type: DEVTOOLS_TYPE,
239
+ properties: {
240
+ label: ['schema.label', { ns: meta.id }],
241
+ icon: 'ph--database--regular',
242
+ },
243
+ }),
244
+ Node.make({
245
+ id: Devtools.Echo.Registry,
246
+ data: Devtools.Echo.Registry,
247
+ type: DEVTOOLS_TYPE,
248
+ properties: {
249
+ label: ['registry.label', { ns: meta.id }],
250
+ icon: 'ph--books--regular',
251
+ },
252
+ }),
253
+ Node.make({
254
+ id: Devtools.Echo.Automerge,
255
+ data: Devtools.Echo.Automerge,
256
+ type: DEVTOOLS_TYPE,
257
+ properties: {
258
+ label: ['automerge.label', { ns: meta.id }],
259
+ icon: 'ph--gear-six--regular',
260
+ },
261
+ }),
262
+ Node.make({
263
+ id: Devtools.Echo.Queues,
264
+ data: Devtools.Echo.Queues,
265
+ type: DEVTOOLS_TYPE,
266
+ properties: {
267
+ label: ['queues.label', { ns: meta.id }],
268
+ icon: 'ph--queue--regular',
269
+ },
270
+ }),
271
+ Node.make({
272
+ id: Devtools.Echo.Members,
273
+ data: Devtools.Echo.Members,
274
+ type: DEVTOOLS_TYPE,
275
+ properties: {
276
+ label: ['members.label', { ns: meta.id }],
277
+ icon: 'ph--users--regular',
278
+ },
279
+ }),
280
+ Node.make({
281
+ id: Devtools.Echo.Metadata,
282
+ data: Devtools.Echo.Metadata,
283
+ type: DEVTOOLS_TYPE,
284
+ properties: {
285
+ label: ['metadata.label', { ns: meta.id }],
286
+ icon: 'ph--hard-drive--regular',
287
+ },
288
+ }),
289
+ ],
290
+ }),
291
+ Node.make({
292
+ id: Devtools.Mesh.id,
293
+ data: null,
294
+ type: DEVTOOLS_TYPE,
295
+ properties: {
296
+ label: ['mesh.label', { ns: meta.id }],
297
+ icon: 'ph--graph--regular',
298
+ },
299
+ nodes: [
300
+ Node.make({
301
+ id: Devtools.Mesh.Signal,
302
+ data: Devtools.Mesh.Signal,
303
+ type: DEVTOOLS_TYPE,
304
+ properties: {
305
+ label: ['signal.label', { ns: meta.id }],
306
+ icon: 'ph--wifi-high--regular',
307
+ },
308
+ }),
309
+ Node.make({
310
+ id: Devtools.Mesh.Swarm,
311
+ data: Devtools.Mesh.Swarm,
312
+ type: DEVTOOLS_TYPE,
313
+ properties: {
314
+ label: ['swarm.label', { ns: meta.id }],
315
+ icon: 'ph--users-three--regular',
316
+ },
317
+ }),
318
+ Node.make({
319
+ id: Devtools.Mesh.Network,
320
+ data: Devtools.Mesh.Network,
321
+ type: DEVTOOLS_TYPE,
322
+ properties: {
323
+ label: ['network.label', { ns: meta.id }],
324
+ icon: 'ph--polygon--regular',
325
+ },
326
+ }),
327
+ ],
328
+ }),
329
+ Node.make({
330
+ id: Devtools.Edge.id,
331
+ data: null,
332
+ type: DEVTOOLS_TYPE,
333
+ properties: {
334
+ label: ['edge.label', { ns: meta.id }],
335
+ icon: 'ph--cloud--regular',
336
+ },
337
+ nodes: [
338
+ Node.make({
339
+ id: Devtools.Edge.Dashboard,
340
+ data: Devtools.Edge.Dashboard,
341
+ type: DEVTOOLS_TYPE,
342
+ properties: {
343
+ label: ['dashboard.label', { ns: meta.id }],
344
+ icon: 'ph--computer-tower--regular',
345
+ },
346
+ }),
347
+ Node.make({
348
+ id: Devtools.Edge.Workflows,
349
+ data: Devtools.Edge.Workflows,
350
+ type: DEVTOOLS_TYPE,
351
+ properties: {
352
+ label: ['workflows.label', { ns: meta.id }],
353
+ icon: 'ph--function--regular',
354
+ },
355
+ }),
356
+ Node.make({
357
+ id: Devtools.Edge.Traces,
358
+ data: Devtools.Edge.Traces,
359
+ type: DEVTOOLS_TYPE,
360
+ properties: {
361
+ label: ['traces.label', { ns: meta.id }],
362
+ icon: 'ph--line-segments--regular',
363
+ },
364
+ }),
365
+ Node.make({
366
+ id: Devtools.Edge.Testing,
367
+ data: Devtools.Edge.Testing,
368
+ type: DEVTOOLS_TYPE,
369
+ properties: {
370
+ label: ['testing.label', { ns: meta.id }],
371
+ icon: 'ph--flask--regular',
372
+ },
373
+ }),
374
+ ],
375
+ }),
376
+ ],
377
+ }),
378
+ ];
379
+ }),
380
+ }),
381
+
382
+ // Debug object companion.
383
+ GraphBuilder.createExtension({
384
+ id: 'debugObject',
385
+ match: NodeMatcher.whenEchoObject,
386
+ connector: () =>
387
+ Effect.succeed([
388
+ AppNode.makeCompanion({
389
+ id: 'debug',
390
+ label: ['debug.label', { ns: meta.id }],
391
+ icon: 'ph--bug--regular',
392
+ data: 'debug',
393
+ position: 'last',
394
+ }),
395
+ ]),
396
+ }),
397
+
398
+ // Devtools deck companion.
399
+ GraphBuilder.createExtension({
400
+ id: 'devtoolsOverview',
401
+ match: NodeMatcher.whenRoot,
402
+ connector: () =>
403
+ Effect.succeed([
404
+ AppNode.makeDeckCompanion({
405
+ id: 'devtools',
406
+ label: ['devtools-overview.label', { ns: meta.id }],
407
+ icon: 'ph--equalizer--regular',
408
+ data: 'devtools' as const,
409
+ position: 'last',
410
+ }),
411
+ ]),
412
+ }),
413
+
414
+ // Object explorer.
415
+ GraphBuilder.createExtension({
416
+ id: 'spaceObjects',
417
+ match: NodeMatcher.whenRoot,
418
+ connector: () =>
419
+ Effect.succeed([
420
+ AppNode.makeDeckCompanion({
421
+ id: 'spaceObjects',
422
+ label: ['space-objects.label', { ns: meta.id }],
423
+ icon: 'ph--cube--regular',
424
+ data: 'space-objects' as const,
425
+ position: 'last',
426
+ }),
427
+ ]),
428
+ }),
429
+ ]);
430
+
431
+ return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
432
+ }),
433
+ );
@@ -2,7 +2,9 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- export * from './app-graph-builder';
6
- export * from './react-context';
7
- export * from './react-surface';
8
- export * from './settings';
5
+ import { Capability } from '@dxos/app-framework';
6
+
7
+ export const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));
8
+ export const ReactContext = Capability.lazy('ReactContext', () => import('./react-context'));
9
+ export const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));
10
+ export const DebugSettings = Capability.lazy('DebugSettings', () => import('./settings'));
@@ -6,15 +6,20 @@ import * as Effect from 'effect/Effect';
6
6
  import React from 'react';
7
7
 
8
8
  import { Capabilities, Capability } from '@dxos/app-framework';
9
+ import { Surface } from '@dxos/app-framework/ui';
9
10
  import { DevtoolsContextProvider } from '@dxos/devtools';
10
11
 
11
- import { meta } from '../../meta';
12
+ import { meta } from '#meta';
12
13
 
13
14
  export default Capability.makeModule(() =>
14
15
  Effect.succeed(
15
16
  Capability.contributes(Capabilities.ReactContext, {
16
17
  id: meta.id,
17
- context: ({ children }) => <DevtoolsContextProvider>{children}</DevtoolsContextProvider>,
18
+ context: ({ children }) => (
19
+ <Surface.ProfilerProvider>
20
+ <DevtoolsContextProvider>{children}</DevtoolsContextProvider>
21
+ </Surface.ProfilerProvider>
22
+ ),
18
23
  }),
19
24
  ),
20
25
  );