@dxos/plugin-debug 0.8.4-main.5ea62a8 → 0.8.4-main.ae835ea

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 (56) hide show
  1. package/dist/lib/browser/{SpaceGenerator-C7XYY4YG.mjs → SpaceGenerator-7Q7CX64P.mjs} +226 -47
  2. package/dist/lib/browser/SpaceGenerator-7Q7CX64P.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-builder-JTIEFOWZ.mjs → app-graph-builder-RXWTHLEW.mjs} +57 -56
  4. package/dist/lib/browser/app-graph-builder-RXWTHLEW.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-AJA6RYN3.mjs → chunk-SRV2AIGJ.mjs} +2 -2
  6. package/dist/lib/browser/chunk-SRV2AIGJ.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-WZFZ4ESO.mjs +20 -0
  8. package/dist/lib/browser/chunk-WZFZ4ESO.mjs.map +7 -0
  9. package/dist/lib/browser/index.mjs +10 -13
  10. package/dist/lib/browser/index.mjs.map +3 -3
  11. package/dist/lib/browser/meta.json +1 -1
  12. package/dist/lib/browser/{react-context-NVAGLAJD.mjs → react-context-P2YDWEWI.mjs} +6 -6
  13. package/dist/lib/browser/react-context-P2YDWEWI.mjs.map +7 -0
  14. package/dist/lib/browser/{react-surface-446ZZTL6.mjs → react-surface-4XGZUT3Z.mjs} +59 -60
  15. package/dist/lib/browser/react-surface-4XGZUT3Z.mjs.map +7 -0
  16. package/dist/lib/browser/{settings-LSSWLM5I.mjs → settings-SQXR3OAH.mjs} +5 -5
  17. package/dist/lib/browser/{settings-LSSWLM5I.mjs.map → settings-SQXR3OAH.mjs.map} +1 -1
  18. package/dist/types/src/DebugPlugin.d.ts +1 -1
  19. package/dist/types/src/DebugPlugin.d.ts.map +1 -1
  20. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  21. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  22. package/dist/types/src/components/DebugObjectPanel.d.ts.map +1 -1
  23. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts +2 -2
  24. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts.map +1 -1
  25. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.stories.d.ts +0 -1
  26. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.stories.d.ts.map +1 -1
  27. package/dist/types/src/components/SpaceGenerator/presets.d.ts +5 -31
  28. package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -1
  29. package/dist/types/src/meta.d.ts +0 -1
  30. package/dist/types/src/meta.d.ts.map +1 -1
  31. package/dist/types/src/types.d.ts +1 -1
  32. package/dist/types/src/types.d.ts.map +1 -1
  33. package/dist/types/tsconfig.tsbuildinfo +1 -1
  34. package/package.json +65 -63
  35. package/src/DebugPlugin.tsx +5 -6
  36. package/src/capabilities/app-graph-builder.ts +53 -52
  37. package/src/capabilities/react-context.tsx +2 -2
  38. package/src/capabilities/react-surface.tsx +42 -41
  39. package/src/components/DebugObjectPanel.tsx +2 -4
  40. package/src/components/DebugSettings.tsx +4 -4
  41. package/src/components/DebugStatus.tsx +2 -2
  42. package/src/components/SpaceGenerator/ObjectGenerator.tsx +16 -22
  43. package/src/components/SpaceGenerator/SpaceGenerator.stories.tsx +3 -5
  44. package/src/components/SpaceGenerator/SpaceGenerator.tsx +4 -4
  45. package/src/components/SpaceGenerator/draw-util.ts +2 -2
  46. package/src/components/SpaceGenerator/presets.ts +177 -12
  47. package/src/components/Wireframe.tsx +1 -1
  48. package/src/meta.ts +6 -5
  49. package/src/types.ts +1 -1
  50. package/dist/lib/browser/SpaceGenerator-C7XYY4YG.mjs.map +0 -7
  51. package/dist/lib/browser/app-graph-builder-JTIEFOWZ.mjs.map +0 -7
  52. package/dist/lib/browser/chunk-5XPIRNQS.mjs +0 -18
  53. package/dist/lib/browser/chunk-5XPIRNQS.mjs.map +0 -7
  54. package/dist/lib/browser/chunk-AJA6RYN3.mjs.map +0 -7
  55. package/dist/lib/browser/react-context-NVAGLAJD.mjs.map +0 -7
  56. package/dist/lib/browser/react-surface-446ZZTL6.mjs.map +0 -7
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  Devtools
3
- } from "./chunk-AJA6RYN3.mjs";
3
+ } from "./chunk-SRV2AIGJ.mjs";
4
4
  import {
5
- DEBUG_PLUGIN
6
- } from "./chunk-5XPIRNQS.mjs";
5
+ meta
6
+ } from "./chunk-WZFZ4ESO.mjs";
7
7
 
8
8
  // src/capabilities/react-surface.tsx
