@dxos/plugin-devtools 0.11.1 → 0.12.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d
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.
- package/dist/lib/{chunk-types.mjs → Devtools.mjs} +5 -14
- package/dist/lib/Devtools.mjs.map +1 -0
- package/dist/lib/DevtoolsEvents.mjs +15 -0
- package/dist/lib/DevtoolsEvents.mjs.map +1 -0
- package/dist/lib/DevtoolsPlugin.mjs +9 -13
- package/dist/lib/DevtoolsPlugin.mjs.map +1 -1
- package/dist/lib/DevtoolsPlugin.node.mjs +2 -3
- package/dist/lib/DevtoolsPlugin.node.mjs.map +1 -1
- package/dist/lib/DevtoolsPlugin.workerd.mjs +1 -1
- package/dist/lib/DevtoolsPlugin.workerd.mjs.map +1 -1
- package/dist/lib/capabilities.mjs +5 -4
- package/dist/lib/capabilities.mjs.map +1 -1
- package/dist/lib/chunk-CliPanel.mjs +103 -0
- package/dist/lib/chunk-CliPanel.mjs.map +1 -0
- package/dist/lib/chunk-RegistryPanel.mjs +2 -2
- package/dist/lib/chunk-RegistryPanel.mjs.map +1 -1
- package/dist/lib/chunk-app-graph-builder.mjs +113 -100
- package/dist/lib/chunk-app-graph-builder.mjs.map +1 -1
- package/dist/lib/chunk-meta.mjs +1 -1
- package/dist/lib/chunk-meta.mjs.map +1 -1
- package/dist/lib/chunk-react-context.mjs +3 -2
- package/dist/lib/chunk-react-context.mjs.map +1 -1
- package/dist/lib/chunk-react-surface.mjs +43 -36
- package/dist/lib/chunk-react-surface.mjs.map +1 -1
- package/dist/lib/chunk-rolldown-runtime.mjs +13 -0
- package/dist/lib/containers.mjs +2 -1
- package/dist/lib/containers.mjs.map +1 -1
- package/dist/lib/index.mjs +3 -2
- package/dist/lib/plugin.mjs +1 -1
- package/dist/lib/plugin.mjs.map +1 -1
- package/dist/lib/translations.mjs +1 -0
- package/dist/lib/translations.mjs.map +1 -1
- package/dist/types/src/DevtoolsPlugin.d.ts +1 -1
- package/dist/types/src/DevtoolsPlugin.d.ts.map +1 -1
- package/dist/types/src/DevtoolsPlugin.node.d.ts +1 -1
- package/dist/types/src/DevtoolsPlugin.node.d.ts.map +1 -1
- package/dist/types/src/DevtoolsPlugin.workerd.d.ts +1 -1
- package/dist/types/src/DevtoolsPlugin.workerd.d.ts.map +1 -1
- package/dist/types/src/capabilities/DevtoolsSurfaces.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -2
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +3 -4
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-context.d.ts +2 -2
- package/dist/types/src/capabilities/react-context.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +2 -2
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/containers/CliPanel/CliPanel.d.ts +6 -0
- package/dist/types/src/containers/CliPanel/CliPanel.d.ts.map +1 -0
- package/dist/types/src/containers/CliPanel/CliPanel.stories.d.ts +91 -0
- package/dist/types/src/containers/CliPanel/CliPanel.stories.d.ts.map +1 -0
- package/dist/types/src/containers/CliPanel/index.d.ts +2 -0
- package/dist/types/src/containers/CliPanel/index.d.ts.map +1 -0
- package/dist/types/src/containers/CliPanel/useCliApp.d.ts +27 -0
- package/dist/types/src/containers/CliPanel/useCliApp.d.ts.map +1 -0
- package/dist/types/src/containers/GithubPanel/GithubComponent.stories.d.ts +2 -1
- package/dist/types/src/containers/GithubPanel/GithubComponent.stories.d.ts.map +1 -1
- package/dist/types/src/containers/index.d.ts +1 -0
- package/dist/types/src/containers/index.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/plugin.d.ts +1 -1
- package/dist/types/src/plugin.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +1 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Devtools.d.ts +1 -0
- package/dist/types/src/types/Devtools.d.ts.map +1 -1
- package/dist/types/src/types/DevtoolsEvents.d.ts +8 -0
- package/dist/types/src/types/DevtoolsEvents.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +52 -58
- package/src/DevtoolsPlugin.node.ts +2 -6
- package/src/DevtoolsPlugin.test.ts +4 -2
- package/src/DevtoolsPlugin.tsx +20 -18
- package/src/DevtoolsPlugin.workerd.ts +1 -1
- package/src/capabilities/DevtoolsSurfaces.tsx +4 -3
- package/src/capabilities/app-graph-builder.ts +24 -6
- package/src/capabilities/index.ts +9 -4
- package/src/capabilities/react-context.tsx +3 -2
- package/src/capabilities/react-surface.ts +10 -4
- package/src/containers/CliPanel/CliPanel.stories.tsx +74 -0
- package/src/containers/CliPanel/CliPanel.tsx +45 -0
- package/src/containers/CliPanel/index.ts +5 -0
- package/src/containers/CliPanel/useCliApp.ts +97 -0
- package/src/containers/RegistryPanel/RegistryPanel.tsx +1 -1
- package/src/containers/index.ts +1 -0
- package/src/index.ts +2 -1
- package/src/meta.ts +1 -1
- package/src/plugin.ts +1 -1
- package/src/translations.ts +1 -0
- package/src/types/Devtools.ts +1 -0
- package/src/types/DevtoolsEvents.ts +16 -0
- package/dist/lib/chunk-types.mjs.map +0 -1
- package/dist/lib/types.mjs +0 -2
- package/dist/types/src/types/index.d.ts +0 -2
- package/dist/types/src/types/index.d.ts.map +0 -1
- package/src/types/index.ts +0 -5
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Cli, Client, Echo, Edge, Halo, Mesh, ToolsExplorer as ToolsExplorer$1 } from "./Devtools.mjs";
|
|
2
2
|
import * as Effect from "effect/Effect";
|
|
3
|
-
import
|
|
3
|
+
import * as Capability from "@dxos/app-framework/Capability";
|
|
4
4
|
import { useCallback } from "react";
|
|
5
|
-
import
|
|
5
|
+
import * as GraphPath from "@dxos/app-toolkit/GraphPath";
|
|
6
|
+
import * as Capabilities from "@dxos/app-framework/Capabilities";
|
|
6
7
|
import { Surface, useOperationInvoker } from "@dxos/app-framework/ui";
|
|
7
8
|
import { AutomergePanel, ConfigPanel, CredentialsPanel, DeviceListPanel, DiagnosticsPanel, EdgeDashboardPanel, FeedsPanel, IdentityPanel, InvocationTraceContainer, KeyringPanel, LoggingPanel, MembersPanel, MetadataPanel, NetworkPanel, ObjectsPanel, QueuesPanel, SchemaPanel, SignalPanel, SpaceInfoPanel, SpaceListPanel, SqlitePanel, StoragePanel, SwarmPanel, TestingPanel, WorkflowPanel } from "@dxos/devtools";
|
|
8
9
|
import { jsx } from "react/jsx-runtime";
|
|
9
10
|
import { AppSurface, useActiveSpace } from "@dxos/app-toolkit/ui";
|
|
10
11
|
import { EDGE_SERVICE_DEFAULTS, EdgeServiceName } from "@dxos/config";
|
|
11
12
|
import { ToolsExplorer } from "@dxos/react-ui-introspect";
|
|
12
|
-
import { DebugGraph, DevtoolsOverviewContainer, RegistryPanel } from "#containers";
|
|
13
|
+
import { CliPanel, DebugGraph, DevtoolsOverviewContainer, RegistryPanel } from "#containers";
|
|
14
|
+
import * as LayoutOperation from "@dxos/app-toolkit/LayoutOperation";
|
|
13
15
|
import { Feed } from "@dxos/echo";
|
|
14
16
|
import { log } from "@dxos/log";
|
|
15
|
-
import
|
|
17
|
+
import * as ScriptOperation from "@dxos/plugin-script/ScriptOperation";
|
|
16
18
|
import { SpaceOperation } from "@dxos/plugin-space";
|
|
17
19
|
//#region src/capabilities/DevtoolsSurfaces.tsx
|
|
18
20
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-devtools/src/capabilities/DevtoolsSurfaces.tsx";
|
|
@@ -26,12 +28,12 @@ var ActiveSpacePanel = ({ Panel }) => {
|
|
|
26
28
|
};
|
|
27
29
|
var SpaceListSurface = () => {
|
|
28
30
|
const { invokePromise } = useOperationInvoker();
|
|
29
|
-
return /* @__PURE__ */ jsx(SpaceListPanel, { onSelect: useCallback(() => invokePromise(LayoutOperation.Open, { subject: [
|
|
31
|
+
return /* @__PURE__ */ jsx(SpaceListPanel, { onSelect: useCallback(() => invokePromise(LayoutOperation.Open, { subject: [Echo.Space] }), [invokePromise]) });
|
|
30
32
|
};
|
|
31
33
|
var SpaceInfoSurface = () => {
|
|
32
34
|
const space = useActiveSpace();
|
|
33
35
|
const { invokePromise } = useOperationInvoker();
|
|
34
|
-
const handleSelect = useCallback(() => invokePromise(LayoutOperation.Open, { subject: [
|
|
36
|
+
const handleSelect = useCallback(() => invokePromise(LayoutOperation.Open, { subject: [Echo.Feeds] }), [invokePromise]);
|
|
35
37
|
if (!space) return null;
|
|
36
38
|
return /* @__PURE__ */ jsx(SpaceInfoPanel, {
|
|
37
39
|
space,
|
|
@@ -68,7 +70,7 @@ var EdgeTestingSurface = () => {
|
|
|
68
70
|
log.info("script created", { result: createResult }, {
|
|
69
71
|
"~LogMeta": "~LogMeta",
|
|
70
72
|
F: __dxlog_file,
|
|
71
|
-
L:
|
|
73
|
+
L: 90,
|
|
72
74
|
S: void 0
|
|
73
75
|
});
|
|
74
76
|
if (createResult.data?.object) await invokePromise(LayoutOperation.Open, { subject: [GraphPath.getObjectPathFromObject(createResult.data.object)] });
|
|
@@ -84,7 +86,7 @@ var isGraphDebug = (data) => {
|
|
|
84
86
|
return typeof graph === "object" && graph !== null && "json" in graph && typeof graph.json === "function" && typeof root === "string";
|
|
85
87
|
};
|
|
86
88
|
var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
87
|
-
return Capability.
|
|
89
|
+
return Capability.contribute(Capabilities.ReactSurface, [
|
|
88
90
|
Surface.create({
|
|
89
91
|
id: "appGraph",
|
|
90
92
|
filter: AppSurface.subject(AppSurface.Article, isGraphDebug),
|
|
@@ -96,13 +98,18 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ()
|
|
|
96
98
|
}),
|
|
97
99
|
Surface.create({
|
|
98
100
|
id: "toolsExplorer",
|
|
99
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
101
|
+
filter: AppSurface.literal(AppSurface.Article, ToolsExplorer$1),
|
|
100
102
|
component: ToolsExplorer,
|
|
101
103
|
props: () => ({ serverUrl: MCP_SERVER_URL })
|
|
102
104
|
}),
|
|
105
|
+
Surface.create({
|
|
106
|
+
id: "cli",
|
|
107
|
+
filter: AppSurface.literal(AppSurface.Article, Cli),
|
|
108
|
+
component: CliPanel
|
|
109
|
+
}),
|
|
103
110
|
Surface.create({
|
|
104
111
|
id: "registry",
|
|
105
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
112
|
+
filter: AppSurface.literal(AppSurface.Article, Echo.Registry),
|
|
106
113
|
component: RegistryPanel
|
|
107
114
|
}),
|
|
108
115
|
Surface.create({
|
|
@@ -112,136 +119,136 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ()
|
|
|
112
119
|
}),
|
|
113
120
|
Surface.create({
|
|
114
121
|
id: "client.config",
|
|
115
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
122
|
+
filter: AppSurface.literal(AppSurface.Article, Client.Config),
|
|
116
123
|
component: ConfigPanel,
|
|
117
124
|
props: () => ({ vaultSelector: false })
|
|
118
125
|
}),
|
|
119
126
|
Surface.create({
|
|
120
127
|
id: "client.storage",
|
|
121
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
128
|
+
filter: AppSurface.literal(AppSurface.Article, Client.Storage),
|
|
122
129
|
component: StoragePanel
|
|
123
130
|
}),
|
|
124
131
|
Surface.create({
|
|
125
132
|
id: "client.sqlite",
|
|
126
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
133
|
+
filter: AppSurface.literal(AppSurface.Article, Client.Sqlite),
|
|
127
134
|
component: SqlitePanel
|
|
128
135
|
}),
|
|
129
136
|
Surface.create({
|
|
130
137
|
id: "client.logs",
|
|
131
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
138
|
+
filter: AppSurface.literal(AppSurface.Article, Client.Logs),
|
|
132
139
|
component: LoggingPanel
|
|
133
140
|
}),
|
|
134
141
|
Surface.create({
|
|
135
142
|
id: "client.diagnostics",
|
|
136
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
143
|
+
filter: AppSurface.literal(AppSurface.Article, Client.Diagnostics),
|
|
137
144
|
component: DiagnosticsPanel
|
|
138
145
|
}),
|
|
139
146
|
Surface.create({
|
|
140
147
|
id: "halo.identity",
|
|
141
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
148
|
+
filter: AppSurface.literal(AppSurface.Article, Halo.Identity),
|
|
142
149
|
component: IdentityPanel
|
|
143
150
|
}),
|
|
144
151
|
Surface.create({
|
|
145
152
|
id: "halo.devices",
|
|
146
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
153
|
+
filter: AppSurface.literal(AppSurface.Article, Halo.Devices),
|
|
147
154
|
component: DeviceListPanel
|
|
148
155
|
}),
|
|
149
156
|
Surface.create({
|
|
150
157
|
id: "halo.keyring",
|
|
151
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
158
|
+
filter: AppSurface.literal(AppSurface.Article, Halo.Keyring),
|
|
152
159
|
component: KeyringPanel
|
|
153
160
|
}),
|
|
154
161
|
Surface.create({
|
|
155
162
|
id: "halo.credentials",
|
|
156
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
163
|
+
filter: AppSurface.literal(AppSurface.Article, Halo.Credentials),
|
|
157
164
|
component: ActiveSpacePanel,
|
|
158
165
|
props: () => ({ Panel: CredentialsPanel })
|
|
159
166
|
}),
|
|
160
167
|
Surface.create({
|
|
161
168
|
id: "echo.spaces",
|
|
162
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
169
|
+
filter: AppSurface.literal(AppSurface.Article, Echo.Spaces),
|
|
163
170
|
component: SpaceListSurface
|
|
164
171
|
}),
|
|
165
172
|
Surface.create({
|
|
166
173
|
id: "echo.space",
|
|
167
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
174
|
+
filter: AppSurface.literal(AppSurface.Article, Echo.Space),
|
|
168
175
|
component: SpaceInfoSurface
|
|
169
176
|
}),
|
|
170
177
|
Surface.create({
|
|
171
178
|
id: "echo.feeds",
|
|
172
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
179
|
+
filter: AppSurface.literal(AppSurface.Article, Echo.Feeds),
|
|
173
180
|
component: ActiveSpacePanel,
|
|
174
181
|
props: () => ({ Panel: FeedsPanel })
|
|
175
182
|
}),
|
|
176
183
|
Surface.create({
|
|
177
184
|
id: "echo.objects",
|
|
178
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
185
|
+
filter: AppSurface.literal(AppSurface.Article, Echo.Objects),
|
|
179
186
|
component: ActiveSpacePanel,
|
|
180
187
|
props: () => ({ Panel: ObjectsPanel })
|
|
181
188
|
}),
|
|
182
189
|
Surface.create({
|
|
183
190
|
id: "echo.schema",
|
|
184
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
191
|
+
filter: AppSurface.literal(AppSurface.Article, Echo.Schema),
|
|
185
192
|
component: ActiveSpacePanel,
|
|
186
193
|
props: () => ({ Panel: SchemaPanel })
|
|
187
194
|
}),
|
|
188
195
|
Surface.create({
|
|
189
196
|
id: "echo.automerge",
|
|
190
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
197
|
+
filter: AppSurface.literal(AppSurface.Article, Echo.Automerge),
|
|
191
198
|
component: ActiveSpacePanel,
|
|
192
199
|
props: () => ({ Panel: AutomergePanel })
|
|
193
200
|
}),
|
|
194
201
|
Surface.create({
|
|
195
202
|
id: "echo.queues",
|
|
196
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
203
|
+
filter: AppSurface.literal(AppSurface.Article, Echo.Queues),
|
|
197
204
|
component: QueuesPanel
|
|
198
205
|
}),
|
|
199
206
|
Surface.create({
|
|
200
207
|
id: "echo.members",
|
|
201
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
208
|
+
filter: AppSurface.literal(AppSurface.Article, Echo.Members),
|
|
202
209
|
component: ActiveSpacePanel,
|
|
203
210
|
props: () => ({ Panel: MembersPanel })
|
|
204
211
|
}),
|
|
205
212
|
Surface.create({
|
|
206
213
|
id: "echo.metadata",
|
|
207
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
214
|
+
filter: AppSurface.literal(AppSurface.Article, Echo.Metadata),
|
|
208
215
|
component: MetadataPanel
|
|
209
216
|
}),
|
|
210
217
|
Surface.create({
|
|
211
218
|
id: "mesh.signal",
|
|
212
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
219
|
+
filter: AppSurface.literal(AppSurface.Article, Mesh.Signal),
|
|
213
220
|
component: SignalPanel
|
|
214
221
|
}),
|
|
215
222
|
Surface.create({
|
|
216
223
|
id: "mesh.swarm",
|
|
217
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
224
|
+
filter: AppSurface.literal(AppSurface.Article, Mesh.Swarm),
|
|
218
225
|
component: SwarmPanel
|
|
219
226
|
}),
|
|
220
227
|
Surface.create({
|
|
221
228
|
id: "mesh.network",
|
|
222
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
229
|
+
filter: AppSurface.literal(AppSurface.Article, Mesh.Network),
|
|
223
230
|
component: ActiveSpacePanel,
|
|
224
231
|
props: () => ({ Panel: NetworkPanel })
|
|
225
232
|
}),
|
|
226
233
|
Surface.create({
|
|
227
234
|
id: "edge.dashboard",
|
|
228
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
235
|
+
filter: AppSurface.literal(AppSurface.Article, Edge.Dashboard),
|
|
229
236
|
component: EdgeDashboardPanel
|
|
230
237
|
}),
|
|
231
238
|
Surface.create({
|
|
232
239
|
id: "edge.workflows",
|
|
233
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
240
|
+
filter: AppSurface.literal(AppSurface.Article, Edge.Workflows),
|
|
234
241
|
component: ActiveSpacePanel,
|
|
235
242
|
props: () => ({ Panel: WorkflowPanel })
|
|
236
243
|
}),
|
|
237
244
|
Surface.create({
|
|
238
245
|
id: "edge.traces",
|
|
239
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
246
|
+
filter: AppSurface.literal(AppSurface.Article, Edge.Traces),
|
|
240
247
|
component: EdgeTracesSurface
|
|
241
248
|
}),
|
|
242
249
|
Surface.create({
|
|
243
250
|
id: "edge.testing",
|
|
244
|
-
filter: AppSurface.literal(AppSurface.Article,
|
|
251
|
+
filter: AppSurface.literal(AppSurface.Article, Edge.Testing),
|
|
245
252
|
component: EdgeTestingSurface
|
|
246
253
|
})
|
|
247
254
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-react-surface.mjs","names":[],"sources":["../../src/capabilities/DevtoolsSurfaces.tsx","../../src/capabilities/react-surface.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\n// Surface components that cannot be expressed as a `props` mapper, because they call hooks.\n\nimport React, { type ComponentType, useCallback } from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { GraphPath, LayoutOperation } from '@dxos/app-toolkit';\nimport { useActiveSpace } from '@dxos/app-toolkit/ui';\nimport { InvocationTraceContainer, SpaceInfoPanel, SpaceListPanel, TestingPanel } from '@dxos/devtools';\nimport { Feed } from '@dxos/echo';\nimport { log } from '@dxos/log';\nimport { ScriptOperation } from '@dxos/plugin-script';\nimport { SpaceOperation } from '@dxos/plugin-space';\nimport { type Space } from '@dxos/react-client/echo';\n\nimport { Devtools } from '#types';\n\nexport type ActiveSpacePanelProps = {\n /** Stable module-level panel component; the surface passes it through its `props` mapper. */\n Panel: ComponentType<{ space: Space }>;\n};\n\n/**\n * Most devtools panels take the active space and render nothing without one. A mapper cannot read\n * the active space (it is a hook) nor decline to render, so they share this wrapper.\n */\nexport const ActiveSpacePanel = ({ Panel }: ActiveSpacePanelProps) => {\n const space = useActiveSpace();\n\n return space ? <Panel space={space} /> : null;\n};\n\nexport const SpaceListSurface = () => {\n const { invokePromise } = useOperationInvoker();\n const handleSelect = useCallback(\n () => invokePromise(LayoutOperation.Open, { subject: [Devtools.Echo.Space] }),\n [invokePromise],\n );\n\n return <SpaceListPanel onSelect={handleSelect} />;\n};\n\nexport const SpaceInfoSurface = () => {\n const space = useActiveSpace();\n const { invokePromise } = useOperationInvoker();\n const handleSelect = useCallback(\n () => invokePromise(LayoutOperation.Open, { subject: [Devtools.Echo.Feeds] }),\n [invokePromise],\n );\n if (!space) {\n return null;\n }\n\n return <SpaceInfoPanel space={space} onSelectFeed={handleSelect} onSelectPipeline={handleSelect} />;\n};\n\nexport const EdgeTracesSurface = () => {\n const space = useActiveSpace();\n if (!space) {\n return null;\n }\n\n const feed = space.properties.invocationTraceFeed?.target;\n const feedDXN = feed ? Feed.getFeedUri(feed) : undefined;\n\n return <InvocationTraceContainer db={space.db} feedDXN={feedDXN} detailAxis='block' />;\n};\n\nexport const EdgeTestingSurface = () => {\n const { invokePromise } = useOperationInvoker();\n const onSpaceCreate = useCallback(\n async (space: Space) => {\n await space.waitUntilReady();\n await invokePromise(SpaceOperation.Migrate, { space });\n await space.db.flush();\n },\n [invokePromise],\n );\n const onScriptPluginOpen = useCallback(\n async (space: Space) => {\n await space.waitUntilReady();\n const createResult = await invokePromise(ScriptOperation.CreateScript, { db: space.db });\n if (createResult.data?.object) {\n await invokePromise(SpaceOperation.AddObject, { target: space.db, object: createResult.data.object });\n }\n log.info('script created', { result: createResult });\n if (createResult.data?.object) {\n await invokePromise(LayoutOperation.Open, {\n subject: [GraphPath.getObjectPathFromObject(createResult.data.object)],\n });\n }\n },\n [invokePromise],\n );\n\n return <TestingPanel onSpaceCreate={onSpaceCreate} onScriptPluginOpen={onScriptPluginOpen} />;\n};\n","//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface } from '@dxos/app-framework/ui';\nimport { AppSurface } from '@dxos/app-toolkit/ui';\nimport { EDGE_SERVICE_DEFAULTS, EdgeServiceName } from '@dxos/config';\nimport {\n AutomergePanel,\n ConfigPanel,\n CredentialsPanel,\n DeviceListPanel,\n DiagnosticsPanel,\n EdgeDashboardPanel,\n FeedsPanel,\n IdentityPanel,\n KeyringPanel,\n LoggingPanel,\n MembersPanel,\n MetadataPanel,\n NetworkPanel,\n ObjectsPanel,\n QueuesPanel,\n SchemaPanel,\n SignalPanel,\n SqlitePanel,\n StoragePanel,\n SwarmPanel,\n WorkflowPanel,\n} from '@dxos/devtools';\nimport { type Graph } from '@dxos/plugin-graph';\nimport { ToolsExplorer } from '@dxos/react-ui-introspect';\n\nimport { DebugGraph, DevtoolsOverviewContainer, RegistryPanel } from '#containers';\nimport { Devtools } from '#types';\n\nimport {\n ActiveSpacePanel,\n EdgeTestingSurface,\n EdgeTracesSurface,\n SpaceInfoSurface,\n SpaceListSurface,\n} from './DevtoolsSurfaces';\n\nconst MCP_SERVER_URL = EDGE_SERVICE_DEFAULTS[EdgeServiceName.Introspect];\n\ntype GraphDebug = {\n graph: Graph.Graph;\n root: string;\n};\n\nconst isGraphDebug = (data: unknown): data is GraphDebug => {\n if (typeof data !== 'object' || data === null || !('graph' in data) || !('root' in data)) {\n return false;\n }\n\n const { graph, root } = data;\n return (\n typeof graph === 'object' &&\n graph !== null &&\n 'json' in graph &&\n typeof graph.json === 'function' &&\n typeof root === 'string'\n );\n};\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n return Capability.contributes(Capabilities.ReactSurface, [\n Surface.create({\n id: 'appGraph',\n filter: AppSurface.subject(AppSurface.Article, isGraphDebug),\n component: DebugGraph,\n props: ({ data: { subject } }) => ({ graph: subject.graph, root: subject.root }),\n }),\n Surface.create({\n id: 'toolsExplorer',\n filter: AppSurface.literal(AppSurface.Article, Devtools.ToolsExplorer),\n component: ToolsExplorer,\n props: () => ({ serverUrl: MCP_SERVER_URL }),\n }),\n Surface.create({\n id: 'registry',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Registry),\n component: RegistryPanel,\n }),\n Surface.create({\n id: 'devtoolsOverview',\n filter: Surface.makeFilter(AppSurface.deckCompanion('devtoolsOverview')),\n component: DevtoolsOverviewContainer,\n }),\n\n //\n // Devtools\n //\n\n Surface.create({\n id: 'client.config',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Client.Config),\n component: ConfigPanel,\n props: () => ({ vaultSelector: false }),\n }),\n Surface.create({\n id: 'client.storage',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Client.Storage),\n component: StoragePanel,\n }),\n Surface.create({\n id: 'client.sqlite',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Client.Sqlite),\n component: SqlitePanel,\n }),\n Surface.create({\n id: 'client.logs',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Client.Logs),\n component: LoggingPanel,\n }),\n Surface.create({\n id: 'client.diagnostics',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Client.Diagnostics),\n component: DiagnosticsPanel,\n }),\n Surface.create({\n id: 'halo.identity',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Halo.Identity),\n component: IdentityPanel,\n }),\n Surface.create({\n id: 'halo.devices',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Halo.Devices),\n component: DeviceListPanel,\n }),\n Surface.create({\n id: 'halo.keyring',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Halo.Keyring),\n component: KeyringPanel,\n }),\n Surface.create({\n id: 'halo.credentials',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Halo.Credentials),\n component: ActiveSpacePanel,\n props: () => ({ Panel: CredentialsPanel }),\n }),\n Surface.create({\n id: 'echo.spaces',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Spaces),\n component: SpaceListSurface,\n }),\n Surface.create({\n id: 'echo.space',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Space),\n component: SpaceInfoSurface,\n }),\n Surface.create({\n id: 'echo.feeds',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Feeds),\n component: ActiveSpacePanel,\n props: () => ({ Panel: FeedsPanel }),\n }),\n Surface.create({\n id: 'echo.objects',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Objects),\n component: ActiveSpacePanel,\n props: () => ({ Panel: ObjectsPanel }),\n }),\n Surface.create({\n id: 'echo.schema',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Schema),\n component: ActiveSpacePanel,\n props: () => ({ Panel: SchemaPanel }),\n }),\n Surface.create({\n id: 'echo.automerge',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Automerge),\n component: ActiveSpacePanel,\n props: () => ({ Panel: AutomergePanel }),\n }),\n Surface.create({\n id: 'echo.queues',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Queues),\n component: QueuesPanel,\n }),\n Surface.create({\n id: 'echo.members',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Members),\n component: ActiveSpacePanel,\n props: () => ({ Panel: MembersPanel }),\n }),\n Surface.create({\n id: 'echo.metadata',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Metadata),\n component: MetadataPanel,\n }),\n Surface.create({\n id: 'mesh.signal',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Mesh.Signal),\n component: SignalPanel,\n }),\n Surface.create({\n id: 'mesh.swarm',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Mesh.Swarm),\n component: SwarmPanel,\n }),\n Surface.create({\n id: 'mesh.network',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Mesh.Network),\n component: ActiveSpacePanel,\n props: () => ({ Panel: NetworkPanel }),\n }),\n Surface.create({\n id: 'edge.dashboard',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Edge.Dashboard),\n component: EdgeDashboardPanel,\n }),\n Surface.create({\n id: 'edge.workflows',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Edge.Workflows),\n component: ActiveSpacePanel,\n props: () => ({ Panel: WorkflowPanel }),\n }),\n Surface.create({\n id: 'edge.traces',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Edge.Traces),\n component: EdgeTracesSurface,\n }),\n Surface.create({\n id: 'edge.testing',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Edge.Testing),\n component: EdgeTestingSurface,\n }),\n ]);\n }),\n);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chunk-react-surface.mjs","names":[],"sources":["../../src/capabilities/DevtoolsSurfaces.tsx","../../src/capabilities/react-surface.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\n// Surface components that cannot be expressed as a `props` mapper, because they call hooks.\n\nimport React, { type ComponentType, useCallback } from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport * as GraphPath from '@dxos/app-toolkit/GraphPath';\nimport * as LayoutOperation from '@dxos/app-toolkit/LayoutOperation';\nimport { useActiveSpace } from '@dxos/app-toolkit/ui';\nimport { InvocationTraceContainer, SpaceInfoPanel, SpaceListPanel, TestingPanel } from '@dxos/devtools';\nimport { Feed } from '@dxos/echo';\nimport { log } from '@dxos/log';\nimport * as ScriptOperation from '@dxos/plugin-script/ScriptOperation';\nimport { SpaceOperation } from '@dxos/plugin-space';\nimport { type Space } from '@dxos/react-client/echo';\n\nimport * as Devtools from '../types/Devtools';\n\nexport type ActiveSpacePanelProps = {\n /** Stable module-level panel component; the surface passes it through its `props` mapper. */\n Panel: ComponentType<{ space: Space }>;\n};\n\n/**\n * Most devtools panels take the active space and render nothing without one. A mapper cannot read\n * the active space (it is a hook) nor decline to render, so they share this wrapper.\n */\nexport const ActiveSpacePanel = ({ Panel }: ActiveSpacePanelProps) => {\n const space = useActiveSpace();\n\n return space ? <Panel space={space} /> : null;\n};\n\nexport const SpaceListSurface = () => {\n const { invokePromise } = useOperationInvoker();\n const handleSelect = useCallback(\n () => invokePromise(LayoutOperation.Open, { subject: [Devtools.Echo.Space] }),\n [invokePromise],\n );\n\n return <SpaceListPanel onSelect={handleSelect} />;\n};\n\nexport const SpaceInfoSurface = () => {\n const space = useActiveSpace();\n const { invokePromise } = useOperationInvoker();\n const handleSelect = useCallback(\n () => invokePromise(LayoutOperation.Open, { subject: [Devtools.Echo.Feeds] }),\n [invokePromise],\n );\n if (!space) {\n return null;\n }\n\n return <SpaceInfoPanel space={space} onSelectFeed={handleSelect} onSelectPipeline={handleSelect} />;\n};\n\nexport const EdgeTracesSurface = () => {\n const space = useActiveSpace();\n if (!space) {\n return null;\n }\n\n const feed = space.properties.invocationTraceFeed?.target;\n const feedDXN = feed ? Feed.getFeedUri(feed) : undefined;\n\n return <InvocationTraceContainer db={space.db} feedDXN={feedDXN} detailAxis='block' />;\n};\n\nexport const EdgeTestingSurface = () => {\n const { invokePromise } = useOperationInvoker();\n const onSpaceCreate = useCallback(\n async (space: Space) => {\n await space.waitUntilReady();\n await invokePromise(SpaceOperation.Migrate, { space });\n await space.db.flush();\n },\n [invokePromise],\n );\n const onScriptPluginOpen = useCallback(\n async (space: Space) => {\n await space.waitUntilReady();\n const createResult = await invokePromise(ScriptOperation.CreateScript, { db: space.db });\n if (createResult.data?.object) {\n await invokePromise(SpaceOperation.AddObject, { target: space.db, object: createResult.data.object });\n }\n log.info('script created', { result: createResult });\n if (createResult.data?.object) {\n await invokePromise(LayoutOperation.Open, {\n subject: [GraphPath.getObjectPathFromObject(createResult.data.object)],\n });\n }\n },\n [invokePromise],\n );\n\n return <TestingPanel onSpaceCreate={onSpaceCreate} onScriptPluginOpen={onScriptPluginOpen} />;\n};\n","//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport * as Capabilities from '@dxos/app-framework/Capabilities';\nimport * as Capability from '@dxos/app-framework/Capability';\nimport { Surface } from '@dxos/app-framework/ui';\nimport { AppSurface } from '@dxos/app-toolkit/ui';\nimport { EDGE_SERVICE_DEFAULTS, EdgeServiceName } from '@dxos/config';\nimport {\n AutomergePanel,\n ConfigPanel,\n CredentialsPanel,\n DeviceListPanel,\n DiagnosticsPanel,\n EdgeDashboardPanel,\n FeedsPanel,\n IdentityPanel,\n KeyringPanel,\n LoggingPanel,\n MembersPanel,\n MetadataPanel,\n NetworkPanel,\n ObjectsPanel,\n QueuesPanel,\n SchemaPanel,\n SignalPanel,\n SqlitePanel,\n StoragePanel,\n SwarmPanel,\n WorkflowPanel,\n} from '@dxos/devtools';\nimport { type Graph } from '@dxos/plugin-graph';\nimport { ToolsExplorer } from '@dxos/react-ui-introspect';\n\nimport { CliPanel, DebugGraph, DevtoolsOverviewContainer, RegistryPanel } from '#containers';\n\nimport * as Devtools from '../types/Devtools';\nimport {\n ActiveSpacePanel,\n EdgeTestingSurface,\n EdgeTracesSurface,\n SpaceInfoSurface,\n SpaceListSurface,\n} from './DevtoolsSurfaces';\n\nconst MCP_SERVER_URL = EDGE_SERVICE_DEFAULTS[EdgeServiceName.Introspect];\n\ntype GraphDebug = {\n graph: Graph.Graph;\n root: string;\n};\n\nconst isGraphDebug = (data: unknown): data is GraphDebug => {\n if (typeof data !== 'object' || data === null || !('graph' in data) || !('root' in data)) {\n return false;\n }\n\n const { graph, root } = data;\n return (\n typeof graph === 'object' &&\n graph !== null &&\n 'json' in graph &&\n typeof graph.json === 'function' &&\n typeof root === 'string'\n );\n};\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n return Capability.contribute(Capabilities.ReactSurface, [\n Surface.create({\n id: 'appGraph',\n filter: AppSurface.subject(AppSurface.Article, isGraphDebug),\n component: DebugGraph,\n props: ({ data: { subject } }) => ({ graph: subject.graph, root: subject.root }),\n }),\n Surface.create({\n id: 'toolsExplorer',\n filter: AppSurface.literal(AppSurface.Article, Devtools.ToolsExplorer),\n component: ToolsExplorer,\n props: () => ({ serverUrl: MCP_SERVER_URL }),\n }),\n Surface.create({\n id: 'cli',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Cli),\n component: CliPanel,\n }),\n Surface.create({\n id: 'registry',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Registry),\n component: RegistryPanel,\n }),\n Surface.create({\n id: 'devtoolsOverview',\n filter: Surface.makeFilter(AppSurface.deckCompanion('devtoolsOverview')),\n component: DevtoolsOverviewContainer,\n }),\n\n //\n // Devtools\n //\n\n Surface.create({\n id: 'client.config',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Client.Config),\n component: ConfigPanel,\n props: () => ({ vaultSelector: false }),\n }),\n Surface.create({\n id: 'client.storage',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Client.Storage),\n component: StoragePanel,\n }),\n Surface.create({\n id: 'client.sqlite',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Client.Sqlite),\n component: SqlitePanel,\n }),\n Surface.create({\n id: 'client.logs',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Client.Logs),\n component: LoggingPanel,\n }),\n Surface.create({\n id: 'client.diagnostics',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Client.Diagnostics),\n component: DiagnosticsPanel,\n }),\n Surface.create({\n id: 'halo.identity',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Halo.Identity),\n component: IdentityPanel,\n }),\n Surface.create({\n id: 'halo.devices',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Halo.Devices),\n component: DeviceListPanel,\n }),\n Surface.create({\n id: 'halo.keyring',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Halo.Keyring),\n component: KeyringPanel,\n }),\n Surface.create({\n id: 'halo.credentials',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Halo.Credentials),\n component: ActiveSpacePanel,\n props: () => ({ Panel: CredentialsPanel }),\n }),\n Surface.create({\n id: 'echo.spaces',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Spaces),\n component: SpaceListSurface,\n }),\n Surface.create({\n id: 'echo.space',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Space),\n component: SpaceInfoSurface,\n }),\n Surface.create({\n id: 'echo.feeds',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Feeds),\n component: ActiveSpacePanel,\n props: () => ({ Panel: FeedsPanel }),\n }),\n Surface.create({\n id: 'echo.objects',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Objects),\n component: ActiveSpacePanel,\n props: () => ({ Panel: ObjectsPanel }),\n }),\n Surface.create({\n id: 'echo.schema',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Schema),\n component: ActiveSpacePanel,\n props: () => ({ Panel: SchemaPanel }),\n }),\n Surface.create({\n id: 'echo.automerge',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Automerge),\n component: ActiveSpacePanel,\n props: () => ({ Panel: AutomergePanel }),\n }),\n Surface.create({\n id: 'echo.queues',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Queues),\n component: QueuesPanel,\n }),\n Surface.create({\n id: 'echo.members',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Members),\n component: ActiveSpacePanel,\n props: () => ({ Panel: MembersPanel }),\n }),\n Surface.create({\n id: 'echo.metadata',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Metadata),\n component: MetadataPanel,\n }),\n Surface.create({\n id: 'mesh.signal',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Mesh.Signal),\n component: SignalPanel,\n }),\n Surface.create({\n id: 'mesh.swarm',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Mesh.Swarm),\n component: SwarmPanel,\n }),\n Surface.create({\n id: 'mesh.network',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Mesh.Network),\n component: ActiveSpacePanel,\n props: () => ({ Panel: NetworkPanel }),\n }),\n Surface.create({\n id: 'edge.dashboard',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Edge.Dashboard),\n component: EdgeDashboardPanel,\n }),\n Surface.create({\n id: 'edge.workflows',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Edge.Workflows),\n component: ActiveSpacePanel,\n props: () => ({ Panel: WorkflowPanel }),\n }),\n Surface.create({\n id: 'edge.traces',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Edge.Traces),\n component: EdgeTracesSurface,\n }),\n Surface.create({\n id: 'edge.testing',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Edge.Testing),\n component: EdgeTestingSurface,\n }),\n ]);\n }),\n);\n"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __exportAll = (all, no_symbols) => {
|
|
4
|
+
let target = {};
|
|
5
|
+
for (var name in all) __defProp(target, name, {
|
|
6
|
+
get: all[name],
|
|
7
|
+
enumerable: true
|
|
8
|
+
});
|
|
9
|
+
if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
10
|
+
return target;
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { __exportAll as t };
|
package/dist/lib/containers.mjs
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { lazy } from "react";
|
|
2
2
|
//#region src/containers/index.ts
|
|
3
|
+
var CliPanel = lazy(() => import("./chunk-CliPanel.mjs"));
|
|
3
4
|
var DebugGraph = lazy(() => import("./chunk-DebugGraph.mjs"));
|
|
4
5
|
var DevtoolsOverviewContainer = lazy(() => import("./chunk-DevtoolsOverviewContainer.mjs"));
|
|
5
6
|
var GithubPanel = lazy(() => import("./chunk-GithubPanel.mjs"));
|
|
6
7
|
var RegistryPanel = lazy(() => import("./chunk-RegistryPanel.mjs"));
|
|
7
8
|
//#endregion
|
|
8
|
-
export { DebugGraph, DevtoolsOverviewContainer, GithubPanel, RegistryPanel };
|
|
9
|
+
export { CliPanel, DebugGraph, DevtoolsOverviewContainer, GithubPanel, RegistryPanel };
|
|
9
10
|
|
|
10
11
|
//# sourceMappingURL=containers.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containers.mjs","names":[],"sources":["../../src/containers/index.ts"],"sourcesContent":["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type ComponentType, lazy } from 'react';\n\nexport const DebugGraph: ComponentType<any> = lazy(() => import('./DebugGraph'));\nexport const DevtoolsOverviewContainer: ComponentType<any> = lazy(() => import('./DevtoolsOverviewContainer'));\nexport const GithubPanel: ComponentType<any> = lazy(() => import('./GithubPanel'));\nexport const RegistryPanel: ComponentType<any> = lazy(() => import('./RegistryPanel'));\n"],"mappings":";;AAMA,IAAa,aAAiC,WAAW,OAAO,yBAAe;AAC/E,IAAa,4BAAgD,WAAW,OAAO,wCAA8B;AAC7G,IAAa,cAAkC,WAAW,OAAO,0BAAgB;AACjF,IAAa,gBAAoC,WAAW,OAAO,4BAAkB"}
|
|
1
|
+
{"version":3,"file":"containers.mjs","names":[],"sources":["../../src/containers/index.ts"],"sourcesContent":["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type ComponentType, lazy } from 'react';\n\nexport const CliPanel: ComponentType<any> = lazy(() => import('./CliPanel'));\nexport const DebugGraph: ComponentType<any> = lazy(() => import('./DebugGraph'));\nexport const DevtoolsOverviewContainer: ComponentType<any> = lazy(() => import('./DevtoolsOverviewContainer'));\nexport const GithubPanel: ComponentType<any> = lazy(() => import('./GithubPanel'));\nexport const RegistryPanel: ComponentType<any> = lazy(() => import('./RegistryPanel'));\n"],"mappings":";;AAMA,IAAa,WAA+B,WAAW,OAAO,uBAAa;AAC3E,IAAa,aAAiC,WAAW,OAAO,yBAAe;AAC/E,IAAa,4BAAgD,WAAW,OAAO,wCAA8B;AAC7G,IAAa,cAAkC,WAAW,OAAO,0BAAgB;AACjF,IAAa,gBAAoC,WAAW,OAAO,4BAAkB"}
|
package/dist/lib/index.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { t as Devtools_exports } from "./chunk-types.mjs";
|
|
2
1
|
import { t as meta } from "./chunk-meta.mjs";
|
|
3
|
-
|
|
2
|
+
import { t as Devtools_exports } from "./Devtools.mjs";
|
|
3
|
+
import { t as DevtoolsEvents_exports } from "./DevtoolsEvents.mjs";
|
|
4
|
+
export { Devtools_exports as Devtools, DevtoolsEvents_exports as DevtoolsEvents, meta };
|
package/dist/lib/plugin.mjs
CHANGED
package/dist/lib/plugin.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.mjs","names":[],"sources":["../../src/plugin.ts"],"sourcesContent":["//\n// Copyright 2023 DXOS.org\n//\n\nimport
|
|
1
|
+
{"version":3,"file":"plugin.mjs","names":[],"sources":["../../src/plugin.ts"],"sourcesContent":["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Plugin from '@dxos/app-framework/Plugin';\n\nimport { meta } from './meta';\n\nexport const DevtoolsPlugin = Plugin.lazy(meta, () => import('#plugin'));\n"],"mappings":";;;AAQA,IAAa,iBAAiB,OAAO,KAAK,YAAY,OAAO,UAAU"}
|
|
@@ -8,6 +8,7 @@ var translations = [...translations$1, { "en-US": { [meta.profile.key]: {
|
|
|
8
8
|
"devtools-overview.label": "Stats",
|
|
9
9
|
"debug-app-graph.label": "App Graph",
|
|
10
10
|
"debug-tools-explorer.label": "SDK Explorer",
|
|
11
|
+
"cli.label": "CLI",
|
|
11
12
|
"reset-data.label": "Reset data (ERASES ALL DATA)",
|
|
12
13
|
"client.label": "Client",
|
|
13
14
|
"config.label": "Config",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translations.mjs","names":[],"sources":["../../src/translations.ts"],"sourcesContent":["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\nimport { translations as introspectTranslations } from '@dxos/react-ui-introspect/translations';\n\nimport { meta } from '#meta';\n\nexport const translations = [\n ...introspectTranslations,\n {\n 'en-US': {\n [meta.profile.key]: {\n 'plugin.name': 'Devtools',\n 'open-devtools.label': 'Open DevTools',\n 'devtools.label': 'DevTools',\n 'devtools-overview.label': 'Stats',\n 'debug-app-graph.label': 'App Graph',\n 'debug-tools-explorer.label': 'SDK Explorer',\n\n 'reset-data.label': 'Reset data (ERASES ALL DATA)',\n 'client.label': 'Client',\n 'config.label': 'Config',\n 'storage.label': 'Storage',\n 'sqlite.label': 'SQLite',\n 'logging.label': 'Logging',\n 'diagnostics.label': 'Diagnostics',\n 'tracing.label': 'Tracing',\n 'halo.label': 'HALO',\n 'identity.label': 'Identity',\n 'devices.label': 'Devices',\n 'keyring.label': 'Keyring',\n 'credentials.label': 'Credentials',\n 'echo.label': 'ECHO',\n 'spaces.label': 'Spaces',\n 'space.label': 'Space',\n 'feeds.label': 'Feeds',\n 'objects.label': 'Objects',\n 'schema.label': 'Schema',\n 'registry.label': 'Registry',\n 'automerge.label': 'Automerge',\n 'queues.label': 'Queues',\n 'members.label': 'Members',\n 'metadata.label': 'Metadata',\n 'mesh.label': 'MESH',\n 'signal.label': 'Signal',\n 'swarm.label': 'Swarm',\n 'network.label': 'Network',\n 'agent.label': 'Agent',\n 'dashboard.label': 'Dashboard',\n 'search.label': 'Search',\n 'edge.label': 'EDGE',\n 'workflows.label': 'Workflows',\n 'traces.label': 'Traces',\n 'testing.label': 'Testing',\n // GitHub (deck-companion--github surface).\n 'github-loading.message': 'Loading…',\n 'github-unavailable.message': 'GitHub feed unavailable.',\n 'recent-prs.label_one': '{{count}} recent PR',\n 'recent-prs.label_other': '{{count}} recent PRs',\n 'view-on-github.button': 'View on GitHub',\n },\n },\n },\n] as const satisfies Resource[];\n"],"mappings":";;;AASA,IAAa,eAAe,CAC1B,GAAG,gBACH,EACE,SAAS,GACN,KAAK,QAAQ,MAAM;CAClB,eAAe;CACf,uBAAuB;CACvB,kBAAkB;CAClB,2BAA2B;CAC3B,yBAAyB;CACzB,8BAA8B;
|
|
1
|
+
{"version":3,"file":"translations.mjs","names":[],"sources":["../../src/translations.ts"],"sourcesContent":["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\nimport { translations as introspectTranslations } from '@dxos/react-ui-introspect/translations';\n\nimport { meta } from '#meta';\n\nexport const translations = [\n ...introspectTranslations,\n {\n 'en-US': {\n [meta.profile.key]: {\n 'plugin.name': 'Devtools',\n 'open-devtools.label': 'Open DevTools',\n 'devtools.label': 'DevTools',\n 'devtools-overview.label': 'Stats',\n 'debug-app-graph.label': 'App Graph',\n 'debug-tools-explorer.label': 'SDK Explorer',\n 'cli.label': 'CLI',\n\n 'reset-data.label': 'Reset data (ERASES ALL DATA)',\n 'client.label': 'Client',\n 'config.label': 'Config',\n 'storage.label': 'Storage',\n 'sqlite.label': 'SQLite',\n 'logging.label': 'Logging',\n 'diagnostics.label': 'Diagnostics',\n 'tracing.label': 'Tracing',\n 'halo.label': 'HALO',\n 'identity.label': 'Identity',\n 'devices.label': 'Devices',\n 'keyring.label': 'Keyring',\n 'credentials.label': 'Credentials',\n 'echo.label': 'ECHO',\n 'spaces.label': 'Spaces',\n 'space.label': 'Space',\n 'feeds.label': 'Feeds',\n 'objects.label': 'Objects',\n 'schema.label': 'Schema',\n 'registry.label': 'Registry',\n 'automerge.label': 'Automerge',\n 'queues.label': 'Queues',\n 'members.label': 'Members',\n 'metadata.label': 'Metadata',\n 'mesh.label': 'MESH',\n 'signal.label': 'Signal',\n 'swarm.label': 'Swarm',\n 'network.label': 'Network',\n 'agent.label': 'Agent',\n 'dashboard.label': 'Dashboard',\n 'search.label': 'Search',\n 'edge.label': 'EDGE',\n 'workflows.label': 'Workflows',\n 'traces.label': 'Traces',\n 'testing.label': 'Testing',\n // GitHub (deck-companion--github surface).\n 'github-loading.message': 'Loading…',\n 'github-unavailable.message': 'GitHub feed unavailable.',\n 'recent-prs.label_one': '{{count}} recent PR',\n 'recent-prs.label_other': '{{count}} recent PRs',\n 'view-on-github.button': 'View on GitHub',\n },\n },\n },\n] as const satisfies Resource[];\n"],"mappings":";;;AASA,IAAa,eAAe,CAC1B,GAAG,gBACH,EACE,SAAS,GACN,KAAK,QAAQ,MAAM;CAClB,eAAe;CACf,uBAAuB;CACvB,kBAAkB;CAClB,2BAA2B;CAC3B,yBAAyB;CACzB,8BAA8B;CAC9B,aAAa;CAEb,oBAAoB;CACpB,gBAAgB;CAChB,gBAAgB;CAChB,iBAAiB;CACjB,gBAAgB;CAChB,iBAAiB;CACjB,qBAAqB;CACrB,iBAAiB;CACjB,cAAc;CACd,kBAAkB;CAClB,iBAAiB;CACjB,iBAAiB;CACjB,qBAAqB;CACrB,cAAc;CACd,gBAAgB;CAChB,eAAe;CACf,eAAe;CACf,iBAAiB;CACjB,gBAAgB;CAChB,kBAAkB;CAClB,mBAAmB;CACnB,gBAAgB;CAChB,iBAAiB;CACjB,kBAAkB;CAClB,cAAc;CACd,gBAAgB;CAChB,eAAe;CACf,iBAAiB;CACjB,eAAe;CACf,mBAAmB;CACnB,gBAAgB;CAChB,cAAc;CACd,mBAAmB;CACnB,gBAAgB;CAChB,iBAAiB;CAEjB,0BAA0B;CAC1B,8BAA8B;CAC9B,wBAAwB;CACxB,0BAA0B;CAC1B,yBAAyB;AAC3B,EACF,EACF,CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevtoolsPlugin.d.ts","sourceRoot":"","sources":["../../../src/DevtoolsPlugin.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DevtoolsPlugin.d.ts","sourceRoot":"","sources":["../../../src/DevtoolsPlugin.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AAerD,eAAO,MAAM,cAAc,4BAe1B,CAAC;eAkBa,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevtoolsPlugin.node.d.ts","sourceRoot":"","sources":["../../../src/DevtoolsPlugin.node.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"DevtoolsPlugin.node.d.ts","sourceRoot":"","sources":["../../../src/DevtoolsPlugin.node.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AAKrD,eAAO,MAAM,cAAc,4BAA2E,CAAC;eAExF,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevtoolsPlugin.workerd.d.ts","sourceRoot":"","sources":["../../../src/DevtoolsPlugin.workerd.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"DevtoolsPlugin.workerd.d.ts","sourceRoot":"","sources":["../../../src/DevtoolsPlugin.workerd.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AAIrD,eAAO,MAAM,cAAc,4BAAwC,CAAC;eAErD,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevtoolsSurfaces.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/DevtoolsSurfaces.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EAAE,KAAK,aAAa,EAAe,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DevtoolsSurfaces.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/DevtoolsSurfaces.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EAAE,KAAK,aAAa,EAAe,MAAM,OAAO,CAAC;AAW/D,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAIrD,MAAM,MAAM,qBAAqB,GAAG;IAClC,6FAA6F;IAC7F,KAAK,EAAE,aAAa,CAAC;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,CAAC;CACxC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,cAAe,qBAAqB,6BAIhE,CAAC;AAEF,eAAO,MAAM,gBAAgB,yBAQ5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,gCAY5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,gCAU7B,CAAC;AAEF,eAAO,MAAM,kBAAkB,yBA4B9B,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as Effect from 'effect/Effect';
|
|
2
|
-
import
|
|
3
|
-
declare const _default: (props: void) => Effect.Effect<Capability.
|
|
2
|
+
import * as Capability from '@dxos/app-framework/Capability';
|
|
3
|
+
declare const _default: (props: void) => Effect.Effect<Capability.Contribution<Capability.CapabilityIdentifier<"org.dxos.app-framework.capability.appGraphBuilder", "multi">>, never, import("effect/Scope").Scope | Capability.Service>;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=app-graph-builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,
|
|
1
|
+
{"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const ReactSurface: Capability.LazyCapability<void, Capability.ModuleReturn, Error>;
|
|
1
|
+
export declare const AppGraphBuilder: import("@dxos/app-framework/Capability").Module<void>;
|
|
2
|
+
export declare const ReactContext: import("@dxos/app-framework/Capability").Module<void>;
|
|
3
|
+
export declare const ReactSurface: import("@dxos/app-framework/Capability").Module<void>;
|
|
5
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,eAAe,uDAE1B,CAAC;AACH,eAAO,MAAM,YAAY,uDAA8D,CAAC;AACxF,eAAO,MAAM,YAAY,uDAEvB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as Effect from 'effect/Effect';
|
|
2
|
-
import
|
|
3
|
-
declare const _default: (props: void) => Effect.Effect<Capability.
|
|
2
|
+
import * as Capability from '@dxos/app-framework/Capability';
|
|
3
|
+
declare const _default: (props: void) => Effect.Effect<Capability.Contribution<Capability.CapabilityIdentifier<"org.dxos.app-framework.capability.reactContext", "multi">>, never, import("effect/Scope").Scope>;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=react-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-context.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-context.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"react-context.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-context.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as Effect from 'effect/Effect';
|
|
2
|
-
import
|
|
3
|
-
declare const _default: (props: void) => Effect.Effect<Capability.
|
|
2
|
+
import * as Capability from '@dxos/app-framework/Capability';
|
|
3
|
+
declare const _default: (props: void) => Effect.Effect<Capability.Contribution<Capability.CapabilityIdentifier<"org.dxos.app-framework.capability.reactSurface", "multi">>, never, import("effect/Scope").Scope>;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=react-surface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CliPanel.d.ts","sourceRoot":"","sources":["../../../../../src/containers/CliPanel/CliPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC"}
|