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

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 (198) hide show
  1. package/dist/lib/{browser/DebugGraph-7HXJ2PS2.mjs → neutral/DebugGraph-G4FWS57E.mjs} +4 -5
  2. package/dist/lib/neutral/DebugGraph-G4FWS57E.mjs.map +7 -0
  3. package/dist/lib/neutral/DebugObjectPanel-UJ63CV25.mjs +59 -0
  4. package/dist/lib/neutral/DebugObjectPanel-UJ63CV25.mjs.map +7 -0
  5. package/dist/lib/neutral/DebugPlugin.mjs +47 -0
  6. package/dist/lib/neutral/DebugPlugin.mjs.map +7 -0
  7. package/dist/lib/neutral/DebugPlugin.node.mjs +18 -0
  8. package/dist/lib/neutral/DebugPlugin.node.mjs.map +7 -0
  9. package/dist/lib/neutral/DebugSettings-Z3XADRNK.mjs +224 -0
  10. package/dist/lib/neutral/DebugSettings-Z3XADRNK.mjs.map +7 -0
  11. package/dist/lib/{browser/DebugSpaceObjectsPanel-7NRPLWZ4.mjs → neutral/DebugSpaceObjectsPanel-NISULU6U.mjs} +10 -26
  12. package/dist/lib/neutral/DebugSpaceObjectsPanel-NISULU6U.mjs.map +7 -0
  13. package/dist/lib/{browser/DebugStatus-COQGH37G.mjs → neutral/DebugStatus-YB3KFP7G.mjs} +35 -39
  14. package/dist/lib/neutral/DebugStatus-YB3KFP7G.mjs.map +7 -0
  15. package/dist/lib/{browser/DevtoolsOverviewContainer-C75NFVER.mjs → neutral/DevtoolsOverviewContainer-YX7Z3D2H.mjs} +9 -6
  16. package/dist/lib/neutral/DevtoolsOverviewContainer-YX7Z3D2H.mjs.map +7 -0
  17. package/dist/lib/neutral/SpaceGenerator-UBYB4NPD.mjs +143 -0
  18. package/dist/lib/neutral/SpaceGenerator-UBYB4NPD.mjs.map +7 -0
  19. package/dist/lib/{browser/Wireframe-KAGOKEFW.mjs → neutral/Wireframe-7SNRUKET.mjs} +8 -9
  20. package/dist/lib/neutral/Wireframe-7SNRUKET.mjs.map +7 -0
  21. package/dist/lib/{browser/app-graph-builder-LGUQNXHD.mjs → neutral/app-graph-builder-YPYHL2K5.mjs} +210 -258
  22. package/dist/lib/neutral/app-graph-builder-YPYHL2K5.mjs.map +7 -0
  23. package/dist/lib/neutral/capabilities/index.mjs +15 -0
  24. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  25. package/dist/lib/{browser/chunk-A5H5GRV6.mjs → neutral/chunk-3OGPOE7H.mjs} +2 -2
  26. package/dist/lib/{browser/chunk-A5H5GRV6.mjs.map → neutral/chunk-3OGPOE7H.mjs.map} +3 -3
  27. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  28. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  29. package/dist/lib/{browser/chunk-4UFQXPP7.mjs → neutral/chunk-NFIOTQRZ.mjs} +23 -12
  30. package/dist/lib/neutral/chunk-NFIOTQRZ.mjs.map +7 -0
  31. package/dist/lib/{browser/SpaceGenerator-SWSGJEEL.mjs → neutral/components/index.mjs} +60 -253
  32. package/dist/lib/neutral/components/index.mjs.map +7 -0
  33. package/dist/lib/neutral/containers/index.mjs +21 -0
  34. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  35. package/dist/lib/neutral/index.mjs +18 -0
  36. package/dist/lib/neutral/index.mjs.map +7 -0
  37. package/dist/lib/neutral/meta.json +1 -0
  38. package/dist/lib/neutral/meta.mjs +8 -0
  39. package/dist/lib/neutral/meta.mjs.map +7 -0
  40. package/dist/lib/neutral/plugin.mjs +12 -0
  41. package/dist/lib/neutral/plugin.mjs.map +7 -0
  42. package/dist/lib/{browser/react-context-I3USIAF6.mjs → neutral/react-context-MUZ3KVLU.mjs} +6 -6
  43. package/dist/lib/neutral/react-context-MUZ3KVLU.mjs.map +7 -0
  44. package/dist/lib/{browser/react-surface-BTVNKKVQ.mjs → neutral/react-surface-NH2H63KW.mjs} +153 -176
  45. package/dist/lib/neutral/react-surface-NH2H63KW.mjs.map +7 -0
  46. package/dist/lib/{browser/settings-SLTQJJNF.mjs → neutral/settings-MPM6YUP4.mjs} +7 -11
  47. package/dist/lib/neutral/settings-MPM6YUP4.mjs.map +7 -0
  48. package/dist/lib/neutral/translations.mjs +83 -0
  49. package/dist/lib/neutral/translations.mjs.map +7 -0
  50. package/dist/lib/neutral/types/index.mjs +14 -0
  51. package/dist/lib/neutral/types/index.mjs.map +7 -0
  52. package/dist/types/src/DebugPlugin.d.ts +2 -5
  53. package/dist/types/src/DebugPlugin.d.ts.map +1 -1
  54. package/dist/types/src/DebugPlugin.node.d.ts +5 -0
  55. package/dist/types/src/DebugPlugin.node.d.ts.map +1 -0
  56. package/dist/types/src/DebugPlugin.test.d.ts +2 -0
  57. package/dist/types/src/DebugPlugin.test.d.ts.map +1 -0
  58. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  59. package/dist/types/src/capabilities/index.d.ts +11 -4
  60. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  61. package/dist/types/src/capabilities/react-context.d.ts.map +1 -0
  62. package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +2 -2
  63. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  64. package/dist/types/src/capabilities/{settings/settings.d.ts → settings.d.ts} +2 -1
  65. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  66. package/dist/types/src/components/DebugSettings/DebugSettings.d.ts +11 -0
  67. package/dist/types/src/components/DebugSettings/DebugSettings.d.ts.map +1 -0
  68. package/dist/types/src/components/DebugSettings/DebugSettings.stories.d.ts +99 -0
  69. package/dist/types/src/components/DebugSettings/DebugSettings.stories.d.ts.map +1 -0
  70. package/dist/types/src/components/DebugSettings/index.d.ts +2 -0
  71. package/dist/types/src/components/DebugSettings/index.d.ts.map +1 -0
  72. package/dist/types/src/components/SchemaTable/SchemaTable.d.ts.map +1 -1
  73. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts +2 -2
  74. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts.map +1 -1
  75. package/dist/types/src/components/SpaceGenerator/draw-util.d.ts.map +1 -1
  76. package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -1
  77. package/dist/types/src/components/index.d.ts +2 -0
  78. package/dist/types/src/components/index.d.ts.map +1 -1
  79. package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts +2 -2
  80. package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts.map +1 -1
  81. package/dist/types/src/containers/DebugGraph/index.d.ts +1 -2
  82. package/dist/types/src/containers/DebugGraph/index.d.ts.map +1 -1
  83. package/dist/types/src/containers/DebugObjectPanel/DebugObjectPanel.d.ts +3 -4
  84. package/dist/types/src/containers/DebugObjectPanel/DebugObjectPanel.d.ts.map +1 -1
  85. package/dist/types/src/containers/DebugObjectPanel/index.d.ts +1 -2
  86. package/dist/types/src/containers/DebugObjectPanel/index.d.ts.map +1 -1
  87. package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts +3 -1
  88. package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts.map +1 -1
  89. package/dist/types/src/containers/DebugSpaceObjectsPanel/index.d.ts +1 -2
  90. package/dist/types/src/containers/DebugSpaceObjectsPanel/index.d.ts.map +1 -1
  91. package/dist/types/src/containers/DebugStatus/DebugStatus.d.ts.map +1 -1
  92. package/dist/types/src/containers/DebugStatus/index.d.ts +1 -2
  93. package/dist/types/src/containers/DebugStatus/index.d.ts.map +1 -1
  94. package/dist/types/src/containers/DevtoolsOverviewContainer/DevtoolsOverviewContainer.d.ts.map +1 -1
  95. package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts +1 -2
  96. package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts.map +1 -1
  97. package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.d.ts +3 -1
  98. package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.d.ts.map +1 -1
  99. package/dist/types/src/containers/SpaceGenerator/index.d.ts +1 -2
  100. package/dist/types/src/containers/SpaceGenerator/index.d.ts.map +1 -1
  101. package/dist/types/src/containers/Wireframe/Wireframe.d.ts.map +1 -1
  102. package/dist/types/src/containers/Wireframe/index.d.ts +1 -2
  103. package/dist/types/src/containers/Wireframe/index.d.ts.map +1 -1
  104. package/dist/types/src/containers/index.d.ts +0 -1
  105. package/dist/types/src/containers/index.d.ts.map +1 -1
  106. package/dist/types/src/index.d.ts +1 -1
  107. package/dist/types/src/index.d.ts.map +1 -1
  108. package/dist/types/src/plugin.d.ts +4 -0
  109. package/dist/types/src/plugin.d.ts.map +1 -0
  110. package/dist/types/src/translations.d.ts +80 -61
  111. package/dist/types/src/translations.d.ts.map +1 -1
  112. package/dist/types/src/types/Settings.d.ts +8 -0
  113. package/dist/types/src/types/Settings.d.ts.map +1 -0
  114. package/dist/types/src/types/index.d.ts +69 -0
  115. package/dist/types/src/types/index.d.ts.map +1 -0
  116. package/dist/types/tsconfig.tsbuildinfo +1 -1
  117. package/package.json +115 -64
  118. package/src/DebugPlugin.node.ts +18 -0
  119. package/src/DebugPlugin.test.ts +29 -0
  120. package/src/DebugPlugin.tsx +9 -11
  121. package/src/capabilities/app-graph-builder.ts +405 -0
  122. package/src/capabilities/index.ts +6 -4
  123. package/src/capabilities/{react-context/react-context.tsx → react-context.tsx} +7 -2
  124. package/src/capabilities/{react-surface/react-surface.tsx → react-surface.tsx} +169 -158
  125. package/src/capabilities/{settings/settings.ts → settings.ts} +4 -4
  126. package/src/components/DebugSettings/DebugSettings.stories.tsx +36 -0
  127. package/src/components/DebugSettings/DebugSettings.tsx +262 -0
  128. package/src/components/DebugSettings/index.ts +5 -0
  129. package/src/components/SpaceGenerator/ObjectGenerator.tsx +13 -15
  130. package/src/components/SpaceGenerator/draw-util.ts +8 -8
  131. package/src/components/SpaceGenerator/presets.ts +28 -50
  132. package/src/components/index.ts +4 -0
  133. package/src/containers/DebugGraph/DebugGraph.tsx +3 -2
  134. package/src/containers/DebugGraph/index.ts +1 -3
  135. package/src/containers/DebugObjectPanel/DebugObjectPanel.tsx +47 -16
  136. package/src/containers/DebugObjectPanel/index.ts +1 -3
  137. package/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.tsx +10 -23
  138. package/src/containers/DebugSpaceObjectsPanel/index.ts +1 -3
  139. package/src/containers/DebugStatus/DebugStatus.tsx +41 -19
  140. package/src/containers/DebugStatus/index.ts +1 -3
  141. package/src/containers/DevtoolsOverviewContainer/DevtoolsOverviewContainer.tsx +8 -1
  142. package/src/containers/DevtoolsOverviewContainer/index.ts +1 -3
  143. package/src/containers/SpaceGenerator/SpaceGenerator.tsx +102 -103
  144. package/src/containers/SpaceGenerator/index.ts +1 -3
  145. package/src/containers/Wireframe/Wireframe.tsx +2 -6
  146. package/src/containers/Wireframe/index.ts +1 -3
  147. package/src/containers/index.ts +0 -1
  148. package/src/index.ts +1 -1
  149. package/src/meta.ts +1 -1
  150. package/src/plugin.ts +10 -0
  151. package/src/translations.ts +75 -60
  152. package/src/types/Settings.ts +16 -0
  153. package/src/{types.ts → types/index.ts} +15 -14
  154. package/dist/lib/browser/DebugGraph-7HXJ2PS2.mjs.map +0 -7
  155. package/dist/lib/browser/DebugObjectPanel-3TCDNUNW.mjs +0 -33
  156. package/dist/lib/browser/DebugObjectPanel-3TCDNUNW.mjs.map +0 -7
  157. package/dist/lib/browser/DebugSettings-JZMIUDYB.mjs +0 -174
  158. package/dist/lib/browser/DebugSettings-JZMIUDYB.mjs.map +0 -7
  159. package/dist/lib/browser/DebugSpaceObjectsPanel-7NRPLWZ4.mjs.map +0 -7
  160. package/dist/lib/browser/DebugStatus-COQGH37G.mjs.map +0 -7
  161. package/dist/lib/browser/DevtoolsOverviewContainer-C75NFVER.mjs.map +0 -7
  162. package/dist/lib/browser/SpaceGenerator-SWSGJEEL.mjs.map +0 -7
  163. package/dist/lib/browser/Wireframe-KAGOKEFW.mjs.map +0 -7
  164. package/dist/lib/browser/app-graph-builder-LGUQNXHD.mjs.map +0 -7
  165. package/dist/lib/browser/chunk-4UFQXPP7.mjs.map +0 -7
  166. package/dist/lib/browser/index.mjs +0 -132
  167. package/dist/lib/browser/index.mjs.map +0 -7
  168. package/dist/lib/browser/meta.json +0 -1
  169. package/dist/lib/browser/react-context-I3USIAF6.mjs.map +0 -7
  170. package/dist/lib/browser/react-surface-BTVNKKVQ.mjs.map +0 -7
  171. package/dist/lib/browser/settings-SLTQJJNF.mjs.map +0 -7
  172. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
  173. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
  174. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
  175. package/dist/types/src/capabilities/react-context/index.d.ts +0 -7
  176. package/dist/types/src/capabilities/react-context/index.d.ts.map +0 -1
  177. package/dist/types/src/capabilities/react-context/react-context.d.ts.map +0 -1
  178. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -5
  179. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  180. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  181. package/dist/types/src/capabilities/settings/index.d.ts +0 -3
  182. package/dist/types/src/capabilities/settings/index.d.ts.map +0 -1
  183. package/dist/types/src/capabilities/settings/settings.d.ts.map +0 -1
  184. package/dist/types/src/containers/DebugSettings/DebugSettings.d.ts +0 -10
  185. package/dist/types/src/containers/DebugSettings/DebugSettings.d.ts.map +0 -1
  186. package/dist/types/src/containers/DebugSettings/index.d.ts +0 -3
  187. package/dist/types/src/containers/DebugSettings/index.d.ts.map +0 -1
  188. package/dist/types/src/types.d.ts +0 -68
  189. package/dist/types/src/types.d.ts.map +0 -1
  190. package/src/capabilities/app-graph-builder/app-graph-builder.ts +0 -441
  191. package/src/capabilities/app-graph-builder/index.ts +0 -7
  192. package/src/capabilities/react-context/index.ts +0 -7
  193. package/src/capabilities/react-surface/index.ts +0 -7
  194. package/src/capabilities/settings/index.ts +0 -7
  195. package/src/containers/DebugSettings/DebugSettings.tsx +0 -201
  196. package/src/containers/DebugSettings/index.ts +0 -7
  197. /package/dist/types/src/capabilities/{app-graph-builder/app-graph-builder.d.ts → app-graph-builder.d.ts} +0 -0
  198. /package/dist/types/src/capabilities/{react-context/react-context.d.ts → react-context.d.ts} +0 -0
