@dxos/plugin-debug 0.8.4-main.bc674ce → 0.8.4-main.c351d160a8

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 (149) hide show
  1. package/dist/lib/browser/{DebugGraph-6VMEOKEV.mjs → DebugGraph-7HXJ2PS2.mjs} +4 -3
  2. package/dist/lib/browser/{DebugGraph-6VMEOKEV.mjs.map → DebugGraph-7HXJ2PS2.mjs.map} +4 -4
  3. package/dist/lib/browser/DebugObjectPanel-KXVFOGU6.mjs +35 -0
  4. package/dist/lib/browser/DebugObjectPanel-KXVFOGU6.mjs.map +7 -0
  5. package/dist/lib/browser/DebugSettings-XNAKCV2F.mjs +174 -0
  6. package/dist/lib/browser/DebugSettings-XNAKCV2F.mjs.map +7 -0
  7. package/dist/lib/browser/DebugSpaceObjectsPanel-SIK72DXV.mjs +45 -0
  8. package/dist/lib/browser/DebugSpaceObjectsPanel-SIK72DXV.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-77PKFLYV.mjs → DevtoolsOverviewContainer-C75NFVER.mjs} +6 -5
  12. package/dist/lib/browser/DevtoolsOverviewContainer-C75NFVER.mjs.map +7 -0
  13. package/dist/lib/browser/{SpaceGenerator-H33AEFGC.mjs → SpaceGenerator-Q2GH6S6D.mjs} +313 -287
  14. package/dist/lib/browser/SpaceGenerator-Q2GH6S6D.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-LV73R7HR.mjs → app-graph-builder-FU4BCDDC.mjs} +80 -85
  18. package/dist/lib/browser/app-graph-builder-FU4BCDDC.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-4UFQXPP7.mjs → chunk-Q37TZWW5.mjs} +4 -4
  20. package/dist/lib/browser/chunk-Q37TZWW5.mjs.map +7 -0
  21. package/dist/lib/browser/{chunk-A5H5GRV6.mjs → chunk-ZOM2FBHQ.mjs} +2 -2
  22. package/dist/lib/browser/{chunk-A5H5GRV6.mjs.map → chunk-ZOM2FBHQ.mjs.map} +1 -1
  23. package/dist/lib/browser/index.mjs +25 -18
  24. package/dist/lib/browser/index.mjs.map +3 -3
  25. package/dist/lib/browser/meta.json +1 -1
  26. package/dist/lib/browser/{react-context-FSWBT3MH.mjs → react-context-5ENRJEB2.mjs} +4 -4
  27. package/dist/lib/browser/react-context-5ENRJEB2.mjs.map +7 -0
  28. package/dist/lib/browser/react-surface-VD6RD6PL.mjs +427 -0
  29. package/dist/lib/browser/react-surface-VD6RD6PL.mjs.map +7 -0
  30. package/dist/lib/browser/{settings-KA4GN73K.mjs → settings-XXFUM3QJ.mjs} +6 -5
  31. package/dist/lib/browser/settings-XXFUM3QJ.mjs.map +7 -0
  32. package/dist/types/src/DebugPlugin.d.ts +6 -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 +1 -1
  35. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
  36. package/dist/types/src/capabilities/react-context/react-context.d.ts +1 -1
  37. package/dist/types/src/capabilities/react-context/react-context.d.ts.map +1 -1
  38. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -1
  39. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
  40. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +6 -2
  41. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
  42. package/dist/types/src/capabilities/settings/index.d.ts +1 -1
  43. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -1
  44. package/dist/types/src/capabilities/settings/settings.d.ts +3 -2
  45. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -1
  46. package/dist/types/src/components/SchemaTable/SchemaTable.d.ts.map +1 -0
  47. package/dist/types/src/components/SchemaTable/index.d.ts +2 -0
  48. package/dist/types/src/components/SchemaTable/index.d.ts.map +1 -0
  49. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts +1 -1
  50. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts.map +1 -1
  51. package/dist/types/src/components/SpaceGenerator/index.d.ts +2 -2
  52. package/dist/types/src/components/SpaceGenerator/index.d.ts.map +1 -1
  53. package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -1
  54. package/dist/types/src/components/index.d.ts +2 -10
  55. package/dist/types/src/components/index.d.ts.map +1 -1
  56. package/dist/types/src/{components → containers/DebugGraph}/DebugGraph.d.ts +0 -1
  57. package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts.map +1 -0
  58. package/dist/types/src/containers/DebugGraph/index.d.ts +3 -0
  59. package/dist/types/src/containers/DebugGraph/index.d.ts.map +1 -0
  60. package/dist/types/src/{components → containers/DebugObjectPanel}/DebugObjectPanel.d.ts +1 -1
  61. package/dist/types/src/containers/DebugObjectPanel/DebugObjectPanel.d.ts.map +1 -0
  62. package/dist/types/src/containers/DebugObjectPanel/index.d.ts +3 -0
  63. package/dist/types/src/containers/DebugObjectPanel/index.d.ts.map +1 -0
  64. package/dist/types/src/{components → containers/DebugSettings}/DebugSettings.d.ts +4 -2
  65. package/dist/types/src/containers/DebugSettings/DebugSettings.d.ts.map +1 -0
  66. package/dist/types/src/containers/DebugSettings/index.d.ts +3 -0
  67. package/dist/types/src/containers/DebugSettings/index.d.ts.map +1 -0
  68. package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts +3 -0
  69. package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts.map +1 -0
  70. package/dist/types/src/containers/DebugSpaceObjectsPanel/index.d.ts +3 -0
  71. package/dist/types/src/containers/DebugSpaceObjectsPanel/index.d.ts.map +1 -0
  72. package/dist/types/src/containers/DebugStatus/DebugStatus.d.ts.map +1 -0
  73. package/dist/types/src/containers/DebugStatus/index.d.ts +3 -0
  74. package/dist/types/src/containers/DebugStatus/index.d.ts.map +1 -0
  75. package/dist/types/src/{components → containers/DevtoolsOverviewContainer}/DevtoolsOverviewContainer.d.ts +0 -1
  76. package/dist/types/src/containers/DevtoolsOverviewContainer/DevtoolsOverviewContainer.d.ts.map +1 -0
  77. package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts +3 -0
  78. package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts.map +1 -0
  79. package/dist/types/src/{components → containers}/SpaceGenerator/SpaceGenerator.d.ts.map +1 -1
  80. package/dist/types/src/containers/SpaceGenerator/index.d.ts +3 -0
  81. package/dist/types/src/containers/SpaceGenerator/index.d.ts.map +1 -0
  82. package/dist/types/src/containers/Wireframe/Wireframe.d.ts.map +1 -0
  83. package/dist/types/src/containers/Wireframe/index.d.ts +3 -0
  84. package/dist/types/src/containers/Wireframe/index.d.ts.map +1 -0
  85. package/dist/types/src/containers/index.d.ts +10 -0
  86. package/dist/types/src/containers/index.d.ts.map +1 -0
  87. package/dist/types/src/translations.d.ts +2 -0
  88. package/dist/types/src/translations.d.ts.map +1 -1
  89. package/dist/types/src/types.d.ts +34 -34
  90. package/dist/types/src/types.d.ts.map +1 -1
  91. package/dist/types/tsconfig.tsbuildinfo +1 -1
  92. package/package.json +66 -66
  93. package/src/DebugPlugin.tsx +19 -8
  94. package/src/capabilities/app-graph-builder/app-graph-builder.ts +74 -75
  95. package/src/capabilities/react-context/react-context.tsx +2 -2
  96. package/src/capabilities/react-surface/react-surface.tsx +106 -102
  97. package/src/capabilities/settings/settings.ts +3 -2
  98. package/src/components/{SpaceGenerator → SchemaTable}/SchemaTable.tsx +2 -2
  99. package/src/components/SchemaTable/index.ts +5 -0
  100. package/src/components/SpaceGenerator/ObjectGenerator.tsx +6 -7
  101. package/src/components/SpaceGenerator/index.ts +2 -3
  102. package/src/components/SpaceGenerator/presets.ts +41 -37
  103. package/src/components/index.ts +2 -13
  104. package/src/{components → containers/DebugGraph}/DebugGraph.tsx +0 -2
  105. package/src/containers/DebugGraph/index.ts +7 -0
  106. package/src/containers/DebugObjectPanel/DebugObjectPanel.tsx +47 -0
  107. package/src/containers/DebugObjectPanel/index.ts +7 -0
  108. package/src/{components → containers/DebugSettings}/DebugSettings.tsx +38 -22
  109. package/src/containers/DebugSettings/index.ts +7 -0
  110. package/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.tsx +55 -0
  111. package/src/containers/DebugSpaceObjectsPanel/index.ts +7 -0
  112. package/src/containers/DebugStatus/index.ts +7 -0
  113. package/src/{components → containers/DevtoolsOverviewContainer}/DevtoolsOverviewContainer.tsx +2 -4
  114. package/src/containers/DevtoolsOverviewContainer/index.ts +7 -0
  115. package/src/{components → containers}/SpaceGenerator/SpaceGenerator.tsx +38 -38
  116. package/src/containers/SpaceGenerator/index.ts +7 -0
  117. package/src/{components → containers/Wireframe}/Wireframe.tsx +2 -2
  118. package/src/containers/Wireframe/index.ts +7 -0
  119. package/src/containers/index.ts +14 -0
  120. package/src/meta.ts +1 -1
  121. package/src/translations.ts +2 -0
  122. package/src/types.ts +2 -3
  123. package/dist/lib/browser/DevtoolsOverviewContainer-77PKFLYV.mjs.map +0 -7
  124. package/dist/lib/browser/SpaceGenerator-H33AEFGC.mjs.map +0 -7
  125. package/dist/lib/browser/app-graph-builder-LV73R7HR.mjs.map +0 -7
  126. package/dist/lib/browser/chunk-4UFQXPP7.mjs.map +0 -7
  127. package/dist/lib/browser/react-context-FSWBT3MH.mjs.map +0 -7
  128. package/dist/lib/browser/react-surface-2N6CPSHR.mjs +0 -757
  129. package/dist/lib/browser/react-surface-2N6CPSHR.mjs.map +0 -7
  130. package/dist/lib/browser/settings-KA4GN73K.mjs.map +0 -7
  131. package/dist/types/src/components/Container.d.ts +0 -5
  132. package/dist/types/src/components/Container.d.ts.map +0 -1
  133. package/dist/types/src/components/DebugGraph.d.ts.map +0 -1
  134. package/dist/types/src/components/DebugObjectPanel.d.ts.map +0 -1
  135. package/dist/types/src/components/DebugSettings.d.ts.map +0 -1
  136. package/dist/types/src/components/DebugStatus.d.ts.map +0 -1
  137. package/dist/types/src/components/DevtoolsOverviewContainer.d.ts.map +0 -1
  138. package/dist/types/src/components/SpaceGenerator/SchemaTable.d.ts.map +0 -1
  139. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.stories.d.ts +0 -15
  140. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.stories.d.ts.map +0 -1
  141. package/dist/types/src/components/Wireframe.d.ts.map +0 -1
  142. package/src/components/Container.tsx +0 -15
  143. package/src/components/DebugObjectPanel.tsx +0 -33
  144. package/src/components/SpaceGenerator/SpaceGenerator.stories.tsx +0 -54
  145. /package/dist/types/src/components/{SpaceGenerator → SchemaTable}/SchemaTable.d.ts +0 -0
  146. /package/dist/types/src/{components → containers/DebugStatus}/DebugStatus.d.ts +0 -0
  147. /package/dist/types/src/{components → containers}/SpaceGenerator/SpaceGenerator.d.ts +0 -0
  148. /package/dist/types/src/{components → containers/Wireframe}/Wireframe.d.ts +0 -0
  149. /package/src/{components → containers/DebugStatus}/DebugStatus.tsx +0 -0
