@dxos/plugin-debug 0.8.4-main.7996785055 → 0.8.4-main.8baae0fced

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 (217) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/{browser/DebugGraph-7HXJ2PS2.mjs → neutral/DebugGraph-G4FWS57E.mjs} +4 -5
  4. package/dist/lib/neutral/DebugGraph-G4FWS57E.mjs.map +7 -0
  5. package/dist/lib/neutral/DebugObjectPanel-UJ63CV25.mjs +59 -0
  6. package/dist/lib/neutral/DebugObjectPanel-UJ63CV25.mjs.map +7 -0
  7. package/dist/lib/neutral/DebugPlugin.mjs +47 -0
  8. package/dist/lib/neutral/DebugPlugin.mjs.map +7 -0
  9. package/dist/lib/neutral/DebugPlugin.node.mjs +18 -0
  10. package/dist/lib/neutral/DebugPlugin.node.mjs.map +7 -0
  11. package/dist/lib/neutral/DebugPlugin.workerd.mjs +12 -0
  12. package/dist/lib/neutral/DebugPlugin.workerd.mjs.map +7 -0
  13. package/dist/lib/neutral/DebugSettings-Z3XADRNK.mjs +224 -0
  14. package/dist/lib/neutral/DebugSettings-Z3XADRNK.mjs.map +7 -0
  15. package/dist/lib/{browser/DebugSpaceObjectsPanel-SIK72DXV.mjs → neutral/DebugSpaceObjectsPanel-NISULU6U.mjs} +9 -20
  16. package/dist/lib/neutral/DebugSpaceObjectsPanel-NISULU6U.mjs.map +7 -0
  17. package/dist/lib/{browser/DebugStatus-FWF3YFBA.mjs → neutral/DebugStatus-YB3KFP7G.mjs} +5 -8
  18. package/dist/lib/neutral/DebugStatus-YB3KFP7G.mjs.map +7 -0
  19. package/dist/lib/{browser/DevtoolsOverviewContainer-TBTTPXVF.mjs → neutral/DevtoolsOverviewContainer-YX7Z3D2H.mjs} +4 -5
  20. package/dist/lib/neutral/DevtoolsOverviewContainer-YX7Z3D2H.mjs.map +7 -0
  21. package/dist/lib/neutral/GithubPanel-DAIR6QSZ.mjs +177 -0
  22. package/dist/lib/neutral/GithubPanel-DAIR6QSZ.mjs.map +7 -0
  23. package/dist/lib/neutral/SpaceGenerator-UBYB4NPD.mjs +143 -0
  24. package/dist/lib/neutral/SpaceGenerator-UBYB4NPD.mjs.map +7 -0
  25. package/dist/lib/{browser/Wireframe-KAGOKEFW.mjs → neutral/Wireframe-7SNRUKET.mjs} +8 -9
  26. package/dist/lib/neutral/Wireframe-7SNRUKET.mjs.map +7 -0
  27. package/dist/lib/{browser/app-graph-builder-FBLOEOH5.mjs → neutral/app-graph-builder-OIC65GEP.mjs} +169 -186
  28. package/dist/lib/neutral/app-graph-builder-OIC65GEP.mjs.map +7 -0
  29. package/dist/lib/neutral/capabilities/index.mjs +15 -0
  30. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  31. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  32. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  33. package/dist/lib/{browser/chunk-Q37TZWW5.mjs → neutral/chunk-NFIOTQRZ.mjs} +21 -10
  34. package/dist/lib/neutral/chunk-NFIOTQRZ.mjs.map +7 -0
  35. package/dist/lib/{browser/chunk-ZOM2FBHQ.mjs → neutral/chunk-SWW2QL66.mjs} +5 -1
  36. package/dist/lib/neutral/chunk-SWW2QL66.mjs.map +7 -0
  37. package/dist/lib/{browser/SpaceGenerator-UUQS6TYY.mjs → neutral/components/index.mjs} +61 -264
  38. package/dist/lib/neutral/components/index.mjs.map +7 -0
  39. package/dist/lib/neutral/containers/index.mjs +23 -0
  40. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  41. package/dist/lib/neutral/index.mjs +18 -0
  42. package/dist/lib/neutral/index.mjs.map +7 -0
  43. package/dist/lib/neutral/meta.json +1 -0
  44. package/dist/lib/neutral/meta.mjs +8 -0
  45. package/dist/lib/neutral/meta.mjs.map +7 -0
  46. package/dist/lib/neutral/plugin.mjs +12 -0
  47. package/dist/lib/neutral/plugin.mjs.map +7 -0
  48. package/dist/lib/{browser/react-context-KBHXEMRS.mjs → neutral/react-context-MUZ3KVLU.mjs} +4 -5
  49. package/dist/lib/neutral/react-context-MUZ3KVLU.mjs.map +7 -0
  50. package/dist/lib/{browser/react-surface-HYT4HKZX.mjs → neutral/react-surface-UP747GQ7.mjs} +148 -157
  51. package/dist/lib/neutral/react-surface-UP747GQ7.mjs.map +7 -0
  52. package/dist/lib/{browser/settings-XXFUM3QJ.mjs → neutral/settings-MPM6YUP4.mjs} +7 -11
  53. package/dist/lib/neutral/settings-MPM6YUP4.mjs.map +7 -0
  54. package/dist/lib/neutral/translations.mjs +89 -0
  55. package/dist/lib/neutral/translations.mjs.map +7 -0
  56. package/dist/lib/neutral/types/index.mjs +14 -0
  57. package/dist/lib/neutral/types/index.mjs.map +7 -0
  58. package/dist/types/src/DebugPlugin.d.ts +2 -5
  59. package/dist/types/src/DebugPlugin.d.ts.map +1 -1
  60. package/dist/types/src/DebugPlugin.node.d.ts +5 -0
  61. package/dist/types/src/DebugPlugin.node.d.ts.map +1 -0
  62. package/dist/types/src/DebugPlugin.test.d.ts +2 -0
  63. package/dist/types/src/DebugPlugin.test.d.ts.map +1 -0
  64. package/dist/types/src/DebugPlugin.workerd.d.ts +5 -0
  65. package/dist/types/src/DebugPlugin.workerd.d.ts.map +1 -0
  66. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  67. package/dist/types/src/capabilities/index.d.ts +11 -4
  68. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  69. package/dist/types/src/capabilities/react-context.d.ts.map +1 -0
  70. package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +2 -2
  71. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  72. package/dist/types/src/capabilities/{settings/settings.d.ts → settings.d.ts} +2 -1
  73. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  74. package/dist/types/src/components/DebugSettings/DebugSettings.d.ts +11 -0
  75. package/dist/types/src/components/DebugSettings/DebugSettings.d.ts.map +1 -0
  76. package/dist/types/src/components/DebugSettings/DebugSettings.stories.d.ts +104 -0
  77. package/dist/types/src/components/DebugSettings/DebugSettings.stories.d.ts.map +1 -0
  78. package/dist/types/src/components/DebugSettings/index.d.ts +2 -0
  79. package/dist/types/src/components/DebugSettings/index.d.ts.map +1 -0
  80. package/dist/types/src/components/SchemaTable/SchemaTable.d.ts.map +1 -1
  81. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts +2 -2
  82. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts.map +1 -1
  83. package/dist/types/src/components/SpaceGenerator/draw-util.d.ts.map +1 -1
  84. package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -1
  85. package/dist/types/src/components/index.d.ts +2 -0
  86. package/dist/types/src/components/index.d.ts.map +1 -1
  87. package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts +2 -2
  88. package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts.map +1 -1
  89. package/dist/types/src/containers/DebugGraph/index.d.ts +1 -2
  90. package/dist/types/src/containers/DebugGraph/index.d.ts.map +1 -1
  91. package/dist/types/src/containers/DebugObjectPanel/DebugObjectPanel.d.ts +3 -4
  92. package/dist/types/src/containers/DebugObjectPanel/DebugObjectPanel.d.ts.map +1 -1
  93. package/dist/types/src/containers/DebugObjectPanel/index.d.ts +1 -2
  94. package/dist/types/src/containers/DebugObjectPanel/index.d.ts.map +1 -1
  95. package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts +3 -1
  96. package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts.map +1 -1
  97. package/dist/types/src/containers/DebugSpaceObjectsPanel/index.d.ts +1 -2
  98. package/dist/types/src/containers/DebugSpaceObjectsPanel/index.d.ts.map +1 -1
  99. package/dist/types/src/containers/DebugStatus/DebugStatus.d.ts.map +1 -1
  100. package/dist/types/src/containers/DebugStatus/index.d.ts +1 -2
  101. package/dist/types/src/containers/DebugStatus/index.d.ts.map +1 -1
  102. package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts +1 -2
  103. package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts.map +1 -1
  104. package/dist/types/src/containers/GithubPanel/GithubComponent.d.ts +15 -0
  105. package/dist/types/src/containers/GithubPanel/GithubComponent.d.ts.map +1 -0
  106. package/dist/types/src/containers/GithubPanel/GithubComponent.stories.d.ts +104 -0
  107. package/dist/types/src/containers/GithubPanel/GithubComponent.stories.d.ts.map +1 -0
  108. package/dist/types/src/containers/GithubPanel/GithubPanel.d.ts +3 -0
  109. package/dist/types/src/containers/GithubPanel/GithubPanel.d.ts.map +1 -0
  110. package/dist/types/src/containers/GithubPanel/index.d.ts +2 -0
  111. package/dist/types/src/containers/GithubPanel/index.d.ts.map +1 -0
  112. package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.d.ts +1 -5
  113. package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.d.ts.map +1 -1
  114. package/dist/types/src/containers/SpaceGenerator/index.d.ts +1 -2
  115. package/dist/types/src/containers/SpaceGenerator/index.d.ts.map +1 -1
  116. package/dist/types/src/containers/Wireframe/Wireframe.d.ts.map +1 -1
  117. package/dist/types/src/containers/Wireframe/index.d.ts +1 -2
  118. package/dist/types/src/containers/Wireframe/index.d.ts.map +1 -1
  119. package/dist/types/src/containers/index.d.ts +1 -1
  120. package/dist/types/src/containers/index.d.ts.map +1 -1
  121. package/dist/types/src/index.d.ts +1 -1
  122. package/dist/types/src/index.d.ts.map +1 -1
  123. package/dist/types/src/meta.d.ts.map +1 -1
  124. package/dist/types/src/plugin.d.ts +4 -0
  125. package/dist/types/src/plugin.d.ts.map +1 -0
  126. package/dist/types/src/translations.d.ts +85 -61
  127. package/dist/types/src/translations.d.ts.map +1 -1
  128. package/dist/types/src/types/Settings.d.ts +8 -0
  129. package/dist/types/src/types/Settings.d.ts.map +1 -0
  130. package/dist/types/src/{types.d.ts → types/index.d.ts} +10 -9
  131. package/dist/types/src/types/index.d.ts.map +1 -0
  132. package/dist/types/tsconfig.tsbuildinfo +1 -1
  133. package/package.json +116 -63
  134. package/src/DebugPlugin.node.ts +18 -0
  135. package/src/DebugPlugin.test.ts +29 -0
  136. package/src/DebugPlugin.tsx +9 -11
  137. package/src/DebugPlugin.workerd.ts +12 -0
  138. package/src/capabilities/{app-graph-builder/app-graph-builder.ts → app-graph-builder.ts} +139 -153
  139. package/src/capabilities/index.ts +6 -4
  140. package/src/capabilities/{react-context/react-context.tsx → react-context.tsx} +1 -1
  141. package/src/capabilities/{react-surface/react-surface.tsx → react-surface.tsx} +163 -139
  142. package/src/capabilities/{settings/settings.ts → settings.ts} +4 -4
  143. package/src/components/DebugSettings/DebugSettings.stories.tsx +36 -0
  144. package/src/components/DebugSettings/DebugSettings.tsx +262 -0
  145. package/src/components/DebugSettings/index.ts +5 -0
  146. package/src/components/SpaceGenerator/ObjectGenerator.tsx +13 -14
  147. package/src/components/SpaceGenerator/draw-util.ts +8 -8
  148. package/src/components/SpaceGenerator/presets.ts +27 -52
  149. package/src/components/index.ts +4 -0
  150. package/src/containers/DebugGraph/DebugGraph.tsx +3 -2
  151. package/src/containers/DebugGraph/index.ts +1 -3
  152. package/src/containers/DebugObjectPanel/DebugObjectPanel.tsx +44 -15
  153. package/src/containers/DebugObjectPanel/index.ts +1 -3
  154. package/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.tsx +9 -17
  155. package/src/containers/DebugSpaceObjectsPanel/index.ts +1 -3
  156. package/src/containers/DebugStatus/DebugStatus.tsx +1 -3
  157. package/src/containers/DebugStatus/index.ts +1 -3
  158. package/src/containers/DevtoolsOverviewContainer/index.ts +1 -3
  159. package/src/containers/GithubPanel/GithubComponent.stories.tsx +38 -0
  160. package/src/containers/GithubPanel/GithubComponent.tsx +192 -0
  161. package/src/containers/GithubPanel/GithubPanel.tsx +17 -0
  162. package/src/containers/GithubPanel/index.ts +5 -0
  163. package/src/containers/SpaceGenerator/SpaceGenerator.tsx +16 -20
  164. package/src/containers/SpaceGenerator/index.ts +1 -3
  165. package/src/containers/Wireframe/Wireframe.tsx +2 -6
  166. package/src/containers/Wireframe/index.ts +1 -3
  167. package/src/containers/index.ts +1 -1
  168. package/src/index.ts +1 -1
  169. package/src/meta.ts +2 -0
  170. package/src/plugin.ts +10 -0
  171. package/src/translations.ts +81 -60
  172. package/src/types/Settings.ts +16 -0
  173. package/src/{types.ts → types/index.ts} +14 -12
  174. package/dist/lib/browser/DebugGraph-7HXJ2PS2.mjs.map +0 -7
  175. package/dist/lib/browser/DebugObjectPanel-KXVFOGU6.mjs +0 -35
  176. package/dist/lib/browser/DebugObjectPanel-KXVFOGU6.mjs.map +0 -7
  177. package/dist/lib/browser/DebugSettings-DQXOXF6A.mjs +0 -183
  178. package/dist/lib/browser/DebugSettings-DQXOXF6A.mjs.map +0 -7
  179. package/dist/lib/browser/DebugSpaceObjectsPanel-SIK72DXV.mjs.map +0 -7
  180. package/dist/lib/browser/DebugStatus-FWF3YFBA.mjs.map +0 -7
  181. package/dist/lib/browser/DevtoolsOverviewContainer-TBTTPXVF.mjs.map +0 -7
  182. package/dist/lib/browser/SpaceGenerator-UUQS6TYY.mjs.map +0 -7
  183. package/dist/lib/browser/Wireframe-KAGOKEFW.mjs.map +0 -7
  184. package/dist/lib/browser/app-graph-builder-FBLOEOH5.mjs.map +0 -7
  185. package/dist/lib/browser/chunk-Q37TZWW5.mjs.map +0 -7
  186. package/dist/lib/browser/chunk-ZOM2FBHQ.mjs.map +0 -7
  187. package/dist/lib/browser/index.mjs +0 -132
  188. package/dist/lib/browser/index.mjs.map +0 -7
  189. package/dist/lib/browser/meta.json +0 -1
  190. package/dist/lib/browser/react-context-KBHXEMRS.mjs.map +0 -7
  191. package/dist/lib/browser/react-surface-HYT4HKZX.mjs.map +0 -7
  192. package/dist/lib/browser/settings-XXFUM3QJ.mjs.map +0 -7
  193. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
  194. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
  195. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
  196. package/dist/types/src/capabilities/react-context/index.d.ts +0 -7
  197. package/dist/types/src/capabilities/react-context/index.d.ts.map +0 -1
  198. package/dist/types/src/capabilities/react-context/react-context.d.ts.map +0 -1
  199. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -5
  200. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  201. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  202. package/dist/types/src/capabilities/settings/index.d.ts +0 -3
  203. package/dist/types/src/capabilities/settings/index.d.ts.map +0 -1
  204. package/dist/types/src/capabilities/settings/settings.d.ts.map +0 -1
  205. package/dist/types/src/containers/DebugSettings/DebugSettings.d.ts +0 -10
  206. package/dist/types/src/containers/DebugSettings/DebugSettings.d.ts.map +0 -1
  207. package/dist/types/src/containers/DebugSettings/index.d.ts +0 -3
  208. package/dist/types/src/containers/DebugSettings/index.d.ts.map +0 -1
  209. package/dist/types/src/types.d.ts.map +0 -1
  210. package/src/capabilities/app-graph-builder/index.ts +0 -7
  211. package/src/capabilities/react-context/index.ts +0 -7
  212. package/src/capabilities/react-surface/index.ts +0 -7
  213. package/src/capabilities/settings/index.ts +0 -7
  214. package/src/containers/DebugSettings/DebugSettings.tsx +0 -206
  215. package/src/containers/DebugSettings/index.ts +0 -7
  216. /package/dist/types/src/capabilities/{app-graph-builder/app-graph-builder.d.ts → app-graph-builder.d.ts} +0 -0
  217. /package/dist/types/src/capabilities/{react-context/react-context.d.ts → react-context.d.ts} +0 -0
