@dxos/plugin-devtools 0.12.0-next-73daef452f1464b62efdbca75fb0067c1066f264 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/PLUGIN.mdl +144 -57
- package/dist/lib/Devtools.mjs +9 -1
- package/dist/lib/Devtools.mjs.map +1 -1
- package/dist/lib/capabilities.browser.mjs +45 -0
- package/dist/lib/capabilities.browser.mjs.map +1 -0
- package/dist/lib/capabilities.mjs +9 -7
- package/dist/lib/capabilities.mjs.map +1 -1
- package/dist/lib/capabilities.node.mjs +7 -3
- package/dist/lib/capabilities.node.mjs.map +1 -1
- package/dist/lib/capabilities.tauri.mjs +45 -0
- package/dist/lib/capabilities.tauri.mjs.map +1 -0
- package/dist/lib/capabilities.workerd.mjs +2 -2
- package/dist/lib/capabilities.workerd.mjs.map +1 -1
- package/dist/lib/{chunk-CliPanel.mjs → chunk-CliArticle.mjs} +28 -24
- package/dist/lib/chunk-CliArticle.mjs.map +1 -0
- package/dist/lib/chunk-DebugGraph.mjs +12 -8
- package/dist/lib/chunk-DebugGraph.mjs.map +1 -1
- package/dist/lib/chunk-DevtoolsCards.mjs +108 -0
- package/dist/lib/chunk-DevtoolsCards.mjs.map +1 -0
- package/dist/lib/chunk-DevtoolsOverviewContainer.mjs +59 -22
- package/dist/lib/chunk-DevtoolsOverviewContainer.mjs.map +1 -1
- package/dist/lib/chunk-GithubPanel.mjs +13 -10
- package/dist/lib/chunk-GithubPanel.mjs.map +1 -1
- package/dist/lib/chunk-PLUGIN.mjs +6 -0
- package/dist/lib/chunk-PLUGIN.mjs.map +1 -0
- package/dist/lib/{chunk-RegistryPanel.mjs → chunk-RegistryArticle.mjs} +26 -25
- package/dist/lib/chunk-RegistryArticle.mjs.map +1 -0
- package/dist/lib/chunk-ToolsExplorerContainer.mjs +7 -3
- package/dist/lib/chunk-ToolsExplorerContainer.mjs.map +1 -1
- package/dist/lib/chunk-app-graph-builder.mjs +323 -312
- package/dist/lib/chunk-app-graph-builder.mjs.map +1 -1
- package/dist/lib/chunk-react-context.mjs +1 -1
- package/dist/lib/chunk-react-context.mjs.map +1 -1
- package/dist/lib/chunk-react-surface.mjs +244 -88
- package/dist/lib/chunk-react-surface.mjs.map +1 -1
- package/dist/lib/containers.mjs +3 -3
- package/dist/lib/containers.mjs.map +1 -1
- package/dist/lib/index.mjs +0 -1
- package/dist/lib/meta.mjs +2 -2
- package/dist/lib/meta.mjs.map +1 -1
- package/dist/lib/translations.mjs +55 -49
- package/dist/lib/translations.mjs.map +1 -1
- package/dist/types/src/capabilities/DevtoolsCards.d.ts +28 -0
- package/dist/types/src/capabilities/DevtoolsCards.d.ts.map +1 -0
- package/dist/types/src/capabilities/DevtoolsSurfaces.d.ts +19 -6
- package/dist/types/src/capabilities/DevtoolsSurfaces.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +19 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.test.d.ts +2 -0
- package/dist/types/src/capabilities/app-graph-builder.test.d.ts.map +1 -0
- package/dist/types/src/capabilities/gen/browser.d.ts +8 -0
- package/dist/types/src/capabilities/gen/browser.d.ts.map +1 -0
- package/dist/types/src/capabilities/gen/tauri.d.ts +8 -0
- package/dist/types/src/capabilities/gen/tauri.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/containers/CliArticle/CliArticle.d.ts +8 -0
- package/dist/types/src/containers/CliArticle/CliArticle.d.ts.map +1 -0
- package/dist/types/src/containers/{CliPanel/CliPanel.stories.d.ts → CliArticle/CliArticle.stories.d.ts} +33 -5
- package/dist/types/src/containers/CliArticle/CliArticle.stories.d.ts.map +1 -0
- package/dist/types/src/containers/CliArticle/index.d.ts +2 -0
- package/dist/types/src/containers/CliArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/{CliPanel → CliArticle}/useCliApp.d.ts +1 -1
- package/dist/types/src/containers/CliArticle/useCliApp.d.ts.map +1 -0
- package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts +2 -1
- package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts.map +1 -1
- package/dist/types/src/containers/DebugGraph/index.d.ts +1 -1
- package/dist/types/src/containers/DebugGraph/index.d.ts.map +1 -1
- package/dist/types/src/containers/DevtoolsOverviewContainer/DevtoolsOverviewContainer.d.ts.map +1 -1
- package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts +1 -1
- package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts.map +1 -1
- package/dist/types/src/containers/GithubPanel/GithubComponent.d.ts.map +1 -1
- package/dist/types/src/containers/GithubPanel/GithubComponent.stories.d.ts +30 -2
- package/dist/types/src/containers/GithubPanel/GithubComponent.stories.d.ts.map +1 -1
- package/dist/types/src/containers/GithubPanel/index.d.ts +1 -1
- package/dist/types/src/containers/GithubPanel/index.d.ts.map +1 -1
- package/dist/types/src/containers/RegistryArticle/RegistryArticle.d.ts +8 -0
- package/dist/types/src/containers/RegistryArticle/RegistryArticle.d.ts.map +1 -0
- package/dist/types/src/containers/RegistryArticle/index.d.ts +2 -0
- package/dist/types/src/containers/RegistryArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/ToolsExplorerContainer/ToolsExplorerContainer.d.ts +3 -1
- package/dist/types/src/containers/ToolsExplorerContainer/ToolsExplorerContainer.d.ts.map +1 -1
- package/dist/types/src/containers/ToolsExplorerContainer/index.d.ts +1 -1
- package/dist/types/src/containers/ToolsExplorerContainer/index.d.ts.map +1 -1
- package/dist/types/src/containers/index.d.ts +2 -2
- package/dist/types/src/containers/index.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +30 -2
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Devtools.d.ts +6 -0
- package/dist/types/src/types/Devtools.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +2 -2
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dx.config.ts +2 -2
- package/package.json +43 -39
- package/src/capabilities/DevtoolsCards.tsx +140 -0
- package/src/capabilities/DevtoolsSurfaces.tsx +32 -38
- package/src/capabilities/app-graph-builder.test.ts +75 -0
- package/src/capabilities/app-graph-builder.ts +324 -313
- package/src/capabilities/gen/browser.ts +61 -0
- package/src/capabilities/gen/node.ts +4 -4
- package/src/capabilities/gen/tauri.ts +61 -0
- package/src/capabilities/gen/workerd.ts +2 -2
- package/src/capabilities/index.ts +7 -7
- package/src/capabilities/react-context.tsx +1 -1
- package/src/capabilities/react-surface.ts +222 -79
- package/src/containers/{CliPanel/CliPanel.stories.tsx → CliArticle/CliArticle.stories.tsx} +9 -10
- package/src/containers/{CliPanel/CliPanel.tsx → CliArticle/CliArticle.tsx} +7 -7
- package/src/containers/CliArticle/index.ts +5 -0
- package/src/containers/{CliPanel → CliArticle}/useCliApp.ts +17 -12
- package/src/containers/DebugGraph/DebugGraph.tsx +7 -6
- package/src/containers/DebugGraph/index.ts +1 -1
- package/src/containers/DevtoolsOverviewContainer/DevtoolsOverviewContainer.tsx +72 -32
- package/src/containers/DevtoolsOverviewContainer/index.ts +1 -1
- package/src/containers/GithubPanel/GithubComponent.stories.tsx +2 -2
- package/src/containers/GithubPanel/GithubComponent.tsx +14 -11
- package/src/containers/GithubPanel/GithubPanel.tsx +2 -2
- package/src/containers/GithubPanel/index.ts +1 -1
- package/src/containers/{RegistryPanel/RegistryPanel.tsx → RegistryArticle/RegistryArticle.tsx} +11 -10
- package/src/containers/RegistryArticle/index.ts +5 -0
- package/src/containers/ToolsExplorerContainer/ToolsExplorerContainer.tsx +10 -3
- package/src/containers/ToolsExplorerContainer/index.ts +1 -1
- package/src/containers/index.ts +6 -6
- package/src/index.ts +1 -2
- package/src/meta.ts +1 -1
- package/src/plugin.test.ts +2 -2
- package/src/translations.ts +7 -3
- package/src/types/Devtools.ts +10 -0
- package/src/types/index.ts +2 -2
- package/dist/lib/chunk-CliPanel.mjs.map +0 -1
- package/dist/lib/chunk-RegistryPanel.mjs.map +0 -1
- package/dist/types/src/containers/CliPanel/CliPanel.d.ts +0 -6
- package/dist/types/src/containers/CliPanel/CliPanel.d.ts.map +0 -1
- package/dist/types/src/containers/CliPanel/CliPanel.stories.d.ts.map +0 -1
- package/dist/types/src/containers/CliPanel/index.d.ts +0 -2
- package/dist/types/src/containers/CliPanel/index.d.ts.map +0 -1
- package/dist/types/src/containers/CliPanel/useCliApp.d.ts.map +0 -1
- package/dist/types/src/containers/RegistryPanel/RegistryPanel.d.ts +0 -6
- package/dist/types/src/containers/RegistryPanel/RegistryPanel.d.ts.map +0 -1
- package/dist/types/src/containers/RegistryPanel/index.d.ts +0 -2
- package/dist/types/src/containers/RegistryPanel/index.d.ts.map +0 -1
- package/src/containers/CliPanel/index.ts +0 -5
- package/src/containers/RegistryPanel/index.ts +0 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-app-graph-builder.mjs","names":[],"sources":["../../src/capabilities/app-graph-builder.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport * as Capability from '@dxos/app-framework/Capability';\nimport * as AppGraphBuilder from '@dxos/app-graph/AppGraphBuilder';\nimport * as AppGraphNode from '@dxos/app-graph/AppGraphNode';\nimport * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';\nimport * as AppNode from '@dxos/app-toolkit/AppNode';\nimport * as AppNodeMatcher from '@dxos/app-toolkit/AppNodeMatcher';\nimport * as GraphPath from '@dxos/app-toolkit/GraphPath';\nimport * as GraphNode from '@dxos/graph/GraphNode';\nimport * as GraphNodeMatcher from '@dxos/graph/GraphNodeMatcher';\nimport { type Space } from '@dxos/react-client/echo';\nimport { Position } from '@dxos/util';\n\nimport { meta } from '#meta';\nimport { Devtools } from '#types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n // Read the app graph through its atom so the extension establishes a reactive dependency\n // and re-evaluates once the capability lands (dependency modules contribute individually,\n // not batched per wave).\n const appGraphAtom = yield* Capability.atom(AppCapabilities.AppGraph);\n\n const extensions = yield* Effect.all([\n AppGraphBuilder.createExtension({\n id: 'root',\n match: GraphNodeMatcher.whenRoot,\n actions: () =>\n Effect.succeed([\n AppGraphNode.makeAction({\n id: 'resetData',\n data: () =>\n Effect.sync(() => {\n window.location.href = '/reset.html';\n }),\n properties: {\n label: ['reset-data.label', { ns: meta.profile.key }],\n icon: 'ph--warning--regular',\n },\n }),\n ]),\n }),\n\n AppGraphBuilder.createExtension({\n id: 'devtools',\n match: GraphNodeMatcher.whenAny(\n GraphNodeMatcher.whenRoot,\n AppNodeMatcher.whenNavTreeGroup(GraphPath.GroupTypes.system),\n ),\n connector: (_nodeOrSpace: AppGraphNode.Node | Space, get) =>\n Effect.gen(function* () {\n const [graph] = get(appGraphAtom);\n\n return [\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.id),\n data: null,\n type: Devtools.id,\n properties: {\n label: ['devtools.label', { ns: meta.profile.key }],\n icon: 'ph--toolbox--regular',\n position: Position.last,\n },\n nodes: [\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.AppGraph),\n type: `${meta.profile.key}.app-graph`,\n data: { graph: graph?.graph, root: GraphNode.RootId },\n properties: {\n label: ['debug-app-graph.label', { ns: meta.profile.key }],\n icon: 'ph--graph--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.ToolsExplorer),\n data: Devtools.ToolsExplorer,\n type: Devtools.id,\n properties: {\n label: ['debug-tools-explorer.label', { ns: meta.profile.key }],\n icon: 'ph--toolbox--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Cli),\n data: Devtools.Cli,\n type: Devtools.id,\n properties: {\n label: ['cli.label', { ns: meta.profile.key }],\n icon: 'ph--terminal-window--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Client.id),\n data: null,\n type: Devtools.id,\n properties: {\n label: ['client.label', { ns: meta.profile.key }],\n icon: 'ph--users--regular',\n },\n nodes: [\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Client.Config),\n data: Devtools.Client.Config,\n type: Devtools.id,\n properties: {\n label: ['config.label', { ns: meta.profile.key }],\n icon: 'ph--gear--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Client.Storage),\n data: Devtools.Client.Storage,\n type: Devtools.id,\n properties: {\n label: ['storage.label', { ns: meta.profile.key }],\n icon: 'ph--hard-drives--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Client.Sqlite),\n data: Devtools.Client.Sqlite,\n type: Devtools.id,\n properties: {\n label: ['sqlite.label', { ns: meta.profile.key }],\n icon: 'ph--database--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Client.Logs),\n data: Devtools.Client.Logs,\n type: Devtools.id,\n properties: {\n label: ['logging.label', { ns: meta.profile.key }],\n icon: 'ph--file-text--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Client.Diagnostics),\n data: Devtools.Client.Diagnostics,\n type: Devtools.id,\n properties: {\n label: ['diagnostics.label', { ns: meta.profile.key }],\n icon: 'ph--chart-line--regular',\n },\n }),\n ],\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Halo.id),\n data: null,\n type: Devtools.id,\n properties: {\n label: ['halo.label', { ns: meta.profile.key }],\n icon: 'ph--identification-badge--regular',\n },\n nodes: [\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Halo.Identity),\n data: Devtools.Halo.Identity,\n type: Devtools.id,\n properties: {\n label: ['identity.label', { ns: meta.profile.key }],\n icon: 'ph--identification-badge--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Halo.Devices),\n data: Devtools.Halo.Devices,\n type: Devtools.id,\n properties: {\n label: ['devices.label', { ns: meta.profile.key }],\n icon: 'ph--devices--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Halo.Keyring),\n data: Devtools.Halo.Keyring,\n type: Devtools.id,\n properties: {\n label: ['keyring.label', { ns: meta.profile.key }],\n icon: 'ph--key--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Halo.Credentials),\n data: Devtools.Halo.Credentials,\n type: Devtools.id,\n properties: {\n label: ['credentials.label', { ns: meta.profile.key }],\n icon: 'ph--credit-card--regular',\n },\n }),\n ],\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.id),\n data: null,\n type: Devtools.id,\n properties: {\n label: ['echo.label', { ns: meta.profile.key }],\n icon: 'ph--database--regular',\n },\n nodes: [\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.Spaces),\n data: Devtools.Echo.Spaces,\n type: Devtools.id,\n properties: {\n label: ['spaces.label', { ns: meta.profile.key }],\n icon: 'ph--graph--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.Space),\n data: Devtools.Echo.Space,\n type: Devtools.id,\n properties: {\n label: ['space.label', { ns: meta.profile.key }],\n icon: 'ph--planet--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.Feeds),\n data: Devtools.Echo.Feeds,\n type: Devtools.id,\n properties: {\n label: ['feeds.label', { ns: meta.profile.key }],\n icon: 'ph--list-bullets--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.Objects),\n data: Devtools.Echo.Objects,\n type: Devtools.id,\n properties: {\n label: ['objects.label', { ns: meta.profile.key }],\n icon: 'ph--cube--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.Schema),\n data: Devtools.Echo.Schema,\n type: Devtools.id,\n properties: {\n label: ['schema.label', { ns: meta.profile.key }],\n icon: 'ph--database--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.Registry),\n data: Devtools.Echo.Registry,\n type: Devtools.id,\n properties: {\n label: ['registry.label', { ns: meta.profile.key }],\n icon: 'ph--books--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.Automerge),\n data: Devtools.Echo.Automerge,\n type: Devtools.id,\n properties: {\n label: ['automerge.label', { ns: meta.profile.key }],\n icon: 'ph--gear-six--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.Queues),\n data: Devtools.Echo.Queues,\n type: Devtools.id,\n properties: {\n label: ['queues.label', { ns: meta.profile.key }],\n icon: 'ph--queue--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.Members),\n data: Devtools.Echo.Members,\n type: Devtools.id,\n properties: {\n label: ['members.label', { ns: meta.profile.key }],\n icon: 'ph--users--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.Metadata),\n data: Devtools.Echo.Metadata,\n type: Devtools.id,\n properties: {\n label: ['metadata.label', { ns: meta.profile.key }],\n icon: 'ph--hard-drive--regular',\n },\n }),\n ],\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Mesh.id),\n data: null,\n type: Devtools.id,\n properties: {\n label: ['mesh.label', { ns: meta.profile.key }],\n icon: 'ph--graph--regular',\n },\n nodes: [\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Mesh.Signal),\n data: Devtools.Mesh.Signal,\n type: Devtools.id,\n properties: {\n label: ['signal.label', { ns: meta.profile.key }],\n icon: 'ph--wifi-high--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Mesh.Swarm),\n data: Devtools.Mesh.Swarm,\n type: Devtools.id,\n properties: {\n label: ['swarm.label', { ns: meta.profile.key }],\n icon: 'ph--users-three--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Mesh.Network),\n data: Devtools.Mesh.Network,\n type: Devtools.id,\n properties: {\n label: ['network.label', { ns: meta.profile.key }],\n icon: 'ph--polygon--regular',\n },\n }),\n ],\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Edge.id),\n data: null,\n type: Devtools.id,\n properties: {\n label: ['edge.label', { ns: meta.profile.key }],\n icon: 'ph--cloud--regular',\n },\n nodes: [\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Edge.Dashboard),\n data: Devtools.Edge.Dashboard,\n type: Devtools.id,\n properties: {\n label: ['dashboard.label', { ns: meta.profile.key }],\n icon: 'ph--computer-tower--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Edge.Workflows),\n data: Devtools.Edge.Workflows,\n type: Devtools.id,\n properties: {\n label: ['workflows.label', { ns: meta.profile.key }],\n icon: 'ph--function--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Edge.Traces),\n data: Devtools.Edge.Traces,\n type: Devtools.id,\n properties: {\n label: ['traces.label', { ns: meta.profile.key }],\n icon: 'ph--line-segments--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Edge.Testing),\n data: Devtools.Edge.Testing,\n type: Devtools.id,\n properties: {\n label: ['testing.label', { ns: meta.profile.key }],\n icon: 'ph--flask--regular',\n },\n }),\n ],\n }),\n ],\n }),\n ];\n }),\n }),\n\n // Devtools deck companion.\n AppGraphBuilder.createExtension({\n id: 'devtoolsOverview',\n match: GraphNodeMatcher.whenRoot,\n connector: () =>\n Effect.succeed([\n AppNode.makeDeckCompanion({\n id: 'devtoolsOverview',\n label: ['devtools-overview.label', { ns: meta.profile.key }],\n icon: 'ph--equalizer--regular',\n data: 'devtoolsOverview' as const,\n position: Position.last,\n }),\n ]),\n }),\n ]);\n\n return Capability.contribute(AppCapabilities.AppGraphBuilder, extensions);\n }),\n);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chunk-app-graph-builder.mjs","names":[],"sources":["../../src/capabilities/app-graph-builder.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport type * as Atom from 'effect/reactivity/Atom';\n\nimport * as Capability from '@dxos/app-framework/Capability';\nimport * as AppGraphBuilder from '@dxos/app-graph/AppGraphBuilder';\nimport * as AppGraphNode from '@dxos/app-graph/AppGraphNode';\nimport * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';\nimport * as AppNode from '@dxos/app-toolkit/AppNode';\nimport * as AppNodeMatcher from '@dxos/app-toolkit/AppNodeMatcher';\nimport * as GraphNode from '@dxos/graph/GraphNode';\nimport * as GraphNodeMatcher from '@dxos/graph/GraphNodeMatcher';\nimport * as Position from '@dxos/util/Position';\n\nimport { meta } from '#meta';\nimport { Devtools } from '#types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n // Read the app graph through its atom so the extension establishes a reactive dependency\n // and re-evaluates once the capability lands (dependency modules contribute individually,\n // not batched per wave).\n const appGraphAtom = yield* Capability.atom(AppCapabilities.AppGraph);\n\n const extensions = yield* Effect.all([\n AppGraphBuilder.createExtension({\n id: 'root',\n match: GraphNodeMatcher.whenRoot,\n actions: () =>\n Effect.succeed([\n AppGraphNode.makeAction({\n id: 'resetData',\n data: () =>\n Effect.sync(() => {\n window.location.href = '/reset.html';\n }),\n properties: {\n label: ['reset-data.label', { ns: meta.profile.key }],\n icon: 'ph--warning--regular',\n },\n }),\n ]),\n }),\n\n createDevtoolsExtension(appGraphAtom),\n\n // Devtools deck companion.\n AppGraphBuilder.createExtension({\n id: 'devtoolsOverview',\n relation: AppNode.companion,\n match: GraphNodeMatcher.whenRoot,\n connector: () =>\n Effect.succeed([\n AppNode.makeDeckCompanion({\n id: 'devtoolsOverview',\n label: ['devtools-overview.label', { ns: meta.profile.key }],\n icon: 'ph--equalizer--regular',\n data: 'devtoolsOverview' as const,\n position: Position.last,\n }),\n ]),\n }),\n ]);\n\n return Capability.contribute(AppCapabilities.AppGraphBuilder, extensions);\n }),\n);\n\n/** The devtools tree: a container under the debug category with one page per tool, grouped by subsystem. */\nexport const createDevtoolsExtension = (appGraphAtom: Atom.Atom<AppCapabilities.AppGraph[]>) =>\n AppGraphBuilder.createExtension({\n id: 'devtools',\n match: AppNodeMatcher.whenDebugGroup,\n connector: (_node, get) =>\n Effect.gen(function* () {\n const [graph] = get(appGraphAtom);\n\n return [\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.id),\n data: null,\n type: Devtools.id,\n properties: {\n label: ['devtools.label', { ns: meta.profile.key }],\n icon: 'ph--toolbox--regular',\n // After Debug (0), whichever plugin registers first.\n position: 10,\n },\n nodes: [\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.AppGraph),\n type: `${meta.profile.key}.app-graph`,\n data: { graph: graph?.graph, root: GraphNode.RootId },\n properties: {\n label: ['debug-app-graph.label', { ns: meta.profile.key }],\n icon: 'ph--graph--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.ToolsExplorer),\n data: Devtools.ToolsExplorer,\n type: Devtools.id,\n properties: {\n label: ['debug-tools-explorer.label', { ns: meta.profile.key }],\n icon: 'ph--toolbox--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Cli),\n data: Devtools.Cli,\n type: Devtools.id,\n properties: {\n label: ['cli.label', { ns: meta.profile.key }],\n icon: 'ph--terminal-window--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Client.id),\n data: null,\n type: Devtools.id,\n properties: {\n label: ['client.label', { ns: meta.profile.key }],\n icon: 'ph--users--regular',\n },\n nodes: [\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Client.Config),\n data: Devtools.Client.Config,\n type: Devtools.id,\n properties: {\n label: ['config.label', { ns: meta.profile.key }],\n icon: 'ph--gear--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Client.Storage),\n data: Devtools.Client.Storage,\n type: Devtools.id,\n properties: {\n label: ['storage.label', { ns: meta.profile.key }],\n icon: 'ph--hard-drives--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Client.Sqlite),\n data: Devtools.Client.Sqlite,\n type: Devtools.id,\n properties: {\n label: ['sqlite.label', { ns: meta.profile.key }],\n icon: 'ph--database--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Client.Logs),\n data: Devtools.Client.Logs,\n type: Devtools.id,\n properties: {\n label: ['logging.label', { ns: meta.profile.key }],\n icon: 'ph--file-text--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Client.Diagnostics),\n data: Devtools.Client.Diagnostics,\n type: Devtools.id,\n properties: {\n label: ['diagnostics.label', { ns: meta.profile.key }],\n icon: 'ph--chart-line--regular',\n },\n }),\n ],\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Halo.id),\n data: null,\n type: Devtools.id,\n properties: {\n label: ['halo.label', { ns: meta.profile.key }],\n icon: 'ph--identification-badge--regular',\n },\n nodes: [\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Halo.Identity),\n data: Devtools.Halo.Identity,\n type: Devtools.id,\n properties: {\n label: ['identity.label', { ns: meta.profile.key }],\n icon: 'ph--identification-badge--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Halo.Devices),\n data: Devtools.Halo.Devices,\n type: Devtools.id,\n properties: {\n label: ['devices.label', { ns: meta.profile.key }],\n icon: 'ph--devices--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Halo.Keyring),\n data: Devtools.Halo.Keyring,\n type: Devtools.id,\n properties: {\n label: ['keyring.label', { ns: meta.profile.key }],\n icon: 'ph--key--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Halo.Credentials),\n data: Devtools.Halo.Credentials,\n type: Devtools.id,\n properties: {\n label: ['credentials.label', { ns: meta.profile.key }],\n icon: 'ph--credit-card--regular',\n },\n }),\n ],\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.id),\n data: null,\n type: Devtools.id,\n properties: {\n label: ['echo.label', { ns: meta.profile.key }],\n icon: 'ph--database--regular',\n },\n nodes: [\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.Spaces),\n data: Devtools.Echo.Spaces,\n type: Devtools.id,\n properties: {\n label: ['spaces.label', { ns: meta.profile.key }],\n icon: 'ph--graph--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.Space),\n data: Devtools.Echo.Space,\n type: Devtools.id,\n properties: {\n label: ['space.label', { ns: meta.profile.key }],\n icon: 'ph--planet--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.Feeds),\n data: Devtools.Echo.Feeds,\n type: Devtools.id,\n properties: {\n label: ['feeds.label', { ns: meta.profile.key }],\n icon: 'ph--list-bullets--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.Objects),\n data: Devtools.Echo.Objects,\n type: Devtools.id,\n properties: {\n label: ['objects.label', { ns: meta.profile.key }],\n icon: 'ph--cube--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.Queries),\n data: Devtools.Echo.Queries,\n type: Devtools.id,\n properties: {\n label: ['queries.label', { ns: meta.profile.key }],\n icon: 'ph--tree-view--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.Schema),\n data: Devtools.Echo.Schema,\n type: Devtools.id,\n properties: {\n label: ['schema.label', { ns: meta.profile.key }],\n icon: 'ph--database--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.Registry),\n data: Devtools.Echo.Registry,\n type: Devtools.id,\n properties: {\n label: ['registry.label', { ns: meta.profile.key }],\n icon: 'ph--books--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.Automerge),\n data: Devtools.Echo.Automerge,\n type: Devtools.id,\n properties: {\n label: ['automerge.label', { ns: meta.profile.key }],\n icon: 'ph--gear-six--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.Queues),\n data: Devtools.Echo.Queues,\n type: Devtools.id,\n properties: {\n label: ['queues.label', { ns: meta.profile.key }],\n icon: 'ph--queue--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.Members),\n data: Devtools.Echo.Members,\n type: Devtools.id,\n properties: {\n label: ['members.label', { ns: meta.profile.key }],\n icon: 'ph--users--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Echo.Metadata),\n data: Devtools.Echo.Metadata,\n type: Devtools.id,\n properties: {\n label: ['metadata.label', { ns: meta.profile.key }],\n icon: 'ph--hard-drive--regular',\n },\n }),\n ],\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Mesh.id),\n data: null,\n type: Devtools.id,\n properties: {\n label: ['mesh.label', { ns: meta.profile.key }],\n icon: 'ph--graph--regular',\n },\n nodes: [\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Mesh.Signal),\n data: Devtools.Mesh.Signal,\n type: Devtools.id,\n properties: {\n label: ['signal.label', { ns: meta.profile.key }],\n icon: 'ph--wifi-high--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Mesh.Swarm),\n data: Devtools.Mesh.Swarm,\n type: Devtools.id,\n properties: {\n label: ['swarm.label', { ns: meta.profile.key }],\n icon: 'ph--users-three--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Mesh.Network),\n data: Devtools.Mesh.Network,\n type: Devtools.id,\n properties: {\n label: ['network.label', { ns: meta.profile.key }],\n icon: 'ph--polygon--regular',\n },\n }),\n ],\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Edge.id),\n data: null,\n type: Devtools.id,\n properties: {\n label: ['edge.label', { ns: meta.profile.key }],\n icon: 'ph--cloud--regular',\n },\n nodes: [\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Edge.Dashboard),\n data: Devtools.Edge.Dashboard,\n type: Devtools.id,\n properties: {\n label: ['dashboard.label', { ns: meta.profile.key }],\n icon: 'ph--computer-tower--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Edge.Workflows),\n data: Devtools.Edge.Workflows,\n type: Devtools.id,\n properties: {\n label: ['workflows.label', { ns: meta.profile.key }],\n icon: 'ph--function--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Edge.Traces),\n data: Devtools.Edge.Traces,\n type: Devtools.id,\n properties: {\n label: ['traces.label', { ns: meta.profile.key }],\n icon: 'ph--line-segments--regular',\n },\n }),\n AppGraphNode.make({\n id: Devtools.nodeId(Devtools.Edge.Testing),\n data: Devtools.Edge.Testing,\n type: Devtools.id,\n properties: {\n label: ['testing.label', { ns: meta.profile.key }],\n icon: 'ph--flask--regular',\n },\n }),\n ],\n }),\n ],\n }),\n ];\n }),\n });\n"],"mappings":";;;;;;;;;;;;;AAoBA,IAAA,4BAAe,WAAW,WACxB,OAAO,WAAW,aAAa;CAI7B,MAAM,eAAe,OAAO,WAAW,KAAK,gBAAgB,QAAQ;CAEpE,MAAM,aAAa,OAAO,OAAO,IAAI;EACnC,gBAAgB,gBAAgB;GAC9B,IAAI;GACJ,OAAO,iBAAiB;GACxB,eACE,OAAO,QAAQ,CACb,aAAa,WAAW;IACtB,IAAI;IACJ,YACE,OAAO,WAAW;KAChB,OAAO,SAAS,OAAO;IACzB,CAAC;IACH,YAAY;KACV,OAAO,CAAC,oBAAoB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;KACpD,MAAM;IACR;GACF,CAAC,CACH,CAAC;EACL,CAAC;EAED,wBAAwB,YAAY;EAGpC,gBAAgB,gBAAgB;GAC9B,IAAI;GACJ,UAAU,QAAQ;GAClB,OAAO,iBAAiB;GACxB,iBACE,OAAO,QAAQ,CACb,QAAQ,kBAAkB;IACxB,IAAI;IACJ,OAAO,CAAC,2BAA2B,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;IAC3D,MAAM;IACN,MAAM;IACN,UAAU,SAAS;GACrB,CAAC,CACH,CAAC;EACL,CAAC;CACH,CAAC;CAED,OAAO,WAAW,WAAW,gBAAgB,iBAAiB,UAAU;AAC1E,CAAC,CACH;;AAGA,IAAa,2BAA2B,iBACtC,gBAAgB,gBAAgB;CAC9B,IAAI;CACJ,OAAO,eAAe;CACtB,YAAY,OAAO,QACjB,OAAO,IAAI,aAAa;EACtB,MAAM,CAAC,SAAS,IAAI,YAAY;EAEhC,OAAO,CACL,aAAa,KAAK;GAChB,IAAI,SAAS,OAAO,SAAS,EAAE;GAC/B,MAAM;GACN,MAAM,SAAS;GACf,YAAY;IACV,OAAO,CAAC,kBAAkB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;IAClD,MAAM;IAEN,UAAU;GACZ;GACA,OAAO;IACL,aAAa,KAAK;KAChB,IAAI,SAAS,OAAO,SAAS,QAAQ;KACrC,MAAM,GAAG,KAAK,QAAQ,IAAI;KAC1B,MAAM;MAAE,OAAO,OAAO;MAAO,MAAM,UAAU;KAAO;KACpD,YAAY;MACV,OAAO,CAAC,yBAAyB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;MACzD,MAAM;KACR;IACF,CAAC;IACD,aAAa,KAAK;KAChB,IAAI,SAAS,OAAO,SAAS,aAAa;KAC1C,MAAM,SAAS;KACf,MAAM,SAAS;KACf,YAAY;MACV,OAAO,CAAC,8BAA8B,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;MAC9D,MAAM;KACR;IACF,CAAC;IACD,aAAa,KAAK;KAChB,IAAI,SAAS,OAAO,SAAS,GAAG;KAChC,MAAM,SAAS;KACf,MAAM,SAAS;KACf,YAAY;MACV,OAAO,CAAC,aAAa,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;MAC7C,MAAM;KACR;IACF,CAAC;IACD,aAAa,KAAK;KAChB,IAAI,SAAS,OAAO,SAAS,OAAO,EAAE;KACtC,MAAM;KACN,MAAM,SAAS;KACf,YAAY;MACV,OAAO,CAAC,gBAAgB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;MAChD,MAAM;KACR;KACA,OAAO;MACL,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,OAAO,MAAM;OAC1C,MAAM,SAAS,OAAO;OACtB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,gBAAgB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QAChD,MAAM;OACR;MACF,CAAC;MACD,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,OAAO,OAAO;OAC3C,MAAM,SAAS,OAAO;OACtB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,iBAAiB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QACjD,MAAM;OACR;MACF,CAAC;MACD,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,OAAO,MAAM;OAC1C,MAAM,SAAS,OAAO;OACtB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,gBAAgB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QAChD,MAAM;OACR;MACF,CAAC;MACD,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,OAAO,IAAI;OACxC,MAAM,SAAS,OAAO;OACtB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,iBAAiB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QACjD,MAAM;OACR;MACF,CAAC;MACD,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,OAAO,WAAW;OAC/C,MAAM,SAAS,OAAO;OACtB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,qBAAqB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QACrD,MAAM;OACR;MACF,CAAC;KACH;IACF,CAAC;IACD,aAAa,KAAK;KAChB,IAAI,SAAS,OAAO,SAAS,KAAK,EAAE;KACpC,MAAM;KACN,MAAM,SAAS;KACf,YAAY;MACV,OAAO,CAAC,cAAc,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;MAC9C,MAAM;KACR;KACA,OAAO;MACL,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,KAAK,QAAQ;OAC1C,MAAM,SAAS,KAAK;OACpB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,kBAAkB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QAClD,MAAM;OACR;MACF,CAAC;MACD,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,KAAK,OAAO;OACzC,MAAM,SAAS,KAAK;OACpB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,iBAAiB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QACjD,MAAM;OACR;MACF,CAAC;MACD,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,KAAK,OAAO;OACzC,MAAM,SAAS,KAAK;OACpB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,iBAAiB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QACjD,MAAM;OACR;MACF,CAAC;MACD,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,KAAK,WAAW;OAC7C,MAAM,SAAS,KAAK;OACpB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,qBAAqB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QACrD,MAAM;OACR;MACF,CAAC;KACH;IACF,CAAC;IACD,aAAa,KAAK;KAChB,IAAI,SAAS,OAAO,SAAS,KAAK,EAAE;KACpC,MAAM;KACN,MAAM,SAAS;KACf,YAAY;MACV,OAAO,CAAC,cAAc,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;MAC9C,MAAM;KACR;KACA,OAAO;MACL,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,KAAK,MAAM;OACxC,MAAM,SAAS,KAAK;OACpB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,gBAAgB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QAChD,MAAM;OACR;MACF,CAAC;MACD,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,KAAK,KAAK;OACvC,MAAM,SAAS,KAAK;OACpB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,eAAe,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QAC/C,MAAM;OACR;MACF,CAAC;MACD,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,KAAK,KAAK;OACvC,MAAM,SAAS,KAAK;OACpB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,eAAe,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QAC/C,MAAM;OACR;MACF,CAAC;MACD,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,KAAK,OAAO;OACzC,MAAM,SAAS,KAAK;OACpB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,iBAAiB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QACjD,MAAM;OACR;MACF,CAAC;MACD,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,KAAK,OAAO;OACzC,MAAM,SAAS,KAAK;OACpB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,iBAAiB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QACjD,MAAM;OACR;MACF,CAAC;MACD,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,KAAK,MAAM;OACxC,MAAM,SAAS,KAAK;OACpB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,gBAAgB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QAChD,MAAM;OACR;MACF,CAAC;MACD,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,KAAK,QAAQ;OAC1C,MAAM,SAAS,KAAK;OACpB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,kBAAkB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QAClD,MAAM;OACR;MACF,CAAC;MACD,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,KAAK,SAAS;OAC3C,MAAM,SAAS,KAAK;OACpB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,mBAAmB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QACnD,MAAM;OACR;MACF,CAAC;MACD,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,KAAK,MAAM;OACxC,MAAM,SAAS,KAAK;OACpB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,gBAAgB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QAChD,MAAM;OACR;MACF,CAAC;MACD,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,KAAK,OAAO;OACzC,MAAM,SAAS,KAAK;OACpB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,iBAAiB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QACjD,MAAM;OACR;MACF,CAAC;MACD,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,KAAK,QAAQ;OAC1C,MAAM,SAAS,KAAK;OACpB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,kBAAkB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QAClD,MAAM;OACR;MACF,CAAC;KACH;IACF,CAAC;IACD,aAAa,KAAK;KAChB,IAAI,SAAS,OAAO,SAAS,KAAK,EAAE;KACpC,MAAM;KACN,MAAM,SAAS;KACf,YAAY;MACV,OAAO,CAAC,cAAc,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;MAC9C,MAAM;KACR;KACA,OAAO;MACL,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,KAAK,MAAM;OACxC,MAAM,SAAS,KAAK;OACpB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,gBAAgB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QAChD,MAAM;OACR;MACF,CAAC;MACD,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,KAAK,KAAK;OACvC,MAAM,SAAS,KAAK;OACpB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,eAAe,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QAC/C,MAAM;OACR;MACF,CAAC;MACD,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,KAAK,OAAO;OACzC,MAAM,SAAS,KAAK;OACpB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,iBAAiB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QACjD,MAAM;OACR;MACF,CAAC;KACH;IACF,CAAC;IACD,aAAa,KAAK;KAChB,IAAI,SAAS,OAAO,SAAS,KAAK,EAAE;KACpC,MAAM;KACN,MAAM,SAAS;KACf,YAAY;MACV,OAAO,CAAC,cAAc,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;MAC9C,MAAM;KACR;KACA,OAAO;MACL,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,KAAK,SAAS;OAC3C,MAAM,SAAS,KAAK;OACpB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,mBAAmB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QACnD,MAAM;OACR;MACF,CAAC;MACD,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,KAAK,SAAS;OAC3C,MAAM,SAAS,KAAK;OACpB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,mBAAmB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QACnD,MAAM;OACR;MACF,CAAC;MACD,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,KAAK,MAAM;OACxC,MAAM,SAAS,KAAK;OACpB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,gBAAgB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QAChD,MAAM;OACR;MACF,CAAC;MACD,aAAa,KAAK;OAChB,IAAI,SAAS,OAAO,SAAS,KAAK,OAAO;OACzC,MAAM,SAAS,KAAK;OACpB,MAAM,SAAS;OACf,YAAY;QACV,OAAO,CAAC,iBAAiB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;QACjD,MAAM;OACR;MACF,CAAC;KACH;IACF,CAAC;GACH;EACF,CAAC,CACH;CACF,CAAC;AACL,CAAC"}
|
|
@@ -3,7 +3,7 @@ import * as Capability from "@dxos/app-framework/Capability";
|
|
|
3
3
|
import { meta } from "#meta";
|
|
4
4
|
import "react";
|
|
5
5
|
import * as Capabilities from "@dxos/app-framework/Capabilities";
|
|
6
|
-
import
|
|
6
|
+
import * as Surface from "@dxos/app-framework/Surface";
|
|
7
7
|
import { DevtoolsContextProvider } from "@dxos/devtools";
|
|
8
8
|
import { jsx } from "react/jsx-runtime";
|
|
9
9
|
//#region src/capabilities/react-context.tsx
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-react-context.mjs","names":[],"sources":["../../src/capabilities/react-context.tsx"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React from 'react';\n\nimport * as Capabilities from '@dxos/app-framework/Capabilities';\nimport * as Capability from '@dxos/app-framework/Capability';\nimport
|
|
1
|
+
{"version":3,"file":"chunk-react-context.mjs","names":[],"sources":["../../src/capabilities/react-context.tsx"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React from 'react';\n\nimport * as Capabilities from '@dxos/app-framework/Capabilities';\nimport * as Capability from '@dxos/app-framework/Capability';\nimport * as Surface from '@dxos/app-framework/Surface';\nimport { DevtoolsContextProvider } from '@dxos/devtools';\n\nimport { meta } from '#meta';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contribute(Capabilities.ReactContext, {\n id: meta.profile.key,\n context: ({ children }) => (\n <Surface.ProfilerProvider>\n <DevtoolsContextProvider>{children}</DevtoolsContextProvider>\n </Surface.ProfilerProvider>\n ),\n }),\n ),\n);\n"],"mappings":";;;;;;;;;AAcA,IAAA,wBAAe,WAAW,iBACxB,OAAO,QACL,WAAW,WAAW,aAAa,cAAc;CAC/C,IAAI,KAAK,QAAQ;CACjB,UAAU,EAAE,eACV,oBAAC,QAAQ,kBAAT,EAAA,UACE,oBAAC,yBAAD,EAA0B,SAAkC,CAAA,EACpC,CAAA;AAE9B,CAAC,CACH,CACF"}
|
|
@@ -1,16 +1,21 @@
|
|
|
1
|
+
import { a as SwarmTraceCardSurface, i as SurfaceProfilerCardSurface, n as IndexerCardSurface, o as SyncCardSurface, r as QueriesCardSurface, s as devtoolsCard, t as EdgeCardSurface } from "./chunk-DevtoolsCards.mjs";
|
|
1
2
|
import * as Effect from "effect/Effect";
|
|
2
3
|
import * as Capability from "@dxos/app-framework/Capability";
|
|
3
4
|
import { Devtools } from "#types";
|
|
4
5
|
import { useCallback } from "react";
|
|
5
6
|
import * as GraphPath from "@dxos/app-toolkit/GraphPath";
|
|
6
7
|
import * as Capabilities from "@dxos/app-framework/Capabilities";
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
8
|
+
import * as Surface from "@dxos/app-framework/Surface";
|
|
9
|
+
import { AutomergeArticle, ConfigArticle, CredentialsArticle, DatabaseCard, DeviceListArticle, DiagnosticsArticle, EdgeDashboardArticle, FeedsArticle, IdentityArticle, InvocationTraceContainer, KeyringArticle, LoggingArticle, MembersArticle, MemoryCard, MetadataArticle, NetworkArticle, NetworkCard, ObjectsArticle, PerformanceCard, QueriesArticle, QueuesArticle, ReplicatorCard, ReplicatorMessagesCard, SchemaArticle, SignalArticle, SpaceInfoArticle, SpaceListArticle, SqliteArticle, StorageArticle, SwarmArticle, TestingArticle, TimeSeriesCard, WorkflowArticle } from "@dxos/devtools";
|
|
9
10
|
import { jsx } from "react/jsx-runtime";
|
|
10
|
-
import
|
|
11
|
-
import
|
|
11
|
+
import * as AppSurface from "@dxos/app-toolkit/AppSurface";
|
|
12
|
+
import * as DebugSurface from "@dxos/plugin-debug/DebugSurface";
|
|
13
|
+
import { CliArticle, DebugGraph, DevtoolsOverviewContainer, RegistryArticle, ToolsExplorerContainer } from "#containers";
|
|
14
|
+
import * as Hooks from "@dxos/app-framework/Hooks";
|
|
15
|
+
import * as ToolkitHooks from "@dxos/app-toolkit/Hooks";
|
|
12
16
|
import * as LayoutOperation from "@dxos/app-toolkit/LayoutOperation";
|
|
13
17
|
import { Feed } from "@dxos/echo";
|
|
18
|
+
import { useResolveRef } from "@dxos/echo-react";
|
|
14
19
|
import { log } from "@dxos/log";
|
|
15
20
|
import * as ScriptOperation from "@dxos/plugin-script/ScriptOperation";
|
|
16
21
|
import * as SpaceOperation from "@dxos/plugin-space/SpaceOperation";
|
|
@@ -20,44 +25,47 @@ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-devtools/src/capabili
|
|
|
20
25
|
* Most devtools panels take the active space and render nothing without one. A mapper cannot read
|
|
21
26
|
* the active space (it is a hook) nor decline to render, so they share this wrapper.
|
|
22
27
|
*/
|
|
23
|
-
var ActiveSpacePanel = ({ Panel }) => {
|
|
24
|
-
const space = useActiveSpace();
|
|
25
|
-
return space ? /* @__PURE__ */ jsx(Panel, {
|
|
28
|
+
var ActiveSpacePanel = ({ role, Panel }) => {
|
|
29
|
+
const space = ToolkitHooks.useActiveSpace();
|
|
30
|
+
return space ? /* @__PURE__ */ jsx(Panel, {
|
|
31
|
+
role,
|
|
32
|
+
space
|
|
33
|
+
}) : null;
|
|
26
34
|
};
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const handleSelect = useCallback(() =>
|
|
30
|
-
return /* @__PURE__ */ jsx(
|
|
35
|
+
/** The space list; selecting a space shows its page in the debug panel. */
|
|
36
|
+
var SpaceListSurface = ({ role, onNavigate }) => {
|
|
37
|
+
const handleSelect = useCallback(() => onNavigate(Devtools.getNodePath(Devtools.Echo.Space)), [onNavigate]);
|
|
38
|
+
return /* @__PURE__ */ jsx(SpaceListArticle, {
|
|
39
|
+
role,
|
|
40
|
+
onSelect: handleSelect
|
|
41
|
+
});
|
|
31
42
|
};
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const
|
|
35
|
-
const handleSelect = useCallback(() =>
|
|
43
|
+
/** The active space; selecting a feed or pipeline shows the feeds page in the debug panel. */
|
|
44
|
+
var SpaceInfoSurface = ({ role, onNavigate }) => {
|
|
45
|
+
const space = ToolkitHooks.useActiveSpace();
|
|
46
|
+
const handleSelect = useCallback(() => onNavigate(Devtools.getNodePath(Devtools.Echo.Feeds)), [onNavigate]);
|
|
36
47
|
if (!space) return null;
|
|
37
|
-
return /* @__PURE__ */ jsx(
|
|
48
|
+
return /* @__PURE__ */ jsx(SpaceInfoArticle, {
|
|
49
|
+
role,
|
|
38
50
|
space,
|
|
39
51
|
onSelectFeed: handleSelect,
|
|
40
52
|
onSelectPipeline: handleSelect
|
|
41
53
|
});
|
|
42
54
|
};
|
|
43
|
-
var EdgeTracesSurface = () => {
|
|
44
|
-
const space = useActiveSpace();
|
|
55
|
+
var EdgeTracesSurface = ({ role }) => {
|
|
56
|
+
const space = ToolkitHooks.useActiveSpace();
|
|
57
|
+
const feed = useResolveRef(space?.properties.invocationTraceFeed);
|
|
45
58
|
if (!space) return null;
|
|
46
|
-
const feed = space.properties.invocationTraceFeed?.target;
|
|
47
59
|
const feedDXN = feed ? Feed.getFeedUri(feed) : void 0;
|
|
48
60
|
return /* @__PURE__ */ jsx(InvocationTraceContainer, {
|
|
61
|
+
role,
|
|
49
62
|
db: space.db,
|
|
50
63
|
feedDXN,
|
|
51
64
|
detailAxis: "block"
|
|
52
65
|
});
|
|
53
66
|
};
|
|
54
|
-
var EdgeTestingSurface = () => {
|
|
55
|
-
const { invokePromise } = useOperationInvoker();
|
|
56
|
-
const onSpaceCreate = useCallback(async (space) => {
|
|
57
|
-
await space.waitUntilReady();
|
|
58
|
-
await invokePromise(SpaceOperation.Migrate, { space });
|
|
59
|
-
await space.db.flush();
|
|
60
|
-
}, [invokePromise]);
|
|
67
|
+
var EdgeTestingSurface = ({ role }) => {
|
|
68
|
+
const { invokePromise } = Hooks.useOperationInvoker();
|
|
61
69
|
const onScriptPluginOpen = useCallback(async (space) => {
|
|
62
70
|
await space.waitUntilReady();
|
|
63
71
|
const createResult = await invokePromise(ScriptOperation.CreateScript, { db: space.db });
|
|
@@ -65,13 +73,13 @@ var EdgeTestingSurface = () => {
|
|
|
65
73
|
log.info("script created", { result: createResult }, {
|
|
66
74
|
"~LogMeta": "~LogMeta",
|
|
67
75
|
F: __dxlog_file,
|
|
68
|
-
L:
|
|
76
|
+
L: 88,
|
|
69
77
|
S: void 0
|
|
70
78
|
});
|
|
71
79
|
if (createResult.data?.object) await invokePromise(LayoutOperation.Open, { subject: [GraphPath.getObjectPathFromObject(createResult.data.object)] });
|
|
72
80
|
}, [invokePromise]);
|
|
73
|
-
return /* @__PURE__ */ jsx(
|
|
74
|
-
|
|
81
|
+
return /* @__PURE__ */ jsx(TestingArticle, {
|
|
82
|
+
role,
|
|
75
83
|
onScriptPluginOpen
|
|
76
84
|
});
|
|
77
85
|
};
|
|
@@ -86,166 +94,314 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ()
|
|
|
86
94
|
return Capability.contribute(Capabilities.ReactSurface, [
|
|
87
95
|
Surface.create({
|
|
88
96
|
id: "appGraph",
|
|
89
|
-
filter: AppSurface.subject(
|
|
97
|
+
filter: AppSurface.subject(DebugSurface.Page, isGraphDebug),
|
|
90
98
|
component: DebugGraph,
|
|
91
|
-
props: ({ data: { subject } }) => ({
|
|
99
|
+
props: ({ role, data: { subject } }) => ({
|
|
100
|
+
role,
|
|
92
101
|
graph: subject.graph,
|
|
93
102
|
root: subject.root
|
|
94
103
|
})
|
|
95
104
|
}),
|
|
96
105
|
Surface.create({
|
|
97
106
|
id: "toolsExplorer",
|
|
98
|
-
filter: AppSurface.literal(
|
|
99
|
-
component: ToolsExplorerContainer
|
|
107
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.ToolsExplorer),
|
|
108
|
+
component: ToolsExplorerContainer,
|
|
109
|
+
props: ({ role }) => ({ role })
|
|
100
110
|
}),
|
|
101
111
|
Surface.create({
|
|
102
112
|
id: "cli",
|
|
103
|
-
filter: AppSurface.literal(
|
|
104
|
-
component:
|
|
113
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Cli),
|
|
114
|
+
component: CliArticle,
|
|
115
|
+
props: ({ role }) => ({ role })
|
|
105
116
|
}),
|
|
106
117
|
Surface.create({
|
|
107
118
|
id: "registry",
|
|
108
|
-
filter: AppSurface.literal(
|
|
109
|
-
component:
|
|
119
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Echo.Registry),
|
|
120
|
+
component: RegistryArticle,
|
|
121
|
+
props: ({ role }) => ({ role })
|
|
110
122
|
}),
|
|
111
123
|
Surface.create({
|
|
112
124
|
id: "devtoolsOverview",
|
|
113
125
|
filter: Surface.makeFilter(AppSurface.deckCompanion("devtoolsOverview")),
|
|
114
126
|
component: DevtoolsOverviewContainer
|
|
115
127
|
}),
|
|
128
|
+
Surface.create({
|
|
129
|
+
id: "card.memory",
|
|
130
|
+
filter: devtoolsCard,
|
|
131
|
+
position: 0,
|
|
132
|
+
component: MemoryCard,
|
|
133
|
+
props: ({ data: { stats } }) => ({ memory: stats.memory })
|
|
134
|
+
}),
|
|
135
|
+
Surface.create({
|
|
136
|
+
id: "card.network",
|
|
137
|
+
filter: devtoolsCard,
|
|
138
|
+
position: 1,
|
|
139
|
+
component: NetworkCard,
|
|
140
|
+
props: ({ data: { stats } }) => ({ network: stats.network })
|
|
141
|
+
}),
|
|
142
|
+
Surface.create({
|
|
143
|
+
id: "card.edge",
|
|
144
|
+
filter: devtoolsCard,
|
|
145
|
+
position: 2,
|
|
146
|
+
component: EdgeCardSurface,
|
|
147
|
+
props: ({ data: { stats } }) => ({ stats })
|
|
148
|
+
}),
|
|
149
|
+
Surface.create({
|
|
150
|
+
id: "card.performance",
|
|
151
|
+
filter: devtoolsCard,
|
|
152
|
+
position: 3,
|
|
153
|
+
component: PerformanceCard,
|
|
154
|
+
props: ({ data: { stats } }) => ({ entries: stats.performanceEntries })
|
|
155
|
+
}),
|
|
156
|
+
Surface.create({
|
|
157
|
+
id: "card.swarmTrace",
|
|
158
|
+
filter: devtoolsCard,
|
|
159
|
+
position: 4,
|
|
160
|
+
component: SwarmTraceCardSurface
|
|
161
|
+
}),
|
|
162
|
+
Surface.create({
|
|
163
|
+
id: "card.surfaceProfiler",
|
|
164
|
+
filter: devtoolsCard,
|
|
165
|
+
position: 5,
|
|
166
|
+
component: SurfaceProfilerCardSurface,
|
|
167
|
+
props: ({ data: { surfaceProfilerStats, onClearSurfaceProfiler } }) => ({
|
|
168
|
+
surfaceProfilerStats,
|
|
169
|
+
onClearSurfaceProfiler
|
|
170
|
+
})
|
|
171
|
+
}),
|
|
172
|
+
Surface.create({
|
|
173
|
+
id: "card.database",
|
|
174
|
+
filter: devtoolsCard,
|
|
175
|
+
position: 6,
|
|
176
|
+
component: DatabaseCard,
|
|
177
|
+
props: ({ data: { stats } }) => ({ database: stats.database })
|
|
178
|
+
}),
|
|
179
|
+
Surface.create({
|
|
180
|
+
id: "card.replicator",
|
|
181
|
+
filter: devtoolsCard,
|
|
182
|
+
position: 7,
|
|
183
|
+
component: ReplicatorCard,
|
|
184
|
+
props: ({ data: { stats } }) => ({ database: stats.database })
|
|
185
|
+
}),
|
|
186
|
+
Surface.create({
|
|
187
|
+
id: "card.replicatorMessages",
|
|
188
|
+
filter: devtoolsCard,
|
|
189
|
+
position: 8,
|
|
190
|
+
component: ReplicatorMessagesCard,
|
|
191
|
+
props: ({ data: { stats } }) => ({ database: stats.database })
|
|
192
|
+
}),
|
|
193
|
+
Surface.create({
|
|
194
|
+
id: "card.queries",
|
|
195
|
+
filter: devtoolsCard,
|
|
196
|
+
position: 9,
|
|
197
|
+
component: QueriesCardSurface
|
|
198
|
+
}),
|
|
199
|
+
Surface.create({
|
|
200
|
+
id: "card.sync",
|
|
201
|
+
filter: devtoolsCard,
|
|
202
|
+
position: 11,
|
|
203
|
+
component: SyncCardSurface
|
|
204
|
+
}),
|
|
205
|
+
Surface.create({
|
|
206
|
+
id: "card.indexer",
|
|
207
|
+
filter: devtoolsCard,
|
|
208
|
+
position: 12,
|
|
209
|
+
component: IndexerCardSurface
|
|
210
|
+
}),
|
|
211
|
+
Surface.create({
|
|
212
|
+
id: "card.timeSeries",
|
|
213
|
+
filter: devtoolsCard,
|
|
214
|
+
position: 13,
|
|
215
|
+
component: TimeSeriesCard
|
|
216
|
+
}),
|
|
116
217
|
Surface.create({
|
|
117
218
|
id: "client.config",
|
|
118
|
-
filter: AppSurface.literal(
|
|
119
|
-
component:
|
|
120
|
-
props: () => ({
|
|
219
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Client.Config),
|
|
220
|
+
component: ConfigArticle,
|
|
221
|
+
props: ({ role }) => ({
|
|
222
|
+
role,
|
|
223
|
+
vaultSelector: false
|
|
224
|
+
})
|
|
121
225
|
}),
|
|
122
226
|
Surface.create({
|
|
123
227
|
id: "client.storage",
|
|
124
|
-
filter: AppSurface.literal(
|
|
125
|
-
component:
|
|
228
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Client.Storage),
|
|
229
|
+
component: StorageArticle,
|
|
230
|
+
props: ({ role }) => ({ role })
|
|
126
231
|
}),
|
|
127
232
|
Surface.create({
|
|
128
233
|
id: "client.sqlite",
|
|
129
|
-
filter: AppSurface.literal(
|
|
130
|
-
component:
|
|
234
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Client.Sqlite),
|
|
235
|
+
component: SqliteArticle,
|
|
236
|
+
props: ({ role }) => ({ role })
|
|
131
237
|
}),
|
|
132
238
|
Surface.create({
|
|
133
239
|
id: "client.logs",
|
|
134
|
-
filter: AppSurface.literal(
|
|
135
|
-
component:
|
|
240
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Client.Logs),
|
|
241
|
+
component: LoggingArticle,
|
|
242
|
+
props: ({ role }) => ({ role })
|
|
136
243
|
}),
|
|
137
244
|
Surface.create({
|
|
138
245
|
id: "client.diagnostics",
|
|
139
|
-
filter: AppSurface.literal(
|
|
140
|
-
component:
|
|
246
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Client.Diagnostics),
|
|
247
|
+
component: DiagnosticsArticle,
|
|
248
|
+
props: ({ role }) => ({ role })
|
|
141
249
|
}),
|
|
142
250
|
Surface.create({
|
|
143
251
|
id: "halo.identity",
|
|
144
|
-
filter: AppSurface.literal(
|
|
145
|
-
component:
|
|
252
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Halo.Identity),
|
|
253
|
+
component: IdentityArticle,
|
|
254
|
+
props: ({ role }) => ({ role })
|
|
146
255
|
}),
|
|
147
256
|
Surface.create({
|
|
148
257
|
id: "halo.devices",
|
|
149
|
-
filter: AppSurface.literal(
|
|
150
|
-
component:
|
|
258
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Halo.Devices),
|
|
259
|
+
component: DeviceListArticle,
|
|
260
|
+
props: ({ role }) => ({ role })
|
|
151
261
|
}),
|
|
152
262
|
Surface.create({
|
|
153
263
|
id: "halo.keyring",
|
|
154
|
-
filter: AppSurface.literal(
|
|
155
|
-
component:
|
|
264
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Halo.Keyring),
|
|
265
|
+
component: KeyringArticle,
|
|
266
|
+
props: ({ role }) => ({ role })
|
|
156
267
|
}),
|
|
157
268
|
Surface.create({
|
|
158
269
|
id: "halo.credentials",
|
|
159
|
-
filter: AppSurface.literal(
|
|
270
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Halo.Credentials),
|
|
160
271
|
component: ActiveSpacePanel,
|
|
161
|
-
props: () => ({
|
|
272
|
+
props: ({ role }) => ({
|
|
273
|
+
role,
|
|
274
|
+
Panel: CredentialsArticle
|
|
275
|
+
})
|
|
162
276
|
}),
|
|
163
277
|
Surface.create({
|
|
164
278
|
id: "echo.spaces",
|
|
165
|
-
filter: AppSurface.literal(
|
|
166
|
-
component: SpaceListSurface
|
|
279
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Echo.Spaces),
|
|
280
|
+
component: SpaceListSurface,
|
|
281
|
+
props: ({ role, data: { onNavigate } }) => ({
|
|
282
|
+
role,
|
|
283
|
+
onNavigate
|
|
284
|
+
})
|
|
167
285
|
}),
|
|
168
286
|
Surface.create({
|
|
169
287
|
id: "echo.space",
|
|
170
|
-
filter: AppSurface.literal(
|
|
171
|
-
component: SpaceInfoSurface
|
|
288
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Echo.Space),
|
|
289
|
+
component: SpaceInfoSurface,
|
|
290
|
+
props: ({ role, data: { onNavigate } }) => ({
|
|
291
|
+
role,
|
|
292
|
+
onNavigate
|
|
293
|
+
})
|
|
172
294
|
}),
|
|
173
295
|
Surface.create({
|
|
174
296
|
id: "echo.feeds",
|
|
175
|
-
filter: AppSurface.literal(
|
|
297
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Echo.Feeds),
|
|
176
298
|
component: ActiveSpacePanel,
|
|
177
|
-
props: () => ({
|
|
299
|
+
props: ({ role }) => ({
|
|
300
|
+
role,
|
|
301
|
+
Panel: FeedsArticle
|
|
302
|
+
})
|
|
178
303
|
}),
|
|
179
304
|
Surface.create({
|
|
180
305
|
id: "echo.objects",
|
|
181
|
-
filter: AppSurface.literal(
|
|
306
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Echo.Objects),
|
|
182
307
|
component: ActiveSpacePanel,
|
|
183
|
-
props: () => ({
|
|
308
|
+
props: ({ role }) => ({
|
|
309
|
+
role,
|
|
310
|
+
Panel: ObjectsArticle
|
|
311
|
+
})
|
|
312
|
+
}),
|
|
313
|
+
Surface.create({
|
|
314
|
+
id: "echo.queries",
|
|
315
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Echo.Queries),
|
|
316
|
+
component: QueriesArticle,
|
|
317
|
+
props: ({ role }) => ({ role })
|
|
184
318
|
}),
|
|
185
319
|
Surface.create({
|
|
186
320
|
id: "echo.schema",
|
|
187
|
-
filter: AppSurface.literal(
|
|
321
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Echo.Schema),
|
|
188
322
|
component: ActiveSpacePanel,
|
|
189
|
-
props: () => ({
|
|
323
|
+
props: ({ role }) => ({
|
|
324
|
+
role,
|
|
325
|
+
Panel: SchemaArticle
|
|
326
|
+
})
|
|
190
327
|
}),
|
|
191
328
|
Surface.create({
|
|
192
329
|
id: "echo.automerge",
|
|
193
|
-
filter: AppSurface.literal(
|
|
330
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Echo.Automerge),
|
|
194
331
|
component: ActiveSpacePanel,
|
|
195
|
-
props: () => ({
|
|
332
|
+
props: ({ role }) => ({
|
|
333
|
+
role,
|
|
334
|
+
Panel: AutomergeArticle
|
|
335
|
+
})
|
|
196
336
|
}),
|
|
197
337
|
Surface.create({
|
|
198
338
|
id: "echo.queues",
|
|
199
|
-
filter: AppSurface.literal(
|
|
200
|
-
component:
|
|
339
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Echo.Queues),
|
|
340
|
+
component: QueuesArticle,
|
|
341
|
+
props: ({ role }) => ({ role })
|
|
201
342
|
}),
|
|
202
343
|
Surface.create({
|
|
203
344
|
id: "echo.members",
|
|
204
|
-
filter: AppSurface.literal(
|
|
345
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Echo.Members),
|
|
205
346
|
component: ActiveSpacePanel,
|
|
206
|
-
props: () => ({
|
|
347
|
+
props: ({ role }) => ({
|
|
348
|
+
role,
|
|
349
|
+
Panel: MembersArticle
|
|
350
|
+
})
|
|
207
351
|
}),
|
|
208
352
|
Surface.create({
|
|
209
353
|
id: "echo.metadata",
|
|
210
|
-
filter: AppSurface.literal(
|
|
211
|
-
component:
|
|
354
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Echo.Metadata),
|
|
355
|
+
component: MetadataArticle,
|
|
356
|
+
props: ({ role }) => ({ role })
|
|
212
357
|
}),
|
|
213
358
|
Surface.create({
|
|
214
359
|
id: "mesh.signal",
|
|
215
|
-
filter: AppSurface.literal(
|
|
216
|
-
component:
|
|
360
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Mesh.Signal),
|
|
361
|
+
component: SignalArticle,
|
|
362
|
+
props: ({ role }) => ({ role })
|
|
217
363
|
}),
|
|
218
364
|
Surface.create({
|
|
219
365
|
id: "mesh.swarm",
|
|
220
|
-
filter: AppSurface.literal(
|
|
221
|
-
component:
|
|
366
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Mesh.Swarm),
|
|
367
|
+
component: SwarmArticle,
|
|
368
|
+
props: ({ role }) => ({ role })
|
|
222
369
|
}),
|
|
223
370
|
Surface.create({
|
|
224
371
|
id: "mesh.network",
|
|
225
|
-
filter: AppSurface.literal(
|
|
372
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Mesh.Network),
|
|
226
373
|
component: ActiveSpacePanel,
|
|
227
|
-
props: () => ({
|
|
374
|
+
props: ({ role }) => ({
|
|
375
|
+
role,
|
|
376
|
+
Panel: NetworkArticle
|
|
377
|
+
})
|
|
228
378
|
}),
|
|
229
379
|
Surface.create({
|
|
230
380
|
id: "edge.dashboard",
|
|
231
|
-
filter: AppSurface.literal(
|
|
232
|
-
component:
|
|
381
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Edge.Dashboard),
|
|
382
|
+
component: EdgeDashboardArticle,
|
|
383
|
+
props: ({ role }) => ({ role })
|
|
233
384
|
}),
|
|
234
385
|
Surface.create({
|
|
235
386
|
id: "edge.workflows",
|
|
236
|
-
filter: AppSurface.literal(
|
|
387
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Edge.Workflows),
|
|
237
388
|
component: ActiveSpacePanel,
|
|
238
|
-
props: () => ({
|
|
389
|
+
props: ({ role }) => ({
|
|
390
|
+
role,
|
|
391
|
+
Panel: WorkflowArticle
|
|
392
|
+
})
|
|
239
393
|
}),
|
|
240
394
|
Surface.create({
|
|
241
395
|
id: "edge.traces",
|
|
242
|
-
filter: AppSurface.literal(
|
|
243
|
-
component: EdgeTracesSurface
|
|
396
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Edge.Traces),
|
|
397
|
+
component: EdgeTracesSurface,
|
|
398
|
+
props: ({ role }) => ({ role })
|
|
244
399
|
}),
|
|
245
400
|
Surface.create({
|
|
246
401
|
id: "edge.testing",
|
|
247
|
-
filter: AppSurface.literal(
|
|
248
|
-
component: EdgeTestingSurface
|
|
402
|
+
filter: AppSurface.literal(DebugSurface.Page, Devtools.Edge.Testing),
|
|
403
|
+
component: EdgeTestingSurface,
|
|
404
|
+
props: ({ role }) => ({ role })
|
|
249
405
|
})
|
|
250
406
|
]);
|
|
251
407
|
}));
|