@@ -5,8 +5,10 @@
5
5
  import * as Effect from 'effect/Effect';
6
6
  import React, { useCallback } from 'react';
7
7
 
8
- import { Capability, Common } from '@dxos/app-framework';
9
- import { useCapability, useLayout, useOperationInvoker, useSettingsState } from '@dxos/app-framework/react';
8
+ import { Capabilities, Capability } from '@dxos/app-framework';
9
+ import { Surface, useCapability, useOperationInvoker, useSettingsState } from '@dxos/app-framework/ui';
10
+ import { AppCapabilities, LayoutOperation, getObjectPathFromObject } from '@dxos/app-toolkit';
11
+
10
12
  import {
11
13
  AutomergePanel,
12
14
  ConfigPanel,
@@ -35,24 +37,27 @@ import {
35
37
  WorkflowPanel,
36
38
  } from '@dxos/devtools';
37
39
  import { Obj } from '@dxos/echo';
40
+ import { Collection } from '@dxos/echo';
41
+ import { type LogBuffer } from '@dxos/log';
38
42
  import { log } from '@dxos/log';
39
- import { ClientCapabilities } from '@dxos/plugin-client';
43
+
40
44
  import { type Graph } from '@dxos/plugin-graph';
41
45
  import { ScriptOperation } from '@dxos/plugin-script/types';
42
46
  import { SpaceOperation } from '@dxos/plugin-space/types';
43
- import { type Space, SpaceState, isSpace, parseId } from '@dxos/react-client/echo';
44
- import { Layout } from '@dxos/react-ui-mosaic';
45
- import { Collection } from '@dxos/schema';
47
+ import { useActiveSpace } from '@dxos/plugin-space';
48
+ import { type Space, SpaceState, isSpace } from '@dxos/react-client/echo';
49
+ import { Panel } from '@dxos/react-ui';
46
50
 
47
51
  import {
48
52
  DebugGraph,
49
53
  DebugObjectPanel,
50
54
  DebugSettings,
55
+ DebugSpaceObjectsPanel,
51
56
  DebugStatus,
52
57
  DevtoolsOverviewContainer,
53
58
  SpaceGenerator,
54
59
  Wireframe,
55
- } from '../../components';
60
+ } from '../../containers';
56
61
  import { meta } from '../../meta';
