@dxos/plugin-debug 0.6.13 → 0.6.14-main.69511f5
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.
- package/dist/lib/browser/{DebugGlobal-H56M2VL4.mjs → DebugGlobal-ZTCBF3XR.mjs} +5 -5
- package/dist/lib/browser/{DebugSpace-NHPMLATA.mjs → DebugSpace-I6BNZKI2.mjs} +16 -41
- package/dist/lib/browser/DebugSpace-I6BNZKI2.mjs.map +7 -0
- package/dist/lib/browser/chunk-2HTS7SNO.mjs +17 -0
- package/dist/lib/browser/chunk-2HTS7SNO.mjs.map +7 -0
- package/dist/lib/browser/{chunk-ED5L5YYI.mjs → chunk-H3BJHVRD.mjs} +5 -8
- package/dist/lib/browser/chunk-H3BJHVRD.mjs.map +7 -0
- package/dist/lib/browser/{chunk-RYK3J66D.mjs → chunk-NHHLZV45.mjs} +11 -4
- package/dist/lib/browser/chunk-NHHLZV45.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +248 -144
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/meta.mjs +1 -1
- package/dist/types/src/DebugPlugin.d.ts +1 -3
- package/dist/types/src/DebugPlugin.d.ts.map +1 -1
- package/dist/types/src/components/DebugObjectPanel.d.ts +7 -0
- package/dist/types/src/components/DebugObjectPanel.d.ts.map +1 -0
- package/dist/types/src/components/DebugPanel.d.ts +3 -3
- package/dist/types/src/components/DebugPanel.d.ts.map +1 -1
- package/dist/types/src/components/DebugSpace.stories.d.ts +3 -13
- package/dist/types/src/components/DebugSpace.stories.d.ts.map +1 -1
- package/dist/types/src/components/DebugStatus.d.ts.map +1 -1
- package/dist/types/src/components/ObjectCreator.d.ts +5 -5
- package/dist/types/src/components/ObjectCreator.d.ts.map +1 -1
- package/dist/types/src/components/ObjectCreator.stories.d.ts +3 -14
- package/dist/types/src/components/ObjectCreator.stories.d.ts.map +1 -1
- package/dist/types/src/components/SurfaceDebug.d.ts +9 -0
- package/dist/types/src/components/SurfaceDebug.d.ts.map +1 -0
- package/dist/types/src/components/Wireframe.d.ts +5 -4
- package/dist/types/src/components/Wireframe.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +3 -4
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +4 -9
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/scaffolding/generator.d.ts +1 -2
- package/dist/types/src/scaffolding/generator.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +8 -5
- package/dist/types/src/types.d.ts.map +1 -1
- package/package.json +45 -47
- package/src/DebugPlugin.tsx +134 -47
- package/src/components/DebugObjectPanel.tsx +22 -0
- package/src/components/DebugPanel.tsx +4 -9
- package/src/components/DebugSettings.tsx +13 -13
- package/src/components/DebugSpace.stories.tsx +6 -3
- package/src/components/DebugStatus.tsx +20 -13
- package/src/components/ObjectCreator.stories.tsx +13 -10
- package/src/components/ObjectCreator.tsx +12 -21
- package/src/components/SurfaceDebug.tsx +55 -0
- package/src/components/Wireframe.tsx +20 -11
- package/src/components/index.ts +4 -5
- package/src/meta.ts +15 -0
- package/src/scaffolding/generator.ts +4 -15
- package/src/types.ts +10 -5
- package/dist/lib/browser/DebugSpace-NHPMLATA.mjs.map +0 -7
- package/dist/lib/browser/DevtoolsMain-RWT3FLJ6.mjs +0 -15
- package/dist/lib/browser/DevtoolsMain-RWT3FLJ6.mjs.map +0 -7
- package/dist/lib/browser/chunk-ED5L5YYI.mjs.map +0 -7
- package/dist/lib/browser/chunk-RYK3J66D.mjs.map +0 -7
- package/dist/lib/browser/chunk-WEGYHXMB.mjs +0 -21
- package/dist/lib/browser/chunk-WEGYHXMB.mjs.map +0 -7
- package/dist/types/src/components/DevtoolsMain.d.ts +0 -4
- package/dist/types/src/components/DevtoolsMain.d.ts.map +0 -1
- package/dist/types/src/types.test.d.ts +0 -2
- package/dist/types/src/types.test.d.ts.map +0 -1
- package/src/components/DevtoolsMain.tsx +0 -15
- package/src/meta.tsx +0 -19
- package/src/types.test.ts +0 -13
- /package/dist/lib/browser/{DebugGlobal-H56M2VL4.mjs.map → DebugGlobal-ZTCBF3XR.mjs.map} +0 -0
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DebugPanel
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-H3BJHVRD.mjs";
|
|
4
4
|
|
|
5
|
-
// packages/plugins/
|
|
5
|
+
// packages/plugins/plugin-debug/src/components/DebugGlobal.tsx
|
|
6
6
|
import { Gauge, Graph as GraphIcon, Gear, Toolbox, Warning } from "@phosphor-icons/react";
|
|
7
7
|
import React2, { useEffect, useState as useState2 } from "react";
|
|
8
8
|
import { useClient, useConfig } from "@dxos/react-client";
|
|
9
9
|
import { Button, ToggleGroup, ToggleGroupItem } from "@dxos/react-ui";
|
|
10
10
|
import { getSize, mx as mx2 } from "@dxos/react-ui-theme";
|
|
11
11
|
|
|
12
|
-
// packages/plugins/
|
|
12
|
+
// packages/plugins/plugin-debug/src/components/Tree.tsx
|
|
13
13
|
import React, { useState } from "react";
|
|
14
14
|
import { SyntaxHighlighter } from "@dxos/react-ui-syntax-highlighter";
|
|
15
15
|
import { mx } from "@dxos/react-ui-theme";
|
|
@@ -92,7 +92,7 @@ var Box = ({ children, className, ...props }) => {
|
|
|
92
92
|
}, children);
|
|
93
93
|
};
|
|
94
94
|
|
|
95
|
-
// packages/plugins/
|
|
95
|
+
// packages/plugins/plugin-debug/src/components/DebugGlobal.tsx
|
|
96
96
|
var DebugGlobal = ({ graph }) => {
|
|
97
97
|
const [view, setView] = useState2("graph");
|
|
98
98
|
const [data, setData] = useState2({});
|
|
@@ -168,4 +168,4 @@ var DebugGlobal_default = DebugGlobal;
|
|
|
168
168
|
export {
|
|
169
169
|
DebugGlobal_default as default
|
|
170
170
|
};
|
|
171
|
-
//# sourceMappingURL=DebugGlobal-
|
|
171
|
+
//# sourceMappingURL=DebugGlobal-ZTCBF3XR.mjs.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DebugContext
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-NHHLZV45.mjs";
|
|
4
|
+
import "./chunk-2HTS7SNO.mjs";
|
|
5
5
|
import {
|
|
6
6
|
DebugPanel
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-H3BJHVRD.mjs";
|
|
8
8
|
|
|
9
|
-
// packages/plugins/
|
|
9
|
+
// packages/plugins/plugin-debug/src/components/DebugSpace.tsx
|
|
10
10
|
import { ArrowClockwise, DownloadSimple, Flag, FlagPennant, HandPalm, Play, PlusMinus, Timer, UserCirclePlus } from "@phosphor-icons/react";
|
|
11
11
|
import React2, { useContext, useMemo as useMemo2, useState as useState2 } from "react";
|
|
12
12
|
import { DocumentType as DocumentType2 } from "@dxos/plugin-markdown/types";
|
|
@@ -20,12 +20,12 @@ import { Button as Button2, Input, useFileDownload } from "@dxos/react-ui";
|
|
|
20
20
|
import { getSize, mx } from "@dxos/react-ui-theme";
|
|
21
21
|
import { safeParseInt } from "@dxos/util";
|
|
22
22
|
|
|
23
|
-
// packages/plugins/
|
|
23
|
+
// packages/plugins/plugin-debug/src/components/ObjectCreator.tsx
|
|
24
24
|
import React, { useMemo, useState } from "react";
|
|
25
|
-
import { Button
|
|
25
|
+
import { Button } from "@dxos/react-ui";
|
|
26
26
|
import { createColumnBuilder, Table } from "@dxos/react-ui-table";
|
|
27
27
|
|
|
28
|
-
// packages/plugins/
|
|
28
|
+
// packages/plugins/plugin-debug/src/scaffolding/generator.ts
|
|
29
29
|
import { createShapeId, defaultBindingUtils, defaultShapeUtils, defaultTools, Editor } from "@tldraw/tldraw";
|
|
30
30
|
import { sleep } from "@dxos/async";
|
|
31
31
|
import { next as A } from "@dxos/automerge/automerge";
|
|
@@ -33,23 +33,19 @@ import { SpaceObjectGenerator } from "@dxos/echo-generator";
|
|
|
33
33
|
import { create } from "@dxos/echo-schema";
|
|
34
34
|
import { log } from "@dxos/log";
|
|
35
35
|
import { DocumentType, TextType } from "@dxos/plugin-markdown/types";
|
|
36
|
-
import {
|
|
37
|
-
import { SheetType } from "@dxos/plugin-sheet/types";
|
|
38
|
-
import { TLDrawStoreAdapter } from "@dxos/plugin-sketch";
|
|
36
|
+
import { TLDrawStoreAdapter } from "@dxos/plugin-sketch/sdk";
|
|
39
37
|
import { CanvasType, DiagramType, TLDRAW_SCHEMA } from "@dxos/plugin-sketch/types";
|
|
40
38
|
import { faker } from "@dxos/random";
|
|
41
39
|
import { createDocAccessor } from "@dxos/react-client/echo";
|
|
42
|
-
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/
|
|
40
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-debug/src/scaffolding/generator.ts";
|
|
43
41
|
var SchemasNames;
|
|
44
42
|
(function(SchemasNames2) {
|
|
45
43
|
SchemasNames2["document"] = "dxos.org/type/Document";
|
|
46
44
|
SchemasNames2["diagram"] = "dxos.org/type/Diagram";
|
|
47
|
-
SchemasNames2["sheet"] = "dxos.org/type/SheetType";
|
|
48
45
|
})(SchemasNames || (SchemasNames = {}));
|
|
49
46
|
var SchemasMap = {
|
|
50
47
|
["dxos.org/type/Document"]: DocumentType,
|
|
51
|
-
["dxos.org/type/Diagram"]: DiagramType
|
|
52
|
-
["dxos.org/type/SheetType"]: SheetType
|
|
48
|
+
["dxos.org/type/Diagram"]: DiagramType
|
|
53
49
|
};
|
|
54
50
|
var ObjectGenerators = {
|
|
55
51
|
["dxos.org/type/Document"]: () => {
|
|
@@ -77,15 +73,6 @@ var ObjectGenerators = {
|
|
|
77
73
|
content: {}
|
|
78
74
|
})
|
|
79
75
|
};
|
|
80
|
-
},
|
|
81
|
-
["dxos.org/type/SheetType"]: () => {
|
|
82
|
-
const name = faker.lorem.sentence({
|
|
83
|
-
min: 2,
|
|
84
|
-
max: 3
|
|
85
|
-
});
|
|
86
|
-
return createTestSheet({
|
|
87
|
-
name
|
|
88
|
-
});
|
|
89
76
|
}
|
|
90
77
|
};
|
|
91
78
|
var MutationsGenerators = {
|
|
@@ -105,7 +92,7 @@ var MutationsGenerators = {
|
|
|
105
92
|
mutationIdx: i
|
|
106
93
|
}, {
|
|
107
94
|
F: __dxlog_file,
|
|
108
|
-
L:
|
|
95
|
+
L: 76,
|
|
109
96
|
S: void 0,
|
|
110
97
|
C: (f, a) => f(...a)
|
|
111
98
|
});
|
|
@@ -173,13 +160,11 @@ var MutationsGenerators = {
|
|
|
173
160
|
await sleep(1);
|
|
174
161
|
}
|
|
175
162
|
}
|
|
176
|
-
},
|
|
177
|
-
["dxos.org/type/SheetType"]: async (object, params) => {
|
|
178
163
|
}
|
|
179
164
|
};
|
|
180
165
|
var createSpaceObjectGenerator = (space) => new SpaceObjectGenerator(space, SchemasMap, ObjectGenerators, MutationsGenerators);
|
|
181
166
|
|
|
182
|
-
// packages/plugins/
|
|
167
|
+
// packages/plugins/plugin-debug/src/components/ObjectCreator.tsx
|
|
183
168
|
var CREATE_OBJECTS_IN_ONE_CHUNK = 10;
|
|
184
169
|
var ObjectCreator = ({ space, onAddObjects }) => {
|
|
185
170
|
const generator = useMemo(() => createSpaceObjectGenerator(space), [
|
|
@@ -201,14 +186,6 @@ var ObjectCreator = ({ space, onAddObjects }) => {
|
|
|
201
186
|
mutationsCount: 10,
|
|
202
187
|
mutationSize: 10,
|
|
203
188
|
maxContentLength: 1e3
|
|
204
|
-
},
|
|
205
|
-
{
|
|
206
|
-
enabled: true,
|
|
207
|
-
schema: SchemasNames.sheet,
|
|
208
|
-
objectsCount: 10,
|
|
209
|
-
mutationsCount: 10,
|
|
210
|
-
mutationSize: 10,
|
|
211
|
-
maxContentLength: 1e3
|
|
212
189
|
}
|
|
213
190
|
]);
|
|
214
191
|
const handleCreate = async () => {
|
|
@@ -268,17 +245,15 @@ var ObjectCreator = ({ space, onAddObjects }) => {
|
|
|
268
245
|
onUpdate: handleChangeOnRow
|
|
269
246
|
}))
|
|
270
247
|
];
|
|
271
|
-
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
|
|
272
|
-
density: "fine"
|
|
273
|
-
}, /* @__PURE__ */ React.createElement(Table.Root, null, /* @__PURE__ */ React.createElement(Table.Viewport, null, /* @__PURE__ */ React.createElement(Table.Main, {
|
|
248
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Table.Root, null, /* @__PURE__ */ React.createElement(Table.Viewport, null, /* @__PURE__ */ React.createElement(Table.Main, {
|
|
274
249
|
columns,
|
|
275
250
|
data: objectsToCreate
|
|
276
|
-
})))
|
|
251
|
+
}))), /* @__PURE__ */ React.createElement(Button, {
|
|
277
252
|
onClick: handleCreate
|
|
278
253
|
}, "Create"));
|
|
279
254
|
};
|
|
280
255
|
|
|
281
|
-
// packages/plugins/
|
|
256
|
+
// packages/plugins/plugin-debug/src/components/DebugSpace.tsx
|
|
282
257
|
var DEFAULT_COUNT = 100;
|
|
283
258
|
var DEFAULT_PERIOD = 500;
|
|
284
259
|
var DEFAULT_JITTER = 50;
|
|
@@ -433,4 +408,4 @@ var DebugSpace_default = DebugSpace;
|
|
|
433
408
|
export {
|
|
434
409
|
DebugSpace_default as default
|
|
435
410
|
};
|
|
436
|
-
//# sourceMappingURL=DebugSpace-
|
|
411
|
+
//# sourceMappingURL=DebugSpace-I6BNZKI2.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
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 { useClient } from '@dxos/react-client';\nimport { Filter, type Space, useSpaceInvitation } from '@dxos/react-client/echo';\nimport { InvitationEncoder } from '@dxos/react-client/invitations';\nimport { useAsyncEffect } from '@dxos/react-hooks';\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, { useMemo, useState } from 'react';\n\nimport { type EchoReactiveObject, type ReactiveObject, type Space } from '@dxos/react-client/echo';\nimport { Button } 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 type ObjectCreatorProps = {\n space: Space;\n onAddObjects?: (objects: ReactiveObject<any>[]) => void;\n};\n\nexport const ObjectCreator = ({ space, onAddObjects }: ObjectCreatorProps) => {\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\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 <Table.Root>\n <Table.Viewport>\n <Table.Main<CreateObjectsParams> columns={columns} data={objectsToCreate} />\n </Table.Viewport>\n </Table.Root>\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 { TLDrawStoreAdapter } from '@dxos/plugin-sketch/sdk';\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(burdon): Move to echo-generator.\n\n// TODO(wittjosiah): Remove? Just use DXNs.\nexport enum SchemasNames {\n document = 'dxos.org/type/Document',\n diagram = 'dxos.org/type/Diagram',\n}\n\nexport const SchemasMap: TestSchemaMap<SchemasNames> = {\n [SchemasNames.document]: DocumentType,\n [SchemasNames.diagram]: DiagramType,\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\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\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", "useClient", "Filter", "useSpaceInvitation", "InvitationEncoder", "useAsyncEffect", "Button", "Input", "useFileDownload", "getSize", "mx", "safeParseInt", "React", "useMemo", "useState", "Button", "createColumnBuilder", "Table", "createShapeId", "defaultBindingUtils", "defaultShapeUtils", "defaultTools", "Editor", "sleep", "next", "A", "SpaceObjectGenerator", "create", "log", "DocumentType", "TextType", "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", "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", "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
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// packages/plugins/plugin-debug/src/meta.ts
|
|
2
|
+
var DEBUG_PLUGIN = "dxos.org/plugin/debug";
|
|
3
|
+
var meta_default = {
|
|
4
|
+
id: DEBUG_PLUGIN,
|
|
5
|
+
name: "Debug",
|
|
6
|
+
description: "DXOS debugging tools.",
|
|
7
|
+
tags: [
|
|
8
|
+
"experimental"
|
|
9
|
+
],
|
|
10
|
+
icon: "ph--bug--regular"
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export {
|
|
14
|
+
DEBUG_PLUGIN,
|
|
15
|
+
meta_default
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=chunk-2HTS7SNO.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/meta.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const DEBUG_PLUGIN = 'dxos.org/plugin/debug';\n\nexport default {\n id: DEBUG_PLUGIN,\n name: 'Debug',\n description: 'DXOS debugging tools.',\n tags: ['experimental'],\n icon: 'ph--bug--regular',\n} satisfies PluginMeta;\n"],
|
|
5
|
+
"mappings": ";AAMO,IAAMA,eAAe;AAE5B,IAAA,eAAe;EACbC,IAAID;EACJE,MAAM;EACNC,aAAa;EACbC,MAAM;IAAC;;EACPC,MAAM;AACR;",
|
|
6
|
+
"names": ["DEBUG_PLUGIN", "id", "name", "description", "tags", "icon"]
|
|
7
|
+
}
|
|
@@ -1,27 +1,24 @@
|
|
|
1
|
-
// packages/plugins/
|
|
1
|
+
// packages/plugins/plugin-debug/src/components/DebugPanel.tsx
|
|
2
2
|
import { formatDistance } from "date-fns";
|
|
3
3
|
import React from "react";
|
|
4
4
|
import { useConfig } from "@dxos/react-client";
|
|
5
|
-
import { DensityProvider } from "@dxos/react-ui";
|
|
6
5
|
var DebugPanel = ({ menu, children }) => {
|
|
7
6
|
const config = useConfig();
|
|
8
7
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", {
|
|
9
8
|
className: "flex shrink-0 p-2 space-x-2"
|
|
10
|
-
}, /* @__PURE__ */ React.createElement(
|
|
11
|
-
density: "fine"
|
|
12
|
-
}, menu)), /* @__PURE__ */ React.createElement("div", {
|
|
9
|
+
}, menu), /* @__PURE__ */ React.createElement("div", {
|
|
13
10
|
className: "flex flex-col grow px-2 overflow-hidden"
|
|
14
11
|
}, /* @__PURE__ */ React.createElement("div", {
|
|
15
12
|
className: "flex flex-col grow overflow-auto"
|
|
16
13
|
}, children), config.values?.runtime?.app?.build?.timestamp && /* @__PURE__ */ React.createElement("div", {
|
|
17
14
|
className: "p-2 text-sm font-mono"
|
|
18
|
-
}, config.values?.runtime?.app?.build?.version,
|
|
15
|
+
}, config.values?.runtime?.app?.build?.version, formatDistance(new Date(config.values?.runtime?.app?.build?.timestamp), /* @__PURE__ */ new Date(), {
|
|
19
16
|
addSuffix: true,
|
|
20
17
|
includeSeconds: true
|
|
21
|
-
})
|
|
18
|
+
}))));
|
|
22
19
|
};
|
|
23
20
|
|
|
24
21
|
export {
|
|
25
22
|
DebugPanel
|
|
26
23
|
};
|
|
27
|
-
//# sourceMappingURL=chunk-
|
|
24
|
+
//# sourceMappingURL=chunk-H3BJHVRD.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/DebugPanel.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { formatDistance } from 'date-fns';\nimport React, { type PropsWithChildren, type ReactNode } from 'react';\n\nimport { useConfig } from '@dxos/react-client';\n\nexport const DebugPanel = ({ menu, children }: PropsWithChildren<{ menu: ReactNode }>) => {\n const config = useConfig();\n return (\n <>\n <div className='flex shrink-0 p-2 space-x-2'>{menu}</div>\n <div className='flex flex-col grow px-2 overflow-hidden'>\n <div className='flex flex-col grow overflow-auto'>{children}</div>\n {config.values?.runtime?.app?.build?.timestamp && (\n <div className='p-2 text-sm font-mono'>\n {config.values?.runtime?.app?.build?.version}\n {formatDistance(new Date(config.values?.runtime?.app?.build?.timestamp), new Date(), {\n addSuffix: true,\n includeSeconds: true,\n })}\n </div>\n )}\n </div>\n </>\n );\n};\n"],
|
|
5
|
+
"mappings": ";AAIA,SAASA,sBAAsB;AAC/B,OAAOC,WAAuD;AAE9D,SAASC,iBAAiB;AAEnB,IAAMC,aAAa,CAAC,EAAEC,MAAMC,SAAQ,MAA0C;AACnF,QAAMC,SAASC,UAAAA;AACf,SACE,sBAAA,cAAA,MAAA,UAAA,MACE,sBAAA,cAACC,OAAAA;IAAIC,WAAU;KAA+BL,IAAAA,GAC9C,sBAAA,cAACI,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACD,OAAAA;IAAIC,WAAU;KAAoCJ,QAAAA,GAClDC,OAAOI,QAAQC,SAASC,KAAKC,OAAOC,aACnC,sBAAA,cAACN,OAAAA;IAAIC,WAAU;KACZH,OAAOI,QAAQC,SAASC,KAAKC,OAAOE,SACpCC,eAAe,IAAIC,KAAKX,OAAOI,QAAQC,SAASC,KAAKC,OAAOC,SAAAA,GAAY,oBAAIG,KAAAA,GAAQ;IACnFC,WAAW;IACXC,gBAAgB;EAClB,CAAA,CAAA,CAAA,CAAA;AAMZ;",
|
|
6
|
+
"names": ["formatDistance", "React", "useConfig", "DebugPanel", "menu", "children", "config", "useConfig", "div", "className", "values", "runtime", "app", "build", "timestamp", "version", "formatDistance", "Date", "addSuffix", "includeSeconds"]
|
|
7
|
+
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DEBUG_PLUGIN
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2HTS7SNO.mjs";
|
|
4
4
|
|
|
5
|
-
// packages/plugins/
|
|
5
|
+
// packages/plugins/plugin-debug/src/types.ts
|
|
6
6
|
import { createContext } from "react";
|
|
7
|
+
import { S } from "@dxos/echo-schema";
|
|
7
8
|
var DEBUG_ACTION = `${DEBUG_PLUGIN}/action`;
|
|
8
9
|
var DebugAction;
|
|
9
10
|
(function(DebugAction2) {
|
|
@@ -16,9 +17,15 @@ var DebugContext = createContext({
|
|
|
16
17
|
stop: () => {
|
|
17
18
|
}
|
|
18
19
|
});
|
|
20
|
+
var DebugSettingsSchema = S.mutable(S.Struct({
|
|
21
|
+
devtools: S.optional(S.Boolean),
|
|
22
|
+
debug: S.optional(S.Boolean),
|
|
23
|
+
wireframe: S.optional(S.Boolean)
|
|
24
|
+
}));
|
|
19
25
|
|
|
20
26
|
export {
|
|
21
27
|
DebugAction,
|
|
22
|
-
DebugContext
|
|
28
|
+
DebugContext,
|
|
29
|
+
DebugSettingsSchema
|
|
23
30
|
};
|
|
24
|
-
//# sourceMappingURL=chunk-
|
|
31
|
+
//# sourceMappingURL=chunk-NHHLZV45.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Context, createContext } from 'react';\n\nimport type {\n GraphBuilderProvides,\n IntentResolverProvides,\n SettingsProvides,\n SurfaceProvides,\n TranslationsProvides,\n} from '@dxos/app-framework';\nimport type { TimerCallback, TimerOptions } from '@dxos/async';\nimport { S } from '@dxos/echo-schema';\n\nimport { DEBUG_PLUGIN } from './meta';\n\nconst DEBUG_ACTION = `${DEBUG_PLUGIN}/action`;\nexport enum DebugAction {\n OPEN_DEVTOOLS = `${DEBUG_ACTION}/open-devtools`,\n}\n\nexport type DebugContextType = {\n running: boolean;\n start: (cb: TimerCallback, options: TimerOptions) => void;\n stop: () => void;\n};\n\nexport const DebugContext: Context<DebugContextType> = createContext<DebugContextType>({\n running: false,\n start: () => {},\n stop: () => {},\n});\n\nexport const DebugSettingsSchema = S.mutable(\n S.Struct({\n devtools: S.optional(S.Boolean),\n debug: S.optional(S.Boolean),\n wireframe: S.optional(S.Boolean),\n }),\n);\n\nexport interface DebugSettingsProps extends S.Schema.Type<typeof DebugSettingsSchema> {}\n\nexport type DebugPluginProvides = SurfaceProvides &\n IntentResolverProvides &\n GraphBuilderProvides &\n SettingsProvides<DebugSettingsProps> &\n TranslationsProvides;\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,SAAuBA,qBAAqB;AAU5C,SAASC,SAAS;AAIlB,IAAMC,eAAe,GAAGC,YAAAA;;UACZC,cAAAA;+CACM,GAAGF,YAAAA,gBAA4B,IAAA;GADrCE,gBAAAA,cAAAA,CAAAA,EAAAA;AAUL,IAAMC,eAA0CC,cAAgC;EACrFC,SAAS;EACTC,OAAO,MAAA;EAAO;EACdC,MAAM,MAAA;EAAO;AACf,CAAA;AAEO,IAAMC,sBAAsBC,EAAEC,QACnCD,EAAEE,OAAO;EACPC,UAAUH,EAAEI,SAASJ,EAAEK,OAAO;EAC9BC,OAAON,EAAEI,SAASJ,EAAEK,OAAO;EAC3BE,WAAWP,EAAEI,SAASJ,EAAEK,OAAO;AACjC,CAAA,CAAA;",
|
|
6
|
+
"names": ["createContext", "S", "DEBUG_ACTION", "DEBUG_PLUGIN", "DebugAction", "DebugContext", "createContext", "running", "start", "stop", "DebugSettingsSchema", "S", "mutable", "Struct", "devtools", "optional", "Boolean", "debug", "wireframe"]
|
|
7
|
+
}
|