@dxos/plugin-debug 0.8.1-main.ba2dec9 → 0.8.1-staging.31c3ee1

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 (71) hide show
  1. package/dist/lib/browser/{DebugApp-LQHFFK3Y.mjs → DebugApp-7PFYN52J.mjs} +30 -23
  2. package/dist/lib/browser/{DebugApp-LQHFFK3Y.mjs.map → DebugApp-7PFYN52J.mjs.map} +4 -4
  3. package/dist/lib/browser/{SpaceGenerator-SPEJBGP7.mjs → SpaceGenerator-NBOQZ4JF.mjs} +12 -12
  4. package/dist/lib/browser/SpaceGenerator-NBOQZ4JF.mjs.map +7 -0
  5. package/dist/lib/browser/app-graph-builder-ALFPRSAR.mjs +570 -0
  6. package/dist/lib/browser/app-graph-builder-ALFPRSAR.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-EF3UVAVI.mjs → chunk-RORUXVAC.mjs} +1 -1
  8. package/dist/lib/browser/chunk-RORUXVAC.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-LHJC7LSH.mjs → chunk-TCEHALD4.mjs} +2 -3
  10. package/dist/lib/browser/chunk-TCEHALD4.mjs.map +7 -0
  11. package/dist/lib/browser/index.mjs +9 -25
  12. package/dist/lib/browser/index.mjs.map +3 -3
  13. package/dist/lib/browser/meta.json +1 -1
  14. package/dist/lib/browser/{react-context-TCD3MNIT.mjs → react-context-ZRLN5KUI.mjs} +2 -2
  15. package/dist/lib/browser/{react-surface-3CAWUFBU.mjs → react-surface-MXXLOQYV.mjs} +133 -47
  16. package/dist/lib/browser/react-surface-MXXLOQYV.mjs.map +7 -0
  17. package/dist/lib/browser/{settings-DLIPIUG7.mjs → settings-AP74NCXH.mjs} +6 -8
  18. package/dist/lib/browser/{settings-DLIPIUG7.mjs.map → settings-AP74NCXH.mjs.map} +3 -3
  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/capabilities/settings.d.ts.map +1 -1
  23. package/dist/types/src/components/DebugSettings.d.ts.map +1 -1
  24. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.d.ts.map +1 -1
  25. package/dist/types/src/components/index.d.ts +0 -4
  26. package/dist/types/src/components/index.d.ts.map +1 -1
  27. package/dist/types/src/meta.d.ts +2 -9
  28. package/dist/types/src/meta.d.ts.map +1 -1
  29. package/dist/types/src/translations.d.ts +1 -0
  30. package/dist/types/src/translations.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/package.json +49 -48
  34. package/src/DebugPlugin.tsx +1 -14
  35. package/src/capabilities/app-graph-builder.ts +329 -319
  36. package/src/capabilities/react-surface.tsx +97 -44
  37. package/src/capabilities/settings.ts +1 -3
  38. package/src/components/DebugSettings.tsx +0 -3
  39. package/src/components/SpaceGenerator/ObjectGenerator.tsx +1 -1
  40. package/src/components/SpaceGenerator/SchemaTable.tsx +1 -1
  41. package/src/components/SpaceGenerator/SpaceGenerator.tsx +3 -9
  42. package/src/components/index.ts +0 -1
  43. package/src/meta.ts +2 -2
  44. package/src/translations.ts +3 -2
  45. package/src/types.ts +1 -1
  46. package/dist/lib/browser/DebugSpace-5A2QOKAZ.mjs +0 -277
  47. package/dist/lib/browser/DebugSpace-5A2QOKAZ.mjs.map +0 -7
  48. package/dist/lib/browser/SpaceGenerator-SPEJBGP7.mjs.map +0 -7
  49. package/dist/lib/browser/app-graph-builder-MMXPWK2F.mjs +0 -561
  50. package/dist/lib/browser/app-graph-builder-MMXPWK2F.mjs.map +0 -7
  51. package/dist/lib/browser/chunk-EF3UVAVI.mjs.map +0 -7
  52. package/dist/lib/browser/chunk-GSJS3HEM.mjs +0 -15
  53. package/dist/lib/browser/chunk-GSJS3HEM.mjs.map +0 -7
  54. package/dist/lib/browser/chunk-LHJC7LSH.mjs.map +0 -7
  55. package/dist/lib/browser/react-surface-3CAWUFBU.mjs.map +0 -7
  56. package/dist/types/src/components/DebugSpace/DebugSpace.d.ts +0 -8
  57. package/dist/types/src/components/DebugSpace/DebugSpace.d.ts.map +0 -1
  58. package/dist/types/src/components/DebugSpace/DebugSpace.stories.d.ts +0 -6
  59. package/dist/types/src/components/DebugSpace/DebugSpace.stories.d.ts.map +0 -1
  60. package/dist/types/src/components/DebugSpace/ObjectCreator.d.ts +0 -15
  61. package/dist/types/src/components/DebugSpace/ObjectCreator.d.ts.map +0 -1
  62. package/dist/types/src/components/DebugSpace/ObjectCreator.stories.d.ts +0 -6
  63. package/dist/types/src/components/DebugSpace/ObjectCreator.stories.d.ts.map +0 -1
  64. package/dist/types/src/components/DebugSpace/index.d.ts +0 -3
  65. package/dist/types/src/components/DebugSpace/index.d.ts.map +0 -1
  66. package/src/components/DebugSpace/DebugSpace.stories.tsx +0 -46
  67. package/src/components/DebugSpace/DebugSpace.tsx +0 -183
  68. package/src/components/DebugSpace/ObjectCreator.stories.tsx +0 -51
  69. package/src/components/DebugSpace/ObjectCreator.tsx +0 -100
  70. package/src/components/DebugSpace/index.ts +0 -7
  71. /package/dist/lib/browser/{react-context-TCD3MNIT.mjs.map → react-context-ZRLN5KUI.mjs.map} +0 -0
@@ -1,18 +1,22 @@
1
- import {
2
- DEBUG_PLUGIN
3
- } from "./chunk-EF3UVAVI.mjs";
4
1
  import {
5
2
  Devtools
6
- } from "./chunk-LHJC7LSH.mjs";
3
+ } from "./chunk-TCEHALD4.mjs";
4
+ import {
5
+ DEBUG_PLUGIN
6
+ } from "./chunk-RORUXVAC.mjs";
7
7
 
8
8
  // packages/plugins/plugin-debug/src/capabilities/react-surface.tsx