57
62
  import { DebugCapabilities, type DebugSettingsProps, Devtools } from '../../types';
58
63
 
@@ -66,7 +71,7 @@ type GraphDebug = {
66
71
  root: string;
67
72
  };
68
73
 
69
- const isSpaceDebug = (data: any): data is SpaceDebug => data?.type === `${meta.id}/space` && isSpace(data.space);
74
+ const isSpaceDebug = (data: any): data is SpaceDebug => data?.type === `${meta.id}.space` && isSpace(data.space);
70
75
  const isGraphDebug = (data: any): data is GraphDebug => {
71
76
  const graph = data?.graph;
72
77
  return (
@@ -74,34 +79,31 @@ const isGraphDebug = (data: any): data is GraphDebug => {
74
79
  );
75
80
  };
76
81
 
77
- // TODO(wittjosiah): Factor out?
78
- const useCurrentSpace = () => {
79
- const layout = useLayout();
80
- const client = useCapability(ClientCapabilities.Client);
81
- const { spaceId } = parseId(layout.workspace);
82
- const space = spaceId ? client.spaces.get(spaceId) : undefined;
83
- return space;
82
+ const useCurrentSpace = useActiveSpace;
83
+
84
+ type ReactSurfaceOptions = {
85
+ logBuffer: LogBuffer;
84
86
  };
85
87
 
86
88
  export default Capability.makeModule(
87
- Effect.fnUntraced(function* () {
89
+ Effect.fnUntraced(function* ({ logBuffer }: ReactSurfaceOptions) {
88
90
  const capabilities = yield* Capability.Service;
89
- const registry = capabilities.get(Common.Capability.AtomRegistry);
91
+ const registry = capabilities.get(Capabilities.AtomRegistry);
90
92
  const settingsAtom = capabilities.get(DebugCapabilities.Settings);
91
93
 
92
- return Capability.contributes(Common.Capability.ReactSurface, [
93
- Common.createSurface({
94
- id: `${meta.id}/plugin-settings`,
94
+ return Capability.contributes(Capabilities.ReactSurface, [
95
+ Surface.create({
96
+ id: `${meta.id}.plugin-settings`,
95
97
  role: 'article',
96
- filter: (data): data is { subject: Common.Capability.Settings } =>
97
- Common.Capability.isSettings(data.subject) && data.subject.prefix === meta.id,
98
+ filter: (data): data is { subject: AppCapabilities.Settings } =>
99
+ AppCapabilities.isSettings(data.subject) && data.subject.prefix === meta.id,
98
100
  component: ({ data: { subject } }) => {
99
101
  const { settings, updateSettings } = useSettingsState<DebugSettingsProps>(subject.atom);
100
- return <DebugSettings settings={settings} onSettingsChange={updateSettings} />;
102
+ return <DebugSettings settings={settings} onSettingsChange={updateSettings} logBuffer={logBuffer} />;
101
103
  },
102
104
  }),
103
- Common.createSurface({
104
- id: `${meta.id}/space`,
105
+ Surface.create({
106
+ id: `${meta.id}.space`,
105
107
  role: 'article',
106
108
  filter: (data): data is { subject: SpaceDebug } => isSpaceDebug(data.subject),
107
109
  component: ({ role, data }) => {
@@ -131,102 +133,111 @@ export default Capability.makeModule(
131
133
  );
132
134
 
133
135
  return (
134
- <Layout.Main role={role}>
135
- <SpaceGenerator space={data.subject.space} onCreateObjects={handleCreateObject} />
136
- </Layout.Main>
136
+ <Panel.Root role={role} className='dx-document'>
137
+ <Panel.Content asChild>
138
+ <SpaceGenerator space={data.subject.space} onCreateObjects={handleCreateObject} />
139
+ </Panel.Content>
140
+ </Panel.Root>
137
141
  );
138
142
  },
139
143
  }),
140
- Common.createSurface({
141
- id: `${meta.id}/app-graph`,
144
+ Surface.create({
145
+ id: `${meta.id}.app-graph`,
142
146
  role: 'article',
143
147
  filter: (data): data is { subject: GraphDebug } => isGraphDebug(data.subject),
144
148
  component: ({ data }) => <DebugGraph graph={data.subject.graph} root={data.subject.root} />,
145
149
  }),
146
- Common.createSurface({
147
- id: `${meta.id}/wireframe`,
150
+ Surface.create({
151
+ id: `${meta.id}.wireframe`,
148
152
  role: ['article', 'section'],
149
153
  position: 'hoist',
150
154
  filter: (data): data is { subject: Obj.Unknown } => {
151
155
  const settings = registry.get(settingsAtom);
152
156
  return Obj.isObject(data.subject) && !!settings.wireframe;
153
157
  },
154
- component: ({ data, role }) => (
158
+ component: ({ data, role, name }) => (
155
159
  <Wireframe label={`${role}:${name}`} object={data.subject} classNames='row-span-2 overflow-hidden' />
156
160
  ),
157
161
  }),
158
- Common.createSurface({
159
- id: `${meta.id}/object-debug`,
162
+ Surface.create({
163
+ id: `${meta.id}.object-debug`,
160
164
  role: 'article',
161
165
  filter: (data): data is { companionTo: Obj.Unknown } =>
162
166
  data.subject === 'debug' && Obj.isObject(data.companionTo),
163
167
  component: ({ data }) => <DebugObjectPanel object={data.companionTo} />,
164
168
  }),
165
- Common.createSurface({
166
- id: `${meta.id}/devtools-overview`,
169
+ Surface.create({
170
+ id: `${meta.id}.devtools-overview`,
167
171
  role: 'deck-companion--devtools',
172
+ filter: (data): data is { subject: 'devtools' } => data.subject === 'devtools',
168
173
  component: () => <DevtoolsOverviewContainer />,
169
174
  }),
170
- Common.createSurface({
171
- id: `${meta.id}/status`,
175
+ Surface.create({
176
+ id: `${meta.id}.space-objects`,
177
+ role: 'deck-companion--space-objects',
178
+ filter: (data): data is { subject: 'space-objects' } => data.subject === 'space-objects',
179
+ component: () => <DebugSpaceObjectsPanel />,
180
+ }),
181
+
182
+ Surface.create({
183
+ id: `${meta.id}.status`,
172
184
  role: 'status',
173
185
  component: () => <DebugStatus />,
174
186
  }),
175
-
176
187
  //
177
188
  // Devtools
178
189
  //
179
190
 
180
- Common.createSurface({
181
- id: `${meta.id}/client/config`,
191
+ Surface.create({
192
+ id: `${meta.id}.client.config`,
182
193
  role: 'article',
183
194
  filter: (data): data is any => data.subject === Devtools.Client.Config,
184
195
  component: () => <ConfigPanel vaultSelector={false} />,
185
196
  }),
186
- Common.createSurface({
187
- id: `${meta.id}/client/storage`,
197
+ Surface.create({
198
+ id: `${meta.id}.client.storage`,
188
199
  role: 'article',
189
200
  filter: (data): data is any => data.subject === Devtools.Client.Storage,
190
201
  component: () => <StoragePanel />,
191
202
  }),
192
- Common.createSurface({
193
- id: `${meta.id}/client/logs`,
203
+ Surface.create({
204
+ id: `${meta.id}.client.logs`,
194
205
  role: 'article',
195
206
  filter: (data): data is any => data.subject === Devtools.Client.Logs,
196
207
  component: () => <LoggingPanel />,
197
208
  }),
198
- Common.createSurface({
199
- id: `${meta.id}/client/diagnostics`,
209
+ Surface.create({
210
+ id: `${meta.id}.client.diagnostics`,
200
211
  role: 'article',
201
212
  filter: (data): data is any => data.subject === Devtools.Client.Diagnostics,
202
213
  component: () => <DiagnosticsPanel />,
203
214
  }),
204
- Common.createSurface({
205
- id: `${meta.id}/client/tracing`,
215
+ Surface.create({
216
+ id: `${meta.id}.client.tracing`,
206
217
  role: 'article',
207
218
  filter: (data): data is any => data.subject === Devtools.Client.Tracing,
208
219
  component: () => <TracingPanel />,
209
220
  }),
210
- Common.createSurface({
211
- id: `${meta.id}/halo/identity`,
221
+ Surface.create({
222
+ id: `${meta.id}.halo.identity`,
212
223
  role: 'article',
213
224
  filter: (data): data is any => data.subject === Devtools.Halo.Identity,
214
225
  component: () => <IdentityPanel />,
215
226
  }),
216
- Common.createSurface({
217
- id: `${meta.id}/halo/devices`,
227
+ Surface.create({
228
+ id: `${meta.id}.halo.devices`,
218
229
  role: 'article',
219
230
  filter: (data): data is any => data.subject === Devtools.Halo.Devices,
220
231
  component: () => <DeviceListPanel />,
221
232
  }),
222
- Common.createSurface({
223
- id: `${meta.id}/halo/keyring`,
233
+ Surface.create({
234
+ id: `${meta.id}.halo.keyring`,
224
235
  role: 'article',
225
236
  filter: (data): data is any => data.subject === Devtools.Halo.Keyring,
226
237
  component: () => <KeyringPanel />,
227
238
  }),
228
- Common.createSurface({
229
- id: `${meta.id}/halo/credentials`,
239
+ Surface.create({
240
+ id: `${meta.id}.halo.credentials`,
230
241
  role: 'article',
231
242
  filter: (data): data is any => data.subject === Devtools.Halo.Credentials,
232
243
  component: () => {
@@ -234,35 +245,35 @@ export default Capability.makeModule(
234
245
  return <CredentialsPanel space={space} />;
235
246
  },
236
247
  }),
237
- Common.createSurface({
238
- id: `${meta.id}/echo/spaces`,
248
+ Surface.create({
249
+ id: `${meta.id}.echo.spaces`,
239
250
  role: 'article',
240
251
  filter: (data): data is any => data.subject === Devtools.Echo.Spaces,
241
252
  component: () => {
242
253
  const { invokePromise } = useOperationInvoker();
243
254
  const handleSelect = useCallback(
244
- () => invokePromise(Common.LayoutOperation.Open, { subject: [Devtools.Echo.Space] }),
255
+ () => invokePromise(LayoutOperation.Open, { subject: [Devtools.Echo.Space] }),
245
256
  [invokePromise],
246
257
  );
247
258
  return <SpaceListPanel onSelect={handleSelect} />;
248
259
  },
249
260
  }),
250
- Common.createSurface({
251
- id: `${meta.id}/echo/space`,
261
+ Surface.create({
262
+ id: `${meta.id}.echo.space`,
252
263
  role: 'article',
253
264
  filter: (data): data is any => data.subject === Devtools.Echo.Space,
254
265
  component: () => {
255
266
  const space = useCurrentSpace();
256
267
  const { invokePromise } = useOperationInvoker();
257
268
  const handleSelect = useCallback(
258
- () => invokePromise(Common.LayoutOperation.Open, { subject: [Devtools.Echo.Feeds] }),
269
+ () => invokePromise(LayoutOperation.Open, { subject: [Devtools.Echo.Feeds] }),
259
270
  [invokePromise],
260
271
  );
261
272
  return <SpaceInfoPanel space={space} onSelectFeed={handleSelect} onSelectPipeline={handleSelect} />;
262
273
  },
263
274
  }),
264
- Common.createSurface({
265
- id: `${meta.id}/echo/feeds`,
275
+ Surface.create({
276
+ id: `${meta.id}.echo.feeds`,
266
277
  role: 'article',
267
278
  filter: (data): data is any => data.subject === Devtools.Echo.Feeds,
268
279
  component: () => {
@@ -270,8 +281,8 @@ export default Capability.makeModule(
270
281
  return <FeedsPanel space={space} />;
271
282
  },
272
283
  }),
273
- Common.createSurface({
274
- id: `${meta.id}/echo/objects`,
284
+ Surface.create({
285
+ id: `${meta.id}.echo.objects`,
275
286
  role: 'article',
276
287
  filter: (data): data is any => data.subject === Devtools.Echo.Objects,
277
288
  component: () => {
@@ -279,8 +290,8 @@ export default Capability.makeModule(
279
290
  return <ObjectsPanel space={space} />;
280
291
  },
281
292
  }),
282
- Common.createSurface({
283
- id: `${meta.id}/echo/schema`,
293
+ Surface.create({
294
+ id: `${meta.id}.echo.schema`,
284
295
  role: 'article',
285
296
  filter: (data): data is any => data.subject === Devtools.Echo.Schema,
286
297
  component: () => {
@@ -288,8 +299,8 @@ export default Capability.makeModule(
288
299
  return <SchemaPanel space={space} />;
289
300
  },
290
301
  }),
291
- Common.createSurface({
292
- id: `${meta.id}/echo/automerge`,
302
+ Surface.create({
303
+ id: `${meta.id}.echo.automerge`,
293
304
  role: 'article',
294
305
  filter: (data): data is any => data.subject === Devtools.Echo.Automerge,
295
306
  component: () => {
@@ -297,14 +308,14 @@ export default Capability.makeModule(
297
308
  return <AutomergePanel space={space} />;
298
309
  },
299
310
  }),
300
- Common.createSurface({
301
- id: `${meta.id}/echo/queues`,
311
+ Surface.create({
312
+ id: `${meta.id}.echo.queues`,
302
313
  role: 'article',
303
314
  filter: (data): data is any => data.subject === Devtools.Echo.Queues,
304
315
  component: () => <QueuesPanel />,
305
316
  }),
306
- Common.createSurface({
307
- id: `${meta.id}/echo/members`,
317
+ Surface.create({
318
+ id: `${meta.id}.echo.members`,
308
319
  role: 'article',
309
320
  filter: (data): data is any => data.subject === Devtools.Echo.Members,
310
321
  component: () => {
@@ -312,26 +323,26 @@ export default Capability.makeModule(
312
323
  return <MembersPanel space={space} />;
313
324
  },
314
325
  }),
315
- Common.createSurface({
316
- id: `${meta.id}/echo/metadata`,
326
+ Surface.create({
327
+ id: `${meta.id}.echo.metadata`,
317
328
  role: 'article',
318
329
  filter: (data): data is any => data.subject === Devtools.Echo.Metadata,
319
330
  component: () => <MetadataPanel />,
320
331
  }),
321
- Common.createSurface({
322
- id: `${meta.id}/mesh/signal`,
332
+ Surface.create({
333
+ id: `${meta.id}.mesh.signal`,
323
334
  role: 'article',
324
335
  filter: (data): data is any => data.subject === Devtools.Mesh.Signal,
325
336
  component: () => <SignalPanel />,
326
337
  }),
327
- Common.createSurface({
328
- id: `${meta.id}/mesh/swarm`,
338
+ Surface.create({
339
+ id: `${meta.id}.mesh.swarm`,
329
340
  role: 'article',
330
341
  filter: (data): data is any => data.subject === Devtools.Mesh.Swarm,
331
342
  component: () => <SwarmPanel />,
332
343
  }),
333
- Common.createSurface({
334
- id: `${meta.id}/mesh/network`,
344
+ Surface.create({
345
+ id: `${meta.id}.mesh.network`,
335
346
  role: 'article',
336
347
  filter: (data): data is any => data.subject === Devtools.Mesh.Network,
337
348
  component: () => {
@@ -339,21 +350,14 @@ export default Capability.makeModule(
339
350
  return <NetworkPanel space={space} />;
340
351
  },
341
352
  }),
342
- // TODO(wittjosiah): Remove?
343
- // createSurface({
344
- // id: `${meta.id}/agent/dashboard`,
345
- // role: 'article',
346
- // filter: (data): data is any => data.subject === Devtools.Agent.Dashboard,
347
- // component: () => <DashboardPanel />,
348
- // }),
349
- Common.createSurface({
350
- id: `${meta.id}/edge/dashboard`,
353
+ Surface.create({
354
+ id: `${meta.id}.edge.dashboard`,
351
355
  role: 'article',
352
356
  filter: (data): data is any => data.subject === Devtools.Edge.Dashboard,
353
357
  component: () => <EdgeDashboardPanel />,
354
358
  }),
355
- Common.createSurface({
356
- id: `${meta.id}/edge/workflows`,
359
+ Surface.create({
360
+ id: `${meta.id}.edge.workflows`,
357
361
  role: 'article',
358
362
  filter: (data): data is any => data.subject === Devtools.Edge.Workflows,
359
363
  component: () => {
@@ -361,8 +365,8 @@ export default Capability.makeModule(
361
365
  return <WorkflowPanel space={space} />;
362
366
  },
363
367
  }),
364
- Common.createSurface({
365
- id: `${meta.id}/edge/traces`,
368
+ Surface.create({
369
+ id: `${meta.id}.edge.traces`,
366
370
  role: 'article',
367
371
  filter: (data): data is any => data.subject === Devtools.Edge.Traces,
368
372
  component: () => {
@@ -371,8 +375,8 @@ export default Capability.makeModule(
371
375
  return <InvocationTraceContainer db={space?.db} queueDxn={queueDxn} detailAxis='block' />;
372
376
  },
373
377
  }),
374
- Common.createSurface({
375
- id: `${meta.id}/edge/testing`,
378
+ Surface.create({
379
+ id: `${meta.id}.edge.testing`,
376
380
  role: 'article',
377
381
  filter: (data): data is any => data.subject === Devtools.Edge.Testing,
378
382
  component: () => {
@@ -393,9 +397,9 @@ export default Capability.makeModule(
393
397
  await invokePromise(SpaceOperation.AddObject, { target: space.db, object: createResult.data.object });
394
398
  }
395
399
  log.info('script created', { result: createResult });
396
- if (createResult.data?.object?.id) {
397
- await invokePromise(Common.LayoutOperation.Open, {
398
- subject: [`${space.id}:${createResult.data.object.id}`],
400
+ if (createResult.data?.object) {
401
+ await invokePromise(LayoutOperation.Open, {
402
+ subject: [getObjectPathFromObject(createResult.data.object)],
399
403
  });
400
404
  }
401
405
  },
@@ -4,7 +4,8 @@
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
- import { Capability, Common } from '@dxos/app-framework';
7
+ import { Capability } from '@dxos/app-framework';
8
+ import { AppCapabilities } from '@dxos/app-toolkit';
8
9
  import { createKvsStore } from '@dxos/effect';
9
10
 
10
11
  import { meta } from '../../meta';
@@ -20,7 +21,7 @@ export default Capability.makeModule(() =>
20
21
 
21
22
  return [
22
23
  Capability.contributes(DebugCapabilities.Settings, settingsAtom),
23
- Capability.contributes(Common.Capability.Settings, {
24
+ Capability.contributes(AppCapabilities.Settings, {
24
25
  prefix: meta.id,
25
26
  schema: DebugSettingsSchema,
26
27
  atom: settingsAtom,
@@ -19,8 +19,8 @@ export const SchemaTable = ({ types, objects = {}, label, onClick }: SchemaTable
19
19
  <h2 className='p-2'>{label}</h2>
20
20
  {types.map((type) => (
21
21
  <div key={type.typename} className='grid grid-cols-subgrid col-span-3 items-center'>
22
- <div className='pli-2 text-sm font-mono text-subdued'>{type.typename}</div>
23
- <div className='pli-2 text-right font-mono'>{objects[type.typename] ?? 0}</div>
22
+ <div className='px-2 text-sm font-mono text-subdued'>{type.typename}</div>
23
+ <div className='px-2 text-right font-mono'>{objects[type.typename] ?? 0}</div>
24
24
  <IconButton
25
25
  variant='ghost'
26
26
  icon='ph--plus--regular'
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ export * from './SchemaTable';
@@ -7,15 +7,16 @@ import type * as Schema from 'effect/Schema';
7
7
  import { addressToA1Notation } from '@dxos/compute';
8
8
  import { ComputeGraph, ComputeGraphModel, DEFAULT_OUTPUT, NODE_INPUT, NODE_OUTPUT } from '@dxos/conductor';
9
9
  import { DXN, Filter, Key, type Type } from '@dxos/echo';
10
+ import { View } from '@dxos/echo';
10
11
  import { type OperationInvoker } from '@dxos/operation';
11
12
  import { Markdown } from '@dxos/plugin-markdown/types';
12
13
  import { Sheet } from '@dxos/plugin-sheet/types';
13
- import { Diagram } from '@dxos/plugin-sketch/types';
14
+ import { Sketch } from '@dxos/plugin-sketch/types';
14
15
  import { SpaceOperation } from '@dxos/plugin-space/types';
15
16
  import { faker } from '@dxos/random';
16
17
  import { type Client } from '@dxos/react-client';
17
18
  import { type Space } from '@dxos/react-client/echo';
18
- import { View, getTypenameFromQuery } from '@dxos/schema';
19
+ import { getTypenameFromQuery } from '@dxos/schema';
19
20
  import { type ValueGenerator, createAsyncGenerator } from '@dxos/schema/testing';
20
21
  import { range } from '@dxos/util';
21
22
 
@@ -27,7 +28,7 @@ const findViewByTypename = async (views: View.View[], typename: string) => {
27
28
 
28
29
  export type ObjectGenerator<T> = (space: Space, n: number, cb?: (objects: T[]) => void) => Promise<T[]>;
29
30
 
30
- export const createGenerator = <S extends Type.Obj.Any>(
31
+ export const createGenerator = <S extends Type.AnyObj>(
31
32
  client: Client,
32
33
  invokePromise: OperationInvoker.OperationInvoker['invokePromise'],
33
34
  schema: S,
@@ -41,8 +42,6 @@ export const createGenerator = <S extends Type.Obj.Any>(
41
42
  const staticSchema = client?.graph.schemaRegistry.query({ typename }).runSync()[0];
42
43
  if (!view && !staticSchema) {
43
44
  await invokePromise(SpaceOperation.AddSchema, { db: space.db, schema, show: false });
44
- } else if (!view && staticSchema) {
45
- await invokePromise(SpaceOperation.UseStaticSchema, { db: space.db, typename, show: false });
46
45
  }
47
46
 
48
47
  // Create objects.
@@ -69,10 +68,10 @@ export const staticGenerators = new Map<string, ObjectGenerator<any>>([
69
68
  },
70
69
  ],
71
70
  [
72
- Diagram.Diagram.typename,
71
+ Sketch.Sketch.typename,
73
72
  async (space, n, cb) => {
74
73
  const objects = range(n).map(() => {
75
- const obj = space.db.add(Diagram.make({ name: faker.commerce.productName() }));
74
+ const obj = space.db.add(Sketch.make({ name: faker.commerce.productName() }));
76
75
  return obj;
77
76
  });
78
77
 
@@ -2,6 +2,5 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { SpaceGenerator } from './SpaceGenerator';
6
-
7
- export default SpaceGenerator;
5
+ export * from './presets';
6
+ export * from './ObjectGenerator';