@dxos/plugin-debug 0.8.4-main.c85a9c8dae → 0.8.4-main.dfabb4ec29

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} +60 -253
  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-NH2H63KW.mjs} +153 -176
  45. package/dist/lib/neutral/react-surface-NH2H63KW.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 -158
  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 +13 -15
  130. package/src/components/SpaceGenerator/draw-util.ts +8 -8
  131. package/src/components/SpaceGenerator/presets.ts +28 -50
  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,52 @@
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";
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 { Feed, Obj } from "@dxos/echo";
18
12
  import { Collection } from "@dxos/echo";
19
13
  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);
14
+ import { ScriptOperation } from "@dxos/plugin-script";
15
+ import { SpaceOperation } from "@dxos/plugin-space";
16
+ import { SpaceState, isSpace } from "@dxos/react-client/echo";
17
+ import { ToolsExplorer } from "@dxos/react-ui-introspect";
18
+ import { DebugSettings } from "#components";
19
+ import { DebugGraph, DebugObjectPanel, DebugSpaceObjectsPanel, DebugStatus, DevtoolsOverviewContainer, SpaceGenerator, Wireframe } from "#containers";
20
+ import { meta } from "#meta";
21
+ import { DebugCapabilities, Devtools } from "#types";
22
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-debug/src/capabilities/react-surface.tsx";
23
+ var MCP_SERVER_URL = "https://introspect-service-labs.dxos.workers.dev/mcp";
24
+ var isSpaceDebug = (data) => data?.type === `${meta.id}.space` && isSpace(data.space);
40
25
  var isGraphDebug = (data) => {
41
26
  const graph = data?.graph;
42
27
  return graph != null && typeof graph === "object" && typeof graph.json === "function" && typeof data?.root === "string";
43
28
  };
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 }) {
29
+ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({ logStore }) {
52
30
  const capabilities = yield* Capability.Service;
53
31
  const registry = capabilities.get(Capabilities.AtomRegistry);
54
32
  const settingsAtom = capabilities.get(DebugCapabilities.Settings);
33
+ const fileUploader = capabilities.getAll(AppCapabilities.FileUploader)[0];
55
34
  return Capability.contributes(Capabilities.ReactSurface, [
56
35
  Surface.create({
57
- id: `${meta.id}/plugin-settings`,
58
- role: "article",
59
- filter: (data) => AppCapabilities.isSettings(data.subject) && data.subject.prefix === meta.id,
36
+ id: "plugin-settings",
37
+ filter: AppSurface.settings(AppSurface.Article, meta.id),
60
38
  component: ({ data: { subject } }) => {
61
39
  const { settings, updateSettings } = useSettingsState(subject.atom);
62
40
  return /* @__PURE__ */ React.createElement(DebugSettings, {
63
41
  settings,
64
42
  onSettingsChange: updateSettings,
65
- logBuffer
43
+ logStore,
44
+ onUpload: fileUploader
66
45
  });
67
46
  }
68
47
  }),
69
48
  Surface.create({
70
- id: `${meta.id}/space`,
49
+ id: "space",
71
50
  role: "article",
72
51
  filter: (data) => isSpaceDebug(data.subject),
73
52
  component: ({ role, data }) => {
@@ -90,21 +69,15 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
90
69
  data.subject.space,
91
70
  invokePromise
92
71
  ]);
93
- return /* @__PURE__ */ React.createElement(Panel.Root, {
72
+ return /* @__PURE__ */ React.createElement(SpaceGenerator, {
94
73
  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
74
  space: data.subject.space,
102
75
  onCreateObjects: handleCreateObject
103
- }))));
76
+ });
104
77
  }
105
78
  }),
106
79
  Surface.create({
107
- id: `${meta.id}/app-graph`,
80
+ id: "app-graph",
108
81
  role: "article",
109
82
  filter: (data) => isGraphDebug(data.subject),
110
83
  component: ({ data }) => /* @__PURE__ */ React.createElement(DebugGraph, {
@@ -113,7 +86,15 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
113
86
  })
114
87
  }),
115
88
  Surface.create({
116
- id: `${meta.id}/wireframe`,
89
+ id: "tools-explorer",
90
+ filter: AppSurface.literal(AppSurface.Article, Devtools.ToolsExplorer),
91
+ component: () => /* @__PURE__ */ React.createElement(ToolsExplorer, {
92
+ serverUrl: MCP_SERVER_URL
93
+ })
94
+ }),
95
+ Surface.create({
96
+ id: "wireframe",
97
+ // TODO(wittjosiah): Split into multiple surfaces if this filter proves too strict for non-article roles.
117
98
  role: [
118
99
  "article",
119
100
  "section"
@@ -130,98 +111,93 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
130
111
  })
131
112
  }),
