@dxos/plugin-devtools 0.12.0-next-73daef452f1464b62efdbca75fb0067c1066f264 → 0.13.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 (144) hide show
  1. package/PLUGIN.mdl +144 -57
  2. package/dist/lib/Devtools.mjs +9 -1
  3. package/dist/lib/Devtools.mjs.map +1 -1
  4. package/dist/lib/capabilities.browser.mjs +45 -0
  5. package/dist/lib/capabilities.browser.mjs.map +1 -0
  6. package/dist/lib/capabilities.mjs +9 -7
  7. package/dist/lib/capabilities.mjs.map +1 -1
  8. package/dist/lib/capabilities.node.mjs +7 -3
  9. package/dist/lib/capabilities.node.mjs.map +1 -1
  10. package/dist/lib/capabilities.tauri.mjs +45 -0
  11. package/dist/lib/capabilities.tauri.mjs.map +1 -0
  12. package/dist/lib/capabilities.workerd.mjs +2 -2
  13. package/dist/lib/capabilities.workerd.mjs.map +1 -1
  14. package/dist/lib/{chunk-CliPanel.mjs → chunk-CliArticle.mjs} +28 -24
  15. package/dist/lib/chunk-CliArticle.mjs.map +1 -0
  16. package/dist/lib/chunk-DebugGraph.mjs +12 -8
  17. package/dist/lib/chunk-DebugGraph.mjs.map +1 -1
  18. package/dist/lib/chunk-DevtoolsCards.mjs +108 -0
  19. package/dist/lib/chunk-DevtoolsCards.mjs.map +1 -0
  20. package/dist/lib/chunk-DevtoolsOverviewContainer.mjs +59 -22
  21. package/dist/lib/chunk-DevtoolsOverviewContainer.mjs.map +1 -1
  22. package/dist/lib/chunk-GithubPanel.mjs +13 -10
  23. package/dist/lib/chunk-GithubPanel.mjs.map +1 -1
  24. package/dist/lib/chunk-PLUGIN.mjs +6 -0
  25. package/dist/lib/chunk-PLUGIN.mjs.map +1 -0
  26. package/dist/lib/{chunk-RegistryPanel.mjs → chunk-RegistryArticle.mjs} +26 -25
  27. package/dist/lib/chunk-RegistryArticle.mjs.map +1 -0
  28. package/dist/lib/chunk-ToolsExplorerContainer.mjs +7 -3
  29. package/dist/lib/chunk-ToolsExplorerContainer.mjs.map +1 -1
  30. package/dist/lib/chunk-app-graph-builder.mjs +323 -312
  31. package/dist/lib/chunk-app-graph-builder.mjs.map +1 -1
  32. package/dist/lib/chunk-react-context.mjs +1 -1
  33. package/dist/lib/chunk-react-context.mjs.map +1 -1
  34. package/dist/lib/chunk-react-surface.mjs +244 -88
  35. package/dist/lib/chunk-react-surface.mjs.map +1 -1
  36. package/dist/lib/containers.mjs +3 -3
  37. package/dist/lib/containers.mjs.map +1 -1
  38. package/dist/lib/index.mjs +0 -1
  39. package/dist/lib/meta.mjs +2 -2
  40. package/dist/lib/meta.mjs.map +1 -1
  41. package/dist/lib/translations.mjs +55 -49
  42. package/dist/lib/translations.mjs.map +1 -1
  43. package/dist/types/src/capabilities/DevtoolsCards.d.ts +28 -0
  44. package/dist/types/src/capabilities/DevtoolsCards.d.ts.map +1 -0
  45. package/dist/types/src/capabilities/DevtoolsSurfaces.d.ts +19 -6
  46. package/dist/types/src/capabilities/DevtoolsSurfaces.d.ts.map +1 -1
  47. package/dist/types/src/capabilities/app-graph-builder.d.ts +19 -0
  48. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  49. package/dist/types/src/capabilities/app-graph-builder.test.d.ts +2 -0
  50. package/dist/types/src/capabilities/app-graph-builder.test.d.ts.map +1 -0
  51. package/dist/types/src/capabilities/gen/browser.d.ts +8 -0
  52. package/dist/types/src/capabilities/gen/browser.d.ts.map +1 -0
  53. package/dist/types/src/capabilities/gen/tauri.d.ts +8 -0
  54. package/dist/types/src/capabilities/gen/tauri.d.ts.map +1 -0
  55. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  56. package/dist/types/src/containers/CliArticle/CliArticle.d.ts +8 -0
  57. package/dist/types/src/containers/CliArticle/CliArticle.d.ts.map +1 -0
  58. package/dist/types/src/containers/{CliPanel/CliPanel.stories.d.ts → CliArticle/CliArticle.stories.d.ts} +33 -5
  59. package/dist/types/src/containers/CliArticle/CliArticle.stories.d.ts.map +1 -0
  60. package/dist/types/src/containers/CliArticle/index.d.ts +2 -0
  61. package/dist/types/src/containers/CliArticle/index.d.ts.map +1 -0
  62. package/dist/types/src/containers/{CliPanel → CliArticle}/useCliApp.d.ts +1 -1
  63. package/dist/types/src/containers/CliArticle/useCliApp.d.ts.map +1 -0
  64. package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts +2 -1
  65. package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts.map +1 -1
  66. package/dist/types/src/containers/DebugGraph/index.d.ts +1 -1
  67. package/dist/types/src/containers/DebugGraph/index.d.ts.map +1 -1
  68. package/dist/types/src/containers/DevtoolsOverviewContainer/DevtoolsOverviewContainer.d.ts.map +1 -1
  69. package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts +1 -1
  70. package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts.map +1 -1
  71. package/dist/types/src/containers/GithubPanel/GithubComponent.d.ts.map +1 -1
  72. package/dist/types/src/containers/GithubPanel/GithubComponent.stories.d.ts +30 -2
  73. package/dist/types/src/containers/GithubPanel/GithubComponent.stories.d.ts.map +1 -1
  74. package/dist/types/src/containers/GithubPanel/index.d.ts +1 -1
  75. package/dist/types/src/containers/GithubPanel/index.d.ts.map +1 -1
  76. package/dist/types/src/containers/RegistryArticle/RegistryArticle.d.ts +8 -0
  77. package/dist/types/src/containers/RegistryArticle/RegistryArticle.d.ts.map +1 -0
  78. package/dist/types/src/containers/RegistryArticle/index.d.ts +2 -0
  79. package/dist/types/src/containers/RegistryArticle/index.d.ts.map +1 -0
  80. package/dist/types/src/containers/ToolsExplorerContainer/ToolsExplorerContainer.d.ts +3 -1
  81. package/dist/types/src/containers/ToolsExplorerContainer/ToolsExplorerContainer.d.ts.map +1 -1
  82. package/dist/types/src/containers/ToolsExplorerContainer/index.d.ts +1 -1
  83. package/dist/types/src/containers/ToolsExplorerContainer/index.d.ts.map +1 -1
  84. package/dist/types/src/containers/index.d.ts +2 -2
  85. package/dist/types/src/containers/index.d.ts.map +1 -1
  86. package/dist/types/src/index.d.ts +1 -2
  87. package/dist/types/src/index.d.ts.map +1 -1
  88. package/dist/types/src/translations.d.ts +30 -2
  89. package/dist/types/src/translations.d.ts.map +1 -1
  90. package/dist/types/src/types/Devtools.d.ts +6 -0
  91. package/dist/types/src/types/Devtools.d.ts.map +1 -1
  92. package/dist/types/src/types/index.d.ts +2 -2
  93. package/dist/types/src/types/index.d.ts.map +1 -1
  94. package/dist/types/tsconfig.tsbuildinfo +1 -1
  95. package/dx.config.ts +2 -2
  96. package/package.json +43 -39
  97. package/src/capabilities/DevtoolsCards.tsx +140 -0
  98. package/src/capabilities/DevtoolsSurfaces.tsx +32 -38
  99. package/src/capabilities/app-graph-builder.test.ts +75 -0
  100. package/src/capabilities/app-graph-builder.ts +324 -313
  101. package/src/capabilities/gen/browser.ts +61 -0
  102. package/src/capabilities/gen/node.ts +4 -4
  103. package/src/capabilities/gen/tauri.ts +61 -0
  104. package/src/capabilities/gen/workerd.ts +2 -2
  105. package/src/capabilities/index.ts +7 -7
  106. package/src/capabilities/react-context.tsx +1 -1
  107. package/src/capabilities/react-surface.ts +222 -79
  108. package/src/containers/{CliPanel/CliPanel.stories.tsx → CliArticle/CliArticle.stories.tsx} +9 -10
  109. package/src/containers/{CliPanel/CliPanel.tsx → CliArticle/CliArticle.tsx} +7 -7
  110. package/src/containers/CliArticle/index.ts +5 -0
  111. package/src/containers/{CliPanel → CliArticle}/useCliApp.ts +17 -12
  112. package/src/containers/DebugGraph/DebugGraph.tsx +7 -6
  113. package/src/containers/DebugGraph/index.ts +1 -1
  114. package/src/containers/DevtoolsOverviewContainer/DevtoolsOverviewContainer.tsx +72 -32
  115. package/src/containers/DevtoolsOverviewContainer/index.ts +1 -1
  116. package/src/containers/GithubPanel/GithubComponent.stories.tsx +2 -2
  117. package/src/containers/GithubPanel/GithubComponent.tsx +14 -11
  118. package/src/containers/GithubPanel/GithubPanel.tsx +2 -2
  119. package/src/containers/GithubPanel/index.ts +1 -1
  120. package/src/containers/{RegistryPanel/RegistryPanel.tsx → RegistryArticle/RegistryArticle.tsx} +11 -10
  121. package/src/containers/RegistryArticle/index.ts +5 -0
  122. package/src/containers/ToolsExplorerContainer/ToolsExplorerContainer.tsx +10 -3
  123. package/src/containers/ToolsExplorerContainer/index.ts +1 -1
  124. package/src/containers/index.ts +6 -6
  125. package/src/index.ts +1 -2
  126. package/src/meta.ts +1 -1
  127. package/src/plugin.test.ts +2 -2
  128. package/src/translations.ts +7 -3
  129. package/src/types/Devtools.ts +10 -0
  130. package/src/types/index.ts +2 -2
  131. package/dist/lib/chunk-CliPanel.mjs.map +0 -1
  132. package/dist/lib/chunk-RegistryPanel.mjs.map +0 -1
  133. package/dist/types/src/containers/CliPanel/CliPanel.d.ts +0 -6
  134. package/dist/types/src/containers/CliPanel/CliPanel.d.ts.map +0 -1
  135. package/dist/types/src/containers/CliPanel/CliPanel.stories.d.ts.map +0 -1
  136. package/dist/types/src/containers/CliPanel/index.d.ts +0 -2
  137. package/dist/types/src/containers/CliPanel/index.d.ts.map +0 -1
  138. package/dist/types/src/containers/CliPanel/useCliApp.d.ts.map +0 -1
  139. package/dist/types/src/containers/RegistryPanel/RegistryPanel.d.ts +0 -6
  140. package/dist/types/src/containers/RegistryPanel/RegistryPanel.d.ts.map +0 -1
  141. package/dist/types/src/containers/RegistryPanel/index.d.ts +0 -2
  142. package/dist/types/src/containers/RegistryPanel/index.d.ts.map +0 -1
  143. package/src/containers/CliPanel/index.ts +0 -5
  144. package/src/containers/RegistryPanel/index.ts +0 -5