9
- import { pipe } from "effect";
9
+ import * as Function from "effect/Function";
10
10
  import React5, { useCallback } from "react";
11
11
  import { Capabilities as Capabilities2, LayoutAction, chain, contributes, createIntent, createSurface, useCapability, useIntentDispatcher } from "@dxos/app-framework";
12
12
  import { AutomergePanel, ConfigPanel, CredentialsPanel, DeviceListPanel, DiagnosticsPanel, EdgeDashboardPanel, FeedsPanel, IdentityPanel, InvocationTraceContainer, KeyringPanel, LoggingPanel, MembersPanel, MetadataPanel, NetworkPanel, ObjectsPanel, QueuesPanel, SchemaPanel, SignalPanel, SpaceInfoPanel, SpaceListPanel, StoragePanel, SwarmPanel, TestingPanel, TracingPanel, WorkflowPanel } from "@dxos/devtools";
@@ -29,7 +29,7 @@ import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
29
29
  import React from "react";
30
30
  import { Clipboard, Input, Toolbar } from "@dxos/react-ui";
31
31
  import { StackItem } from "@dxos/react-ui-stack";
32
- import { SyntaxHighlighter } from "@dxos/react-ui-syntax-highlighter";
32
+ import { Json } from "@dxos/react-ui-syntax-highlighter";
33
33
  var DebugObjectPanel = ({ object }) => {
34
34
  var _effect = _useSignals();
35
35
  try {
@@ -41,10 +41,9 @@ var DebugObjectPanel = ({ object }) => {
41
41
  value: dxn
42
42
  }), /* @__PURE__ */ React.createElement(Clipboard.IconButton, {
43
43
  value: dxn
44
- }))), /* @__PURE__ */ React.createElement(SyntaxHighlighter, {
45
- classNames: "flex text-xs",
46
- language: "json"
47
- }, JSON.stringify(object, null, 2))));
44
+ }))), /* @__PURE__ */ React.createElement(Json, {
45
+ data: object
46
+ })));
48
47
  } finally {
49
48
  _effect.f();
50
49
  }