132
113
  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
114
+ id: "object-debug",
115
+ filter: AppSurface.allOf(AppSurface.literal(AppSurface.Article, "debug"), AppSurface.companion(AppSurface.Article)),
116
+ component: ({ role, data }) => /* @__PURE__ */ React.createElement(DebugObjectPanel, {
117
+ role,
118
+ companionTo: data.companionTo
138
119
  })
139
120
  }),
140
121
  Surface.create({
141
- id: `${meta.id}/devtools-overview`,
142
- role: "deck-companion--devtools",
143
- filter: (data) => data.subject === "devtools",
122
+ id: "devtools-overview",
123
+ filter: AppSurface.literal(Surface.makeType("deck-companion--devtools"), "devtools"),
144
124
  component: () => /* @__PURE__ */ React.createElement(DevtoolsOverviewContainer, null)
145
125
  }),
146
126
  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)
127
+ id: "space-objects",
128
+ filter: AppSurface.literal(Surface.makeType("deck-companion--space-objects"), "space-objects"),
129
+ component: () => {
130
+ const space = useActiveSpace();
131
+ if (!space) {
132
+ return null;
133
+ }
134
+ return /* @__PURE__ */ React.createElement(DebugSpaceObjectsPanel, {
135
+ space
136
+ });
137
+ }
151
138
  }),
152
139
  Surface.create({
153
- id: `${meta.id}/status`,
154
- role: "status",
140
+ id: "status",
141
+ role: "status-indicator",
142
+ position: "hoist",
155
143
  component: () => /* @__PURE__ */ React.createElement(DebugStatus, null)
156
144
  }),
157
145
  //
158
146
  // Devtools
159
147
  //
160
148
  Surface.create({
161
- id: `${meta.id}/client/config`,
162
- role: "article",
163
- filter: (data) => data.subject === Devtools.Client.Config,
149
+ id: "client.config",
150
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Client.Config),
164
151
  component: () => /* @__PURE__ */ React.createElement(ConfigPanel, {
165
152
  vaultSelector: false
166
153
  })
167
154
  }),
168
155
  Surface.create({
169
- id: `${meta.id}/client/storage`,
170
- role: "article",
171
- filter: (data) => data.subject === Devtools.Client.Storage,
156
+ id: "client.storage",
157
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Client.Storage),
172
158
  component: () => /* @__PURE__ */ React.createElement(StoragePanel, null)
173
159
  }),
174
160
  Surface.create({
175
- id: `${meta.id}/client/logs`,
176
- role: "article",
177
- filter: (data) => data.subject === Devtools.Client.Logs,
161
+ id: "client.logs",
162
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Client.Logs),
178
163
  component: () => /* @__PURE__ */ React.createElement(LoggingPanel, null)
179
164
  }),
180
165
  Surface.create({
181
- id: `${meta.id}/client/diagnostics`,
182
- role: "article",
183
- filter: (data) => data.subject === Devtools.Client.Diagnostics,
166
+ id: "client.diagnostics",
167
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Client.Diagnostics),
184
168
  component: () => /* @__PURE__ */ React.createElement(DiagnosticsPanel, null)
185
169
  }),
186
170
  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,
171
+ id: "halo.identity",
172
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Halo.Identity),
196
173
  component: () => /* @__PURE__ */ React.createElement(IdentityPanel, null)
197
174
  }),
198
175
  Surface.create({
199
- id: `${meta.id}/halo/devices`,
200
- role: "article",
201
- filter: (data) => data.subject === Devtools.Halo.Devices,
176
+ id: "halo.devices",
177
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Halo.Devices),
202
178
  component: () => /* @__PURE__ */ React.createElement(DeviceListPanel, null)
203
179
  }),
204
180
  Surface.create({
205
- id: `${meta.id}/halo/keyring`,
206
- role: "article",
207
- filter: (data) => data.subject === Devtools.Halo.Keyring,
181
+ id: "halo.keyring",
182
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Halo.Keyring),
208
183
  component: () => /* @__PURE__ */ React.createElement(KeyringPanel, null)
209
184
  }),