@@ -3,6 +3,7 @@
3
3
  //
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
+ import type * as Atom from 'effect/reactivity/Atom';
6
7
 
7
8
  import * as Capability from '@dxos/app-framework/Capability';
8
9
  import * as AppGraphBuilder from '@dxos/app-graph/AppGraphBuilder';
@@ -10,11 +11,9 @@ import * as AppGraphNode from '@dxos/app-graph/AppGraphNode';
10
11
  import * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';
11
12
  import * as AppNode from '@dxos/app-toolkit/AppNode';
12
13
  import * as AppNodeMatcher from '@dxos/app-toolkit/AppNodeMatcher';
13
- import * as GraphPath from '@dxos/app-toolkit/GraphPath';
14
14
  import * as GraphNode from '@dxos/graph/GraphNode';
15
15
  import * as GraphNodeMatcher from '@dxos/graph/GraphNodeMatcher';
16
- import { type Space } from '@dxos/react-client/echo';
17
- import { Position } from '@dxos/util';
16
+ import * as Position from '@dxos/util/Position';
18
17
 
19
18
  import { meta } from '#meta';
20
19
  import { Devtools } from '#types';
@@ -46,366 +45,378 @@ export default Capability.makeModule(
46
45
  ]),
47
46
  }),
48
47
 
