@dxos/plugin-debug 0.11.0 → 0.12.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/dist/lib/Debug.mjs +22 -0
  2. package/dist/lib/Debug.mjs.map +1 -0
  3. package/dist/lib/DebugEvents.mjs +15 -0
  4. package/dist/lib/DebugEvents.mjs.map +1 -0
  5. package/dist/lib/DebugNodes.mjs +19 -0
  6. package/dist/lib/DebugNodes.mjs.map +1 -0
  7. package/dist/lib/DebugPlugin.mjs +4 -16
  8. package/dist/lib/DebugPlugin.mjs.map +1 -1
  9. package/dist/lib/DebugPlugin.node.mjs +2 -3
  10. package/dist/lib/DebugPlugin.node.mjs.map +1 -1
  11. package/dist/lib/DebugPlugin.workerd.mjs +1 -1
  12. package/dist/lib/DebugPlugin.workerd.mjs.map +1 -1
  13. package/dist/lib/DebugSurface.mjs +15 -0
  14. package/dist/lib/DebugSurface.mjs.map +1 -0
  15. package/dist/lib/Settings.mjs +12 -0
  16. package/dist/lib/Settings.mjs.map +1 -0
  17. package/dist/lib/capabilities.mjs +38 -6
  18. package/dist/lib/capabilities.mjs.map +1 -1
  19. package/dist/lib/chunk-DebugObjectPanel.mjs +1 -1
  20. package/dist/lib/chunk-DebugSettings.mjs +95 -15
  21. package/dist/lib/chunk-DebugSettings.mjs.map +1 -1
  22. package/dist/lib/chunk-DebugSpaceObjectsPanel.mjs +1 -1
  23. package/dist/lib/chunk-SpaceGenerator.mjs +52 -10
  24. package/dist/lib/chunk-SpaceGenerator.mjs.map +1 -1
  25. package/dist/lib/chunk-StatsPanel.mjs +2 -2
  26. package/dist/lib/chunk-StatsPanel.mjs.map +1 -1
  27. package/dist/lib/chunk-Wireframe.mjs +1 -1
  28. package/dist/lib/chunk-app-graph-builder.mjs +13 -10
  29. package/dist/lib/chunk-app-graph-builder.mjs.map +1 -1
  30. package/dist/lib/chunk-log-recording.mjs +3 -2
  31. package/dist/lib/chunk-log-recording.mjs.map +1 -1
  32. package/dist/lib/chunk-meta.mjs +1 -1
  33. package/dist/lib/chunk-meta.mjs.map +1 -1
  34. package/dist/lib/chunk-react-surface.mjs +20 -14
  35. package/dist/lib/chunk-react-surface.mjs.map +1 -1
  36. package/dist/lib/chunk-rolldown-runtime.mjs +13 -0
  37. package/dist/lib/chunk-settings.mjs +7 -6
  38. package/dist/lib/chunk-settings.mjs.map +1 -1
  39. package/dist/lib/chunk-stats-panel.mjs +5 -4
  40. package/dist/lib/chunk-stats-panel.mjs.map +1 -1
  41. package/dist/lib/components.mjs +41 -35
  42. package/dist/lib/components.mjs.map +1 -1
  43. package/dist/lib/index.mjs +6 -2
  44. package/dist/lib/plugin.mjs +1 -1
  45. package/dist/lib/plugin.mjs.map +1 -1
  46. package/dist/lib/translations.mjs +10 -1
  47. package/dist/lib/translations.mjs.map +1 -1
  48. package/dist/types/src/DebugPlugin.d.ts +3 -3
  49. package/dist/types/src/DebugPlugin.d.ts.map +1 -1
  50. package/dist/types/src/DebugPlugin.node.d.ts +3 -3
  51. package/dist/types/src/DebugPlugin.node.d.ts.map +1 -1
  52. package/dist/types/src/DebugPlugin.workerd.d.ts +3 -3
  53. package/dist/types/src/DebugPlugin.workerd.d.ts.map +1 -1
  54. package/dist/types/src/capabilities/DebugSurfaces.d.ts +1 -1
  55. package/dist/types/src/capabilities/DebugSurfaces.d.ts.map +1 -1
  56. package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -2
  57. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  58. package/dist/types/src/capabilities/index.d.ts +7 -10
  59. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  60. package/dist/types/src/capabilities/log-recording.d.ts +1 -2
  61. package/dist/types/src/capabilities/log-recording.d.ts.map +1 -1
  62. package/dist/types/src/capabilities/react-surface.d.ts +2 -2
  63. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  64. package/dist/types/src/capabilities/settings.d.ts +2 -2
  65. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  66. package/dist/types/src/capabilities/stats-panel.d.ts +2 -2
  67. package/dist/types/src/capabilities/stats-panel.d.ts.map +1 -1
  68. package/dist/types/src/components/SchemaTable/SchemaTable.d.ts.map +1 -1
  69. package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -1
  70. package/dist/types/src/containers/DebugPortSettings/DebugPortSettings.d.ts +13 -0
  71. package/dist/types/src/containers/DebugPortSettings/DebugPortSettings.d.ts.map +1 -0
  72. package/dist/types/src/containers/DebugPortSettings/DebugPortSettings.stories.d.ts +93 -0
  73. package/dist/types/src/containers/DebugPortSettings/DebugPortSettings.stories.d.ts.map +1 -0
  74. package/dist/types/src/containers/DebugPortSettings/index.d.ts +2 -0
  75. package/dist/types/src/containers/DebugPortSettings/index.d.ts.map +1 -0
  76. package/dist/types/src/containers/DebugSettings/DebugSettings.d.ts +2 -2
  77. package/dist/types/src/containers/DebugSettings/DebugSettings.d.ts.map +1 -1
  78. package/dist/types/src/containers/DebugSettings/DebugSettings.stories.d.ts +10 -1
  79. package/dist/types/src/containers/DebugSettings/DebugSettings.stories.d.ts.map +1 -1
  80. package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.d.ts.map +1 -1
  81. package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.stories.d.ts +87 -0
  82. package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.stories.d.ts.map +1 -0
  83. package/dist/types/src/index.d.ts +5 -1
  84. package/dist/types/src/index.d.ts.map +1 -1
  85. package/dist/types/src/plugin.d.ts +3 -3
  86. package/dist/types/src/plugin.d.ts.map +1 -1
  87. package/dist/types/src/translations.d.ts +9 -0
  88. package/dist/types/src/translations.d.ts.map +1 -1
  89. package/dist/types/src/types/{debug.d.ts → Debug.d.ts} +3 -3
  90. package/dist/types/src/types/Debug.d.ts.map +1 -0
  91. package/dist/types/src/types/DebugEvents.d.ts +8 -0
  92. package/dist/types/src/types/DebugEvents.d.ts.map +1 -0
  93. package/dist/types/tsconfig.tsbuildinfo +1 -1
  94. package/package.json +93 -54
  95. package/src/DebugPlugin.node.ts +6 -6
  96. package/src/DebugPlugin.tsx +18 -25
  97. package/src/DebugPlugin.workerd.ts +4 -3
  98. package/src/capabilities/DebugSurfaces.tsx +9 -4
  99. package/src/capabilities/app-graph-builder.ts +8 -4
  100. package/src/capabilities/index.ts +40 -6
  101. package/src/capabilities/log-recording.ts +3 -2
  102. package/src/capabilities/react-surface.ts +10 -8
  103. package/src/capabilities/settings.ts +7 -5
  104. package/src/capabilities/stats-panel.ts +5 -4
  105. package/src/components/SchemaTable/SchemaTable.tsx +19 -13
  106. package/src/components/SpaceGenerator/ObjectGenerator.tsx +5 -5
  107. package/src/components/SpaceGenerator/presets.ts +6 -4
  108. package/src/containers/DebugPortSettings/DebugPortSettings.stories.tsx +144 -0
  109. package/src/containers/DebugPortSettings/DebugPortSettings.tsx +112 -0
  110. package/src/containers/DebugPortSettings/index.ts +5 -0
  111. package/src/containers/DebugSettings/DebugSettings.tsx +11 -6
  112. package/src/containers/SpaceGenerator/SpaceGenerator.stories.tsx +93 -0
  113. package/src/containers/SpaceGenerator/SpaceGenerator.tsx +44 -6
  114. package/src/containers/StatsPanel/StatsPanel.tsx +2 -2
  115. package/src/index.ts +5 -1
  116. package/src/meta.ts +1 -1
  117. package/src/plugin.ts +2 -2
  118. package/src/translations.ts +13 -0
  119. package/src/types/{debug.ts → Debug.ts} +4 -2
  120. package/src/types/DebugEvents.ts +16 -0
  121. package/dist/lib/chunk-types.mjs +0 -60
  122. package/dist/lib/chunk-types.mjs.map +0 -1
  123. package/dist/lib/types.mjs +0 -2
  124. package/dist/types/src/components/SpaceGenerator/draw-util.d.ts +0 -8
  125. package/dist/types/src/components/SpaceGenerator/draw-util.d.ts.map +0 -1
  126. package/dist/types/src/types/debug.d.ts.map +0 -1
  127. package/dist/types/src/types/index.d.ts +0 -5
  128. package/dist/types/src/types/index.d.ts.map +0 -1
  129. package/src/components/SpaceGenerator/draw-util.ts +0 -191
  130. package/src/types/index.ts +0 -8
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-debug",
3
- "version": "0.11.0",
3
+ "version": "0.12.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
4
4
  "description": "DXOS developer debugging utilities plugin.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -48,11 +48,6 @@
