@dxos/plugin-debug 0.8.4-main.4a85c3132b → 0.8.4-main.4f23b4e393

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 (198) hide show
  1. package/dist/lib/{browser/DebugGraph-7HXJ2PS2.mjs → neutral/DebugGraph-G4FWS57E.mjs} +4 -5
  2. package/dist/lib/neutral/DebugGraph-G4FWS57E.mjs.map +7 -0
  3. package/dist/lib/neutral/DebugObjectPanel-UJ63CV25.mjs +59 -0
  4. package/dist/lib/neutral/DebugObjectPanel-UJ63CV25.mjs.map +7 -0
  5. package/dist/lib/neutral/DebugPlugin.mjs +47 -0
  6. package/dist/lib/neutral/DebugPlugin.mjs.map +7 -0
  7. package/dist/lib/neutral/DebugPlugin.node.mjs +18 -0
  8. package/dist/lib/neutral/DebugPlugin.node.mjs.map +7 -0
  9. package/dist/lib/neutral/DebugSettings-Z3XADRNK.mjs +224 -0
  10. package/dist/lib/neutral/DebugSettings-Z3XADRNK.mjs.map +7 -0
  11. package/dist/lib/{browser/DebugSpaceObjectsPanel-7NRPLWZ4.mjs → neutral/DebugSpaceObjectsPanel-NISULU6U.mjs} +10 -26
  12. package/dist/lib/neutral/DebugSpaceObjectsPanel-NISULU6U.mjs.map +7 -0
  13. package/dist/lib/{browser/DebugStatus-COQGH37G.mjs → neutral/DebugStatus-YB3KFP7G.mjs} +35 -39
  14. package/dist/lib/neutral/DebugStatus-YB3KFP7G.mjs.map +7 -0
  15. package/dist/lib/{browser/DevtoolsOverviewContainer-C75NFVER.mjs → neutral/DevtoolsOverviewContainer-YX7Z3D2H.mjs} +9 -6
  16. package/dist/lib/neutral/DevtoolsOverviewContainer-YX7Z3D2H.mjs.map +7 -0
  17. package/dist/lib/neutral/SpaceGenerator-UBYB4NPD.mjs +143 -0
  18. package/dist/lib/neutral/SpaceGenerator-UBYB4NPD.mjs.map +7 -0
  19. package/dist/lib/{browser/Wireframe-KAGOKEFW.mjs → neutral/Wireframe-7SNRUKET.mjs} +8 -9
  20. package/dist/lib/neutral/Wireframe-7SNRUKET.mjs.map +7 -0
  21. package/dist/lib/{browser/app-graph-builder-LGUQNXHD.mjs → neutral/app-graph-builder-YPYHL2K5.mjs} +210 -258
  22. package/dist/lib/neutral/app-graph-builder-YPYHL2K5.mjs.map +7 -0
  23. package/dist/lib/neutral/capabilities/index.mjs +15 -0
  24. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  25. package/dist/lib/{browser/chunk-A5H5GRV6.mjs → neutral/chunk-3OGPOE7H.mjs} +2 -2
  26. package/dist/lib/{browser/chunk-A5H5GRV6.mjs.map → neutral/chunk-3OGPOE7H.mjs.map} +3 -3
  27. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  28. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  29. package/dist/lib/{browser/chunk-4UFQXPP7.mjs → neutral/chunk-NFIOTQRZ.mjs} +23 -12
  30. package/dist/lib/neutral/chunk-NFIOTQRZ.mjs.map +7 -0
  31. package/dist/lib/{browser/SpaceGenerator-SWSGJEEL.mjs → neutral/components/index.mjs} +70 -264
  32. package/dist/lib/neutral/components/index.mjs.map +7 -0
  33. package/dist/lib/neutral/containers/index.mjs +21 -0
  34. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  35. package/dist/lib/neutral/index.mjs +18 -0
  36. package/dist/lib/neutral/index.mjs.map +7 -0
  37. package/dist/lib/neutral/meta.json +1 -0
  38. package/dist/lib/neutral/meta.mjs +8 -0
  39. package/dist/lib/neutral/meta.mjs.map +7 -0
  40. package/dist/lib/neutral/plugin.mjs +12 -0
  41. package/dist/lib/neutral/plugin.mjs.map +7 -0
  42. package/dist/lib/{browser/react-context-I3USIAF6.mjs → neutral/react-context-MUZ3KVLU.mjs} +6 -6
  43. package/dist/lib/neutral/react-context-MUZ3KVLU.mjs.map +7 -0
  44. package/dist/lib/{browser/react-surface-BTVNKKVQ.mjs → neutral/react-surface-UR2SYHYW.mjs} +154 -178
  45. package/dist/lib/neutral/react-surface-UR2SYHYW.mjs.map +7 -0
  46. package/dist/lib/{browser/settings-SLTQJJNF.mjs → neutral/settings-MPM6YUP4.mjs} +7 -11
  47. package/dist/lib/neutral/settings-MPM6YUP4.mjs.map +7 -0
  48. package/dist/lib/neutral/translations.mjs +83 -0
  49. package/dist/lib/neutral/translations.mjs.map +7 -0
  50. package/dist/lib/neutral/types/index.mjs +14 -0
  51. package/dist/lib/neutral/types/index.mjs.map +7 -0
  52. package/dist/types/src/DebugPlugin.d.ts +2 -5
  53. package/dist/types/src/DebugPlugin.d.ts.map +1 -1
  54. package/dist/types/src/DebugPlugin.node.d.ts +5 -0
  55. package/dist/types/src/DebugPlugin.node.d.ts.map +1 -0
  56. package/dist/types/src/DebugPlugin.test.d.ts +2 -0
  57. package/dist/types/src/DebugPlugin.test.d.ts.map +1 -0
  58. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  59. package/dist/types/src/capabilities/index.d.ts +11 -4
  60. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  61. package/dist/types/src/capabilities/react-context.d.ts.map +1 -0
  62. package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +2 -2
  63. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  64. package/dist/types/src/capabilities/{settings/settings.d.ts → settings.d.ts} +2 -1
  65. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  66. package/dist/types/src/components/DebugSettings/DebugSettings.d.ts +11 -0
  67. package/dist/types/src/components/DebugSettings/DebugSettings.d.ts.map +1 -0
  68. package/dist/types/src/components/DebugSettings/DebugSettings.stories.d.ts +99 -0
  69. package/dist/types/src/components/DebugSettings/DebugSettings.stories.d.ts.map +1 -0
  70. package/dist/types/src/components/DebugSettings/index.d.ts +2 -0
  71. package/dist/types/src/components/DebugSettings/index.d.ts.map +1 -0
  72. package/dist/types/src/components/SchemaTable/SchemaTable.d.ts.map +1 -1
  73. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts +2 -2
  74. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts.map +1 -1
  75. package/dist/types/src/components/SpaceGenerator/draw-util.d.ts.map +1 -1
  76. package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -1
  77. package/dist/types/src/components/index.d.ts +2 -0
  78. package/dist/types/src/components/index.d.ts.map +1 -1
  79. package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts +2 -2
  80. package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts.map +1 -1
  81. package/dist/types/src/containers/DebugGraph/index.d.ts +1 -2
  82. package/dist/types/src/containers/DebugGraph/index.d.ts.map +1 -1
  83. package/dist/types/src/containers/DebugObjectPanel/DebugObjectPanel.d.ts +3 -4
  84. package/dist/types/src/containers/DebugObjectPanel/DebugObjectPanel.d.ts.map +1 -1
  85. package/dist/types/src/containers/DebugObjectPanel/index.d.ts +1 -2
  86. package/dist/types/src/containers/DebugObjectPanel/index.d.ts.map +1 -1
  87. package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts +3 -1
  88. package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts.map +1 -1
  89. package/dist/types/src/containers/DebugSpaceObjectsPanel/index.d.ts +1 -2
  90. package/dist/types/src/containers/DebugSpaceObjectsPanel/index.d.ts.map +1 -1
  91. package/dist/types/src/containers/DebugStatus/DebugStatus.d.ts.map +1 -1
  92. package/dist/types/src/containers/DebugStatus/index.d.ts +1 -2
  93. package/dist/types/src/containers/DebugStatus/index.d.ts.map +1 -1
  94. package/dist/types/src/containers/DevtoolsOverviewContainer/DevtoolsOverviewContainer.d.ts.map +1 -1
  95. package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts +1 -2
  96. package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts.map +1 -1
  97. package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.d.ts +3 -1
  98. package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.d.ts.map +1 -1
  99. package/dist/types/src/containers/SpaceGenerator/index.d.ts +1 -2
  100. package/dist/types/src/containers/SpaceGenerator/index.d.ts.map +1 -1
  101. package/dist/types/src/containers/Wireframe/Wireframe.d.ts.map +1 -1
  102. package/dist/types/src/containers/Wireframe/index.d.ts +1 -2
  103. package/dist/types/src/containers/Wireframe/index.d.ts.map +1 -1
  104. package/dist/types/src/containers/index.d.ts +0 -1
  105. package/dist/types/src/containers/index.d.ts.map +1 -1
  106. package/dist/types/src/index.d.ts +1 -1
  107. package/dist/types/src/index.d.ts.map +1 -1
  108. package/dist/types/src/plugin.d.ts +4 -0
  109. package/dist/types/src/plugin.d.ts.map +1 -0
  110. package/dist/types/src/translations.d.ts +80 -61
  111. package/dist/types/src/translations.d.ts.map +1 -1
  112. package/dist/types/src/types/Settings.d.ts +8 -0
  113. package/dist/types/src/types/Settings.d.ts.map +1 -0
  114. package/dist/types/src/types/index.d.ts +69 -0
  115. package/dist/types/src/types/index.d.ts.map +1 -0
  116. package/dist/types/tsconfig.tsbuildinfo +1 -1
  117. package/package.json +115 -64
  118. package/src/DebugPlugin.node.ts +18 -0
  119. package/src/DebugPlugin.test.ts +29 -0
  120. package/src/DebugPlugin.tsx +9 -11
  121. package/src/capabilities/app-graph-builder.ts +405 -0
  122. package/src/capabilities/index.ts +6 -4
  123. package/src/capabilities/{react-context/react-context.tsx → react-context.tsx} +7 -2
  124. package/src/capabilities/{react-surface/react-surface.tsx → react-surface.tsx} +169 -159
  125. package/src/capabilities/{settings/settings.ts → settings.ts} +4 -4
  126. package/src/components/DebugSettings/DebugSettings.stories.tsx +36 -0
  127. package/src/components/DebugSettings/DebugSettings.tsx +262 -0
  128. package/src/components/DebugSettings/index.ts +5 -0
  129. package/src/components/SpaceGenerator/ObjectGenerator.tsx +14 -17
  130. package/src/components/SpaceGenerator/draw-util.ts +8 -8
  131. package/src/components/SpaceGenerator/presets.ts +36 -58
  132. package/src/components/index.ts +4 -0
  133. package/src/containers/DebugGraph/DebugGraph.tsx +3 -2
  134. package/src/containers/DebugGraph/index.ts +1 -3
  135. package/src/containers/DebugObjectPanel/DebugObjectPanel.tsx +47 -16
  136. package/src/containers/DebugObjectPanel/index.ts +1 -3
  137. package/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.tsx +10 -23
  138. package/src/containers/DebugSpaceObjectsPanel/index.ts +1 -3
  139. package/src/containers/DebugStatus/DebugStatus.tsx +41 -19
  140. package/src/containers/DebugStatus/index.ts +1 -3
  141. package/src/containers/DevtoolsOverviewContainer/DevtoolsOverviewContainer.tsx +8 -1
  142. package/src/containers/DevtoolsOverviewContainer/index.ts +1 -3
  143. package/src/containers/SpaceGenerator/SpaceGenerator.tsx +102 -103
  144. package/src/containers/SpaceGenerator/index.ts +1 -3
  145. package/src/containers/Wireframe/Wireframe.tsx +2 -6
  146. package/src/containers/Wireframe/index.ts +1 -3
  147. package/src/containers/index.ts +0 -1
  148. package/src/index.ts +1 -1
  149. package/src/meta.ts +1 -1
  150. package/src/plugin.ts +10 -0
  151. package/src/translations.ts +75 -60
  152. package/src/types/Settings.ts +16 -0
  153. package/src/{types.ts → types/index.ts} +15 -14
  154. package/dist/lib/browser/DebugGraph-7HXJ2PS2.mjs.map +0 -7
  155. package/dist/lib/browser/DebugObjectPanel-3TCDNUNW.mjs +0 -33
  156. package/dist/lib/browser/DebugObjectPanel-3TCDNUNW.mjs.map +0 -7
  157. package/dist/lib/browser/DebugSettings-JZMIUDYB.mjs +0 -174
  158. package/dist/lib/browser/DebugSettings-JZMIUDYB.mjs.map +0 -7
  159. package/dist/lib/browser/DebugSpaceObjectsPanel-7NRPLWZ4.mjs.map +0 -7
  160. package/dist/lib/browser/DebugStatus-COQGH37G.mjs.map +0 -7
  161. package/dist/lib/browser/DevtoolsOverviewContainer-C75NFVER.mjs.map +0 -7
  162. package/dist/lib/browser/SpaceGenerator-SWSGJEEL.mjs.map +0 -7
  163. package/dist/lib/browser/Wireframe-KAGOKEFW.mjs.map +0 -7
  164. package/dist/lib/browser/app-graph-builder-LGUQNXHD.mjs.map +0 -7
  165. package/dist/lib/browser/chunk-4UFQXPP7.mjs.map +0 -7
  166. package/dist/lib/browser/index.mjs +0 -132
  167. package/dist/lib/browser/index.mjs.map +0 -7
  168. package/dist/lib/browser/meta.json +0 -1
  169. package/dist/lib/browser/react-context-I3USIAF6.mjs.map +0 -7
  170. package/dist/lib/browser/react-surface-BTVNKKVQ.mjs.map +0 -7
  171. package/dist/lib/browser/settings-SLTQJJNF.mjs.map +0 -7
  172. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
  173. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
  174. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
  175. package/dist/types/src/capabilities/react-context/index.d.ts +0 -7
  176. package/dist/types/src/capabilities/react-context/index.d.ts.map +0 -1
  177. package/dist/types/src/capabilities/react-context/react-context.d.ts.map +0 -1
  178. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -5
  179. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  180. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  181. package/dist/types/src/capabilities/settings/index.d.ts +0 -3
  182. package/dist/types/src/capabilities/settings/index.d.ts.map +0 -1
  183. package/dist/types/src/capabilities/settings/settings.d.ts.map +0 -1
  184. package/dist/types/src/containers/DebugSettings/DebugSettings.d.ts +0 -10
  185. package/dist/types/src/containers/DebugSettings/DebugSettings.d.ts.map +0 -1
  186. package/dist/types/src/containers/DebugSettings/index.d.ts +0 -3
  187. package/dist/types/src/containers/DebugSettings/index.d.ts.map +0 -1
  188. package/dist/types/src/types.d.ts +0 -68
  189. package/dist/types/src/types.d.ts.map +0 -1
  190. package/src/capabilities/app-graph-builder/app-graph-builder.ts +0 -441
  191. package/src/capabilities/app-graph-builder/index.ts +0 -7
  192. package/src/capabilities/react-context/index.ts +0 -7
  193. package/src/capabilities/react-surface/index.ts +0 -7
  194. package/src/capabilities/settings/index.ts +0 -7
  195. package/src/containers/DebugSettings/DebugSettings.tsx +0 -201
  196. package/src/containers/DebugSettings/index.ts +0 -7
  197. /package/dist/types/src/capabilities/{app-graph-builder/app-graph-builder.d.ts → app-graph-builder.d.ts} +0 -0
  198. /package/dist/types/src/capabilities/{react-context/react-context.d.ts → react-context.d.ts} +0 -0
