@dxos/plugin-debug 0.6.11-staging.e6894a4 → 0.6.12-main.15a606f

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 (46) hide show
  1. package/dist/lib/browser/{DebugGlobal-H37KGFEG.mjs → DebugGlobal-H56M2VL4.mjs} +5 -13
  2. package/dist/lib/browser/DebugGlobal-H56M2VL4.mjs.map +7 -0
  3. package/dist/lib/browser/{DebugSpace-KDKLS264.mjs → DebugSpace-J4YF3H67.mjs} +7 -30
  4. package/dist/lib/browser/DebugSpace-J4YF3H67.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-RYK3J66D.mjs → chunk-G6OQPL2E.mjs} +2 -2
  6. package/dist/lib/browser/{chunk-WEGYHXMB.mjs → chunk-KXZKF6LX.mjs} +2 -5
  7. package/dist/lib/browser/chunk-KXZKF6LX.mjs.map +7 -0
  8. package/dist/lib/browser/index.mjs +9 -13
  9. package/dist/lib/browser/index.mjs.map +3 -3
  10. package/dist/lib/browser/meta.json +1 -1
  11. package/dist/lib/browser/meta.mjs +1 -1
  12. package/dist/types/src/DebugPlugin.d.ts.map +1 -1
  13. package/dist/types/src/components/DebugGlobal.d.ts.map +1 -1
  14. package/dist/types/src/components/DebugSpace.d.ts.map +1 -1
  15. package/dist/types/src/components/DebugSpace.stories.d.ts.map +1 -1
  16. package/dist/types/src/components/ObjectCreator.d.ts.map +1 -1
  17. package/dist/types/src/components/Tree.d.ts +0 -2
  18. package/dist/types/src/components/Tree.d.ts.map +1 -1
  19. package/dist/types/src/components/index.d.ts +0 -1
  20. package/dist/types/src/components/index.d.ts.map +1 -1
  21. package/dist/types/src/meta.d.ts +1 -4
  22. package/dist/types/src/meta.d.ts.map +1 -1
  23. package/dist/types/src/scaffolding/generator.d.ts +1 -2
  24. package/dist/types/src/scaffolding/generator.d.ts.map +1 -1
  25. package/package.json +41 -41
  26. package/src/DebugPlugin.tsx +6 -9
  27. package/src/components/DebugGlobal.tsx +3 -4
  28. package/src/components/DebugSpace.stories.tsx +2 -2
  29. package/src/components/DebugSpace.tsx +1 -1
  30. package/src/components/ObjectCreator.tsx +0 -8
  31. package/src/components/Tree.tsx +3 -13
  32. package/src/components/index.ts +0 -1
  33. package/src/meta.tsx +1 -5
  34. package/src/scaffolding/generator.ts +1 -14
  35. package/dist/lib/browser/DebugGlobal-H37KGFEG.mjs.map +0 -7
  36. package/dist/lib/browser/DebugSpace-KDKLS264.mjs.map +0 -7
  37. package/dist/lib/browser/DevtoolsMain-DTAWVF22.mjs +0 -16
  38. package/dist/lib/browser/DevtoolsMain-DTAWVF22.mjs.map +0 -7
  39. package/dist/lib/browser/chunk-WEGYHXMB.mjs.map +0 -7
  40. package/dist/types/src/components/DevtoolsMain.d.ts +0 -4
  41. package/dist/types/src/components/DevtoolsMain.d.ts.map +0 -1
  42. package/dist/types/src/types.test.d.ts +0 -2
  43. package/dist/types/src/types.test.d.ts.map +0 -1
  44. package/src/components/DevtoolsMain.tsx +0 -16
  45. package/src/types.test.ts +0 -13
  46. /package/dist/lib/browser/{chunk-RYK3J66D.mjs.map → chunk-G6OQPL2E.mjs.map} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-debug",
3
- "version": "0.6.11-staging.e6894a4",
3
+ "version": "0.6.12-main.15a606f",
4
4
  "description": "DXOS Surface plugin for testing.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -36,57 +36,57 @@
36
36
  "react-json-tree": "^0.18.0",
37
37
  "react-resize-detector": "^11.0.1",
38
38
  "react-syntax-highlighter": "^15.5.0",
39
- "@dxos/app-framework": "0.6.11-staging.e6894a4",
40
- "@dxos/automerge": "0.6.11-staging.e6894a4",
41
- "@dxos/async": "0.6.11-staging.e6894a4",
42
- "@dxos/config": "0.6.11-staging.e6894a4",
43
- "@dxos/devtools": "0.6.11-staging.e6894a4",
44
- "@dxos/echo-generator": "0.6.11-staging.e6894a4",
45
- "@dxos/client-services": "0.6.11-staging.e6894a4",
46
- "@dxos/echo-pipeline": "0.6.11-staging.e6894a4",
47
- "@dxos/echo-schema": "0.6.11-staging.e6894a4",
48
- "@dxos/local-storage": "0.6.11-staging.e6894a4",
49
- "@dxos/log": "0.6.11-staging.e6894a4",
50
- "@dxos/plugin-client": "0.6.11-staging.e6894a4",
51
- "@dxos/plugin-graph": "0.6.11-staging.e6894a4",
52
- "@dxos/keys": "0.6.11-staging.e6894a4",
53
- "@dxos/plugin-markdown": "0.6.11-staging.e6894a4",
54
- "@dxos/invariant": "0.6.11-staging.e6894a4",
55
- "@dxos/plugin-settings": "0.6.11-staging.e6894a4",
56
- "@dxos/plugin-sheet": "0.6.11-staging.e6894a4",
57
- "@dxos/plugin-sketch": "0.6.11-staging.e6894a4",
58
- "@dxos/plugin-space": "0.6.11-staging.e6894a4",
59
- "@dxos/plugin-status-bar": "0.6.11-staging.e6894a4",
60
- "@dxos/plugin-theme": "0.6.11-staging.e6894a4",
61
- "@dxos/random": "0.6.11-staging.e6894a4",
62
- "@dxos/plugin-table": "0.6.11-staging.e6894a4",
63
- "@dxos/protocols": "0.6.11-staging.e6894a4",
64
- "@dxos/react-async": "0.6.11-staging.e6894a4",
65
- "@dxos/react-client": "0.6.11-staging.e6894a4",
66
- "@dxos/react-ui-table": "0.6.11-staging.e6894a4",
67
- "@dxos/util": "0.6.11-staging.e6894a4",
68
- "@dxos/react-ui-attention": "0.6.11-staging.e6894a4"
39
+ "@dxos/app-framework": "0.6.12-main.15a606f",
40
+ "@dxos/async": "0.6.12-main.15a606f",
41
+ "@dxos/automerge": "0.6.12-main.15a606f",
42
+ "@dxos/client-services": "0.6.12-main.15a606f",
43
+ "@dxos/devtools": "0.6.12-main.15a606f",
44
+ "@dxos/config": "0.6.12-main.15a606f",
45
+ "@dxos/echo-generator": "0.6.12-main.15a606f",
46
+ "@dxos/echo-pipeline": "0.6.12-main.15a606f",
47
+ "@dxos/echo-schema": "0.6.12-main.15a606f",
48
+ "@dxos/keys": "0.6.12-main.15a606f",
49
+ "@dxos/invariant": "0.6.12-main.15a606f",
50
+ "@dxos/log": "0.6.12-main.15a606f",
51
+ "@dxos/plugin-client": "0.6.12-main.15a606f",
52
+ "@dxos/local-storage": "0.6.12-main.15a606f",
53
+ "@dxos/plugin-graph": "0.6.12-main.15a606f",
54
+ "@dxos/plugin-markdown": "0.6.12-main.15a606f",
55
+ "@dxos/plugin-sketch": "0.6.12-main.15a606f",
56
+ "@dxos/plugin-status-bar": "0.6.12-main.15a606f",
57
+ "@dxos/plugin-theme": "0.6.12-main.15a606f",
58
+ "@dxos/plugin-table": "0.6.12-main.15a606f",
59
+ "@dxos/plugin-space": "0.6.12-main.15a606f",
60
+ "@dxos/protocols": "0.6.12-main.15a606f",
61
+ "@dxos/random": "0.6.12-main.15a606f",
62
+ "@dxos/react-hooks": "0.6.12-main.15a606f",
63
+ "@dxos/react-client": "0.6.12-main.15a606f",
64
+ "@dxos/react-ui-attention": "0.6.12-main.15a606f",
65
+ "@dxos/plugin-settings": "0.6.12-main.15a606f",
66
+ "@dxos/react-ui-syntax-highlighter": "0.6.12-main.15a606f",
67
+ "@dxos/react-ui-table": "0.6.12-main.15a606f",
68
+ "@dxos/util": "0.6.12-main.15a606f"
69
69
  },