48
48
  "source": "./src/translations.ts",
49
49
  "types": "./dist/types/src/translations.d.ts",
50
50
  "default": "./dist/lib/translations.mjs"
51
- },
52
- "#types": {
53
- "source": "./src/types/index.ts",
54
- "types": "./dist/types/src/types/index.d.ts",
55
- "default": "./dist/lib/types.mjs"
56
51
  }
57
52
  },
58
53
  "exports": {
@@ -61,7 +56,33 @@
61
56
  "types": "./dist/types/src/index.d.ts",
62
57
  "import": "./dist/lib/index.mjs"
63
58
  },
59
+ "./Debug": {
60
+ "source": "./src/types/Debug.ts",
61
+ "types": "./dist/types/src/types/Debug.d.ts",
62
+ "import": "./dist/lib/Debug.mjs"
63
+ },
64
+ "./DebugEvents": {
65
+ "source": "./src/types/DebugEvents.ts",
66
+ "types": "./dist/types/src/types/DebugEvents.d.ts",
67
+ "import": "./dist/lib/DebugEvents.mjs"
68
+ },
69
+ "./DebugNodes": {
70
+ "source": "./src/types/DebugNodes.ts",
71
+ "types": "./dist/types/src/types/DebugNodes.d.ts",
72
+ "import": "./dist/lib/DebugNodes.mjs"
73
+ },
74
+ "./DebugSurface": {
75
+ "source": "./src/types/DebugSurface.ts",
76
+ "types": "./dist/types/src/types/DebugSurface.d.ts",
77
+ "import": "./dist/lib/DebugSurface.mjs"
78
+ },
79
+ "./Settings": {
80
+ "source": "./src/types/Settings.ts",
81
+ "types": "./dist/types/src/types/Settings.d.ts",
82
+ "import": "./dist/lib/Settings.mjs"
83
+ },
64
84
  "./assets/PLUGIN.mdl": "./PLUGIN.mdl",
