@dxos/plugin-debug 0.8.4-main.67995b8 → 0.8.4-main.6fa680abb7
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/DebugGraph-7HXJ2PS2.mjs +16 -0
- package/dist/lib/browser/DebugGraph-7HXJ2PS2.mjs.map +7 -0
- package/dist/lib/browser/DebugObjectPanel-3TCDNUNW.mjs +33 -0
- package/dist/lib/browser/DebugObjectPanel-3TCDNUNW.mjs.map +7 -0
- package/dist/lib/browser/DebugSettings-XNAKCV2F.mjs +174 -0
- package/dist/lib/browser/DebugSettings-XNAKCV2F.mjs.map +7 -0
- package/dist/lib/browser/DebugSpaceObjectsPanel-SIK72DXV.mjs +45 -0
- package/dist/lib/browser/DebugSpaceObjectsPanel-SIK72DXV.mjs.map +7 -0
- package/dist/lib/browser/DebugStatus-COQGH37G.mjs +125 -0
- package/dist/lib/browser/DebugStatus-COQGH37G.mjs.map +7 -0
- package/dist/lib/browser/DevtoolsOverviewContainer-C75NFVER.mjs +20 -0
- package/dist/lib/browser/DevtoolsOverviewContainer-C75NFVER.mjs.map +7 -0
- package/dist/lib/browser/{SpaceGenerator-6ZOCEREN.mjs → SpaceGenerator-Q2GH6S6D.mjs} +577 -380
- package/dist/lib/browser/SpaceGenerator-Q2GH6S6D.mjs.map +7 -0
- package/dist/lib/browser/Wireframe-KAGOKEFW.mjs +53 -0
- package/dist/lib/browser/Wireframe-KAGOKEFW.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-FU4BCDDC.mjs +593 -0
- package/dist/lib/browser/app-graph-builder-FU4BCDDC.mjs.map +7 -0
- package/dist/lib/browser/{chunk-AJA6RYN3.mjs → chunk-Q37TZWW5.mjs} +13 -3
- package/dist/lib/browser/chunk-Q37TZWW5.mjs.map +7 -0
- package/dist/lib/browser/chunk-ZOM2FBHQ.mjs +20 -0
- package/dist/lib/browser/chunk-ZOM2FBHQ.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +43 -41
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-context-5ENRJEB2.mjs +17 -0
- package/dist/lib/browser/react-context-5ENRJEB2.mjs.map +7 -0
- package/dist/lib/browser/react-surface-5QQRQ2DT.mjs +427 -0
- package/dist/lib/browser/react-surface-5QQRQ2DT.mjs.map +7 -0
- package/dist/lib/browser/settings-XXFUM3QJ.mjs +32 -0
- package/dist/lib/browser/settings-XXFUM3QJ.mjs.map +7 -0
- package/dist/types/src/DebugPlugin.d.ts +7 -1
- package/dist/types/src/DebugPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +4 -8
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-context/index.d.ts +7 -0
- package/dist/types/src/capabilities/react-context/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-context/react-context.d.ts +10 -0
- package/dist/types/src/capabilities/react-context/react-context.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts +5 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +9 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings/index.d.ts +3 -0
- package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings/settings.d.ts +6 -0
- package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
- package/dist/types/src/components/SchemaTable/SchemaTable.d.ts.map +1 -0
- package/dist/types/src/components/SchemaTable/index.d.ts +2 -0
- package/dist/types/src/components/SchemaTable/index.d.ts.map +1 -0
- package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts +5 -5
- package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts.map +1 -1
- package/dist/types/src/components/SpaceGenerator/draw-util.d.ts.map +1 -1
- package/dist/types/src/components/SpaceGenerator/index.d.ts +2 -2
- package/dist/types/src/components/SpaceGenerator/index.d.ts.map +1 -1
- package/dist/types/src/components/SpaceGenerator/presets.d.ts +4 -4
- package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +2 -9
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts +8 -0
- package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts.map +1 -0
- package/dist/types/src/containers/DebugGraph/index.d.ts +3 -0
- package/dist/types/src/containers/DebugGraph/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers/DebugObjectPanel}/DebugObjectPanel.d.ts +2 -2
- package/dist/types/src/containers/DebugObjectPanel/DebugObjectPanel.d.ts.map +1 -0
- package/dist/types/src/containers/DebugObjectPanel/index.d.ts +3 -0
- package/dist/types/src/containers/DebugObjectPanel/index.d.ts.map +1 -0
- package/dist/types/src/containers/DebugSettings/DebugSettings.d.ts +10 -0
- package/dist/types/src/containers/DebugSettings/DebugSettings.d.ts.map +1 -0
- package/dist/types/src/containers/DebugSettings/index.d.ts +3 -0
- package/dist/types/src/containers/DebugSettings/index.d.ts.map +1 -0
- package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts +3 -0
- package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts.map +1 -0
- package/dist/types/src/containers/DebugSpaceObjectsPanel/index.d.ts +3 -0
- package/dist/types/src/containers/DebugSpaceObjectsPanel/index.d.ts.map +1 -0
- package/dist/types/src/containers/DebugStatus/DebugStatus.d.ts.map +1 -0
- package/dist/types/src/containers/DebugStatus/index.d.ts +3 -0
- package/dist/types/src/containers/DebugStatus/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers/DevtoolsOverviewContainer}/DevtoolsOverviewContainer.d.ts +0 -1
- package/dist/types/src/containers/DevtoolsOverviewContainer/DevtoolsOverviewContainer.d.ts.map +1 -0
- package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts +3 -0
- package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/SpaceGenerator/SpaceGenerator.d.ts +2 -2
- package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.d.ts.map +1 -0
- package/dist/types/src/containers/SpaceGenerator/index.d.ts +3 -0
- package/dist/types/src/containers/SpaceGenerator/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers/Wireframe}/Wireframe.d.ts +2 -2
- package/dist/types/src/containers/Wireframe/Wireframe.d.ts.map +1 -0
- package/dist/types/src/containers/Wireframe/index.d.ts +3 -0
- package/dist/types/src/containers/Wireframe/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +10 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/meta.d.ts +2 -3
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +5 -1
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +40 -35
- package/dist/types/src/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +77 -69
- package/src/DebugPlugin.tsx +27 -32
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +419 -0
- package/src/capabilities/app-graph-builder/index.ts +7 -0
- package/src/capabilities/index.ts +4 -6
- package/src/capabilities/react-context/index.ts +7 -0
- package/src/capabilities/react-context/react-context.tsx +20 -0
- package/src/capabilities/react-surface/index.ts +7 -0
- package/src/capabilities/react-surface/react-surface.tsx +413 -0
- package/src/capabilities/settings/index.ts +7 -0
- package/src/capabilities/settings/settings.ts +31 -0
- package/src/components/SchemaTable/index.ts +5 -0
- package/src/components/SpaceGenerator/ObjectGenerator.tsx +28 -36
- package/src/components/SpaceGenerator/draw-util.ts +5 -5
- package/src/components/SpaceGenerator/index.ts +2 -3
- package/src/components/SpaceGenerator/presets.ts +339 -53
- package/src/components/index.ts +2 -10
- package/src/containers/DebugGraph/DebugGraph.tsx +13 -0
- package/src/containers/DebugGraph/index.ts +7 -0
- package/src/containers/DebugObjectPanel/DebugObjectPanel.tsx +45 -0
- package/src/containers/DebugObjectPanel/index.ts +7 -0
- package/src/containers/DebugSettings/DebugSettings.tsx +201 -0
- package/src/containers/DebugSettings/index.ts +7 -0
- package/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.tsx +55 -0
- package/src/containers/DebugSpaceObjectsPanel/index.ts +7 -0
- package/src/{components → containers/DebugStatus}/DebugStatus.tsx +2 -2
- package/src/containers/DebugStatus/index.ts +7 -0
- package/src/{components → containers/DevtoolsOverviewContainer}/DevtoolsOverviewContainer.tsx +2 -4
- package/src/containers/DevtoolsOverviewContainer/index.ts +7 -0
- package/src/containers/SpaceGenerator/SpaceGenerator.tsx +127 -0
- package/src/containers/SpaceGenerator/index.ts +7 -0
- package/src/{components → containers/Wireframe}/Wireframe.tsx +7 -7
- package/src/containers/Wireframe/index.ts +7 -0
- package/src/containers/index.ts +14 -0
- package/src/meta.ts +8 -7
- package/src/translations.ts +5 -1
- package/src/types.ts +10 -3
- package/dist/lib/browser/DebugApp-ZDL4CPY5.mjs +0 -228
- package/dist/lib/browser/DebugApp-ZDL4CPY5.mjs.map +0 -7
- package/dist/lib/browser/DevtoolsOverviewContainer-EPD6EWT5.mjs +0 -25
- package/dist/lib/browser/DevtoolsOverviewContainer-EPD6EWT5.mjs.map +0 -7
- package/dist/lib/browser/SpaceGenerator-6ZOCEREN.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-SQXFD2BL.mjs +0 -597
- package/dist/lib/browser/app-graph-builder-SQXFD2BL.mjs.map +0 -7
- package/dist/lib/browser/chunk-5XPIRNQS.mjs +0 -18
- package/dist/lib/browser/chunk-5XPIRNQS.mjs.map +0 -7
- package/dist/lib/browser/chunk-AJA6RYN3.mjs.map +0 -7
- package/dist/lib/browser/react-context-NVAGLAJD.mjs +0 -16
- package/dist/lib/browser/react-context-NVAGLAJD.mjs.map +0 -7
- package/dist/lib/browser/react-surface-CHHHE5CF.mjs +0 -768
- package/dist/lib/browser/react-surface-CHHHE5CF.mjs.map +0 -7
- package/dist/lib/browser/settings-LSSWLM5I.mjs +0 -22
- package/dist/lib/browser/settings-LSSWLM5I.mjs.map +0 -7
- package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-context.d.ts +0 -8
- package/dist/types/src/capabilities/react-context.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface.d.ts +0 -4
- package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
- package/dist/types/src/capabilities/settings.d.ts +0 -4
- package/dist/types/src/capabilities/settings.d.ts.map +0 -1
- package/dist/types/src/components/Container.d.ts +0 -5
- package/dist/types/src/components/Container.d.ts.map +0 -1
- package/dist/types/src/components/DebugApp/DebugApp.d.ts +0 -6
- package/dist/types/src/components/DebugApp/DebugApp.d.ts.map +0 -1
- package/dist/types/src/components/DebugApp/Tree.d.ts +0 -18
- package/dist/types/src/components/DebugApp/Tree.d.ts.map +0 -1
- package/dist/types/src/components/DebugApp/index.d.ts +0 -3
- package/dist/types/src/components/DebugApp/index.d.ts.map +0 -1
- package/dist/types/src/components/DebugObjectPanel.d.ts.map +0 -1
- package/dist/types/src/components/DebugSettings.d.ts +0 -6
- package/dist/types/src/components/DebugSettings.d.ts.map +0 -1
- package/dist/types/src/components/DebugStatus.d.ts.map +0 -1
- package/dist/types/src/components/DevtoolsOverviewContainer.d.ts.map +0 -1
- package/dist/types/src/components/SpaceGenerator/SchemaTable.d.ts.map +0 -1
- package/dist/types/src/components/SpaceGenerator/SpaceGenerator.d.ts.map +0 -1
- package/dist/types/src/components/SpaceGenerator/SpaceGenerator.stories.d.ts +0 -6
- package/dist/types/src/components/SpaceGenerator/SpaceGenerator.stories.d.ts.map +0 -1
- package/dist/types/src/components/Wireframe.d.ts.map +0 -1
- package/src/capabilities/app-graph-builder.ts +0 -457
- package/src/capabilities/react-context.tsx +0 -16
- package/src/capabilities/react-surface.tsx +0 -397
- package/src/capabilities/settings.ts +0 -19
- package/src/components/Container.tsx +0 -15
- package/src/components/DebugApp/DebugApp.tsx +0 -84
- package/src/components/DebugApp/Tree.tsx +0 -103
- package/src/components/DebugApp/index.ts +0 -7
- package/src/components/DebugObjectPanel.tsx +0 -35
- package/src/components/DebugSettings.tsx +0 -151
- package/src/components/SpaceGenerator/SpaceGenerator.stories.tsx +0 -52
- package/src/components/SpaceGenerator/SpaceGenerator.tsx +0 -122
- /package/dist/types/src/components/{SpaceGenerator → SchemaTable}/SchemaTable.d.ts +0 -0
- /package/dist/types/src/{components → containers/DebugStatus}/DebugStatus.d.ts +0 -0
- /package/src/components/{SpaceGenerator → SchemaTable}/SchemaTable.tsx +0 -0
|
@@ -1,263 +1,281 @@
|
|
|
1
|
-
// src/
|
|
2
|
-
import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
|
|
1
|
+
// src/containers/SpaceGenerator/SpaceGenerator.tsx
|
|
3
2
|
import React2, { useCallback, useMemo, useState } from "react";
|
|
4
|
-
import {
|
|
3
|
+
import { useOperationInvoker } from "@dxos/app-framework/ui";
|
|
5
4
|
import { ComputeGraph as ComputeGraph2 } from "@dxos/conductor";
|
|
6
|
-
import { Filter as
|
|
7
|
-
import { Markdown as
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
5
|
+
import { Filter as Filter3, Obj as Obj2 } from "@dxos/echo";
|
|
6
|
+
import { Markdown as Markdown3 } from "@dxos/plugin-markdown/types";
|
|
7
|
+
import { Sheet as Sheet2 } from "@dxos/plugin-sheet/types";
|
|
8
|
+
import { Sketch as Sketch2 } from "@dxos/plugin-sketch/types";
|
|
10
9
|
import { useClient } from "@dxos/react-client";
|
|
11
|
-
import {
|
|
12
|
-
import { IconButton as IconButton2, Input, Toolbar, useAsyncEffect } from "@dxos/react-ui";
|
|
10
|
+
import { IconButton as IconButton2, Input, Panel, ScrollArea, Toolbar, useAsyncEffect } from "@dxos/react-ui";
|
|
13
11
|
import { SyntaxHighlighter } from "@dxos/react-ui-syntax-highlighter";
|
|
14
|
-
import {
|
|
12
|
+
import { Organization as Organization2, Person as Person2, Task } from "@dxos/types";
|
|
15
13
|
import { jsonKeyReplacer, sortKeys } from "@dxos/util";
|
|
16
14
|
|
|
17
|
-
// src/components/
|
|
18
|
-
import { createIntent } from "@dxos/app-framework";
|
|
19
|
-
import { addressToA1Notation } from "@dxos/compute";
|
|
20
|
-
import { ComputeGraph, ComputeGraphModel, DEFAULT_OUTPUT, NODE_INPUT, NODE_OUTPUT } from "@dxos/conductor";
|
|
21
|
-
import { DXN, Filter, Key, Obj, Ref, Type } from "@dxos/echo";
|
|
22
|
-
import { Markdown } from "@dxos/plugin-markdown/types";
|
|
23
|
-
import { createSheet } from "@dxos/plugin-sheet/types";
|
|
24
|
-
import { SheetType } from "@dxos/plugin-sheet/types";
|
|
25
|
-
import { CanvasType, DiagramType } from "@dxos/plugin-sketch/types";
|
|
26
|
-
import { SpaceAction } from "@dxos/plugin-space/types";
|
|
27
|
-
import { faker } from "@dxos/random";
|
|
28
|
-
import { DataType } from "@dxos/schema";
|
|
29
|
-
import { createAsyncGenerator } from "@dxos/schema/testing";
|
|
30
|
-
import { range } from "@dxos/util";
|
|
31
|
-
var generator = faker;
|
|
32
|
-
var findViewByTypename = async (views, typename) => {
|
|
33
|
-
return views.find((view) => view.query.typename === typename);
|
|
34
|
-
};
|
|
35
|
-
var createGenerator = (client, dispatch, schema) => {
|
|
36
|
-
return async (space, n, cb) => {
|
|
37
|
-
const typename = schema.typename;
|
|
38
|
-
const { objects: views } = await space.db.query(Filter.type(DataType.View)).run();
|
|
39
|
-
const view = await findViewByTypename(views, typename);
|
|
40
|
-
const staticSchema = client?.graph.schemaRegistry.schemas.find((schema2) => Type.getTypename(schema2) === typename);
|
|
41
|
-
if (!view && !staticSchema) {
|
|
42
|
-
await dispatch(createIntent(SpaceAction.AddSchema, {
|
|
43
|
-
space,
|
|
44
|
-
schema
|
|
45
|
-
}));
|
|
46
|
-
} else if (!view && staticSchema) {
|
|
47
|
-
await dispatch(createIntent(SpaceAction.UseStaticSchema, {
|
|
48
|
-
space,
|
|
49
|
-
typename
|
|
50
|
-
}));
|
|
51
|
-
}
|
|
52
|
-
const generate = createAsyncGenerator(generator, schema, {
|
|
53
|
-
db: space.db
|
|
54
|
-
});
|
|
55
|
-
return generate.createObjects(n);
|
|
56
|
-
};
|
|
57
|
-
};
|
|
58
|
-
var staticGenerators = /* @__PURE__ */ new Map([
|
|
59
|
-
[
|
|
60
|
-
Markdown.Document.typename,
|
|
61
|
-
async (space, n, cb) => {
|
|
62
|
-
const objects = range(n).map(() => {
|
|
63
|
-
return space.db.add(Markdown.makeDocument({
|
|
64
|
-
name: faker.commerce.productName(),
|
|
65
|
-
content: faker.lorem.sentences(5)
|
|
66
|
-
}));
|
|
67
|
-
});
|
|
68
|
-
cb?.(objects);
|
|
69
|
-
return objects;
|
|
70
|
-
}
|
|
71
|
-
],
|
|
72
|
-
[
|
|
73
|
-
DiagramType.typename,
|
|
74
|
-
async (space, n, cb) => {
|
|
75
|
-
const objects = range(n).map(() => {
|
|
76
|
-
const obj = space.db.add(Obj.make(DiagramType, {
|
|
77
|
-
name: faker.commerce.productName(),
|
|
78
|
-
canvas: Ref.make(Obj.make(CanvasType, {
|
|
79
|
-
content: {}
|
|
80
|
-
}))
|
|
81
|
-
}));
|
|
82
|
-
return obj;
|
|
83
|
-
});
|
|
84
|
-
cb?.(objects);
|
|
85
|
-
return objects;
|
|
86
|
-
}
|
|
87
|
-
],
|
|
88
|
-
// TODO(burdon): Create unit tests.
|
|
89
|
-
[
|
|
90
|
-
SheetType.typename,
|
|
91
|
-
async (space, n, cb) => {
|
|
92
|
-
const objects = range(n).map(() => {
|
|
93
|
-
const cells = {};
|
|
94
|
-
const year = (/* @__PURE__ */ new Date()).getFullYear();
|
|
95
|
-
const cols = 4;
|
|
96
|
-
const rows = 16;
|
|
97
|
-
for (let col = 1; col <= cols; col++) {
|
|
98
|
-
for (let row = 1; row <= rows; row++) {
|
|
99
|
-
const cell = addressToA1Notation({
|
|
100
|
-
col,
|
|
101
|
-
row
|
|
102
|
-
});
|
|
103
|
-
if (row === 1) {
|
|
104
|
-
cells[cell] = {
|
|
105
|
-
value: `${year} Q${col}`
|
|
106
|
-
};
|
|
107
|
-
} else if (row === rows) {
|
|
108
|
-
const from = addressToA1Notation({
|
|
109
|
-
col,
|
|
110
|
-
row: 2
|
|
111
|
-
});
|
|
112
|
-
const to = addressToA1Notation({
|
|
113
|
-
col,
|
|
114
|
-
row: rows - 1
|
|
115
|
-
});
|
|
116
|
-
cells[cell] = {
|
|
117
|
-
value: `=SUM(${from}:${to})`
|
|
118
|
-
};
|
|
119
|
-
} else if (row > 2 && row < rows - 1) {
|
|
120
|
-
cells[cell] = {
|
|
121
|
-
value: Math.floor(Math.random() * 1e4)
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
return space.db.add(createSheet({
|
|
127
|
-
name: faker.commerce.productName(),
|
|
128
|
-
cells
|
|
129
|
-
}));
|
|
130
|
-
});
|
|
131
|
-
cb?.(objects);
|
|
132
|
-
return objects;
|
|
133
|
-
}
|
|
134
|
-
],
|
|
135
|
-
[
|
|
136
|
-
ComputeGraph.typename,
|
|
137
|
-
async (space, n, cb) => {
|
|
138
|
-
const objects = range(n, () => {
|
|
139
|
-
const model = ComputeGraphModel.create();
|
|
140
|
-
model.builder.createNode({
|
|
141
|
-
id: "gpt-INPUT",
|
|
142
|
-
type: NODE_INPUT
|
|
143
|
-
}).createNode({
|
|
144
|
-
id: "gpt-GPT",
|
|
145
|
-
type: "gpt"
|
|
146
|
-
}).createNode({
|
|
147
|
-
id: "gpt-QUEUE_ID",
|
|
148
|
-
type: "constant",
|
|
149
|
-
value: new DXN(DXN.kind.QUEUE, [
|
|
150
|
-
"data",
|
|
151
|
-
space.id,
|
|
152
|
-
Key.ObjectId.random()
|
|
153
|
-
]).toString()
|
|
154
|
-
}).createNode({
|
|
155
|
-
id: "gpt-APPEND",
|
|
156
|
-
type: "append"
|
|
157
|
-
}).createNode({
|
|
158
|
-
id: "gpt-OUTPUT",
|
|
159
|
-
type: NODE_OUTPUT
|
|
160
|
-
}).createEdge({
|
|
161
|
-
node: "gpt-INPUT",
|
|
162
|
-
property: "prompt"
|
|
163
|
-
}, {
|
|
164
|
-
node: "gpt-GPT",
|
|
165
|
-
property: "prompt"
|
|
166
|
-
}).createEdge({
|
|
167
|
-
node: "gpt-GPT",
|
|
168
|
-
property: "text"
|
|
169
|
-
}, {
|
|
170
|
-
node: "gpt-OUTPUT",
|
|
171
|
-
property: "text"
|
|
172
|
-
}).createEdge({
|
|
173
|
-
node: "gpt-QUEUE_ID",
|
|
174
|
-
property: DEFAULT_OUTPUT
|
|
175
|
-
}, {
|
|
176
|
-
node: "gpt-APPEND",
|
|
177
|
-
property: "id"
|
|
178
|
-
}).createEdge({
|
|
179
|
-
node: "gpt-GPT",
|
|
180
|
-
property: "messages"
|
|
181
|
-
}, {
|
|
182
|
-
node: "gpt-APPEND",
|
|
183
|
-
property: "items"
|
|
184
|
-
}).createEdge({
|
|
185
|
-
node: "gpt-QUEUE_ID",
|
|
186
|
-
property: DEFAULT_OUTPUT
|
|
187
|
-
}, {
|
|
188
|
-
node: "gpt-OUTPUT",
|
|
189
|
-
property: "queue"
|
|
190
|
-
});
|
|
191
|
-
return space.db.add(model.root);
|
|
192
|
-
});
|
|
193
|
-
cb?.(objects);
|
|
194
|
-
return objects;
|
|
195
|
-
}
|
|
196
|
-
]
|
|
197
|
-
]);
|
|
198
|
-
|
|
199
|
-
// src/components/SpaceGenerator/SchemaTable.tsx
|
|
200
|
-
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
15
|
+
// src/components/SchemaTable/SchemaTable.tsx
|
|
201
16
|
import React from "react";
|
|
202
17
|
import { IconButton } from "@dxos/react-ui";
|
|
203
18
|
var SchemaTable = ({ types, objects = {}, label, onClick }) => {
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
onClick: () => onClick(type.typename)
|
|
223
|
-
}))));
|
|
224
|
-
} finally {
|
|
225
|
-
_effect.f();
|
|
226
|
-
}
|
|
19
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
20
|
+
className: "grid grid-cols-[1fr_80px_40px] gap-1 overflow-none"
|
|
21
|
+
}, /* @__PURE__ */ React.createElement("h2", {
|
|
22
|
+
className: "p-2"
|
|
23
|
+
}, label), types.map((type) => /* @__PURE__ */ React.createElement("div", {
|
|
24
|
+
key: type.typename,
|
|
25
|
+
className: "grid grid-cols-subgrid col-span-3 items-center"
|
|
26
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
27
|
+
className: "px-2 text-sm font-mono text-subdued"
|
|
28
|
+
}, type.typename), /* @__PURE__ */ React.createElement("div", {
|
|
29
|
+
className: "px-2 text-right font-mono"
|
|
30
|
+
}, objects[type.typename] ?? 0), /* @__PURE__ */ React.createElement(IconButton, {
|
|
31
|
+
variant: "ghost",
|
|
32
|
+
icon: "ph--plus--regular",
|
|
33
|
+
iconOnly: true,
|
|
34
|
+
label: "Create data",
|
|
35
|
+
onClick: () => onClick(type.typename)
|
|
36
|
+
}))));
|
|
227
37
|
};
|
|
228
38
|
|
|
229
39
|
// src/components/SpaceGenerator/presets.ts
|
|
230
|
-
import
|
|
231
|
-
import {
|
|
232
|
-
import {
|
|
233
|
-
import {
|
|
40
|
+
import * as Schema from "effect/Schema";
|
|
41
|
+
import { AgentFunctions, EntityExtractionFunctions, ResearchBlueprint } from "@dxos/assistant-toolkit";
|
|
42
|
+
import { Prompt } from "@dxos/blueprints";
|
|
43
|
+
import { NODE_INPUT } from "@dxos/conductor";
|
|
44
|
+
import { DXN, Feed, Filter, JsonSchema, Key, Obj, Query, Ref, Tag } from "@dxos/echo";
|
|
45
|
+
import { Trigger, serializeFunction } from "@dxos/functions";
|
|
234
46
|
import { invariant } from "@dxos/invariant";
|
|
235
|
-
import {
|
|
236
|
-
import {
|
|
237
|
-
import {
|
|
47
|
+
import { GmailFunctions } from "@dxos/plugin-inbox";
|
|
48
|
+
import { Mailbox } from "@dxos/plugin-inbox/types";
|
|
49
|
+
import { Markdown } from "@dxos/plugin-markdown/types";
|
|
50
|
+
import { createAppend, createChat, createComputeGraph, createConstant, createFunction, createGpt, createQueue, createRandom, createSurface, createTemplate, createText, createTrigger } from "@dxos/react-ui-canvas-compute";
|
|
51
|
+
import { CanvasBoard, CanvasGraphModel, pointMultiply, pointsToRect, rectToPoints } from "@dxos/react-ui-canvas-editor";
|
|
52
|
+
import { ViewModel } from "@dxos/schema";
|
|
53
|
+
import { Message, Organization, Person, Pipeline } from "@dxos/types";
|
|
54
|
+
import { range, trim } from "@dxos/util";
|
|
238
55
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-debug/src/components/SpaceGenerator/presets.ts";
|
|
239
|
-
var PresetName = /* @__PURE__ */ function(PresetName2) {
|
|
56
|
+
var PresetName = /* @__PURE__ */ (function(PresetName2) {
|
|
57
|
+
PresetName2["DXOS_TEAM"] = "dxos-team";
|
|
58
|
+
PresetName2["ORG_RESEARCH_PROJECT"] = "org-research-project";
|
|
240
59
|
PresetName2["GPT_QUEUE"] = "webhook-gpt-queue";
|
|
241
60
|
PresetName2["CHAT_GPT"] = "chat-gpt-text";
|
|
242
61
|
PresetName2["OBJECT_CHANGE_QUEUE"] = "objectChange-queue";
|
|
243
|
-
PresetName2["FOREX_FUNCTION_CALL"] = "forex-function-call";
|
|
244
62
|
PresetName2["TIMER_TICK_QUEUE"] = "timerTick-queue";
|
|
63
|
+
PresetName2["FOREX_FUNCTION_CALL"] = "forex-function-call";
|
|
245
64
|
PresetName2["DISCORD_MESSAGES"] = "discord-messages";
|
|
246
65
|
return PresetName2;
|
|
247
|
-
}({});
|
|
248
|
-
var
|
|
66
|
+
})({});
|
|
67
|
+
var generator = () => ({
|
|
249
68
|
schemas: [
|
|
250
|
-
|
|
251
|
-
|
|
69
|
+
CanvasBoard.CanvasBoard,
|
|
70
|
+
Trigger.Trigger
|
|
252
71
|
],
|
|
253
72
|
types: Object.values(PresetName).map((name) => ({
|
|
254
73
|
typename: name
|
|
255
74
|
})),
|
|
256
75
|
items: [
|
|
76
|
+
[
|
|
77
|
+
"dxos-team",
|
|
78
|
+
async (space, n, cb) => {
|
|
79
|
+
const objects = range(n, () => {
|
|
80
|
+
const org = space.db.add(Obj.make(Organization.Organization, {
|
|
81
|
+
name: "DXOS",
|
|
82
|
+
website: "https://dxos.org"
|
|
83
|
+
}));
|
|
84
|
+
const doc = space.db.add(Markdown.make({
|
|
85
|
+
name: "DXOS Research",
|
|
86
|
+
content: "DXOS builds Composer, an open-source AI-powered malleable application."
|
|
87
|
+
}));
|
|
88
|
+
const tag = space.db.add(Tag.make({
|
|
89
|
+
label: "Investor"
|
|
90
|
+
}));
|
|
91
|
+
const tagDxn = Obj.getDXN(tag).toString();
|
|
92
|
+
Obj.change(doc, (d) => {
|
|
93
|
+
Obj.getMeta(d).tags = [
|
|
94
|
+
tagDxn
|
|
95
|
+
];
|
|
96
|
+
});
|
|
97
|
+
space.db.add(Obj.make(Person.Person, {
|
|
98
|
+
[Obj.Meta]: {
|
|
99
|
+
tags: [
|
|
100
|
+
tagDxn
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
fullName: "Rich",
|
|
104
|
+
organization: Ref.make(org)
|
|
105
|
+
}));
|
|
106
|
+
space.db.add(Obj.make(Person.Person, {
|
|
107
|
+
fullName: "Josiah",
|
|
108
|
+
organization: Ref.make(org)
|
|
109
|
+
}));
|
|
110
|
+
space.db.add(Obj.make(Person.Person, {
|
|
111
|
+
fullName: "Dima",
|
|
112
|
+
organization: Ref.make(org)
|
|
113
|
+
}));
|
|
114
|
+
space.db.add(Obj.make(Person.Person, {
|
|
115
|
+
fullName: "Mykola",
|
|
116
|
+
organization: Ref.make(org)
|
|
117
|
+
}));
|
|
118
|
+
return doc;
|
|
119
|
+
});
|
|
120
|
+
cb?.(objects);
|
|
121
|
+
return objects;
|
|
122
|
+
}
|
|
123
|
+
],
|
|
124
|
+
[
|
|
125
|
+
"org-research-project",
|
|
126
|
+
async (space, n, cb) => {
|
|
127
|
+
const mailboxes = await space.db.query(Filter.type(Mailbox.Mailbox)).run();
|
|
128
|
+
const mailbox = mailboxes[0];
|
|
129
|
+
invariant(mailbox, "Mailbox not found", {
|
|
130
|
+
F: __dxlog_file,
|
|
131
|
+
L: 121,
|
|
132
|
+
S: void 0,
|
|
133
|
+
A: [
|
|
134
|
+
"mailbox",
|
|
135
|
+
"'Mailbox not found'"
|
|
136
|
+
]
|
|
137
|
+
});
|
|
138
|
+
const mailboxFeed = await mailbox.feed?.tryLoad();
|
|
139
|
+
invariant(mailboxFeed, "Mailbox missing feed reference", {
|
|
140
|
+
F: __dxlog_file,
|
|
141
|
+
L: 123,
|
|
142
|
+
S: void 0,
|
|
143
|
+
A: [
|
|
144
|
+
"mailboxFeed",
|
|
145
|
+
"'Mailbox missing feed reference'"
|
|
146
|
+
]
|
|
147
|
+
});
|
|
148
|
+
const queueDxn = Feed.getQueueDxn(mailboxFeed)?.toString();
|
|
149
|
+
invariant(queueDxn, "Mailbox feed missing queue DXN key", {
|
|
150
|
+
F: __dxlog_file,
|
|
151
|
+
L: 125,
|
|
152
|
+
S: void 0,
|
|
153
|
+
A: [
|
|
154
|
+
"queueDxn",
|
|
155
|
+
"'Mailbox feed missing queue DXN key'"
|
|
156
|
+
]
|
|
157
|
+
});
|
|
158
|
+
const tag = await space.db.query(Filter.type(Tag.Tag, {
|
|
159
|
+
label: "Investor"
|
|
160
|
+
})).first();
|
|
161
|
+
const tagDxn = Obj.getDXN(tag).toString();
|
|
162
|
+
const objects = range(n, () => {
|
|
163
|
+
const contactsQuery = Query.select(Filter.type(Person.Person)).select(Filter.tag(tagDxn));
|
|
164
|
+
const organizationsQuery = Query.select(Filter.type(Organization.Organization)).select(Filter.tag(tagDxn));
|
|
165
|
+
const notesQuery = Query.select(Filter.type(Markdown.Document)).select(Filter.tag(tagDxn));
|
|
166
|
+
space.db.add(Trigger.make({
|
|
167
|
+
enabled: true,
|
|
168
|
+
spec: {
|
|
169
|
+
kind: "timer",
|
|
170
|
+
cron: "* * * * *"
|
|
171
|
+
},
|
|
172
|
+
function: Ref.make(serializeFunction(GmailFunctions.Sync)),
|
|
173
|
+
input: {
|
|
174
|
+
mailbox: Ref.make(mailbox)
|
|
175
|
+
}
|
|
176
|
+
}));
|
|
177
|
+
space.db.add(Trigger.make({
|
|
178
|
+
enabled: true,
|
|
179
|
+
// TODO(wittjosiah): Queue trigger doesn't support matching query of the column.
|
|
180
|
+
spec: {
|
|
181
|
+
kind: "queue",
|
|
182
|
+
queue: queueDxn
|
|
183
|
+
},
|
|
184
|
+
function: Ref.make(serializeFunction(EntityExtractionFunctions.Extract)),
|
|
185
|
+
input: {
|
|
186
|
+
source: "{{event.item}}"
|
|
187
|
+
}
|
|
188
|
+
}));
|
|
189
|
+
const researchPrompt = space.db.add(Prompt.make({
|
|
190
|
+
name: "Research",
|
|
191
|
+
description: "Research organization",
|
|
192
|
+
input: Schema.Struct({
|
|
193
|
+
org: Schema.Any
|
|
194
|
+
}),
|
|
195
|
+
output: Schema.Any,
|
|
196
|
+
// TODO(dmaretskyi): This mocks research (returns pre-baked result), the actual research might take compute minutes.
|
|
197
|
+
// Remove the mock prompt to do the actual research.
|
|
198
|
+
instructions: trim`
|
|
199
|
+
Research the organization provided as input.
|
|
200
|
+
Create a research note for it at the end.
|
|
201
|
+
NOTE: Do mocked reseach (set mockSearch to true).
|
|
202
|
+
`,
|
|
203
|
+
blueprints: [
|
|
204
|
+
Ref.make(ResearchBlueprint.make())
|
|
205
|
+
]
|
|
206
|
+
}));
|
|
207
|
+
space.db.add(Trigger.make({
|
|
208
|
+
enabled: true,
|
|
209
|
+
spec: {
|
|
210
|
+
kind: "subscription",
|
|
211
|
+
query: {
|
|
212
|
+
ast: organizationsQuery.ast
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
function: Ref.make(serializeFunction(AgentFunctions.Prompt)),
|
|
216
|
+
input: {
|
|
217
|
+
prompt: Ref.make(researchPrompt),
|
|
218
|
+
input: "{{event.subject}}"
|
|
219
|
+
}
|
|
220
|
+
}));
|
|
221
|
+
const mailboxView = ViewModel.make({
|
|
222
|
+
query: Query.select(Filter.type(Message.Message, {
|
|
223
|
+
properties: {
|
|
224
|
+
labels: Filter.contains("investor")
|
|
225
|
+
}
|
|
226
|
+
})).from({
|
|
227
|
+
queues: [
|
|
228
|
+
queueDxn
|
|
229
|
+
]
|
|
230
|
+
}),
|
|
231
|
+
jsonSchema: JsonSchema.toJsonSchema(Message.Message)
|
|
232
|
+
});
|
|
233
|
+
const contactsView = ViewModel.make({
|
|
234
|
+
query: contactsQuery,
|
|
235
|
+
jsonSchema: JsonSchema.toJsonSchema(Person.Person)
|
|
236
|
+
});
|
|
237
|
+
const organizationsView = ViewModel.make({
|
|
238
|
+
query: organizationsQuery,
|
|
239
|
+
jsonSchema: JsonSchema.toJsonSchema(Organization.Organization)
|
|
240
|
+
});
|
|
241
|
+
const notesView = ViewModel.make({
|
|
242
|
+
query: notesQuery,
|
|
243
|
+
jsonSchema: JsonSchema.toJsonSchema(Markdown.Document)
|
|
244
|
+
});
|
|
245
|
+
return space.db.add(Pipeline.make({
|
|
246
|
+
name: "Investor Research",
|
|
247
|
+
columns: [
|
|
248
|
+
{
|
|
249
|
+
name: "Mailbox",
|
|
250
|
+
view: Ref.make(mailboxView),
|
|
251
|
+
order: []
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
name: "Contacts",
|
|
255
|
+
view: Ref.make(contactsView),
|
|
256
|
+
order: []
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
name: "Organizations",
|
|
260
|
+
view: Ref.make(organizationsView),
|
|
261
|
+
order: []
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
name: "Notes",
|
|
265
|
+
view: Ref.make(notesView),
|
|
266
|
+
order: []
|
|
267
|
+
}
|
|
268
|
+
]
|
|
269
|
+
}));
|
|
270
|
+
});
|
|
271
|
+
cb?.(objects.flat());
|
|
272
|
+
return objects.flat();
|
|
273
|
+
}
|
|
274
|
+
],
|
|
257
275
|
[
|
|
258
276
|
"webhook-gpt-queue",
|
|
259
277
|
async (space, n, cb) => {
|
|
260
|
-
const objects =
|
|
278
|
+
const objects = range(n, () => {
|
|
261
279
|
const canvasModel = CanvasGraphModel.create();
|
|
262
280
|
let functionTrigger;
|
|
263
281
|
canvasModel.builder.call((builder) => {
|
|
@@ -267,7 +285,7 @@ var generator2 = () => ({
|
|
|
267
285
|
})));
|
|
268
286
|
const triggerShape = createTrigger({
|
|
269
287
|
spaceId: space.id,
|
|
270
|
-
triggerKind:
|
|
288
|
+
triggerKind: "webhook",
|
|
271
289
|
...position({
|
|
272
290
|
x: -18,
|
|
273
291
|
y: -2
|
|
@@ -317,9 +335,9 @@ var generator2 = () => ({
|
|
|
317
335
|
[
|
|
318
336
|
"objectChange-queue",
|
|
319
337
|
async (space, n, cb) => {
|
|
320
|
-
const objects =
|
|
321
|
-
const { canvasModel, computeModel } = createQueueSinkPreset(space,
|
|
322
|
-
|
|
338
|
+
const objects = range(n, () => {
|
|
339
|
+
const { canvasModel, computeModel } = createQueueSinkPreset(space, "subscription", (triggerSpec) => triggerSpec.query = {
|
|
340
|
+
ast: Query.select(Filter.typename("org.dxos.type.chess")).ast
|
|
323
341
|
}, "type");
|
|
324
342
|
return addToSpace("objectChange-queue", space, canvasModel, computeModel);
|
|
325
343
|
});
|
|
@@ -330,8 +348,8 @@ var generator2 = () => ({
|
|
|
330
348
|
[
|
|
331
349
|
"timerTick-queue",
|
|
332
350
|
async (space, n, cb) => {
|
|
333
|
-
const objects =
|
|
334
|
-
const { canvasModel, computeModel } = createQueueSinkPreset(space,
|
|
351
|
+
const objects = range(n, () => {
|
|
352
|
+
const { canvasModel, computeModel } = createQueueSinkPreset(space, "timer", (triggerSpec) => triggerSpec.cron = "*/5 * * * * *", "result");
|
|
335
353
|
return addToSpace("timerTick-queue", space, canvasModel, computeModel);
|
|
336
354
|
});
|
|
337
355
|
cb?.(objects);
|
|
@@ -358,7 +376,7 @@ var generator2 = () => ({
|
|
|
358
376
|
// canvasModel.builder.call((builder) => {
|
|
359
377
|
// const triggerShape = createTrigger({
|
|
360
378
|
// spaceId: space.id,
|
|
361
|
-
// triggerKind:
|
|
379
|
+
// triggerKind: 'email',
|
|
362
380
|
// ...position({ x: -18, y: -2 }),
|
|
363
381
|
// });
|
|
364
382
|
// const trigger = canvasModel.createNode(triggerShape);
|
|
@@ -385,7 +403,7 @@ var generator2 = () => ({
|
|
|
385
403
|
// const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);
|
|
386
404
|
// invariant(templateComputeNode, 'Template compute node was not created.');
|
|
387
405
|
// templateComputeNode.value = templateContent.join('\n');
|
|
388
|
-
// templateComputeNode.inputSchema =
|
|
406
|
+
// templateComputeNode.inputSchema = JsonSchema.toJsonSchema(EmailTriggerOutput);
|
|
389
407
|
// attachTrigger(functionTrigger, computeModel);
|
|
390
408
|
// return addToSpace(PresetName.EMAIL_TABLE, space, canvasModel, computeModel);
|
|
391
409
|
// });
|
|
@@ -396,7 +414,7 @@ var generator2 = () => ({
|
|
|
396
414
|
[
|
|
397
415
|
"chat-gpt-text",
|
|
398
416
|
async (space, n, cb) => {
|
|
399
|
-
const objects =
|
|
417
|
+
const objects = range(n, () => {
|
|
400
418
|
const canvasModel = CanvasGraphModel.create();
|
|
401
419
|
canvasModel.builder.call((builder) => {
|
|
402
420
|
const gpt = canvasModel.createNode(createGpt(position({
|
|
@@ -473,7 +491,7 @@ var generator2 = () => ({
|
|
|
473
491
|
// );
|
|
474
492
|
// const triggerShape = createTrigger({
|
|
475
493
|
// spaceId: space.id,
|
|
476
|
-
// triggerKind:
|
|
494
|
+
// triggerKind: 'email',
|
|
477
495
|
// ...rawPosition({ centerX: -736, centerY: -384, width: 182, height: 192 }),
|
|
478
496
|
// });
|
|
479
497
|
// const trigger = canvasModel.createNode(triggerShape);
|
|
@@ -516,7 +534,7 @@ var generator2 = () => ({
|
|
|
516
534
|
// invariant(templateComputeNode, 'Template compute node was not created.');
|
|
517
535
|
// templateComputeNode.value = templateContent.join('\n');
|
|
518
536
|
// const extendedSchema = Schema.extend(EmailTriggerOutput, Schema.Struct({ text: Schema.String }));
|
|
519
|
-
// templateComputeNode.inputSchema =
|
|
537
|
+
// templateComputeNode.inputSchema = JsonSchema.toJsonSchema(extendedSchema);
|
|
520
538
|
// attachTrigger(functionTrigger, computeModel);
|
|
521
539
|
// return addToSpace(PresetName.EMAIL_WITH_SUMMARY, space, canvasModel, computeModel);
|
|
522
540
|
// });
|
|
@@ -527,7 +545,7 @@ var generator2 = () => ({
|
|
|
527
545
|
[
|
|
528
546
|
"forex-function-call",
|
|
529
547
|
async (space, n, cb) => {
|
|
530
|
-
const objects =
|
|
548
|
+
const objects = range(n, () => {
|
|
531
549
|
const canvasModel = CanvasGraphModel.create();
|
|
532
550
|
canvasModel.builder.call((builder) => {
|
|
533
551
|
const sourceCurrency = canvasModel.createNode(createConstant({
|
|
@@ -576,13 +594,13 @@ var generator2 = () => ({
|
|
|
576
594
|
[
|
|
577
595
|
"discord-messages",
|
|
578
596
|
async (space, n, cb) => {
|
|
579
|
-
const objects =
|
|
597
|
+
const objects = range(n, () => {
|
|
580
598
|
const canvasModel = CanvasGraphModel.create();
|
|
581
599
|
let functionTrigger;
|
|
582
600
|
canvasModel.builder.call((builder) => {
|
|
583
601
|
const triggerShape = createTrigger({
|
|
584
602
|
spaceId: space.id,
|
|
585
|
-
triggerKind:
|
|
603
|
+
triggerKind: "timer",
|
|
586
604
|
...position({
|
|
587
605
|
x: -10,
|
|
588
606
|
y: -5
|
|
@@ -597,10 +615,10 @@ var generator2 = () => ({
|
|
|
597
615
|
})
|
|
598
616
|
}));
|
|
599
617
|
const queueId = canvasModel.createNode(createConstant({
|
|
600
|
-
value: new
|
|
618
|
+
value: new DXN(DXN.kind.QUEUE, [
|
|
601
619
|
"data",
|
|
602
620
|
space.id,
|
|
603
|
-
|
|
621
|
+
Key.ObjectId.random()
|
|
604
622
|
]).toString(),
|
|
605
623
|
...position({
|
|
606
624
|
x: -10,
|
|
@@ -718,20 +736,22 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
|
|
|
718
736
|
const triggerSpec = functionTrigger.spec;
|
|
719
737
|
invariant(triggerSpec && triggerSpec.kind === triggerKind, "No trigger spec.", {
|
|
720
738
|
F: __dxlog_file,
|
|
721
|
-
L:
|
|
739
|
+
L: 764,
|
|
722
740
|
S: void 0,
|
|
723
741
|
A: [
|
|
724
742
|
"triggerSpec && triggerSpec.kind === triggerKind",
|
|
725
743
|
"'No trigger spec.'"
|
|
726
744
|
]
|
|
727
745
|
});
|
|
728
|
-
|
|
746
|
+
Obj.change(functionTrigger, (ft) => {
|
|
747
|
+
initSpec(ft.spec);
|
|
748
|
+
});
|
|
729
749
|
});
|
|
730
750
|
const computeModel = createComputeGraph(canvasModel);
|
|
731
751
|
const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);
|
|
732
752
|
invariant(templateComputeNode, "Template compute node was not created.", {
|
|
733
753
|
F: __dxlog_file,
|
|
734
|
-
L:
|
|
754
|
+
L: 773,
|
|
735
755
|
S: void 0,
|
|
736
756
|
A: [
|
|
737
757
|
"templateComputeNode",
|
|
@@ -744,7 +764,7 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
|
|
|
744
764
|
' "id": "@{{changeId}}"',
|
|
745
765
|
"}"
|
|
746
766
|
].join("\n");
|
|
747
|
-
templateComputeNode.inputSchema =
|
|
767
|
+
templateComputeNode.inputSchema = JsonSchema.toJsonSchema(Schema.Struct({
|
|
748
768
|
type: Schema.String,
|
|
749
769
|
changeId: Schema.String
|
|
750
770
|
}));
|
|
@@ -755,18 +775,18 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
|
|
|
755
775
|
};
|
|
756
776
|
};
|
|
757
777
|
var addToSpace = (name, space, canvas, compute) => {
|
|
758
|
-
return space.db.add(
|
|
778
|
+
return space.db.add(Obj.make(CanvasBoard.CanvasBoard, {
|
|
759
779
|
name,
|
|
760
|
-
computeGraph:
|
|
780
|
+
computeGraph: Ref.make(compute.root),
|
|
761
781
|
layout: canvas.graph
|
|
762
782
|
}));
|
|
763
783
|
};
|
|
764
784
|
var setupQueue = (space, canvasModel, args) => {
|
|
765
785
|
const queueId = canvasModel.createNode(createConstant({
|
|
766
|
-
value: new
|
|
786
|
+
value: new DXN(DXN.kind.QUEUE, [
|
|
767
787
|
"data",
|
|
768
788
|
space.id,
|
|
769
|
-
|
|
789
|
+
Key.ObjectId.random()
|
|
770
790
|
]).toString(),
|
|
771
791
|
...args?.idPosition ? rawPosition(args.idPosition) : position({
|
|
772
792
|
x: -18,
|
|
@@ -793,16 +813,18 @@ var setupQueue = (space, canvasModel, args) => {
|
|
|
793
813
|
var attachTrigger = (functionTrigger, computeModel) => {
|
|
794
814
|
invariant(functionTrigger, void 0, {
|
|
795
815
|
F: __dxlog_file,
|
|
796
|
-
L:
|
|
816
|
+
L: 815,
|
|
797
817
|
S: void 0,
|
|
798
818
|
A: [
|
|
799
819
|
"functionTrigger",
|
|
800
820
|
""
|
|
801
821
|
]
|
|
802
822
|
});
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
823
|
+
const inputNode = computeModel.nodes.find((node) => node.type === NODE_INPUT);
|
|
824
|
+
Obj.change(functionTrigger, (t) => {
|
|
825
|
+
t.function = Ref.make(computeModel.root);
|
|
826
|
+
t.inputNodeId = inputNode.id;
|
|
827
|
+
});
|
|
806
828
|
};
|
|
807
829
|
var rawPosition = (args) => {
|
|
808
830
|
return {
|
|
@@ -848,134 +870,309 @@ var position = (rect) => {
|
|
|
848
870
|
}
|
|
849
871
|
};
|
|
850
872
|
|
|
851
|
-
// src/components/SpaceGenerator/
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
const
|
|
871
|
-
const
|
|
872
|
-
const
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
const
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
873
|
+
// src/components/SpaceGenerator/ObjectGenerator.tsx
|
|
874
|
+
import { addressToA1Notation } from "@dxos/compute";
|
|
875
|
+
import { ComputeGraph, ComputeGraphModel, DEFAULT_OUTPUT, NODE_INPUT as NODE_INPUT2, NODE_OUTPUT } from "@dxos/conductor";
|
|
876
|
+
import { DXN as DXN2, Filter as Filter2, Key as Key2 } from "@dxos/echo";
|
|
877
|
+
import { View } from "@dxos/echo";
|
|
878
|
+
import { Markdown as Markdown2 } from "@dxos/plugin-markdown/types";
|
|
879
|
+
import { Sheet } from "@dxos/plugin-sheet/types";
|
|
880
|
+
import { Sketch } from "@dxos/plugin-sketch/types";
|
|
881
|
+
import { SpaceOperation } from "@dxos/plugin-space/types";
|
|
882
|
+
import { faker } from "@dxos/random";
|
|
883
|
+
import { getTypenameFromQuery } from "@dxos/schema";
|
|
884
|
+
import { createAsyncGenerator } from "@dxos/schema/testing";
|
|
885
|
+
import { range as range2 } from "@dxos/util";
|
|
886
|
+
var generator2 = faker;
|
|
887
|
+
var findViewByTypename = async (views, typename) => {
|
|
888
|
+
return views.find((view) => getTypenameFromQuery(view.query.ast) === typename);
|
|
889
|
+
};
|
|
890
|
+
var createGenerator = (client, invokePromise, schema) => {
|
|
891
|
+
return async (space, n) => {
|
|
892
|
+
const typename = schema.typename;
|
|
893
|
+
const views = await space.db.query(Filter2.type(View.View)).run();
|
|
894
|
+
const view = await findViewByTypename(views, typename);
|
|
895
|
+
const staticSchema = client?.graph.schemaRegistry.query({
|
|
896
|
+
typename
|
|
897
|
+
}).runSync()[0];
|
|
898
|
+
if (!view && !staticSchema) {
|
|
899
|
+
await invokePromise(SpaceOperation.AddSchema, {
|
|
900
|
+
db: space.db,
|
|
901
|
+
schema,
|
|
902
|
+
show: false
|
|
903
|
+
});
|
|
904
|
+
}
|
|
905
|
+
const generate = createAsyncGenerator(generator2, schema, {
|
|
906
|
+
db: space.db
|
|
907
|
+
});
|
|
908
|
+
return generate.createObjects(n);
|
|
909
|
+
};
|
|
910
|
+
};
|
|
911
|
+
var staticGenerators = /* @__PURE__ */ new Map([
|
|
912
|
+
[
|
|
913
|
+
Markdown2.Document.typename,
|
|
914
|
+
async (space, n, cb) => {
|
|
915
|
+
const objects = range2(n).map(() => {
|
|
916
|
+
return space.db.add(Markdown2.make({
|
|
917
|
+
name: faker.commerce.productName(),
|
|
918
|
+
content: faker.lorem.sentences(5)
|
|
919
|
+
}));
|
|
920
|
+
});
|
|
921
|
+
cb?.(objects);
|
|
922
|
+
return objects;
|
|
923
|
+
}
|
|
924
|
+
],
|
|
925
|
+
[
|
|
926
|
+
Sketch.Sketch.typename,
|
|
927
|
+
async (space, n, cb) => {
|
|
928
|
+
const objects = range2(n).map(() => {
|
|
929
|
+
const obj = space.db.add(Sketch.make({
|
|
930
|
+
name: faker.commerce.productName()
|
|
931
|
+
}));
|
|
932
|
+
return obj;
|
|
933
|
+
});
|
|
934
|
+
cb?.(objects);
|
|
935
|
+
return objects;
|
|
936
|
+
}
|
|
937
|
+
],
|
|
938
|
+
// TODO(burdon): Create unit tests.
|
|
939
|
+
[
|
|
940
|
+
Sheet.Sheet.typename,
|
|
941
|
+
async (space, n, cb) => {
|
|
942
|
+
const objects = range2(n).map(() => {
|
|
943
|
+
const cells = {};
|
|
944
|
+
const year = (/* @__PURE__ */ new Date()).getFullYear();
|
|
945
|
+
const cols = 4;
|
|
946
|
+
const rows = 16;
|
|
947
|
+
for (let col = 1; col <= cols; col++) {
|
|
948
|
+
for (let row = 1; row <= rows; row++) {
|
|
949
|
+
const cell = addressToA1Notation({
|
|
950
|
+
col,
|
|
951
|
+
row
|
|
952
|
+
});
|
|
953
|
+
if (row === 1) {
|
|
954
|
+
cells[cell] = {
|
|
955
|
+
value: `${year} Q${col}`
|
|
956
|
+
};
|
|
957
|
+
} else if (row === rows) {
|
|
958
|
+
const from = addressToA1Notation({
|
|
959
|
+
col,
|
|
960
|
+
row: 2
|
|
961
|
+
});
|
|
962
|
+
const to = addressToA1Notation({
|
|
963
|
+
col,
|
|
964
|
+
row: rows - 1
|
|
965
|
+
});
|
|
966
|
+
cells[cell] = {
|
|
967
|
+
value: `=SUM(${from}:${to})`
|
|
968
|
+
};
|
|
969
|
+
} else if (row > 2 && row < rows - 1) {
|
|
970
|
+
cells[cell] = {
|
|
971
|
+
value: Math.floor(Math.random() * 1e4)
|
|
972
|
+
};
|
|
973
|
+
}
|
|
974
|
+
}
|
|
900
975
|
}
|
|
901
|
-
return
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
static: staticSchema.length,
|
|
906
|
-
mutable: echoSchema.length
|
|
907
|
-
},
|
|
908
|
-
objects: objectMap
|
|
976
|
+
return space.db.add(Sheet.make({
|
|
977
|
+
name: faker.commerce.productName(),
|
|
978
|
+
cells
|
|
979
|
+
}));
|
|
909
980
|
});
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
981
|
+
cb?.(objects);
|
|
982
|
+
return objects;
|
|
983
|
+
}
|
|
984
|
+
],
|
|
985
|
+
[
|
|
986
|
+
ComputeGraph.typename,
|
|
987
|
+
async (space, n, cb) => {
|
|
988
|
+
const objects = range2(n, () => {
|
|
989
|
+
const model = ComputeGraphModel.create();
|
|
990
|
+
model.builder.createNode({
|
|
991
|
+
id: "gpt-INPUT",
|
|
992
|
+
type: NODE_INPUT2
|
|
993
|
+
}).createNode({
|
|
994
|
+
id: "gpt-GPT",
|
|
995
|
+
type: "gpt"
|
|
996
|
+
}).createNode({
|
|
997
|
+
id: "gpt-QUEUE_ID",
|
|
998
|
+
type: "constant",
|
|
999
|
+
value: new DXN2(DXN2.kind.QUEUE, [
|
|
1000
|
+
"data",
|
|
1001
|
+
space.id,
|
|
1002
|
+
Key2.ObjectId.random()
|
|
1003
|
+
]).toString()
|
|
1004
|
+
}).createNode({
|
|
1005
|
+
id: "gpt-APPEND",
|
|
1006
|
+
type: "append"
|
|
1007
|
+
}).createNode({
|
|
1008
|
+
id: "gpt-OUTPUT",
|
|
1009
|
+
type: NODE_OUTPUT
|
|
1010
|
+
}).createEdge({
|
|
1011
|
+
node: "gpt-INPUT",
|
|
1012
|
+
property: "prompt"
|
|
1013
|
+
}, {
|
|
1014
|
+
node: "gpt-GPT",
|
|
1015
|
+
property: "prompt"
|
|
1016
|
+
}).createEdge({
|
|
1017
|
+
node: "gpt-GPT",
|
|
1018
|
+
property: "text"
|
|
1019
|
+
}, {
|
|
1020
|
+
node: "gpt-OUTPUT",
|
|
1021
|
+
property: "text"
|
|
1022
|
+
}).createEdge({
|
|
1023
|
+
node: "gpt-QUEUE_ID",
|
|
1024
|
+
property: DEFAULT_OUTPUT
|
|
1025
|
+
}, {
|
|
1026
|
+
node: "gpt-APPEND",
|
|
1027
|
+
property: "id"
|
|
1028
|
+
}).createEdge({
|
|
1029
|
+
node: "gpt-GPT",
|
|
1030
|
+
property: "messages"
|
|
1031
|
+
}, {
|
|
1032
|
+
node: "gpt-APPEND",
|
|
1033
|
+
property: "items"
|
|
1034
|
+
}).createEdge({
|
|
1035
|
+
node: "gpt-QUEUE_ID",
|
|
1036
|
+
property: DEFAULT_OUTPUT
|
|
1037
|
+
}, {
|
|
1038
|
+
node: "gpt-OUTPUT",
|
|
1039
|
+
property: "queue"
|
|
1040
|
+
});
|
|
1041
|
+
return space.db.add(model.root);
|
|
1042
|
+
});
|
|
1043
|
+
cb?.(objects);
|
|
1044
|
+
return objects;
|
|
1045
|
+
}
|
|
1046
|
+
]
|
|
1047
|
+
]);
|
|
1048
|
+
|
|
1049
|
+
// src/containers/SpaceGenerator/SpaceGenerator.tsx
|
|
1050
|
+
var SpaceGenerator = ({ space, onCreateObjects }) => {
|
|
1051
|
+
const { invokePromise } = useOperationInvoker();
|
|
1052
|
+
const client = useClient();
|
|
1053
|
+
const staticTypes = [
|
|
1054
|
+
Markdown3.Document,
|
|
1055
|
+
Sketch2.Sketch,
|
|
1056
|
+
Sheet2.Sheet,
|
|
1057
|
+
ComputeGraph2
|
|
1058
|
+
];
|
|
1059
|
+
const recordTypes = [
|
|
1060
|
+
Organization2.Organization,
|
|
1061
|
+
Person2.Person,
|
|
1062
|
+
Task.Task
|
|
1063
|
+
];
|
|
1064
|
+
const [count, setCount] = useState(1);
|
|
1065
|
+
const [info, setInfo] = useState({});
|
|
1066
|
+
const presets = useMemo(() => generator(), []);
|
|
1067
|
+
useAsyncEffect(async () => {
|
|
1068
|
+
await client.addTypes([
|
|
1069
|
+
...staticTypes,
|
|
1070
|
+
...recordTypes,
|
|
1071
|
+
...presets.schemas
|
|
913
1072
|
]);
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
1073
|
+
}, [
|
|
1074
|
+
client
|
|
1075
|
+
]);
|
|
1076
|
+
const typeMap = useMemo(() => {
|
|
1077
|
+
const recordGenerators = new Map(recordTypes.map((type) => [
|
|
1078
|
+
type.typename,
|
|
1079
|
+
createGenerator(client, invokePromise, type)
|
|
1080
|
+
]));
|
|
1081
|
+
return new Map([
|
|
1082
|
+
...staticGenerators,
|
|
1083
|
+
...presets.items,
|
|
1084
|
+
...recordGenerators
|
|
923
1085
|
]);
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
}
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
}
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
1086
|
+
}, [
|
|
1087
|
+
client,
|
|
1088
|
+
recordTypes,
|
|
1089
|
+
invokePromise
|
|
1090
|
+
]);
|
|
1091
|
+
const updateInfo = async () => {
|
|
1092
|
+
const echoSchema = await space.db.schemaRegistry.query().run();
|
|
1093
|
+
const staticSchema = await space.db.graph.schemaRegistry.query().run();
|
|
1094
|
+
const objects = await space.db.query(Filter3.everything()).run();
|
|
1095
|
+
const objectMap = sortKeys(objects.reduce((map, obj) => {
|
|
1096
|
+
const type = Obj2.getTypename(obj);
|
|
1097
|
+
if (type) {
|
|
1098
|
+
const count2 = map[type] ?? 0;
|
|
1099
|
+
map[type] = count2 + 1;
|
|
1100
|
+
}
|
|
1101
|
+
return map;
|
|
1102
|
+
}, {}));
|
|
1103
|
+
setInfo({
|
|
1104
|
+
schema: {
|
|
1105
|
+
static: staticSchema.length,
|
|
1106
|
+
mutable: echoSchema.length
|
|
1107
|
+
},
|
|
1108
|
+
objects: objectMap
|
|
1109
|
+
});
|
|
1110
|
+
};
|
|
1111
|
+
useAsyncEffect(updateInfo, [
|
|
1112
|
+
space
|
|
1113
|
+
]);
|
|
1114
|
+
const handleCreateData = useCallback(async (typename) => {
|
|
1115
|
+
const constructor = typeMap.get(typename);
|
|
1116
|
+
if (constructor) {
|
|
1117
|
+
await constructor(space, count, onCreateObjects);
|
|
1118
|
+
await updateInfo();
|
|
1119
|
+
}
|
|
1120
|
+
}, [
|
|
1121
|
+
typeMap,
|
|
1122
|
+
count
|
|
1123
|
+
]);
|
|
1124
|
+
return /* @__PURE__ */ React2.createElement(Panel.Root, null, /* @__PURE__ */ React2.createElement(Panel.Toolbar, {
|
|
1125
|
+
asChild: true
|
|
1126
|
+
}, /* @__PURE__ */ React2.createElement(Toolbar.Root, null, /* @__PURE__ */ React2.createElement(IconButton2, {
|
|
1127
|
+
icon: "ph--arrow-clockwise--regular",
|
|
1128
|
+
iconOnly: true,
|
|
1129
|
+
label: "Refresh",
|
|
1130
|
+
onClick: updateInfo
|
|
1131
|
+
}), /* @__PURE__ */ React2.createElement(Toolbar.Separator, null), /* @__PURE__ */ React2.createElement(Input.Root, null, /* @__PURE__ */ React2.createElement(Input.TextInput, {
|
|
1132
|
+
type: "number",
|
|
1133
|
+
placeholder: "Count",
|
|
1134
|
+
classNames: "w-[4rem] text-right",
|
|
1135
|
+
min: 1,
|
|
1136
|
+
max: 100,
|
|
1137
|
+
size: 8,
|
|
1138
|
+
value: count,
|
|
1139
|
+
onChange: (event) => setCount(parseInt(event.target.value))
|
|
1140
|
+
})))), /* @__PURE__ */ React2.createElement(Panel.Content, {
|
|
1141
|
+
asChild: true
|
|
1142
|
+
}, /* @__PURE__ */ React2.createElement(ScrollArea.Root, {
|
|
1143
|
+
thin: true,
|
|
1144
|
+
orientation: "vertical"
|
|
1145
|
+
}, /* @__PURE__ */ React2.createElement(ScrollArea.Viewport, {
|
|
1146
|
+
classNames: "gap-4 divide-y divide-subdued-separator"
|
|
1147
|
+
}, /* @__PURE__ */ React2.createElement(SchemaTable, {
|
|
1148
|
+
types: staticTypes,
|
|
1149
|
+
objects: info.objects,
|
|
1150
|
+
label: "Static Types",
|
|
1151
|
+
onClick: handleCreateData
|
|
1152
|
+
}), /* @__PURE__ */ React2.createElement(SchemaTable, {
|
|
1153
|
+
types: recordTypes,
|
|
1154
|
+
objects: info.objects,
|
|
1155
|
+
label: "Record Types",
|
|
1156
|
+
onClick: handleCreateData
|
|
1157
|
+
}), /* @__PURE__ */ React2.createElement(SchemaTable, {
|
|
1158
|
+
types: presets.types,
|
|
1159
|
+
objects: info.objects,
|
|
1160
|
+
label: "Presets",
|
|
1161
|
+
onClick: handleCreateData
|
|
1162
|
+
}), /* @__PURE__ */ React2.createElement(SyntaxHighlighter, {
|
|
1163
|
+
language: "json",
|
|
1164
|
+
classNames: "text-xs"
|
|
1165
|
+
}, JSON.stringify({
|
|
1166
|
+
space,
|
|
1167
|
+
...info
|
|
1168
|
+
}, jsonKeyReplacer({
|
|
1169
|
+
truncate: true
|
|
1170
|
+
}), 2))))));
|
|
974
1171
|
};
|
|
975
1172
|
|
|
976
|
-
// src/
|
|
1173
|
+
// src/containers/SpaceGenerator/index.ts
|
|
977
1174
|
var SpaceGenerator_default = SpaceGenerator;
|
|
978
1175
|
export {
|
|
979
1176
|
SpaceGenerator_default as default
|
|
980
1177
|
};
|
|
981
|
-
//# sourceMappingURL=SpaceGenerator-
|
|
1178
|
+
//# sourceMappingURL=SpaceGenerator-Q2GH6S6D.mjs.map
|