@@ -1,66 +1,51 @@
1
- import {
2
- DebugCapabilities,
3
- Devtools
4
- } from "./chunk-Q37TZWW5.mjs";
5
- import {
6
- meta
7
- } from "./chunk-ZOM2FBHQ.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
7
  import { Surface, useOperationInvoker, useSettingsState } from "@dxos/app-framework/ui";
14
8
  import { AppCapabilities, LayoutOperation, getObjectPathFromObject } from "@dxos/app-toolkit";
15
- 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";
16
- import { Obj } from "@dxos/echo";
17
- import { Collection } from "@dxos/echo";
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";
18
12
  import { log } from "@dxos/log";
19
- import { ScriptOperation } from "@dxos/plugin-script/operations";
20
- import { SpaceOperation } from "@dxos/plugin-space/operations";
21
- import { useActiveSpace } from "@dxos/plugin-space";
13
+ import { ScriptOperation } from "@dxos/plugin-script";
14
+ import { SpaceOperation } from "@dxos/plugin-space";
22
15
  import { SpaceState, isSpace } from "@dxos/react-client/echo";
23
- import { Panel } from "@dxos/react-ui";
24
-
25
- // src/containers/index.ts
26
- import { lazy } from "react";
27
- var DebugGraph = lazy(() => import("./DebugGraph-7HXJ2PS2.mjs"));
28
- var DebugObjectPanel = lazy(() => import("./DebugObjectPanel-KXVFOGU6.mjs"));
29
- var DebugSettings = lazy(() => import("./DebugSettings-DQXOXF6A.mjs"));
30
- var DebugStatus = lazy(() => import("./DebugStatus-FWF3YFBA.mjs"));
31
- var DevtoolsOverviewContainer = lazy(() => import("./DevtoolsOverviewContainer-TBTTPXVF.mjs"));
32
- var SpaceGenerator = lazy(() => import("./SpaceGenerator-UUQS6TYY.mjs"));
33
- var Wireframe = lazy(() => import("./Wireframe-KAGOKEFW.mjs"));
34
- var DebugSpaceObjectsPanel = lazy(() => import("./DebugSpaceObjectsPanel-SIK72DXV.mjs"));
35
-
36
- // src/capabilities/react-surface/react-surface.tsx
37
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-debug/src/capabilities/react-surface/react-surface.tsx";
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";
38
23
  var isSpaceDebug = (data) => data?.type === `${meta.id}.space` && isSpace(data.space);