@@ -1,441 +0,0 @@
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
- );
@@ -1,7 +0,0 @@
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'));
@@ -1,7 +0,0 @@
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'));
@@ -1,7 +0,0 @@
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'));
@@ -1,7 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Capability } from '@dxos/app-framework';
6
-
7
- export const DebugSettings = Capability.lazy('DebugSettings', () => import('./settings'));
@@ -1,201 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import React, { useEffect, useState } from 'react';
6
-
7
- import { useCapabilities } from '@dxos/app-framework/ui';
8
- import { AppCapabilities } from '@dxos/app-toolkit';
9
- import { type ConfigProto, SaveConfig, Storage, defs } from '@dxos/config';
10
- import { type LogBuffer, log } from '@dxos/log';
11
- import { useClient } from '@dxos/react-client';
12
- import { Icon, IconButton, Input, Select, Toast, useFileDownload, useTranslation } from '@dxos/react-ui';
13
- import { Settings } from '@dxos/react-ui-form';
14
- import { setDeep } from '@dxos/util';
15
-
16
- import { meta } from '../../meta';
17
- import { type DebugSettingsProps } from '../../types';
18
-
19
- type Toast = {
20
- title: string;
21
- description?: string;
22
- };
23
-
24
- const StorageAdapters = {
25
- opfs: defs.Runtime.Client.Storage.StorageDriver.WEBFS,
26
- idb: defs.Runtime.Client.Storage.StorageDriver.IDB,
27
- } as const;
28
-
29
- export type DebugSettingsComponentProps = {
30
- settings: DebugSettingsProps;
31
- onSettingsChange: (fn: (current: DebugSettingsProps) => DebugSettingsProps) => void;
32
- logBuffer: LogBuffer;
33
- };
34
-
35
- export const DebugSettings = ({ settings, onSettingsChange, logBuffer }: DebugSettingsComponentProps) => {
36
- const { t } = useTranslation(meta.id);
37
- const [toast, setToast] = useState<Toast>();
38
- const client = useClient();
39
- const download = useFileDownload();
40
- // TODO(mykola): Get updates from other places that change Config.
41
- const [storageConfig, setStorageConfig] = useState<ConfigProto>({});
42
- const [upload] = useCapabilities(AppCapabilities.FileUploader);
43
-
44
- useEffect(() => {
45
- void Storage().then((config) => setStorageConfig(config));
46
- }, []);
47
-
48
- const handleToast = (toast: Toast) => {
49
- setToast(toast);
50
- const t = setTimeout(() => setToast(undefined), 5_000);
51
- return () => clearTimeout(t);
52
- };
53
-
54
- const handleDownload = async () => {
55
- const data = await client.diagnostics();
56
- const file = new Blob([JSON.stringify(data, undefined, 2)], {
57
- type: 'text/plain',
58
- });
59
- const fileName = `composer-${new Date().toISOString().replace(/\W/g, '-')}.json`;
60
- download(file, fileName);
61
-
62
- if (upload) {
63
- const info = await upload(client.spaces.default.db, new File([file], fileName));
64
- if (!info) {
65
- log.error('diagnostics failed to upload to IPFS');
66
- return;
67
- }
68
- handleToast({
69
- title: t('settings uploaded'),
70
- description: t('settings uploaded to clipboard'),
71
- });
72
-
73
- // TODO(nf): move to IpfsPlugin?
74
- const url = client.config.values.runtime!.services!.ipfs!.gateway + '/' + info.cid;
75
- void navigator.clipboard.writeText(url);
76
- handleToast({
77
- title: t('settings uploaded'),
78
- description: t('settings uploaded to clipboard'),
79
- });
80
- log.info('diagnostics', { url });
81
- }
82
- };
83
-
84
- const handleDownloadLogs = () => {
85
- const ndjson = logBuffer.serialize();
86
- const file = new Blob([ndjson], { type: 'application/x-ndjson' });
87
- const fileName = `composer-logs-${new Date().toISOString().slice(0, 19).replace(/:/g, '-')}.ndjson`;
88
- download(file, fileName);
89
- };
90
-
91
- const handleRepair = async () => {
92
- try {
93
- const info = await client.repair();
94
- setStorageConfig(await Storage());
95
- handleToast({
96
- title: t('settings repair success'),
97
- description: JSON.stringify(info, undefined, 2),
98
- });
99
- } catch (err: any) {
100
- handleToast({
101
- title: t('settings repair failed'),
102
- description: err.message,
103
- });
104
- }
105
- };
106
-
107
- return (
108
- <Settings.Root>
109
- <Settings.Section title={t('settings title', { ns: meta.id })}>
110
- <Settings.Group>
111
- <Settings.ItemInput title={t('settings wireframe')}>
112
- <Input.Switch
113
- checked={settings.wireframe}
114
- onCheckedChange={(checked) => onSettingsChange((s) => ({ ...s, wireframe: !!checked }))}
115
- />
116
- </Settings.ItemInput>
117
- <Settings.ItemInput title={t('settings download diagnostics')}>
118
- <IconButton
119
- icon='ph--download-simple--regular'
120
- iconOnly
121
- label={t('settings download diagnostics')}
122
- onClick={handleDownload}
123
- />
124
- </Settings.ItemInput>
125
- <Settings.ItemInput title={t('settings download logs')}>
126
- <IconButton
127
- icon='ph--download-simple--regular'
128
- iconOnly
129
- label={t('settings download logs')}
130
- onClick={handleDownloadLogs}
131
- />
132
- </Settings.ItemInput>
133
- <Settings.ItemInput title={t('settings repair')}>
134
- <IconButton
135
- icon='ph--first-aid-kit--regular'
136
- iconOnly
137
- label={t('settings repair')}
138
- onClick={handleRepair}
139
- />
140
- </Settings.ItemInput>
141
-
142
- {/* TODO(burdon): Move to layout? */}
143
- {toast && (
144
- <Toast.Root>
145
- <Toast.Body>
146
- <Toast.Title>
147
- <Icon icon='ph--gift--duotone' size={5} classNames='inline mr-1' />
148
- <span>{toast.title}</span>
149
- </Toast.Title>
150
- {toast.description && <Toast.Description>{toast.description}</Toast.Description>}
151
- </Toast.Body>
152
- </Toast.Root>
153
- )}
154
-
155
- <Settings.ItemInput title={t('settings choose storage adaptor')}>
156
- <Select.Root
157
- value={
158
- Object.entries(StorageAdapters).find(
159
- ([_name, value]) => value === storageConfig?.runtime?.client?.storage?.dataStore,
160
- )?.[0]
161
- }
162
- onValueChange={(value) => {
163
- if (confirm(t('settings storage adapter changed alert'))) {
164
- updateConfig(
165
- storageConfig,
166
- setStorageConfig,
167
- ['runtime', 'client', 'storage', 'dataStore'],
168
- StorageAdapters[value as keyof typeof StorageAdapters],
169
- );
170
- }
171
- }}
172
- >
173
- <Select.TriggerButton placeholder={t('settings data store label')} />
174
- <Select.Portal>
175
- <Select.Content>
176
- <Select.Viewport>
177
- {Object.keys(StorageAdapters).map((key) => (
178
- <Select.Option key={key} value={key}>
179
- {t(`settings storage adaptor ${key} label`)}
180
- </Select.Option>
181
- ))}
182
- </Select.Viewport>
183
- <Select.Arrow />
184
- </Select.Content>
185
- </Select.Portal>
186
- </Select.Root>
187
- </Settings.ItemInput>
188
- </Settings.Group>
189
- </Settings.Section>
190
- </Settings.Root>
191
- );
192
- };
193
-
194
- const updateConfig = (config: ConfigProto, setConfig: (newConfig: ConfigProto) => void, path: string[], value: any) => {
195
- const storageConfigCopy = JSON.parse(JSON.stringify(config ?? {}));
196
- setDeep(storageConfigCopy, path, value);
197
- setConfig(storageConfigCopy);
198
- queueMicrotask(async () => {
199
- await SaveConfig(storageConfigCopy);
200
- });
201
- };
@@ -1,7 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import { DebugSettings } from './DebugSettings';
6
-
7
- export default DebugSettings;