9
+ import { pipe } from "effect";
9
10
  import React5, { useCallback } from "react";
10
- import { Capabilities as Capabilities2, contributes, createIntent, createSurface, LayoutAction } from "@dxos/app-framework";
11
- import { ConfigPanel, CredentialsPanel, DeviceListPanel, DiagnosticsPanel, FeedsPanel, IdentityPanel, KeyringPanel, LoggingPanel, MembersPanel, MetadataPanel, NetworkPanel, ObjectsPanel, SignalPanel, SpaceInfoPanel, SpaceListPanel, StoragePanel, SwarmPanel, TracingPanel, DashboardPanel, EdgeDashboardPanel, SearchPanel, AutomergePanel, WorkflowPanel, QueuesPanel, InvocationTracePanel } from "@dxos/devtools";
11
+ import { Capabilities as Capabilities2, chain, contributes, createIntent, createSurface, LayoutAction, useCapability } from "@dxos/app-framework";
12
+ import { ConfigPanel, CredentialsPanel, DeviceListPanel, DiagnosticsPanel, FeedsPanel, IdentityPanel, KeyringPanel, LoggingPanel, MembersPanel, MetadataPanel, NetworkPanel, ObjectsPanel, SignalPanel, SpaceInfoPanel, SpaceListPanel, StoragePanel, SwarmPanel, TracingPanel, EdgeDashboardPanel, AutomergePanel, WorkflowPanel, QueuesPanel, InvocationTracePanel, TestingPanel } from "@dxos/devtools";
12
13
  import { SettingsStore } from "@dxos/local-storage";
14
+ import { log as log2 } from "@dxos/log";
15
+ import { ClientCapabilities } from "@dxos/plugin-client";
13
16
  import { Graph } from "@dxos/plugin-graph";
17
+ import { ScriptAction } from "@dxos/plugin-script/types";
14
18
  import { SpaceAction, CollectionType } from "@dxos/plugin-space/types";
15
- import { SpaceState, isSpace, isEchoObject } from "@dxos/react-client/echo";
19
+ import { SpaceState, isSpace, isEchoObject, parseId } from "@dxos/react-client/echo";
16
20
 
17
21
  // packages/plugins/plugin-debug/src/components/index.ts
18
22
  import { lazy } from "react";
@@ -129,11 +133,6 @@ var DebugSettings = ({ settings }) => {
129
133
  }
130
134
  };