@@ -1,73 +1,51 @@
1
- import {
2
- DebugCapabilities,
3
- Devtools
4
- } from "./chunk-4UFQXPP7.mjs";
5
- import {
6
- meta
7
- } from "./chunk-A5H5GRV6.mjs";
1
+ import "./chunk-J5LGTIGS.mjs";
8
2
 
9
- // src/capabilities/react-surface/react-surface.tsx
3
+ // src/capabilities/react-surface.tsx
10
4
  import * as Effect from "effect/Effect";
11
5
  import React, { useCallback } from "react";
12
6
  import { Capabilities, Capability } from "@dxos/app-framework";
13
- import { Surface, useCapability, useOperationInvoker, useSettingsState } from "@dxos/app-framework/ui";
14
- import { AppCapabilities, LayoutOperation } from "@dxos/app-toolkit";
15
- import { useLayout } from "@dxos/app-toolkit/ui";
16
- import { AutomergePanel, ConfigPanel, CredentialsPanel, DeviceListPanel, DiagnosticsPanel, EdgeDashboardPanel, FeedsPanel, IdentityPanel, InvocationTraceContainer, KeyringPanel, LoggingPanel, MembersPanel, MetadataPanel, NetworkPanel, ObjectsPanel, QueuesPanel, SchemaPanel, SignalPanel, SpaceInfoPanel, SpaceListPanel, StoragePanel, SwarmPanel, TestingPanel, TracingPanel, WorkflowPanel } from "@dxos/devtools";
17
- import { Obj } from "@dxos/echo";
18
- import { Collection } from "@dxos/echo";
7
+ import { Surface, useOperationInvoker, useSettingsState } from "@dxos/app-framework/ui";
8
+ import { AppCapabilities, LayoutOperation, getObjectPathFromObject } from "@dxos/app-toolkit";
9
+ import { AppSurface, useActiveSpace } from "@dxos/app-toolkit/ui";
10
+ import { AutomergePanel, ConfigPanel, CredentialsPanel, DeviceListPanel, DiagnosticsPanel, EdgeDashboardPanel, FeedsPanel, IdentityPanel, InvocationTraceContainer, KeyringPanel, LoggingPanel, MembersPanel, MetadataPanel, NetworkPanel, ObjectsPanel, QueuesPanel, SchemaPanel, SignalPanel, SpaceInfoPanel, SpaceListPanel, StoragePanel, SwarmPanel, TestingPanel, WorkflowPanel } from "@dxos/devtools";
11
+ import { Collection, Feed, Obj } from "@dxos/echo";
19
12
  import { log } from "@dxos/log";