85
+ "./package.json": "./package.json",
65
86
  "./plugin": {
66
87
  "source": "./src/plugin.ts",
67
88
  "types": "./dist/types/src/plugin.d.ts",
@@ -74,6 +95,25 @@
74
95
  }
75
96
  },
76
97
  "types": "dist/types/src/index.d.ts",
98
+ "typesVersions": {
99
+ "*": {
100
+ "Debug": [
101
+ "dist/types/src/types/Debug.d.ts"
102
+ ],
103
+ "DebugEvents": [
104
+ "dist/types/src/types/DebugEvents.d.ts"
105
+ ],
106
+ "DebugNodes": [
107
+ "dist/types/src/types/DebugNodes.d.ts"
108
+ ],
109
+ "DebugSurface": [
110
+ "dist/types/src/types/DebugSurface.d.ts"
111
+ ],
112
+ "Settings": [
113
+ "dist/types/src/types/Settings.d.ts"
114
+ ]
115
+ }
116
+ },
77
117
  "files": [
78
118
  "dist",
79
119
  "dx.config.ts",
@@ -81,64 +121,63 @@
81
121
  "PLUGIN.mdl"
82
122
  ],
83
123
  "dependencies": {
84
- "@antv/graphlib": "^2.0.4",
85
- "@antv/layout": "^1.2.13",
86
124
  "@effect-atom/atom": "^0.5.3",
87
125
  "@effect-atom/atom-react": "^0.5.0",
88
- "@tldraw/tldraw": "^3.0.0",
89
126
  "react-resize-detector": "^11.0.1",
90
- "@dxos/app-framework": "0.11.0",
91
- "@dxos/app-toolkit": "0.11.0",
92
- "@dxos/assistant-toolkit": "0.11.0",
93
- "@dxos/async": "0.11.0",
94
- "@dxos/compute": "0.11.0",
95
- "@dxos/conductor": "0.11.0",
96
- "@dxos/devtools": "0.11.0",
97
- "@dxos/echo": "0.11.0",
98
- "@dxos/echo-react": "0.11.0",
99
- "@dxos/effect": "0.11.0",
100
- "@dxos/keys": "0.11.0",
101
- "@dxos/log-store-idb": "0.11.0",
102
- "@dxos/log": "0.11.0",
103
- "@dxos/invariant": "0.11.0",
104
- "@dxos/operation": "0.11.0",
105
- "@dxos/config": "0.11.0",
106
- "@dxos/plugin-graph": "0.11.0",
107
- "@dxos/plugin-illustrator": "0.11.0",
108
- "@dxos/plugin-inbox": "0.11.0",
109
- "@dxos/compute-hyperformula": "0.11.0",
110
- "@dxos/plugin-markdown": "0.11.0",
111
- "@dxos/plugin-sheet": "0.11.0",
112
- "@dxos/plugin-space": "0.11.0",
113
- "@dxos/plugin-status-bar": "0.11.0",
114
- "@dxos/plugin-tldraw": "0.11.0",
115
- "@dxos/protocols": "0.11.0",
116
- "@dxos/random": "0.11.0",
117
- "@dxos/react-client": "0.11.0",
118
- "@dxos/react-ui-attention": "0.11.0",
119
- "@dxos/react-ui-canvas-compute": "0.11.0",
120
- "@dxos/react-ui-canvas-editor": "0.11.0",
121
- "@dxos/react-ui-debug": "0.11.0",
122
- "@dxos/react-ui-form": "0.11.0",
123
- "@dxos/react-ui-syntax-highlighter": "0.11.0",
124
- "@dxos/schema": "0.11.0",
125
- "@dxos/tracing": "0.11.0",
126
- "@dxos/types": "0.11.0",
127
- "@dxos/util": "0.11.0"
127
+ "@dxos/app-framework": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
128
+ "@dxos/app-toolkit": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
129
+ "@dxos/async": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
130
+ "@dxos/assistant-toolkit": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
131
+ "@dxos/compute": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
132
+ "@dxos/compute-hyperformula": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
133
+ "@dxos/conductor": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
134
+ "@dxos/config": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
135
+ "@dxos/echo": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
136
+ "@dxos/devtools": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
137
+ "@dxos/effect": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
138
+ "@dxos/invariant": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
139
+ "@dxos/keys": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
140
+ "@dxos/echo-react": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
141
+ "@dxos/log": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
142
+ "@dxos/log-store-idb": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
143
+ "@dxos/operation": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
144
+ "@dxos/plugin-graph": "0.12.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
145
+ "@dxos/plugin-illustrator": "0.12.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
146
+ "@dxos/plugin-inbox": "0.12.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
147
+ "@dxos/plugin-markdown": "0.12.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
148
+ "@dxos/plugin-sheet": "0.12.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
149
+ "@dxos/plugin-space": "0.12.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
150
+ "@dxos/plugin-status-bar": "0.12.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
151
+ "@dxos/plugin-tldraw": "0.12.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
152
+ "@dxos/protocols": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
153
+ "@dxos/random": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
154
+ "@dxos/react-client": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
155
+ "@dxos/react-ui-attention": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
156
+ "@dxos/react-ui-canvas-compute": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
157
+ "@dxos/react-ui-canvas-editor": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
158
+ "@dxos/react-ui-debug": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
159
+ "@dxos/react-ui-form": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
160
+ "@dxos/react-ui-syntax-highlighter": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
161
+ "@dxos/schema": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
162
+ "@dxos/tracing": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
163
+ "@dxos/types": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
164
+ "@dxos/util": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d"
128
165
  },
