@dxos/plugin-debug 0.8.4-main.f9ba587 → 0.8.4-staging.60fe92afc8

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 (272) hide show
  1. package/LICENSE +102 -5
  2. package/PLUGIN.mdl +373 -0
  3. package/README.md +1 -1
  4. package/dist/lib/neutral/DebugGraph-G4FWS57E.mjs +15 -0
  5. package/dist/lib/neutral/DebugGraph-G4FWS57E.mjs.map +7 -0
  6. package/dist/lib/neutral/DebugObjectPanel-OS65NC4M.mjs +59 -0
  7. package/dist/lib/neutral/DebugObjectPanel-OS65NC4M.mjs.map +7 -0
  8. package/dist/lib/neutral/DebugPlugin.mjs +59 -0
  9. package/dist/lib/neutral/DebugPlugin.mjs.map +7 -0
  10. package/dist/lib/neutral/DebugPlugin.node.mjs +18 -0
  11. package/dist/lib/neutral/DebugPlugin.node.mjs.map +7 -0
  12. package/dist/lib/neutral/DebugPlugin.workerd.mjs +12 -0
  13. package/dist/lib/neutral/DebugPlugin.workerd.mjs.map +7 -0
  14. package/dist/lib/neutral/DebugSettings-RKYNQIKH.mjs +223 -0
  15. package/dist/lib/neutral/DebugSettings-RKYNQIKH.mjs.map +7 -0
  16. package/dist/lib/neutral/DebugSpaceObjectsPanel-BHOCFWDJ.mjs +34 -0
  17. package/dist/lib/neutral/DebugSpaceObjectsPanel-BHOCFWDJ.mjs.map +7 -0
  18. package/dist/lib/neutral/DebugStatus-H2BAHN26.mjs +122 -0
  19. package/dist/lib/neutral/DebugStatus-H2BAHN26.mjs.map +7 -0
  20. package/dist/lib/neutral/DevtoolsOverviewContainer-YX7Z3D2H.mjs +23 -0
  21. package/dist/lib/neutral/DevtoolsOverviewContainer-YX7Z3D2H.mjs.map +7 -0
  22. package/dist/lib/neutral/GithubPanel-QJKDJRVQ.mjs +177 -0
  23. package/dist/lib/neutral/GithubPanel-QJKDJRVQ.mjs.map +7 -0
  24. package/dist/lib/neutral/RegistryPanel-64GIYJHN.mjs +161 -0
  25. package/dist/lib/neutral/RegistryPanel-64GIYJHN.mjs.map +7 -0
  26. package/dist/lib/neutral/SpaceGenerator-Y35G6DRV.mjs +146 -0
  27. package/dist/lib/neutral/SpaceGenerator-Y35G6DRV.mjs.map +7 -0
  28. package/dist/lib/neutral/Wireframe-WD7S2AUU.mjs +52 -0
  29. package/dist/lib/neutral/Wireframe-WD7S2AUU.mjs.map +7 -0
  30. package/dist/lib/neutral/app-graph-builder-4OJQQLSH.mjs +626 -0
  31. package/dist/lib/neutral/app-graph-builder-4OJQQLSH.mjs.map +7 -0
  32. package/dist/lib/neutral/capabilities/index.mjs +15 -0
  33. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  34. package/dist/lib/neutral/chunk-HOV6MV5B.mjs +43 -0
  35. package/dist/lib/neutral/chunk-HOV6MV5B.mjs.map +7 -0
  36. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  37. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  38. package/dist/lib/{node-esm/chunk-I6XSKQ6D.mjs → neutral/chunk-TAST3Y2C.mjs} +31 -10
  39. package/dist/lib/neutral/chunk-TAST3Y2C.mjs.map +7 -0
  40. package/dist/lib/neutral/components/index.mjs +972 -0
  41. package/dist/lib/neutral/components/index.mjs.map +7 -0
  42. package/dist/lib/neutral/containers/index.mjs +25 -0
  43. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  44. package/dist/lib/neutral/index.mjs +18 -0
  45. package/dist/lib/neutral/index.mjs.map +7 -0
  46. package/dist/lib/neutral/meta.json +1 -0
  47. package/dist/lib/neutral/meta.mjs +8 -0
  48. package/dist/lib/neutral/meta.mjs.map +7 -0
  49. package/dist/lib/neutral/plugin.mjs +12 -0
  50. package/dist/lib/neutral/plugin.mjs.map +7 -0
  51. package/dist/lib/neutral/react-context-MUZ3KVLU.mjs +17 -0
  52. package/dist/lib/neutral/react-context-MUZ3KVLU.mjs.map +7 -0
  53. package/dist/lib/neutral/react-surface-YBC4HK7I.mjs +430 -0
  54. package/dist/lib/neutral/react-surface-YBC4HK7I.mjs.map +7 -0
  55. package/dist/lib/neutral/settings-MPM6YUP4.mjs +28 -0
  56. package/dist/lib/neutral/settings-MPM6YUP4.mjs.map +7 -0
  57. package/dist/lib/neutral/translations.mjs +92 -0
  58. package/dist/lib/neutral/translations.mjs.map +7 -0
  59. package/dist/lib/neutral/types/index.mjs +14 -0
  60. package/dist/lib/neutral/types/index.mjs.map +7 -0
  61. package/dist/types/src/DebugPlugin.d.ts +4 -1
  62. package/dist/types/src/DebugPlugin.d.ts.map +1 -1
  63. package/dist/types/src/DebugPlugin.node.d.ts +5 -0
  64. package/dist/types/src/DebugPlugin.node.d.ts.map +1 -0
  65. package/dist/types/src/DebugPlugin.test.d.ts +2 -0
  66. package/dist/types/src/DebugPlugin.test.d.ts.map +1 -0
  67. package/dist/types/src/DebugPlugin.workerd.d.ts +5 -0
  68. package/dist/types/src/DebugPlugin.workerd.d.ts.map +1 -0
  69. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  70. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  71. package/dist/types/src/capabilities/index.d.ts +8 -5
  72. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  73. package/dist/types/src/capabilities/react-context.d.ts +4 -2
  74. package/dist/types/src/capabilities/react-context.d.ts.map +1 -1
  75. package/dist/types/src/capabilities/react-surface.d.ts +7 -2
  76. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  77. package/dist/types/src/capabilities/settings.d.ts +5 -2
  78. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  79. package/dist/types/src/components/DebugSettings/DebugSettings.d.ts +11 -0
  80. package/dist/types/src/components/DebugSettings/DebugSettings.d.ts.map +1 -0
  81. package/dist/types/src/components/DebugSettings/DebugSettings.stories.d.ts +107 -0
  82. package/dist/types/src/components/DebugSettings/DebugSettings.stories.d.ts.map +1 -0
  83. package/dist/types/src/components/DebugSettings/index.d.ts +2 -0
  84. package/dist/types/src/components/DebugSettings/index.d.ts.map +1 -0
  85. package/dist/types/src/components/SchemaTable/SchemaTable.d.ts.map +1 -0
  86. package/dist/types/src/components/SchemaTable/index.d.ts +2 -0
  87. package/dist/types/src/components/SchemaTable/index.d.ts.map +1 -0
  88. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts +5 -4
  89. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts.map +1 -1
  90. package/dist/types/src/components/SpaceGenerator/draw-util.d.ts.map +1 -1
  91. package/dist/types/src/components/SpaceGenerator/index.d.ts +2 -2
  92. package/dist/types/src/components/SpaceGenerator/index.d.ts.map +1 -1
  93. package/dist/types/src/components/SpaceGenerator/presets.d.ts +5 -8
  94. package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -1
  95. package/dist/types/src/components/index.d.ts +4 -9
  96. package/dist/types/src/components/index.d.ts.map +1 -1
  97. package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts +8 -0
  98. package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts.map +1 -0
  99. package/dist/types/src/containers/DebugGraph/index.d.ts +2 -0
  100. package/dist/types/src/containers/DebugGraph/index.d.ts.map +1 -0
  101. package/dist/types/src/containers/DebugObjectPanel/DebugObjectPanel.d.ts +6 -0
  102. package/dist/types/src/containers/DebugObjectPanel/DebugObjectPanel.d.ts.map +1 -0
  103. package/dist/types/src/containers/DebugObjectPanel/index.d.ts +2 -0
  104. package/dist/types/src/containers/DebugObjectPanel/index.d.ts.map +1 -0
  105. package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts +5 -0
  106. package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts.map +1 -0
  107. package/dist/types/src/containers/DebugSpaceObjectsPanel/index.d.ts +2 -0
  108. package/dist/types/src/containers/DebugSpaceObjectsPanel/index.d.ts.map +1 -0
  109. package/dist/types/src/containers/DebugStatus/DebugStatus.d.ts.map +1 -0
  110. package/dist/types/src/containers/DebugStatus/index.d.ts +2 -0
  111. package/dist/types/src/containers/DebugStatus/index.d.ts.map +1 -0
  112. package/dist/types/src/{components → containers/DevtoolsOverviewContainer}/DevtoolsOverviewContainer.d.ts +0 -1
  113. package/dist/types/src/containers/DevtoolsOverviewContainer/DevtoolsOverviewContainer.d.ts.map +1 -0
  114. package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts +2 -0
  115. package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts.map +1 -0
  116. package/dist/types/src/containers/GithubPanel/GithubComponent.d.ts +15 -0
  117. package/dist/types/src/containers/GithubPanel/GithubComponent.d.ts.map +1 -0
  118. package/dist/types/src/containers/GithubPanel/GithubComponent.stories.d.ts +107 -0
  119. package/dist/types/src/containers/GithubPanel/GithubComponent.stories.d.ts.map +1 -0
  120. package/dist/types/src/containers/GithubPanel/GithubPanel.d.ts +3 -0
  121. package/dist/types/src/containers/GithubPanel/GithubPanel.d.ts.map +1 -0
  122. package/dist/types/src/containers/GithubPanel/index.d.ts +2 -0
  123. package/dist/types/src/containers/GithubPanel/index.d.ts.map +1 -0
  124. package/dist/types/src/containers/RegistryPanel/RegistryPanel.d.ts +3 -0
  125. package/dist/types/src/containers/RegistryPanel/RegistryPanel.d.ts.map +1 -0
  126. package/dist/types/src/containers/RegistryPanel/index.d.ts +2 -0
  127. package/dist/types/src/containers/RegistryPanel/index.d.ts.map +1 -0
  128. package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.d.ts +11 -0
  129. package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.d.ts.map +1 -0
  130. package/dist/types/src/containers/SpaceGenerator/index.d.ts +2 -0
  131. package/dist/types/src/containers/SpaceGenerator/index.d.ts.map +1 -0
  132. package/dist/types/src/{components → containers/Wireframe}/Wireframe.d.ts +2 -2
  133. package/dist/types/src/containers/Wireframe/Wireframe.d.ts.map +1 -0
  134. package/dist/types/src/containers/Wireframe/index.d.ts +2 -0
  135. package/dist/types/src/containers/Wireframe/index.d.ts.map +1 -0
  136. package/dist/types/src/containers/index.d.ts +11 -0
  137. package/dist/types/src/containers/index.d.ts.map +1 -0
  138. package/dist/types/src/index.d.ts +1 -1
  139. package/dist/types/src/index.d.ts.map +1 -1
  140. package/dist/types/src/meta.d.ts +2 -3
  141. package/dist/types/src/meta.d.ts.map +1 -1
  142. package/dist/types/src/plugin.d.ts +4 -0
  143. package/dist/types/src/plugin.d.ts.map +1 -0
  144. package/dist/types/src/translations.d.ts +88 -57
  145. package/dist/types/src/translations.d.ts.map +1 -1
  146. package/dist/types/src/types/Settings.d.ts +8 -0
  147. package/dist/types/src/types/Settings.d.ts.map +1 -0
  148. package/dist/types/src/types/index.d.ts +71 -0
  149. package/dist/types/src/types/index.d.ts.map +1 -0
  150. package/dist/types/tsconfig.tsbuildinfo +1 -1
  151. package/package.json +126 -78
  152. package/src/DebugPlugin.node.ts +18 -0
  153. package/src/DebugPlugin.test.ts +29 -0
  154. package/src/DebugPlugin.tsx +37 -38
  155. package/src/DebugPlugin.workerd.ts +12 -0
  156. package/src/capabilities/app-graph-builder.ts +397 -412
  157. package/src/capabilities/index.ts +5 -5
  158. package/src/capabilities/react-context.tsx +16 -7
  159. package/src/capabilities/react-surface.tsx +394 -339
  160. package/src/capabilities/settings.ts +24 -12
  161. package/src/components/DebugSettings/DebugSettings.stories.tsx +36 -0
  162. package/src/components/DebugSettings/DebugSettings.tsx +259 -0
  163. package/src/components/DebugSettings/index.ts +5 -0
  164. package/src/components/SchemaTable/index.ts +5 -0
  165. package/src/components/SpaceGenerator/ObjectGenerator.tsx +48 -48
  166. package/src/components/SpaceGenerator/draw-util.ts +13 -13
  167. package/src/components/SpaceGenerator/index.ts +2 -3
  168. package/src/components/SpaceGenerator/presets.ts +528 -265
  169. package/src/components/index.ts +4 -8
  170. package/src/containers/DebugGraph/DebugGraph.tsx +14 -0
  171. package/src/containers/DebugGraph/index.ts +5 -0
  172. package/src/containers/DebugObjectPanel/DebugObjectPanel.tsx +76 -0
  173. package/src/containers/DebugObjectPanel/index.ts +5 -0
  174. package/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.tsx +47 -0
  175. package/src/containers/DebugSpaceObjectsPanel/index.ts +5 -0
  176. package/src/{components → containers/DebugStatus}/DebugStatus.tsx +44 -21
  177. package/src/containers/DebugStatus/index.ts +5 -0
  178. package/src/containers/DevtoolsOverviewContainer/DevtoolsOverviewContainer.tsx +25 -0
  179. package/src/containers/DevtoolsOverviewContainer/index.ts +5 -0
  180. package/src/containers/GithubPanel/GithubComponent.stories.tsx +38 -0
  181. package/src/containers/GithubPanel/GithubComponent.tsx +192 -0
  182. package/src/containers/GithubPanel/GithubPanel.tsx +17 -0
  183. package/src/containers/GithubPanel/index.ts +5 -0
  184. package/src/containers/RegistryPanel/RegistryPanel.tsx +150 -0
  185. package/src/containers/RegistryPanel/index.ts +5 -0
  186. package/src/containers/SpaceGenerator/SpaceGenerator.tsx +127 -0
  187. package/src/containers/SpaceGenerator/index.ts +5 -0
  188. package/src/{components → containers/Wireframe}/Wireframe.tsx +8 -12
  189. package/src/containers/Wireframe/index.ts +5 -0
  190. package/src/containers/index.ts +15 -0
  191. package/src/index.ts +1 -1
  192. package/src/meta.ts +29 -8
  193. package/src/plugin.ts +10 -0
  194. package/src/translations.ts +84 -56
  195. package/src/types/Settings.ts +16 -0
  196. package/src/{types.ts → types/index.ts} +22 -11
  197. package/src/vite-env.d.ts +10 -0
  198. package/dist/lib/browser/DebugApp-5JPOASYB.mjs +0 -225
  199. package/dist/lib/browser/DebugApp-5JPOASYB.mjs.map +0 -7
  200. package/dist/lib/browser/DevtoolsOverviewContainer-EPD6EWT5.mjs +0 -25
  201. package/dist/lib/browser/DevtoolsOverviewContainer-EPD6EWT5.mjs.map +0 -7
  202. package/dist/lib/browser/SpaceGenerator-BLFPBKL2.mjs +0 -1238
  203. package/dist/lib/browser/SpaceGenerator-BLFPBKL2.mjs.map +0 -7
  204. package/dist/lib/browser/app-graph-builder-SQXFD2BL.mjs +0 -597
  205. package/dist/lib/browser/app-graph-builder-SQXFD2BL.mjs.map +0 -7
  206. package/dist/lib/browser/chunk-5XPIRNQS.mjs +0 -18
  207. package/dist/lib/browser/chunk-5XPIRNQS.mjs.map +0 -7
  208. package/dist/lib/browser/chunk-AJA6RYN3.mjs +0 -68
  209. package/dist/lib/browser/chunk-AJA6RYN3.mjs.map +0 -7
  210. package/dist/lib/browser/index.mjs +0 -130
  211. package/dist/lib/browser/index.mjs.map +0 -7
  212. package/dist/lib/browser/meta.json +0 -1
  213. package/dist/lib/browser/react-context-NVAGLAJD.mjs +0 -16
  214. package/dist/lib/browser/react-context-NVAGLAJD.mjs.map +0 -7
  215. package/dist/lib/browser/react-surface-EWOX4JS7.mjs +0 -768
  216. package/dist/lib/browser/react-surface-EWOX4JS7.mjs.map +0 -7
  217. package/dist/lib/browser/settings-LSSWLM5I.mjs +0 -22
  218. package/dist/lib/browser/settings-LSSWLM5I.mjs.map +0 -7
  219. package/dist/lib/node-esm/DebugApp-B2TUPIX6.mjs +0 -227
  220. package/dist/lib/node-esm/DebugApp-B2TUPIX6.mjs.map +0 -7
  221. package/dist/lib/node-esm/DevtoolsOverviewContainer-K622ZTH2.mjs +0 -27
  222. package/dist/lib/node-esm/DevtoolsOverviewContainer-K622ZTH2.mjs.map +0 -7
  223. package/dist/lib/node-esm/SpaceGenerator-MJR725EE.mjs +0 -1240
  224. package/dist/lib/node-esm/SpaceGenerator-MJR725EE.mjs.map +0 -7
  225. package/dist/lib/node-esm/app-graph-builder-W26WQYCF.mjs +0 -598
  226. package/dist/lib/node-esm/app-graph-builder-W26WQYCF.mjs.map +0 -7
  227. package/dist/lib/node-esm/chunk-HTJ6Z5U5.mjs +0 -20
  228. package/dist/lib/node-esm/chunk-HTJ6Z5U5.mjs.map +0 -7
  229. package/dist/lib/node-esm/chunk-I6XSKQ6D.mjs.map +0 -7
  230. package/dist/lib/node-esm/index.mjs +0 -131
  231. package/dist/lib/node-esm/index.mjs.map +0 -7
  232. package/dist/lib/node-esm/meta.json +0 -1
  233. package/dist/lib/node-esm/react-context-6ELMAMVB.mjs +0 -17
  234. package/dist/lib/node-esm/react-context-6ELMAMVB.mjs.map +0 -7
  235. package/dist/lib/node-esm/react-surface-HDU56SYC.mjs +0 -769
  236. package/dist/lib/node-esm/react-surface-HDU56SYC.mjs.map +0 -7
  237. package/dist/lib/node-esm/settings-YWFF57TW.mjs +0 -23
  238. package/dist/lib/node-esm/settings-YWFF57TW.mjs.map +0 -7
  239. package/dist/types/src/components/Container.d.ts +0 -5
  240. package/dist/types/src/components/Container.d.ts.map +0 -1
  241. package/dist/types/src/components/DebugApp/DebugApp.d.ts +0 -6
  242. package/dist/types/src/components/DebugApp/DebugApp.d.ts.map +0 -1
  243. package/dist/types/src/components/DebugApp/Tree.d.ts +0 -18
  244. package/dist/types/src/components/DebugApp/Tree.d.ts.map +0 -1
  245. package/dist/types/src/components/DebugApp/index.d.ts +0 -3
  246. package/dist/types/src/components/DebugApp/index.d.ts.map +0 -1
  247. package/dist/types/src/components/DebugObjectPanel.d.ts +0 -7
  248. package/dist/types/src/components/DebugObjectPanel.d.ts.map +0 -1
  249. package/dist/types/src/components/DebugSettings.d.ts +0 -6
  250. package/dist/types/src/components/DebugSettings.d.ts.map +0 -1
  251. package/dist/types/src/components/DebugStatus.d.ts.map +0 -1
  252. package/dist/types/src/components/DevtoolsOverviewContainer.d.ts.map +0 -1
  253. package/dist/types/src/components/SpaceGenerator/SchemaTable.d.ts.map +0 -1
  254. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.d.ts +0 -9
  255. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.d.ts.map +0 -1
  256. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.stories.d.ts +0 -6
  257. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.stories.d.ts.map +0 -1
  258. package/dist/types/src/components/Wireframe.d.ts.map +0 -1
  259. package/dist/types/src/types.d.ts +0 -63
  260. package/dist/types/src/types.d.ts.map +0 -1
  261. package/src/components/Container.tsx +0 -15
  262. package/src/components/DebugApp/DebugApp.tsx +0 -77
  263. package/src/components/DebugApp/Tree.tsx +0 -103
  264. package/src/components/DebugApp/index.ts +0 -7
  265. package/src/components/DebugObjectPanel.tsx +0 -35
  266. package/src/components/DebugSettings.tsx +0 -151
  267. package/src/components/DevtoolsOverviewContainer.tsx +0 -20
  268. package/src/components/SpaceGenerator/SpaceGenerator.stories.tsx +0 -52
  269. package/src/components/SpaceGenerator/SpaceGenerator.tsx +0 -179
  270. /package/dist/types/src/components/{SpaceGenerator → SchemaTable}/SchemaTable.d.ts +0 -0
  271. /package/dist/types/src/{components → containers/DebugStatus}/DebugStatus.d.ts +0 -0
  272. /package/src/components/{SpaceGenerator → SchemaTable}/SchemaTable.tsx +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/index.ts", "../../../src/components/DebugObjectPanel.tsx", "../../../src/components/DebugSettings.tsx", "../../../src/components/DebugStatus.tsx", "../../../src/components/Wireframe.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { pipe } from 'effect';\nimport React, { useCallback } from 'react';\n\nimport {\n Capabilities,\n chain,\n contributes,\n createIntent,\n createSurface,\n LayoutAction,\n useCapability,\n useIntentDispatcher,\n type PluginContext,\n} from '@dxos/app-framework';\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 TracingPanel,\n WorkflowPanel,\n} from '@dxos/devtools';\nimport { Obj } from '@dxos/echo';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { log } from '@dxos/log';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { Graph } from '@dxos/plugin-graph';\nimport { ScriptAction } from '@dxos/plugin-script/types';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { SpaceState, isSpace, type Space, parseId } from '@dxos/react-client/echo';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { DataType } from '@dxos/schema';\n\nimport {\n DebugApp,\n DebugObjectPanel,\n DebugSettings,\n DebugStatus,\n DevtoolsOverviewContainer,\n SpaceGenerator,\n Wireframe,\n} from '../components';\nimport { DEBUG_PLUGIN } from '../meta';\nimport { type DebugSettingsProps, Devtools } from '../types';\n\ntype SpaceDebug = {\n type: string;\n space: Space;\n};\n\ntype GraphDebug = {\n graph: Graph;\n};\n\nconst isSpaceDebug = (data: any): data is SpaceDebug => data?.type === `${DEBUG_PLUGIN}/space` && isSpace(data.space);\nconst isGraphDebug = (data: any): data is GraphDebug => data?.graph instanceof Graph;\n\n// TODO(wittjosiah): Factor out?\nconst useCurrentSpace = () => {\n const layout = useCapability(Capabilities.Layout);\n const client = useCapability(ClientCapabilities.Client);\n const { spaceId } = parseId(layout.workspace);\n const space = spaceId ? client.spaces.get(spaceId) : undefined;\n return space;\n};\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${DEBUG_PLUGIN}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<DebugSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === DEBUG_PLUGIN,\n component: ({ data: { subject } }) => <DebugSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/space`,\n role: 'article',\n filter: (data): data is { subject: SpaceDebug } => isSpaceDebug(data.subject),\n component: ({ data }) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n\n const handleCreateObject = useCallback(\n (objects: Obj.Any[]) => {\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[DataType.Collection.typename]?.target;\n if (!Obj.instanceOf(DataType.Collection, collection)) {\n return;\n }\n\n objects.forEach((object) => {\n void dispatch(createIntent(SpaceAction.AddObject, { target: collection, object }));\n });\n },\n [data.subject.space],\n );\n\n return (\n <StackItem.Content>\n <SpaceGenerator space={data.subject.space} onCreateObjects={handleCreateObject} />\n </StackItem.Content>\n );\n },\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/graph`,\n role: 'article',\n filter: (data): data is { subject: GraphDebug } => isGraphDebug(data.subject),\n component: ({ data }) => <DebugApp graph={data.subject.graph} />,\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/wireframe`,\n role: ['article', 'section'],\n position: 'hoist',\n filter: (data): data is { subject: Obj.Any } => {\n const settings = context\n .getCapability(Capabilities.SettingsStore)\n .getStore<DebugSettingsProps>(DEBUG_PLUGIN)!.value;\n return Obj.isObject(data.subject) && !!settings.wireframe;\n },\n component: ({ data, role }) => (\n <Wireframe label={`${role}:${name}`} object={data.subject} classNames='row-span-2 overflow-hidden' />\n ),\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/object-debug`,\n role: 'article',\n filter: (data): data is { companionTo: Obj.Any } => data.subject === 'debug' && Obj.isObject(data.companionTo),\n component: ({ data }) => <DebugObjectPanel object={data.companionTo} />,\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/devtools-overview`,\n role: 'deck-companion--devtools',\n component: () => <DevtoolsOverviewContainer />,\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/status`,\n role: 'status',\n component: () => <DebugStatus />,\n }),\n\n //\n // Devtools\n //\n\n createSurface({\n id: `${DEBUG_PLUGIN}/client/config`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Client.Config,\n component: () => <ConfigPanel vaultSelector={false} />,\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/client/storage`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Client.Storage,\n component: () => <StoragePanel />,\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/client/logs`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Client.Logs,\n component: () => <LoggingPanel />,\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/client/diagnostics`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Client.Diagnostics,\n component: () => <DiagnosticsPanel />,\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/client/tracing`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Client.Tracing,\n component: () => <TracingPanel />,\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/halo/identity`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Halo.Identity,\n component: () => <IdentityPanel />,\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/halo/devices`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Halo.Devices,\n component: () => <DeviceListPanel />,\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/halo/keyring`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Halo.Keyring,\n component: () => <KeyringPanel />,\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/halo/credentials`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Halo.Credentials,\n component: () => {\n const space = useCurrentSpace();\n return <CredentialsPanel space={space} />;\n },\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/echo/spaces`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Echo.Spaces,\n component: () => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const handleSelect = useCallback(\n () => dispatch(createIntent(LayoutAction.Open, { part: 'main', subject: [Devtools.Echo.Space] })),\n [dispatch],\n );\n return <SpaceListPanel onSelect={handleSelect} />;\n },\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/echo/space`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Echo.Space,\n component: () => {\n const space = useCurrentSpace();\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const handleSelect = useCallback(\n () => dispatch(createIntent(LayoutAction.Open, { part: 'main', subject: [Devtools.Echo.Feeds] })),\n [dispatch],\n );\n return <SpaceInfoPanel space={space} onSelectFeed={handleSelect} onSelectPipeline={handleSelect} />;\n },\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/echo/feeds`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Echo.Feeds,\n component: () => {\n const space = useCurrentSpace();\n return <FeedsPanel space={space} />;\n },\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/echo/objects`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Echo.Objects,\n component: () => {\n const space = useCurrentSpace();\n return <ObjectsPanel space={space} />;\n },\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/echo/schema`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Echo.Schema,\n component: () => {\n const space = useCurrentSpace();\n return <SchemaPanel space={space} />;\n },\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/echo/automerge`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Echo.Automerge,\n component: () => {\n const space = useCurrentSpace();\n return <AutomergePanel space={space} />;\n },\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/echo/queues`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Echo.Queues,\n component: () => <QueuesPanel />,\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/echo/members`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Echo.Members,\n component: () => {\n const space = useCurrentSpace();\n return <MembersPanel space={space} />;\n },\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/echo/metadata`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Echo.Metadata,\n component: () => <MetadataPanel />,\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/mesh/signal`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Mesh.Signal,\n component: () => <SignalPanel />,\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/mesh/swarm`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Mesh.Swarm,\n component: () => <SwarmPanel />,\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/mesh/network`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Mesh.Network,\n component: () => {\n const space = useCurrentSpace();\n return <NetworkPanel space={space} />;\n },\n }),\n // TODO(wittjosiah): Remove?\n // createSurface({\n // id: `${DEBUG_PLUGIN}/agent/dashboard`,\n // role: 'article',\n // filter: (data): data is any => data.subject === Devtools.Agent.Dashboard,\n // component: () => <DashboardPanel />,\n // }),\n createSurface({\n id: `${DEBUG_PLUGIN}/edge/dashboard`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Edge.Dashboard,\n component: () => <EdgeDashboardPanel />,\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/edge/workflows`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Edge.Workflows,\n component: () => {\n const space = useCurrentSpace();\n return <WorkflowPanel space={space} />;\n },\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/edge/traces`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Edge.Traces,\n component: () => {\n const space = useCurrentSpace();\n return <InvocationTraceContainer space={space} detailAxis='block' />;\n },\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/edge/testing`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Edge.Testing,\n component: () => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const onSpaceCreate = useCallback(\n async (space: Space) => {\n await space.waitUntilReady();\n await dispatch(createIntent(SpaceAction.Migrate, { space }));\n await space.db.flush();\n },\n [dispatch],\n );\n const onScriptPluginOpen = useCallback(\n async (space: Space) => {\n await space.waitUntilReady();\n const result = await dispatch(\n pipe(createIntent(ScriptAction.Create, { space }), chain(SpaceAction.AddObject, { target: space })),\n );\n log.info('script created', { result });\n await dispatch(\n createIntent(LayoutAction.Open, { part: 'main', subject: [`${space.id}:${result.data?.object.id}`] }),\n );\n },\n [dispatch],\n );\n return <TestingPanel onSpaceCreate={onSpaceCreate} onScriptPluginOpen={onScriptPluginOpen} />;\n },\n }),\n ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport const DebugApp = lazy(() => import('./DebugApp'));\nexport const DevtoolsOverviewContainer = lazy(() => import('./DevtoolsOverviewContainer'));\nexport const SpaceGenerator = lazy(() => import('./SpaceGenerator'));\n\nexport * from './DebugObjectPanel';\nexport * from './DebugSettings';\nexport * from './DebugStatus';\nexport * from './Wireframe';\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Obj } from '@dxos/echo';\nimport { Clipboard, Input, Toolbar } from '@dxos/react-ui';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\n\nexport type DebugObjectPanelProps = {\n object: Obj.Any;\n};\n\n// TODO(burdon): Get schema and traverse references.\nexport const DebugObjectPanel = ({ object }: DebugObjectPanelProps) => {\n const dxn = `dxn:echo:@:${object.id}`;\n\n return (\n <Clipboard.Provider>\n <StackItem.Content toolbar>\n <Toolbar.Root>\n <Input.Root>\n <Input.TextInput disabled value={dxn} />\n <Clipboard.IconButton value={dxn} />\n </Input.Root>\n </Toolbar.Root>\n <SyntaxHighlighter classNames='flex text-xs' language='json'>\n {JSON.stringify(object, null, 2)}\n </SyntaxHighlighter>\n </StackItem.Content>\n </Clipboard.Provider>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useEffect, useState } from 'react';\n\nimport { Capabilities, useCapabilities } from '@dxos/app-framework';\nimport { type ConfigProto, defs, SaveConfig, Storage } from '@dxos/config';\nimport { log } from '@dxos/log';\nimport { useClient } from '@dxos/react-client';\nimport { useTranslation, Button, Toast, Input, useFileDownload, Select, Icon } from '@dxos/react-ui';\nimport { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';\nimport { setDeep } from '@dxos/util';\n\nimport { DEBUG_PLUGIN } from '../meta';\nimport { type DebugSettingsProps } from '../types';\n\ntype Toast = {\n title: string;\n description?: string;\n};\n\nconst StorageAdapters = {\n opfs: defs.Runtime.Client.Storage.StorageDriver.WEBFS,\n idb: defs.Runtime.Client.Storage.StorageDriver.IDB,\n} as const;\n\nexport const DebugSettings = ({ settings }: { settings: DebugSettingsProps }) => {\n const { t } = useTranslation(DEBUG_PLUGIN);\n const [toast, setToast] = useState<Toast>();\n const client = useClient();\n const download = useFileDownload();\n // TODO(mykola): Get updates from other places that change Config.\n const [storageConfig, setStorageConfig] = useState<ConfigProto>({});\n const [upload] = useCapabilities(Capabilities.FileUploader);\n\n useEffect(() => {\n void Storage().then((config) => setStorageConfig(config));\n }, []);\n\n const handleToast = (toast: Toast) => {\n setToast(toast);\n const t = setTimeout(() => setToast(undefined), 5_000);\n return () => clearTimeout(t);\n };\n\n const handleDownload = async () => {\n const data = await client.diagnostics();\n const file = new Blob([JSON.stringify(data, undefined, 2)], { type: 'text/plain' });\n const fileName = `composer-${new Date().toISOString().replace(/\\W/g, '-')}.json`;\n download(file, fileName);\n\n if (upload) {\n const info = await upload(new File([file], fileName), client.spaces.default);\n if (!info) {\n log.error('diagnostics failed to upload to IPFS');\n return;\n }\n handleToast({ title: t('settings uploaded'), description: t('settings uploaded to clipboard') });\n\n // TODO(nf): move to IpfsPlugin?\n const url = client.config.values.runtime!.services!.ipfs!.gateway + '/' + info.cid;\n void navigator.clipboard.writeText(url);\n handleToast({ title: t('settings uploaded'), description: t('settings uploaded to clipboard') });\n log.info('diagnostics', { url });\n }\n };\n\n const handleRepair = async () => {\n try {\n const info = await client.repair();\n setStorageConfig(await Storage());\n handleToast({ title: t('settings repair success'), description: JSON.stringify(info, undefined, 2) });\n } catch (err: any) {\n handleToast({ title: t('settings repair failed'), description: err.message });\n }\n };\n\n return (\n <DeprecatedFormContainer>\n <DeprecatedFormInput label={t('settings wireframe')}>\n <Input.Switch checked={settings.wireframe} onCheckedChange={(checked) => (settings.wireframe = !!checked)} />\n </DeprecatedFormInput>\n <DeprecatedFormInput label={t('settings download diagnostics')}>\n <Button onClick={handleDownload}>\n <Icon icon='ph--download-simple--regular' size={5} />\n </Button>\n </DeprecatedFormInput>\n <DeprecatedFormInput label={t('settings repair')}>\n <Button onClick={handleRepair}>\n <Icon icon='ph--first-aid-kit--regular' size={5} />\n </Button>\n </DeprecatedFormInput>\n\n {/* TODO(burdon): Move to layout? */}\n {toast && (\n <Toast.Root>\n <Toast.Body>\n <Toast.Title>\n <Icon icon='ph--gift--duotone' size={5} classNames='inline mr-1' />\n <span>{toast.title}</span>\n </Toast.Title>\n {toast.description && <Toast.Description>{toast.description}</Toast.Description>}\n </Toast.Body>\n </Toast.Root>\n )}\n\n <DeprecatedFormInput label={t('settings choose storage adaptor')}>\n <Select.Root\n value={\n Object.entries(StorageAdapters).find(\n ([name, value]) => value === storageConfig?.runtime?.client?.storage?.dataStore,\n )?.[0]\n }\n onValueChange={(value) => {\n if (confirm(t('settings storage adapter changed alert'))) {\n updateConfig(\n storageConfig,\n setStorageConfig,\n ['runtime', 'client', 'storage', 'dataStore'],\n StorageAdapters[value as keyof typeof StorageAdapters],\n );\n }\n }}\n >\n <Select.TriggerButton placeholder={t('settings data store label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {Object.keys(StorageAdapters).map((key) => (\n <Select.Option key={key} value={key}>\n {t(`settings storage adaptor ${key} label`)}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n </DeprecatedFormContainer>\n );\n};\n\nconst updateConfig = (config: ConfigProto, setConfig: (newConfig: ConfigProto) => void, path: string[], value: any) => {\n const storageConfigCopy = JSON.parse(JSON.stringify(config ?? {}));\n setDeep(storageConfigCopy, path, value);\n setConfig(storageConfigCopy);\n queueMicrotask(async () => {\n await SaveConfig(storageConfigCopy);\n });\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { TimeoutError } from '@dxos/async';\nimport { useActiveSpace } from '@dxos/plugin-space';\nimport { StatusBar } from '@dxos/plugin-status-bar';\nimport { ConnectionState } from '@dxos/protocols/proto/dxos/client/services';\nimport { useNetworkStatus } from '@dxos/react-client/mesh';\nimport { Icon } from '@dxos/react-ui';\n\nconst styles = {\n success: 'text-sky-300 dark:text-green-700',\n warning: 'text-orange-300 dark:text-orange-600',\n error: 'text-red-300 dark:text-red-600',\n};\n\n// TODO(burdon): Move out of debug plugin.\n// TODO(burdon): Make pluggable (move indicators to relevant plugins).\n// TODO(burdon): Vault heartbeat indicator (global scope)?\n\n/**\n * Ensure light doesn't flicker immediately after start.\n */\n// TODO(burdon): Move to @dxos/async (debounce?)\nconst _timer = (cb: (err?: Error) => void, options?: { min?: number; max?: number }) => {\n const min = options?.min ?? 500;\n let start: number;\n let pending: NodeJS.Timeout;\n let timeout: NodeJS.Timeout;\n return {\n start: () => {\n start = Date.now();\n clearTimeout(pending);\n if (options?.max) {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n cb(new TimeoutError(options.max));\n }, options.max);\n }\n },\n stop: () => {\n clearTimeout(timeout);\n const delta = Date.now() - start;\n if (delta < min) {\n pending = setTimeout(() => {\n cb();\n }, min - delta);\n }\n },\n };\n};\n\n/**\n * Global error handler.\n */\n// TODO(burdon): Integrate with Sentry?\nconst ErrorIndicator = () => {\n const [, forceUpdate] = useState({});\n const errorRef = useRef<Error>();\n useEffect(() => {\n const errorListener = (event: any) => {\n const error: Error = event.error ?? event.reason;\n if (errorRef.current !== error) {\n errorRef.current = error;\n forceUpdate({});\n }\n };\n\n // TODO(burdon): Register globally?\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/error_event\n window.addEventListener('error', errorListener);\n\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/unhandledrejection_event\n window.addEventListener('unhandledrejection', errorListener);\n\n return () => {\n window.removeEventListener('error', errorListener);\n window.removeEventListener('unhandledrejection', errorListener);\n };\n }, []);\n\n const handleReset = () => {\n errorRef.current = undefined;\n forceUpdate({});\n };\n\n if (errorRef.current) {\n return (\n <StatusBar.Button title={errorRef.current.message} onClick={handleReset}>\n <Icon icon='ph--warning-circle--duotone' size={4} classNames={styles.error} />\n </StatusBar.Button>\n );\n } else {\n return (\n <StatusBar.Item title='No errors.'>\n <Icon icon='ph--check--regular' size={4} />\n </StatusBar.Item>\n );\n }\n};\n\n/**\n * Swarm connection handler.\n */\nconst SwarmIndicator = () => {\n const [state, setState] = useState(0);\n const { swarm } = useNetworkStatus();\n useEffect(() => {\n setState(swarm === ConnectionState.ONLINE ? 0 : 1);\n }, [swarm]);\n\n if (state === 0) {\n return (\n <StatusBar.Item title='Connected to swarm.'>\n <Icon icon='ph--lightning--regular' size={4} />\n </StatusBar.Item>\n );\n } else {\n return (\n <StatusBar.Item title='Disconnected from swarm.'>\n <Icon icon='ph--lightning-slash--regular' size={4} classNames={styles.warning} />\n </StatusBar.Item>\n );\n }\n};\n\n/**\n * Data saving indicator.\n */\n// TODO(burdon): Merge with SaveStatus.\nconst SavingIndicator = () => {\n const [state, _setState] = useState(0);\n const _space = useActiveSpace();\n // TODO(dmaretskyi): Fix this when we have save status for automerge.\n // useEffect(() => {\n // if (!space) {\n // return;\n // }\n // const { start, stop } = timer(() => setState(0), { min: 250 });\n // return space.db.pendingBatch.on(({ duration, error }) => {\n // if (error) {\n // setState(2);\n // stop();\n // } else if (duration === undefined) {\n // setState(1);\n // start();\n // } else {\n // stop();\n // }\n // });\n // }, [space]);\n\n switch (state) {\n case 2:\n return (\n <StatusBar.Item title='Edit not saved.'>\n <Icon icon='ph--circle--duotone' size={4} classNames={styles.warning} />\n </StatusBar.Item>\n );\n case 1:\n return (\n <StatusBar.Item title='Saving...'>\n <Icon icon='ph--circle--duotone' size={4} classNames={styles.success} />\n </StatusBar.Item>\n );\n case 0:\n default:\n return (\n <StatusBar.Item title='Modified indicator.'>\n <Icon icon='ph--circle--duotone' size={4} />\n </StatusBar.Item>\n );\n }\n};\n\nconst indicators = [SavingIndicator, SwarmIndicator, ErrorIndicator];\n\nexport const DebugStatus = () => {\n return (\n <>\n {indicators.map((Indicator) => (\n <Indicator key={Indicator.name} />\n ))}\n </>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\nimport { useResizeDetector } from 'react-resize-detector';\n\nimport { type Obj } from '@dxos/echo';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { useAttentionAttributes } from '@dxos/react-ui-attention';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { mx } from '@dxos/react-ui-theme';\n\n// TODO(burdon): Create generic container with wireframe mode.\nexport type WireframeProps = ThemedClassName<{\n label?: string;\n object: Obj.Any;\n}>;\n\n// TODO(burdon): Make focusable and attendable with input.\nexport const Wireframe = ({ classNames, label, object }: WireframeProps) => {\n const attentionAttrs = useAttentionAttributes(fullyQualifiedId(object));\n const { width, height, ref } = useResizeDetector();\n return (\n <div ref={ref} className={mx('relative grow min-bs-96', classNames)} {...attentionAttrs}>\n <div className='absolute inset-2 flex flex-col gap-2 overflow-hidden font-mono'>\n <div className='flex justify-between'>\n <div>{label}</div>\n <div>{`[${width}x${height}]`}</div>\n </div>\n {object && (\n <SyntaxHighlighter language='json' classNames='flex w-full text-xs opacity-75 rounded'>\n {JSON.stringify(object, undefined, 2)}\n </SyntaxHighlighter>\n )}\n </div>\n <svg width={width} height={height} className='bg-transparent *:text-subdued'>\n <rect x={0} y={0} width={width} height={height} strokeWidth={1} fill='none' />\n <line x1={0} y1={0} x2={width} y2={height} strokeWidth={1} />\n <line x1={0} y1={height} x2={width} y2={0} strokeWidth={1} />\n </svg>\n </div>\n );\n};\n"],