@@ -68,7 +67,7 @@ var StorageAdapters = {
68
67
  var DebugSettings = ({ settings }) => {
69
68
  var _effect = _useSignals2();
70
69
  try {
71
- const { t } = useTranslation(DEBUG_PLUGIN);
70
+ const { t } = useTranslation(meta.id);
72
71
  const [toast, setToast] = useState();
73
72
  const client = useClient();
74
73
  const download = useFileDownload();
@@ -92,9 +91,9 @@ var DebugSettings = ({ settings }) => {
92
91
  const fileName = `composer-${(/* @__PURE__ */ new Date()).toISOString().replace(/\W/g, "-")}.json`;
93
92
  download(file, fileName);
94
93
  if (upload) {
95
- const info = await upload(new File([
94
+ const info = await upload(client.spaces.default, new File([
96
95
  file
97
- ], fileName), client.spaces.default);
96
+ ], fileName));
98
97
  if (!info) {
99
98
  log.error("diagnostics failed to upload to IPFS", void 0, {
100
99
  F: __dxlog_file,
@@ -141,7 +140,7 @@ var DebugSettings = ({ settings }) => {
141
140
  };
142
141
  return /* @__PURE__ */ React2.createElement(ControlPage, null, /* @__PURE__ */ React2.createElement(ControlSection, {
143
142
  title: t("settings title", {
144
- ns: DEBUG_PLUGIN
143
+ ns: meta.id
145
144
  })
146
145
  }, /* @__PURE__ */ React2.createElement(ControlGroup, null, /* @__PURE__ */ React2.createElement(ControlItemInput, {
147
146
  title: t("settings wireframe")
@@ -217,7 +216,7 @@ var ErrorIndicator = () => {
217
216
  var _effect = _useSignals3();
218
217
  try {
219
218
  const [, forceUpdate] = useState2({});
220
- const errorRef = useRef();
219
+ const errorRef = useRef(null);
221
220
  useEffect2(() => {
222
221
  const errorListener = (event) => {
223
222
  const error = event.error ?? event.reason;
@@ -234,7 +233,7 @@ var ErrorIndicator = () => {
234
233
  };
235
234
  }, []);
236
235
  const handleReset = () => {
237
- errorRef.current = void 0;
236
+ errorRef.current = null;
238
237
  forceUpdate({});
239
238
  };
240
239
  if (errorRef.current) {
@@ -345,7 +344,7 @@ import React4 from "react";
345
344
  import { useResizeDetector } from "react-resize-detector";
346
345
  import { fullyQualifiedId } from "@dxos/react-client/echo";
347
346
  import { useAttentionAttributes } from "@dxos/react-ui-attention";
348
- import { SyntaxHighlighter as SyntaxHighlighter2 } from "@dxos/react-ui-syntax-highlighter";
347
+ import { SyntaxHighlighter } from "@dxos/react-ui-syntax-highlighter";
349
348
  import { mx } from "@dxos/react-ui-theme";
350
349
  var Wireframe = ({ classNames, label, object }) => {
351
350
  var _effect = _useSignals4();
@@ -360,9 +359,9 @@ var Wireframe = ({ classNames, label, object }) => {
360
359
  className: "absolute inset-2 flex flex-col gap-2 overflow-hidden font-mono"
361
360
  }, /* @__PURE__ */ React4.createElement("div", {
362
361
  className: "flex justify-between"
363
- }, /* @__PURE__ */ React4.createElement("div", null, label), /* @__PURE__ */ React4.createElement("div", null, `[${width}x${height}]`)), object && /* @__PURE__ */ React4.createElement(SyntaxHighlighter2, {
362
+ }, /* @__PURE__ */ React4.createElement("div", null, label), /* @__PURE__ */ React4.createElement("div", null, `[${width}x${height}]`)), object && /* @__PURE__ */ React4.createElement(SyntaxHighlighter, {
364
363
  language: "json",
365
- classNames: "flex w-full text-xs opacity-75 rounded"
364
+ classNames: "text-xs opacity-75 rounded"
366
365
  }, JSON.stringify(object, void 0, 2))), /* @__PURE__ */ React4.createElement("svg", {
367
366
  width,
368
367
  height,
@@ -395,11 +394,11 @@ var Wireframe = ({ classNames, label, object }) => {
395
394
  // src/components/index.ts
396
395
  var DebugGraph = lazy(() => import("./DebugGraph-EDOH6R2G.mjs"));
397
396
  var DevtoolsOverviewContainer = lazy(() => import("./DevtoolsOverviewContainer-EPD6EWT5.mjs"));
398
- var SpaceGenerator = lazy(() => import("./SpaceGenerator-C7XYY4YG.mjs"));
397
+ var SpaceGenerator = lazy(() => import("./SpaceGenerator-7Q7CX64P.mjs"));
399
398
 
400
399
  // src/capabilities/react-surface.tsx
401
400
  var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-debug/src/capabilities/react-surface.tsx";
402
- var isSpaceDebug = (data) => data?.type === `${DEBUG_PLUGIN}/space` && isSpace(data.space);
401
+ var isSpaceDebug = (data) => data?.type === `${meta.id}/space` && isSpace(data.space);
403
402
  var isGraphDebug = (data) => data?.graph instanceof Graph && typeof data?.root === "string";
404
403
  var useCurrentSpace = () => {
405
404
  const layout = useCapability(Capabilities2.Layout);
@@ -408,17 +407,17 @@ var useCurrentSpace = () => {
408
407
  const space = spaceId ? client.spaces.get(spaceId) : void 0;
409
408
  return space;
410
409
  };
411
- var react_surface_default = (context) => contributes(Capabilities2.ReactSurface, [
410
+ var react_surface_default = ((context) => contributes(Capabilities2.ReactSurface, [
412
411
  createSurface({
413
- id: `${DEBUG_PLUGIN}/plugin-settings`,
412
+ id: `${meta.id}/plugin-settings`,
414
413
  role: "article",
415
- filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === DEBUG_PLUGIN,
414
+ filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === meta.id,
416
415
  component: ({ data: { subject } }) => /* @__PURE__ */ React5.createElement(DebugSettings, {
417
416
  settings: subject.value
418
417
  })
419
418
  }),
420
419
  createSurface({
421
- id: `${DEBUG_PLUGIN}/space`,
420
+ id: `${meta.id}/space`,
422
421
  role: "article",
423
422
  filter: (data) => isSpaceDebug(data.subject),
424
423
  component: ({ data }) => {
@@ -447,7 +446,7 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
447
446
  }
448
447
  }),
449
448
  createSurface({
450
- id: `${DEBUG_PLUGIN}/graph`,
449
+ id: `${meta.id}/app-graph`,
451
450
  role: "article",
452
451
  filter: (data) => isGraphDebug(data.subject),
453
452
  component: ({ data }) => /* @__PURE__ */ React5.createElement(DebugGraph, {
@@ -456,14 +455,14 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
456
455
  })
457
456
  }),
458
457
  createSurface({
459
- id: `${DEBUG_PLUGIN}/wireframe`,
458
+ id: `${meta.id}/wireframe`,
460
459
  role: [
461
460
  "article",
462
461
  "section"
463
462
  ],
464
463
  position: "hoist",
465
464
  filter: (data) => {
466
- const settings = context.getCapability(Capabilities2.SettingsStore).getStore(DEBUG_PLUGIN).value;
465
+ const settings = context.getCapability(Capabilities2.SettingsStore).getStore(meta.id).value;
467
466
  return Obj.isObject(data.subject) && !!settings.wireframe;
468
467
  },
469
468
  component: ({ data, role }) => /* @__PURE__ */ React5.createElement(Wireframe, {
@@ -473,7 +472,7 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
473
472
  })
474
473
  }),
475
474
  createSurface({
476
- id: `${DEBUG_PLUGIN}/object-debug`,
475
+ id: `${meta.id}/object-debug`,
477
476
  role: "article",
478
477
  filter: (data) => data.subject === "debug" && Obj.isObject(data.companionTo),
479
478
  component: ({ data }) => /* @__PURE__ */ React5.createElement(DebugObjectPanel, {
@@ -481,12 +480,12 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
481
480
  })
482
481
  }),
483
482
  createSurface({
484
- id: `${DEBUG_PLUGIN}/devtools-overview`,
483
+ id: `${meta.id}/devtools-overview`,
485
484
  role: "deck-companion--devtools",
486
485
  component: () => /* @__PURE__ */ React5.createElement(DevtoolsOverviewContainer, null)
487
486
  }),
488
487
  createSurface({
489
- id: `${DEBUG_PLUGIN}/status`,
488
+ id: `${meta.id}/status`,
490
489
  role: "status",
491
490
  component: () => /* @__PURE__ */ React5.createElement(DebugStatus, null)
492
491
  }),
@@ -494,7 +493,7 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
494
493
  // Devtools
495
494
  //
496
495
  createSurface({
497
- id: `${DEBUG_PLUGIN}/client/config`,
496
+ id: `${meta.id}/client/config`,
498
497
  role: "article",
499
498
  filter: (data) => data.subject === Devtools.Client.Config,
500
499
  component: () => /* @__PURE__ */ React5.createElement(ConfigPanel, {
@@ -502,49 +501,49 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
502
501
  })
503
502
  }),
504
503
  createSurface({
505
- id: `${DEBUG_PLUGIN}/client/storage`,
504
+ id: `${meta.id}/client/storage`,
506
505
  role: "article",
507
506
  filter: (data) => data.subject === Devtools.Client.Storage,
508
507
  component: () => /* @__PURE__ */ React5.createElement(StoragePanel, null)
509
508
  }),
510
509
  createSurface({
511
- id: `${DEBUG_PLUGIN}/client/logs`,
510
+ id: `${meta.id}/client/logs`,
512
511
  role: "article",
513
512
  filter: (data) => data.subject === Devtools.Client.Logs,
514
513
  component: () => /* @__PURE__ */ React5.createElement(LoggingPanel, null)
515
514
  }),
516
515
  createSurface({
517
- id: `${DEBUG_PLUGIN}/client/diagnostics`,
516
+ id: `${meta.id}/client/diagnostics`,
518
517
  role: "article",
519
518
  filter: (data) => data.subject === Devtools.Client.Diagnostics,
520
519
  component: () => /* @__PURE__ */ React5.createElement(DiagnosticsPanel, null)
521
520
  }),
522
521
  createSurface({
523
- id: `${DEBUG_PLUGIN}/client/tracing`,
522
+ id: `${meta.id}/client/tracing`,
524
523
  role: "article",
525
524
  filter: (data) => data.subject === Devtools.Client.Tracing,
526
525
  component: () => /* @__PURE__ */ React5.createElement(TracingPanel, null)
527
526
  }),
528
527
  createSurface({
529
- id: `${DEBUG_PLUGIN}/halo/identity`,
528
+ id: `${meta.id}/halo/identity`,
530
529
  role: "article",
531
530
  filter: (data) => data.subject === Devtools.Halo.Identity,
532
531
  component: () => /* @__PURE__ */ React5.createElement(IdentityPanel, null)
533
532
  }),
534
533
  createSurface({
535
- id: `${DEBUG_PLUGIN}/halo/devices`,
534
+ id: `${meta.id}/halo/devices`,
536
535
  role: "article",
537
536
  filter: (data) => data.subject === Devtools.Halo.Devices,
538
537
  component: () => /* @__PURE__ */ React5.createElement(DeviceListPanel, null)
539
538
  }),
540
539
  createSurface({
541
- id: `${DEBUG_PLUGIN}/halo/keyring`,
540
+ id: `${meta.id}/halo/keyring`,
542
541
  role: "article",
543
542
  filter: (data) => data.subject === Devtools.Halo.Keyring,
544
543
  component: () => /* @__PURE__ */ React5.createElement(KeyringPanel, null)
545
544
  }),
546
545
  createSurface({
547
- id: `${DEBUG_PLUGIN}/halo/credentials`,
546
+ id: `${meta.id}/halo/credentials`,
548
547
  role: "article",
549
548
  filter: (data) => data.subject === Devtools.Halo.Credentials,
550
549
  component: () => {
@@ -555,7 +554,7 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
555
554
  }
556
555
  }),
557
556
  createSurface({
558
- id: `${DEBUG_PLUGIN}/echo/spaces`,
557
+ id: `${meta.id}/echo/spaces`,
559
558
  role: "article",
560
559
  filter: (data) => data.subject === Devtools.Echo.Spaces,
561
560
  component: () => {
@@ -574,7 +573,7 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
574
573
  }
575
574
  }),
576
575
  createSurface({
577
- id: `${DEBUG_PLUGIN}/echo/space`,
576
+ id: `${meta.id}/echo/space`,
578
577
  role: "article",
579
578
  filter: (data) => data.subject === Devtools.Echo.Space,
580
579
  component: () => {
@@ -596,7 +595,7 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
596
595
  }
597
596
  }),
598
597
  createSurface({
599
- id: `${DEBUG_PLUGIN}/echo/feeds`,
598
+ id: `${meta.id}/echo/feeds`,
600
599
  role: "article",
601
600
  filter: (data) => data.subject === Devtools.Echo.Feeds,
602
601
  component: () => {
@@ -607,7 +606,7 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
607
606
  }
608
607
  }),
609
608
  createSurface({
610
- id: `${DEBUG_PLUGIN}/echo/objects`,
609
+ id: `${meta.id}/echo/objects`,
611
610
  role: "article",
612
611
  filter: (data) => data.subject === Devtools.Echo.Objects,
613
612
  component: () => {
@@ -618,7 +617,7 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
618
617
  }
619
618
  }),
620
619
  createSurface({
621
- id: `${DEBUG_PLUGIN}/echo/schema`,
620
+ id: `${meta.id}/echo/schema`,
622
621
  role: "article",
623
622
  filter: (data) => data.subject === Devtools.Echo.Schema,
624
623
  component: () => {
@@ -629,7 +628,7 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
629
628
  }
630
629
  }),
631
630
  createSurface({
632
- id: `${DEBUG_PLUGIN}/echo/automerge`,
631
+ id: `${meta.id}/echo/automerge`,
633
632
  role: "article",
634
633
  filter: (data) => data.subject === Devtools.Echo.Automerge,
635
634
  component: () => {
@@ -640,13 +639,13 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
640
639
  }
641
640
  }),
642
641
  createSurface({
643
- id: `${DEBUG_PLUGIN}/echo/queues`,
642
+ id: `${meta.id}/echo/queues`,
644
643
  role: "article",
645
644
  filter: (data) => data.subject === Devtools.Echo.Queues,
646
645
  component: () => /* @__PURE__ */ React5.createElement(QueuesPanel, null)
647
646
  }),
648
647
  createSurface({
649
- id: `${DEBUG_PLUGIN}/echo/members`,
648
+ id: `${meta.id}/echo/members`,
650
649
  role: "article",
651
650
  filter: (data) => data.subject === Devtools.Echo.Members,
652
651
  component: () => {
@@ -657,25 +656,25 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
657
656
  }
658
657
  }),
659
658
  createSurface({
660
- id: `${DEBUG_PLUGIN}/echo/metadata`,
659
+ id: `${meta.id}/echo/metadata`,
661
660
  role: "article",
662
661
  filter: (data) => data.subject === Devtools.Echo.Metadata,
663
662
  component: () => /* @__PURE__ */ React5.createElement(MetadataPanel, null)
664
663
  }),
665
664
  createSurface({
666
- id: `${DEBUG_PLUGIN}/mesh/signal`,
665
+ id: `${meta.id}/mesh/signal`,
667
666
  role: "article",
668
667
  filter: (data) => data.subject === Devtools.Mesh.Signal,
669
668
  component: () => /* @__PURE__ */ React5.createElement(SignalPanel, null)
670
669
  }),
671
670
  createSurface({
672
- id: `${DEBUG_PLUGIN}/mesh/swarm`,
671
+ id: `${meta.id}/mesh/swarm`,
673
672
  role: "article",
674
673
  filter: (data) => data.subject === Devtools.Mesh.Swarm,
675
674
  component: () => /* @__PURE__ */ React5.createElement(SwarmPanel, null)
676
675
  }),
677
676
  createSurface({
678
- id: `${DEBUG_PLUGIN}/mesh/network`,
677
+ id: `${meta.id}/mesh/network`,
679
678
  role: "article",
680
679
  filter: (data) => data.subject === Devtools.Mesh.Network,
681
680
  component: () => {
@@ -687,19 +686,19 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
687
686
  }),
688
687
  // TODO(wittjosiah): Remove?
689
688
  // createSurface({
690
- // id: `${DEBUG_PLUGIN}/agent/dashboard`,
689
+ // id: `${meta.id}/agent/dashboard`,
691
690
  // role: 'article',
692
691
  // filter: (data): data is any => data.subject === Devtools.Agent.Dashboard,
693
692
  // component: () => <DashboardPanel />,
694
693
  // }),
695
694
  createSurface({
696
- id: `${DEBUG_PLUGIN}/edge/dashboard`,
695
+ id: `${meta.id}/edge/dashboard`,
697
696
  role: "article",
698
697
  filter: (data) => data.subject === Devtools.Edge.Dashboard,
699
698
  component: () => /* @__PURE__ */ React5.createElement(EdgeDashboardPanel, null)
700
699
  }),
701
700
  createSurface({
702
- id: `${DEBUG_PLUGIN}/edge/workflows`,
701
+ id: `${meta.id}/edge/workflows`,
703
702
  role: "article",
704
703
  filter: (data) => data.subject === Devtools.Edge.Workflows,
705
704
  component: () => {
@@ -710,7 +709,7 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
710
709
  }
711
710
  }),
712
711
  createSurface({
713
- id: `${DEBUG_PLUGIN}/edge/traces`,
712
+ id: `${meta.id}/edge/traces`,
714
713
  role: "article",
715
714
  filter: (data) => data.subject === Devtools.Edge.Traces,
716
715
  component: () => {
@@ -722,7 +721,7 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
722
721
  }
723
722
  }),
724
723
  createSurface({
725
- id: `${DEBUG_PLUGIN}/edge/testing`,
724
+ id: `${meta.id}/edge/testing`,
726
725
  role: "article",
727
726
  filter: (data) => data.subject === Devtools.Edge.Testing,
728
727
  component: () => {
@@ -738,7 +737,7 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
738
737
  ]);
739
738
  const onScriptPluginOpen = useCallback(async (space) => {
740
739
  await space.waitUntilReady();
741
- const result = await dispatch(pipe(createIntent(ScriptAction.Create, {
740
+ const result = await dispatch(Function.pipe(createIntent(ScriptAction.CreateScript, {
742
741
  space
743
742
  }), chain(SpaceAction.AddObject, {
744
743
  target: space
@@ -747,7 +746,7 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
747
746
  result
748
747
  }, {
749
748
  F: __dxlog_file2,
750
- L: 388,
749
+ L: 389,
751
750
  S: void 0,
752
751
  C: (f, a) => f(...a)
753
752
  });
@@ -766,8 +765,8 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
766
765
  });
767
766
  }
768
767
  })
769
- ]);
768
+ ]));
770
769
  export {
771
770
  react_surface_default as default
772
771
  };
773
- //# sourceMappingURL=react-surface-446ZZTL6.mjs.map
772
+ //# sourceMappingURL=react-surface-4XGZUT3Z.mjs.map
@@ -0,0 +1,7 @@
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 * as Function from 'effect/Function';\nimport React, { useCallback } from 'react';\n\nimport {\n Capabilities,\n LayoutAction,\n type PluginContext,\n chain,\n contributes,\n createIntent,\n createSurface,\n useCapability,\n useIntentDispatcher,\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 { type Space, SpaceState, isSpace, parseId } from '@dxos/react-client/echo';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { DataType } from '@dxos/schema';\n\nimport {\n DebugGraph,\n DebugObjectPanel,\n DebugSettings,\n DebugStatus,\n DevtoolsOverviewContainer,\n SpaceGenerator,\n Wireframe,\n} from '../components';\nimport { meta } 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 root: string;\n};\n\nconst isSpaceDebug = (data: any): data is SpaceDebug => data?.type === `${meta.id}/space` && isSpace(data.space);\nconst isGraphDebug = (data: any): data is GraphDebug => data?.graph instanceof Graph && typeof data?.root === 'string';\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: `${meta.id}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<DebugSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === meta.id,\n component: ({ data: { subject } }) => <DebugSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${meta.id}/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: `${meta.id}/app-graph`,\n role: 'article',\n filter: (data): data is { subject: GraphDebug } => isGraphDebug(data.subject),\n component: ({ data }) => <DebugGraph graph={data.subject.graph} root={data.subject.root} />,\n }),\n createSurface({\n id: `${meta.id}/wireframe`,\n role: ['article', 'section'],\n position: 'hoist',\n filter: (data): data is { subject: Obj.Any } => {\n const settings = context.getCapability(Capabilities.SettingsStore).getStore<DebugSettingsProps>(meta.id)!.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: `${meta.id}/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: `${meta.id}/devtools-overview`,\n role: 'deck-companion--devtools',\n component: () => <DevtoolsOverviewContainer />,\n }),\n createSurface({\n id: `${meta.id}/status`,\n role: 'status',\n component: () => <DebugStatus />,\n }),\n\n //\n // Devtools\n //\n\n createSurface({\n id: `${meta.id}/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: `${meta.id}/client/storage`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Client.Storage,\n component: () => <StoragePanel />,\n }),\n createSurface({\n id: `${meta.id}/client/logs`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Client.Logs,\n component: () => <LoggingPanel />,\n }),\n createSurface({\n id: `${meta.id}/client/diagnostics`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Client.Diagnostics,\n component: () => <DiagnosticsPanel />,\n }),\n createSurface({\n id: `${meta.id}/client/tracing`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Client.Tracing,\n component: () => <TracingPanel />,\n }),\n createSurface({\n id: `${meta.id}/halo/identity`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Halo.Identity,\n component: () => <IdentityPanel />,\n }),\n createSurface({\n id: `${meta.id}/halo/devices`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Halo.Devices,\n component: () => <DeviceListPanel />,\n }),\n createSurface({\n id: `${meta.id}/halo/keyring`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Halo.Keyring,\n component: () => <KeyringPanel />,\n }),\n createSurface({\n id: `${meta.id}/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: `${meta.id}/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: `${meta.id}/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: `${meta.id}/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: `${meta.id}/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: `${meta.id}/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: `${meta.id}/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: `${meta.id}/echo/queues`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Echo.Queues,\n component: () => <QueuesPanel />,\n }),\n createSurface({\n id: `${meta.id}/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: `${meta.id}/echo/metadata`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Echo.Metadata,\n component: () => <MetadataPanel />,\n }),\n createSurface({\n id: `${meta.id}/mesh/signal`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Mesh.Signal,\n component: () => <SignalPanel />,\n }),\n createSurface({\n id: `${meta.id}/mesh/swarm`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Mesh.Swarm,\n component: () => <SwarmPanel />,\n }),\n createSurface({\n id: `${meta.id}/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: `${meta.id}/agent/dashboard`,\n // role: 'article',\n // filter: (data): data is any => data.subject === Devtools.Agent.Dashboard,\n // component: () => <DashboardPanel />,\n // }),\n createSurface({\n id: `${meta.id}/edge/dashboard`,\n role: 'article',\n filter: (data): data is any => data.subject === Devtools.Edge.Dashboard,\n component: () => <EdgeDashboardPanel />,\n }),\n createSurface({\n id: `${meta.id}/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: `${meta.id}/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: `${meta.id}/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 Function.pipe(\n createIntent(ScriptAction.CreateScript, { space }),\n chain(SpaceAction.AddObject, { target: space }),\n ),\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 DebugGraph = lazy(() => import('./DebugGraph'));\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 { Json } 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 <Json data={object} />\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, SaveConfig, Storage, defs } from '@dxos/config';\nimport { log } from '@dxos/log';\nimport { useClient } from '@dxos/react-client';\nimport { Button, Icon, Input, Select, Toast, useFileDownload, useTranslation } from '@dxos/react-ui';\nimport { ControlGroup, ControlItemInput, ControlPage, ControlSection } from '@dxos/react-ui-form';\nimport { setDeep } from '@dxos/util';\n\nimport { meta } 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(meta.id);\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(client.spaces.default, new File([file], fileName));\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 <ControlPage>\n <ControlSection title={t('settings title', { ns: meta.id })}>\n <ControlGroup>\n <ControlItemInput title={t('settings wireframe')}>\n <Input.Switch\n checked={settings.wireframe}\n onCheckedChange={(checked) => (settings.wireframe = !!checked)}\n />\n </ControlItemInput>\n <ControlItemInput title={t('settings download diagnostics')}>\n <Button onClick={handleDownload}>\n <Icon icon='ph--download-simple--regular' size={5} />\n </Button>\n </ControlItemInput>\n <ControlItemInput title={t('settings repair')}>\n <Button onClick={handleRepair}>\n <Icon icon='ph--first-aid-kit--regular' size={5} />\n </Button>\n </ControlItemInput>\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 <ControlItemInput title={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.Arrow />\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </ControlItemInput>\n </ControlGroup>\n </ControlSection>\n </ControlPage>\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>(null);\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 = null;\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\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='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": ["Function", "React", "useCallback", "Capabilities", "LayoutAction", "chain", "contributes", "createIntent", "createSurface", "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", "Json", "DebugObjectPanel", "object", "dxn", "id", "Clipboard", "Provider", "StackItem", "Content", "toolbar", "Toolbar", "Root", "Input", "TextInput", "disabled", "value", "IconButton", "Json", "data", "React", "useEffect", "useState", "Capabilities", "useCapabilities", "SaveConfig", "Storage", "defs", "log", "useClient", "Button", "Icon", "Input", "Select", "Toast", "useFileDownload", "useTranslation", "ControlGroup", "ControlItemInput", "ControlPage", "ControlSection", "setDeep", "StorageAdapters", "opfs", "defs", "Runtime", "Client", "Storage", "StorageDriver", "WEBFS", "idb", "IDB", "DebugSettings", "settings", "t", "useTranslation", "meta", "id", "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", "spaces", "default", "File", "log", "error", "title", "description", "url", "values", "runtime", "services", "ipfs", "gateway", "cid", "navigator", "clipboard", "writeText", "handleRepair", "repair", "err", "message", "React", "ControlPage", "ControlSection", "ns", "ControlGroup", "ControlItemInput", "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", "Arrow", "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", "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", "DebugGraph", "lazy", "DevtoolsOverviewContainer", "SpaceGenerator", "isSpaceDebug", "data", "type", "meta", "id", "isSpace", "space", "isGraphDebug", "graph", "Graph", "root", "useCurrentSpace", "layout", "useCapability", "Capabilities", "Layout", "client", "ClientCapabilities", "Client", "spaceId", "parseId", "workspace", "spaces", "get", "undefined", "context", "contributes", "ReactSurface", "createSurface", "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", "DebugGraph", "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", "CreateScript", "chain", "log", "info", "TestingPanel"]
7
+ }
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  DebugSettingsSchema
3
- } from "./chunk-AJA6RYN3.mjs";
3
+ } from "./chunk-SRV2AIGJ.mjs";
4
4
  import {
5
5
  meta
6
- } from "./chunk-5XPIRNQS.mjs";
6
+ } from "./chunk-WZFZ4ESO.mjs";
7
7
 
8
8
  // src/capabilities/settings.ts
9
9
  import { Capabilities, contributes } from "@dxos/app-framework";
10
10
  import { live } from "@dxos/live-object";
11
- var settings_default = () => {
11
+ var settings_default = (() => {
12
12
  const settings = live({});
13
13
  return contributes(Capabilities.Settings, {
14
14
  prefix: meta.id,
15
15
  schema: DebugSettingsSchema,
16
16
  value: settings
17
17
  });
18
- };
18
+ });
19
19
  export {
20
20
  settings_default as default
21
21
  };
22
- //# sourceMappingURL=settings-LSSWLM5I.mjs.map
22
+ //# sourceMappingURL=settings-SQXR3OAH.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/capabilities/settings.ts"],
4
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;",
5
+ "mappings": ";;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AAKrB,IAAA,oBAAe,MAAA;AACb,QAAMC,WAAWC,KAAyB,CAAC,CAAA;AAE3C,SAAOC,YAAYC,aAAaC,UAAU;IACxCC,QAAQC,KAAKC;IACbC,QAAQC;IACRC,OAAOV;EACT,CAAA;AACF;",
6
6
  "names": ["Capabilities", "contributes", "live", "settings", "live", "contributes", "Capabilities", "Settings", "prefix", "meta", "id", "schema", "DebugSettingsSchema", "value"]
7
7
  }
@@ -1,2 +1,2 @@
1
- export declare const DebugPlugin: () => import("@dxos/app-framework").Plugin;
1
+ export declare const DebugPlugin: import("@dxos/app-framework").PluginFactory<void>;
2
2
  //# sourceMappingURL=DebugPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DebugPlugin.d.ts","sourceRoot":"","sources":["../../../src/DebugPlugin.tsx"],"names":[],"mappings":"AAYA,eAAO,MAAM,WAAW,4CA8BvB,CAAC"}
1
+ {"version":3,"file":"DebugPlugin.d.ts","sourceRoot":"","sources":["../../../src/DebugPlugin.tsx"],"names":[],"mappings":"AAYA,eAAO,MAAM,WAAW,mDA6BtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAOA,OAAO,EAAgB,KAAK,aAAa,EAAe,MAAM,qBAAqB,CAAC;yBAWpE,SAAS,aAAa;AAAtC,wBA2ZK"}
1
+ {"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAQA,OAAO,EAAgB,KAAK,aAAa,EAAe,MAAM,qBAAqB,CAAC;yBAWpE,SAAS,aAAa;AAAtC,wBA2ZK"}
@@ -1 +1 @@
1
- {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,YAAY,EAEZ,KAAK,aAAa,EAOnB,MAAM,qBAAqB,CAAC;yBAyEb,SAAS,aAAa;AAAtC,wBAmTK"}
1
+ {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,YAAY,EAEZ,KAAK,aAAa,EAOnB,MAAM,qBAAqB,CAAC;yBAyEb,SAAS,aAAa;AAAtC,wBAoTK"}
@@ -1 +1 @@
1
- {"version":3,"file":"DebugObjectPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/DebugObjectPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAKtC,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC;CACjB,CAAC;AAGF,eAAO,MAAM,gBAAgB,GAAI,YAAY,qBAAqB,sBAkBjE,CAAC"}
1
+ {"version":3,"file":"DebugObjectPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/DebugObjectPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAKtC,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC;CACjB,CAAC;AAGF,eAAO,MAAM,gBAAgB,GAAI,YAAY,qBAAqB,sBAgBjE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { type PromiseIntentDispatcher } from '@dxos/app-framework';
2
- import { Obj } from '@dxos/echo';
3
- import { type TypedObject } from '@dxos/echo-schema';
2
+ import { type Obj } from '@dxos/echo';
3
+ import { type TypedObject } from '@dxos/echo/internal';
4
4
  import { type Client } from '@dxos/react-client';
5
5
  import { type Space } from '@dxos/react-client/echo';
6
6
  export type ObjectGenerator<T extends Obj.Any> = (space: Space, n: number, cb?: (objects: T[]) => void) => Promise<T[]>;