129
166
  "devDependencies": {
130
167
  "@effect-atom/atom-react": "^0.5.0",
131
168
  "@effect/platform": "0.96.2",
169
+ "@storybook/react-vite": "^10.4.2",
132
170
  "@types/react": "~19.2.17",
133
171
  "@types/react-dom": "~19.2.3",
134
172
  "effect": "3.21.4",
135
173
  "react": "~19.2.7",
136
174
  "react-dom": "~19.2.7",
137
175
  "vite": "^8.1.4",
138
- "@dxos/plugin-testing": "0.11.0",
139
- "@dxos/react-ui": "0.11.0",
140
- "@dxos/storybook-utils": "0.11.0",
141
- "@dxos/ui-theme": "0.11.0"
176
+ "@dxos/plugin-client": "0.12.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
177
+ "@dxos/plugin-testing": "0.12.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
178
+ "@dxos/react-ui": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
179
+ "@dxos/react-ui-list": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
180
+ "@dxos/ui-theme": "1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d"
142
181
  },
143
182
  "peerDependencies": {
144
183
  "@effect-atom/atom-react": "^0.5.0",
@@ -146,9 +185,9 @@
146
185
  "effect": "3.21.4",
147
186
  "react": "~19.2.7",
148
187
  "react-dom": "~19.2.7",
149
- "@dxos/random": "^0.11.0",
150
- "@dxos/ui-theme": "^0.11.0",
151
- "@dxos/react-ui": "^0.11.0"
188
+ "@dxos/random": "^1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
189
+ "@dxos/react-ui": "^1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d",
190
+ "@dxos/ui-theme": "^1.0.0-next-bbabc02363f18d7643ea4160e3a7a7809870fd0d"
152
191
  },