210
185
  Surface.create({
211
- id: `${meta.id}/halo/credentials`,
212
- role: "article",
213
- filter: (data) => data.subject === Devtools.Halo.Credentials,
186
+ id: "halo.credentials",
187
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Halo.Credentials),
214
188
  component: () => {
215
- const space = useCurrentSpace();
189
+ const space = useActiveSpace();
190
+ if (!space) {
191
+ return null;
192
+ }
216
193
  return /* @__PURE__ */ React.createElement(CredentialsPanel, {
217
194
  space
218
195
  });
219
196
  }
220
197
  }),
221
198
  Surface.create({
222
- id: `${meta.id}/echo/spaces`,
223
- role: "article",
224
- filter: (data) => data.subject === Devtools.Echo.Spaces,
199
+ id: "echo.spaces",
200
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Spaces),
225
201
  component: () => {
226
202
  const { invokePromise } = useOperationInvoker();
227
203
  const handleSelect = useCallback(() => invokePromise(LayoutOperation.Open, {
@@ -237,11 +213,10 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
237
213
  }
238
214
  }),
239
215
  Surface.create({
240
- id: `${meta.id}/echo/space`,
241
- role: "article",
242
- filter: (data) => data.subject === Devtools.Echo.Space,
216
+ id: "echo.space",
217
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Space),
243
218
  component: () => {
244
- const space = useCurrentSpace();
219
+ const space = useActiveSpace();
245
220
  const { invokePromise } = useOperationInvoker();
246
221
  const handleSelect = useCallback(() => invokePromise(LayoutOperation.Open, {
247
222
  subject: [
@@ -250,6 +225,9 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
250
225
  }), [
251
226
  invokePromise
252
227
  ]);
228
+ if (!space) {
229
+ return null;
230
+ }
253
231
  return /* @__PURE__ */ React.createElement(SpaceInfoPanel, {
254
232
  space,
255
233
  onSelectFeed: handleSelect,
@@ -258,137 +236,141 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
258
236
  }
259
237
  }),
260
238
  Surface.create({
261
- id: `${meta.id}/echo/feeds`,
262
- role: "article",
263
- filter: (data) => data.subject === Devtools.Echo.Feeds,
239
+ id: "echo.feeds",
240
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Feeds),
264
241
  component: () => {
265
- const space = useCurrentSpace();
242
+ const space = useActiveSpace();
243
+ if (!space) {
244
+ return null;
245
+ }
266
246
  return /* @__PURE__ */ React.createElement(FeedsPanel, {
267
247
  space
268
248
  });
269
249
  }
270
250
  }),
271
251
  Surface.create({
272
- id: `${meta.id}/echo/objects`,
273
- role: "article",
274
- filter: (data) => data.subject === Devtools.Echo.Objects,
252
+ id: "echo.objects",
253
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Objects),
275
254
  component: () => {
276
- const space = useCurrentSpace();
255
+ const space = useActiveSpace();
256
+ if (!space) {
257
+ return null;
258
+ }
277
259
  return /* @__PURE__ */ React.createElement(ObjectsPanel, {
278
260
  space
279
261
  });
280
262
  }
281
263
  }),
282
264
  Surface.create({
283
- id: `${meta.id}/echo/schema`,
284
- role: "article",
285
- filter: (data) => data.subject === Devtools.Echo.Schema,
265
+ id: "echo.schema",
266
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Schema),
286
267
  component: () => {
287
- const space = useCurrentSpace();
268
+ const space = useActiveSpace();
269
+ if (!space) {
270
+ return null;
271
+ }
288
272
  return /* @__PURE__ */ React.createElement(SchemaPanel, {
289
273
  space
290
274
  });
291
275
  }
292
276
  }),
293
277
  Surface.create({
294
- id: `${meta.id}/echo/automerge`,
295
- role: "article",
296
- filter: (data) => data.subject === Devtools.Echo.Automerge,
278
+ id: "echo.automerge",
279
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Automerge),
297
280
  component: () => {
298
- const space = useCurrentSpace();
281
+ const space = useActiveSpace();
282
+ if (!space) {
283
+ return null;
284
+ }
299
285
  return /* @__PURE__ */ React.createElement(AutomergePanel, {
300
286
  space
301
287
  });
302
288
  }
303
289
  }),
304
290
  Surface.create({
305
- id: `${meta.id}/echo/queues`,
306
- role: "article",
307
- filter: (data) => data.subject === Devtools.Echo.Queues,
291
+ id: "echo.queues",
292
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Queues),
308
293
  component: () => /* @__PURE__ */ React.createElement(QueuesPanel, null)
309
294
  }),