70
70
  "devDependencies": {
71
71
  "@phosphor-icons/react": "^2.1.5",
72
72
  "@types/lodash.get": "^4.4.7",
73
73
  "@types/react": "~18.2.0",
74
74
  "@types/react-dom": "~18.2.0",
75
- "@types/react-syntax-highlighter": "^15.5.5",
75
+ "@types/react-syntax-highlighter": "^15.5.13",
76
76
  "react": "~18.2.0",
77
77
  "react-dom": "~18.2.0",
78
- "vite": "^5.3.4",
79
- "@dxos/random": "0.6.11-staging.e6894a4",
80
- "@dxos/react-ui-theme": "0.6.11-staging.e6894a4",
81
- "@dxos/storybook-utils": "0.6.11-staging.e6894a4",
82
- "@dxos/react-ui": "0.6.11-staging.e6894a4"
78
+ "vite": "5.4.7",
79
+ "@dxos/random": "0.6.12-main.15a606f",
80
+ "@dxos/react-ui": "0.6.12-main.15a606f",
81
+ "@dxos/react-ui-theme": "0.6.12-main.15a606f",
82
+ "@dxos/storybook-utils": "0.6.12-main.15a606f"
83
83
  },
84
84
  "peerDependencies": {
85
85
  "@phosphor-icons/react": "^2.1.5",
86
- "react": "^18.0.0",
87
- "react-dom": "^18.0.0",
88
- "@dxos/react-ui-theme": "0.6.11-staging.e6894a4",
89
- "@dxos/react-ui": "0.6.11-staging.e6894a4"
86
+ "react": "~18.2.0",
87
+ "react-dom": "~18.2.0",
88
+ "@dxos/react-ui-theme": "0.6.12-main.15a606f",
89
+ "@dxos/react-ui": "0.6.12-main.15a606f"
90
90
  },
91
91
  "publishConfig": {
92
92
  "access": "public"
@@ -2,7 +2,6 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { Bug, Hammer, type IconProps } from '@phosphor-icons/react';
6
5
  import React, { type ReactNode, useEffect, useState } from 'react';
7
6
 
8
7
  import {
@@ -15,6 +14,7 @@ import {
15
14
  type PluginDefinition,
16
15
  } from '@dxos/app-framework';
17
16
  import { Timer } from '@dxos/async';
17
+ import { Devtools } from '@dxos/devtools';
18
18
  import { LocalStorageStore } from '@dxos/local-storage';
19
19
  import { type ClientPluginProvides } from '@dxos/plugin-client';
20
20
  import { createExtension, Graph, type Node } from '@dxos/plugin-graph';
@@ -30,7 +30,7 @@ import {
30
30
  bottombarBlockPaddingEnd,
31
31
  } from '@dxos/react-ui-theme';
32
32
 
33
- import { DebugGlobal, DebugSettings, DebugSpace, DebugStatus, DevtoolsMain, Wireframe } from './components';
33
+ import { DebugGlobal, DebugSettings, DebugSpace, DebugStatus, Wireframe } from './components';
34
34
  import meta, { DEBUG_PLUGIN } from './meta';
35
35
  import translations from './translations';
36
36
  import { DebugContext, type DebugSettingsProps, type DebugPluginProvides, DebugAction } from './types';
@@ -111,8 +111,7 @@ export const DebugPlugin = (): PluginDefinition<DebugPluginProvides> => {
111
111
  type: 'dxos.org/plugin/debug/devtools',
112
112
  properties: {
113
113
  label: ['devtools label', { ns: DEBUG_PLUGIN }],
114
- icon: (props: IconProps) => <Hammer {...props} />,
115
- iconSymbol: 'ph--hammer--regular',
114
+ icon: 'ph--hammer--regular',
116
115
  },
117
116
  },
118
117
  ],
@@ -129,8 +128,7 @@ export const DebugPlugin = (): PluginDefinition<DebugPluginProvides> => {
129
128
  data: { graph: graphPlugin?.provides.graph },
130
129
  properties: {
131
130
  label: ['debug label', { ns: DEBUG_PLUGIN }],
132
- icon: (props: IconProps) => <Bug {...props} />,
133
- iconSymbol: 'ph--bug--regular',
131
+ icon: 'ph--bug--regular',
134
132
  },
135
133
  },
136
134
  ],
@@ -149,8 +147,7 @@ export const DebugPlugin = (): PluginDefinition<DebugPluginProvides> => {
149
147
  data: { space },
150
148
  properties: {
151
149
  label: ['debug label', { ns: DEBUG_PLUGIN }],
152
- icon: (props: IconProps) => <Bug {...props} />,
153
- iconSymbol: 'ph--bug--regular',
150
+ icon: 'ph--bug--regular',
154
151
  },
155
152
  },
156
153
  ];