153
192
  "publishConfig": {
154
193
  "access": "public"
@@ -2,16 +2,16 @@
2
2
  // Copyright 2026 DXOS.org
3
3
  //
4
4
 
5
- import { Plugin } from '@dxos/app-framework';
6
- import { AppPlugin } from '@dxos/app-toolkit';
5
+ import * as Plugin from '@dxos/app-framework/Plugin';
7
6
 
8
7
  import { AppGraphBuilder, DebugSettings } from '#capabilities';
9
8
  import { meta } from '#meta';
10
- import { type DebugPluginOptions } from '#types';
11
9
 
12
- export const DebugPlugin = Plugin.define<DebugPluginOptions>(meta).pipe(
13
- AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),
14
- AppPlugin.addSettingsModule({ activate: DebugSettings }),
10
+ import * as Debug from './types/Debug';
11
+
12
+ export const DebugPlugin = Plugin.define<Debug.DebugPluginOptions>(meta).pipe(
13
+ Plugin.addModule(AppGraphBuilder),
14
+ Plugin.addModule(DebugSettings),
15
15
  Plugin.make,
16
16
  );
17
17
 
@@ -2,39 +2,32 @@
2
2
  // Copyright 2026 DXOS.org
3
3
  //
4
4
 
5
- import { ActivationEvents, Capability, Plugin } from '@dxos/app-framework';
6
- import { AppPlugin } from '@dxos/app-toolkit';
5
+ import * as Plugin from '@dxos/app-framework/Plugin';
6
+ import * as AppCapability from '@dxos/app-toolkit/AppCapability';
7
7
 
8
8
  import { AppGraphBuilder, DebugSettings, LogRecording, ReactSurface, StatsPanel } from '#capabilities';
9
9
  import { meta } from '#meta';
10
10
  import { translations } from '#translations';
11
- import { type DebugPluginOptions } from '#types';
12
11
 
13
12
  // eslint-disable-next-line import/no-relative-packages
14
13
  import pluginSpec from '../PLUGIN.mdl?raw';
14
+ import * as Debug from './types/Debug';
15
15
 
16
- export const DebugPlugin = Plugin.define<DebugPluginOptions>(meta).pipe(
17
- AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),
18
- AppPlugin.addSettingsModule({ activate: DebugSettings }),
19
- Plugin.addModule(({ logStore }) => ({
20
- id: Capability.getModuleTag(ReactSurface) ?? 'surfaces',
21
- activatesOn: ActivationEvents.SetupReactSurface,
22
- activate: () => ReactSurface({ logStore }),
23
- })),
24
- Plugin.addModule({
25
- id: 'log-recording',
26
- activatesOn: ActivationEvents.Startup,
27
- activate: LogRecording,
28
- }),
29
- AppPlugin.addTranslationsModule({ translations }),
30
- Plugin.addModule(({ persistStats }) => ({
31
- id: 'stats-panel',
32
- activatesOn: ActivationEvents.Startup,
33
- activate: () => StatsPanel({ persist: persistStats ?? true }),
34
- })),
35
- AppPlugin.addPluginAssetModule({
36
- asset: { pluginId: meta.profile.key, path: 'PLUGIN.mdl', content: pluginSpec, mimeType: 'application/x-mdl' },
37
- }),
16
+ export const DebugPlugin = Plugin.define<Debug.DebugPluginOptions>(meta).pipe(
17
+ Plugin.addModule(AppGraphBuilder),
18
+ Plugin.addModule(DebugSettings),
19
+ Plugin.addModule(ReactSurface),
20
+ Plugin.addModule(LogRecording),
21
+ Plugin.addModule(AppCapability.translations(translations)),
22
+ Plugin.addModule(StatsPanel),
23
+ Plugin.addModule(
24
+ AppCapability.pluginAsset({
25
+ pluginId: meta.profile.key,
26
+ path: 'PLUGIN.mdl',
27
+ content: pluginSpec,
28
+ mimeType: 'application/x-mdl',
29
+ }),
30
+ ),
38
31
  Plugin.make,
39
32
  );
40
33
 
@@ -2,11 +2,12 @@
2
2
  // Copyright 2026 DXOS.org
3
3
  //
4
4
 
5
- import { Plugin } from '@dxos/app-framework';
5
+ import * as Plugin from '@dxos/app-framework/Plugin';
6
6
 
7
7
  import { meta } from '#meta';
8
- import { type DebugPluginOptions } from '#types';
9
8
 
10
- export const DebugPlugin = Plugin.define<DebugPluginOptions>(meta).pipe(Plugin.make);
9
+ import * as Debug from './types/Debug';
10
+
11
+ export const DebugPlugin = Plugin.define<Debug.DebugPluginOptions>(meta).pipe(Plugin.make);
11
12
 
12
13
  export default DebugPlugin;
@@ -9,24 +9,29 @@ import * as Option from 'effect/Option';
9
9
  import React, { useCallback, useMemo } from 'react';
10
10
 
11
11
  import { useAtomCapability, useOperationInvoker, useSettingsState } from '@dxos/app-framework/ui';
12
- import { AppAnnotation, type AppCapabilities, GraphPath, LayoutOperation } from '@dxos/app-toolkit';
12
+ import * as AppAnnotation from '@dxos/app-toolkit/AppAnnotation';
13
+ import type * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';
14
+ import * as GraphPath from '@dxos/app-toolkit/GraphPath';
15
+ import * as LayoutOperation from '@dxos/app-toolkit/LayoutOperation';
13
16
  import { useActiveSpace } from '@dxos/app-toolkit/ui';
14
17
  import { Annotation, Collection, Entity, Filter, Obj, Type } from '@dxos/echo';
15
18
  import { HiddenAnnotation } from '@dxos/echo/Annotation';
16
19
  import { type IdbLogStore } from '@dxos/log-store-idb';
17
- import { SpaceCapabilities, SpaceOperation } from '@dxos/plugin-space';
20
+ import { SpaceOperation } from '@dxos/plugin-space';
21
+ import * as SpaceCapabilities from '@dxos/plugin-space/SpaceCapabilities';
18
22
  import { useClient } from '@dxos/react-client';
19
23
  import { type Space, SpaceState } from '@dxos/react-client/echo';
20
24
  import { Panel } from '@dxos/react-ui';
21
25
  import { Logger } from '@dxos/react-ui-debug';
22
26
 
23
27
  import { DebugObjectPanel, DebugSettings, DebugSpaceObjectsPanel, SpaceGenerator } from '#containers';
24
- import { type Settings } from '#types';
28
+
29
+ import * as Settings from '../types/Settings';
25
30
 
26
31
  /** Returns `onOpen` and `canOpen` for the ObjectsTree "Open" action. */
27
32
  const useObjectOpenAction = (invokePromise: ReturnType<typeof useOperationInvoker>['invokePromise']) => {
28
33
  const client = useClient();
29
- const spaceSettings = useAtomCapability(SpaceCapabilities.Settings);
34
+ const spaceSettings = useAtomCapability(SpaceCapabilities.SettingsAtom);
30
35
  const showHidden = spaceSettings?.showHidden ?? false;
31
36
 
32
37
  const allTypes = useAtomValue(useMemo(() => client.graph.registry.query(Filter.type(Type.Type)).atom, [client]));
@@ -4,14 +4,18 @@
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
- import { Capability } from '@dxos/app-framework';
8
- import { AppCapabilities, AppNode, AppNodeMatcher, GraphPath } from '@dxos/app-toolkit';
7
+ import * as Capability from '@dxos/app-framework/Capability';
8
+ import * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';
9
+ import * as AppNode from '@dxos/app-toolkit/AppNode';
10
+ import * as AppNodeMatcher from '@dxos/app-toolkit/AppNodeMatcher';
11
+ import * as GraphPath from '@dxos/app-toolkit/GraphPath';
9
12
  import { GraphBuilder, Node, NodeMatcher } from '@dxos/plugin-graph';
10
13
  import { type Space } from '@dxos/react-client/echo';
11
14
  import { Position } from '@dxos/util';
12
15
 
13
16
  import { meta } from '#meta';
14
- import { DebugNodes } from '#types';
17
+
18
+ import * as DebugNodes from '../types/DebugNodes';
15
19
 
16
20
  export default Capability.makeModule(
17
21
  Effect.fnUntraced(function* () {
@@ -95,6 +99,6 @@ export default Capability.makeModule(
95
99
  }),
96
100
  ]);
97
101
 
98
- return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
102
+ return Capability.contribute(AppCapabilities.AppGraphBuilder, extensions);
99
103
  }),