310
295
  Surface.create({
311
- id: `${meta.id}/echo/members`,
312
- role: "article",
313
- filter: (data) => data.subject === Devtools.Echo.Members,
296
+ id: "echo.members",
297
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Members),
314
298
  component: () => {
315
- const space = useCurrentSpace();
299
+ const space = useActiveSpace();
300
+ if (!space) {
301
+ return null;
302
+ }
316
303
  return /* @__PURE__ */ React.createElement(MembersPanel, {
317
304
  space
318
305
  });
319
306
  }
320
307
  }),
321
308
  Surface.create({
322
- id: `${meta.id}/echo/metadata`,
323
- role: "article",
324
- filter: (data) => data.subject === Devtools.Echo.Metadata,
309
+ id: "echo.metadata",
310
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Echo.Metadata),
325
311
  component: () => /* @__PURE__ */ React.createElement(MetadataPanel, null)
326
312
  }),
327
313
  Surface.create({
328
- id: `${meta.id}/mesh/signal`,
329
- role: "article",
330
- filter: (data) => data.subject === Devtools.Mesh.Signal,
314
+ id: "mesh.signal",
315
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Mesh.Signal),
331
316
  component: () => /* @__PURE__ */ React.createElement(SignalPanel, null)
332
317
  }),
333
318
  Surface.create({
334
- id: `${meta.id}/mesh/swarm`,
335
- role: "article",
336
- filter: (data) => data.subject === Devtools.Mesh.Swarm,
319
+ id: "mesh.swarm",
320
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Mesh.Swarm),
337
321
  component: () => /* @__PURE__ */ React.createElement(SwarmPanel, null)
338
322
  }),
339
323
  Surface.create({
340
- id: `${meta.id}/mesh/network`,
341
- role: "article",
342
- filter: (data) => data.subject === Devtools.Mesh.Network,
324
+ id: "mesh.network",
325
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Mesh.Network),
343
326
  component: () => {
344
- const space = useCurrentSpace();
327
+ const space = useActiveSpace();
328
+ if (!space) {
329
+ return null;
330
+ }
345
331
  return /* @__PURE__ */ React.createElement(NetworkPanel, {
346
332
  space
347
333
  });
348
334
  }
349
335
  }),
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
336
  Surface.create({
358
- id: `${meta.id}/edge/dashboard`,
359
- role: "article",
360
- filter: (data) => data.subject === Devtools.Edge.Dashboard,
337
+ id: "edge.dashboard",
338
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Edge.Dashboard),
361
339
  component: () => /* @__PURE__ */ React.createElement(EdgeDashboardPanel, null)
362
340
  }),
363
341
  Surface.create({
364
- id: `${meta.id}/edge/workflows`,
365
- role: "article",
366
- filter: (data) => data.subject === Devtools.Edge.Workflows,
342
+ id: "edge.workflows",
343
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Edge.Workflows),
367
344
  component: () => {
368
- const space = useCurrentSpace();
345
+ const space = useActiveSpace();
346
+ if (!space) {
347
+ return null;
348
+ }
369
349
  return /* @__PURE__ */ React.createElement(WorkflowPanel, {
370
350
  space
371
351
  });
372
352
  }
373
353
  }),
374
354
  Surface.create({
375
- id: `${meta.id}/edge/traces`,
376
- role: "article",
377
- filter: (data) => data.subject === Devtools.Edge.Traces,
355
+ id: "edge.traces",
356
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Edge.Traces),
378
357
  component: () => {
379
- const space = useCurrentSpace();
380
- const queueDxn = space?.properties.invocationTraceQueue?.dxn;
358
+ const space = useActiveSpace();
359
+ if (!space) {
360
+ return null;
361
+ }
362
+ const feed = space.properties.invocationTraceFeed?.target;
363
+ const queueDxn = feed ? Feed.getQueueDxn(feed) : void 0;
381
364
  return /* @__PURE__ */ React.createElement(InvocationTraceContainer, {
382
- db: space?.db,
365
+ db: space.db,
383
366
  queueDxn,
384
367
  detailAxis: "block"
385
368
  });
386
369
  }
387
370
  }),