20
- import { ClientCapabilities } from "@dxos/plugin-client";
21
- import { ScriptOperation } from "@dxos/plugin-script/types";
22
- import { SpaceOperation } from "@dxos/plugin-space/types";
23
- import { SpaceState, isSpace, parseId } from "@dxos/react-client/echo";
24
- import { Panel } from "@dxos/react-ui";
25
-
26
- // src/containers/index.ts
27
- import { lazy } from "react";
28
- var DebugGraph = lazy(() => import("./DebugGraph-7HXJ2PS2.mjs"));
29
- var DebugObjectPanel = lazy(() => import("./DebugObjectPanel-3TCDNUNW.mjs"));
30
- var DebugSettings = lazy(() => import("./DebugSettings-JZMIUDYB.mjs"));
31
- var DebugStatus = lazy(() => import("./DebugStatus-COQGH37G.mjs"));
32
- var DevtoolsOverviewContainer = lazy(() => import("./DevtoolsOverviewContainer-C75NFVER.mjs"));
33
- var SpaceGenerator = lazy(() => import("./SpaceGenerator-SWSGJEEL.mjs"));
34
- var Wireframe = lazy(() => import("./Wireframe-KAGOKEFW.mjs"));
35
- var DebugSpaceObjectsPanel = lazy(() => import("./DebugSpaceObjectsPanel-7NRPLWZ4.mjs"));
36
-
37
- // src/capabilities/react-surface/react-surface.tsx
38
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-debug/src/capabilities/react-surface/react-surface.tsx";
39
- var isSpaceDebug = (data) => data?.type === `${meta.id}/space` && isSpace(data.space);
13
+ import { ScriptOperation } from "@dxos/plugin-script";
14
+ import { SpaceOperation } from "@dxos/plugin-space";
15
+ import { SpaceState, isSpace } from "@dxos/react-client/echo";
16
+ import { ToolsExplorer } from "@dxos/react-ui-introspect";
17
+ import { DebugSettings } from "#components";
18
+ import { DebugGraph, DebugObjectPanel, DebugSpaceObjectsPanel, DebugStatus, DevtoolsOverviewContainer, SpaceGenerator, Wireframe } from "#containers";
19
+ import { meta } from "#meta";
20
+ import { DebugCapabilities, Devtools } from "#types";
21
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-debug/src/capabilities/react-surface.tsx";
22
+ var MCP_SERVER_URL = "https://introspect-service-labs.dxos.workers.dev/mcp";
23
+ var isSpaceDebug = (data) => data?.type === `${meta.id}.space` && isSpace(data.space);
40
24
  var isGraphDebug = (data) => {
41
25
  const graph = data?.graph;
42
26
  return graph != null && typeof graph === "object" && typeof graph.json === "function" && typeof data?.root === "string";
43
27
  };