5
- "mappings": "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",
6
- "names": ["pipe", "React", "useCallback", "Capabilities", "chain", "contributes", "createIntent", "createSurface", "LayoutAction", "useCapability", "useIntentDispatcher", "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", "Obj", "SettingsStore", "log", "ClientCapabilities", "Graph", "ScriptAction", "SpaceAction", "SpaceState", "isSpace", "parseId", "StackItem", "DataType", "lazy", "React", "Clipboard", "Input", "Toolbar", "StackItem", "SyntaxHighlighter", "DebugObjectPanel", "object", "dxn", "id", "Clipboard", "Provider", "StackItem", "Content", "toolbar", "Toolbar", "Root", "Input", "TextInput", "disabled", "value", "IconButton", "SyntaxHighlighter", "classNames", "language", "JSON", "stringify", "React", "useEffect", "useState", "Capabilities", "useCapabilities", "defs", "SaveConfig", "Storage", "log", "useClient", "useTranslation", "Button", "Toast", "Input", "useFileDownload", "Select", "Icon", "DeprecatedFormContainer", "DeprecatedFormInput", "setDeep", "StorageAdapters", "opfs", "defs", "Runtime", "Client", "Storage", "StorageDriver", "WEBFS", "idb", "IDB", "DebugSettings", "settings", "t", "useTranslation", "DEBUG_PLUGIN", "toast", "setToast", "useState", "client", "useClient", "download", "useFileDownload", "storageConfig", "setStorageConfig", "upload", "useCapabilities", "Capabilities", "FileUploader", "useEffect", "then", "config", "handleToast", "setTimeout", "undefined", "clearTimeout", "handleDownload", "data", "diagnostics", "file", "Blob", "JSON", "stringify", "type", "fileName", "Date", "toISOString", "replace", "info", "File", "spaces", "default", "log", "error", "title", "description", "url", "values", "runtime", "services", "ipfs", "gateway", "cid", "navigator", "clipboard", "writeText", "handleRepair", "repair", "err", "message", "React", "DeprecatedFormContainer", "DeprecatedFormInput", "label", "Input", "Switch", "checked", "wireframe", "onCheckedChange", "Button", "onClick", "Icon", "icon", "size", "Toast", "Root", "Body", "Title", "classNames", "span", "Description", "Select", "value", "Object", "entries", "find", "name", "storage", "dataStore", "onValueChange", "confirm", "updateConfig", "TriggerButton", "placeholder", "Portal", "Content", "Viewport", "keys", "map", "key", "Option", "setConfig", "path", "storageConfigCopy", "parse", "setDeep", "queueMicrotask", "SaveConfig", "React", "useEffect", "useRef", "useState", "TimeoutError", "useActiveSpace", "StatusBar", "ConnectionState", "useNetworkStatus", "Icon", "styles", "success", "warning", "error", "ErrorIndicator", "forceUpdate", "useState", "errorRef", "useRef", "useEffect", "errorListener", "event", "error", "reason", "current", "window", "addEventListener", "removeEventListener", "handleReset", "undefined", "React", "StatusBar", "Button", "title", "message", "onClick", "Icon", "icon", "size", "classNames", "styles", "Item", "SwarmIndicator", "state", "setState", "swarm", "useNetworkStatus", "ConnectionState", "ONLINE", "warning", "SavingIndicator", "_setState", "_space", "useActiveSpace", "success", "indicators", "DebugStatus", "map", "Indicator", "key", "name", "React", "useResizeDetector", "fullyQualifiedId", "useAttentionAttributes", "SyntaxHighlighter", "mx", "Wireframe", "classNames", "label", "object", "attentionAttrs", "useAttentionAttributes", "fullyQualifiedId", "width", "height", "ref", "useResizeDetector", "React", "div", "className", "mx", "SyntaxHighlighter", "language", "JSON", "stringify", "undefined", "svg", "rect", "x", "y", "strokeWidth", "fill", "line", "x1", "y1", "x2", "y2", "DebugApp", "lazy", "DevtoolsOverviewContainer", "SpaceGenerator", "isSpaceDebug", "data", "type", "DEBUG_PLUGIN", "isSpace", "space", "isGraphDebug", "graph", "Graph", "useCurrentSpace", "layout", "useCapability", "Capabilities", "Layout", "client", "ClientCapabilities", "Client", "spaceId", "parseId", "workspace", "spaces", "get", "undefined", "context", "contributes", "ReactSurface", "createSurface", "id", "role", "filter", "subject", "SettingsStore", "prefix", "component", "React", "DebugSettings", "settings", "value", "dispatchPromise", "dispatch", "useIntentDispatcher", "handleCreateObject", "useCallback", "objects", "collection", "state", "SpaceState", "SPACE_READY", "properties", "DataType", "Collection", "typename", "target", "Obj", "instanceOf", "forEach", "object", "createIntent", "SpaceAction", "AddObject", "StackItem", "Content", "SpaceGenerator", "onCreateObjects", "DebugApp", "position", "getCapability", "getStore", "isObject", "wireframe", "Wireframe", "label", "name", "classNames", "companionTo", "DebugObjectPanel", "DevtoolsOverviewContainer", "DebugStatus", "Devtools", "Config", "ConfigPanel", "vaultSelector", "Storage", "StoragePanel", "Logs", "LoggingPanel", "Diagnostics", "DiagnosticsPanel", "Tracing", "TracingPanel", "Halo", "Identity", "IdentityPanel", "Devices", "DeviceListPanel", "Keyring", "KeyringPanel", "Credentials", "CredentialsPanel", "Echo", "Spaces", "handleSelect", "LayoutAction", "Open", "part", "Space", "SpaceListPanel", "onSelect", "Feeds", "SpaceInfoPanel", "onSelectFeed", "onSelectPipeline", "FeedsPanel", "Objects", "ObjectsPanel", "Schema", "SchemaPanel", "Automerge", "AutomergePanel", "Queues", "QueuesPanel", "Members", "MembersPanel", "Metadata", "MetadataPanel", "Mesh", "Signal", "SignalPanel", "Swarm", "SwarmPanel", "Network", "NetworkPanel", "Edge", "Dashboard", "EdgeDashboardPanel", "Workflows", "WorkflowPanel", "Traces", "InvocationTraceContainer", "detailAxis", "Testing", "onSpaceCreate", "waitUntilReady", "Migrate", "db", "flush", "onScriptPluginOpen", "result", "pipe", "ScriptAction", "Create", "chain", "log", "info", "TestingPanel"]
7
- }
@@ -1,22 +0,0 @@
1
- import {
2
- DebugSettingsSchema
3
- } from "./chunk-AJA6RYN3.mjs";
4
- import {
5
- meta
6
- } from "./chunk-5XPIRNQS.mjs";
7
-
8
- // src/capabilities/settings.ts
9
- import { Capabilities, contributes } from "@dxos/app-framework";
10
- import { live } from "@dxos/live-object";
11
- var settings_default = () => {
12
- const settings = live({});
13
- return contributes(Capabilities.Settings, {
14
- prefix: meta.id,
15
- schema: DebugSettingsSchema,
16
- value: settings
17
- });
18
- };
19
- export {
20
- settings_default as default
21
- };
22
- //# sourceMappingURL=settings-LSSWLM5I.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/settings.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { live } from '@dxos/live-object';\n\nimport { meta } from '../meta';\nimport { type DebugSettingsProps, DebugSettingsSchema } from '../types';\n\nexport default () => {\n const settings = live<DebugSettingsProps>({});\n\n return contributes(Capabilities.Settings, {\n prefix: meta.id,\n schema: DebugSettingsSchema,\n value: settings,\n });\n};\n"],
5
- "mappings": ";;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AAKrB,IAAA,mBAAe,MAAA;AACb,QAAMC,WAAWC,KAAyB,CAAC,CAAA;AAE3C,SAAOC,YAAYC,aAAaC,UAAU;IACxCC,QAAQC,KAAKC;IACbC,QAAQC;IACRC,OAAOV;EACT,CAAA;AACF;",
6
- "names": ["Capabilities", "contributes", "live", "settings", "live", "contributes", "Capabilities", "Settings", "prefix", "meta", "id", "schema", "DebugSettingsSchema", "value"]
7
- }
@@ -1,227 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
-
3
- // src/components/DebugApp/DebugApp.tsx
4
- import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
5
- import { Gauge, Graph as GraphIcon, Gear, Toolbox, Warning } from "@phosphor-icons/react";
6
- import React3, { useEffect, useState as useState2 } from "react";
7
- import { useClient, useConfig } from "@dxos/react-client";
8
- import { Button, ToggleGroup, ToggleGroupItem, Toolbar } from "@dxos/react-ui";
9
- import { getSize, mx as mx2 } from "@dxos/react-ui-theme";
10
-
11
- // src/components/DebugApp/Tree.tsx
12
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
13
- import React, { useState } from "react";
14
- import { SyntaxHighlighter } from "@dxos/react-ui-syntax-highlighter";
15
- import { mx } from "@dxos/react-ui-theme";
16
- import { arrayToBuffer } from "@dxos/util";
17
- var replacer = (key, value) => {
18
- if (typeof value === "object") {
19
- if (value instanceof Uint8Array) {
20
- return arrayToBuffer(value).toString("hex");
21
- }
22
- if (value?.type === "Buffer") {
23
- return Buffer.from(value.data).toString("hex");
24
- }
25
- if (key === "downloaded") {
26
- return void 0;
27
- }
28
- }
29
- return value;
30
- };
31
- var Json = ({ data }) => {
32
- var _effect = _useSignals();
33
- try {
34
- return /* @__PURE__ */ React.createElement(SyntaxHighlighter, {
35
- language: "json"
36
- }, JSON.stringify(data, replacer, 2));
37
- } finally {
38
- _effect.f();
39
- }
40
- };
41
- var Tree = ({ data }) => {
42
- var _effect = _useSignals();
43
- try {
44
- return /* @__PURE__ */ React.createElement("div", {
45
- className: "p-2"
46
- }, /* @__PURE__ */ React.createElement(Node, {
47
- data,
48
- root: true
49
- }));
50
- } finally {
51
- _effect.f();
52
- }
53
- };
54
- var Node = ({ data, root }) => {
55
- var _effect = _useSignals();
56
- try {
57
- if (typeof data !== "object" || data === void 0 || data === null) {
58
- return /* @__PURE__ */ React.createElement(Scalar, {
59
- value: data
60
- });
61
- }
62
- if (Array.isArray(data)) {
63
- return /* @__PURE__ */ React.createElement("div", {
64
- className: "flex flex-col space-y-2"
65
- }, data.map((value, index) => /* @__PURE__ */ React.createElement(KeyValue, {
66
- key: index,
67
- label: String(index),
68
- data: value,
69
- className: "bg-teal-50"
70
- })));
71
- }
72
- return /* @__PURE__ */ React.createElement("div", {
73
- className: "flex flex-col space-y-2"
74
- }, Object.entries(data).map(([key, value]) => /* @__PURE__ */ React.createElement(KeyValue, {
75
- key,
76
- label: key,
77
- data: value,
78
- className: "bg-blue-50"
79
- })));
80
- } finally {
81
- _effect.f();
82
- }
83
- };
84
- var KeyValue = ({ label, data, className }) => {
85
- var _effect = _useSignals();
86
- try {
87
- const [open, setOpen] = useState(true);
88
- if (data === void 0) {
89
- return null;
90
- }
91
- return /* @__PURE__ */ React.createElement("div", {
92
- className: "flex"
93
- }, /* @__PURE__ */ React.createElement(Box, {
94
- className: mx("border-blue-200 text-sm select-none cursor-pointer", className),
95
- onClick: () => setOpen((open2) => !open2)
96
- }, label), open && /* @__PURE__ */ React.createElement(Node, {
97
- data
98
- }));
99
- } finally {
100
- _effect.f();
101
- }
102
- };
103
- var Scalar = ({ value }) => {
104
- var _effect = _useSignals();
105
- try {
106
- return /* @__PURE__ */ React.createElement(Box, {
107
- className: "bg-green-50 border-green-200 rounded-r text-sm font-thin"
108
- }, value === void 0 && "undefined" || value === null && "null" || typeof value === "string" && value || JSON.stringify(value));
109
- } finally {
110
- _effect.f();
111
- }
112
- };
113
- var Box = ({ children, className, ...props }) => {
114
- var _effect = _useSignals();
115
- try {
116
- return /* @__PURE__ */ React.createElement("div", {
117
- className: mx("flex px-2 border border-l-0 font-mono truncate", className),
118
- ...props
119
- }, children);
120
- } finally {
121
- _effect.f();
122
- }
123
- };
124
-
125
- // src/components/Container.tsx
126
- import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
127
- import React2 from "react";
128
- var Container = ({ toolbar, children }) => {
129
- var _effect = _useSignals2();
130
- try {
131
- return /* @__PURE__ */ React2.createElement("div", {
132
- role: "none",
133
- className: "flex flex-col grow overflow-hidden divide-y divide-separator"
134
- }, toolbar, /* @__PURE__ */ React2.createElement("div", {
135
- className: "flex flex-col grow overflow-auto"
136
- }, children));
137
- } finally {
138
- _effect.f();
139
- }
140
- };
141
-
142
- // src/components/DebugApp/DebugApp.tsx
143
- var DebugApp = ({ graph }) => {
144
- var _effect = _useSignals3();
145
- try {
146
- const [view, setView] = useState2("graph");
147
- const [data, setData] = useState2({});
148
- const client = useClient();
149
- const config = useConfig();
150
- const handleRefresh = async () => {
151
- const data2 = await client.diagnostics({
152
- truncate: true
153
- });
154
- setData(data2);
155
- };
156
- useEffect(() => {
157
- void handleRefresh();
158
- }, []);
159
- const handleResetClient = async (force = false) => {
160
- if (!force && !window.confirm("Reset storage?")) {
161
- return;
162
- }
163
- await client.reset();
164
- window.location.href = window.location.origin;
165
- };
166
- const handleOpenDevtools = () => {
167
- const vaultUrl = config.values?.runtime?.client?.remoteSource;
168
- if (vaultUrl) {
169
- window.open(`https://devtools.dev.dxos.org/?target=${vaultUrl}`);
170
- }
171
- };
172
- return /* @__PURE__ */ React3.createElement(Container, {
173
- toolbar: /* @__PURE__ */ React3.createElement(Toolbar.Root, {
174
- classNames: "p-1"
175
- }, /* @__PURE__ */ React3.createElement(ToggleGroup, {
176
- type: "single",
177
- value: view
178
- }, /* @__PURE__ */ React3.createElement(ToggleGroupItem, {
179
- value: "graph",
180
- onClick: () => setView("graph"),
181
- title: "Plugin graph"
182
- }, /* @__PURE__ */ React3.createElement(GraphIcon, {
183
- className: getSize(5)
184
- })), /* @__PURE__ */ React3.createElement(ToggleGroupItem, {
185
- value: "diagnostics",
186
- onClick: () => setView("diagnostics"),
187
- title: "Diagnostics"
188
- }, /* @__PURE__ */ React3.createElement(Gauge, {
189
- className: getSize(5)
190
- })), /* @__PURE__ */ React3.createElement(ToggleGroupItem, {
191
- value: "config",
192
- onClick: () => setView("config"),
193
- title: "Config"
194
- }, /* @__PURE__ */ React3.createElement(Gear, {
195
- className: getSize(5)
196
- }))), /* @__PURE__ */ React3.createElement(Toolbar.Separator, {
197
- variant: "gap"
198
- }), /* @__PURE__ */ React3.createElement(Button, {
199
- onClick: (event) => handleResetClient(event.shiftKey),
200
- title: "Reset client"
201
- }, /* @__PURE__ */ React3.createElement(Warning, {
202
- className: mx2(getSize(5), "text-red-700")
203
- })), /* @__PURE__ */ React3.createElement(Button, {
204
- onClick: handleOpenDevtools,
205
- title: "Open Devtools"
206
- }, /* @__PURE__ */ React3.createElement(Toolbox, {
207
- weight: "duotone",
208
- className: mx2(getSize(5), "text-700")
209
- })))
210
- }, view === "graph" && /* @__PURE__ */ React3.createElement(Tree, {
211
- data: graph.toJSON()
212
- }), view === "config" && /* @__PURE__ */ React3.createElement(Json, {
213
- data: data.diagnostics?.config
214
- }), view === "diagnostics" && /* @__PURE__ */ React3.createElement(Json, {
215
- data
216
- }));
217
- } finally {
218
- _effect.f();
219
- }
220
- };
221
-
222
- // src/components/DebugApp/index.ts
223
- var DebugApp_default = DebugApp;
224
- export {
225
- DebugApp_default as default
226
- };
227
- //# sourceMappingURL=DebugApp-B2TUPIX6.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/DebugApp/DebugApp.tsx", "../../../src/components/DebugApp/Tree.tsx", "../../../src/components/Container.tsx", "../../../src/components/DebugApp/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Gauge, Graph as GraphIcon, Gear, Toolbox, Warning } from '@phosphor-icons/react';\nimport React, { type FC, useEffect, useState } from 'react';\n\nimport { type Graph } from '@dxos/plugin-graph';\nimport { useClient, useConfig } from '@dxos/react-client';\nimport { Button, ToggleGroup, ToggleGroupItem, Toolbar } from '@dxos/react-ui';\nimport { getSize, mx } from '@dxos/react-ui-theme';\n\nimport { Json, Tree } from './Tree';\nimport { Container } from '../Container';\n\nexport const DebugApp: FC<{ graph: Graph }> = ({ graph }) => {\n const [view, setView] = useState<'config' | 'diagnostics' | 'graph'>('graph');\n const [data, setData] = useState<any>({});\n const client = useClient();\n const config = useConfig();\n const handleRefresh = async () => {\n const data = await client.diagnostics({ truncate: true });\n setData(data);\n };\n useEffect(() => {\n void handleRefresh();\n }, []);\n\n const handleResetClient = async (force = false) => {\n if (!force && !window.confirm('Reset storage?')) {\n return;\n }\n\n // TODO(burdon): Throws exception.\n await client.reset();\n window.location.href = window.location.origin;\n };\n\n const handleOpenDevtools = () => {\n const vaultUrl = config.values?.runtime?.client?.remoteSource;\n if (vaultUrl) {\n window.open(`https://devtools.dev.dxos.org/?target=${vaultUrl}`);\n }\n };\n\n return (\n <Container\n toolbar={\n <Toolbar.Root classNames='p-1'>\n <ToggleGroup type='single' value={view}>\n <ToggleGroupItem value={'graph'} onClick={() => setView('graph')} title={'Plugin graph'}>\n <GraphIcon className={getSize(5)} />\n </ToggleGroupItem>\n <ToggleGroupItem value={'diagnostics'} onClick={() => setView('diagnostics')} title={'Diagnostics'}>\n <Gauge className={getSize(5)} />\n </ToggleGroupItem>\n <ToggleGroupItem value={'config'} onClick={() => setView('config')} title={'Config'}>\n <Gear className={getSize(5)} />\n </ToggleGroupItem>\n </ToggleGroup>\n\n <Toolbar.Separator variant='gap' />\n <Button onClick={(event) => handleResetClient(event.shiftKey)} title='Reset client'>\n <Warning className={mx(getSize(5), 'text-red-700')} />\n </Button>\n <Button onClick={handleOpenDevtools} title='Open Devtools'>\n <Toolbox weight='duotone' className={mx(getSize(5), 'text-700')} />\n </Button>\n </Toolbar.Root>\n }\n >\n {view === 'graph' && <Tree data={graph.toJSON()} />}\n {view === 'config' && <Json data={data.diagnostics?.config} />}\n {view === 'diagnostics' && <Json data={data} />}\n </Container>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type FC, type HTMLAttributes, useState } from 'react';\n\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { mx } from '@dxos/react-ui-theme';\nimport { arrayToBuffer } from '@dxos/util';\n\n// TODO(burdon): Copied form devtools.\n\nexport const replacer = (key: any, value: any) => {\n if (typeof value === 'object') {\n if (value instanceof Uint8Array) {\n return arrayToBuffer(value).toString('hex');\n }\n\n if (value?.type === 'Buffer') {\n return Buffer.from(value.data).toString('hex');\n }\n\n if (key === 'downloaded') {\n return undefined;\n }\n }\n\n return value;\n};\n\nexport const Json: FC<{ data?: object }> = ({ data }) => {\n return <SyntaxHighlighter language='json'>{JSON.stringify(data, replacer, 2)}</SyntaxHighlighter>;\n};\n\nexport const Tree: FC<{ data?: object }> = ({ data }) => {\n return (\n <div className='p-2'>\n <Node data={data} root />\n </div>\n );\n};\n\nexport const Node: FC<{ data?: any; root?: boolean }> = ({ data, root }) => {\n if (typeof data !== 'object' || data === undefined || data === null) {\n return <Scalar value={data} />;\n }\n\n if (Array.isArray(data)) {\n return (\n <div className='flex flex-col space-y-2'>\n {data.map((value, index) => (\n <KeyValue key={index} label={String(index)} data={value} className='bg-teal-50' />\n ))}\n </div>\n );\n }\n\n return (\n <div className='flex flex-col space-y-2'>\n {Object.entries(data).map(([key, value]) => (\n <KeyValue key={key} label={key} data={value} className='bg-blue-50' />\n ))}\n </div>\n );\n};\n\nexport const KeyValue: FC<{ label: string; data?: any; className?: string }> = ({ label, data, className }) => {\n const [open, setOpen] = useState(true);\n if (data === undefined) {\n return null;\n }\n\n return (\n <div className='flex'>\n <Box\n className={mx('border-blue-200 text-sm select-none cursor-pointer', className)}\n onClick={() => setOpen((open) => !open)}\n >\n {label}\n </Box>\n {open && <Node data={data} />}\n </div>\n );\n};\n\nconst Scalar: FC<{ value: any }> = ({ value }) => {\n return (\n <Box className='bg-green-50 border-green-200 rounded-r text-sm font-thin'>\n {(value === undefined && 'undefined') ||\n (value === null && 'null') ||\n (typeof value === 'string' && value) ||\n JSON.stringify(value)}\n </Box>\n );\n};\n\nconst Box: FC<HTMLAttributes<HTMLDivElement>> = ({ children, className, ...props }) => {\n return (\n <div className={mx('flex px-2 border border-l-0 font-mono truncate', className)} {...props}>\n {children}\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type PropsWithChildren, type ReactNode } from 'react';\n\n// TODO(burdon): Convert to grid.\nexport const Container = ({ toolbar, children }: PropsWithChildren<{ toolbar: ReactNode }>) => {\n return (\n <div role='none' className='flex flex-col grow overflow-hidden divide-y divide-separator'>\n {toolbar}\n <div className='flex flex-col grow overflow-auto'>{children}</div>\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { DebugApp } from './DebugApp';\n\nexport default DebugApp;\n"],
5
- "mappings": "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",
6
- "names": ["Gauge", "Graph", "GraphIcon", "Gear", "Toolbox", "Warning", "React", "useEffect", "useState", "useClient", "useConfig", "Button", "ToggleGroup", "ToggleGroupItem", "Toolbar", "getSize", "mx", "React", "useState", "SyntaxHighlighter", "mx", "arrayToBuffer", "replacer", "key", "value", "Uint8Array", "arrayToBuffer", "toString", "type", "Buffer", "from", "data", "undefined", "Json", "SyntaxHighlighter", "language", "JSON", "stringify", "Tree", "div", "className", "Node", "root", "Scalar", "Array", "isArray", "map", "index", "KeyValue", "label", "String", "Object", "entries", "open", "setOpen", "useState", "Box", "mx", "onClick", "children", "props", "React", "Container", "toolbar", "children", "React", "div", "role", "className", "DebugApp", "graph", "view", "setView", "useState", "data", "setData", "client", "useClient", "config", "useConfig", "handleRefresh", "diagnostics", "truncate", "useEffect", "handleResetClient", "force", "window", "confirm", "reset", "location", "href", "origin", "handleOpenDevtools", "vaultUrl", "values", "runtime", "remoteSource", "open", "React", "Container", "toolbar", "Toolbar", "Root", "classNames", "ToggleGroup", "type", "value", "ToggleGroupItem", "onClick", "title", "GraphIcon", "className", "getSize", "Gauge", "Gear", "Separator", "variant", "Button", "event", "shiftKey", "Warning", "mx", "Toolbox", "weight", "Tree", "toJSON", "Json", "DebugApp"]
7
- }
@@ -1,27 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
-
3
- // src/components/DevtoolsOverviewContainer.tsx
4
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
5
- import React from "react";
6
- import { Surface } from "@dxos/app-framework";
7
- import { StatsPanel, useStats } from "@dxos/devtools";
8
- var DevtoolsOverviewContainer = () => {
9
- var _effect = _useSignals();
10
- try {
11
- const [stats, refreshStats] = useStats();
12
- return /* @__PURE__ */ React.createElement(StatsPanel, {
13
- stats,
14
- onRefresh: refreshStats
15
- }, /* @__PURE__ */ React.createElement(Surface, {
16
- role: "devtools-overview"
17
- }));
18
- } finally {
19
- _effect.f();
20
- }
21
- };
22
- var DevtoolsOverviewContainer_default = DevtoolsOverviewContainer;
23
- export {
24
- DevtoolsOverviewContainer,
25
- DevtoolsOverviewContainer_default as default
26
- };
27
- //# sourceMappingURL=DevtoolsOverviewContainer-K622ZTH2.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/DevtoolsOverviewContainer.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Surface } from '@dxos/app-framework';\nimport { StatsPanel, useStats } from '@dxos/devtools';\n\nexport const DevtoolsOverviewContainer = () => {\n const [stats, refreshStats] = useStats();\n\n return (\n <StatsPanel stats={stats} onRefresh={refreshStats}>\n <Surface role='devtools-overview' />\n </StatsPanel>\n );\n};\n\nexport default DevtoolsOverviewContainer;\n"],
5
- "mappings": ";;;;AAIA,OAAOA,WAAW;AAElB,SAASC,eAAe;AACxB,SAASC,YAAYC,gBAAgB;AAE9B,IAAMC,4BAA4B,MAAA;;;AACvC,UAAM,CAACC,OAAOC,YAAAA,IAAgBC,SAAAA;AAE9B,WACE,sBAAA,cAACC,YAAAA;MAAWH;MAAcI,WAAWH;OACnC,sBAAA,cAACI,SAAAA;MAAQC,MAAK;;;;;AAGpB;AAEA,IAAA,oCAAeP;",
6
- "names": ["React", "Surface", "StatsPanel", "useStats", "DevtoolsOverviewContainer", "stats", "refreshStats", "useStats", "StatsPanel", "onRefresh", "Surface", "role"]
7
- }