39
24
  var isGraphDebug = (data) => {
40
25
  const graph = data?.graph;
41
26
  return graph != null && typeof graph === "object" && typeof graph.json === "function" && typeof data?.root === "string";
42
27
  };
43
- var useCurrentSpace = useActiveSpace;
44
- var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({ logBuffer }) {
28
+ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({ logStore }) {
45
29
  const capabilities = yield* Capability.Service;
46
30
  const registry = capabilities.get(Capabilities.AtomRegistry);
47
31
  const settingsAtom = capabilities.get(DebugCapabilities.Settings);
32
+ const fileUploader = capabilities.getAll(AppCapabilities.FileUploader)[0];
48
33
  return Capability.contributes(Capabilities.ReactSurface, [
49
34
  Surface.create({
50
- id: `${meta.id}.plugin-settings`,
51
- role: "article",
52
- filter: (data) => AppCapabilities.isSettings(data.subject) && data.subject.prefix === meta.id,
35
+ id: "plugin-settings",
36
+ filter: AppSurface.settings(AppSurface.Article, meta.id),
53
37
  component: ({ data: { subject } }) => {
54
38
  const { settings, updateSettings } = useSettingsState(subject.atom);
55
39
  return /* @__PURE__ */ React.createElement(DebugSettings, {
56
40
  settings,
57
41
  onSettingsChange: updateSettings,
58
- logBuffer
42
+ logStore,
43
+ onUpload: fileUploader
59
44
  });
60
45
  }
61
46
  }),
62
47
  Surface.create({
63
- id: `${meta.id}.space`,
48
+ id: "space",
64
49
  role: "article",
65
50
  filter: (data) => isSpaceDebug(data.subject),
66
51
  component: ({ role, data }) => {
@@ -83,19 +68,15 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
83
68
  data.subject.space,
84
69
  invokePromise
85
70
  ]);
86
- return /* @__PURE__ */ React.createElement(Panel.Root, {
71
+ return /* @__PURE__ */ React.createElement(SpaceGenerator, {
87
72
  role,
88
- className: "dx-document"
89
- }, /* @__PURE__ */ React.createElement(Panel.Content, {
90
- asChild: true
91
- }, /* @__PURE__ */ React.createElement(SpaceGenerator, {
92
73
  space: data.subject.space,
93
74
  onCreateObjects: handleCreateObject
94
- })));
75
+ });
95
76
  }
96
77
  }),
97
78
  Surface.create({
98
- id: `${meta.id}.app-graph`,
79
+ id: "app-graph",
99
80
  role: "article",
100
81
  filter: (data) => isGraphDebug(data.subject),
101
82
  component: ({ data }) => /* @__PURE__ */ React.createElement(DebugGraph, {
@@ -104,12 +85,20 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
104
85
  })
105
86
  }),
106
87
  Surface.create({
107
- 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.
108
97
  role: [
109
98
  "article",
110
99
  "section"
111
100
  ],
112
- position: "hoist",
101
+ position: "first",
113
102
  filter: (data) => {
114
103
  const settings = registry.get(settingsAtom);
115
104
  return Obj.isObject(data.subject) && !!settings.wireframe;
@@ -121,99 +110,93 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
121
110
  })
122
111
  }),
123
112
  Surface.create({
124
- id: `${meta.id}.object-debug`,
125
- role: "article",
126
- filter: (data) => data.subject === "debug" && Obj.isObject(data.companionTo),
127
- component: ({ data }) => /* @__PURE__ */ React.createElement(DebugObjectPanel, {
128
- 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
129
118
  })
130
119
  }),
131
120
  Surface.create({
132
- id: `${meta.id}.devtools-overview`,
133
- role: "deck-companion--devtools",
134
- filter: (data) => data.subject === "devtools",
121
+ id: "devtools-overview",
122
+ filter: AppSurface.literal(Surface.makeType("deck-companion--devtools"), "devtools"),
135
123
  component: () => /* @__PURE__ */ React.createElement(DevtoolsOverviewContainer, null)
136
124
  }),
137
125
  Surface.create({
138
- id: `${meta.id}.space-objects`,
139
- role: "deck-companion--space-objects",
140
- filter: (data) => data.subject === "space-objects",
141
- 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
+ }
142
137
  }),
