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

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