44
- var useCurrentSpace = () => {
45
- const layout = useLayout();
46
- const client = useCapability(ClientCapabilities.Client);
47
- const { spaceId } = parseId(layout.workspace);
48
- const space = spaceId ? client.spaces.get(spaceId) : void 0;
49
- return space;
50
- };
51
- var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({ logBuffer }) {
28
+ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({ logStore }) {
52
29
  const capabilities = yield* Capability.Service;
53
30
  const registry = capabilities.get(Capabilities.AtomRegistry);
54
31
  const settingsAtom = capabilities.get(DebugCapabilities.Settings);
32
+ const fileUploader = capabilities.getAll(AppCapabilities.FileUploader)[0];
55
33
  return Capability.contributes(Capabilities.ReactSurface, [
56
34
  Surface.create({
57
- id: `${meta.id}/plugin-settings`,
58
- role: "article",
59
- filter: (data) => AppCapabilities.isSettings(data.subject) && data.subject.prefix === meta.id,
35
+ id: "plugin-settings",
36
+ filter: AppSurface.settings(AppSurface.Article, meta.id),
60
37
  component: ({ data: { subject } }) => {
61
38
  const { settings, updateSettings } = useSettingsState(subject.atom);
62
39
  return /* @__PURE__ */ React.createElement(DebugSettings, {
63
40
  settings,
64
41
  onSettingsChange: updateSettings,
65
- logBuffer
42
+ logStore,
43
+ onUpload: fileUploader
66
44
  });
67
45
  }
68
46
  }),
69
47
  Surface.create({
70
- id: `${meta.id}/space`,
48
+ id: "space",
71
49
  role: "article",
72
50
  filter: (data) => isSpaceDebug(data.subject),
73
51
  component: ({ role, data }) => {
@@ -90,21 +68,15 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
90
68
  data.subject.space,
91
69
  invokePromise
92
70
  ]);
93
- return /* @__PURE__ */ React.createElement(Panel.Root, {
71
+ return /* @__PURE__ */ React.createElement(SpaceGenerator, {
94
72
  role,
95
- className: "dx-article"
96
- }, /* @__PURE__ */ React.createElement(Panel.Content, {
97
- asChild: true
98
- }, /* @__PURE__ */ React.createElement(Panel.Content, {
99
- asChild: true
100
- }, /* @__PURE__ */ React.createElement(SpaceGenerator, {
101
73
  space: data.subject.space,
102
74
  onCreateObjects: handleCreateObject
103
- }))));
75
+ });
104
76
  }
105
77
  }),
106
78
  Surface.create({
107
- id: `${meta.id}/app-graph`,
79
+ id: "app-graph",
108
80
  role: "article",
109
81
  filter: (data) => isGraphDebug(data.subject),
110
82
  component: ({ data }) => /* @__PURE__ */ React.createElement(DebugGraph, {
@@ -113,7 +85,15 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
113
85
  })
114
86
  }),
115
87
  Surface.create({
116
- id: `${meta.id}/wireframe`,
88
+ id: "tools-explorer",
89
+ filter: AppSurface.literal(AppSurface.Article, Devtools.ToolsExplorer),
90
+ component: () => /* @__PURE__ */ React.createElement(ToolsExplorer, {
91
+ serverUrl: MCP_SERVER_URL
92
+ })
93
+ }),
94
+ Surface.create({
95
+ id: "wireframe",
96
+ // TODO(wittjosiah): Split into multiple surfaces if this filter proves too strict for non-article roles.
117
97
  role: [
118
98
  "article",
119
99
  "section"
@@ -130,98 +110,93 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
130
110
  })
131
111
  }),
132
112
  Surface.create({
133
- id: `${meta.id}/object-debug`,
134
- role: "article",
135
- filter: (data) => data.subject === "debug" && Obj.isObject(data.companionTo),
136
- component: ({ data }) => /* @__PURE__ */ React.createElement(DebugObjectPanel, {
137
- object: data.companionTo
113
+ id: "object-debug",
114
+ filter: AppSurface.allOf(AppSurface.literal(AppSurface.Article, "debug"), AppSurface.companion(AppSurface.Article)),
115
+ component: ({ role, data }) => /* @__PURE__ */ React.createElement(DebugObjectPanel, {
116
+ role,
117
+ companionTo: data.companionTo
138
118
  })
139
119
  }),
140
120
  Surface.create({
141
- id: `${meta.id}/devtools-overview`,
142
- role: "deck-companion--devtools",
143
- filter: (data) => data.subject === "devtools",
121
+ id: "devtools-overview",
122
+ filter: AppSurface.literal(Surface.makeType("deck-companion--devtools"), "devtools"),
144
123
  component: () => /* @__PURE__ */ React.createElement(DevtoolsOverviewContainer, null)
145
124
  }),
146
125
  Surface.create({
147
- id: `${meta.id}/space-objects`,
148
- role: "deck-companion--space-objects",
149
- filter: (data) => data.subject === "space-objects",
150
- component: () => /* @__PURE__ */ React.createElement(DebugSpaceObjectsPanel, null)
126
+ id: "space-objects",
127
+ filter: AppSurface.literal(Surface.makeType("deck-companion--space-objects"), "space-objects"),
128
+ component: () => {
129
+ const space = useActiveSpace();
130
+ if (!space) {
131
+ return null;
132
+ }
133
+ return /* @__PURE__ */ React.createElement(DebugSpaceObjectsPanel, {
134
+ space
135
+ });
136
+ }
151
137
  }),
152
138
  Surface.create({
153
- id: `${meta.id}/status`,
154
- role: "status",
139
+ id: "status",
140
+ role: "status-indicator",
141
+ position: "hoist",
155
142
  component: () => /* @__PURE__ */ React.createElement(DebugStatus, null)
156
143
  }),
157
144
  //
158
145
  // Devtools
159
146
  //
160
147
  Surface.create({
161
- id: `${meta.id}/client/config`,
162
- role: "article",
163
- filter: (data) => data.subject === Devtools.Client.Config,
148
+ id: "client.config",
149
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Client.Config),
164
150
  component: () => /* @__PURE__ */ React.createElement(ConfigPanel, {
165
151
  vaultSelector: false
166
152
  })
167
153
  }),
168
154
  Surface.create({
169
- id: `${meta.id}/client/storage`,
170
- role: "article",
171
- filter: (data) => data.subject === Devtools.Client.Storage,
155
+ id: "client.storage",
156
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Client.Storage),
172
157
  component: () => /* @__PURE__ */ React.createElement(StoragePanel, null)
173
158
  }),
174
159
  Surface.create({
175
- id: `${meta.id}/client/logs`,
176
- role: "article",
177
- filter: (data) => data.subject === Devtools.Client.Logs,
160
+ id: "client.logs",
161
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Client.Logs),
178
162
  component: () => /* @__PURE__ */ React.createElement(LoggingPanel, null)
179
163
  }),