143
138
  Surface.create({
144
- id: `${meta.id}.status`,
139
+ id: "status",
145
140
  role: "status-indicator",
146
- position: "hoist",
141
+ position: "first",
147
142
  component: () => /* @__PURE__ */ React.createElement(DebugStatus, null)
148
143
  }),
149
144
  //
150
145
  // Devtools
151
146
  //
152
147
  Surface.create({
153
- id: `${meta.id}.client.config`,
154
- role: "article",
155
- filter: (data) => data.subject === Devtools.Client.Config,
148
+ id: "client.config",
149
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Client.Config),
156
150
  component: () => /* @__PURE__ */ React.createElement(ConfigPanel, {
157
151
  vaultSelector: false
158
152
  })
159
153
  }),
160
154
  Surface.create({
161
- id: `${meta.id}.client.storage`,
162
- role: "article",
163
- filter: (data) => data.subject === Devtools.Client.Storage,
155
+ id: "client.storage",
156
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Client.Storage),
164
157
  component: () => /* @__PURE__ */ React.createElement(StoragePanel, null)
165
158
  }),
166
159
  Surface.create({
167
- id: `${meta.id}.client.logs`,
168
- role: "article",
169
- filter: (data) => data.subject === Devtools.Client.Logs,
160
+ id: "client.logs",
161
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Client.Logs),
170
162
  component: () => /* @__PURE__ */ React.createElement(LoggingPanel, null)
171
163
  }),
