@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.
Files changed (97) hide show
  1. package/dist/lib/{chunk-types.mjs → Devtools.mjs} +5 -14
  2. package/dist/lib/Devtools.mjs.map +1 -0
  3. package/dist/lib/DevtoolsEvents.mjs +15 -0
  4. package/dist/lib/DevtoolsEvents.mjs.map +1 -0
  5. package/dist/lib/DevtoolsPlugin.mjs +9 -13
  6. package/dist/lib/DevtoolsPlugin.mjs.map +1 -1
  7. package/dist/lib/DevtoolsPlugin.node.mjs +2 -3
  8. package/dist/lib/DevtoolsPlugin.node.mjs.map +1 -1
  9. package/dist/lib/DevtoolsPlugin.workerd.mjs +1 -1
  10. package/dist/lib/DevtoolsPlugin.workerd.mjs.map +1 -1
  11. package/dist/lib/capabilities.mjs +5 -4
  12. package/dist/lib/capabilities.mjs.map +1 -1
  13. package/dist/lib/chunk-CliPanel.mjs +103 -0
  14. package/dist/lib/chunk-CliPanel.mjs.map +1 -0
  15. package/dist/lib/chunk-RegistryPanel.mjs +2 -2
  16. package/dist/lib/chunk-RegistryPanel.mjs.map +1 -1
  17. package/dist/lib/chunk-app-graph-builder.mjs +113 -100
  18. package/dist/lib/chunk-app-graph-builder.mjs.map +1 -1
  19. package/dist/lib/chunk-meta.mjs +1 -1
  20. package/dist/lib/chunk-meta.mjs.map +1 -1
  21. package/dist/lib/chunk-react-context.mjs +3 -2
  22. package/dist/lib/chunk-react-context.mjs.map +1 -1
  23. package/dist/lib/chunk-react-surface.mjs +43 -36
  24. package/dist/lib/chunk-react-surface.mjs.map +1 -1
  25. package/dist/lib/chunk-rolldown-runtime.mjs +13 -0
  26. package/dist/lib/containers.mjs +2 -1
  27. package/dist/lib/containers.mjs.map +1 -1
  28. package/dist/lib/index.mjs +3 -2
  29. package/dist/lib/plugin.mjs +1 -1
  30. package/dist/lib/plugin.mjs.map +1 -1
  31. package/dist/lib/translations.mjs +1 -0
  32. package/dist/lib/translations.mjs.map +1 -1
  33. package/dist/types/src/DevtoolsPlugin.d.ts +1 -1
  34. package/dist/types/src/DevtoolsPlugin.d.ts.map +1 -1
  35. package/dist/types/src/DevtoolsPlugin.node.d.ts +1 -1
  36. package/dist/types/src/DevtoolsPlugin.node.d.ts.map +1 -1
  37. package/dist/types/src/DevtoolsPlugin.workerd.d.ts +1 -1
  38. package/dist/types/src/DevtoolsPlugin.workerd.d.ts.map +1 -1
  39. package/dist/types/src/capabilities/DevtoolsSurfaces.d.ts.map +1 -1
  40. package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -2
  41. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  42. package/dist/types/src/capabilities/index.d.ts +3 -4
  43. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  44. package/dist/types/src/capabilities/react-context.d.ts +2 -2
  45. package/dist/types/src/capabilities/react-context.d.ts.map +1 -1
  46. package/dist/types/src/capabilities/react-surface.d.ts +2 -2
  47. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  48. package/dist/types/src/containers/CliPanel/CliPanel.d.ts +6 -0
  49. package/dist/types/src/containers/CliPanel/CliPanel.d.ts.map +1 -0
  50. package/dist/types/src/containers/CliPanel/CliPanel.stories.d.ts +91 -0
  51. package/dist/types/src/containers/CliPanel/CliPanel.stories.d.ts.map +1 -0
  52. package/dist/types/src/containers/CliPanel/index.d.ts +2 -0
  53. package/dist/types/src/containers/CliPanel/index.d.ts.map +1 -0
  54. package/dist/types/src/containers/CliPanel/useCliApp.d.ts +27 -0
  55. package/dist/types/src/containers/CliPanel/useCliApp.d.ts.map +1 -0
  56. package/dist/types/src/containers/GithubPanel/GithubComponent.stories.d.ts +2 -1
  57. package/dist/types/src/containers/GithubPanel/GithubComponent.stories.d.ts.map +1 -1
  58. package/dist/types/src/containers/index.d.ts +1 -0
  59. package/dist/types/src/containers/index.d.ts.map +1 -1
  60. package/dist/types/src/index.d.ts +2 -1
  61. package/dist/types/src/index.d.ts.map +1 -1
  62. package/dist/types/src/plugin.d.ts +1 -1
  63. package/dist/types/src/plugin.d.ts.map +1 -1
  64. package/dist/types/src/translations.d.ts +1 -0
  65. package/dist/types/src/translations.d.ts.map +1 -1
  66. package/dist/types/src/types/Devtools.d.ts +1 -0
  67. package/dist/types/src/types/Devtools.d.ts.map +1 -1
  68. package/dist/types/src/types/DevtoolsEvents.d.ts +8 -0
  69. package/dist/types/src/types/DevtoolsEvents.d.ts.map +1 -0
  70. package/dist/types/tsconfig.tsbuildinfo +1 -1
  71. package/package.json +52 -58
  72. package/src/DevtoolsPlugin.node.ts +2 -6
  73. package/src/DevtoolsPlugin.test.ts +4 -2
  74. package/src/DevtoolsPlugin.tsx +20 -18
  75. package/src/DevtoolsPlugin.workerd.ts +1 -1
  76. package/src/capabilities/DevtoolsSurfaces.tsx +4 -3
  77. package/src/capabilities/app-graph-builder.ts +24 -6
  78. package/src/capabilities/index.ts +9 -4
  79. package/src/capabilities/react-context.tsx +3 -2
  80. package/src/capabilities/react-surface.ts +10 -4
  81. package/src/containers/CliPanel/CliPanel.stories.tsx +74 -0
  82. package/src/containers/CliPanel/CliPanel.tsx +45 -0
  83. package/src/containers/CliPanel/index.ts +5 -0
  84. package/src/containers/CliPanel/useCliApp.ts +97 -0
  85. package/src/containers/RegistryPanel/RegistryPanel.tsx +1 -1
  86. package/src/containers/index.ts +1 -0
  87. package/src/index.ts +2 -1
  88. package/src/meta.ts +1 -1
  89. package/src/plugin.ts +1 -1
  90. package/src/translations.ts +1 -0
  91. package/src/types/Devtools.ts +1 -0
  92. package/src/types/DevtoolsEvents.ts +16 -0
  93. package/dist/lib/chunk-types.mjs.map +0 -1
  94. package/dist/lib/types.mjs +0 -2
  95. package/dist/types/src/types/index.d.ts +0 -2
  96. package/dist/types/src/types/index.d.ts.map +0 -1
  97. package/src/types/index.ts +0 -5