180
164
  Surface.create({
181
- id: `${meta.id}/client/diagnostics`,
182
- role: "article",
183
- filter: (data) => data.subject === Devtools.Client.Diagnostics,
165
+ id: "client.diagnostics",
166
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Client.Diagnostics),
184
167
  component: () => /* @__PURE__ */ React.createElement(DiagnosticsPanel, null)
185
168
  }),
186
169
  Surface.create({
187
- id: `${meta.id}/client/tracing`,
188
- role: "article",
189
- filter: (data) => data.subject === Devtools.Client.Tracing,
190
- component: () => /* @__PURE__ */ React.createElement(TracingPanel, null)
191
- }),
192
- Surface.create({
193
- id: `${meta.id}/halo/identity`,
194
- role: "article",
195
- filter: (data) => data.subject === Devtools.Halo.Identity,
170
+ id: "halo.identity",
171
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Halo.Identity),
196
172
  component: () => /* @__PURE__ */ React.createElement(IdentityPanel, null)
197
173
  }),
198
174
  Surface.create({
199
- id: `${meta.id}/halo/devices`,
200
- role: "article",
201
- filter: (data) => data.subject === Devtools.Halo.Devices,
175
+ id: "halo.devices",
176
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Halo.Devices),
202
177
  component: () => /* @__PURE__ */ React.createElement(DeviceListPanel, null)
203
178
  }),
204
179
  Surface.create({
205
- id: `${meta.id}/halo/keyring`,
206
- role: "article",
207
- filter: (data) => data.subject === Devtools.Halo.Keyring,
180
+ id: "halo.keyring",
181
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Halo.Keyring),
208
182
  component: () => /* @__PURE__ */ React.createElement(KeyringPanel, null)
209
183
  }),
210
184
  Surface.create({
211
- id: `${meta.id}/halo/credentials`,
212
- role: "article",
213
- filter: (data) => data.subject === Devtools.Halo.Credentials,
185
+ id: "halo.credentials",
186
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Halo.Credentials),
214
187
  component: () => {
215
- const space = useCurrentSpace();
188
+ const space = useActiveSpace();
189
+ if (!space) {
190
+ return null;
191
+ }
216
192
  return /* @__PURE__ */ React.createElement(CredentialsPanel, {
217
193
  space
218
194
  });
219
195
  }
220
196
  }),
221
197
  Surface.create({
222
- id: `${meta.id}/echo/spaces`,
223
- role: "article",
224
- filter: (data) => data.subject === Devtools.Echo.Spaces,
198
+ id: "echo.spaces",
199
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Spaces),
225
200
  component: () => {
226
201
  const { invokePromise } = useOperationInvoker();
227
202
  const handleSelect = useCallback(() => invokePromise(LayoutOperation.Open, {
@@ -237,11 +212,10 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
237
212
  }
238
213
  }),
239
214
  Surface.create({
240
- id: `${meta.id}/echo/space`,
241
- role: "article",
242
- filter: (data) => data.subject === Devtools.Echo.Space,
215
+ id: "echo.space",
216
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Space),
243
217
  component: () => {
244
- const space = useCurrentSpace();
218
+ const space = useActiveSpace();
245
219
  const { invokePromise } = useOperationInvoker();
246
220
  const handleSelect = useCallback(() => invokePromise(LayoutOperation.Open, {
247
221
  subject: [
@@ -250,6 +224,9 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
250
224
  }), [
251
225
  invokePromise
252
226
  ]);
227
+ if (!space) {
228
+ return null;
229
+ }
253
230
  return /* @__PURE__ */ React.createElement(SpaceInfoPanel, {
254
231
  space,
255
232
  onSelectFeed: handleSelect,
@@ -258,137 +235,141 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
258
235
  }
259
236
  }),
260
237
  Surface.create({
261
- id: `${meta.id}/echo/feeds`,
262
- role: "article",
263
- filter: (data) => data.subject === Devtools.Echo.Feeds,
238
+ id: "echo.feeds",
239
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Feeds),
264
240
  component: () => {
265
- const space = useCurrentSpace();
241
+ const space = useActiveSpace();
242
+ if (!space) {
243
+ return null;
244
+ }
266
245
  return /* @__PURE__ */ React.createElement(FeedsPanel, {
267
246
  space
268
247
  });
269
248
  }
270
249
  }),
271
250
  Surface.create({
272
- id: `${meta.id}/echo/objects`,
273
- role: "article",
274
- filter: (data) => data.subject === Devtools.Echo.Objects,
251
+ id: "echo.objects",
252
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Objects),
275
253
  component: () => {
276
- const space = useCurrentSpace();
254
+ const space = useActiveSpace();
255
+ if (!space) {
256
+ return null;
257
+ }
277
258
  return /* @__PURE__ */ React.createElement(ObjectsPanel, {
278
259
  space
279
260
  });
280
261
  }
281
262
  }),
282
263
  Surface.create({
283
- id: `${meta.id}/echo/schema`,
284
- role: "article",
285
- filter: (data) => data.subject === Devtools.Echo.Schema,
264
+ id: "echo.schema",
265
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Schema),
286
266
  component: () => {
287
- const space = useCurrentSpace();
267
+ const space = useActiveSpace();
268
+ if (!space) {
269
+ return null;
270
+ }
288
271
  return /* @__PURE__ */ React.createElement(SchemaPanel, {
289
272
  space
290
273
  });
291
274
  }
292
275
  }),
293
276
  Surface.create({
294
- id: `${meta.id}/echo/automerge`,
295
- role: "article",
296
- filter: (data) => data.subject === Devtools.Echo.Automerge,
277
+ id: "echo.automerge",
278
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Automerge),
297
279
  component: () => {
298
- const space = useCurrentSpace();
280
+ const space = useActiveSpace();
281
+ if (!space) {
282
+ return null;
283
+ }
299
284
  return /* @__PURE__ */ React.createElement(AutomergePanel, {
300
285
  space
301
286
  });
302
287
  }
303
288
  }),
304
289
  Surface.create({
305
- id: `${meta.id}/echo/queues`,
306
- role: "article",
307
- filter: (data) => data.subject === Devtools.Echo.Queues,
290
+ id: "echo.queues",
291
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Queues),
308
292
  component: () => /* @__PURE__ */ React.createElement(QueuesPanel, null)
309
293
  }),