100
104
  );
@@ -2,10 +2,44 @@
2
2
  // Copyright 2026 DXOS.org
3
3
  //
4
4
 
5
- import { Capability } from '@dxos/app-framework';
5
+ import * as ActivationEvents from '@dxos/app-framework/ActivationEvents';
6
+ import * as Capabilities from '@dxos/app-framework/Capabilities';
7
+ import * as Capability from '@dxos/app-framework/Capability';
8
+ import * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';
9
+ import * as AppCapability from '@dxos/app-toolkit/AppCapability';
6
10
 
7
- export const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));
8
- export const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));
9
- export const DebugSettings = Capability.lazy('DebugSettings', () => import('./settings'));
10
- export const StatsPanel = Capability.lazy('StatsPanel', () => import('./stats-panel'));
11
- export const LogRecording = Capability.lazy('LogRecording', () => import('./log-recording'));
11
+ import * as Debug from '../types/Debug';
12
+ import * as DebugEvents from '../types/DebugEvents';
13
+
14
+ export const AppGraphBuilder = AppCapability.appGraphBuilder(() => import('./app-graph-builder'));
15
+ export const ReactSurface = AppCapability.surface(() => import('./react-surface'), {
16
+ roles: [
17
+ 'org.dxos.plugin.debug.surface.stats',
18
+ 'org.dxos.role.article',
19
+ 'org.dxos.role.deckCompanion.logs',
20
+ 'org.dxos.role.deckCompanion.spaceObjects',
21
+ 'org.dxos.role.section',
22
+ 'org.dxos.role.statusIndicator',
23
+ ],
24
+ requires: [Capabilities.AtomRegistry, Debug.DebugCapabilities.Settings, AppCapabilities.FileUploader],
25
+ props: ({ logStore }: Debug.DebugPluginOptions) => ({ logStore }),
26
+ });
27
+ export const DebugSettings = AppCapability.settings(() => import('./settings'), {
28
+ activatesOn: ActivationEvents.Idle,
29
+ provides: [Debug.DebugCapabilities.Settings],
30
+ });
31
+ export const StatsPanel = Capability.lazyModule(
32
+ 'StatsPanel',
33
+ {
34
+ requires: [Capabilities.AtomRegistry],
35
+ provides: [AppCapabilities.StatsPanel],
36
+ props: ({ persistStats }: Debug.DebugPluginOptions) => ({ persist: persistStats ?? true }),
37
+ activatesOn: DebugEvents.Start,
38
+ },
39
+ () => import('./stats-panel'),
40
+ );
41
+ export const LogRecording = Capability.lazyModule(
42
+ 'LogRecording',
43
+ { provides: [], activatesOn: DebugEvents.Start },
44
+ () => import('./log-recording'),
45
+ );
@@ -4,7 +4,7 @@
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
- import { Capabilities, Capability } from '@dxos/app-framework';
7
+ import * as Capability from '@dxos/app-framework/Capability';
8
8
  import { logBuffer } from '@dxos/react-ui-debug';
9
9
 