@@ -1,18 +1,20 @@
1
- import { Capabilities, Capability } from "@dxos/app-framework";
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 { GraphPath, LayoutOperation } from "@dxos/app-toolkit";
3
+ import * as Capability from "@dxos/app-framework/Capability";
4
4
  import { useCallback } from "react";
5
- import { Devtools } from "#types";
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 { ScriptOperation } from "@dxos/plugin-script";
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: [Devtools.Echo.Space] }), [invokePromise]) });
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: [Devtools.Echo.Feeds] }), [invokePromise]);
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: 89,
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.contributes(Capabilities.ReactSurface, [
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, Devtools.ToolsExplorer),
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, Devtools.Echo.Registry),
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, Devtools.Client.Config),
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, Devtools.Client.Storage),
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, Devtools.Client.Sqlite),
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, Devtools.Client.Logs),
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, Devtools.Client.Diagnostics),
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, Devtools.Halo.Identity),
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, Devtools.Halo.Devices),
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, Devtools.Halo.Keyring),
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, Devtools.Halo.Credentials),
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, Devtools.Echo.Spaces),
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, Devtools.Echo.Space),
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, Devtools.Echo.Feeds),
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, Devtools.Echo.Objects),
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, Devtools.Echo.Schema),
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, Devtools.Echo.Automerge),
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, Devtools.Echo.Queues),
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, Devtools.Echo.Members),
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, Devtools.Echo.Metadata),
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, Devtools.Mesh.Signal),
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, Devtools.Mesh.Swarm),
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, Devtools.Mesh.Network),
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, Devtools.Edge.Dashboard),
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, Devtools.Edge.Workflows),
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, Devtools.Edge.Traces),
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, Devtools.Edge.Testing),
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 };
@@ -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"}
@@ -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
- export { Devtools_exports as Devtools, meta };
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 };
@@ -1,5 +1,5 @@
1
1
  import { t as meta } from "./chunk-meta.mjs";