131
135
  return /* @__PURE__ */ React2.createElement(DeprecatedFormContainer, null, /* @__PURE__ */ React2.createElement(DeprecatedFormInput, {
132
- label: t("settings show debug panel")
133
- }, /* @__PURE__ */ React2.createElement(Input2.Switch, {
134
- checked: settings.debug,
135
- onCheckedChange: (checked) => settings.debug = !!checked
136
- })), /* @__PURE__ */ React2.createElement(DeprecatedFormInput, {
137
136
  label: t("settings wireframe")
138
137
  }, /* @__PURE__ */ React2.createElement(Input2.Switch, {
139
138
  checked: settings.wireframe,
@@ -379,16 +378,23 @@ var Wireframe = ({ classNames, label, object }) => {
379
378
  };
380
379
 
381
380
  // packages/plugins/plugin-debug/src/components/index.ts
382
- var DebugApp = lazy(() => import("./DebugApp-LQHFFK3Y.mjs"));
383
- var DebugSpace = lazy(() => import("./DebugSpace-5A2QOKAZ.mjs"));
384
- var SpaceGenerator = lazy(() => import("./SpaceGenerator-SPEJBGP7.mjs"));
381
+ var DebugApp = lazy(() => import("./DebugApp-7PFYN52J.mjs"));
382
+ var SpaceGenerator = lazy(() => import("./SpaceGenerator-NBOQZ4JF.mjs"));
385
383
 
386
384
  // packages/plugins/plugin-debug/src/capabilities/react-surface.tsx
385
+ var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-debug/src/capabilities/react-surface.tsx";
387
386
  var isSpaceDebug = (data) => data?.type === `${DEBUG_PLUGIN}/space` && isSpace(data.space);
388
387
  var isGraphDebug = (data) => data?.graph instanceof Graph;
388
+ var useCurrentSpace = () => {
389
+ const layout = useCapability(Capabilities2.Layout);
390
+ const client = useCapability(ClientCapabilities.Client);
391
+ const { spaceId } = parseId(layout.workspace);
392
+ const space = spaceId ? client.spaces.get(spaceId) : void 0;
393
+ return space;
394
+ };
389
395
  var react_surface_default = (context) => contributes(Capabilities2.ReactSurface, [
390
396
  createSurface({
391
- id: `${DEBUG_PLUGIN}/settings`,
397
+ id: `${DEBUG_PLUGIN}/plugin-settings`,
392
398
  role: "article",
393
399
  filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === DEBUG_PLUGIN,
394
400
  component: ({ data: { subject } }) => /* @__PURE__ */ React5.createElement(DebugSettings, {
@@ -418,11 +424,7 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
418
424
  }, [
419
425
  data.subject.space
420
426
  ]);
421
- const deprecated = false;
422
- return deprecated ? /* @__PURE__ */ React5.createElement(DebugSpace, {
423
- space: data.subject.space,
424
- onAddObjects: handleCreateObject
425
- }) : /* @__PURE__ */ React5.createElement(SpaceGenerator, {
427
+ return /* @__PURE__ */ React5.createElement(SpaceGenerator, {
426
428
  space: data.subject.space,
427
429
  onCreateObjects: handleCreateObject
428
430
  });
@@ -454,11 +456,11 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
454
456
  })
455
457
  }),
456
458
  createSurface({
457
- id: `${DEBUG_PLUGIN}/complementary`,
458
- role: "complementary--debug",
459
- filter: (data) => isEchoObject(data.subject),
459
+ id: `${DEBUG_PLUGIN}/object-debug`,
460
+ role: "article",
461
+ filter: (data) => data.subject === "debug" && isEchoObject(data.companionTo),
460
462
  component: ({ data }) => /* @__PURE__ */ React5.createElement(DebugObjectPanel, {
461
- object: data.subject
463
+ object: data.companionTo
462
464
  })
463
465
  }),
464
466
  createSurface({
@@ -473,7 +475,9 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
473
475
  id: `${DEBUG_PLUGIN}/client/config`,
474
476
  role: "article",
475
477
  filter: (data) => data.subject === Devtools.Client.Config,
476
- component: () => /* @__PURE__ */ React5.createElement(ConfigPanel, null)
478
+ component: () => /* @__PURE__ */ React5.createElement(ConfigPanel, {
479
+ vaultSelector: false
480
+ })
477
481
  }),
478
482
  createSurface({
479
483
  id: `${DEBUG_PLUGIN}/client/storage`,
@@ -521,7 +525,12 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
521
525
  id: `${DEBUG_PLUGIN}/halo/credentials`,
522
526
  role: "article",
523
527
  filter: (data) => data.subject === Devtools.Halo.Credentials,
524
- component: () => /* @__PURE__ */ React5.createElement(CredentialsPanel, null)
528
+ component: () => {
529
+ const space = useCurrentSpace();
530
+ return /* @__PURE__ */ React5.createElement(CredentialsPanel, {
531
+ space
532
+ });
533
+ }
525
534
  }),
526
535
  createSurface({
527
536
  id: `${DEBUG_PLUGIN}/echo/spaces`,
@@ -547,6 +556,7 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
547
556
  role: "article",
548
557
  filter: (data) => data.subject === Devtools.Echo.Space,
549
558
  component: () => {
559
+ const space = useCurrentSpace();
550
560
  const { dispatchPromise: dispatch } = context.requestCapability(Capabilities2.IntentDispatcher);
551
561
  const handleSelect = useCallback(() => dispatch(createIntent(LayoutAction.Open, {
552
562
  part: "main",
@@ -557,6 +567,7 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
557
567
  dispatch
558
568
  ]);
559
569
  return /* @__PURE__ */ React5.createElement(SpaceInfoPanel, {
570
+ space,
560
571
  onSelectFeed: handleSelect,
561
572
  onSelectPipeline: handleSelect
562
573
  });
@@ -566,19 +577,34 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
566
577
  id: `${DEBUG_PLUGIN}/echo/feeds`,
567
578
  role: "article",
568
579
  filter: (data) => data.subject === Devtools.Echo.Feeds,
569
- component: () => /* @__PURE__ */ React5.createElement(FeedsPanel, null)
580
+ component: () => {
581
+ const space = useCurrentSpace();
582
+ return /* @__PURE__ */ React5.createElement(FeedsPanel, {
583
+ space
584
+ });
585
+ }
570
586
  }),
571
587
  createSurface({
572
588
  id: `${DEBUG_PLUGIN}/echo/objects`,
573
589
  role: "article",
574
590
  filter: (data) => data.subject === Devtools.Echo.Objects,
575
- component: () => /* @__PURE__ */ React5.createElement(ObjectsPanel, null)
591
+ component: () => {
592
+ const space = useCurrentSpace();
593
+ return /* @__PURE__ */ React5.createElement(ObjectsPanel, {
594
+ space
595
+ });
596
+ }
576
597
  }),
577
598
  createSurface({
578
599
  id: `${DEBUG_PLUGIN}/echo/automerge`,
579
600
  role: "article",
580
601
  filter: (data) => data.subject === Devtools.Echo.Automerge,
581
- component: () => /* @__PURE__ */ React5.createElement(AutomergePanel, null)
602
+ component: () => {
603
+ const space = useCurrentSpace();
604
+ return /* @__PURE__ */ React5.createElement(AutomergePanel, {
605
+ space
606
+ });
607
+ }
582
608
  }),
583
609
  createSurface({
584
610
  id: `${DEBUG_PLUGIN}/echo/queues`,
@@ -590,7 +616,12 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
590
616
  id: `${DEBUG_PLUGIN}/echo/members`,
591
617
  role: "article",
592
618
  filter: (data) => data.subject === Devtools.Echo.Members,
593
- component: () => /* @__PURE__ */ React5.createElement(MembersPanel, null)
619
+ component: () => {
620
+ const space = useCurrentSpace();
621
+ return /* @__PURE__ */ React5.createElement(MembersPanel, {
622
+ space
623
+ });
624
+ }
594
625
  }),
595
626
  createSurface({
596
627
  id: `${DEBUG_PLUGIN}/echo/metadata`,
@@ -614,20 +645,20 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
614
645
  id: `${DEBUG_PLUGIN}/mesh/network`,
615
646
  role: "article",
616
647
  filter: (data) => data.subject === Devtools.Mesh.Network,
617
- component: () => /* @__PURE__ */ React5.createElement(NetworkPanel, null)
618
- }),
619
- createSurface({
620
- id: `${DEBUG_PLUGIN}/agent/dashboard`,
621
- role: "article",
622
- filter: (data) => data.subject === Devtools.Agent.Dashboard,
623
- component: () => /* @__PURE__ */ React5.createElement(DashboardPanel, null)
624
- }),
625
- createSurface({
626
- id: `${DEBUG_PLUGIN}/agent/search`,
627
- role: "article",
628
- filter: (data) => data.subject === Devtools.Agent.Search,
629
- component: () => /* @__PURE__ */ React5.createElement(SearchPanel, null)
648
+ component: () => {
649
+ const space = useCurrentSpace();
650
+ return /* @__PURE__ */ React5.createElement(NetworkPanel, {
651
+ space
652
+ });
653
+ }
630
654
  }),
655
+ // TODO(wittjosiah): Remove?
656
+ // createSurface({
657
+ // id: `${DEBUG_PLUGIN}/agent/dashboard`,
658
+ // role: 'article',
659
+ // filter: (data): data is any => data.subject === Devtools.Agent.Dashboard,
660
+ // component: () => <DashboardPanel />,
661
+ // }),
631
662
  createSurface({
632
663
  id: `${DEBUG_PLUGIN}/edge/dashboard`,
633
664
  role: "article",
@@ -638,16 +669,71 @@ var react_surface_default = (context) => contributes(Capabilities2.ReactSurface,
638
669
  id: `${DEBUG_PLUGIN}/edge/workflows`,
639
670
  role: "article",
640
671
  filter: (data) => data.subject === Devtools.Edge.Workflows,
641
- component: () => /* @__PURE__ */ React5.createElement(WorkflowPanel, null)
672
+ component: () => {
673
+ const space = useCurrentSpace();
674
+ return /* @__PURE__ */ React5.createElement(WorkflowPanel, {
675
+ space
676
+ });
677
+ }
642
678
  }),
643
679
  createSurface({
644
680
  id: `${DEBUG_PLUGIN}/edge/traces`,
645
681
  role: "article",
646
682
  filter: (data) => data.subject === Devtools.Edge.Traces,
647
- component: () => /* @__PURE__ */ React5.createElement(InvocationTracePanel, null)
683
+ component: () => {
684
+ const space = useCurrentSpace();
685
+ return /* @__PURE__ */ React5.createElement(InvocationTracePanel, {
686
+ space
687
+ });
688
+ }
689
+ }),
690
+ createSurface({
691
+ id: `${DEBUG_PLUGIN}/edge/testing`,
692
+ role: "article",
693
+ filter: (data) => data.subject === Devtools.Edge.Testing,
694
+ component: () => {
695
+ const { dispatchPromise: dispatch } = context.requestCapability(Capabilities2.IntentDispatcher);
696
+ const onSpaceCreate = useCallback(async (space) => {
697
+ await space.waitUntilReady();
698
+ await dispatch(createIntent(SpaceAction.Migrate, {
699
+ space
700
+ }));
701
+ await space.db.flush();
702
+ }, [
703
+ dispatch
704
+ ]);
705
+ const onScriptPluginOpen = useCallback(async (space) => {
706
+ await space.waitUntilReady();
707
+ const result = await dispatch(pipe(createIntent(ScriptAction.Create, {
708
+ space
709
+ }), chain(SpaceAction.AddObject, {
710
+ target: space
711
+ })));
712
+ log2.info("script created", {
713
+ result
714
+ }, {
715
+ F: __dxlog_file2,
716
+ L: 364,
717
+ S: void 0,
718
+ C: (f, a) => f(...a)
719
+ });
720
+ await dispatch(createIntent(LayoutAction.Open, {
721
+ part: "main",
722
+ subject: [
723
+ `${space.id}:${result.data?.object.id}`
724
+ ]
725
+ }));
726
+ }, [
727
+ dispatch
728
+ ]);
729
+ return /* @__PURE__ */ React5.createElement(TestingPanel, {
730
+ onSpaceCreate,
731
+ onScriptPluginOpen
732
+ });
733
+ }
648
734
  })
649
735
  ]);
650
736
  export {
651
737
  react_surface_default as default
652
738
  };
653
- //# sourceMappingURL=react-surface-3CAWUFBU.mjs.map
739
+ //# sourceMappingURL=react-surface-MXXLOQYV.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 { 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 type PluginsContext,\n} from '@dxos/app-framework';\nimport {\n ConfigPanel,\n CredentialsPanel,\n DeviceListPanel,\n DiagnosticsPanel,\n FeedsPanel,\n IdentityPanel,\n KeyringPanel,\n LoggingPanel,\n MembersPanel,\n MetadataPanel,\n NetworkPanel,\n ObjectsPanel,\n SignalPanel,\n SpaceInfoPanel,\n SpaceListPanel,\n StoragePanel,\n SwarmPanel,\n TracingPanel,\n EdgeDashboardPanel,\n AutomergePanel,\n WorkflowPanel,\n QueuesPanel,\n InvocationTracePanel,\n TestingPanel,\n} from '@dxos/devtools';\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, CollectionType } from '@dxos/plugin-space/types';\nimport {\n SpaceState,\n isSpace,\n isEchoObject,\n type ReactiveEchoObject,\n type ReactiveObject,\n type Space,\n parseId,\n} from '@dxos/react-client/echo';\n\nimport { DebugApp, DebugObjectPanel, DebugSettings, DebugStatus, SpaceGenerator, Wireframe } 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: PluginsContext) =>\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 handleCreateObject = useCallback(\n (objects: ReactiveObject<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[CollectionType.typename]?.target;\n if (!(collection instanceof CollectionType)) {\n return;\n }\n\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n objects.forEach((object) => {\n void dispatch(createIntent(SpaceAction.AddObject, { target: collection, object }));\n });\n },\n [data.subject.space],\n );\n\n return <SpaceGenerator space={data.subject.space} onCreateObjects={handleCreateObject} />;\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: ReactiveEchoObject<any> } => {\n const settings = context\n .requestCapability(Capabilities.SettingsStore)\n .getStore<DebugSettingsProps>(DEBUG_PLUGIN)!.value;\n return isEchoObject(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: ReactiveEchoObject<any> } =>\n data.subject === 'debug' && isEchoObject(data.companionTo),\n component: ({ data }) => <DebugObjectPanel object={data.companionTo} />,\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 } = context.requestCapability(Capabilities.IntentDispatcher);\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 } = context.requestCapability(Capabilities.IntentDispatcher);\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/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 <InvocationTracePanel space={space} />;\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 } = context.requestCapability(Capabilities.IntentDispatcher);\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 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 ReactiveEchoObject } from '@dxos/client/echo';\nimport { Clipboard, Input } from '@dxos/react-ui';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\n\nexport type DebugObjectPanelProps = {\n object: ReactiveEchoObject<any>;\n};\n\n// TODO(burdon): Get schema and traverse references.\nexport const DebugObjectPanel = ({ object }: DebugObjectPanelProps) => {\n const dxn = `dxn:echo:@:${object.id}`;\n return (\n <Clipboard.Provider>\n <div className='flex flex-col'>\n <Input.Root>\n <div role='none' className='flex flex-col gap-1'>\n <div role='none' className='flex gap-1'>\n <Input.TextInput disabled value={dxn} />\n <Clipboard.IconButton value={dxn} />\n </div>\n </div>\n </Input.Root>\n <SyntaxHighlighter classNames='flex text-xs' language='json'>\n {JSON.stringify(object, null, 2)}\n </SyntaxHighlighter>\n </div>\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 { useAppGraph, useLayout } from '@dxos/app-framework';\nimport { TimeoutError } from '@dxos/async';\nimport { StatsPanel, useStats } from '@dxos/devtools';\nimport { getActiveSpace } 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, Popover } 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 layout = useLayout();\n const { graph } = useAppGraph();\n const _space = graph ? getActiveSpace(graph, layout.active[0]) : undefined;\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 PerformanceIndicator = () => {\n const [visible, setVisible] = useState(false);\n const [stats, refreshStats] = useStats();\n\n return (\n <Popover.Root open={visible} onOpenChange={setVisible}>\n <Popover.Trigger asChild>\n <StatusBar.Button onClick={() => setVisible((visible) => !visible)} title='Performance panels'>\n <Icon icon='ph--chart-bar--regular' size={4} />\n </StatusBar.Button>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content classNames='max-is-[min(var(--radix-popover-content-available-width),300px)] max-bs-[--radix-popover-content-available-height]'>\n <StatsPanel stats={stats} onRefresh={refreshStats} />\n <Popover.Arrow />\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n );\n};\n\nconst indicators = [SavingIndicator, SwarmIndicator, PerformanceIndicator, 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 { fullyQualifiedId, type ReactiveEchoObject } from '@dxos/react-client/echo';\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { useAttendableAttributes } 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: ReactiveEchoObject<any>;\n}>;\n\n// TODO(burdon): Make focusable and attendable with input.\nexport const Wireframe = ({ classNames, label, object }: WireframeProps) => {\n const attendableAttrs = useAttendableAttributes(fullyQualifiedId(object));\n const { width, height, ref } = useResizeDetector();\n return (\n <div ref={ref} className={mx('relative grow min-bs-96', classNames)} {...attendableAttrs}>\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", "ConfigPanel", "CredentialsPanel", "DeviceListPanel", "DiagnosticsPanel", "FeedsPanel", "IdentityPanel", "KeyringPanel", "LoggingPanel", "MembersPanel", "MetadataPanel", "NetworkPanel", "ObjectsPanel", "SignalPanel", "SpaceInfoPanel", "SpaceListPanel", "StoragePanel", "SwarmPanel", "TracingPanel", "EdgeDashboardPanel", "AutomergePanel", "WorkflowPanel", "QueuesPanel", "InvocationTracePanel", "TestingPanel", "SettingsStore", "log", "ClientCapabilities", "Graph", "ScriptAction", "SpaceAction", "CollectionType", "SpaceState", "isSpace", "isEchoObject", "parseId", "lazy", "React", "Clipboard", "Input", "SyntaxHighlighter", "DebugObjectPanel", "object", "dxn", "id", "Clipboard", "Provider", "div", "className", "Input", "Root", "role", "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", "useAppGraph", "useLayout", "TimeoutError", "StatsPanel", "useStats", "getActiveSpace", "StatusBar", "ConnectionState", "useNetworkStatus", "Icon", "Popover", "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", "layout", "useLayout", "graph", "useAppGraph", "_space", "getActiveSpace", "active", "success", "PerformanceIndicator", "visible", "setVisible", "stats", "refreshStats", "useStats", "Popover", "Root", "open", "onOpenChange", "Trigger", "asChild", "Portal", "Content", "StatsPanel", "onRefresh", "Arrow", "indicators", "DebugStatus", "map", "Indicator", "key", "name", "React", "useResizeDetector", "fullyQualifiedId", "useAttendableAttributes", "SyntaxHighlighter", "mx", "Wireframe", "classNames", "label", "object", "attendableAttrs", "useAttendableAttributes", "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", "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", "handleCreateObject", "useCallback", "objects", "collection", "state", "SpaceState", "SPACE_READY", "properties", "CollectionType", "typename", "target", "dispatchPromise", "dispatch", "requestCapability", "IntentDispatcher", "forEach", "object", "createIntent", "SpaceAction", "AddObject", "SpaceGenerator", "onCreateObjects", "DebugApp", "position", "getStore", "isEchoObject", "wireframe", "Wireframe", "label", "name", "classNames", "companionTo", "DebugObjectPanel", "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", "Automerge", "AutomergePanel", "Queues", "QueuesPanel", "Members", "MembersPanel", "Metadata", "MetadataPanel", "Mesh", "Signal", "SignalPanel", "Swarm", "SwarmPanel", "Network", "NetworkPanel", "Edge", "Dashboard", "EdgeDashboardPanel", "Workflows", "WorkflowPanel", "Traces", "InvocationTracePanel", "Testing", "onSpaceCreate", "waitUntilReady", "Migrate", "db", "flush", "onScriptPluginOpen", "result", "pipe", "ScriptAction", "Create", "chain", "log", "info", "TestingPanel"]
7
+ }
@@ -1,17 +1,15 @@
1
- import {
2
- DEBUG_PLUGIN
3
- } from "./chunk-EF3UVAVI.mjs";
4
1
  import {
5
2
  DebugSettingsSchema
6
- } from "./chunk-LHJC7LSH.mjs";
3
+ } from "./chunk-TCEHALD4.mjs";
4
+ import {
5
+ DEBUG_PLUGIN
6
+ } from "./chunk-RORUXVAC.mjs";
7
7
 
8
8
  // packages/plugins/plugin-debug/src/capabilities/settings.ts
9
9
  import { Capabilities, contributes } from "@dxos/app-framework";
10
10
  import { create } from "@dxos/react-client/echo";
11
11
  var settings_default = () => {
12
- const settings = create({
13
- debug: true
14
- });
12
+ const settings = create({});
15
13
  return contributes(Capabilities.Settings, {
16
14
  schema: DebugSettingsSchema,
17
15
  prefix: DEBUG_PLUGIN,
@@ -21,4 +19,4 @@ var settings_default = () => {
21
19
  export {
22
20
  settings_default as default
23
21
  };
24
- //# sourceMappingURL=settings-DLIPIUG7.mjs.map
22
+ //# sourceMappingURL=settings-AP74NCXH.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/capabilities/settings.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { create } from '@dxos/react-client/echo';\n\nimport { DEBUG_PLUGIN } from '../meta';\nimport { type DebugSettingsProps, DebugSettingsSchema } from '../types';\n\nexport default () => {\n const settings = create<DebugSettingsProps>({\n debug: true,\n });\n\n return contributes(Capabilities.Settings, { schema: DebugSettingsSchema, prefix: DEBUG_PLUGIN, value: settings });\n};\n"],
5
- "mappings": ";;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,cAAc;AAKvB,IAAA,mBAAe,MAAA;AACb,QAAMC,WAAWC,OAA2B;IAC1CC,OAAO;EACT,CAAA;AAEA,SAAOC,YAAYC,aAAaC,UAAU;IAAEC,QAAQC;IAAqBC,QAAQC;IAAcC,OAAOV;EAAS,CAAA;AACjH;",
6
- "names": ["Capabilities", "contributes", "create", "settings", "create", "debug", "contributes", "Capabilities", "Settings", "schema", "DebugSettingsSchema", "prefix", "DEBUG_PLUGIN", "value"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { create } from '@dxos/react-client/echo';\n\nimport { DEBUG_PLUGIN } from '../meta';\nimport { type DebugSettingsProps, DebugSettingsSchema } from '../types';\n\nexport default () => {\n const settings = create<DebugSettingsProps>({});\n\n return contributes(Capabilities.Settings, { schema: DebugSettingsSchema, prefix: DEBUG_PLUGIN, value: settings });\n};\n"],
5
+ "mappings": ";;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,cAAc;AAKvB,IAAA,mBAAe,MAAA;AACb,QAAMC,WAAWC,OAA2B,CAAC,CAAA;AAE7C,SAAOC,YAAYC,aAAaC,UAAU;IAAEC,QAAQC;IAAqBC,QAAQC;IAAcC,OAAOT;EAAS,CAAA;AACjH;",
6
+ "names": ["Capabilities", "contributes", "create", "settings", "create", "contributes", "Capabilities", "Settings", "schema", "DebugSettingsSchema", "prefix", "DEBUG_PLUGIN", "value"]
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DebugPlugin.d.ts","sourceRoot":"","sources":["../../../src/DebugPlugin.tsx"],"names":[],"mappings":"AAcA,eAAO,MAAM,WAAW,4CAyCvB,CAAC"}
1
+ {"version":3,"file":"DebugPlugin.d.ts","sourceRoot":"","sources":["../../../src/DebugPlugin.tsx"],"names":[],"mappings":"AAYA,eAAO,MAAM,WAAW,4CA8BvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAA6B,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;kCAUjD,cAAc;;qBAmFN,YAAY;sBACR,iBAC/B;uBACY,iBAClB;sBAAgD,iBAAiB;;2BAE/C,iBAAF;;;qBAG2B,YACjC;sBACQ,iBAAA;uBACS,iBACf;sBAAgD,iBACnD;;2BAEO,iBACd;;;qBAEyB,YAAY;sBACT,iBACtB;uBACgB,iBAAiB;sBACpB,iBAAiB;;2BAIpB,iBAAD;;;qBAEC,YAAJ;sBACI,iBAAY;uBACgB,iBAAiB;sBACxB,iBACrC;;2BAGU,iBACC;;;qBAGY,YACvB;sBACc,iBAAa;uBACb,iBAAiB;sBAEhB,iBACN;;2BAEO,iBAAc;;;qBAGZ,YAAR;sBAAsC,iBAClD;uBACkB,iBAAD;sBAGC,iBAAM;;2BAEN,iBAAC;;;qBAEiB,YAAY;sBAC5B,iBAAiB;uBAErB,iBACH;sBAEK,iBAAD;;2BAEC,iBAAF;;;qBAEI,YAAL;sBAAsC,iBACtC;uBAGG,iBAAI;sBACG,iBAAiB;;2BAEpB,iBACf;;;qBACoB,YAAY;sBAEvB,iBACb;uBAC8B,iBAC9B;sBACe,iBAAC;;2BAEC,iBAAW;;;qBACe,YACvC;sBAES,iBACZ;uBACc,iBAAO;sBACE,iBACtB;;2BACkC,iBAAiB;;;qBAGxC,YACf;sBACqB,iBAAgB;uBACG,iBAC9B;sBACS,iBACf;;2BACe,iBAAA;;;qBAIF,YAAP;sBACO,iBAAE;uBACA,iBAAiB;sBAEjB,iBAAW;;2BACH,iBAAiB;;;qBAKjC,YACN;sBACQ,iBAAW;uBAEX,iBACb;sBAAgD,iBAC5C;;2BAES,iBACV;;;qBAEuB,YAAY;sBACR,iBACtB;uBACgB,iBAAiB;sBACnB,iBAAiB;;2BAGxB,iBACH;;;qBAEK,YAAO;sBACD,iBACf;uBAAgD,iBACjD;sBACU,iBAAC;;2BAGQ,iBAAiB;;;qBAEP,YAC3B;sBACU,iBAAa;uBACb,iBAAU;sBAEd,iBACX;;2BAGoB,iBACpB;;;qBAGW,YAAA;sBAAsC,iBAC7C;uBACK,iBACD;sBAEO,iBAAiB;;2BAEnB,iBAAI;;;qBAEc,YAAY;sBAC5B,iBAAa;uBAEjB,iBACf;sBAC8B,iBAC5B;;2BACmB,iBACtB;;;qBACwD,YACvD;sBAAsC,iBAAiB;uBAG1C,iBACT;sBAEmB,iBACnB;;2BAES,iBAAa;;;qBAEJ,YAAY;sBAErB,iBACR;uBAC8B,iBAC9B;sBACY,iBAAI;;2BAEF,iBAAc;;;qBACkB,YAC7C;sBAES,iBACZ;uBACc,iBAAI;sBACD,iBAAiB;;2BAEL,iBAAiB;;;qBAEhC,YACb;sBAEa,iBAAK;uBACI,iBAAiB;sBAE1B,iBAAM;;2BACkC,iBAClD;;AA/SR,wBAmYK"}
1
+ {"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErF,OAAO,EAA6B,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;kCASjD,cAAc;;qBAuEnB,YAAY;sBACI,iBAAiB;uBACtB,iBAAiB;sBAE9B,iBACL;;2BAC8C,iBAC7C;;;qBAEM,YAAE;sBACI,iBAAiB;uBACnB,iBAAiB;sBAEvB,iBACV;;2BAC8C,iBACpD;;;qBACiC,YAC7B;sBACgB,iBAAK;uBACL,iBAAJ;sBACE,iBACf;;2BAEyB,iBAAiB;;;qBAE3B,YAAQ;sBACH,iBACjB;uBAAgD,iBACrD;sBACiB,iBAAD;;2BAIL,iBACR;;;qBAEU,YAAQ;sBACC,iBACb;uBAAgD,iBAC9C;sBACE,iBAAE;;2BAGE,iBAAiB;;;qBAEjB,YAAA;sBACA,iBACpB;uBAAgD,iBAAiB;sBACvB,iBAAiB;;2BAGzC,iBACL;;;qBACyB,YACrC;sBAAsC,iBACxB;uBACc,iBAAiB;sBACtB,iBAAiB;;2BAGvB,iBACV;;;qBACsB,YAAY;sBACX,iBACxB;uBACe,iBAAgB;sBAChB,iBAAW;;2BAGf,iBACd;;;qBACsB,YAAW;sBACf,iBAAiB;uBAEjB,iBAAO;sBACP,iBAAF;;2BAEF,iBACf;;;qBAGiC,YAAY;sBAEhC,iBAAK;uBAEH,iBAAC;sBACD,iBAAG;;2BAEF,iBACR;;;qBAES,YAAS;sBACT,iBAAgB;uBAEd,iBAAI;sBACJ,iBAAA;;2BAEJ,iBACP;;;qBAES,YAAO;sBACP,iBAAe;uBAEb,iBAAG;sBACH,iBAAA;;2BAEJ,iBACR;;;qBAEU,YAAS;sBACT,iBAAiB;uBAEf,iBAAK;sBACL,iBAAE;;2BAEN,iBACZ;;;qBAEc,YAAA;sBACA,iBAAM;uBAEJ,iBAAN;sBAAgD,iBACrD;;2BAEO,iBAAA;;;qBAGE,YAAR;sBACQ,iBAAJ;uBACO,iBACjB;sBAAiD,iBAAgB;;2BAEnD,iBACd;;;qBAE4C,YAClD;sBAAsC,iBAC/B;uBACa,iBAAW;sBACe,iBAAgB;;2BAE1C,iBACjB;;;qBAE+C,YAAY;sBACzB,iBAChC;uBACe,iBAAS;sBACc,iBAAiB;;2BAExC,iBACpB;;;qBAE4C,YAAY;sBAC1B,iBAAiB;uBAE3B,iBAAC;sBACc,iBAAiB;;2BACL,iBACtC;;;qBAKO,YAAH;sBAAsC,iBACrC;uBACoB,iBACpB;sBACkB,iBAAiB;;2BAEjC,iBACZ;;;qBAEwC,YAAY;sBACxB,iBAC/B;uBACmB,iBAAK;sBACc,iBAAiB;;2BAEpC,iBAAJ;;;qBAGwB,YAAY;sBACvB,iBAAiB;uBAE1B,iBAAG;sBACc,iBAAiB;;2BACF,iBACvC;;;qBAGqB,YAAY;sBACzB,iBAAiB;uBACD,iBACxB;sBACc,iBAAiB;;2BACJ,iBACnC;;AA7QL,wBA6YK"}
@@ -1 +1 @@
1
- {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAMA,OAAO,EACL,YAAY,EAKZ,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;kCAgEJ,cAAc;AAAvC,wBAmPK"}
1
+ {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,YAAY,EAOZ,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;kCAoEJ,cAAc;AAAvC,wBAiSK"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/settings.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAe,MAAM,qBAAqB,CAAC;;AAMhE,wBAME"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/settings.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAe,MAAM,qBAAqB,CAAC;;AAMhE,wBAIE"}
@@ -1 +1 @@
1
- {"version":3,"file":"DebugSettings.d.ts","sourceRoot":"","sources":["../../../../src/components/DebugSettings.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAWnD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAYnD,eAAO,MAAM,aAAa,iBAAkB;IAAE,QAAQ,EAAE,kBAAkB,CAAA;CAAE,sBAqH3E,CAAC"}
1
+ {"version":3,"file":"DebugSettings.d.ts","sourceRoot":"","sources":["../../../../src/components/DebugSettings.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAWnD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAYnD,eAAO,MAAM,aAAa,iBAAkB;IAAE,QAAQ,EAAE,kBAAkB,CAAA;CAAE,sBAkH3E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SpaceGenerator.d.ts","sourceRoot":"","sources":["../../../../../src/components/SpaceGenerator/SpaceGenerator.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAK9D,OAAO,EAAU,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOhE,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAWlE,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC;CAC5D,CAAC;AAEF,eAAO,MAAM,cAAc,+BAAgC,mBAAmB,sBAqJ7E,CAAC"}
1
+ {"version":3,"file":"SpaceGenerator.d.ts","sourceRoot":"","sources":["../../../../../src/components/SpaceGenerator/SpaceGenerator.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAK9D,OAAO,EAAU,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOhE,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAWlE,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC;CAC5D,CAAC;AAEF,eAAO,MAAM,cAAc,+BAAgC,mBAAmB,sBA+I7E,CAAC"}
@@ -1,10 +1,6 @@
1
1
  export declare const DebugApp: import("react").LazyExoticComponent<import("react").FC<{
2
2
  graph: import("@dxos/app-graph").Graph;
3
3
  }>>;
4
- export declare const DebugSpace: import("react").LazyExoticComponent<import("react").FC<{
5
- space: import("@dxos/client-protocol").Space;
6
- onAddObjects?: (objects: import("@dxos/live-object").ReactiveObject<any>[]) => void;
7
- }>>;
8
4
  export declare const SpaceGenerator: import("react").LazyExoticComponent<({ space, onCreateObjects }: import("./SpaceGenerator/SpaceGenerator").SpaceGeneratorProps) => import("react").JSX.Element>;
9
5
  export * from './DebugObjectPanel';
10
6
  export * from './DebugSettings';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,QAAQ;;GAAmC,CAAC;AACzD,eAAO,MAAM,UAAU;;;GAAqC,CAAC;AAC7D,eAAO,MAAM,cAAc,iKAAyC,CAAC;AAErE,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,QAAQ;;GAAmC,CAAC;AACzD,eAAO,MAAM,cAAc,iKAAyC,CAAC;AAErE,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
@@ -1,11 +1,4 @@
1
+ import { type PluginMeta } from '@dxos/app-framework';
1
2
  export declare const DEBUG_PLUGIN = "dxos.org/plugin/debug";
2
- export declare const meta: {
3
- id: string;
4
- name: string;
5
- description: string;
6
- icon: string;
7
- source: string;
8
- tags: string[];
9
- screenshots: string[];
10
- };
3
+ export declare const meta: PluginMeta;
11
4
  //# sourceMappingURL=meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,YAAY,0BAA0B,CAAC;AAEpD,eAAO,MAAM,IAAI;;;;;;;;CASK,CAAC"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,eAAO,MAAM,YAAY,0BAA0B,CAAC;AAEpD,eAAO,MAAM,IAAI,EAAE,UASlB,CAAC"}
@@ -53,6 +53,7 @@ declare const _default: {
53
53
  'edge label': string;
54
54
  'workflows label': string;
55
55
  'traces label': string;
56
+ 'testing label': string;
56
57
  };
57
58
  };
58
59
  }[];
@@ -1 +1 @@
1
- {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,wBA4DE"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,wBA6DE"}
@@ -8,7 +8,6 @@ export type DebugContextType = {
8
8
  };
9
9
  export declare const DebugContext: Context<DebugContextType>;
10
10
  export declare const DebugSettingsSchema: S.mutable<S.Struct<{
11
- debug: S.optional<typeof S.Boolean>;
12
11
  wireframe: S.optional<typeof S.Boolean>;
13
12
  }>>;
14
13
  export interface DebugSettingsProps extends S.Schema.Type<typeof DebugSettingsSchema> {
@@ -57,6 +56,7 @@ export declare namespace Devtools {
57
56
  const Dashboard = "dxos.org.plugin.debug.devtools.edge.dashboard";
58
57
  const Workflows = "dxos.org.plugin.debug.devtools.edge.workflows";
59
58
  const Traces = "dxos.org.plugin.debug.devtools.edge.traces";
59
+ const Testing = "dxos.org.plugin.debug.devtools.edge.testing";
60
60
  }
61
61
  }
62
62
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,OAAO,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAEtC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1D,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,gBAAgB,CAIjD,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;GAK/B,CAAC;AAEF,MAAM,WAAW,kBAAmB,SAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,mBAAmB,CAAC;CAAG;AAExF,yBAAiB,QAAQ,CAAC;IAEjB,MAAM,EAAE,mCAAmC,CAAC;IAEnD,UAAiB,MAAM,CAAC;QACf,MAAM,EAAE,0CAA0B,CAAC;QACnC,MAAM,MAAM,iDAAiC,CAAC;QAC9C,MAAM,OAAO,kDAAkC,CAAC;QAChD,MAAM,IAAI,+CAA+B,CAAC;QAC1C,MAAM,WAAW,sDAAsC,CAAC;QACxD,MAAM,OAAO,kDAAkC,CAAC;KACxD;IAED,UAAiB,IAAI,CAAC;QACb,MAAM,EAAE,wCAAwB,CAAC;QACjC,MAAM,QAAQ,iDAAiC,CAAC;QAChD,MAAM,OAAO,gDAAgC,CAAC;QAC9C,MAAM,OAAO,gDAAgC,CAAC;QAC9C,MAAM,WAAW,oDAAoC,CAAC;KAC9D;IAED,UAAiB,IAAI,CAAC;QACb,MAAM,EAAE,wCAAwB,CAAC;QACjC,MAAM,MAAM,+CAA+B,CAAC;QAC5C,MAAM,KAAK,8CAA8B,CAAC;QAC1C,MAAM,KAAK,8CAA8B,CAAC;QAC1C,MAAM,OAAO,gDAAgC,CAAC;QAC9C,MAAM,SAAS,kDAAkC,CAAC;QAClD,MAAM,MAAM,+CAA+B,CAAC;QAC5C,MAAM,OAAO,gDAAgC,CAAC;QAC9C,MAAM,QAAQ,iDAAiC,CAAC;KACxD;IAED,UAAiB,IAAI,CAAC;QACb,MAAM,EAAE,wCAAwB,CAAC;QACjC,MAAM,MAAM,+CAA+B,CAAC;QAC5C,MAAM,KAAK,8CAA8B,CAAC;QAC1C,MAAM,OAAO,gDAAgC,CAAC;KACtD;IAED,UAAiB,KAAK,CAAC;QACd,MAAM,EAAE,yCAAyB,CAAC;QAClC,MAAM,SAAS,mDAAmC,CAAC;QACnD,MAAM,MAAM,gDAAgC,CAAC;KACrD;IAED,UAAiB,IAAI,CAAC;QACb,MAAM,EAAE,wCAAwB,CAAC;QACjC,MAAM,SAAS,kDAAkC,CAAC;QAClD,MAAM,SAAS,kDAAkC,CAAC;QAClD,MAAM,MAAM,+CAA+B,CAAC;KACpD;CACF"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,OAAO,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAEtC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1D,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,gBAAgB,CAIjD,CAAC;AAEH,eAAO,MAAM,mBAAmB;;GAI/B,CAAC;AAEF,MAAM,WAAW,kBAAmB,SAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,mBAAmB,CAAC;CAAG;AAExF,yBAAiB,QAAQ,CAAC;IAEjB,MAAM,EAAE,mCAAmC,CAAC;IAEnD,UAAiB,MAAM,CAAC;QACf,MAAM,EAAE,0CAA0B,CAAC;QACnC,MAAM,MAAM,iDAAiC,CAAC;QAC9C,MAAM,OAAO,kDAAkC,CAAC;QAChD,MAAM,IAAI,+CAA+B,CAAC;QAC1C,MAAM,WAAW,sDAAsC,CAAC;QACxD,MAAM,OAAO,kDAAkC,CAAC;KACxD;IAED,UAAiB,IAAI,CAAC;QACb,MAAM,EAAE,wCAAwB,CAAC;QACjC,MAAM,QAAQ,iDAAiC,CAAC;QAChD,MAAM,OAAO,gDAAgC,CAAC;QAC9C,MAAM,OAAO,gDAAgC,CAAC;QAC9C,MAAM,WAAW,oDAAoC,CAAC;KAC9D;IAED,UAAiB,IAAI,CAAC;QACb,MAAM,EAAE,wCAAwB,CAAC;QACjC,MAAM,MAAM,+CAA+B,CAAC;QAC5C,MAAM,KAAK,8CAA8B,CAAC;QAC1C,MAAM,KAAK,8CAA8B,CAAC;QAC1C,MAAM,OAAO,gDAAgC,CAAC;QAC9C,MAAM,SAAS,kDAAkC,CAAC;QAClD,MAAM,MAAM,+CAA+B,CAAC;QAC5C,MAAM,OAAO,gDAAgC,CAAC;QAC9C,MAAM,QAAQ,iDAAiC,CAAC;KACxD;IAED,UAAiB,IAAI,CAAC;QACb,MAAM,EAAE,wCAAwB,CAAC;QACjC,MAAM,MAAM,+CAA+B,CAAC;QAC5C,MAAM,KAAK,8CAA8B,CAAC;QAC1C,MAAM,OAAO,gDAAgC,CAAC;KACtD;IAED,UAAiB,KAAK,CAAC;QACd,MAAM,EAAE,yCAAyB,CAAC;QAClC,MAAM,SAAS,mDAAmC,CAAC;QACnD,MAAM,MAAM,gDAAgC,CAAC;KACrD;IAED,UAAiB,IAAI,CAAC;QACb,MAAM,EAAE,wCAAwB,CAAC;QACjC,MAAM,SAAS,kDAAkC,CAAC;QAClD,MAAM,SAAS,kDAAkC,CAAC;QAClD,MAAM,MAAM,+CAA+B,CAAC;QAC5C,MAAM,OAAO,gDAAgC,CAAC;KACtD;CACF"}