48
+ createDevtoolsExtension(appGraphAtom),
49
+
50
+ // Devtools deck companion.
49
51
  AppGraphBuilder.createExtension({
50
- id: 'devtools',
51
- match: GraphNodeMatcher.whenAny(
52
- GraphNodeMatcher.whenRoot,
53
- AppNodeMatcher.whenNavTreeGroup(GraphPath.GroupTypes.system),
54
- ),
55
- connector: (_nodeOrSpace: AppGraphNode.Node | Space, get) =>
56
- Effect.gen(function* () {
57
- const [graph] = get(appGraphAtom);
52
+ id: 'devtoolsOverview',
53
+ relation: AppNode.companion,
54
+ match: GraphNodeMatcher.whenRoot,
55
+ connector: () =>
56
+ Effect.succeed([
57
+ AppNode.makeDeckCompanion({
58
+ id: 'devtoolsOverview',
59
+ label: ['devtools-overview.label', { ns: meta.profile.key }],
60
+ icon: 'ph--equalizer--regular',
61
+ data: 'devtoolsOverview' as const,
62
+ position: Position.last,
63
+ }),
64
+ ]),
65
+ }),
66
+ ]);
67
+
68
+ return Capability.contribute(AppCapabilities.AppGraphBuilder, extensions);
69
+ }),
70
+ );
71
+
72
+ /** The devtools tree: a container under the debug category with one page per tool, grouped by subsystem. */
73
+ export const createDevtoolsExtension = (appGraphAtom: Atom.Atom<AppCapabilities.AppGraph[]>) =>
74
+ AppGraphBuilder.createExtension({
75
+ id: 'devtools',
76
+ match: AppNodeMatcher.whenDebugGroup,
77
+ connector: (_node, get) =>
78
+ Effect.gen(function* () {
79
+ const [graph] = get(appGraphAtom);
58
80
 
59
- return [
81
+ return [
82
+ AppGraphNode.make({
83
+ id: Devtools.nodeId(Devtools.id),
84
+ data: null,
85
+ type: Devtools.id,
86
+ properties: {
87
+ label: ['devtools.label', { ns: meta.profile.key }],
88
+ icon: 'ph--toolbox--regular',
89
+ // After Debug (0), whichever plugin registers first.
90
+ position: 10,
91
+ },
92
+ nodes: [
60
93
  AppGraphNode.make({
61
- id: Devtools.nodeId(Devtools.id),
62
- data: null,
94
+ id: Devtools.nodeId(Devtools.AppGraph),
95
+ type: `${meta.profile.key}.app-graph`,
96
+ data: { graph: graph?.graph, root: GraphNode.RootId },
97
+ properties: {
98
+ label: ['debug-app-graph.label', { ns: meta.profile.key }],
99
+ icon: 'ph--graph--regular',
100
+ },
101
+ }),
102
+ AppGraphNode.make({
103
+ id: Devtools.nodeId(Devtools.ToolsExplorer),
104
+ data: Devtools.ToolsExplorer,
63
105
  type: Devtools.id,
64
106
  properties: {
65
- label: ['devtools.label', { ns: meta.profile.key }],
107
+ label: ['debug-tools-explorer.label', { ns: meta.profile.key }],
66
108
  icon: 'ph--toolbox--regular',
67
- position: Position.last,
109
+ },
110
+ }),
111
+ AppGraphNode.make({
112
+ id: Devtools.nodeId(Devtools.Cli),
113
+ data: Devtools.Cli,
114
+ type: Devtools.id,
115
+ properties: {
116
+ label: ['cli.label', { ns: meta.profile.key }],
117
+ icon: 'ph--terminal-window--regular',
118
+ },
119
+ }),
120
+ AppGraphNode.make({
121
+ id: Devtools.nodeId(Devtools.Client.id),
122
+ data: null,
123
+ type: Devtools.id,
124
+ properties: {
125
+ label: ['client.label', { ns: meta.profile.key }],
126
+ icon: 'ph--users--regular',
68
127
  },
69
128
  nodes: [
70
129
  AppGraphNode.make({
71
- id: Devtools.nodeId(Devtools.AppGraph),
72
- type: `${meta.profile.key}.app-graph`,
73
- data: { graph: graph?.graph, root: GraphNode.RootId },
130
+ id: Devtools.nodeId(Devtools.Client.Config),
131
+ data: Devtools.Client.Config,
132
+ type: Devtools.id,
74
133
  properties: {
75
- label: ['debug-app-graph.label', { ns: meta.profile.key }],
76
- icon: 'ph--graph--regular',
134
+ label: ['config.label', { ns: meta.profile.key }],
135
+ icon: 'ph--gear--regular',
77
136
  },
78
137
  }),
79
138
  AppGraphNode.make({
80
- id: Devtools.nodeId(Devtools.ToolsExplorer),
81
- data: Devtools.ToolsExplorer,
139
+ id: Devtools.nodeId(Devtools.Client.Storage),
140
+ data: Devtools.Client.Storage,
82
141
  type: Devtools.id,
83
142
  properties: {
84
- label: ['debug-tools-explorer.label', { ns: meta.profile.key }],
85
- icon: 'ph--toolbox--regular',
143
+ label: ['storage.label', { ns: meta.profile.key }],
144
+ icon: 'ph--hard-drives--regular',
86
145
  },
87
146
  }),
88
147
  AppGraphNode.make({
89
- id: Devtools.nodeId(Devtools.Cli),
90
- data: Devtools.Cli,
148
+ id: Devtools.nodeId(Devtools.Client.Sqlite),
149
+ data: Devtools.Client.Sqlite,
91
150
  type: Devtools.id,
92
151
  properties: {
93
- label: ['cli.label', { ns: meta.profile.key }],
94
- icon: 'ph--terminal-window--regular',
152
+ label: ['sqlite.label', { ns: meta.profile.key }],
153
+ icon: 'ph--database--regular',
95
154
  },
96
155
  }),
97
156
  AppGraphNode.make({
98
- id: Devtools.nodeId(Devtools.Client.id),
99
- data: null,
157
+ id: Devtools.nodeId(Devtools.Client.Logs),
158
+ data: Devtools.Client.Logs,
100
159
  type: Devtools.id,
101
160
  properties: {
102
- label: ['client.label', { ns: meta.profile.key }],
103
- icon: 'ph--users--regular',
161
+ label: ['logging.label', { ns: meta.profile.key }],
162
+ icon: 'ph--file-text--regular',
163
+ },
164
+ }),
165
+ AppGraphNode.make({
166
+ id: Devtools.nodeId(Devtools.Client.Diagnostics),
167
+ data: Devtools.Client.Diagnostics,
168
+ type: Devtools.id,
169
+ properties: {
170
+ label: ['diagnostics.label', { ns: meta.profile.key }],
171
+ icon: 'ph--chart-line--regular',
104
172
  },
105
- nodes: [
106
- AppGraphNode.make({
107
- id: Devtools.nodeId(Devtools.Client.Config),
108
- data: Devtools.Client.Config,
109
- type: Devtools.id,
110
- properties: {
111
- label: ['config.label', { ns: meta.profile.key }],
112
- icon: 'ph--gear--regular',
113
- },
114
- }),
115
- AppGraphNode.make({
116
- id: Devtools.nodeId(Devtools.Client.Storage),
117
- data: Devtools.Client.Storage,
118
- type: Devtools.id,
119
- properties: {
120
- label: ['storage.label', { ns: meta.profile.key }],
121
- icon: 'ph--hard-drives--regular',
122
- },
123
- }),
124
- AppGraphNode.make({
125
- id: Devtools.nodeId(Devtools.Client.Sqlite),
126
- data: Devtools.Client.Sqlite,
127
- type: Devtools.id,
128
- properties: {
129
- label: ['sqlite.label', { ns: meta.profile.key }],
130
- icon: 'ph--database--regular',
131
- },
132
- }),
133
- AppGraphNode.make({
134
- id: Devtools.nodeId(Devtools.Client.Logs),
135
- data: Devtools.Client.Logs,
136
- type: Devtools.id,
137
- properties: {
138
- label: ['logging.label', { ns: meta.profile.key }],
139
- icon: 'ph--file-text--regular',
140
- },
141
- }),
142
- AppGraphNode.make({
143
- id: Devtools.nodeId(Devtools.Client.Diagnostics),
144
- data: Devtools.Client.Diagnostics,
145
- type: Devtools.id,
146
- properties: {
147
- label: ['diagnostics.label', { ns: meta.profile.key }],
148
- icon: 'ph--chart-line--regular',
149
- },
150
- }),
151
- ],
152
173
  }),
174
+ ],
175
+ }),
176
+ AppGraphNode.make({
177
+ id: Devtools.nodeId(Devtools.Halo.id),
178
+ data: null,
179
+ type: Devtools.id,
180
+ properties: {
181
+ label: ['halo.label', { ns: meta.profile.key }],
182
+ icon: 'ph--identification-badge--regular',
183
+ },
184
+ nodes: [
153
185
  AppGraphNode.make({
154
- id: Devtools.nodeId(Devtools.Halo.id),
155
- data: null,
186
+ id: Devtools.nodeId(Devtools.Halo.Identity),
187
+ data: Devtools.Halo.Identity,
156
188
  type: Devtools.id,
157
189
  properties: {
158
- label: ['halo.label', { ns: meta.profile.key }],
190
+ label: ['identity.label', { ns: meta.profile.key }],
159
191
  icon: 'ph--identification-badge--regular',
160
192
  },
161
- nodes: [
162
- AppGraphNode.make({
163
- id: Devtools.nodeId(Devtools.Halo.Identity),
164
- data: Devtools.Halo.Identity,
165
- type: Devtools.id,
166
- properties: {
167
- label: ['identity.label', { ns: meta.profile.key }],
168
- icon: 'ph--identification-badge--regular',
169
- },
170
- }),
171
- AppGraphNode.make({
172
- id: Devtools.nodeId(Devtools.Halo.Devices),
173
- data: Devtools.Halo.Devices,
174
- type: Devtools.id,
175
- properties: {
176
- label: ['devices.label', { ns: meta.profile.key }],
177
- icon: 'ph--devices--regular',
178
- },
179
- }),
180
- AppGraphNode.make({
181
- id: Devtools.nodeId(Devtools.Halo.Keyring),
182
- data: Devtools.Halo.Keyring,
183
- type: Devtools.id,
184
- properties: {
185
- label: ['keyring.label', { ns: meta.profile.key }],
186
- icon: 'ph--key--regular',
187
- },
188
- }),
189
- AppGraphNode.make({
190
- id: Devtools.nodeId(Devtools.Halo.Credentials),
191
- data: Devtools.Halo.Credentials,
192
- type: Devtools.id,
193
- properties: {
194
- label: ['credentials.label', { ns: meta.profile.key }],
195
- icon: 'ph--credit-card--regular',
196
- },
197
- }),
198
- ],
199
193
  }),
200
194
  AppGraphNode.make({
201
- id: Devtools.nodeId(Devtools.Echo.id),
202
- data: null,
195
+ id: Devtools.nodeId(Devtools.Halo.Devices),
196
+ data: Devtools.Halo.Devices,
203
197
  type: Devtools.id,
204
198
  properties: {
205
- label: ['echo.label', { ns: meta.profile.key }],
206
- icon: 'ph--database--regular',
199
+ label: ['devices.label', { ns: meta.profile.key }],
200
+ icon: 'ph--devices--regular',
201
+ },
202
+ }),
203
+ AppGraphNode.make({
204
+ id: Devtools.nodeId(Devtools.Halo.Keyring),
205
+ data: Devtools.Halo.Keyring,
206
+ type: Devtools.id,
207
+ properties: {
208
+ label: ['keyring.label', { ns: meta.profile.key }],
209
+ icon: 'ph--key--regular',
207
210
  },
208
- nodes: [
209
- AppGraphNode.make({
210
- id: Devtools.nodeId(Devtools.Echo.Spaces),
211
- data: Devtools.Echo.Spaces,
212
- type: Devtools.id,
213
- properties: {
214
- label: ['spaces.label', { ns: meta.profile.key }],
215
- icon: 'ph--graph--regular',
216
- },
217
- }),
218
- AppGraphNode.make({
219
- id: Devtools.nodeId(Devtools.Echo.Space),
220
- data: Devtools.Echo.Space,
221
- type: Devtools.id,
222
- properties: {
223
- label: ['space.label', { ns: meta.profile.key }],
224
- icon: 'ph--planet--regular',
225
- },
226
- }),
227
- AppGraphNode.make({
228
- id: Devtools.nodeId(Devtools.Echo.Feeds),
229
- data: Devtools.Echo.Feeds,
230
- type: Devtools.id,
231
- properties: {
232
- label: ['feeds.label', { ns: meta.profile.key }],
233
- icon: 'ph--list-bullets--regular',
234
- },
235
- }),
236
- AppGraphNode.make({
237
- id: Devtools.nodeId(Devtools.Echo.Objects),
238
- data: Devtools.Echo.Objects,
239
- type: Devtools.id,
240
- properties: {
241
- label: ['objects.label', { ns: meta.profile.key }],
242
- icon: 'ph--cube--regular',
243
- },
244
- }),
245
- AppGraphNode.make({
246
- id: Devtools.nodeId(Devtools.Echo.Schema),
247
- data: Devtools.Echo.Schema,
248
- type: Devtools.id,
249
- properties: {
250
- label: ['schema.label', { ns: meta.profile.key }],
251
- icon: 'ph--database--regular',
252
- },
253
- }),
254
- AppGraphNode.make({
255
- id: Devtools.nodeId(Devtools.Echo.Registry),
256
- data: Devtools.Echo.Registry,
257
- type: Devtools.id,
258
- properties: {
259
- label: ['registry.label', { ns: meta.profile.key }],
260
- icon: 'ph--books--regular',
261
- },
262
- }),
263
- AppGraphNode.make({
264
- id: Devtools.nodeId(Devtools.Echo.Automerge),
265
- data: Devtools.Echo.Automerge,
266
- type: Devtools.id,
267
- properties: {
268
- label: ['automerge.label', { ns: meta.profile.key }],
269
- icon: 'ph--gear-six--regular',
270
- },
271
- }),
272
- AppGraphNode.make({
273
- id: Devtools.nodeId(Devtools.Echo.Queues),
274
- data: Devtools.Echo.Queues,
275
- type: Devtools.id,
276
- properties: {
277
- label: ['queues.label', { ns: meta.profile.key }],
278
- icon: 'ph--queue--regular',
279
- },
280
- }),
281
- AppGraphNode.make({
282
- id: Devtools.nodeId(Devtools.Echo.Members),
283
- data: Devtools.Echo.Members,
284
- type: Devtools.id,
285
- properties: {
286
- label: ['members.label', { ns: meta.profile.key }],
287
- icon: 'ph--users--regular',
288
- },
289
- }),
290
- AppGraphNode.make({
291
- id: Devtools.nodeId(Devtools.Echo.Metadata),
292
- data: Devtools.Echo.Metadata,
293
- type: Devtools.id,
294
- properties: {
295
- label: ['metadata.label', { ns: meta.profile.key }],
296
- icon: 'ph--hard-drive--regular',
297
- },
298
- }),
299
- ],
300
211
  }),
301
212
  AppGraphNode.make({
302
- id: Devtools.nodeId(Devtools.Mesh.id),
303
- data: null,
213
+ id: Devtools.nodeId(Devtools.Halo.Credentials),
214
+ data: Devtools.Halo.Credentials,
215
+ type: Devtools.id,
216
+ properties: {
217
+ label: ['credentials.label', { ns: meta.profile.key }],
218
+ icon: 'ph--credit-card--regular',
219
+ },
220
+ }),
221
+ ],
222
+ }),
223
+ AppGraphNode.make({
224
+ id: Devtools.nodeId(Devtools.Echo.id),
225
+ data: null,
226
+ type: Devtools.id,
227
+ properties: {
228
+ label: ['echo.label', { ns: meta.profile.key }],
229
+ icon: 'ph--database--regular',
230
+ },
231
+ nodes: [
232
+ AppGraphNode.make({
233
+ id: Devtools.nodeId(Devtools.Echo.Spaces),
234
+ data: Devtools.Echo.Spaces,
304
235
  type: Devtools.id,
305
236
  properties: {
306
- label: ['mesh.label', { ns: meta.profile.key }],
237
+ label: ['spaces.label', { ns: meta.profile.key }],
307
238
  icon: 'ph--graph--regular',
308
239
  },
309
- nodes: [
310
- AppGraphNode.make({
311
- id: Devtools.nodeId(Devtools.Mesh.Signal),
312
- data: Devtools.Mesh.Signal,
313
- type: Devtools.id,
314
- properties: {
315
- label: ['signal.label', { ns: meta.profile.key }],
316
- icon: 'ph--wifi-high--regular',
317
- },
318
- }),
319
- AppGraphNode.make({
320
- id: Devtools.nodeId(Devtools.Mesh.Swarm),
321
- data: Devtools.Mesh.Swarm,
322
- type: Devtools.id,
323
- properties: {
324
- label: ['swarm.label', { ns: meta.profile.key }],
325
- icon: 'ph--users-three--regular',
326
- },
327
- }),
328
- AppGraphNode.make({
329
- id: Devtools.nodeId(Devtools.Mesh.Network),
330
- data: Devtools.Mesh.Network,
331
- type: Devtools.id,
332
- properties: {
333
- label: ['network.label', { ns: meta.profile.key }],
334
- icon: 'ph--polygon--regular',
335
- },
336
- }),
337
- ],
338
240
  }),
339
241
  AppGraphNode.make({
340
- id: Devtools.nodeId(Devtools.Edge.id),
341
- data: null,
242
+ id: Devtools.nodeId(Devtools.Echo.Space),
243
+ data: Devtools.Echo.Space,
244
+ type: Devtools.id,
245
+ properties: {
246
+ label: ['space.label', { ns: meta.profile.key }],
247
+ icon: 'ph--planet--regular',
248
+ },
249
+ }),
250
+ AppGraphNode.make({
251
+ id: Devtools.nodeId(Devtools.Echo.Feeds),
252
+ data: Devtools.Echo.Feeds,
253
+ type: Devtools.id,
254
+ properties: {
255
+ label: ['feeds.label', { ns: meta.profile.key }],
256
+ icon: 'ph--list-bullets--regular',
257
+ },
258
+ }),
259
+ AppGraphNode.make({
260
+ id: Devtools.nodeId(Devtools.Echo.Objects),
261
+ data: Devtools.Echo.Objects,
262
+ type: Devtools.id,
263
+ properties: {
264
+ label: ['objects.label', { ns: meta.profile.key }],
265
+ icon: 'ph--cube--regular',
266
+ },
267
+ }),
268
+ AppGraphNode.make({
269
+ id: Devtools.nodeId(Devtools.Echo.Queries),
270
+ data: Devtools.Echo.Queries,
271
+ type: Devtools.id,
272
+ properties: {
273
+ label: ['queries.label', { ns: meta.profile.key }],
274
+ icon: 'ph--tree-view--regular',
275
+ },
276
+ }),
277
+ AppGraphNode.make({
278
+ id: Devtools.nodeId(Devtools.Echo.Schema),
279
+ data: Devtools.Echo.Schema,
280
+ type: Devtools.id,
281
+ properties: {
282
+ label: ['schema.label', { ns: meta.profile.key }],
283
+ icon: 'ph--database--regular',
284
+ },
285
+ }),
286
+ AppGraphNode.make({
287
+ id: Devtools.nodeId(Devtools.Echo.Registry),
288
+ data: Devtools.Echo.Registry,
289
+ type: Devtools.id,
290
+ properties: {
291
+ label: ['registry.label', { ns: meta.profile.key }],
292
+ icon: 'ph--books--regular',
293
+ },
294
+ }),
295
+ AppGraphNode.make({
296
+ id: Devtools.nodeId(Devtools.Echo.Automerge),
297
+ data: Devtools.Echo.Automerge,
298
+ type: Devtools.id,
299
+ properties: {
300
+ label: ['automerge.label', { ns: meta.profile.key }],
301
+ icon: 'ph--gear-six--regular',
302
+ },
303
+ }),
304
+ AppGraphNode.make({
305
+ id: Devtools.nodeId(Devtools.Echo.Queues),
306
+ data: Devtools.Echo.Queues,
307
+ type: Devtools.id,
308
+ properties: {
309
+ label: ['queues.label', { ns: meta.profile.key }],
310
+ icon: 'ph--queue--regular',
311
+ },
312
+ }),
313
+ AppGraphNode.make({
314
+ id: Devtools.nodeId(Devtools.Echo.Members),
315
+ data: Devtools.Echo.Members,
316
+ type: Devtools.id,
317
+ properties: {
318
+ label: ['members.label', { ns: meta.profile.key }],
319
+ icon: 'ph--users--regular',
320
+ },
321
+ }),
322
+ AppGraphNode.make({
323
+ id: Devtools.nodeId(Devtools.Echo.Metadata),
324
+ data: Devtools.Echo.Metadata,
325
+ type: Devtools.id,
326
+ properties: {
327
+ label: ['metadata.label', { ns: meta.profile.key }],
328
+ icon: 'ph--hard-drive--regular',
329
+ },
330
+ }),
331
+ ],
332
+ }),
333
+ AppGraphNode.make({
334
+ id: Devtools.nodeId(Devtools.Mesh.id),
335
+ data: null,
336
+ type: Devtools.id,
337
+ properties: {
338
+ label: ['mesh.label', { ns: meta.profile.key }],
339
+ icon: 'ph--graph--regular',
340
+ },
341
+ nodes: [
342
+ AppGraphNode.make({
343
+ id: Devtools.nodeId(Devtools.Mesh.Signal),
344
+ data: Devtools.Mesh.Signal,
345
+ type: Devtools.id,
346
+ properties: {
347
+ label: ['signal.label', { ns: meta.profile.key }],
348
+ icon: 'ph--wifi-high--regular',
349
+ },
350
+ }),
351
+ AppGraphNode.make({
352
+ id: Devtools.nodeId(Devtools.Mesh.Swarm),
353
+ data: Devtools.Mesh.Swarm,
354
+ type: Devtools.id,
355
+ properties: {
356
+ label: ['swarm.label', { ns: meta.profile.key }],
357
+ icon: 'ph--users-three--regular',
358
+ },
359
+ }),
360
+ AppGraphNode.make({
361
+ id: Devtools.nodeId(Devtools.Mesh.Network),
362
+ data: Devtools.Mesh.Network,
363
+ type: Devtools.id,
364
+ properties: {
365
+ label: ['network.label', { ns: meta.profile.key }],
366
+ icon: 'ph--polygon--regular',
367
+ },
368
+ }),
369
+ ],
370
+ }),
371
+ AppGraphNode.make({
372
+ id: Devtools.nodeId(Devtools.Edge.id),
373
+ data: null,
374
+ type: Devtools.id,
375
+ properties: {
376
+ label: ['edge.label', { ns: meta.profile.key }],
377
+ icon: 'ph--cloud--regular',
378
+ },
379
+ nodes: [
380
+ AppGraphNode.make({
381
+ id: Devtools.nodeId(Devtools.Edge.Dashboard),
382
+ data: Devtools.Edge.Dashboard,
383
+ type: Devtools.id,
384
+ properties: {
385
+ label: ['dashboard.label', { ns: meta.profile.key }],
386
+ icon: 'ph--computer-tower--regular',
387
+ },
388
+ }),
389
+ AppGraphNode.make({
390
+ id: Devtools.nodeId(Devtools.Edge.Workflows),
391
+ data: Devtools.Edge.Workflows,
392
+ type: Devtools.id,
393
+ properties: {
394
+ label: ['workflows.label', { ns: meta.profile.key }],
395
+ icon: 'ph--function--regular',
396
+ },
397
+ }),
398
+ AppGraphNode.make({
399
+ id: Devtools.nodeId(Devtools.Edge.Traces),
400
+ data: Devtools.Edge.Traces,
401
+ type: Devtools.id,
402
+ properties: {
403
+ label: ['traces.label', { ns: meta.profile.key }],
404
+ icon: 'ph--line-segments--regular',
405
+ },
406
+ }),
407
+ AppGraphNode.make({
408
+ id: Devtools.nodeId(Devtools.Edge.Testing),
409
+ data: Devtools.Edge.Testing,
342
410
  type: Devtools.id,
343
411
  properties: {
344
- label: ['edge.label', { ns: meta.profile.key }],
345
- icon: 'ph--cloud--regular',
412
+ label: ['testing.label', { ns: meta.profile.key }],
413
+ icon: 'ph--flask--regular',
346
414
  },
347
- nodes: [
348
- AppGraphNode.make({
349
- id: Devtools.nodeId(Devtools.Edge.Dashboard),
350
- data: Devtools.Edge.Dashboard,
351
- type: Devtools.id,
352
- properties: {
353
- label: ['dashboard.label', { ns: meta.profile.key }],
354
- icon: 'ph--computer-tower--regular',
355
- },
356
- }),
357
- AppGraphNode.make({
358
- id: Devtools.nodeId(Devtools.Edge.Workflows),
359
- data: Devtools.Edge.Workflows,
360
- type: Devtools.id,
361
- properties: {
362
- label: ['workflows.label', { ns: meta.profile.key }],
363
- icon: 'ph--function--regular',
364
- },
365
- }),
366
- AppGraphNode.make({
367
- id: Devtools.nodeId(Devtools.Edge.Traces),
368
- data: Devtools.Edge.Traces,
369
- type: Devtools.id,
370
- properties: {
371
- label: ['traces.label', { ns: meta.profile.key }],
372
- icon: 'ph--line-segments--regular',
373
- },
374
- }),
375
- AppGraphNode.make({
376
- id: Devtools.nodeId(Devtools.Edge.Testing),
377
- data: Devtools.Edge.Testing,
378
- type: Devtools.id,
379
- properties: {
380
- label: ['testing.label', { ns: meta.profile.key }],
381
- icon: 'ph--flask--regular',
382
- },
383
- }),
384
- ],
385
415
  }),
386
416
  ],
387
417
  }),
388
- ];
418
+ ],
389
419
  }),
420
+ ];
390
421
  }),
391
-
392
- // Devtools deck companion.
393
- AppGraphBuilder.createExtension({
394
- id: 'devtoolsOverview',
395
- match: GraphNodeMatcher.whenRoot,
396
- connector: () =>
397
- Effect.succeed([
398
- AppNode.makeDeckCompanion({
399
- id: 'devtoolsOverview',
400
- label: ['devtools-overview.label', { ns: meta.profile.key }],
401
- icon: 'ph--equalizer--regular',
402
- data: 'devtoolsOverview' as const,
403
- position: Position.last,
404
- }),
405
- ]),
406
- }),
407
- ]);
408
-
409
- return Capability.contribute(AppCapabilities.AppGraphBuilder, extensions);
410
- }),
411
- );
422
+ });