@dxos/plugin-debug 0.8.4-main.72ec0f3 → 0.8.4-main.765dc60934
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/LICENSE +102 -5
- package/README.md +1 -1
- package/dist/lib/neutral/DebugGraph-G4FWS57E.mjs +15 -0
- package/dist/lib/neutral/DebugGraph-G4FWS57E.mjs.map +7 -0
- package/dist/lib/neutral/DebugObjectPanel-UJ63CV25.mjs +59 -0
- package/dist/lib/neutral/DebugObjectPanel-UJ63CV25.mjs.map +7 -0
- package/dist/lib/neutral/DebugPlugin.mjs +47 -0
- package/dist/lib/neutral/DebugPlugin.mjs.map +7 -0
- package/dist/lib/neutral/DebugPlugin.node.mjs +18 -0
- package/dist/lib/neutral/DebugPlugin.node.mjs.map +7 -0
- package/dist/lib/neutral/DebugSettings-Z3XADRNK.mjs +224 -0
- package/dist/lib/neutral/DebugSettings-Z3XADRNK.mjs.map +7 -0
- package/dist/lib/neutral/DebugSpaceObjectsPanel-NISULU6U.mjs +34 -0
- package/dist/lib/neutral/DebugSpaceObjectsPanel-NISULU6U.mjs.map +7 -0
- package/dist/lib/neutral/DebugStatus-YB3KFP7G.mjs +121 -0
- package/dist/lib/neutral/DebugStatus-YB3KFP7G.mjs.map +7 -0
- package/dist/lib/neutral/DevtoolsOverviewContainer-YX7Z3D2H.mjs +23 -0
- package/dist/lib/neutral/DevtoolsOverviewContainer-YX7Z3D2H.mjs.map +7 -0
- package/dist/lib/neutral/SpaceGenerator-UBYB4NPD.mjs +143 -0
- package/dist/lib/neutral/SpaceGenerator-UBYB4NPD.mjs.map +7 -0
- package/dist/lib/neutral/Wireframe-7SNRUKET.mjs +52 -0
- package/dist/lib/neutral/Wireframe-7SNRUKET.mjs.map +7 -0
- package/dist/lib/neutral/app-graph-builder-YPYHL2K5.mjs +577 -0
- package/dist/lib/neutral/app-graph-builder-YPYHL2K5.mjs.map +7 -0
- package/dist/lib/neutral/capabilities/index.mjs +15 -0
- package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
- package/dist/lib/{browser/chunk-WZFZ4ESO.mjs → neutral/chunk-3OGPOE7H.mjs} +2 -2
- package/dist/lib/neutral/chunk-3OGPOE7H.mjs.map +7 -0
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
- package/dist/lib/{browser/chunk-SRV2AIGJ.mjs → neutral/chunk-NFIOTQRZ.mjs} +30 -9
- package/dist/lib/neutral/chunk-NFIOTQRZ.mjs.map +7 -0
- package/dist/lib/{browser/SpaceGenerator-46TAISVE.mjs → neutral/components/index.mjs} +317 -490
- package/dist/lib/neutral/components/index.mjs.map +7 -0
- package/dist/lib/neutral/containers/index.mjs +21 -0
- package/dist/lib/neutral/containers/index.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +18 -0
- package/dist/lib/neutral/index.mjs.map +7 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/neutral/meta.mjs +8 -0
- package/dist/lib/neutral/meta.mjs.map +7 -0
- package/dist/lib/neutral/plugin.mjs +12 -0
- package/dist/lib/neutral/plugin.mjs.map +7 -0
- package/dist/lib/neutral/react-context-MUZ3KVLU.mjs +17 -0
- package/dist/lib/neutral/react-context-MUZ3KVLU.mjs.map +7 -0
- package/dist/lib/neutral/react-surface-UR2SYHYW.mjs +419 -0
- package/dist/lib/neutral/react-surface-UR2SYHYW.mjs.map +7 -0
- package/dist/lib/neutral/settings-MPM6YUP4.mjs +28 -0
- package/dist/lib/neutral/settings-MPM6YUP4.mjs.map +7 -0
- package/dist/lib/neutral/translations.mjs +83 -0
- package/dist/lib/neutral/translations.mjs.map +7 -0
- package/dist/lib/neutral/types/index.mjs +14 -0
- package/dist/lib/neutral/types/index.mjs.map +7 -0
- package/dist/types/src/DebugPlugin.d.ts +4 -1
- package/dist/types/src/DebugPlugin.d.ts.map +1 -1
- package/dist/types/src/DebugPlugin.node.d.ts +5 -0
- package/dist/types/src/DebugPlugin.node.d.ts.map +1 -0
- package/dist/types/src/DebugPlugin.test.d.ts +2 -0
- package/dist/types/src/DebugPlugin.test.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +8 -5
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-context.d.ts +4 -2
- package/dist/types/src/capabilities/react-context.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +7 -2
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings.d.ts +5 -2
- package/dist/types/src/capabilities/settings.d.ts.map +1 -1
- package/dist/types/src/components/DebugSettings/DebugSettings.d.ts +11 -0
- package/dist/types/src/components/DebugSettings/DebugSettings.d.ts.map +1 -0
- package/dist/types/src/components/DebugSettings/DebugSettings.stories.d.ts +99 -0
- package/dist/types/src/components/DebugSettings/DebugSettings.stories.d.ts.map +1 -0
- package/dist/types/src/components/DebugSettings/index.d.ts +2 -0
- package/dist/types/src/components/DebugSettings/index.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 +1 -4
- package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +4 -10
- 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 +2 -0
- package/dist/types/src/containers/DebugGraph/index.d.ts.map +1 -0
- package/dist/types/src/containers/DebugObjectPanel/DebugObjectPanel.d.ts +6 -0
- package/dist/types/src/containers/DebugObjectPanel/DebugObjectPanel.d.ts.map +1 -0
- package/dist/types/src/containers/DebugObjectPanel/index.d.ts +2 -0
- package/dist/types/src/containers/DebugObjectPanel/index.d.ts.map +1 -0
- package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts +5 -0
- package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts.map +1 -0
- package/dist/types/src/containers/DebugSpaceObjectsPanel/index.d.ts +2 -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 +2 -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 +2 -0
- package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.d.ts +11 -0
- package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.d.ts.map +1 -0
- package/dist/types/src/containers/SpaceGenerator/index.d.ts +2 -0
- package/dist/types/src/containers/SpaceGenerator/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers/Wireframe}/Wireframe.d.ts +1 -1
- package/dist/types/src/containers/Wireframe/Wireframe.d.ts.map +1 -0
- package/dist/types/src/containers/Wireframe/index.d.ts +2 -0
- package/dist/types/src/containers/Wireframe/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +9 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +2 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/plugin.d.ts +4 -0
- package/dist/types/src/plugin.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +80 -59
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Settings.d.ts +8 -0
- package/dist/types/src/types/Settings.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +69 -0
- package/dist/types/src/types/index.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +132 -76
- package/src/DebugPlugin.node.ts +18 -0
- package/src/DebugPlugin.test.ts +29 -0
- package/src/DebugPlugin.tsx +28 -34
- package/src/capabilities/app-graph-builder.ts +362 -388
- package/src/capabilities/index.ts +5 -5
- package/src/capabilities/react-context.tsx +16 -7
- package/src/capabilities/react-surface.tsx +376 -356
- package/src/capabilities/settings.ts +24 -12
- package/src/components/DebugSettings/DebugSettings.stories.tsx +36 -0
- package/src/components/DebugSettings/DebugSettings.tsx +262 -0
- package/src/components/DebugSettings/index.ts +5 -0
- package/src/components/{SpaceGenerator → SchemaTable}/SchemaTable.tsx +2 -2
- package/src/components/SchemaTable/index.ts +5 -0
- package/src/components/SpaceGenerator/ObjectGenerator.tsx +26 -29
- package/src/components/SpaceGenerator/draw-util.ts +8 -8
- package/src/components/SpaceGenerator/index.ts +2 -3
- package/src/components/SpaceGenerator/presets.ts +206 -110
- package/src/components/index.ts +4 -8
- package/src/containers/DebugGraph/DebugGraph.tsx +14 -0
- package/src/containers/DebugGraph/index.ts +5 -0
- package/src/containers/DebugObjectPanel/DebugObjectPanel.tsx +76 -0
- package/src/containers/DebugObjectPanel/index.ts +5 -0
- package/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.tsx +47 -0
- package/src/containers/DebugSpaceObjectsPanel/index.ts +5 -0
- package/src/{components → containers/DebugStatus}/DebugStatus.tsx +41 -19
- package/src/containers/DebugStatus/index.ts +5 -0
- package/src/containers/DevtoolsOverviewContainer/DevtoolsOverviewContainer.tsx +25 -0
- package/src/containers/DevtoolsOverviewContainer/index.ts +5 -0
- package/src/containers/SpaceGenerator/SpaceGenerator.tsx +126 -0
- package/src/containers/SpaceGenerator/index.ts +5 -0
- package/src/{components → containers/Wireframe}/Wireframe.tsx +5 -9
- package/src/containers/Wireframe/index.ts +5 -0
- package/src/containers/index.ts +13 -0
- package/src/index.ts +1 -1
- package/src/meta.ts +3 -3
- package/src/plugin.ts +10 -0
- package/src/translations.ts +75 -58
- package/src/types/Settings.ts +16 -0
- package/src/{types.ts → types/index.ts} +20 -11
- package/dist/lib/browser/DebugGraph-EDOH6R2G.mjs +0 -20
- package/dist/lib/browser/DebugGraph-EDOH6R2G.mjs.map +0 -7
- package/dist/lib/browser/DevtoolsOverviewContainer-JXVZVPHN.mjs +0 -25
- package/dist/lib/browser/DevtoolsOverviewContainer-JXVZVPHN.mjs.map +0 -7
- package/dist/lib/browser/SpaceGenerator-46TAISVE.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-CRH2HJKT.mjs +0 -588
- package/dist/lib/browser/app-graph-builder-CRH2HJKT.mjs.map +0 -7
- package/dist/lib/browser/chunk-SRV2AIGJ.mjs.map +0 -7
- package/dist/lib/browser/chunk-WZFZ4ESO.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -130
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/react-context-P2YDWEWI.mjs +0 -16
- package/dist/lib/browser/react-context-P2YDWEWI.mjs.map +0 -7
- package/dist/lib/browser/react-surface-2SNVZDEA.mjs +0 -774
- package/dist/lib/browser/react-surface-2SNVZDEA.mjs.map +0 -7
- package/dist/lib/browser/settings-SQXR3OAH.mjs +0 -22
- package/dist/lib/browser/settings-SQXR3OAH.mjs.map +0 -7
- 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/DebugGraph.d.ts +0 -8
- package/dist/types/src/components/DebugGraph.d.ts.map +0 -1
- package/dist/types/src/components/DebugObjectPanel.d.ts +0 -7
- 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 +0 -9
- package/dist/types/src/components/SpaceGenerator/SpaceGenerator.d.ts.map +0 -1
- package/dist/types/src/components/SpaceGenerator/SpaceGenerator.stories.d.ts +0 -15
- 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/dist/types/src/types.d.ts +0 -63
- package/dist/types/src/types.d.ts.map +0 -1
- package/src/components/Container.tsx +0 -15
- package/src/components/DebugGraph.tsx +0 -14
- package/src/components/DebugObjectPanel.tsx +0 -33
- package/src/components/DebugSettings.tsx +0 -180
- package/src/components/DevtoolsOverviewContainer.tsx +0 -20
- 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
|
@@ -1,215 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
|
|
3
|
-
import React2, { useCallback, useMemo, useState } from "react";
|
|
4
|
-
import { useIntentDispatcher } from "@dxos/app-framework/react";
|
|
5
|
-
import { ComputeGraph as ComputeGraph2 } from "@dxos/conductor";
|
|
6
|
-
import { Filter as Filter3 } from "@dxos/echo";
|
|
7
|
-
import { Markdown as Markdown3 } from "@dxos/plugin-markdown/types";
|
|
8
|
-
import { Sheet as Sheet2 } from "@dxos/plugin-sheet/types";
|
|
9
|
-
import { Diagram as Diagram2 } from "@dxos/plugin-sketch/types";
|
|
10
|
-
import { useClient } from "@dxos/react-client";
|
|
11
|
-
import { getTypename } from "@dxos/react-client/echo";
|
|
12
|
-
import { IconButton as IconButton2, Input, Toolbar, useAsyncEffect } from "@dxos/react-ui";
|
|
13
|
-
import { SyntaxHighlighter } from "@dxos/react-ui-syntax-highlighter";
|
|
14
|
-
import { Organization as Organization2, Person as Person2, Task } from "@dxos/types";
|
|
15
|
-
import { jsonKeyReplacer, sortKeys } from "@dxos/util";
|
|
1
|
+
import "../chunk-J5LGTIGS.mjs";
|
|
16
2
|
|
|
17
|
-
// src/components/
|
|
18
|
-
import {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
import
|
|
22
|
-
import {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
space,
|
|
43
|
-
schema,
|
|
44
|
-
show: false
|
|
45
|
-
}));
|
|
46
|
-
} else if (!view && staticSchema) {
|
|
47
|
-
await dispatch(createIntent(SpaceAction.UseStaticSchema, {
|
|
48
|
-
space,
|
|
49
|
-
typename,
|
|
50
|
-
show: false
|
|
51
|
-
}));
|
|
52
|
-
}
|
|
53
|
-
const generate = createAsyncGenerator(generator, schema, {
|
|
54
|
-
db: space.db
|
|
55
|
-
});
|
|
56
|
-
return generate.createObjects(n);
|
|
57
|
-
};
|
|
3
|
+
// src/components/index.ts
|
|
4
|
+
import { lazy } from "react";
|
|
5
|
+
|
|
6
|
+
// src/components/SchemaTable/SchemaTable.tsx
|
|
7
|
+
import React from "react";
|
|
8
|
+
import { IconButton } from "@dxos/react-ui";
|
|
9
|
+
var SchemaTable = ({ types, objects = {}, label, onClick }) => {
|
|
10
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
11
|
+
className: "grid grid-cols-[1fr_80px_40px] gap-1 overflow-none"
|
|
12
|
+
}, /* @__PURE__ */ React.createElement("h2", {
|
|
13
|
+
className: "p-2"
|
|
14
|
+
}, label), types.map((type) => /* @__PURE__ */ React.createElement("div", {
|
|
15
|
+
key: type.typename,
|
|
16
|
+
className: "grid grid-cols-subgrid col-span-3 items-center"
|
|
17
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
18
|
+
className: "px-2 text-sm font-mono text-subdued"
|
|
19
|
+
}, type.typename), /* @__PURE__ */ React.createElement("div", {
|
|
20
|
+
className: "px-2 text-right font-mono"
|
|
21
|
+
}, objects[type.typename] ?? 0), /* @__PURE__ */ React.createElement(IconButton, {
|
|
22
|
+
variant: "ghost",
|
|
23
|
+
icon: "ph--plus--regular",
|
|
24
|
+
iconOnly: true,
|
|
25
|
+
label: "Create data",
|
|
26
|
+
onClick: () => onClick(type.typename)
|
|
27
|
+
}))));
|
|
58
28
|
};
|
|
59
|
-
var staticGenerators = /* @__PURE__ */ new Map([
|
|
60
|
-
[
|
|
61
|
-
Markdown.Document.typename,
|
|
62
|
-
async (space, n, cb) => {
|
|
63
|
-
const objects = range(n).map(() => {
|
|
64
|
-
return space.db.add(Markdown.make({
|
|
65
|
-
name: faker.commerce.productName(),
|
|
66
|
-
content: faker.lorem.sentences(5)
|
|
67
|
-
}));
|
|
68
|
-
});
|
|
69
|
-
cb?.(objects);
|
|
70
|
-
return objects;
|
|
71
|
-
}
|
|
72
|
-
],
|
|
73
|
-
[
|
|
74
|
-
Diagram.Diagram.typename,
|
|
75
|
-
async (space, n, cb) => {
|
|
76
|
-
const objects = range(n).map(() => {
|
|
77
|
-
const obj = space.db.add(Diagram.make({
|
|
78
|
-
name: faker.commerce.productName()
|
|
79
|
-
}));
|
|
80
|
-
return obj;
|
|
81
|
-
});
|
|
82
|
-
cb?.(objects);
|
|
83
|
-
return objects;
|
|
84
|
-
}
|
|
85
|
-
],
|
|
86
|
-
// TODO(burdon): Create unit tests.
|
|
87
|
-
[
|
|
88
|
-
Sheet.Sheet.typename,
|
|
89
|
-
async (space, n, cb) => {
|
|
90
|
-
const objects = range(n).map(() => {
|
|
91
|
-
const cells = {};
|
|
92
|
-
const year = (/* @__PURE__ */ new Date()).getFullYear();
|
|
93
|
-
const cols = 4;
|
|
94
|
-
const rows = 16;
|
|
95
|
-
for (let col = 1; col <= cols; col++) {
|
|
96
|
-
for (let row = 1; row <= rows; row++) {
|
|
97
|
-
const cell = addressToA1Notation({
|
|
98
|
-
col,
|
|
99
|
-
row
|
|
100
|
-
});
|
|
101
|
-
if (row === 1) {
|
|
102
|
-
cells[cell] = {
|
|
103
|
-
value: `${year} Q${col}`
|
|
104
|
-
};
|
|
105
|
-
} else if (row === rows) {
|
|
106
|
-
const from = addressToA1Notation({
|
|
107
|
-
col,
|
|
108
|
-
row: 2
|
|
109
|
-
});
|
|
110
|
-
const to = addressToA1Notation({
|
|
111
|
-
col,
|
|
112
|
-
row: rows - 1
|
|
113
|
-
});
|
|
114
|
-
cells[cell] = {
|
|
115
|
-
value: `=SUM(${from}:${to})`
|
|
116
|
-
};
|
|
117
|
-
} else if (row > 2 && row < rows - 1) {
|
|
118
|
-
cells[cell] = {
|
|
119
|
-
value: Math.floor(Math.random() * 1e4)
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
return space.db.add(Sheet.make({
|
|
125
|
-
name: faker.commerce.productName(),
|
|
126
|
-
cells
|
|
127
|
-
}));
|
|
128
|
-
});
|
|
129
|
-
cb?.(objects);
|
|
130
|
-
return objects;
|
|
131
|
-
}
|
|
132
|
-
],
|
|
133
|
-
[
|
|
134
|
-
ComputeGraph.typename,
|
|
135
|
-
async (space, n, cb) => {
|
|
136
|
-
const objects = range(n, () => {
|
|
137
|
-
const model = ComputeGraphModel.create();
|
|
138
|
-
model.builder.createNode({
|
|
139
|
-
id: "gpt-INPUT",
|
|
140
|
-
type: NODE_INPUT
|
|
141
|
-
}).createNode({
|
|
142
|
-
id: "gpt-GPT",
|
|
143
|
-
type: "gpt"
|
|
144
|
-
}).createNode({
|
|
145
|
-
id: "gpt-QUEUE_ID",
|
|
146
|
-
type: "constant",
|
|
147
|
-
value: new DXN(DXN.kind.QUEUE, [
|
|
148
|
-
"data",
|
|
149
|
-
space.id,
|
|
150
|
-
Key.ObjectId.random()
|
|
151
|
-
]).toString()
|
|
152
|
-
}).createNode({
|
|
153
|
-
id: "gpt-APPEND",
|
|
154
|
-
type: "append"
|
|
155
|
-
}).createNode({
|
|
156
|
-
id: "gpt-OUTPUT",
|
|
157
|
-
type: NODE_OUTPUT
|
|
158
|
-
}).createEdge({
|
|
159
|
-
node: "gpt-INPUT",
|
|
160
|
-
property: "prompt"
|
|
161
|
-
}, {
|
|
162
|
-
node: "gpt-GPT",
|
|
163
|
-
property: "prompt"
|
|
164
|
-
}).createEdge({
|
|
165
|
-
node: "gpt-GPT",
|
|
166
|
-
property: "text"
|
|
167
|
-
}, {
|
|
168
|
-
node: "gpt-OUTPUT",
|
|
169
|
-
property: "text"
|
|
170
|
-
}).createEdge({
|
|
171
|
-
node: "gpt-QUEUE_ID",
|
|
172
|
-
property: DEFAULT_OUTPUT
|
|
173
|
-
}, {
|
|
174
|
-
node: "gpt-APPEND",
|
|
175
|
-
property: "id"
|
|
176
|
-
}).createEdge({
|
|
177
|
-
node: "gpt-GPT",
|
|
178
|
-
property: "messages"
|
|
179
|
-
}, {
|
|
180
|
-
node: "gpt-APPEND",
|
|
181
|
-
property: "items"
|
|
182
|
-
}).createEdge({
|
|
183
|
-
node: "gpt-QUEUE_ID",
|
|
184
|
-
property: DEFAULT_OUTPUT
|
|
185
|
-
}, {
|
|
186
|
-
node: "gpt-OUTPUT",
|
|
187
|
-
property: "queue"
|
|
188
|
-
});
|
|
189
|
-
return space.db.add(model.root);
|
|
190
|
-
});
|
|
191
|
-
cb?.(objects);
|
|
192
|
-
return objects;
|
|
193
|
-
}
|
|
194
|
-
]
|
|
195
|
-
]);
|
|
196
29
|
|
|
197
30
|
// src/components/SpaceGenerator/presets.ts
|
|
198
31
|
import * as Schema from "effect/Schema";
|
|
199
|
-
import {
|
|
200
|
-
import {
|
|
201
|
-
import { NODE_INPUT
|
|
202
|
-
import { DXN
|
|
203
|
-
import { Trigger, serializeFunction } from "@dxos/functions";
|
|
32
|
+
import { AgentPrompt, WebSearchBlueprint } from "@dxos/assistant-toolkit";
|
|
33
|
+
import { Routine, Trigger, Operation } from "@dxos/compute";
|
|
34
|
+
import { NODE_INPUT } from "@dxos/conductor";
|
|
35
|
+
import { DXN, Feed, Filter, JsonSchema, Key, Obj, Query, Ref, Tag } from "@dxos/echo";
|
|
204
36
|
import { invariant } from "@dxos/invariant";
|
|
205
|
-
import {
|
|
206
|
-
import { Mailbox } from "@dxos/plugin-inbox
|
|
207
|
-
import { Markdown
|
|
208
|
-
import { createAppend, createChat, createComputeGraph, createConstant, createFunction, createGpt,
|
|
209
|
-
import {
|
|
210
|
-
import {
|
|
211
|
-
import { Message, Organization, Person,
|
|
212
|
-
import { range
|
|
37
|
+
import { InboxOperation } from "@dxos/plugin-inbox";
|
|
38
|
+
import { Mailbox } from "@dxos/plugin-inbox";
|
|
39
|
+
import { Markdown } from "@dxos/plugin-markdown";
|
|
40
|
+
import { createAppend, createChat, createComputeGraph, createConstant, createFeed, createFunction, createGpt, createRandom, createSurface, createTemplate, createText, createTrigger } from "@dxos/react-ui-canvas-compute";
|
|
41
|
+
import { CanvasBoard, CanvasGraphModel, pointMultiply, pointsToRect, rectToPoints } from "@dxos/react-ui-canvas-editor";
|
|
42
|
+
import { ViewModel } from "@dxos/schema";
|
|
43
|
+
import { Message, Organization, Person, Pipeline } from "@dxos/types";
|
|
44
|
+
import { range, trim } from "@dxos/util";
|
|
213
45
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-debug/src/components/SpaceGenerator/presets.ts";
|
|
214
46
|
var PresetName = /* @__PURE__ */ (function(PresetName2) {
|
|
215
47
|
PresetName2["DXOS_TEAM"] = "dxos-team";
|
|
@@ -222,9 +54,9 @@ var PresetName = /* @__PURE__ */ (function(PresetName2) {
|
|
|
222
54
|
PresetName2["DISCORD_MESSAGES"] = "discord-messages";
|
|
223
55
|
return PresetName2;
|
|
224
56
|
})({});
|
|
225
|
-
var
|
|
57
|
+
var generator = () => ({
|
|
226
58
|
schemas: [
|
|
227
|
-
|
|
59
|
+
CanvasBoard.CanvasBoard,
|
|
228
60
|
Trigger.Trigger
|
|
229
61
|
],
|
|
230
62
|
types: Object.values(PresetName).map((name) => ({
|
|
@@ -234,29 +66,32 @@ var generator2 = () => ({
|
|
|
234
66
|
[
|
|
235
67
|
"dxos-team",
|
|
236
68
|
async (space, n, cb) => {
|
|
237
|
-
const objects =
|
|
69
|
+
const objects = range(n, () => {
|
|
238
70
|
const org = space.db.add(Obj.make(Organization.Organization, {
|
|
239
71
|
name: "DXOS",
|
|
240
72
|
website: "https://dxos.org"
|
|
241
73
|
}));
|
|
242
|
-
const doc = space.db.add(
|
|
74
|
+
const doc = space.db.add(Markdown.make({
|
|
243
75
|
name: "DXOS Research",
|
|
244
76
|
content: "DXOS builds Composer, an open-source AI-powered malleable application."
|
|
245
77
|
}));
|
|
246
78
|
const tag = space.db.add(Tag.make({
|
|
247
79
|
label: "Investor"
|
|
248
80
|
}));
|
|
249
|
-
const
|
|
250
|
-
Obj.
|
|
251
|
-
|
|
252
|
-
|
|
81
|
+
const tagDXN = Obj.getDXN(tag).toString();
|
|
82
|
+
Obj.update(doc, (doc2) => {
|
|
83
|
+
Obj.getMeta(doc2).tags = [
|
|
84
|
+
tagDXN
|
|
85
|
+
];
|
|
86
|
+
});
|
|
253
87
|
space.db.add(Obj.make(Person.Person, {
|
|
88
|
+
[Obj.Meta]: {
|
|
89
|
+
tags: [
|
|
90
|
+
tagDXN
|
|
91
|
+
]
|
|
92
|
+
},
|
|
254
93
|
fullName: "Rich",
|
|
255
94
|
organization: Ref.make(org)
|
|
256
|
-
}, {
|
|
257
|
-
tags: [
|
|
258
|
-
tagDxn
|
|
259
|
-
]
|
|
260
95
|
}));
|
|
261
96
|
space.db.add(Obj.make(Person.Person, {
|
|
262
97
|
fullName: "Josiah",
|
|
@@ -279,39 +114,30 @@ var generator2 = () => ({
|
|
|
279
114
|
[
|
|
280
115
|
"org-research-project",
|
|
281
116
|
async (space, n, cb) => {
|
|
282
|
-
const
|
|
283
|
-
const
|
|
117
|
+
const mailboxes = await space.db.query(Filter.type(Mailbox.Mailbox)).run();
|
|
118
|
+
const mailbox = mailboxes[0];
|
|
119
|
+
invariant(mailbox, "Mailbox not found", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 100, S: void 0, A: ["mailbox", "'Mailbox not found'"] });
|
|
120
|
+
const mailboxFeed = await mailbox.feed?.tryLoad();
|
|
121
|
+
invariant(mailboxFeed, "Mailbox missing feed reference", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 102, S: void 0, A: ["mailboxFeed", "'Mailbox missing feed reference'"] });
|
|
122
|
+
const feedDXN = Feed.getQueueDxn(mailboxFeed)?.toString();
|
|
123
|
+
invariant(feedDXN, "Mailbox feed missing DXN", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 104, S: void 0, A: ["feedDXN", "'Mailbox feed missing DXN'"] });
|
|
124
|
+
const tag = await space.db.query(Filter.type(Tag.Tag, {
|
|
284
125
|
label: "Investor"
|
|
285
126
|
})).first();
|
|
286
|
-
const
|
|
287
|
-
const objects =
|
|
288
|
-
const contactsQuery = Query.select(
|
|
289
|
-
const organizationsQuery = Query.select(
|
|
290
|
-
const notesQuery = Query.select(
|
|
127
|
+
const tagDXN = Obj.getDXN(tag).toString();
|
|
128
|
+
const objects = range(n, () => {
|
|
129
|
+
const contactsQuery = Query.select(Filter.type(Person.Person)).select(Filter.tag(tagDXN));
|
|
130
|
+
const organizationsQuery = Query.select(Filter.type(Organization.Organization)).select(Filter.tag(tagDXN));
|
|
131
|
+
const notesQuery = Query.select(Filter.type(Markdown.Document)).select(Filter.tag(tagDXN));
|
|
291
132
|
space.db.add(Trigger.make({
|
|
292
133
|
enabled: true,
|
|
293
|
-
spec:
|
|
294
|
-
|
|
295
|
-
cron: "* * * * *"
|
|
296
|
-
},
|
|
297
|
-
function: Ref.make(serializeFunction(gmail.sync)),
|
|
298
|
-
input: {
|
|
299
|
-
mailboxId: Obj.getDXN(mailbox).toString()
|
|
300
|
-
}
|
|
301
|
-
}));
|
|
302
|
-
space.db.add(Trigger.make({
|
|
303
|
-
enabled: true,
|
|
304
|
-
// TODO(wittjosiah): Queue trigger doesn't support matching query of the column.
|
|
305
|
-
spec: {
|
|
306
|
-
kind: "queue",
|
|
307
|
-
queue: mailbox.queue.dxn.toString()
|
|
308
|
-
},
|
|
309
|
-
function: Ref.make(serializeFunction(EntityExtraction.extract)),
|
|
134
|
+
spec: Trigger.specTimer("* * * * *"),
|
|
135
|
+
function: Ref.make(Operation.serialize(InboxOperation.GoogleMailSync)),
|
|
310
136
|
input: {
|
|
311
|
-
|
|
137
|
+
mailbox: Ref.make(mailbox)
|
|
312
138
|
}
|
|
313
139
|
}));
|
|
314
|
-
const researchPrompt = space.db.add(
|
|
140
|
+
const researchPrompt = space.db.add(Routine.make({
|
|
315
141
|
name: "Research",
|
|
316
142
|
description: "Research organization",
|
|
317
143
|
input: Schema.Struct({
|
|
@@ -326,71 +152,66 @@ var generator2 = () => ({
|
|
|
326
152
|
NOTE: Do mocked reseach (set mockSearch to true).
|
|
327
153
|
`,
|
|
328
154
|
blueprints: [
|
|
329
|
-
Ref.make(
|
|
155
|
+
Ref.make(WebSearchBlueprint.make())
|
|
330
156
|
]
|
|
331
157
|
}));
|
|
332
158
|
space.db.add(Trigger.make({
|
|
333
159
|
enabled: true,
|
|
334
|
-
spec:
|
|
335
|
-
|
|
336
|
-
query: {
|
|
337
|
-
ast: organizationsQuery.ast
|
|
338
|
-
}
|
|
339
|
-
},
|
|
340
|
-
function: Ref.make(serializeFunction(Agent.prompt)),
|
|
160
|
+
spec: Trigger.specSubscription(organizationsQuery),
|
|
161
|
+
function: Ref.make(Operation.serialize(AgentPrompt)),
|
|
341
162
|
input: {
|
|
342
163
|
prompt: Ref.make(researchPrompt),
|
|
343
164
|
input: "{{event.subject}}"
|
|
344
165
|
}
|
|
345
166
|
}));
|
|
346
|
-
const mailboxView =
|
|
347
|
-
|
|
348
|
-
query: Query.select(Filter2.type(Message.Message, {
|
|
167
|
+
const mailboxView = ViewModel.make({
|
|
168
|
+
query: Query.select(Filter.type(Message.Message, {
|
|
349
169
|
properties: {
|
|
350
|
-
labels:
|
|
170
|
+
labels: Filter.contains("investor")
|
|
351
171
|
}
|
|
352
|
-
})).
|
|
353
|
-
|
|
354
|
-
|
|
172
|
+
})).from({
|
|
173
|
+
feeds: [
|
|
174
|
+
feedDXN
|
|
355
175
|
]
|
|
356
176
|
}),
|
|
357
|
-
jsonSchema:
|
|
358
|
-
presentation: Obj.make(Collection.Collection, {
|
|
359
|
-
objects: []
|
|
360
|
-
})
|
|
177
|
+
jsonSchema: JsonSchema.toJsonSchema(Message.Message)
|
|
361
178
|
});
|
|
362
|
-
const contactsView =
|
|
363
|
-
name: "Contacts",
|
|
179
|
+
const contactsView = ViewModel.make({
|
|
364
180
|
query: contactsQuery,
|
|
365
|
-
jsonSchema:
|
|
366
|
-
presentation: Obj.make(Collection.Collection, {
|
|
367
|
-
objects: []
|
|
368
|
-
})
|
|
181
|
+
jsonSchema: JsonSchema.toJsonSchema(Person.Person)
|
|
369
182
|
});
|
|
370
|
-
const organizationsView =
|
|
371
|
-
name: "Organizations",
|
|
183
|
+
const organizationsView = ViewModel.make({
|
|
372
184
|
query: organizationsQuery,
|
|
373
|
-
jsonSchema:
|
|
374
|
-
presentation: Obj.make(Collection.Collection, {
|
|
375
|
-
objects: []
|
|
376
|
-
})
|
|
185
|
+
jsonSchema: JsonSchema.toJsonSchema(Organization.Organization)
|
|
377
186
|
});
|
|
378
|
-
const notesView =
|
|
379
|
-
name: "Notes",
|
|
187
|
+
const notesView = ViewModel.make({
|
|
380
188
|
query: notesQuery,
|
|
381
|
-
jsonSchema:
|
|
382
|
-
presentation: Obj.make(Collection.Collection, {
|
|
383
|
-
objects: []
|
|
384
|
-
})
|
|
189
|
+
jsonSchema: JsonSchema.toJsonSchema(Markdown.Document)
|
|
385
190
|
});
|
|
386
|
-
return space.db.add(
|
|
191
|
+
return space.db.add(Pipeline.make({
|
|
387
192
|
name: "Investor Research",
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
193
|
+
columns: [
|
|
194
|
+
{
|
|
195
|
+
name: "Mailbox",
|
|
196
|
+
view: Ref.make(mailboxView),
|
|
197
|
+
order: []
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
name: "Contacts",
|
|
201
|
+
view: Ref.make(contactsView),
|
|
202
|
+
order: []
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
name: "Organizations",
|
|
206
|
+
view: Ref.make(organizationsView),
|
|
207
|
+
order: []
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
name: "Notes",
|
|
211
|
+
view: Ref.make(notesView),
|
|
212
|
+
order: []
|
|
213
|
+
}
|
|
214
|
+
]
|
|
394
215
|
}));
|
|
395
216
|
});
|
|
396
217
|
cb?.(objects.flat());
|
|
@@ -400,7 +221,7 @@ var generator2 = () => ({
|
|
|
400
221
|
[
|
|
401
222
|
"webhook-gpt-queue",
|
|
402
223
|
async (space, n, cb) => {
|
|
403
|
-
const objects =
|
|
224
|
+
const objects = range(n, () => {
|
|
404
225
|
const canvasModel = CanvasGraphModel.create();
|
|
405
226
|
let functionTrigger;
|
|
406
227
|
canvasModel.builder.call((builder) => {
|
|
@@ -460,9 +281,9 @@ var generator2 = () => ({
|
|
|
460
281
|
[
|
|
461
282
|
"objectChange-queue",
|
|
462
283
|
async (space, n, cb) => {
|
|
463
|
-
const objects =
|
|
284
|
+
const objects = range(n, () => {
|
|
464
285
|
const { canvasModel, computeModel } = createQueueSinkPreset(space, "subscription", (triggerSpec) => triggerSpec.query = {
|
|
465
|
-
ast: Query.select(
|
|
286
|
+
ast: Query.select(Filter.typename("org.dxos.type.chess")).ast
|
|
466
287
|
}, "type");
|
|
467
288
|
return addToSpace("objectChange-queue", space, canvasModel, computeModel);
|
|
468
289
|
});
|
|
@@ -473,7 +294,7 @@ var generator2 = () => ({
|
|
|
473
294
|
[
|
|
474
295
|
"timerTick-queue",
|
|
475
296
|
async (space, n, cb) => {
|
|
476
|
-
const objects =
|
|
297
|
+
const objects = range(n, () => {
|
|
477
298
|
const { canvasModel, computeModel } = createQueueSinkPreset(space, "timer", (triggerSpec) => triggerSpec.cron = "*/5 * * * * *", "result");
|
|
478
299
|
return addToSpace("timerTick-queue", space, canvasModel, computeModel);
|
|
479
300
|
});
|
|
@@ -528,7 +349,7 @@ var generator2 = () => ({
|
|
|
528
349
|
// const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);
|
|
529
350
|
// invariant(templateComputeNode, 'Template compute node was not created.');
|
|
530
351
|
// templateComputeNode.value = templateContent.join('\n');
|
|
531
|
-
// templateComputeNode.inputSchema =
|
|
352
|
+
// templateComputeNode.inputSchema = JsonSchema.toJsonSchema(EmailTriggerOutput);
|
|
532
353
|
// attachTrigger(functionTrigger, computeModel);
|
|
533
354
|
// return addToSpace(PresetName.EMAIL_TABLE, space, canvasModel, computeModel);
|
|
534
355
|
// });
|
|
@@ -539,7 +360,7 @@ var generator2 = () => ({
|
|
|
539
360
|
[
|
|
540
361
|
"chat-gpt-text",
|
|
541
362
|
async (space, n, cb) => {
|
|
542
|
-
const objects =
|
|
363
|
+
const objects = range(n, () => {
|
|
543
364
|
const canvasModel = CanvasGraphModel.create();
|
|
544
365
|
canvasModel.builder.call((builder) => {
|
|
545
366
|
const gpt = canvasModel.createNode(createGpt(position({
|
|
@@ -659,7 +480,7 @@ var generator2 = () => ({
|
|
|
659
480
|
// invariant(templateComputeNode, 'Template compute node was not created.');
|
|
660
481
|
// templateComputeNode.value = templateContent.join('\n');
|
|
661
482
|
// const extendedSchema = Schema.extend(EmailTriggerOutput, Schema.Struct({ text: Schema.String }));
|
|
662
|
-
// templateComputeNode.inputSchema =
|
|
483
|
+
// templateComputeNode.inputSchema = JsonSchema.toJsonSchema(extendedSchema);
|
|
663
484
|
// attachTrigger(functionTrigger, computeModel);
|
|
664
485
|
// return addToSpace(PresetName.EMAIL_WITH_SUMMARY, space, canvasModel, computeModel);
|
|
665
486
|
// });
|
|
@@ -670,7 +491,7 @@ var generator2 = () => ({
|
|
|
670
491
|
[
|
|
671
492
|
"forex-function-call",
|
|
672
493
|
async (space, n, cb) => {
|
|
673
|
-
const objects =
|
|
494
|
+
const objects = range(n, () => {
|
|
674
495
|
const canvasModel = CanvasGraphModel.create();
|
|
675
496
|
canvasModel.builder.call((builder) => {
|
|
676
497
|
const sourceCurrency = canvasModel.createNode(createConstant({
|
|
@@ -719,7 +540,7 @@ var generator2 = () => ({
|
|
|
719
540
|
[
|
|
720
541
|
"discord-messages",
|
|
721
542
|
async (space, n, cb) => {
|
|
722
|
-
const objects =
|
|
543
|
+
const objects = range(n, () => {
|
|
723
544
|
const canvasModel = CanvasGraphModel.create();
|
|
724
545
|
let functionTrigger;
|
|
725
546
|
canvasModel.builder.call((builder) => {
|
|
@@ -740,10 +561,10 @@ var generator2 = () => ({
|
|
|
740
561
|
})
|
|
741
562
|
}));
|
|
742
563
|
const queueId = canvasModel.createNode(createConstant({
|
|
743
|
-
value: new
|
|
564
|
+
value: new DXN(DXN.kind.QUEUE, [
|
|
744
565
|
"data",
|
|
745
566
|
space.id,
|
|
746
|
-
|
|
567
|
+
Key.ObjectId.random()
|
|
747
568
|
]).toString(),
|
|
748
569
|
...position({
|
|
749
570
|
x: -10,
|
|
@@ -758,7 +579,7 @@ var generator2 = () => ({
|
|
|
758
579
|
x: 12,
|
|
759
580
|
y: 0
|
|
760
581
|
})));
|
|
761
|
-
const queue = canvasModel.createNode(
|
|
582
|
+
const queue = canvasModel.createNode(createFeed(position({
|
|
762
583
|
x: 0,
|
|
763
584
|
y: 12
|
|
764
585
|
})));
|
|
@@ -833,7 +654,7 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
|
|
|
833
654
|
width: 128,
|
|
834
655
|
height: 122
|
|
835
656
|
})));
|
|
836
|
-
const
|
|
657
|
+
const random2 = canvasModel.createNode(createRandom(rawPosition({
|
|
837
658
|
centerX: -509,
|
|
838
659
|
centerY: -30,
|
|
839
660
|
width: 64,
|
|
@@ -853,41 +674,27 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
|
|
|
853
674
|
output: triggerOutputName,
|
|
854
675
|
input: "type"
|
|
855
676
|
}).createEdge({
|
|
856
|
-
source:
|
|
677
|
+
source: random2.id,
|
|
857
678
|
target: template.id,
|
|
858
679
|
input: "changeId"
|
|
859
680
|
});
|
|
860
681
|
functionTrigger = triggerShape.functionTrigger.target;
|
|
861
682
|
const triggerSpec = functionTrigger.spec;
|
|
862
|
-
invariant(triggerSpec && triggerSpec.kind === triggerKind, "No trigger spec.", {
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
S: void 0,
|
|
866
|
-
A: [
|
|
867
|
-
"triggerSpec && triggerSpec.kind === triggerKind",
|
|
868
|
-
"'No trigger spec.'"
|
|
869
|
-
]
|
|
683
|
+
invariant(triggerSpec && triggerSpec.kind === triggerKind, "No trigger spec.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 665, S: void 0, A: ["triggerSpec && triggerSpec.kind === triggerKind", "'No trigger spec.'"] });
|
|
684
|
+
Obj.update(functionTrigger, (functionTrigger2) => {
|
|
685
|
+
initSpec(functionTrigger2.spec);
|
|
870
686
|
});
|
|
871
|
-
initSpec(triggerSpec);
|
|
872
687
|
});
|
|
873
688
|
const computeModel = createComputeGraph(canvasModel);
|
|
874
689
|
const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);
|
|
875
|
-
invariant(templateComputeNode, "Template compute node was not created.", {
|
|
876
|
-
F: __dxlog_file,
|
|
877
|
-
L: 669,
|
|
878
|
-
S: void 0,
|
|
879
|
-
A: [
|
|
880
|
-
"templateComputeNode",
|
|
881
|
-
"'Template compute node was not created.'"
|
|
882
|
-
]
|
|
883
|
-
});
|
|
690
|
+
invariant(templateComputeNode, "Template compute node was not created.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 672, S: void 0, A: ["templateComputeNode", "'Template compute node was not created.'"] });
|
|
884
691
|
templateComputeNode.value = [
|
|
885
692
|
"{",
|
|
886
693
|
' "@type": "{{type}}",',
|
|
887
694
|
' "id": "@{{changeId}}"',
|
|
888
695
|
"}"
|
|
889
696
|
].join("\n");
|
|
890
|
-
templateComputeNode.inputSchema =
|
|
697
|
+
templateComputeNode.inputSchema = JsonSchema.toJsonSchema(Schema.Struct({
|
|
891
698
|
type: Schema.String,
|
|
892
699
|
changeId: Schema.String
|
|
893
700
|
}));
|
|
@@ -898,7 +705,7 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
|
|
|
898
705
|
};
|
|
899
706
|
};
|
|
900
707
|
var addToSpace = (name, space, canvas, compute) => {
|
|
901
|
-
return space.db.add(Obj.make(
|
|
708
|
+
return space.db.add(Obj.make(CanvasBoard.CanvasBoard, {
|
|
902
709
|
name,
|
|
903
710
|
computeGraph: Ref.make(compute.root),
|
|
904
711
|
layout: canvas.graph
|
|
@@ -906,10 +713,10 @@ var addToSpace = (name, space, canvas, compute) => {
|
|
|
906
713
|
};
|
|
907
714
|
var setupQueue = (space, canvasModel, args) => {
|
|
908
715
|
const queueId = canvasModel.createNode(createConstant({
|
|
909
|
-
value: new
|
|
716
|
+
value: new DXN(DXN.kind.QUEUE, [
|
|
910
717
|
"data",
|
|
911
718
|
space.id,
|
|
912
|
-
|
|
719
|
+
Key.ObjectId.random()
|
|
913
720
|
]).toString(),
|
|
914
721
|
...args?.idPosition ? rawPosition(args.idPosition) : position({
|
|
915
722
|
x: -18,
|
|
@@ -918,7 +725,7 @@ var setupQueue = (space, canvasModel, args) => {
|
|
|
918
725
|
height: 6
|
|
919
726
|
})
|
|
920
727
|
}));
|
|
921
|
-
const queue = canvasModel.createNode(
|
|
728
|
+
const queue = canvasModel.createNode(createFeed(args?.queuePosition ? rawPosition(args.queuePosition) : position({
|
|
922
729
|
x: -3,
|
|
923
730
|
y: 3,
|
|
924
731
|
width: 14,
|
|
@@ -934,18 +741,12 @@ var setupQueue = (space, canvasModel, args) => {
|
|
|
934
741
|
};
|
|
935
742
|
};
|
|
936
743
|
var attachTrigger = (functionTrigger, computeModel) => {
|
|
937
|
-
invariant(functionTrigger, void 0, {
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
"functionTrigger",
|
|
943
|
-
""
|
|
944
|
-
]
|
|
744
|
+
invariant(functionTrigger, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 727, S: void 0, A: ["functionTrigger", ""] });
|
|
745
|
+
const inputNode = computeModel.nodes.find((node) => node.type === NODE_INPUT);
|
|
746
|
+
Obj.update(functionTrigger, (functionTrigger2) => {
|
|
747
|
+
functionTrigger2.function = Ref.make(computeModel.root);
|
|
748
|
+
functionTrigger2.inputNodeId = inputNode.id;
|
|
945
749
|
});
|
|
946
|
-
functionTrigger.function = Ref.make(computeModel.root);
|
|
947
|
-
const inputNode = computeModel.nodes.find((node) => node.type === NODE_INPUT2);
|
|
948
|
-
functionTrigger.inputNodeId = inputNode.id;
|
|
949
750
|
};
|
|
950
751
|
var rawPosition = (args) => {
|
|
951
752
|
return {
|
|
@@ -991,163 +792,189 @@ var position = (rect) => {
|
|
|
991
792
|
}
|
|
992
793
|
};
|
|
993
794
|
|
|
994
|
-
// src/components/SpaceGenerator/
|
|
995
|
-
import {
|
|
996
|
-
import
|
|
997
|
-
import {
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
className: "pli-2 text-sm font-mono text-subdued"
|
|
1010
|
-
}, type.typename), /* @__PURE__ */ React.createElement("div", {
|
|
1011
|
-
className: "pli-2 text-right font-mono"
|
|
1012
|
-
}, objects[type.typename] ?? 0), /* @__PURE__ */ React.createElement(IconButton, {
|
|
1013
|
-
variant: "ghost",
|
|
1014
|
-
icon: "ph--plus--regular",
|
|
1015
|
-
iconOnly: true,
|
|
1016
|
-
label: "Create data",
|
|
1017
|
-
onClick: () => onClick(type.typename)
|
|
1018
|
-
}))));
|
|
1019
|
-
} finally {
|
|
1020
|
-
_effect.f();
|
|
1021
|
-
}
|
|
795
|
+
// src/components/SpaceGenerator/ObjectGenerator.tsx
|
|
796
|
+
import { addressToA1Notation } from "@dxos/compute-hyperformula";
|
|
797
|
+
import { ComputeGraph, ComputeGraphModel, DEFAULT_OUTPUT, NODE_INPUT as NODE_INPUT2, NODE_OUTPUT } from "@dxos/conductor";
|
|
798
|
+
import { DXN as DXN2, Filter as Filter2, Key as Key2, View } from "@dxos/echo";
|
|
799
|
+
import { Markdown as Markdown2 } from "@dxos/plugin-markdown";
|
|
800
|
+
import { Sheet } from "@dxos/plugin-sheet";
|
|
801
|
+
import { Sketch } from "@dxos/plugin-sketch";
|
|
802
|
+
import { SpaceOperation } from "@dxos/plugin-space";
|
|
803
|
+
import { random } from "@dxos/random";
|
|
804
|
+
import { getTypenameFromQuery } from "@dxos/schema";
|
|
805
|
+
import { createAsyncGenerator } from "@dxos/schema/testing";
|
|
806
|
+
import { range as range2 } from "@dxos/util";
|
|
807
|
+
var generator2 = random;
|
|
808
|
+
var findViewByTypename = async (views, typename) => {
|
|
809
|
+
return views.find((view) => getTypenameFromQuery(view.query.ast) === typename);
|
|
1022
810
|
};
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
const
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
const recordTypes = [
|
|
1037
|
-
Organization2.Organization,
|
|
1038
|
-
Person2.Person,
|
|
1039
|
-
Task.Task
|
|
1040
|
-
];
|
|
1041
|
-
const [count, setCount] = useState(1);
|
|
1042
|
-
const [info, setInfo] = useState({});
|
|
1043
|
-
const presets = useMemo(() => generator2(), []);
|
|
1044
|
-
const typeMap = useMemo(() => {
|
|
1045
|
-
client.addTypes([
|
|
1046
|
-
...staticTypes,
|
|
1047
|
-
...recordTypes,
|
|
1048
|
-
...presets.schemas
|
|
1049
|
-
]);
|
|
1050
|
-
const recordGenerators = new Map(recordTypes.map((type) => [
|
|
1051
|
-
type.typename,
|
|
1052
|
-
createGenerator(client, dispatch, type)
|
|
1053
|
-
]));
|
|
1054
|
-
return new Map([
|
|
1055
|
-
...staticGenerators,
|
|
1056
|
-
...presets.items,
|
|
1057
|
-
...recordGenerators
|
|
1058
|
-
]);
|
|
1059
|
-
}, [
|
|
1060
|
-
client,
|
|
1061
|
-
recordTypes
|
|
1062
|
-
]);
|
|
1063
|
-
const updateInfo = async () => {
|
|
1064
|
-
const echoSchema = await space.db.schemaRegistry.query().run();
|
|
1065
|
-
const staticSchema = space.db.graph.schemaRegistry.schemas;
|
|
1066
|
-
const { objects } = await space.db.query(Filter3.everything()).run();
|
|
1067
|
-
const objectMap = sortKeys(objects.reduce((map, obj) => {
|
|
1068
|
-
const type = getTypename(obj);
|
|
1069
|
-
if (type) {
|
|
1070
|
-
const count2 = map[type] ?? 0;
|
|
1071
|
-
map[type] = count2 + 1;
|
|
1072
|
-
}
|
|
1073
|
-
return map;
|
|
1074
|
-
}, {}));
|
|
1075
|
-
setInfo({
|
|
1076
|
-
schema: {
|
|
1077
|
-
static: staticSchema.length,
|
|
1078
|
-
mutable: echoSchema.length
|
|
1079
|
-
},
|
|
1080
|
-
objects: objectMap
|
|
811
|
+
var createGenerator = (client, invokePromise, schema) => {
|
|
812
|
+
return async (space, n) => {
|
|
813
|
+
const typename = schema.typename;
|
|
814
|
+
const views = await space.db.query(Filter2.type(View.View)).run();
|
|
815
|
+
const view = await findViewByTypename(views, typename);
|
|
816
|
+
const staticSchema = client?.graph.schemaRegistry.query({
|
|
817
|
+
typename
|
|
818
|
+
}).runSync()[0];
|
|
819
|
+
if (!view && !staticSchema) {
|
|
820
|
+
await invokePromise(SpaceOperation.AddSchema, {
|
|
821
|
+
db: space.db,
|
|
822
|
+
schema,
|
|
823
|
+
show: false
|
|
1081
824
|
});
|
|
1082
|
-
}
|
|
1083
|
-
|
|
1084
|
-
space
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
if (constructor) {
|
|
1089
|
-
await constructor(space, count, onCreateObjects);
|
|
1090
|
-
await updateInfo();
|
|
1091
|
-
}
|
|
1092
|
-
}, [
|
|
1093
|
-
typeMap,
|
|
1094
|
-
count
|
|
1095
|
-
]);
|
|
1096
|
-
return /* @__PURE__ */ React2.createElement("div", {
|
|
1097
|
-
role: "none",
|
|
1098
|
-
className: "flex flex-col grow overflow-hidden"
|
|
1099
|
-
}, /* @__PURE__ */ React2.createElement(Toolbar.Root, {
|
|
1100
|
-
classNames: "border-be border-subduedSeparator"
|
|
1101
|
-
}, /* @__PURE__ */ React2.createElement(IconButton2, {
|
|
1102
|
-
icon: "ph--arrow-clockwise--regular",
|
|
1103
|
-
iconOnly: true,
|
|
1104
|
-
label: "Refresh",
|
|
1105
|
-
onClick: updateInfo
|
|
1106
|
-
}), /* @__PURE__ */ React2.createElement(Toolbar.Separator, {
|
|
1107
|
-
variant: "gap"
|
|
1108
|
-
}), /* @__PURE__ */ React2.createElement(Input.Root, null, /* @__PURE__ */ React2.createElement(Input.TextInput, {
|
|
1109
|
-
type: "number",
|
|
1110
|
-
min: 1,
|
|
1111
|
-
max: 100,
|
|
1112
|
-
placeholder: "Count",
|
|
1113
|
-
classNames: "!w-[4rem] !text-right",
|
|
1114
|
-
size: 8,
|
|
1115
|
-
value: count,
|
|
1116
|
-
onChange: (ev) => setCount(parseInt(ev.target.value))
|
|
1117
|
-
}))), /* @__PURE__ */ React2.createElement("div", {
|
|
1118
|
-
className: "flex flex-col overflow-y-auto divide-y divide-separator"
|
|
1119
|
-
}, /* @__PURE__ */ React2.createElement(SchemaTable, {
|
|
1120
|
-
types: staticTypes,
|
|
1121
|
-
objects: info.objects,
|
|
1122
|
-
label: "Static Types",
|
|
1123
|
-
onClick: handleCreateData
|
|
1124
|
-
}), /* @__PURE__ */ React2.createElement(SchemaTable, {
|
|
1125
|
-
types: recordTypes,
|
|
1126
|
-
objects: info.objects,
|
|
1127
|
-
label: "Record Types",
|
|
1128
|
-
onClick: handleCreateData
|
|
1129
|
-
}), /* @__PURE__ */ React2.createElement(SchemaTable, {
|
|
1130
|
-
types: presets.types,
|
|
1131
|
-
objects: info.objects,
|
|
1132
|
-
label: "Presets",
|
|
1133
|
-
onClick: handleCreateData
|
|
1134
|
-
}), /* @__PURE__ */ React2.createElement("div", null, /* @__PURE__ */ React2.createElement(SyntaxHighlighter, {
|
|
1135
|
-
language: "json",
|
|
1136
|
-
classNames: "text-xs"
|
|
1137
|
-
}, JSON.stringify({
|
|
1138
|
-
space,
|
|
1139
|
-
...info
|
|
1140
|
-
}, jsonKeyReplacer({
|
|
1141
|
-
truncate: true
|
|
1142
|
-
}), 2)))));
|
|
1143
|
-
} finally {
|
|
1144
|
-
_effect.f();
|
|
1145
|
-
}
|
|
825
|
+
}
|
|
826
|
+
const generate = createAsyncGenerator(generator2, schema, {
|
|
827
|
+
db: space.db
|
|
828
|
+
});
|
|
829
|
+
return generate.createObjects(n);
|
|
830
|
+
};
|
|
1146
831
|
};
|
|
832
|
+
var staticGenerators = /* @__PURE__ */ new Map([
|
|
833
|
+
[
|
|
834
|
+
Markdown2.Document.typename,
|
|
835
|
+
async (space, n, cb) => {
|
|
836
|
+
const objects = range2(n).map(() => {
|
|
837
|
+
return space.db.add(Markdown2.make({
|
|
838
|
+
name: random.commerce.productName(),
|
|
839
|
+
content: random.lorem.sentences(5)
|
|
840
|
+
}));
|
|
841
|
+
});
|
|
842
|
+
cb?.(objects);
|
|
843
|
+
return objects;
|
|
844
|
+
}
|
|
845
|
+
],
|
|
846
|
+
[
|
|
847
|
+
Sketch.Sketch.typename,
|
|
848
|
+
async (space, n, cb) => {
|
|
849
|
+
const objects = range2(n).map(() => {
|
|
850
|
+
const obj = space.db.add(Sketch.make({
|
|
851
|
+
name: random.commerce.productName()
|
|
852
|
+
}));
|
|
853
|
+
return obj;
|
|
854
|
+
});
|
|
855
|
+
cb?.(objects);
|
|
856
|
+
return objects;
|
|
857
|
+
}
|
|
858
|
+
],
|
|
859
|
+
// TODO(burdon): Create unit tests.
|
|
860
|
+
[
|
|
861
|
+
Sheet.Sheet.typename,
|
|
862
|
+
async (space, n, cb) => {
|
|
863
|
+
const objects = range2(n).map(() => {
|
|
864
|
+
const cells = {};
|
|
865
|
+
const year = (/* @__PURE__ */ new Date()).getFullYear();
|
|
866
|
+
const cols = 4;
|
|
867
|
+
const rows = 16;
|
|
868
|
+
for (let col = 1; col <= cols; col++) {
|
|
869
|
+
for (let row = 1; row <= rows; row++) {
|
|
870
|
+
const cell = addressToA1Notation({
|
|
871
|
+
col,
|
|
872
|
+
row
|
|
873
|
+
});
|
|
874
|
+
if (row === 1) {
|
|
875
|
+
cells[cell] = {
|
|
876
|
+
value: `${year} Q${col}`
|
|
877
|
+
};
|
|
878
|
+
} else if (row === rows) {
|
|
879
|
+
const from = addressToA1Notation({
|
|
880
|
+
col,
|
|
881
|
+
row: 2
|
|
882
|
+
});
|
|
883
|
+
const to = addressToA1Notation({
|
|
884
|
+
col,
|
|
885
|
+
row: rows - 1
|
|
886
|
+
});
|
|
887
|
+
cells[cell] = {
|
|
888
|
+
value: `=SUM(${from}:${to})`
|
|
889
|
+
};
|
|
890
|
+
} else if (row > 2 && row < rows - 1) {
|
|
891
|
+
cells[cell] = {
|
|
892
|
+
value: Math.floor(Math.random() * 1e4)
|
|
893
|
+
};
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
}
|
|
897
|
+
return space.db.add(Sheet.make({
|
|
898
|
+
name: random.commerce.productName(),
|
|
899
|
+
cells
|
|
900
|
+
}));
|
|
901
|
+
});
|
|
902
|
+
cb?.(objects);
|
|
903
|
+
return objects;
|
|
904
|
+
}
|
|
905
|
+
],
|
|
906
|
+
[
|
|
907
|
+
ComputeGraph.typename,
|
|
908
|
+
async (space, n, cb) => {
|
|
909
|
+
const objects = range2(n, () => {
|
|
910
|
+
const model = ComputeGraphModel.create();
|
|
911
|
+
model.builder.createNode({
|
|
912
|
+
id: "gpt-INPUT",
|
|
913
|
+
type: NODE_INPUT2
|
|
914
|
+
}).createNode({
|
|
915
|
+
id: "gpt-GPT",
|
|
916
|
+
type: "gpt"
|
|
917
|
+
}).createNode({
|
|
918
|
+
id: "gpt-QUEUE_ID",
|
|
919
|
+
type: "constant",
|
|
920
|
+
value: new DXN2(DXN2.kind.QUEUE, [
|
|
921
|
+
"data",
|
|
922
|
+
space.id,
|
|
923
|
+
Key2.ObjectId.random()
|
|
924
|
+
]).toString()
|
|
925
|
+
}).createNode({
|
|
926
|
+
id: "gpt-APPEND",
|
|
927
|
+
type: "append"
|
|
928
|
+
}).createNode({
|
|
929
|
+
id: "gpt-OUTPUT",
|
|
930
|
+
type: NODE_OUTPUT
|
|
931
|
+
}).createEdge({
|
|
932
|
+
node: "gpt-INPUT",
|
|
933
|
+
property: "prompt"
|
|
934
|
+
}, {
|
|
935
|
+
node: "gpt-GPT",
|
|
936
|
+
property: "prompt"
|
|
937
|
+
}).createEdge({
|
|
938
|
+
node: "gpt-GPT",
|
|
939
|
+
property: "text"
|
|
940
|
+
}, {
|
|
941
|
+
node: "gpt-OUTPUT",
|
|
942
|
+
property: "text"
|
|
943
|
+
}).createEdge({
|
|
944
|
+
node: "gpt-QUEUE_ID",
|
|
945
|
+
property: DEFAULT_OUTPUT
|
|
946
|
+
}, {
|
|
947
|
+
node: "gpt-APPEND",
|
|
948
|
+
property: "id"
|
|
949
|
+
}).createEdge({
|
|
950
|
+
node: "gpt-GPT",
|
|
951
|
+
property: "messages"
|
|
952
|
+
}, {
|
|
953
|
+
node: "gpt-APPEND",
|
|
954
|
+
property: "items"
|
|
955
|
+
}).createEdge({
|
|
956
|
+
node: "gpt-QUEUE_ID",
|
|
957
|
+
property: DEFAULT_OUTPUT
|
|
958
|
+
}, {
|
|
959
|
+
node: "gpt-OUTPUT",
|
|
960
|
+
property: "queue"
|
|
961
|
+
});
|
|
962
|
+
return space.db.add(model.root);
|
|
963
|
+
});
|
|
964
|
+
cb?.(objects);
|
|
965
|
+
return objects;
|
|
966
|
+
}
|
|
967
|
+
]
|
|
968
|
+
]);
|
|
1147
969
|
|
|
1148
|
-
// src/components/
|
|
1149
|
-
var
|
|
970
|
+
// src/components/index.ts
|
|
971
|
+
var DebugSettings = lazy(() => import("../DebugSettings-Z3XADRNK.mjs"));
|
|
1150
972
|
export {
|
|
1151
|
-
|
|
973
|
+
DebugSettings,
|
|
974
|
+
PresetName,
|
|
975
|
+
SchemaTable,
|
|
976
|
+
createGenerator,
|
|
977
|
+
generator,
|
|
978
|
+
staticGenerators
|
|
1152
979
|
};
|
|
1153
|
-
//# sourceMappingURL=
|
|
980
|
+
//# sourceMappingURL=index.mjs.map
|