10
10
  /**
@@ -15,6 +15,7 @@ import { logBuffer } from '@dxos/react-ui-debug';
15
15
  export default Capability.makeModule(
16
16
  Effect.fnUntraced(function* () {
17
17
  logBuffer.start();
18
- return Capability.contributes(Capabilities.Null, null, () => Effect.sync(() => logBuffer.stop()));
18
+ yield* Effect.addFinalizer(() => Effect.sync(() => logBuffer.stop()));
19
+ return [];
19
20
  }),
20
21
  );
@@ -4,9 +4,10 @@
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
- import { Capabilities, Capability } from '@dxos/app-framework';
7
+ import * as Capabilities from '@dxos/app-framework/Capabilities';
8
+ import * as Capability from '@dxos/app-framework/Capability';
8
9
  import { Surface } from '@dxos/app-framework/ui';
9
- import { AppCapabilities } from '@dxos/app-toolkit';
10
+ import * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';
10
11
  import { AppSurface } from '@dxos/app-toolkit/ui';
11
12
  import { Obj } from '@dxos/echo';
12
13
  import { type IdbLogStore } from '@dxos/log-store-idb';
@@ -15,8 +16,10 @@ import { Position } from '@dxos/util';
15
16
 
16
17
  import { DebugStatus, LogStatus, StatsPanel, Wireframe } from '#containers';
17
18
  import { meta } from '#meta';
18
- import { DebugCapabilities, DebugNodes, DebugSurface } from '#types';
19
19
 
20
+ import { DebugCapabilities } from '../types/Debug';
21
+ import * as DebugNodes from '../types/DebugNodes';
22
+ import * as DebugSurface from '../types/DebugSurface';
20
23
  import {
21
24
  DebugSettingsSurface,
22
25
  LoggerSurface,
@@ -44,12 +47,11 @@ type ReactSurfaceOptions = {
44
47
 
45
48
  export default Capability.makeModule(
46
49
  Effect.fnUntraced(function* ({ logStore }: ReactSurfaceOptions) {
47
- const capabilities = yield* Capability.Service;
48
- const registry = capabilities.get(Capabilities.AtomRegistry);
49
- const settingsAtom = capabilities.get(DebugCapabilities.Settings);
50
- const fileUploader = capabilities.getAll(AppCapabilities.FileUploader)[0];
50
+ const registry = yield* Capabilities.AtomRegistry;
51
+ const settingsAtom = yield* DebugCapabilities.Settings;
52
+ const fileUploader = (yield* Capability.getAll(AppCapabilities.FileUploader))[0];
51
53
 
52
- return Capability.contributes(Capabilities.ReactSurface, [
54
+ return Capability.contribute(Capabilities.ReactSurface, [
53
55
  Surface.create({
54
56
  id: 'pluginSettings',
55
57
  filter: AppSurface.settings(AppSurface.Article, meta.profile.key),
@@ -4,12 +4,14 @@
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
- import { Capability } from '@dxos/app-framework';
8
- import { AppCapabilities } from '@dxos/app-toolkit';
7
+ import * as Capability from '@dxos/app-framework/Capability';
8
+ import * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';
9
9
  import { createKvsStore } from '@dxos/effect';
10
10
 
11
11
  import { meta } from '#meta';
12
- import { DebugCapabilities, Settings } from '#types';
12
+
13
+ import * as Debug from '../types/Debug';
14
+ import * as Settings from '../types/Settings';
13
15
 
14
16
  export default Capability.makeModule(() =>
15
17
  Effect.sync(() => {
@@ -20,8 +22,8 @@ export default Capability.makeModule(() =>
20
22
  });
21
23
 
22
24
  return [
23
- Capability.contributes(DebugCapabilities.Settings, settingsAtom),
24
- Capability.contributes(AppCapabilities.Settings, {
25
+ Capability.contribute(Debug.DebugCapabilities.Settings, settingsAtom),
26
+ Capability.contribute(AppCapabilities.Settings, {
25
27
  prefix: meta.profile.key,
26
28
  schema: Settings.Settings,
27
29
  atom: settingsAtom,
@@ -5,8 +5,9 @@
5
5
  import { Atom } from '@effect-atom/atom';
6
6
  import * as Effect from 'effect/Effect';
7
7
 
8
- import { Capabilities, Capability } from '@dxos/app-framework';
9
- import { AppCapabilities } from '@dxos/app-toolkit';
8
+ import * as Capabilities from '@dxos/app-framework/Capabilities';
9
+ import * as Capability from '@dxos/app-framework/Capability';
10
+ import * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';
10
11
 
11
12
  import { meta } from '#meta';
12
13
 
@@ -26,7 +27,7 @@ const STORAGE_KEY = `${meta.profile.key}.statsPanel`;
26
27
  */