388
371
  Surface.create({
389
- id: `${meta.id}/edge/testing`,
390
- role: "article",
391
- filter: (data) => data.subject === Devtools.Edge.Testing,
372
+ id: "edge.testing",
373
+ filter: AppSurface.literal(AppSurface.Article, Devtools.Edge.Testing),
392
374
  component: () => {
393
375
  const { invokePromise } = useOperationInvoker();
394
376
  const onSpaceCreate = useCallback(async (space) => {
@@ -413,16 +395,11 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
413
395
  }
414
396
  log.info("script created", {
415
397
  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) {
398
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 396, S: this });
399
+ if (createResult.data?.object) {
423
400
  await invokePromise(LayoutOperation.Open, {
424
401
  subject: [
425
- `${space.id}:${createResult.data.object.id}`
402
+ getObjectPathFromObject(createResult.data.object)
426
403
  ]
427
404
  });
428
405
  }
@@ -440,4 +417,4 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
440
417
  export {
441
418
  react_surface_default as default
442
419
  };
443
- //# sourceMappingURL=react-surface-BTVNKKVQ.mjs.map
420
+ //# sourceMappingURL=react-surface-NH2H63KW.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 { Feed, Obj } from '@dxos/echo';\nimport { Collection } 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 queueDxn = feed ? Feed.getQueueDxn(feed) : undefined;\n return <InvocationTraceContainer db={space.db} queueDxn={queueDxn} 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": ";;;AAIA,YAAYA,YAAY;AACxB,OAAOC,SAASC,mBAAmB;AAEnC,SAASC,cAAcC,kBAAkB;AACzC,SAASC,SAASC,qBAAqBC,wBAAwB;AAC/D,SAASC,iBAAiBC,iBAAiBC,+BAA+B;AAC1E,SAASC,YAAYC,sBAAsB;AAC3C,SACEC,gBACAC,aACAC,kBACAC,iBACAC,kBACAC,oBACAC,YACAC,eACAC,0BACAC,cACAC,cACAC,cACAC,eACAC,cACAC,cACAC,aACAC,aACAC,aACAC,gBACAC,gBACAC,cACAC,YACAC,cACAC,qBACK;AACP,SAASC,MAAMC,WAAW;AAC1B,SAASC,kBAAkB;AAC3B,SAASC,WAAW;AAGpB,SAASC,uBAAuB;AAChC,SAASC,sBAAsB;AAC/B,SAAqBC,YAAYC,eAAe;AAChD,SAASC,qBAAqB;AAE9B,SAASC,qBAAqB;AAC9B,SACEC,YACAC,kBACAC,wBACAC,aACAC,2BACAC,gBACAC,iBACK;AACP,SAASC,YAAY;AACrB,SAASC,mBAAkCC,gBAAgB;AAE3D,IAAA,eAAA;AAcA,IAAMC,iBAAgBC;IACpB,eAAcA,CAAAA,SAAMC,MAAAA,SAAAA,GAAAA,KAAAA,EAAAA,YAAAA,QAAAA,KAAAA,KAAAA;IACpB,eACW,CAAA,SAAQ;AAErB,QAAA,QAAA,MAAA;AAMA,SAAA,SAAevD,QAAWwD,OAAAA,UACjBC,YAAW,OAAA,MAAaC,SAA+B,cAAA,OAAA,MAAA,SAAA;;IAE5D,wBAAMC,WAAWC,WAAiB7D,kBAAa8D,WAAY,EAAA,SAAA,GAAA;AAC3D,QAAMC,eAAeF,OAAAA,WAAiBT;AACtC,QAAMY,WAAAA,aAAeH,IAAaI,aAAO5D,YAAgB6D;AAEzD,QAAA,eAAkBC,aAAYnE,IAAAA,kBAAyB,QAAE;QACvDE,eAAe,aAAA,OAAA,gBAAA,YAAA,EAAA,CAAA;oBACT,YAAA,aAAA,cAAA;YACJkE,OAAQ5D;MACR6D,IAAAA;cACE,WAAQC,SAAUC,WAAgB,SAAGnE,KAAAA,EAAAA;iBACrC,CAAA,EAAA,MAAA,EAAA,QACE,EAAA,MAAA;cACEkE,EAAAA,UAAUA,eAAAA,IAAAA,iBAAAA,QAAAA,IAAAA;eACVE,sBAAkBD,cAAAA,eAAAA;UAClBZ;UACAc,kBAAUT;;UAGhB,UAAA;QACF,CAAA;MACA9D;;YAEEwE,OAAM;MACNN,IAAAA;MACAC,MAAAA;cACE,CAAA,SAAQM,aAAe,KAAGxE,OAAAA;iBAEpByE,CAAAA,EAAAA,MAAAA,KAAAA,MAAAA;cAEF,EAAI,cAAcC,IAAAA,oBAAgB;mCAChC,YAAA,CAAA,YAAA;AACF,cAAA,CAAA,QAAA,KAAA,QAAA,KAAA,GAAA;AAEA;UAGA;gBACE,aAAA,KAAA,QAAA,MAAA,MAAA,IAAA,MAAA,WAAA,eAAA,KAAA,QAAA,MAAA,WAAA,WAAA,WAAA,QAAA,GAAA;AACF,cAAA,CAAA,IAAA,WAAA,WAAA,YAAA,UAAA,GAAA;AAEAC;;kBAEIC,QAAQC,CAAAA,WAAAA;iBACRC,cAAAA,eAAAA,WAAAA;cACF,QAAA;cACF;YAEF,CAAA;UAAC1B,CAAAA;;UAAkC,KAAA,QAAA;UAGrC;;eAA+CsB,sBAAQK,cAAK,gBAAA;UAAEC;;UAChE,iBAAA;QACF,CAAA;MACAjF;;YAEEwE,OAAM;MACNN,IAAAA;MACAC,MAAAA;cAAqCb,CAAAA,SAAOD,aAAaC,KAAK,OAAA;iBAAE4B,CAAAA,EAAM7B,KAAKsB,MAAY,sBAAA,cAAA,YAAA;;QACzF,MAAA,KAAA,QAAA;MACQQ,CAAAA;;YAENjB,OAAQ5D;MACR6D,IAAAA;cAAgCiB,WAAWC,QAAAA,WAAAA,SAAAA,SAAAA,aAAAA;;QAC7C,WAAA;MACQF,CAAAA;;YAEN,OAAA;MACAX,IAAAA;;YAAkB;QAAU;QAC5Bc;MACApB;gBACQE;cACN,CAAA,SAAWmB;AACb,cAAA,WAAA,SAAA,IAAA,YAAA;AACApB,eAAW,IAAGd,SAAU,KAAEmC,OAAM,KAAA,CAAA,CAAA,SAC9B;;iBAAqCT,CAAAA,EAAAA,MAAQ1B,MAAKsB,KAAO,MAAA,sBAAA,cAAA,WAAA;QAAEc,OAAAA,GAAAA,IAAW,IAAA,IAAA;;QAE1E,YAAA;MACQN,CAAAA;;YAENjB,OAAQ5D;MAIR6D,IAAAA;cAAiDK,WAAMA,MAAAA,WAAAA,QAAAA,WAAAA,SAAAA,OAAAA,GAAAA,WAAAA,UAAAA,WAAAA,OAAAA,CAAAA;iBAAMkB,CAAAA,EAAAA,MAAAA,KAAarC,MAAgB,sBAAA,cAAA,kBAAA;;QAC5F,aAAA,KAAA;MACQ8B,CAAAA;;YAENjB,OAAQ5D;MACR6D,IAAAA;MACF,QAAA,WAAA,QAAA,QAAA,SAAA,0BAAA,GAAA,UAAA;MACAnE,WAAe,MAAA,sBAAA,cAAA,2BAAA,IAAA;;YAEbkE,OAAQ5D;MAIR6D,IAAAA;cACE,WAAc5D,QAAAA,QAAAA,SAAAA,+BAAAA,GAAAA,eAAAA;iBACTyE,MAAAA;cACH,QAAO,eAAA;AACT,YAAA,CAAA,OAAA;AAEA,iBAAA;;;UACF;QACF,CAAA;MAEAhF;;YAEEwE,OAAM;MACNc,IAAAA;MACAnB,MAAAA;MACF,UAAA;MAEE,WAAA,MAAA,sBAAA,cAAA,aAAA,IAAA;IACF,CAAA;;;;YAKED,OAAQ5D;MACR6D,IAAAA;cAA8BwB,WAAAA,QAAe,WAAA,SAAA,SAAA,OAAA,MAAA;;QAC/C,eAAA;MACQR,CAAAA;;YAENjB,OAAQ5D;MACR6D,IAAAA;MACF,QAAA,WAAA,QAAA,WAAA,SAAA,SAAA,OAAA,OAAA;MACAnE,WAAe,MAAA,sBAAA,cAAA,cAAA,IAAA;;YAEbkE,OAAQ5D;MACR6D,IAAAA;MACF,QAAA,WAAA,QAAA,WAAA,SAAA,SAAA,OAAA,IAAA;MACAnE,WAAe,MAAA,sBAAA,cAAA,cAAA,IAAA;;YAEbkE,OAAQ5D;MACR6D,IAAAA;MACF,QAAA,WAAA,QAAA,WAAA,SAAA,SAAA,OAAA,WAAA;MACAnE,WAAe,MAAA,sBAAA,cAAA,kBAAA,IAAA;;YAEbkE,OAAQ5D;MACR6D,IAAAA;MACF,QAAA,WAAA,QAAA,WAAA,SAAA,SAAA,KAAA,QAAA;MACAnE,WAAe,MAAA,sBAAA,cAAA,eAAA,IAAA;;YAEbkE,OAAQ5D;MACR6D,IAAAA;MACF,QAAA,WAAA,QAAA,WAAA,SAAA,SAAA,KAAA,OAAA;MACAnE,WAAe,MAAA,sBAAA,cAAA,iBAAA,IAAA;;YAEbkE,OAAQ5D;MACR6D,IAAAA;MACF,QAAA,WAAA,QAAA,WAAA,SAAA,SAAA,KAAA,OAAA;MACAnE,WAAe,MAAA,sBAAA,cAAA,cAAA,IAAA;;YAEbkE,OAAQ5D;MACR6D,IAAAA;cACE,WAAc5D,QAAAA,WAAAA,SAAAA,SAAAA,KAAAA,WAAAA;iBACTyE,MAAAA;cACH,QAAO,eAAA;AACT,YAAA,CAAA,OAAA;AAEA,iBAAA;;;UACF;QACF,CAAA;MACAhF;;YAEEkE,OAAQ5D;MACR6D,IAAAA;cACE,WAAQM,QAAe,WAAGxE,SAAAA,SAAAA,KAAAA,MAAAA;iBACpB2F,MAAAA;gBACwCjB,cAAS,IAAA,oBAAA;6BAAUkB,YAAU,MAAA,cAAA,gBAAA,MAAA;mBAAC;YAC1E,SAAA,KAAA;UAACpB;QAAc,CAAA,GAAA;UAEjB;;;UACF,UAAA;QACF,CAAA;MACAzE;;YAEEkE,OAAQ5D;MACR6D,IAAAA;cACE,WAAc5D,QAAAA,WAAAA,SAAAA,SAAAA,KAAAA,KAAAA;iBACR,MAAEkE;AACR,cAAMmB,QAAAA,eAAe/F;gBACyB8E,cAAS,IAAA,oBAAA;6BAAUkB,YAAU,MAAA,cAAA,gBAAA,MAAA;mBAAC;YAC1E,SAAA,KAAA;UAACpB;QAAc,CAAA,GAAA;UAEb;;AAEJ,YAAA,CAAA,OAAA;AAEA,iBAAA;;eAAmDmB,sBAAAA,cAAAA,gBAAAA;UAAcE;;UACnE,kBAAA;QACF,CAAA;MACA9F;;YAEEkE,OAAQ5D;MACR6D,IAAAA;cACE,WAAc5D,QAAAA,WAAAA,SAAAA,SAAAA,KAAAA,KAAAA;iBACTyE,MAAAA;cACH,QAAO,eAAA;AACT,YAAA,CAAA,OAAA;AAEA,iBAAA;;;UACF;QACF,CAAA;MACAhF;;YAEEkE,OAAQ5D;MACR6D,IAAAA;cACE,WAAc5D,QAAAA,WAAAA,SAAAA,SAAAA,KAAAA,OAAAA;iBACTyE,MAAAA;cACH,QAAO,eAAA;AACT,YAAA,CAAA,OAAA;AAEA,iBAAA;;;UACF;QACF,CAAA;MACAhF;;YAEEkE,OAAQ5D;MACR6D,IAAAA;cACE,WAAc5D,QAAAA,WAAAA,SAAAA,SAAAA,KAAAA,MAAAA;iBACTyE,MAAAA;cACH,QAAO,eAAA;AACT,YAAA,CAAA,OAAA;AAEA,iBAAA;;;UACF;QACF,CAAA;MACAhF;;YAEEkE,OAAQ5D;MACR6D,IAAAA;cACE,WAAc5D,QAAAA,WAAAA,SAAAA,SAAAA,KAAAA,SAAAA;iBACTyE,MAAAA;cACH,QAAO,eAAA;AACT,YAAA,CAAA,OAAA;AAEA,iBAAA;;;UACF;QACF,CAAA;MACAhF;;YAEEkE,OAAQ5D;MACR6D,IAAAA;MACF,QAAA,WAAA,QAAA,WAAA,SAAA,SAAA,KAAA,MAAA;MACAnE,WAAe,MAAA,sBAAA,cAAA,aAAA,IAAA;;YAEbkE,OAAQ5D;MACR6D,IAAAA;cACE,WAAc5D,QAAAA,WAAAA,SAAAA,SAAAA,KAAAA,OAAAA;iBACTyE,MAAAA;cACH,QAAO,eAAA;AACT,YAAA,CAAA,OAAA;AAEA,iBAAA;;;UACF;QACF,CAAA;MACAhF;;YAEEkE,OAAQ5D;MACR6D,IAAAA;MACF,QAAA,WAAA,QAAA,WAAA,SAAA,SAAA,KAAA,QAAA;MACAnE,WAAe,MAAA,sBAAA,cAAA,eAAA,IAAA;;YAEbkE,OAAQ5D;MACR6D,IAAAA;MACF,QAAA,WAAA,QAAA,WAAA,SAAA,SAAA,KAAA,MAAA;MACAnE,WAAe,MAAA,sBAAA,cAAA,aAAA,IAAA;;YAEbkE,OAAQ5D;MACR6D,IAAAA;MACF,QAAA,WAAA,QAAA,WAAA,SAAA,SAAA,KAAA,KAAA;MACAnE,WAAe,MAAA,sBAAA,cAAA,YAAA,IAAA;;YAEbkE,OAAQ5D;MACR6D,IAAAA;cACE,WAAc5D,QAAAA,WAAAA,SAAAA,SAAAA,KAAAA,OAAAA;iBACTyE,MAAAA;cACH,QAAO,eAAA;AACT,YAAA,CAAA,OAAA;AAEA,iBAAA;;;UACF;QACF,CAAA;MACAhF;;YAEEkE,OAAQ5D;MACR6D,IAAAA;MACF,QAAA,WAAA,QAAA,WAAA,SAAA,SAAA,KAAA,SAAA;MACAnE,WAAe,MAAA,sBAAA,cAAA,oBAAA,IAAA;;YAEbkE,OAAQ5D;MACR6D,IAAAA;cACE,WAAc5D,QAAAA,WAAAA,SAAAA,SAAAA,KAAAA,SAAAA;iBACTyE,MAAAA;cACH,QAAO,eAAA;AACT,YAAA,CAAA,OAAA;AAEA,iBAAA;;;UACF;QACF,CAAA;MACAhF;;YAEEkE,OAAQ5D;MACR6D,IAAAA;cACE,WAAc5D,QAAAA,WAAAA,SAAAA,SAAAA,KAAAA,MAAAA;iBACTyE,MAAAA;cACH,QAAO,eAAA;AACT,YAAA,CAAA,OAAA;AAEA,iBAAMe;QACN;AACA,cAAA,OAAA,MAAA,WAAO,qBAAC/E;cAAyBgF,WAAY,OAAA,KAAA,YAAA,IAAA,IAAA;eAAYC,sBAAAA,cAAAA,0BAAAA;UAAUC,IAAAA,MAAAA;;UACrE,YAAA;QACF,CAAA;MACAlG;;YAEEkE,OAAQ5D;MACR6D,IAAAA;cACE,WAAQM,QAAe,WAAGxE,SAAAA,SAAAA,KAAAA,OAAAA;iBACpBkG,MAAAA;cAEF,EAAA,cAAYC,IAAAA,oBAAc;cAC1B,gBAAM3B,YAAcpC,OAAegE,UAAS;gBAAErB,MAAAA,eAAAA;AAAM,gBAAA,cAAA,eAAA,SAAA;YACpD;UAEF,CAAA;AAACP,gBAAAA,MAAAA,GAAAA,MAAAA;WAAc;UAEjB;;cAGI,qBAAqB,YAAMA,OAAcrC,UAAAA;gBAAgC4D,MAAIhB,eAAQ;AAAC,gBAAA,eAAA,MAAA,cAAA,gBAAA,cAAA;YAClFsB,IAAAA,MAAAA;;2BACsDtB,MAAMgB,QAAE;kBAAEjB,cAAQuB,eAAkBvB,WAAM;cAAC,QAAA,MAAA;cACrG,QAAA,aAAA,KAAA;YACIwB,CAAAA;;AAA8C,cAAA,KAAA,kBAAA;YAC9CD,QAAAA;2BACI7B,YAAcrE,GAAAA,cAAgBoG,GAAAA,KAAM,GAAA,KAAA,CAAA;2BAC/B,MAAA,QAAA;gCAACnG,gBAAwBiG,MAAAA;uBAA0B;gBAC9D,wBAAA,aAAA,KAAA,MAAA;cACF;YAEF,CAAA;UAAC7B;WAAc;UAEjB;;eAAmDgC,sBAAoBA,cAAAA,cAAAA;;UACzE;QACF,CAAA;MACD;IAEH,CAAA;;;",
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", "Feed", "Obj", "Collection", "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", "queueDxn", "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
+ }