172
164
  Surface.create({
173
- id: `${meta.id}.client.diagnostics`,
174
- role: "article",
175
- filter: (data) => data.subject === Devtools.Client.Diagnostics,
165
+ id: "client.diagnostics",
166
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Client.Diagnostics),
176
167
  component: () => /* @__PURE__ */ React.createElement(DiagnosticsPanel, null)
177
168
  }),
178
169
  Surface.create({
179
- id: `${meta.id}.client.tracing`,
180
- role: "article",
181
- filter: (data) => data.subject === Devtools.Client.Tracing,
182
- component: () => /* @__PURE__ */ React.createElement(TracingPanel, null)
183
- }),
184
- Surface.create({
185
- id: `${meta.id}.halo.identity`,
186
- role: "article",
187
- filter: (data) => data.subject === Devtools.Halo.Identity,
170
+ id: "halo.identity",
171
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Halo.Identity),
188
172
  component: () => /* @__PURE__ */ React.createElement(IdentityPanel, null)
189
173
  }),
190
174
  Surface.create({
191
- id: `${meta.id}.halo.devices`,
192
- role: "article",
193
- filter: (data) => data.subject === Devtools.Halo.Devices,
175
+ id: "halo.devices",
176
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Halo.Devices),
194
177
  component: () => /* @__PURE__ */ React.createElement(DeviceListPanel, null)
195
178
  }),