310
294
  Surface.create({
311
- id: `${meta.id}/echo/members`,
312
- role: "article",
313
- filter: (data) => data.subject === Devtools.Echo.Members,
295
+ id: "echo.members",
296
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Members),
314
297
  component: () => {
315
- const space = useCurrentSpace();
298
+ const space = useActiveSpace();
299
+ if (!space) {
300
+ return null;
301
+ }
316
302
  return /* @__PURE__ */ React.createElement(MembersPanel, {
317
303
  space
318
304
  });
319
305
  }
320
306
  }),
321
307
  Surface.create({
322
- id: `${meta.id}/echo/metadata`,
323
- role: "article",
324
- filter: (data) => data.subject === Devtools.Echo.Metadata,
308
+ id: "echo.metadata",
309
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Metadata),
325
310
  component: () => /* @__PURE__ */ React.createElement(MetadataPanel, null)
326
311
  }),
327
312
  Surface.create({
328
- id: `${meta.id}/mesh/signal`,
329
- role: "article",
330
- filter: (data) => data.subject === Devtools.Mesh.Signal,
313
+ id: "mesh.signal",
314
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Mesh.Signal),
331
315
  component: () => /* @__PURE__ */ React.createElement(SignalPanel, null)
332
316
  }),
333
317
  Surface.create({
334
- id: `${meta.id}/mesh/swarm`,
335
- role: "article",
336
- filter: (data) => data.subject === Devtools.Mesh.Swarm,
318
+ id: "mesh.swarm",
319
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Mesh.Swarm),
337
320
  component: () => /* @__PURE__ */ React.createElement(SwarmPanel, null)
338
321
  }),
339
322
  Surface.create({
340
- id: `${meta.id}/mesh/network`,
341
- role: "article",
342
- filter: (data) => data.subject === Devtools.Mesh.Network,
323
+ id: "mesh.network",
324
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Mesh.Network),
343
325
  component: () => {
344
- const space = useCurrentSpace();
326
+ const space = useActiveSpace();
327
+ if (!space) {
328
+ return null;
329
+ }
345
330
  return /* @__PURE__ */ React.createElement(NetworkPanel, {
346
331
  space
347
332
  });
348
333
  }
349
334
  }),
350
- // TODO(wittjosiah): Remove?
351
- // createSurface({
352
- // id: `${meta.id}/agent/dashboard`,
353
- // role: 'article',
354
- // filter: (data): data is any => data.subject === Devtools.Agent.Dashboard,
355
- // component: () => <DashboardPanel />,
356
- // }),
357
335
  Surface.create({
358
- id: `${meta.id}/edge/dashboard`,
359
- role: "article",
360
- filter: (data) => data.subject === Devtools.Edge.Dashboard,
336
+ id: "edge.dashboard",
337
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Edge.Dashboard),
361
338
  component: () => /* @__PURE__ */ React.createElement(EdgeDashboardPanel, null)
362
339
  }),
363
340
  Surface.create({
364
- id: `${meta.id}/edge/workflows`,
365
- role: "article",
366
- filter: (data) => data.subject === Devtools.Edge.Workflows,
341
+ id: "edge.workflows",
342
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Edge.Workflows),
367
343
  component: () => {
368
- const space = useCurrentSpace();
344
+ const space = useActiveSpace();
345
+ if (!space) {
346
+ return null;
347
+ }
369
348
  return /* @__PURE__ */ React.createElement(WorkflowPanel, {
370
349
  space
371
350
  });
372
351
  }
373
352
  }),
374
353
  Surface.create({
375
- id: `${meta.id}/edge/traces`,
376
- role: "article",
377
- filter: (data) => data.subject === Devtools.Edge.Traces,
354
+ id: "edge.traces",
355
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Edge.Traces),
378
356
  component: () => {
379
- const space = useCurrentSpace();
380
- const queueDxn = space?.properties.invocationTraceQueue?.dxn;
357
+ const space = useActiveSpace();
358
+ if (!space) {
359
+ return null;
360
+ }
361
+ const feed = space.properties.invocationTraceFeed?.target;
362
+ const feedDXN = feed ? Feed.getQueueDxn(feed) : void 0;
381
363
  return /* @__PURE__ */ React.createElement(InvocationTraceContainer, {
382
- db: space?.db,
383
- queueDxn,
364
+ db: space.db,
365
+ feedDXN,
384
366
  detailAxis: "block"
385
367
  });
386
368
  }
387
369
  }),