@@ -197,7 +194,7 @@ export const DebugPlugin = (): PluginDefinition<DebugPluginProvides> => {
197
194
  let component: ReactNode;
198
195
  if (role === 'main' || role === 'article') {
199
196
  if (primary === 'devtools' && settings.values.devtools) {
200
- component = <DevtoolsMain />;
197
+ component = <Devtools />;
201
198
  } else if (!primary || typeof primary !== 'object' || !settings.values.debug) {
202
199
  component = null;
203
200
  } else if ('space' in primary && isSpace(primary.space)) {
@@ -7,14 +7,13 @@ import React, { type FC, useEffect, useState } from 'react';
7
7
 
8
8
  import { type Graph } from '@dxos/plugin-graph';
9
9
  import { useClient, useConfig } from '@dxos/react-client';
10
- import { Button, ToggleGroup, ToggleGroupItem, useThemeContext } from '@dxos/react-ui';
10
+ import { Button, ToggleGroup, ToggleGroupItem } from '@dxos/react-ui';
11
11
  import { getSize, mx } from '@dxos/react-ui-theme';
12
12
 
13
13
  import { DebugPanel } from './DebugPanel';
14
14
  import { Json, Tree } from './Tree';
15
15
 
16
16
  const DebugGlobal: FC<{ graph: Graph }> = ({ graph }) => {
17
- const { themeMode } = useThemeContext();
18
17
  const [view, setView] = useState<'config' | 'diagnostics' | 'graph'>('graph');
19
18
  const [data, setData] = useState<any>({});
20
19
  const client = useClient();
@@ -71,8 +70,8 @@ const DebugGlobal: FC<{ graph: Graph }> = ({ graph }) => {
71
70
  }
72
71
  >
73
72
  {view === 'graph' && <Tree data={graph.toJSON()} />}
74
- {view === 'config' && <Json theme={themeMode} data={data.diagnostics?.config} />}
75
- {view === 'diagnostics' && <Json theme={themeMode} data={data} />}
73
+ {view === 'config' && <Json data={data.diagnostics?.config} />}
74
+ {view === 'diagnostics' && <Json data={data} />}
76
75
  </DebugPanel>
77
76
  );
78
77
  };
@@ -4,7 +4,7 @@
4
4
 
5
5
  import '@dxos-theme';
6
6
 
7
- import React, { type FC, useEffect } from 'react';
7
+ import React, { useEffect } from 'react';
8
8
 
9
9
  import { createSpaceObjectGenerator } from '@dxos/echo-generator';
10
10
  import { useSpaces } from '@dxos/react-client/echo';
@@ -12,7 +12,7 @@ import { ClientRepeater } from '@dxos/react-client/testing';
12
12
 
13
13
  import DebugSpace from './DebugSpace';
14
14
 
15
- const Story: FC = () => {
15
+ const Story = () => {
16
16
  const [space] = useSpaces();
17
17
  useEffect(() => {
18
18
  if (space) {
@@ -19,10 +19,10 @@ import { type ReactiveObject } from '@dxos/echo-schema';
19
19
  import { DocumentType } from '@dxos/plugin-markdown/types';
20
20
  import { Invitation } from '@dxos/protocols/proto/dxos/client/services';
21
21
  import { faker } from '@dxos/random';
22
- import { useAsyncEffect } from '@dxos/react-async';
23
22
  import { useClient } from '@dxos/react-client';
24
23
  import { Filter, type Space, useSpaceInvitation } from '@dxos/react-client/echo';
25
24
  import { InvitationEncoder } from '@dxos/react-client/invitations';
25
+ import { useAsyncEffect } from '@dxos/react-hooks';
26
26
  import { Button, Input, useFileDownload } from '@dxos/react-ui';
27
27
  import { getSize, mx } from '@dxos/react-ui-theme';
28
28
  import { safeParseInt } from '@dxos/util';
@@ -45,14 +45,6 @@ export const ObjectCreator: FC<{
45
45
  mutationSize: 10,
46
46
  maxContentLength: 1000,
47
47
  },
48
- {
49
- enabled: true,
50
- schema: SchemasNames.sheet,
51
- objectsCount: 10,
52
- mutationsCount: 10,
53
- mutationSize: 10,
54
- maxContentLength: 1000,
55
- },
56
48
  ]);
57
49
 
58
50
  const handleCreate = async () => {
@@ -3,13 +3,8 @@
3
3
  //
4
4
 
5
5
  import React, { type FC, type HTMLAttributes, useState } from 'react';
6
- import SyntaxHighlighter from 'react-syntax-highlighter';
7
- // eslint-disable-next-line no-restricted-imports
8
- import styleDark from 'react-syntax-highlighter/dist/esm/styles/hljs/a11y-dark';
9
- // eslint-disable-next-line no-restricted-imports
10
- import styleLight from 'react-syntax-highlighter/dist/esm/styles/hljs/a11y-light';
11
6
 
12
- import { type ThemeMode } from '@dxos/react-ui';
7
+ import { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';
13
8
  import { mx } from '@dxos/react-ui-theme';
14
9
  import { arrayToBuffer } from '@dxos/util';
15
10
 
@@ -33,13 +28,8 @@ export const replacer = (key: any, value: any) => {
33
28
  return value;
34
29
  };
35
30
 
36
- export const Json: FC<{ data?: object; theme: ThemeMode }> = ({ data, theme }) => {
37
- const style = theme === 'dark' ? styleDark : styleLight;
38
- return (
39
- <SyntaxHighlighter language='json' style={style} className='w-full'>
40
- {JSON.stringify(data, replacer, 2)}
41
- </SyntaxHighlighter>
42
- );
31
+ export const Json: FC<{ data?: object }> = ({ data }) => {
32
+ return <SyntaxHighlighter language='json'>{JSON.stringify(data, replacer, 2)}</SyntaxHighlighter>;
43
33
  };
44
34
 
45
35
  export const Tree: FC<{ data?: object }> = ({ data }) => {
@@ -7,7 +7,6 @@ import React from 'react';
7
7
  // Lazily load components for content surfaces.
8
8
  export const DebugGlobal = React.lazy(() => import('./DebugGlobal'));
9
9
  export const DebugSpace = React.lazy(() => import('./DebugSpace'));
10
- export const DevtoolsMain = React.lazy(() => import('./DevtoolsMain'));
11
10
 
12
11
  export * from './DebugSettings';
13
12
  export * from './DebugStatus';
package/src/meta.tsx CHANGED
@@ -2,9 +2,6 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { Bug, type IconProps } from '@phosphor-icons/react';
6
- import React from 'react';
7
-
8
5
  import { pluginMeta } from '@dxos/app-framework';
9
6
 
10
7
  export const DEBUG_PLUGIN = 'dxos.org/plugin/debug';
@@ -14,6 +11,5 @@ export default pluginMeta({
14
11
  name: 'Debug',
15
12
  description: 'DXOS debugging tools.',
16
13
  tags: ['experimental'],
17
- iconComponent: (props: IconProps) => <Bug {...props} />,
18
- iconSymbol: 'ph--bug--regular',
14
+ icon: 'ph--bug--regular',
19
15
  });
@@ -22,9 +22,7 @@ import {
22
22
  import { create } from '@dxos/echo-schema';
23
23
  import { log } from '@dxos/log';
24
24
  import { DocumentType, TextType } from '@dxos/plugin-markdown/types';
25
- import { createTestSheet } from '@dxos/plugin-sheet/testing';
26
- import { SheetType } from '@dxos/plugin-sheet/types';
27
- import { TLDrawStoreAdapter } from '@dxos/plugin-sketch';
25
+ import { TLDrawStoreAdapter } from '@dxos/plugin-sketch/sdk';
28
26
  import { CanvasType, DiagramType, TLDRAW_SCHEMA } from '@dxos/plugin-sketch/types';
29
27
  import { faker } from '@dxos/random';
30
28
  import { createDocAccessor, type Space } from '@dxos/react-client/echo';
@@ -33,13 +31,11 @@ import { createDocAccessor, type Space } from '@dxos/react-client/echo';
33
31
  export enum SchemasNames {
34
32
  document = 'dxos.org/type/Document',
35
33
  diagram = 'dxos.org/type/Diagram',
36
- sheet = 'dxos.org/type/SheetType',
37
34
  }
38
35
 
39
36
  export const SchemasMap: TestSchemaMap<SchemasNames> = {
40
37
  [SchemasNames.document]: DocumentType,
41
38
  [SchemasNames.diagram]: DiagramType,
42
- [SchemasNames.sheet]: SheetType,
43
39
  };
44
40
 
45
41
  export const ObjectGenerators: TestGeneratorMap<SchemasNames> = {
@@ -55,11 +51,6 @@ export const ObjectGenerators: TestGeneratorMap<SchemasNames> = {
55
51
  canvas: create(CanvasType, { schema: TLDRAW_SCHEMA, content: {} }),
56
52
  };
57
53
  },
58
-
59
- [SchemasNames.sheet]: () => {
60
- const name = faker.lorem.sentence({ min: 2, max: 3 });
61
- return createTestSheet({ name });
62
- },
63
54
  };
64
55
 
65
56
  export const MutationsGenerators: TestMutationsMap<SchemasNames> = {
@@ -147,10 +138,6 @@ export const MutationsGenerators: TestMutationsMap<SchemasNames> = {
147
138
  }
148
139
  }
149
140
  },
150
-
151
- [SchemasNames.sheet]: async (object, params) => {
152
- // TODO: Implement.
153
- },
154
141
  };
155
142
 
156
143
  export const createSpaceObjectGenerator = (space: Space) =>
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/DebugGlobal.tsx", "../../../src/components/Tree.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Gauge, Graph as GraphIcon, Gear, Toolbox, Warning } from '@phosphor-icons/react';\nimport React, { type FC, useEffect, useState } from 'react';\n\nimport { type Graph } from '@dxos/plugin-graph';\nimport { useClient, useConfig } from '@dxos/react-client';\nimport { Button, ToggleGroup, ToggleGroupItem, useThemeContext } from '@dxos/react-ui';\nimport { getSize, mx } from '@dxos/react-ui-theme';\n\nimport { DebugPanel } from './DebugPanel';\nimport { Json, Tree } from './Tree';\n\nconst DebugGlobal: FC<{ graph: Graph }> = ({ graph }) => {\n const { themeMode } = useThemeContext();\n const [view, setView] = useState<'config' | 'diagnostics' | 'graph'>('graph');\n const [data, setData] = useState<any>({});\n const client = useClient();\n const config = useConfig();\n const handleRefresh = async () => {\n const data = await client.diagnostics({ truncate: true });\n setData(data);\n };\n useEffect(() => {\n void handleRefresh();\n }, []);\n\n const handleResetClient = async (force = false) => {\n if (!force && !window.confirm('Reset storage?')) {\n return;\n }\n\n // TODO(burdon): Throws exception.\n await client.reset();\n window.location.href = window.location.origin;\n };\n\n const handleOpenDevtools = () => {\n const vaultUrl = config.values?.runtime?.client?.remoteSource;\n if (vaultUrl) {\n window.open(`https://devtools.dev.dxos.org/?target=${vaultUrl}`);\n }\n };\n\n return (\n <DebugPanel\n menu={\n <>\n <ToggleGroup type='single' value={view}>\n <ToggleGroupItem value={'graph'} onClick={() => setView('graph')} title={'Plugin graph'}>\n <GraphIcon className={getSize(5)} />\n </ToggleGroupItem>\n <ToggleGroupItem value={'diagnostics'} onClick={() => setView('diagnostics')} title={'Diagnostics'}>\n <Gauge className={getSize(5)} />\n </ToggleGroupItem>\n <ToggleGroupItem value={'config'} onClick={() => setView('config')} title={'Config'}>\n <Gear className={getSize(5)} />\n </ToggleGroupItem>\n </ToggleGroup>\n\n <div className='grow' />\n <Button onClick={(event) => handleResetClient(event.shiftKey)} title='Reset client'>\n <Warning className={mx(getSize(5), 'text-red-700')} />\n </Button>\n <Button onClick={handleOpenDevtools} title='Open Devtools'>\n <Toolbox weight='duotone' className={mx(getSize(5), 'text-700')} />\n </Button>\n </>\n }\n >\n {view === 'graph' && <Tree data={graph.toJSON()} />}\n {view === 'config' && <Json theme={themeMode} data={data.diagnostics?.config} />}\n {view === 'diagnostics' && <Json theme={themeMode} data={data} />}\n </DebugPanel>\n );\n};\n\nexport default DebugGlobal;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type FC, type HTMLAttributes, useState } from 'react';\nimport SyntaxHighlighter from 'react-syntax-highlighter';\n// eslint-disable-next-line no-restricted-imports\nimport styleDark from 'react-syntax-highlighter/dist/esm/styles/hljs/a11y-dark';\n// eslint-disable-next-line no-restricted-imports\nimport styleLight from 'react-syntax-highlighter/dist/esm/styles/hljs/a11y-light';\n\nimport { type ThemeMode } from '@dxos/react-ui';\nimport { mx } from '@dxos/react-ui-theme';\nimport { arrayToBuffer } from '@dxos/util';\n\n// TODO(burdon): Copied form devtools.\n\nexport const replacer = (key: any, value: any) => {\n if (typeof value === 'object') {\n if (value instanceof Uint8Array) {\n return arrayToBuffer(value).toString('hex');\n }\n\n if (value?.type === 'Buffer') {\n return Buffer.from(value.data).toString('hex');\n }\n\n if (key === 'downloaded') {\n return undefined;\n }\n }\n\n return value;\n};\n\nexport const Json: FC<{ data?: object; theme: ThemeMode }> = ({ data, theme }) => {\n const style = theme === 'dark' ? styleDark : styleLight;\n return (\n <SyntaxHighlighter language='json' style={style} className='w-full'>\n {JSON.stringify(data, replacer, 2)}\n </SyntaxHighlighter>\n );\n};\n\nexport const Tree: FC<{ data?: object }> = ({ data }) => {\n return (\n <div className='flex overflow-auto ml-2 border-l-2 border-blue-500'>\n <Node data={data} root />\n </div>\n );\n};\n\nexport const Node: FC<{ data?: any; root?: boolean }> = ({ data, root }) => {\n if (typeof data !== 'object' || data === undefined || data === null) {\n return <Scalar value={data} />;\n }\n\n if (Array.isArray(data)) {\n return (\n <div className='flex flex-col space-y-2'>\n {data.map((value, index) => (\n <KeyValue key={index} label={String(index)} data={value} className='bg-teal-50' />\n ))}\n </div>\n );\n }\n\n return (\n <div className='flex flex-col space-y-2'>\n {Object.entries(data).map(([key, value]) => (\n <KeyValue key={key} label={key} data={value} className='bg-blue-50' />\n ))}\n </div>\n );\n};\n\nexport const KeyValue: FC<{ label: string; data?: any; className?: string }> = ({ label, data, className }) => {\n const [open, setOpen] = useState(true);\n if (data === undefined) {\n return null;\n }\n\n return (\n <div className='flex'>\n <Box\n className={mx('border-blue-200 text-sm select-none cursor-pointer', className)}\n onClick={() => setOpen((open) => !open)}\n >\n {label}\n </Box>\n {open && <Node data={data} />}\n </div>\n );\n};\n\nconst Scalar: FC<{ value: any }> = ({ value }) => {\n return (\n <Box className='bg-green-50 border-green-200 rounded-r text-sm font-thin'>\n {(value === undefined && 'undefined') ||\n (value === null && 'null') ||\n (typeof value === 'string' && value) ||\n JSON.stringify(value)}\n </Box>\n );\n};\n\nconst Box: FC<HTMLAttributes<HTMLDivElement>> = ({ children, className, ...props }) => {\n return (\n <div className={mx('flex px-2 border border-l-0 font-mono truncate', className)} {...props}>\n {children}\n </div>\n );\n};\n"],
5
- "mappings": ";;;;;AAIA,SAASA,OAAOC,SAASC,WAAWC,MAAMC,SAASC,eAAe;AAClE,OAAOC,UAAkBC,WAAWC,YAAAA,iBAAgB;AAGpD,SAASC,WAAWC,iBAAiB;AACrC,SAASC,QAAQC,aAAaC,iBAAiBC,uBAAuB;AACtE,SAASC,SAASC,MAAAA,WAAU;;;ACN5B,OAAOC,SAAuCC,gBAAgB;AAC9D,OAAOC,uBAAuB;AAE9B,OAAOC,eAAe;AAEtB,OAAOC,gBAAgB;AAGvB,SAASC,UAAU;AACnB,SAASC,qBAAqB;AAIvB,IAAMC,WAAW,CAACC,KAAUC,UAAAA;AACjC,MAAI,OAAOA,UAAU,UAAU;AAC7B,QAAIA,iBAAiBC,YAAY;AAC/B,aAAOC,cAAcF,KAAAA,EAAOG,SAAS,KAAA;IACvC;AAEA,QAAIH,OAAOI,SAAS,UAAU;AAC5B,aAAOC,OAAOC,KAAKN,MAAMO,IAAI,EAAEJ,SAAS,KAAA;IAC1C;AAEA,QAAIJ,QAAQ,cAAc;AACxB,aAAOS;IACT;EACF;AAEA,SAAOR;AACT;AAEO,IAAMS,OAAgD,CAAC,EAAEF,MAAMG,MAAK,MAAE;AAC3E,QAAMC,QAAQD,UAAU,SAASE,YAAYC;AAC7C,SACE,sBAAA,cAACC,mBAAAA;IAAkBC,UAAS;IAAOJ;IAAcK,WAAU;KACxDC,KAAKC,UAAUX,MAAMT,UAAU,CAAA,CAAA;AAGtC;AAEO,IAAMqB,OAA8B,CAAC,EAAEZ,KAAI,MAAE;AAClD,SACE,sBAAA,cAACa,OAAAA;IAAIJ,WAAU;KACb,sBAAA,cAACK,MAAAA;IAAKd;IAAYe,MAAAA;;AAGxB;AAEO,IAAMD,OAA2C,CAAC,EAAEd,MAAMe,KAAI,MAAE;AACrE,MAAI,OAAOf,SAAS,YAAYA,SAASC,UAAaD,SAAS,MAAM;AACnE,WAAO,sBAAA,cAACgB,QAAAA;MAAOvB,OAAOO;;EACxB;AAEA,MAAIiB,MAAMC,QAAQlB,IAAAA,GAAO;AACvB,WACE,sBAAA,cAACa,OAAAA;MAAIJ,WAAU;OACZT,KAAKmB,IAAI,CAAC1B,OAAO2B,UAChB,sBAAA,cAACC,UAAAA;MAAS7B,KAAK4B;MAAOE,OAAOC,OAAOH,KAAAA;MAAQpB,MAAMP;MAAOgB,WAAU;;EAI3E;AAEA,SACE,sBAAA,cAACI,OAAAA;IAAIJ,WAAU;KACZe,OAAOC,QAAQzB,IAAAA,EAAMmB,IAAI,CAAC,CAAC3B,KAAKC,KAAAA,MAC/B,sBAAA,cAAC4B,UAAAA;IAAS7B;IAAU8B,OAAO9B;IAAKQ,MAAMP;IAAOgB,WAAU;;AAI/D;AAEO,IAAMY,WAAkE,CAAC,EAAEC,OAAOtB,MAAMS,UAAS,MAAE;AACxG,QAAM,CAACiB,MAAMC,OAAAA,IAAWC,SAAS,IAAA;AACjC,MAAI5B,SAASC,QAAW;AACtB,WAAO;EACT;AAEA,SACE,sBAAA,cAACY,OAAAA;IAAIJ,WAAU;KACb,sBAAA,cAACoB,KAAAA;IACCpB,WAAWqB,GAAG,sDAAsDrB,SAAAA;IACpEsB,SAAS,MAAMJ,QAAQ,CAACD,UAAS,CAACA,KAAAA;KAEjCJ,KAAAA,GAEFI,QAAQ,sBAAA,cAACZ,MAAAA;IAAKd;;AAGrB;AAEA,IAAMgB,SAA6B,CAAC,EAAEvB,MAAK,MAAE;AAC3C,SACE,sBAAA,cAACoC,KAAAA;IAAIpB,WAAU;KACXhB,UAAUQ,UAAa,eACtBR,UAAU,QAAQ,UAClB,OAAOA,UAAU,YAAYA,SAC9BiB,KAAKC,UAAUlB,KAAAA,CAAAA;AAGvB;AAEA,IAAMoC,MAA0C,CAAC,EAAEG,UAAUvB,WAAW,GAAGwB,MAAAA,MAAO;AAChF,SACE,sBAAA,cAACpB,OAAAA;IAAIJ,WAAWqB,GAAG,kDAAkDrB,SAAAA;IAAa,GAAGwB;KAClFD,QAAAA;AAGP;;;ADjGA,IAAME,cAAoC,CAAC,EAAEC,MAAK,MAAE;AAClD,QAAM,EAAEC,UAAS,IAAKC,gBAAAA;AACtB,QAAM,CAACC,MAAMC,OAAAA,IAAWC,UAA6C,OAAA;AACrE,QAAM,CAACC,MAAMC,OAAAA,IAAWF,UAAc,CAAC,CAAA;AACvC,QAAMG,SAASC,UAAAA;AACf,QAAMC,SAASC,UAAAA;AACf,QAAMC,gBAAgB,YAAA;AACpB,UAAMN,QAAO,MAAME,OAAOK,YAAY;MAAEC,UAAU;IAAK,CAAA;AACvDP,YAAQD,KAAAA;EACV;AACAS,YAAU,MAAA;AACR,SAAKH,cAAAA;EACP,GAAG,CAAA,CAAE;AAEL,QAAMI,oBAAoB,OAAOC,QAAQ,UAAK;AAC5C,QAAI,CAACA,SAAS,CAACC,OAAOC,QAAQ,gBAAA,GAAmB;AAC/C;IACF;AAGA,UAAMX,OAAOY,MAAK;AAClBF,WAAOG,SAASC,OAAOJ,OAAOG,SAASE;EACzC;AAEA,QAAMC,qBAAqB,MAAA;AACzB,UAAMC,WAAWf,OAAOgB,QAAQC,SAASnB,QAAQoB;AACjD,QAAIH,UAAU;AACZP,aAAOW,KAAK,yCAAyCJ,QAAAA,EAAU;IACjE;EACF;AAEA,SACE,gBAAAK,OAAA,cAACC,YAAAA;IACCC,MACE,gBAAAF,OAAA,cAAAA,OAAA,UAAA,MACE,gBAAAA,OAAA,cAACG,aAAAA;MAAYC,MAAK;MAASC,OAAOhC;OAChC,gBAAA2B,OAAA,cAACM,iBAAAA;MAAgBD,OAAO;MAASE,SAAS,MAAMjC,QAAQ,OAAA;MAAUkC,OAAO;OACvE,gBAAAR,OAAA,cAACS,WAAAA;MAAUC,WAAWC,QAAQ,CAAA;SAEhC,gBAAAX,OAAA,cAACM,iBAAAA;MAAgBD,OAAO;MAAeE,SAAS,MAAMjC,QAAQ,aAAA;MAAgBkC,OAAO;OACnF,gBAAAR,OAAA,cAACY,OAAAA;MAAMF,WAAWC,QAAQ,CAAA;SAE5B,gBAAAX,OAAA,cAACM,iBAAAA;MAAgBD,OAAO;MAAUE,SAAS,MAAMjC,QAAQ,QAAA;MAAWkC,OAAO;OACzE,gBAAAR,OAAA,cAACa,MAAAA;MAAKH,WAAWC,QAAQ,CAAA;UAI7B,gBAAAX,OAAA,cAACc,OAAAA;MAAIJ,WAAU;QACf,gBAAAV,OAAA,cAACe,QAAAA;MAAOR,SAAS,CAACS,UAAU9B,kBAAkB8B,MAAMC,QAAQ;MAAGT,OAAM;OACnE,gBAAAR,OAAA,cAACkB,SAAAA;MAAQR,WAAWS,IAAGR,QAAQ,CAAA,GAAI,cAAA;SAErC,gBAAAX,OAAA,cAACe,QAAAA;MAAOR,SAASb;MAAoBc,OAAM;OACzC,gBAAAR,OAAA,cAACoB,SAAAA;MAAQC,QAAO;MAAUX,WAAWS,IAAGR,QAAQ,CAAA,GAAI,UAAA;;KAKzDtC,SAAS,WAAW,gBAAA2B,OAAA,cAACsB,MAAAA;IAAK9C,MAAMN,MAAMqD,OAAM;MAC5ClD,SAAS,YAAY,gBAAA2B,OAAA,cAACwB,MAAAA;IAAKC,OAAOtD;IAAWK,MAAMA,KAAKO,aAAaH;MACrEP,SAAS,iBAAiB,gBAAA2B,OAAA,cAACwB,MAAAA;IAAKC,OAAOtD;IAAWK;;AAGzD;AAEA,IAAA,sBAAeP;",
6
- "names": ["Gauge", "Graph", "GraphIcon", "Gear", "Toolbox", "Warning", "React", "useEffect", "useState", "useClient", "useConfig", "Button", "ToggleGroup", "ToggleGroupItem", "useThemeContext", "getSize", "mx", "React", "useState", "SyntaxHighlighter", "styleDark", "styleLight", "mx", "arrayToBuffer", "replacer", "key", "value", "Uint8Array", "arrayToBuffer", "toString", "type", "Buffer", "from", "data", "undefined", "Json", "theme", "style", "styleDark", "styleLight", "SyntaxHighlighter", "language", "className", "JSON", "stringify", "Tree", "div", "Node", "root", "Scalar", "Array", "isArray", "map", "index", "KeyValue", "label", "String", "Object", "entries", "open", "setOpen", "useState", "Box", "mx", "onClick", "children", "props", "DebugGlobal", "graph", "themeMode", "useThemeContext", "view", "setView", "useState", "data", "setData", "client", "useClient", "config", "useConfig", "handleRefresh", "diagnostics", "truncate", "useEffect", "handleResetClient", "force", "window", "confirm", "reset", "location", "href", "origin", "handleOpenDevtools", "vaultUrl", "values", "runtime", "remoteSource", "open", "React", "DebugPanel", "menu", "ToggleGroup", "type", "value", "ToggleGroupItem", "onClick", "title", "GraphIcon", "className", "getSize", "Gauge", "Gear", "div", "Button", "event", "shiftKey", "Warning", "mx", "Toolbox", "weight", "Tree", "toJSON", "Json", "theme"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/DebugSpace.tsx", "../../../src/components/ObjectCreator.tsx", "../../../src/scaffolding/generator.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport {\n ArrowClockwise,\n DownloadSimple,\n Flag,\n FlagPennant,\n HandPalm,\n Play,\n PlusMinus,\n Timer,\n UserCirclePlus,\n} from '@phosphor-icons/react';\nimport React, { type FC, useContext, useMemo, useState } from 'react';\n\nimport { type ReactiveObject } from '@dxos/echo-schema';\nimport { DocumentType } from '@dxos/plugin-markdown/types';\nimport { Invitation } from '@dxos/protocols/proto/dxos/client/services';\nimport { faker } from '@dxos/random';\nimport { useAsyncEffect } from '@dxos/react-async';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, type Space, useSpaceInvitation } from '@dxos/react-client/echo';\nimport { InvitationEncoder } from '@dxos/react-client/invitations';\nimport { Button, Input, useFileDownload } from '@dxos/react-ui';\nimport { getSize, mx } from '@dxos/react-ui-theme';\nimport { safeParseInt } from '@dxos/util';\n\nimport { DebugPanel } from './DebugPanel';\nimport { ObjectCreator } from './ObjectCreator';\nimport { createSpaceObjectGenerator } from '../scaffolding';\nimport { DebugContext } from '../types';\n\nconst DEFAULT_COUNT = 100;\nconst DEFAULT_PERIOD = 500;\nconst DEFAULT_JITTER = 50;\n\n// TODO(burdon): Factor out.\nconst useRefresh = (): [any, () => void] => {\n const [update, setUpdate] = useState({});\n return [update, () => setUpdate({})];\n};\n\nconst DebugSpace: FC<{\n space: Space;\n onAddObjects?: (objects: ReactiveObject<any>[]) => void;\n}> = ({ space, onAddObjects }) => {\n const { connect } = useSpaceInvitation(space?.key);\n const client = useClient();\n const [data, setData] = useState<any>({});\n\n const [update, handleUpdate] = useRefresh();\n useAsyncEffect(\n async (isMounted) => {\n const data = await client.diagnostics({ truncate: true });\n if (isMounted()) {\n setData(\n data?.diagnostics?.spaces?.find(({ key }: any) => {\n return space.key.toHex().startsWith(key);\n }),\n );\n }\n },\n [space, update],\n );\n\n const download = useFileDownload();\n const handleCopy = async () => {\n download(\n new Blob([JSON.stringify(data, undefined, 2)], { type: 'text/plain' }),\n `${new Date().toISOString().replace(/\\W/g, '-')}.json`,\n );\n };\n\n const [mutationCount, setMutationCount] = useState(String(DEFAULT_COUNT));\n const [mutationInterval, setMutationInterval] = useState(String(DEFAULT_PERIOD));\n const [mutationJitter, setMutationJitter] = useState(String(DEFAULT_JITTER));\n\n const generator = useMemo(() => createSpaceObjectGenerator(space), [space]);\n\n // TODO(burdon): Note: this is shared across all spaces!\n const { running, start, stop } = useContext(DebugContext);\n const handleToggleRunning = () => {\n if (running) {\n stop();\n handleUpdate();\n } else {\n start(\n async () => {\n const { objects } = await space.db.query(Filter.schema(DocumentType)).run();\n if (objects.length) {\n const object = faker.helpers.arrayElement(objects);\n await generator.mutateObject(object, { count: 10, mutationSize: 10, maxContentLength: 1000 });\n }\n },\n {\n count: safeParseInt(mutationCount) ?? 0,\n interval: safeParseInt(mutationInterval) ?? 0,\n jitter: safeParseInt(mutationJitter) ?? 0,\n },\n );\n }\n };\n\n const handleCreateInvitation = () => {\n const invitation = space.share({\n type: Invitation.Type.INTERACTIVE,\n authMethod: Invitation.AuthMethod.NONE,\n multiUse: true,\n });\n\n // TODO(burdon): Refactor.\n // TODO(burdon): Unsubscribe?\n connect(invitation);\n const code = InvitationEncoder.encode(invitation.get());\n new URL(window.origin).searchParams.set('spaceInvitationCode', code);\n const url = `${window.origin}?spaceInvitationCode=${code}`;\n void navigator.clipboard.writeText(url);\n };\n\n const handleCreateEpoch = async () => {\n await space.internal.createEpoch();\n handleUpdate();\n };\n\n return (\n <DebugPanel\n menu={\n <>\n <div className='relative' title='mutation count'>\n <Input.Root>\n <Input.TextInput\n autoComplete='off'\n size={5}\n classNames='w-[100px] text-right pie-[22px]'\n placeholder='Count'\n value={mutationCount}\n onChange={({ target: { value } }) => setMutationCount(value)}\n />\n </Input.Root>\n <Flag className={mx('absolute inline-end-1 block-start-1 mt-[6px]', getSize(3))} />\n </div>\n <div className='relative' title='mutation period'>\n <Input.Root>\n <Input.TextInput\n autoComplete='off'\n size={5}\n classNames='w-[100px] text-right pie-[22px]'\n placeholder='Interval'\n value={mutationInterval}\n onChange={({ target: { value } }) => setMutationInterval(value)}\n />\n </Input.Root>\n <Timer className={mx('absolute inline-end-1 block-start-1 mt-[6px]', getSize(3))} />\n </div>\n <div className='relative' title='mutation jitter'>\n <Input.Root>\n <Input.TextInput\n autoComplete='off'\n size={5}\n classNames='w-[100px] text-right pie-[22px]'\n placeholder='Jitter'\n value={mutationJitter}\n onChange={({ target: { value } }) => setMutationJitter(value)}\n />\n </Input.Root>\n <PlusMinus className={mx('absolute inline-end-1 block-start-1 mt-[6px]', getSize(3))} />\n </div>\n <Button onClick={handleToggleRunning}>\n {running ? <HandPalm className={getSize(5)} /> : <Play className={getSize(5)} />}\n </Button>\n <Button onClick={handleUpdate}>\n <ArrowClockwise className={getSize(5)} />\n </Button>\n <Button onClick={handleCopy}>\n <DownloadSimple className={getSize(5)} />\n </Button>\n\n <div className='grow' />\n <Button onClick={handleCreateEpoch} title='Create epoch'>\n <FlagPennant className={mx(getSize(5))} />\n </Button>\n <Button onClick={handleCreateInvitation} title='Create Space invitation'>\n <UserCirclePlus className={mx(getSize(5), 'text-blue-500')} />\n </Button>\n </>\n }\n >\n <ObjectCreator space={space} onAddObjects={onAddObjects} />\n </DebugPanel>\n );\n};\n\nexport default DebugSpace;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type FC, useMemo, useState } from 'react';\n\nimport { type EchoReactiveObject, type ReactiveObject } from '@dxos/echo-schema';\nimport { type Space } from '@dxos/react-client/echo';\nimport { Button, DensityProvider } from '@dxos/react-ui';\nimport { createColumnBuilder, type TableColumnDef, Table } from '@dxos/react-ui-table';\n\nimport { SchemasNames, createSpaceObjectGenerator } from '../scaffolding';\n\nexport type CreateObjectsParams = {\n enabled: boolean;\n schema: SchemasNames;\n objectsCount: number;\n mutationsCount: number;\n maxContentLength: number;\n mutationSize: number;\n};\n\nconst CREATE_OBJECTS_IN_ONE_CHUNK = 10;\n\nexport const ObjectCreator: FC<{\n space: Space;\n onAddObjects?: (objects: ReactiveObject<any>[]) => void;\n}> = ({ space, onAddObjects }) => {\n const generator = useMemo(() => createSpaceObjectGenerator(space), [space]);\n\n const [objectsToCreate, setObjectsToCreate] = useState<CreateObjectsParams[]>([\n {\n enabled: true,\n schema: SchemasNames.document,\n objectsCount: 10,\n mutationsCount: 10,\n mutationSize: 10,\n maxContentLength: 1000,\n },\n {\n enabled: true,\n schema: SchemasNames.diagram,\n objectsCount: 10,\n mutationsCount: 10,\n mutationSize: 10,\n maxContentLength: 1000,\n },\n {\n enabled: true,\n schema: SchemasNames.sheet,\n objectsCount: 10,\n mutationsCount: 10,\n mutationSize: 10,\n maxContentLength: 1000,\n },\n ]);\n\n const handleCreate = async () => {\n for (const params of objectsToCreate) {\n if (!params.enabled) {\n continue;\n }\n let objectsCreated = 0;\n while (objectsCreated < params.objectsCount) {\n const objects = (await generator.createObjects({\n [params.schema]: Math.min(CREATE_OBJECTS_IN_ONE_CHUNK, params.objectsCount - objectsCreated),\n })) as EchoReactiveObject<any>[];\n\n await generator.mutateObjects(objects, {\n count: params.mutationsCount,\n mutationSize: params.mutationSize,\n maxContentLength: params.maxContentLength,\n });\n objectsCreated += objects.length;\n onAddObjects?.(objects);\n }\n }\n await space.db.flush();\n };\n const handleChangeOnRow = (row: CreateObjectsParams, key: string, value: any) => {\n const newObjects = [...objectsToCreate];\n Object.assign(newObjects.find((object) => object.schema === row.schema)!, { [key]: value });\n setObjectsToCreate(newObjects);\n };\n\n const { helper, builder } = createColumnBuilder<CreateObjectsParams>();\n const columns: TableColumnDef<CreateObjectsParams>[] = [\n helper.accessor('enabled', builder.switch({ label: 'Enabled', onUpdate: handleChangeOnRow })),\n helper.accessor('schema', builder.string({ classNames: 'font-mono', label: 'Schema' })),\n helper.accessor('objectsCount', builder.number({ label: 'Objects', onUpdate: handleChangeOnRow })),\n helper.accessor('mutationsCount', builder.number({ label: 'Mutations', onUpdate: handleChangeOnRow })),\n helper.accessor('mutationSize', builder.number({ label: 'Mut. Size', onUpdate: handleChangeOnRow })),\n helper.accessor('maxContentLength', builder.number({ label: 'Length', onUpdate: handleChangeOnRow })),\n ];\n\n return (\n <>\n <DensityProvider density={'fine'}>\n <Table.Root>\n <Table.Viewport>\n <Table.Main<CreateObjectsParams> columns={columns} data={objectsToCreate} />\n </Table.Viewport>\n </Table.Root>\n </DensityProvider>\n <Button onClick={handleCreate}>Create</Button>\n </>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport {\n createShapeId,\n defaultBindingUtils,\n defaultShapeUtils,\n defaultTools,\n Editor,\n type TLParentId,\n} from '@tldraw/tldraw';\n\nimport { sleep } from '@dxos/async';\nimport { next as A } from '@dxos/automerge/automerge';\nimport {\n SpaceObjectGenerator,\n type TestGeneratorMap,\n type TestMutationsMap,\n type TestSchemaMap,\n} from '@dxos/echo-generator';\nimport { create } from '@dxos/echo-schema';\nimport { log } from '@dxos/log';\nimport { DocumentType, TextType } from '@dxos/plugin-markdown/types';\nimport { createTestSheet } from '@dxos/plugin-sheet/testing';\nimport { SheetType } from '@dxos/plugin-sheet/types';\nimport { TLDrawStoreAdapter } from '@dxos/plugin-sketch';\nimport { CanvasType, DiagramType, TLDRAW_SCHEMA } from '@dxos/plugin-sketch/types';\nimport { faker } from '@dxos/random';\nimport { createDocAccessor, type Space } from '@dxos/react-client/echo';\n\n// TODO(wittjosiah): Remove? Just use typenames.\nexport enum SchemasNames {\n document = 'dxos.org/type/Document',\n diagram = 'dxos.org/type/Diagram',\n sheet = 'dxos.org/type/SheetType',\n}\n\nexport const SchemasMap: TestSchemaMap<SchemasNames> = {\n [SchemasNames.document]: DocumentType,\n [SchemasNames.diagram]: DiagramType,\n [SchemasNames.sheet]: SheetType,\n};\n\nexport const ObjectGenerators: TestGeneratorMap<SchemasNames> = {\n [SchemasNames.document]: () => {\n const name = faker.lorem.sentence({ min: 2, max: 3 });\n return { name, content: create(TextType, { content: '' }), threads: [] };\n },\n\n [SchemasNames.diagram]: () => {\n const name = faker.lorem.sentence({ min: 2, max: 3 });\n return {\n name,\n canvas: create(CanvasType, { schema: TLDRAW_SCHEMA, content: {} }),\n };\n },\n\n [SchemasNames.sheet]: () => {\n const name = faker.lorem.sentence({ min: 2, max: 3 });\n return createTestSheet({ name });\n },\n};\n\nexport const MutationsGenerators: TestMutationsMap<SchemasNames> = {\n [SchemasNames.document]: async (object, params) => {\n const accessor = createDocAccessor<DocumentType>(object.content, ['content']);\n\n for (let i = 0; i < params.count; i++) {\n const length = object.content?.content?.length ?? 0;\n accessor.handle.change((doc) => {\n A.splice(\n doc,\n accessor.path.slice(),\n 0,\n params.maxContentLength >= length ? 0 : params.mutationSize,\n faker.string.hexadecimal({ length: params.mutationSize - 1 }) + ' ',\n );\n });\n\n // Release the event loop.\n if (i % 100 === 0 || i === params.count - 1) {\n log.info('Mutation:', { mutationIdx: i });\n await sleep(1);\n }\n }\n },\n\n [SchemasNames.diagram]: async (object, params) => {\n const store = new TLDrawStoreAdapter();\n await store.open(createDocAccessor<CanvasType>(object.canvas, ['content']));\n const app = new Editor({\n store: store.store!,\n shapeUtils: defaultShapeUtils,\n bindingUtils: defaultBindingUtils,\n tools: defaultTools,\n getContainer: () => document.getElementsByTagName('body')[0],\n });\n\n //\n // Draw spiral.\n //\n const r = 100;\n const a = 0.05;\n const cx = 200;\n const cy = 200;\n\n for (let i = 0; i < params.count; i++) {\n const t = i;\n const t1 = i + 1;\n const x = cx + a * t * r * Math.cos(t);\n const y = cy + a * t * r * Math.sin(t);\n const x1 = cx + a * t1 * r * Math.cos(t1);\n const y1 = cy + a * t1 * r * Math.sin(t1);\n\n app.createShape({\n id: createShapeId(),\n isLocked: false,\n meta: {},\n opacity: 1,\n parentId: 'page:page' as TLParentId,\n props: {\n arrowheadEnd: 'none',\n arrowheadStart: 'none',\n bend: 0,\n color: 'black',\n dash: 'draw',\n start: { x, y },\n end: { x: x1, y: y1 },\n fill: 'none',\n font: 'draw',\n labelColor: 'black',\n labelPosition: 0.5,\n scale: 1,\n size: 'm',\n },\n rotation: 0,\n type: 'arrow',\n typeName: 'shape',\n x: 0,\n y: 0,\n });\n\n // Release the event loop.\n if (i % 100 === 0) {\n await sleep(1);\n }\n }\n },\n\n [SchemasNames.sheet]: async (object, params) => {\n // TODO: Implement.\n },\n};\n\nexport const createSpaceObjectGenerator = (space: Space) =>\n new SpaceObjectGenerator(space, SchemasMap, ObjectGenerators, MutationsGenerators);\n"],
5
- "mappings": "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",
6
- "names": ["ArrowClockwise", "DownloadSimple", "Flag", "FlagPennant", "HandPalm", "Play", "PlusMinus", "Timer", "UserCirclePlus", "React", "useContext", "useMemo", "useState", "DocumentType", "Invitation", "faker", "useAsyncEffect", "useClient", "Filter", "useSpaceInvitation", "InvitationEncoder", "Button", "Input", "useFileDownload", "getSize", "mx", "safeParseInt", "React", "useMemo", "useState", "Button", "DensityProvider", "createColumnBuilder", "Table", "createShapeId", "defaultBindingUtils", "defaultShapeUtils", "defaultTools", "Editor", "sleep", "next", "A", "SpaceObjectGenerator", "create", "log", "DocumentType", "TextType", "createTestSheet", "SheetType", "TLDrawStoreAdapter", "CanvasType", "DiagramType", "TLDRAW_SCHEMA", "faker", "createDocAccessor", "SchemasNames", "SchemasMap", "ObjectGenerators", "name", "lorem", "sentence", "min", "max", "content", "threads", "canvas", "schema", "MutationsGenerators", "object", "params", "accessor", "i", "count", "length", "handle", "change", "doc", "splice", "path", "slice", "maxContentLength", "mutationSize", "string", "hexadecimal", "info", "mutationIdx", "store", "open", "app", "shapeUtils", "bindingUtils", "tools", "getContainer", "document", "getElementsByTagName", "r", "a", "cx", "cy", "t", "t1", "x", "Math", "cos", "y", "sin", "x1", "y1", "createShape", "id", "isLocked", "meta", "opacity", "parentId", "props", "arrowheadEnd", "arrowheadStart", "bend", "color", "dash", "start", "end", "fill", "font", "labelColor", "labelPosition", "scale", "size", "rotation", "type", "typeName", "createSpaceObjectGenerator", "space", "CREATE_OBJECTS_IN_ONE_CHUNK", "ObjectCreator", "space", "onAddObjects", "generator", "useMemo", "createSpaceObjectGenerator", "objectsToCreate", "setObjectsToCreate", "useState", "enabled", "schema", "SchemasNames", "document", "objectsCount", "mutationsCount", "mutationSize", "maxContentLength", "diagram", "sheet", "handleCreate", "params", "objectsCreated", "objects", "createObjects", "Math", "min", "mutateObjects", "count", "length", "db", "flush", "handleChangeOnRow", "row", "key", "value", "newObjects", "Object", "assign", "find", "object", "helper", "builder", "createColumnBuilder", "columns", "accessor", "switch", "label", "onUpdate", "string", "classNames", "number", "DensityProvider", "density", "Table", "Root", "Viewport", "Main", "data", "Button", "onClick", "DEFAULT_COUNT", "DEFAULT_PERIOD", "DEFAULT_JITTER", "useRefresh", "update", "setUpdate", "useState", "DebugSpace", "space", "onAddObjects", "connect", "useSpaceInvitation", "key", "client", "useClient", "data", "setData", "handleUpdate", "useAsyncEffect", "isMounted", "diagnostics", "truncate", "spaces", "find", "toHex", "startsWith", "download", "useFileDownload", "handleCopy", "Blob", "JSON", "stringify", "undefined", "type", "Date", "toISOString", "replace", "mutationCount", "setMutationCount", "String", "mutationInterval", "setMutationInterval", "mutationJitter", "setMutationJitter", "generator", "useMemo", "createSpaceObjectGenerator", "running", "start", "stop", "useContext", "DebugContext", "handleToggleRunning", "objects", "db", "query", "Filter", "schema", "DocumentType", "run", "length", "object", "faker", "helpers", "arrayElement", "mutateObject", "count", "mutationSize", "maxContentLength", "safeParseInt", "interval", "jitter", "handleCreateInvitation", "invitation", "share", "Invitation", "Type", "INTERACTIVE", "authMethod", "AuthMethod", "NONE", "multiUse", "code", "InvitationEncoder", "encode", "get", "URL", "window", "origin", "searchParams", "set", "url", "navigator", "clipboard", "writeText", "handleCreateEpoch", "internal", "createEpoch", "React", "DebugPanel", "menu", "div", "className", "title", "Input", "Root", "TextInput", "autoComplete", "size", "classNames", "placeholder", "value", "onChange", "target", "Flag", "mx", "getSize", "Timer", "PlusMinus", "Button", "onClick", "HandPalm", "Play", "ArrowClockwise", "DownloadSimple", "FlagPennant", "UserCirclePlus", "ObjectCreator"]
7
- }
@@ -1,16 +0,0 @@
1
- // packages/plugins/experimental/plugin-debug/src/components/DevtoolsMain.tsx
2
- import React from "react";
3
- import { Devtools } from "@dxos/devtools";
4
- import { useClient } from "@dxos/react-client";
5
- var DevtoolsMain = () => {
6
- const client = useClient();
7
- return /* @__PURE__ */ React.createElement(Devtools, {
8
- client,
9
- services: client.services.services
10
- });
11
- };
12
- var DevtoolsMain_default = DevtoolsMain;
13
- export {
14
- DevtoolsMain_default as default
15
- };
16
- //# sourceMappingURL=DevtoolsMain-DTAWVF22.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/DevtoolsMain.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Devtools } from '@dxos/devtools';\nimport { useClient, type ClientServices } from '@dxos/react-client';\n\nconst DevtoolsMain = () => {\n const client = useClient();\n\n return <Devtools client={client} services={client.services.services as ClientServices} />;\n};\n\nexport default DevtoolsMain;\n"],
5
- "mappings": ";AAIA,OAAOA,WAAW;AAElB,SAASC,gBAAgB;AACzB,SAASC,iBAAsC;AAE/C,IAAMC,eAAe,MAAA;AACnB,QAAMC,SAASC,UAAAA;AAEf,SAAO,sBAAA,cAACC,UAAAA;IAASF;IAAgBG,UAAUH,OAAOG,SAASA;;AAC7D;AAEA,IAAA,uBAAeJ;",
6
- "names": ["React", "Devtools", "useClient", "DevtoolsMain", "client", "useClient", "Devtools", "services"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/meta.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Bug, type IconProps } from '@phosphor-icons/react';\nimport React from 'react';\n\nimport { pluginMeta } from '@dxos/app-framework';\n\nexport const DEBUG_PLUGIN = 'dxos.org/plugin/debug';\n\nexport default pluginMeta({\n id: DEBUG_PLUGIN,\n name: 'Debug',\n description: 'DXOS debugging tools.',\n tags: ['experimental'],\n iconComponent: (props: IconProps) => <Bug {...props} />,\n iconSymbol: 'ph--bug--regular',\n});\n"],
5
- "mappings": ";AAIA,SAASA,WAA2B;AACpC,OAAOC,WAAW;AAElB,SAASC,kBAAkB;AAEpB,IAAMC,eAAe;AAE5B,IAAA,eAAeC,WAAW;EACxBC,IAAIF;EACJG,MAAM;EACNC,aAAa;EACbC,MAAM;IAAC;;EACPC,eAAe,CAACC,UAAqB,sBAAA,cAACC,KAAQD,KAAAA;EAC9CE,YAAY;AACd,CAAA;",
6
- "names": ["Bug", "React", "pluginMeta", "DEBUG_PLUGIN", "pluginMeta", "id", "name", "description", "tags", "iconComponent", "props", "Bug", "iconSymbol"]
7
- }
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- declare const DevtoolsMain: () => React.JSX.Element;
3
- export default DevtoolsMain;
4
- //# sourceMappingURL=DevtoolsMain.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DevtoolsMain.d.ts","sourceRoot":"","sources":["../../../../src/components/DevtoolsMain.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,QAAA,MAAM,YAAY,yBAIjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.test.d.ts","sourceRoot":"","sources":["../../../src/types.test.ts"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import React from 'react';
6
-
7
- import { Devtools } from '@dxos/devtools';
8
- import { useClient, type ClientServices } from '@dxos/react-client';
9
-
10
- const DevtoolsMain = () => {
11
- const client = useClient();
12
-
13
- return <Devtools client={client} services={client.services.services as ClientServices} />;
14
- };
15
-
16
- export default DevtoolsMain;
package/src/types.test.ts DELETED
@@ -1,13 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import { expect } from 'chai';
6
-
7
- import { describe, test } from '@dxos/test';
8
-
9
- describe('sanity', () => {
10
- test('basic', () => {
11
- expect(true).to.be.true;
12
- });
13
- });