2
- import { Plugin } from "@dxos/app-framework";
2
+ import * as Plugin from "@dxos/app-framework/Plugin";
3
3
  //#region src/plugin.ts
4
4
  var DevtoolsPlugin = Plugin.lazy(meta, () => import("#plugin"));
5
5
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.mjs","names":[],"sources":["../../src/plugin.ts"],"sourcesContent":["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport const DevtoolsPlugin = Plugin.lazy(meta, () => import('#plugin'));\n"],"mappings":";;;AAQA,IAAa,iBAAiB,OAAO,KAAK,YAAY,OAAO,UAAU"}
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;CAE9B,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
+ {"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,4 +1,4 @@
1
- import { Plugin } from '@dxos/app-framework';
1
+ import * as Plugin from '@dxos/app-framework/Plugin';
2
2
  export declare const DevtoolsPlugin: Plugin.PluginFactory<void>;
3
3
  export default DevtoolsPlugin;
4
4
  //# sourceMappingURL=DevtoolsPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DevtoolsPlugin.d.ts","sourceRoot":"","sources":["../../../src/DevtoolsPlugin.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAgC,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAW3E,eAAO,MAAM,cAAc,4BAkB1B,CAAC;eAkBa,cAAc"}
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,4 +1,4 @@
1
- import { Plugin } from '@dxos/app-framework';
1
+ import * as Plugin from '@dxos/app-framework/Plugin';
2
2
  export declare const DevtoolsPlugin: Plugin.PluginFactory<void>;
3
3
  export default DevtoolsPlugin;
4
4
  //# sourceMappingURL=DevtoolsPlugin.node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DevtoolsPlugin.node.d.ts","sourceRoot":"","sources":["../../../src/DevtoolsPlugin.node.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAM7C,eAAO,MAAM,cAAc,4BAG1B,CAAC;eAEa,cAAc"}
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,4 +1,4 @@
1
- import { Plugin } from '@dxos/app-framework';
1
+ import * as Plugin from '@dxos/app-framework/Plugin';
2
2
  export declare const DevtoolsPlugin: Plugin.PluginFactory<void>;
3
3
  export default DevtoolsPlugin;
4
4
  //# sourceMappingURL=DevtoolsPlugin.workerd.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DevtoolsPlugin.workerd.d.ts","sourceRoot":"","sources":["../../../src/DevtoolsPlugin.workerd.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAI7C,eAAO,MAAM,cAAc,4BAAwC,CAAC;eAErD,cAAc"}
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;AAU/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
+ {"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 { Capability } from '@dxos/app-framework';
3
- declare const _default: (props: void) => Effect.Effect<Capability.Any, never, import("effect/Scope").Scope | Capability.Service>;
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,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
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
- import { Capability } from '@dxos/app-framework';
2
- export declare const AppGraphBuilder: Capability.LazyCapability<void, Capability.ModuleReturn, Error>;
3
- export declare const ReactContext: Capability.LazyCapability<void, Capability.ModuleReturn, Error>;
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":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,eAAe,iEAA0E,CAAC;AACvG,eAAO,MAAM,YAAY,iEAAmE,CAAC;AAC7F,eAAO,MAAM,YAAY,iEAAmE,CAAC"}
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 { Capability } from '@dxos/app-framework';
3
- declare const _default: (props: void) => Effect.Effect<Capability.Any, never, import("effect/Scope").Scope>;
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;AAGxC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,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 { Capability } from '@dxos/app-framework';
3
- declare const _default: (props: void) => Effect.Effect<Capability.Any, never, import("effect/Scope").Scope>;
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;AAExC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,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,6 @@
1
+ import React from 'react';
2
+ export declare function CliPanel(): React.JSX.Element;
3
+ export declare namespace CliPanel {
4
+ var displayName: string;
5
+ }
6
+ //# sourceMappingURL=CliPanel.d.ts.map
@@ -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"}