196
179
  Surface.create({
197
- id: `${meta.id}.halo.keyring`,
198
- role: "article",
199
- filter: (data) => data.subject === Devtools.Halo.Keyring,
180
+ id: "halo.keyring",
181
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Halo.Keyring),
200
182
  component: () => /* @__PURE__ */ React.createElement(KeyringPanel, null)
201
183
  }),
202
184
  Surface.create({
203
- id: `${meta.id}.halo.credentials`,
204
- role: "article",
205
- filter: (data) => data.subject === Devtools.Halo.Credentials,
185
+ id: "halo.credentials",
186
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Halo.Credentials),
206
187
  component: () => {
207
- const space = useCurrentSpace();
188
+ const space = useActiveSpace();
189
+ if (!space) {
190
+ return null;
191
+ }
208
192
  return /* @__PURE__ */ React.createElement(CredentialsPanel, {
209
193
  space
210
194
  });
211
195
  }
212
196
  }),
213
197
  Surface.create({
214
- id: `${meta.id}.echo.spaces`,
215
- role: "article",
216
- filter: (data) => data.subject === Devtools.Echo.Spaces,
198
+ id: "echo.spaces",
199
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Spaces),
217
200
  component: () => {
218
201
  const { invokePromise } = useOperationInvoker();
219
202
  const handleSelect = useCallback(() => invokePromise(LayoutOperation.Open, {
@@ -229,11 +212,10 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
229
212
  }
230
213
  }),
231
214
  Surface.create({
232
- id: `${meta.id}.echo.space`,
233
- role: "article",
234
- filter: (data) => data.subject === Devtools.Echo.Space,
215
+ id: "echo.space",
216
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Space),
235
217
  component: () => {
236
- const space = useCurrentSpace();
218
+ const space = useActiveSpace();
237
219
  const { invokePromise } = useOperationInvoker();
238
220
  const handleSelect = useCallback(() => invokePromise(LayoutOperation.Open, {
239
221
  subject: [
@@ -242,6 +224,9 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
242
224
  }), [
243
225
  invokePromise
244
226
  ]);
227
+ if (!space) {
228
+ return null;
229
+ }
245
230
  return /* @__PURE__ */ React.createElement(SpaceInfoPanel, {
246
231
  space,
247
232
  onSelectFeed: handleSelect,
@@ -250,130 +235,141 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
250
235
  }
251
236
  }),
252
237
  Surface.create({
253
- id: `${meta.id}.echo.feeds`,
254
- role: "article",
255
- filter: (data) => data.subject === Devtools.Echo.Feeds,
238
+ id: "echo.feeds",
239
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Feeds),
256
240
  component: () => {
257
- const space = useCurrentSpace();
241
+ const space = useActiveSpace();
242
+ if (!space) {
243
+ return null;
244
+ }
258
245
  return /* @__PURE__ */ React.createElement(FeedsPanel, {
259
246
  space
260
247
  });
261
248
  }
262
249
  }),
263
250
  Surface.create({
264
- id: `${meta.id}.echo.objects`,
265
- role: "article",
266
- filter: (data) => data.subject === Devtools.Echo.Objects,
251
+ id: "echo.objects",
252
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Objects),
267
253
  component: () => {
268
- const space = useCurrentSpace();
254
+ const space = useActiveSpace();
255
+ if (!space) {
256
+ return null;
257
+ }
269
258
  return /* @__PURE__ */ React.createElement(ObjectsPanel, {
270
259
  space
271
260
  });
272
261
  }
273
262
  }),
274
263
  Surface.create({
275
- id: `${meta.id}.echo.schema`,
276
- role: "article",
277
- filter: (data) => data.subject === Devtools.Echo.Schema,
264
+ id: "echo.schema",
265
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Schema),
278
266
  component: () => {
279
- const space = useCurrentSpace();
267
+ const space = useActiveSpace();
268
+ if (!space) {
269
+ return null;
270
+ }
280
271
  return /* @__PURE__ */ React.createElement(SchemaPanel, {
281
272
  space
282
273
  });
283
274
  }
284
275
  }),
285
276
  Surface.create({
286
- id: `${meta.id}.echo.automerge`,
287
- role: "article",
288
- filter: (data) => data.subject === Devtools.Echo.Automerge,
277
+ id: "echo.automerge",
278
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Automerge),
289
279
  component: () => {
290
- const space = useCurrentSpace();
280
+ const space = useActiveSpace();
281
+ if (!space) {
282
+ return null;
283
+ }
291
284
  return /* @__PURE__ */ React.createElement(AutomergePanel, {
292
285
  space
293
286
  });
294
287
  }
295
288
  }),