27
28
  export default Capability.makeModule(
28
29
  Effect.fnUntraced(function* ({ persist = true }: StatsPanelOptions = {}) {
29
- const registry = yield* Capability.get(Capabilities.AtomRegistry);
30
+ const registry = yield* Capabilities.AtomRegistry;
30
31
  const canPersist = persist && typeof localStorage !== 'undefined';
31
32
 
32
33
  const hydrate = (): Record<string, unknown> => {
@@ -55,7 +56,7 @@ export default Capability.makeModule(
55
56
  }
56
57
  };
57
58
 
58
- return Capability.contributes(AppCapabilities.StatsPanel, {
59
+ return Capability.contribute(AppCapabilities.StatsPanel, {
59
60
  statsAtom,
60
61
  get: (pluginKey) => registry.get(statsAtom)[pluginKey],
61
62
  compartment: (pluginKey) => ({
@@ -4,6 +4,7 @@
4
4
 
5
5
  import React from 'react';
6
6
 
7
+ import { Type } from '@dxos/echo';
7
8
  import { IconButton, ThemedClassName } from '@dxos/react-ui';
8
9
  import { mx } from '@dxos/ui-theme';
9
10
 
@@ -18,19 +19,24 @@ export const SchemaTable = ({ classNames, types, objects = {}, label, onClick }:
18
19
  return (
19
20
  <div className={mx('grid grid-cols-[1fr_80px_40px] gap-1 overflow-none', classNames)}>
20
21
  <h2 className='p-2'>{label}</h2>
21
- {types.map((type) => (
22
- <div key={type.typename} className='grid grid-cols-subgrid col-span-3 items-center'>
23
- <div className='px-2 text-sm font-mono text-subdued'>{type.typename}</div>
24
- <div className='px-2 text-right font-mono'>{objects[type.typename] ?? 0}</div>
25
- <IconButton
26
- variant='ghost'
27
- icon='ph--plus--regular'
28
- iconOnly
29
- label='Create data'
30
- onClick={() => onClick(type.typename)}
31
- />
32
- </div>
33
- ))}
22
+ {types.map((type) => {
23
+ // Preset descriptors are plain `{ typename }` objects, while class-based type entities carry
24
+ // no `typename` property — those resolve via `Type.getTypename`.
25
+ const typename = typeof type.typename === 'string' ? type.typename : Type.getTypename(type);
26
+ return (
27
+ <div key={typename} className='grid grid-cols-subgrid col-span-3 items-center'>
28
+ <div className='px-2 text-sm font-mono text-subdued'>{typename}</div>
29
+ <div className='px-2 text-right font-mono'>{typename ? (objects[typename] ?? 0) : 0}</div>
30
+ <IconButton
31
+ variant='ghost'
32
+ icon='ph--plus--regular'
33
+ iconOnly
34
+ label='Create data'
35
+ onClick={() => typename && onClick(typename)}
36
+ />
37
+ </div>
38
+ );
39
+ })}
34
40
  </div>
35
41
  );
36
42
  };
@@ -2,15 +2,15 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { addressToA1Notation } from '@dxos/compute-hyperformula';
5
+ import { addressToA1Notation } from '@dxos/compute-hyperformula/types';
6
6
  import { ComputeGraph, ComputeGraphModel, DEFAULT_OUTPUT, NODE_INPUT, NODE_OUTPUT } from '@dxos/conductor';
7
7
  import { EID, Filter, Key, Type, View } from '@dxos/echo';
8
8
  import { OperationInvoker } from '@dxos/operation';
9
- import { Drawing } from '@dxos/plugin-illustrator';
10
- import { Markdown } from '@dxos/plugin-markdown';
11
- import { Sheet } from '@dxos/plugin-sheet';
9
+ import * as Drawing from '@dxos/plugin-illustrator/Drawing';
10
+ import * as Markdown from '@dxos/plugin-markdown/Markdown';
11
+ import * as Sheet from '@dxos/plugin-sheet/Sheet';
12
12
  import { SpaceOperation } from '@dxos/plugin-space';
13
- import { Tldraw } from '@dxos/plugin-tldraw';
13
+ import * as Tldraw from '@dxos/plugin-tldraw/Tldraw';
14
14
  import { random } from '@dxos/random';
15
15
  import { type Client } from '@dxos/react-client';
16
16
  import { type Space } from '@dxos/react-client/echo';
@@ -5,14 +5,16 @@
5
5
  import * as Schema from 'effect/Schema';
6
6
 
7
7
  import { RunInstructions, WebSearchSkill } from '@dxos/assistant-toolkit';
8
- import { Instructions, Operation, Trigger } from '@dxos/compute';
8
+ import * as Instructions from '@dxos/compute/Instructions';
9
+ import * as Operation from '@dxos/compute/Operation';
10
+ import * as Trigger from '@dxos/compute/Trigger';
9
11
  import { type ComputeGraphModel, NODE_INPUT } from '@dxos/conductor';
10
12
  import { Feed, Filter, JsonSchema, Key, Obj, Query, type QueryAST, Ref, Scope, Tag } from '@dxos/echo';
11
13
  import { invariant } from '@dxos/invariant';
12
14
  import { DXN, EID } from '@dxos/keys';
13
- import { InboxOperation } from '@dxos/plugin-inbox';
14
- import { Mailbox } from '@dxos/plugin-inbox';
15
- import { Markdown } from '@dxos/plugin-markdown';
15
+ import * as InboxOperation from '@dxos/plugin-inbox/InboxOperation';
16
+ import * as Mailbox from '@dxos/plugin-inbox/Mailbox';
17
+ import * as Markdown from '@dxos/plugin-markdown/Markdown';
16
18
  import { type Space } from '@dxos/react-client/echo';
17
19
  import {
18
20
  type ComputeShape,