388
370
  Surface.create({
389
- id: `${meta.id}/edge/testing`,
390
- role: "article",
391
- filter: (data) => data.subject === Devtools.Edge.Testing,
371
+ id: "edge.testing",
372
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Edge.Testing),
392
373
  component: () => {
393
374
  const { invokePromise } = useOperationInvoker();
394
375
  const onSpaceCreate = useCallback(async (space) => {
@@ -413,16 +394,11 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
413
394
  }
414
395
  log.info("script created", {
415
396
  result: createResult
416
- }, {
417
- F: __dxlog_file,
418
- L: 414,
419
- S: this,
420
- C: (f, a) => f(...a)
421
- });
422
- if (createResult.data?.object?.id) {
397
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 395, S: this });
398
+ if (createResult.data?.object) {
423
399
  await invokePromise(LayoutOperation.Open, {
424
400
  subject: [
425
- `${space.id}:${createResult.data.object.id}`
401
+ getObjectPathFromObject(createResult.data.object)
426
402
  ]
427
403
  });
428
404
  }
@@ -440,4 +416,4 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
440
416
  export {
441
417
  react_surface_default as default
442
418
  };
443
- //# sourceMappingURL=react-surface-BTVNKKVQ.mjs.map
419
+ //# sourceMappingURL=react-surface-UR2SYHYW.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React, { useCallback } from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface, useOperationInvoker, useSettingsState } from '@dxos/app-framework/ui';\nimport { AppCapabilities, LayoutOperation, getObjectPathFromObject } from '@dxos/app-toolkit';\nimport { AppSurface, useActiveSpace } from '@dxos/app-toolkit/ui';\nimport {\n AutomergePanel,\n ConfigPanel,\n CredentialsPanel,\n DeviceListPanel,\n DiagnosticsPanel,\n EdgeDashboardPanel,\n FeedsPanel,\n IdentityPanel,\n InvocationTraceContainer,\n KeyringPanel,\n LoggingPanel,\n MembersPanel,\n MetadataPanel,\n NetworkPanel,\n ObjectsPanel,\n QueuesPanel,\n SchemaPanel,\n SignalPanel,\n SpaceInfoPanel,\n SpaceListPanel,\n StoragePanel,\n SwarmPanel,\n TestingPanel,\n WorkflowPanel,\n} from '@dxos/devtools';\nimport { Collection, Feed, Obj } from '@dxos/echo';\nimport { log } from '@dxos/log';\nimport { type IdbLogStore } from '@dxos/log-store-idb';\nimport { type Graph } from '@dxos/plugin-graph';\nimport { ScriptOperation } from '@dxos/plugin-script';\nimport { SpaceOperation } from '@dxos/plugin-space';\nimport { type Space, SpaceState, isSpace } from '@dxos/react-client/echo';\nimport { ToolsExplorer } from '@dxos/react-ui-introspect';\n\nimport { DebugSettings } from '#components';\nimport {\n DebugGraph,\n DebugObjectPanel,\n DebugSpaceObjectsPanel,\n DebugStatus,\n DevtoolsOverviewContainer,\n SpaceGenerator,\n Wireframe,\n} from '#containers';\nimport { meta } from '#meta';\nimport { DebugCapabilities, type Settings, Devtools } from '#types';\n\n// TODO(burdon): Move to config.\nconst MCP_SERVER_URL = 'https://introspect-service-labs.dxos.workers.dev/mcp';\n\ntype SpaceDebug = {\n type: string;\n space: Space;\n};\n\ntype GraphDebug = {\n graph: Graph.Graph;\n root: string;\n};\n\nconst isSpaceDebug = (data: any): data is SpaceDebug => data?.type === `${meta.id}.space` && isSpace(data.space);\nconst isGraphDebug = (data: any): data is GraphDebug => {\n const graph = data?.graph;\n return (\n graph != null && typeof graph === 'object' && typeof graph.json === 'function' && typeof data?.root === 'string'\n );\n};\n\ntype ReactSurfaceOptions = {\n logStore?: IdbLogStore;\n};\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* ({ logStore }: ReactSurfaceOptions) {\n const capabilities = yield* Capability.Service;\n const registry = capabilities.get(Capabilities.AtomRegistry);\n const settingsAtom = capabilities.get(DebugCapabilities.Settings);\n const fileUploader = capabilities.getAll(AppCapabilities.FileUploader)[0];\n\n return Capability.contributes(Capabilities.ReactSurface, [\n Surface.create({\n id: 'plugin-settings',\n filter: AppSurface.settings(AppSurface.Article, meta.id),\n component: ({ data: { subject } }) => {\n const { settings, updateSettings } = useSettingsState<Settings.Settings>(subject.atom);\n return (\n <DebugSettings\n settings={settings}\n onSettingsChange={updateSettings}\n logStore={logStore}\n onUpload={fileUploader}\n />\n );\n },\n }),\n Surface.create({\n id: 'space',\n role: 'article',\n filter: (data): data is { subject: SpaceDebug } => isSpaceDebug(data.subject),\n component: ({ role, data }) => {\n const { invokePromise } = useOperationInvoker();\n\n const handleCreateObject = useCallback(\n (objects: Obj.Unknown[]) => {\n if (!isSpace(data.subject.space)) {\n return;\n }\n\n const collection =\n data.subject.space.state.get() === SpaceState.SPACE_READY &&\n data.subject.space.properties[Collection.Collection.typename]?.target;\n if (!Obj.instanceOf(Collection.Collection, collection)) {\n return;\n }\n\n objects.forEach((object) => {\n void invokePromise(SpaceOperation.AddObject, {\n target: collection,\n object,\n });\n });\n },\n [data.subject.space, invokePromise],\n );\n\n return <SpaceGenerator role={role} space={data.subject.space} onCreateObjects={handleCreateObject} />;\n },\n }),\n Surface.create({\n id: 'app-graph',\n role: 'article',\n filter: (data): data is { subject: GraphDebug } => isGraphDebug(data.subject),\n component: ({ data }) => <DebugGraph graph={data.subject.graph} root={data.subject.root} />,\n }),\n Surface.create({\n id: 'tools-explorer',\n filter: AppSurface.literal(AppSurface.Article, Devtools.ToolsExplorer),\n component: () => <ToolsExplorer serverUrl={MCP_SERVER_URL} />,\n }),\n Surface.create({\n id: 'wireframe',\n // TODO(wittjosiah): Split into multiple surfaces if this filter proves too strict for non-article roles.\n role: ['article', 'section'],\n position: 'hoist',\n filter: (data): data is { subject: Obj.Unknown } => {\n const settings = registry.get(settingsAtom);\n return Obj.isObject(data.subject) && !!settings.wireframe;\n },\n component: ({ data, role, name }) => (\n <Wireframe label={`${role}:${name}`} object={data.subject} classNames='row-span-2 overflow-hidden' />\n ),\n }),\n Surface.create({\n id: 'object-debug',\n filter: AppSurface.allOf(\n AppSurface.literal(AppSurface.Article, 'debug'),\n AppSurface.companion(AppSurface.Article),\n ),\n component: ({ role, data }) => <DebugObjectPanel role={role} companionTo={data.companionTo} />,\n }),\n Surface.create({\n id: 'devtools-overview',\n filter: AppSurface.literal(Surface.makeType<{ subject: string }>('deck-companion--devtools'), 'devtools'),\n component: () => <DevtoolsOverviewContainer />,\n }),\n Surface.create({\n id: 'space-objects',\n filter: AppSurface.literal(\n Surface.makeType<{ subject: string }>('deck-companion--space-objects'),\n 'space-objects',\n ),\n component: () => {\n const space = useActiveSpace();\n if (!space) {\n return null;\n }\n\n return <DebugSpaceObjectsPanel space={space} />;\n },\n }),\n\n Surface.create({\n id: 'status',\n role: 'status-indicator',\n position: 'hoist',\n component: () => <DebugStatus />,\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 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.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: () => {\n const space = useActiveSpace();\n if (!space) {\n return null;\n }\n\n return <CredentialsPanel space={space} />;\n },\n }),\n Surface.create({\n id: 'echo.spaces',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Spaces),\n component: () => {\n const { invokePromise } = useOperationInvoker();\n const handleSelect = useCallback(\n () => invokePromise(LayoutOperation.Open, { subject: [Devtools.Echo.Space] }),\n [invokePromise],\n );\n return <SpaceListPanel onSelect={handleSelect} />;\n },\n }),\n Surface.create({\n id: 'echo.space',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Space),\n component: () => {\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 }),\n Surface.create({\n id: 'echo.feeds',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Feeds),\n component: () => {\n const space = useActiveSpace();\n if (!space) {\n return null;\n }\n\n return <FeedsPanel space={space} />;\n },\n }),\n Surface.create({\n id: 'echo.objects',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Objects),\n component: () => {\n const space = useActiveSpace();\n if (!space) {\n return null;\n }\n\n return <ObjectsPanel space={space} />;\n },\n }),\n Surface.create({\n id: 'echo.schema',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Schema),\n component: () => {\n const space = useActiveSpace();\n if (!space) {\n return null;\n }\n\n return <SchemaPanel space={space} />;\n },\n }),\n Surface.create({\n id: 'echo.automerge',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Automerge),\n component: () => {\n const space = useActiveSpace();\n if (!space) {\n return null;\n }\n\n return <AutomergePanel space={space} />;\n },\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: () => {\n const space = useActiveSpace();\n if (!space) {\n return null;\n }\n\n return <MembersPanel space={space} />;\n },\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: () => {\n const space = useActiveSpace();\n if (!space) {\n return null;\n }\n\n return <NetworkPanel space={space} />;\n },\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: () => {\n const space = useActiveSpace();\n if (!space) {\n return null;\n }\n\n return <WorkflowPanel space={space} />;\n },\n }),\n Surface.create({\n id: 'edge.traces',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Edge.Traces),\n component: () => {\n const space = useActiveSpace();\n if (!space) {\n return null;\n }\n\n const feed = space.properties.invocationTraceFeed?.target;\n const feedDXN = feed ? Feed.getQueueDxn(feed) : undefined;\n return <InvocationTraceContainer db={space.db} feedDXN={feedDXN} detailAxis='block' />;\n },\n }),\n Surface.create({\n id: 'edge.testing',\n filter: AppSurface.literal(AppSurface.Article, Devtools.Edge.Testing),\n component: () => {\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: [getObjectPathFromObject(createResult.data.object)],\n });\n }\n },\n [invokePromise],\n );\n return <TestingPanel onSpaceCreate={onSpaceCreate} onScriptPluginOpen={onScriptPluginOpen} />;\n },\n }),\n ]);\n }),\n);\n"],
5
+ "mappings": "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",
6
+ "names": ["Effect", "React", "useCallback", "Capabilities", "Capability", "Surface", "useOperationInvoker", "useSettingsState", "AppCapabilities", "LayoutOperation", "getObjectPathFromObject", "AppSurface", "useActiveSpace", "AutomergePanel", "ConfigPanel", "CredentialsPanel", "DeviceListPanel", "DiagnosticsPanel", "EdgeDashboardPanel", "FeedsPanel", "IdentityPanel", "InvocationTraceContainer", "KeyringPanel", "LoggingPanel", "MembersPanel", "MetadataPanel", "NetworkPanel", "ObjectsPanel", "QueuesPanel", "SchemaPanel", "SignalPanel", "SpaceInfoPanel", "SpaceListPanel", "StoragePanel", "SwarmPanel", "TestingPanel", "WorkflowPanel", "Collection", "Feed", "Obj", "log", "ScriptOperation", "SpaceOperation", "SpaceState", "isSpace", "ToolsExplorer", "DebugSettings", "DebugGraph", "DebugObjectPanel", "DebugSpaceObjectsPanel", "DebugStatus", "DevtoolsOverviewContainer", "SpaceGenerator", "Wireframe", "meta", "DebugCapabilities", "Devtools", "isGraphDebug", "data", "graph", "makeModule", "fnUntraced", "logStore", "registry", "capabilities", "AtomRegistry", "settingsAtom", "fileUploader", "getAll", "FileUploader", "contributes", "filter", "component", "settings", "updateSettings", "onSettingsChange", "onUpload", "role", "invokePromise", "handleCreateObject", "subject", "objects", "target", "collection", "object", "space", "onCreateObjects", "root", "create", "serverUrl", "MCP_SERVER_URL", "position", "isObject", "name", "classNames", "companionTo", "vaultSelector", "handleSelect", "Echo", "onSelectPipeline", "feed", "db", "feedDXN", "detailAxis", "onSpaceCreate", "waitUntilReady", "Migrate", "createResult", "info", "Open", "onScriptPluginOpen"]
7
+ }
@@ -1,27 +1,23 @@
1
- import {
2
- DebugCapabilities,
3
- DebugSettingsSchema
4
- } from "./chunk-4UFQXPP7.mjs";
5
- import {
6
- meta
7
- } from "./chunk-A5H5GRV6.mjs";
1
+ import "./chunk-J5LGTIGS.mjs";
8
2
 
9
- // src/capabilities/settings/settings.ts
3
+ // src/capabilities/settings.ts
10
4
  import * as Effect from "effect/Effect";
11
5
  import { Capability } from "@dxos/app-framework";
12
6
  import { AppCapabilities } from "@dxos/app-toolkit";
13
7
  import { createKvsStore } from "@dxos/effect";
8
+ import { meta } from "#meta";
9
+ import { DebugCapabilities, Settings } from "#types";
14
10
  var settings_default = Capability.makeModule(() => Effect.sync(() => {
15
11
  const settingsAtom = createKvsStore({
16
12
  key: meta.id,
17
- schema: DebugSettingsSchema,
13
+ schema: Settings.Settings,
18
14
  defaultValue: () => ({})
19
15
  });
20
16
  return [
21
17
  Capability.contributes(DebugCapabilities.Settings, settingsAtom),
22
18
  Capability.contributes(AppCapabilities.Settings, {
23
19
  prefix: meta.id,
24
- schema: DebugSettingsSchema,
20
+ schema: Settings.Settings,
25
21
  atom: settingsAtom
26
22
  })
27
23
  ];
@@ -29,4 +25,4 @@ var settings_default = Capability.makeModule(() => Effect.sync(() => {
29
25
  export {
30
26
  settings_default as default
31
27
  };
32
- //# sourceMappingURL=settings-SLTQJJNF.mjs.map
28
+ //# sourceMappingURL=settings-MPM6YUP4.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/settings.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { createKvsStore } from '@dxos/effect';\n\nimport { meta } from '#meta';\nimport { DebugCapabilities, Settings } from '#types';\n\nexport default Capability.makeModule(() =>\n Effect.sync(() => {\n const settingsAtom = createKvsStore({\n key: meta.id,\n schema: Settings.Settings,\n defaultValue: () => ({}),\n });\n\n return [\n Capability.contributes(DebugCapabilities.Settings, settingsAtom),\n Capability.contributes(AppCapabilities.Settings, {\n prefix: meta.id,\n schema: Settings.Settings,\n atom: settingsAtom,\n }),\n ];\n }),\n);\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,sBAAsB;AAE/B,SAASC,YAAY;AACrB,SAASC,mBAAmBC,gBAAgB;AAE5C,IAAA,mBAAeL,WAAWM,WAAW,MAC5BC,YAAK,MAAA;AACV,QAAMC,eAAeN,eAAe;IAClCO,KAAKN,KAAKO;IACVC,QAAQN,SAASA;IACjBO,cAAc,OAAO,CAAC;EACxB,CAAA;AAEA,SAAO;IACLZ,WAAWa,YAAYT,kBAAkBC,UAAUG,YAAAA;IACnDR,WAAWa,YAAYZ,gBAAgBI,UAAU;MAC/CS,QAAQX,KAAKO;MACbC,QAAQN,SAASA;MACjBU,MAAMP;IACR,CAAA;;AAEJ,CAAA,CAAA;",
6
+ "names": ["Effect", "Capability", "AppCapabilities", "createKvsStore", "meta", "DebugCapabilities", "Settings", "makeModule", "sync", "settingsAtom", "key", "id", "schema", "defaultValue", "contributes", "prefix", "atom"]
7
+ }