296
289
  Surface.create({
297
- id: `${meta.id}.echo.queues`,
298
- role: "article",
299
- filter: (data) => data.subject === Devtools.Echo.Queues,
290
+ id: "echo.queues",
291
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Queues),
300
292
  component: () => /* @__PURE__ */ React.createElement(QueuesPanel, null)
301
293
  }),
302
294
  Surface.create({
303
- id: `${meta.id}.echo.members`,
304
- role: "article",
305
- filter: (data) => data.subject === Devtools.Echo.Members,
295
+ id: "echo.members",
296
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Members),
306
297
  component: () => {
307
- const space = useCurrentSpace();
298
+ const space = useActiveSpace();
299
+ if (!space) {
300
+ return null;
301
+ }
308
302
  return /* @__PURE__ */ React.createElement(MembersPanel, {
309
303
  space
310
304
  });
311
305
  }
312
306
  }),
313
307
  Surface.create({
314
- id: `${meta.id}.echo.metadata`,
315
- role: "article",
316
- filter: (data) => data.subject === Devtools.Echo.Metadata,
308
+ id: "echo.metadata",
309
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Metadata),
317
310
  component: () => /* @__PURE__ */ React.createElement(MetadataPanel, null)
318
311
  }),
319
312
  Surface.create({
320
- id: `${meta.id}.mesh.signal`,
321
- role: "article",
322
- filter: (data) => data.subject === Devtools.Mesh.Signal,
313
+ id: "mesh.signal",
314
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Mesh.Signal),
323
315
  component: () => /* @__PURE__ */ React.createElement(SignalPanel, null)
324
316
  }),
325
317
  Surface.create({
326
- id: `${meta.id}.mesh.swarm`,
327
- role: "article",
328
- filter: (data) => data.subject === Devtools.Mesh.Swarm,
318
+ id: "mesh.swarm",
319
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Mesh.Swarm),
329
320
  component: () => /* @__PURE__ */ React.createElement(SwarmPanel, null)
330
321
  }),
331
322
  Surface.create({
332
- id: `${meta.id}.mesh.network`,
333
- role: "article",
334
- filter: (data) => data.subject === Devtools.Mesh.Network,
323
+ id: "mesh.network",
324
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Mesh.Network),
335
325
  component: () => {
336
- const space = useCurrentSpace();
326
+ const space = useActiveSpace();
327
+ if (!space) {
328
+ return null;
329
+ }
337
330
  return /* @__PURE__ */ React.createElement(NetworkPanel, {
338
331
  space
339
332
  });
340
333
  }
341
334
  }),
342
335
  Surface.create({
343
- id: `${meta.id}.edge.dashboard`,
344
- role: "article",
345
- filter: (data) => data.subject === Devtools.Edge.Dashboard,
336
+ id: "edge.dashboard",
337
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Edge.Dashboard),
346
338
  component: () => /* @__PURE__ */ React.createElement(EdgeDashboardPanel, null)
347
339
  }),
348
340
  Surface.create({
349
- id: `${meta.id}.edge.workflows`,
350
- role: "article",
351
- filter: (data) => data.subject === Devtools.Edge.Workflows,
341
+ id: "edge.workflows",
342
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Edge.Workflows),
352
343
  component: () => {
353
- const space = useCurrentSpace();
344
+ const space = useActiveSpace();
345
+ if (!space) {
346
+ return null;
347
+ }
354
348
  return /* @__PURE__ */ React.createElement(WorkflowPanel, {
355
349
  space
356
350
  });
357
351
  }
358
352
  }),
359
353
  Surface.create({
360
- id: `${meta.id}.edge.traces`,
361
- role: "article",
362
- filter: (data) => data.subject === Devtools.Edge.Traces,
354
+ id: "edge.traces",
355
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Edge.Traces),
363
356
  component: () => {
364
- const space = useCurrentSpace();
365
- 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;
366
363
  return /* @__PURE__ */ React.createElement(InvocationTraceContainer, {
367
- db: space?.db,
368
- queueDxn,
364
+ db: space.db,
365
+ feedDXN,
369
366
  detailAxis: "block"
370
367
  });
371
368
  }
372
369
  }),
373
370
  Surface.create({
374
- id: `${meta.id}.edge.testing`,
375
- role: "article",
376
- filter: (data) => data.subject === Devtools.Edge.Testing,
371
+ id: "edge.testing",
372
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Edge.Testing),
377
373
  component: () => {
378
374
  const { invokePromise } = useOperationInvoker();
379
375
  const onSpaceCreate = useCallback(async (space) => {
@@ -398,12 +394,7 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
398
394
  }
399
395
  log.info("script created", {
400
396
  result: createResult
401
- }, {
402
- F: __dxlog_file,
403
- L: 400,
404
- S: this,
405
- C: (f, a) => f(...a)
406
- });
397
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 395, S: this });
407
398
  if (createResult.data?.object) {
408
399
  await invokePromise(LayoutOperation.Open, {
409
400
  subject: [
@@ -425,4 +416,4 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
425
416
  export {
426
417
  react_surface_default as default
427
418
  };
428
- //# sourceMappingURL=react-surface-HYT4HKZX.mjs.map
419
+ //# sourceMappingURL=react-surface-UP747GQ7.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: 'first',\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: 'first',\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-Q37TZWW5.mjs";
5
- import {
6
- meta
7
- } from "./chunk-ZOM2FBHQ.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-XXFUM3QJ.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
+ }