@dxos/plugin-debug 0.8.4-main.dedc0f3 → 0.8.4-main.e098934
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/{SpaceGenerator-DANYBPYZ.mjs → SpaceGenerator-SRCIEELZ.mjs} +135 -12
- package/dist/lib/browser/SpaceGenerator-SRCIEELZ.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-YLOWSIBU.mjs → react-surface-HQPOGG33.mjs} +2 -2
- package/dist/types/src/components/SpaceGenerator/presets.d.ts +2 -0
- package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +53 -51
- package/src/components/SpaceGenerator/presets.ts +103 -2
- package/dist/lib/browser/SpaceGenerator-DANYBPYZ.mjs.map +0 -7
- /package/dist/lib/browser/{react-surface-YLOWSIBU.mjs.map → react-surface-HQPOGG33.mjs.map} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/plugin-debug",
|
|
3
|
-
"version": "0.8.4-main.
|
|
3
|
+
"version": "0.8.4-main.e098934",
|
|
4
4
|
"description": "DXOS Surface plugin for testing.",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -34,50 +34,52 @@
|
|
|
34
34
|
"react-json-tree": "^0.18.0",
|
|
35
35
|
"react-resize-detector": "^11.0.1",
|
|
36
36
|
"workerize-loader": "^2.0.2",
|
|
37
|
-
"@dxos/app-framework": "0.8.4-main.
|
|
38
|
-
"@dxos/
|
|
39
|
-
"@dxos/
|
|
40
|
-
"@dxos/compute": "0.8.4-main.
|
|
41
|
-
"@dxos/conductor": "0.8.4-main.
|
|
42
|
-
"@dxos/
|
|
43
|
-
"@dxos/config": "0.8.4-main.
|
|
44
|
-
"@dxos/devtools": "0.8.4-main.
|
|
45
|
-
"@dxos/echo": "0.8.4-main.
|
|
46
|
-
"@dxos/
|
|
47
|
-
"@dxos/
|
|
48
|
-
"@dxos/
|
|
49
|
-
"@dxos/echo-schema": "0.8.4-main.
|
|
50
|
-
"@dxos/
|
|
51
|
-
"@dxos/
|
|
52
|
-
"@dxos/
|
|
53
|
-
"@dxos/
|
|
54
|
-
"@dxos/log": "0.8.4-main.
|
|
55
|
-
"@dxos/plugin-client": "0.8.4-main.
|
|
56
|
-
"@dxos/plugin-
|
|
57
|
-
"@dxos/
|
|
58
|
-
"@dxos/plugin-
|
|
59
|
-
"@dxos/plugin-
|
|
60
|
-
"@dxos/plugin-
|
|
61
|
-
"@dxos/plugin-
|
|
62
|
-
"@dxos/plugin-
|
|
63
|
-
"@dxos/plugin-
|
|
64
|
-
"@dxos/plugin-
|
|
65
|
-
"@dxos/plugin-
|
|
66
|
-
"@dxos/plugin-
|
|
67
|
-
"@dxos/
|
|
68
|
-
"@dxos/
|
|
69
|
-
"@dxos/
|
|
70
|
-
"@dxos/
|
|
71
|
-
"@dxos/react-
|
|
72
|
-
"@dxos/react-
|
|
73
|
-
"@dxos/react-ui-
|
|
74
|
-
"@dxos/react-ui-
|
|
75
|
-
"@dxos/react-ui-
|
|
76
|
-
"@dxos/react-ui-
|
|
77
|
-
"@dxos/react-ui-
|
|
78
|
-
"@dxos/react-
|
|
79
|
-
"@dxos/
|
|
80
|
-
"@dxos/
|
|
37
|
+
"@dxos/app-framework": "0.8.4-main.e098934",
|
|
38
|
+
"@dxos/assistant-testing": "0.8.4-main.e098934",
|
|
39
|
+
"@dxos/async": "0.8.4-main.e098934",
|
|
40
|
+
"@dxos/compute": "0.8.4-main.e098934",
|
|
41
|
+
"@dxos/conductor": "0.8.4-main.e098934",
|
|
42
|
+
"@dxos/client-services": "0.8.4-main.e098934",
|
|
43
|
+
"@dxos/config": "0.8.4-main.e098934",
|
|
44
|
+
"@dxos/devtools": "0.8.4-main.e098934",
|
|
45
|
+
"@dxos/echo": "0.8.4-main.e098934",
|
|
46
|
+
"@dxos/context": "0.8.4-main.e098934",
|
|
47
|
+
"@dxos/echo-pipeline": "0.8.4-main.e098934",
|
|
48
|
+
"@dxos/echo-generator": "0.8.4-main.e098934",
|
|
49
|
+
"@dxos/echo-schema": "0.8.4-main.e098934",
|
|
50
|
+
"@dxos/functions": "0.8.4-main.e098934",
|
|
51
|
+
"@dxos/invariant": "0.8.4-main.e098934",
|
|
52
|
+
"@dxos/keys": "0.8.4-main.e098934",
|
|
53
|
+
"@dxos/local-storage": "0.8.4-main.e098934",
|
|
54
|
+
"@dxos/log": "0.8.4-main.e098934",
|
|
55
|
+
"@dxos/plugin-client": "0.8.4-main.e098934",
|
|
56
|
+
"@dxos/plugin-deck": "0.8.4-main.e098934",
|
|
57
|
+
"@dxos/live-object": "0.8.4-main.e098934",
|
|
58
|
+
"@dxos/plugin-graph": "0.8.4-main.e098934",
|
|
59
|
+
"@dxos/plugin-inbox": "0.8.4-main.e098934",
|
|
60
|
+
"@dxos/plugin-markdown": "0.8.4-main.e098934",
|
|
61
|
+
"@dxos/plugin-script": "0.8.4-main.e098934",
|
|
62
|
+
"@dxos/plugin-sheet": "0.8.4-main.e098934",
|
|
63
|
+
"@dxos/plugin-sketch": "0.8.4-main.e098934",
|
|
64
|
+
"@dxos/plugin-space": "0.8.4-main.e098934",
|
|
65
|
+
"@dxos/plugin-status-bar": "0.8.4-main.e098934",
|
|
66
|
+
"@dxos/plugin-meeting": "0.8.4-main.e098934",
|
|
67
|
+
"@dxos/plugin-table": "0.8.4-main.e098934",
|
|
68
|
+
"@dxos/protocols": "0.8.4-main.e098934",
|
|
69
|
+
"@dxos/random": "0.8.4-main.e098934",
|
|
70
|
+
"@dxos/plugin-theme": "0.8.4-main.e098934",
|
|
71
|
+
"@dxos/react-client": "0.8.4-main.e098934",
|
|
72
|
+
"@dxos/react-hooks": "0.8.4-main.e098934",
|
|
73
|
+
"@dxos/react-ui-attention": "0.8.4-main.e098934",
|
|
74
|
+
"@dxos/react-ui-canvas-compute": "0.8.4-main.e098934",
|
|
75
|
+
"@dxos/react-ui-kanban": "0.8.4-main.e098934",
|
|
76
|
+
"@dxos/react-ui-canvas-editor": "0.8.4-main.e098934",
|
|
77
|
+
"@dxos/react-ui-form": "0.8.4-main.e098934",
|
|
78
|
+
"@dxos/react-ui-stack": "0.8.4-main.e098934",
|
|
79
|
+
"@dxos/react-ui-syntax-highlighter": "0.8.4-main.e098934",
|
|
80
|
+
"@dxos/react-ui-table": "0.8.4-main.e098934",
|
|
81
|
+
"@dxos/schema": "0.8.4-main.e098934",
|
|
82
|
+
"@dxos/util": "0.8.4-main.e098934"
|
|
81
83
|
},
|
|
82
84
|
"devDependencies": {
|
|
83
85
|
"@effect-rx/rx-react": "0.38.0",
|
|
@@ -88,9 +90,9 @@
|
|
|
88
90
|
"react": "~18.2.0",
|
|
89
91
|
"react-dom": "~18.2.0",
|
|
90
92
|
"vite": "7.1.1",
|
|
91
|
-
"@dxos/react-ui": "0.8.4-main.
|
|
92
|
-
"@dxos/react-ui-theme": "0.8.4-main.
|
|
93
|
-
"@dxos/storybook-utils": "0.8.4-main.
|
|
93
|
+
"@dxos/react-ui": "0.8.4-main.e098934",
|
|
94
|
+
"@dxos/react-ui-theme": "0.8.4-main.e098934",
|
|
95
|
+
"@dxos/storybook-utils": "0.8.4-main.e098934"
|
|
94
96
|
},
|
|
95
97
|
"peerDependencies": {
|
|
96
98
|
"@effect-rx/rx-react": "^0.34.1",
|
|
@@ -98,9 +100,9 @@
|
|
|
98
100
|
"effect": "^3.13.3",
|
|
99
101
|
"react": "~18.2.0",
|
|
100
102
|
"react-dom": "~18.2.0",
|
|
101
|
-
"@dxos/
|
|
102
|
-
"@dxos/react-ui": "0.8.4-main.
|
|
103
|
-
"@dxos/
|
|
103
|
+
"@dxos/react-ui-theme": "0.8.4-main.e098934",
|
|
104
|
+
"@dxos/react-ui": "0.8.4-main.e098934",
|
|
105
|
+
"@dxos/random": "0.8.4-main.e098934"
|
|
104
106
|
},
|
|
105
107
|
"publishConfig": {
|
|
106
108
|
"access": "public"
|
|
@@ -4,10 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
import { Schema } from 'effect';
|
|
6
6
|
|
|
7
|
+
import { ResearchOn, research } from '@dxos/assistant-testing';
|
|
7
8
|
import { type ComputeGraphModel, NODE_INPUT } from '@dxos/conductor';
|
|
8
|
-
import { DXN, Filter, Key, Obj, Query, Ref, Type } from '@dxos/echo';
|
|
9
|
-
import { FunctionTrigger, type TriggerKind, type TriggerType } from '@dxos/functions';
|
|
9
|
+
import { DXN, Filter, Key, Obj, Query, Ref, Relation, Type } from '@dxos/echo';
|
|
10
|
+
import { FunctionTrigger, type TriggerKind, type TriggerType, serializeFunction } from '@dxos/functions';
|
|
10
11
|
import { invariant } from '@dxos/invariant';
|
|
12
|
+
import { Mailbox } from '@dxos/plugin-inbox/types';
|
|
13
|
+
import { Markdown } from '@dxos/plugin-markdown/types';
|
|
11
14
|
import { type Space } from '@dxos/react-client/echo';
|
|
12
15
|
import {
|
|
13
16
|
type ComputeShape,
|
|
@@ -31,11 +34,14 @@ import {
|
|
|
31
34
|
pointsToRect,
|
|
32
35
|
rectToPoints,
|
|
33
36
|
} from '@dxos/react-ui-canvas-editor';
|
|
37
|
+
import { DataType, createView } from '@dxos/schema';
|
|
34
38
|
import { range } from '@dxos/util';
|
|
35
39
|
|
|
36
40
|
import { type ObjectGenerator } from './ObjectGenerator';
|
|
37
41
|
|
|
38
42
|
export enum PresetName {
|
|
43
|
+
DXOS_TEAM = 'dxos-team',
|
|
44
|
+
ORG_RESEARCH_PROJECT = 'org-research-project',
|
|
39
45
|
// EMAIL_TABLE = 'email-table',
|
|
40
46
|
GPT_QUEUE = 'webhook-gpt-queue',
|
|
41
47
|
CHAT_GPT = 'chat-gpt-text',
|
|
@@ -51,6 +57,101 @@ export const generator = () => ({
|
|
|
51
57
|
schemas: [CanvasBoardType, FunctionTrigger],
|
|
52
58
|
types: Object.values(PresetName).map((name) => ({ typename: name })),
|
|
53
59
|
items: [
|
|
60
|
+
[
|
|
61
|
+
PresetName.DXOS_TEAM,
|
|
62
|
+
async (space, n, cb) => {
|
|
63
|
+
const objects = range(n, () => {
|
|
64
|
+
const org = space.db.add(Obj.make(DataType.Organization, { name: 'DXOS', website: 'https://dxos.org' }));
|
|
65
|
+
|
|
66
|
+
const doc = space.db.add(
|
|
67
|
+
Markdown.makeDocument({
|
|
68
|
+
name: 'DXOS Research',
|
|
69
|
+
content: 'DXOS builds Composer, an open-source AI-powered malleable application.',
|
|
70
|
+
}),
|
|
71
|
+
);
|
|
72
|
+
space.db.add(
|
|
73
|
+
Relation.make(ResearchOn, {
|
|
74
|
+
[Relation.Source]: doc,
|
|
75
|
+
[Relation.Target]: org,
|
|
76
|
+
completedAt: new Date().toISOString(),
|
|
77
|
+
}),
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
space.db.add(
|
|
81
|
+
Obj.make(DataType.Person, { fullName: 'Rich', jobTitle: 'investor', organization: Ref.make(org) }),
|
|
82
|
+
);
|
|
83
|
+
space.db.add(Obj.make(DataType.Person, { fullName: 'Josiah', organization: Ref.make(org) }));
|
|
84
|
+
space.db.add(Obj.make(DataType.Person, { fullName: 'Dima', organization: Ref.make(org) }));
|
|
85
|
+
space.db.add(Obj.make(DataType.Person, { fullName: 'Mykola', organization: Ref.make(org) }));
|
|
86
|
+
space.db.add(Obj.make(DataType.Person, { fullName: 'Will', organization: Ref.make(org) }));
|
|
87
|
+
|
|
88
|
+
return doc;
|
|
89
|
+
});
|
|
90
|
+
cb?.(objects);
|
|
91
|
+
return objects;
|
|
92
|
+
},
|
|
93
|
+
],
|
|
94
|
+
[
|
|
95
|
+
PresetName.ORG_RESEARCH_PROJECT,
|
|
96
|
+
async (space, n, cb) => {
|
|
97
|
+
const mailbox = await space.db.query(Filter.type(Mailbox.Mailbox)).first();
|
|
98
|
+
|
|
99
|
+
const objects = range(n, () => {
|
|
100
|
+
// TODO(wittjosiah): Move filter to another property.
|
|
101
|
+
const contactsQuery = Query.select(Filter.type(DataType.Person, { jobTitle: 'investor' }));
|
|
102
|
+
const organizationsQuery = contactsQuery.reference('organization');
|
|
103
|
+
const notesQuery = organizationsQuery.targetOf(ResearchOn).source();
|
|
104
|
+
|
|
105
|
+
const researchTrigger = Obj.make(FunctionTrigger, {
|
|
106
|
+
function: Ref.make(serializeFunction(research)),
|
|
107
|
+
spec: {
|
|
108
|
+
kind: 'subscription',
|
|
109
|
+
query: organizationsQuery.ast,
|
|
110
|
+
},
|
|
111
|
+
enabled: true,
|
|
112
|
+
});
|
|
113
|
+
space.db.add(researchTrigger);
|
|
114
|
+
|
|
115
|
+
const mailboxView = createView({
|
|
116
|
+
name: 'Mailbox',
|
|
117
|
+
query: Query.select(
|
|
118
|
+
Filter.type(DataType.Message, { properties: { labels: Filter.contains('investor') } }),
|
|
119
|
+
).options({
|
|
120
|
+
queues: [mailbox.queue.dxn.toString()],
|
|
121
|
+
}),
|
|
122
|
+
jsonSchema: Type.toJsonSchema(DataType.Message),
|
|
123
|
+
presentation: Obj.make(DataType.Collection, { objects: [] }),
|
|
124
|
+
});
|
|
125
|
+
const contactsView = createView({
|
|
126
|
+
name: 'Contacts',
|
|
127
|
+
query: contactsQuery,
|
|
128
|
+
jsonSchema: Type.toJsonSchema(DataType.Person),
|
|
129
|
+
presentation: Obj.make(DataType.Collection, { objects: [] }),
|
|
130
|
+
});
|
|
131
|
+
const organizationsView = createView({
|
|
132
|
+
name: 'Organizations',
|
|
133
|
+
query: organizationsQuery,
|
|
134
|
+
jsonSchema: Type.toJsonSchema(DataType.Organization),
|
|
135
|
+
presentation: Obj.make(DataType.Collection, { objects: [] }),
|
|
136
|
+
});
|
|
137
|
+
const notesView = createView({
|
|
138
|
+
name: 'Notes',
|
|
139
|
+
query: notesQuery,
|
|
140
|
+
jsonSchema: Type.toJsonSchema(Markdown.Document),
|
|
141
|
+
presentation: Obj.make(DataType.Collection, { objects: [] }),
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
return space.db.add(
|
|
145
|
+
DataType.makeProject({
|
|
146
|
+
name: 'Investor Research',
|
|
147
|
+
collections: [mailboxView, contactsView, organizationsView, notesView].map((view) => Ref.make(view)),
|
|
148
|
+
}),
|
|
149
|
+
);
|
|
150
|
+
});
|
|
151
|
+
cb?.(objects.flat());
|
|
152
|
+
return objects.flat();
|
|
153
|
+
},
|
|
154
|
+
],
|
|
54
155
|
[
|
|
55
156
|
PresetName.GPT_QUEUE,
|
|
56
157
|
async (space, n, cb) => {
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/SpaceGenerator/SpaceGenerator.tsx", "../../../src/components/SpaceGenerator/ObjectGenerator.tsx", "../../../src/components/SpaceGenerator/presets.ts", "../../../src/components/SpaceGenerator/SchemaTable.tsx", "../../../src/components/SpaceGenerator/index.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useMemo, useState } from 'react';\n\nimport { useIntentDispatcher } from '@dxos/app-framework';\nimport { ComputeGraph } from '@dxos/conductor';\nimport { Filter, type Obj } from '@dxos/echo';\nimport { Markdown } from '@dxos/plugin-markdown/types';\nimport { SheetType } from '@dxos/plugin-sheet/types';\nimport { DiagramType } from '@dxos/plugin-sketch/types';\nimport { useClient } from '@dxos/react-client';\nimport { type Space, getTypename } from '@dxos/react-client/echo';\nimport { IconButton, Input, Toolbar, useAsyncEffect } from '@dxos/react-ui';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { DataType } from '@dxos/schema';\nimport { jsonKeyReplacer, sortKeys } from '@dxos/util';\n\nimport { type ObjectGenerator, createGenerator, staticGenerators } from './ObjectGenerator';\nimport { generator } from './presets';\nimport { SchemaTable } from './SchemaTable';\n\nexport type SpaceGeneratorProps = {\n space: Space;\n onCreateObjects?: (objects: Obj.Any[]) => void;\n};\n\nexport const SpaceGenerator = ({ space, onCreateObjects }: SpaceGeneratorProps) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const client = useClient();\n const staticTypes = [Markdown.Document, DiagramType, SheetType, ComputeGraph]; // TODO(burdon): Make extensible.\n const recordTypes = [DataType.Organization, DataType.Person, DataType.Task];\n const [count, setCount] = useState(1);\n const [info, setInfo] = useState<any>({});\n const presets = useMemo(() => generator(), []);\n\n // Create type generators.\n const typeMap = useMemo(() => {\n client.addTypes([...staticTypes, ...recordTypes, ...presets.schemas]);\n const recordGenerators = new Map<string, ObjectGenerator<any>>(\n recordTypes.map((type) => [type.typename, createGenerator(client, dispatch, type as any)]),\n );\n\n return new Map([...staticGenerators, ...presets.items, ...recordGenerators]);\n }, [client, recordTypes]);\n\n // Query space to get info.\n const updateInfo = async () => {\n // Create schema map.\n const echoSchema = await space.db.schemaRegistry.query().run();\n const staticSchema = space.db.graph.schemaRegistry.schemas;\n\n // Create object map.\n const { objects } = await space.db.query(Filter.everything()).run();\n const objectMap = sortKeys(\n objects.reduce<Record<string, number>>((map, obj) => {\n const type = getTypename(obj);\n if (type) {\n const count = map[type] ?? 0;\n map[type] = count + 1;\n }\n return map;\n }, {}),\n );\n\n setInfo({\n schema: {\n static: staticSchema.length,\n mutable: echoSchema.length,\n },\n objects: objectMap,\n });\n };\n\n useAsyncEffect(updateInfo, [space]);\n\n const handleCreateData = useCallback(\n async (typename: string) => {\n const constructor = typeMap.get(typename);\n if (constructor) {\n // TODO(burdon): Input to specify number of objects.\n await constructor(space, count, onCreateObjects);\n await updateInfo();\n }\n },\n [typeMap, count],\n );\n\n return (\n <div role='none' className='flex flex-col grow overflow-hidden'>\n <Toolbar.Root classNames='border-be border-subduedSeparator'>\n <IconButton icon='ph--arrow-clockwise--regular' iconOnly label='Refresh' onClick={updateInfo} />\n <Toolbar.Separator variant='gap' />\n <Input.Root>\n <Input.TextInput\n type='number'\n min={1}\n max={100}\n placeholder={'Count'}\n classNames='!w-[4rem] !text-right'\n size={8}\n value={count}\n onChange={(ev) => setCount(parseInt(ev.target.value))}\n />\n </Input.Root>\n </Toolbar.Root>\n\n <div className='flex flex-col overflow-y-auto divide-y divide-separator'>\n <SchemaTable types={staticTypes} objects={info.objects} label='Static Types' onClick={handleCreateData} />\n <SchemaTable types={recordTypes} objects={info.objects} label='Record Types' onClick={handleCreateData} />\n <SchemaTable types={presets.types} objects={info.objects} label='Presets' onClick={handleCreateData} />\n\n <div>\n <SyntaxHighlighter language='json' classNames='text-xs'>\n {JSON.stringify({ space, ...info }, jsonKeyReplacer({ truncate: true }), 2)}\n </SyntaxHighlighter>\n </div>\n </div>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type PromiseIntentDispatcher, createIntent } from '@dxos/app-framework';\nimport { addressToA1Notation } from '@dxos/compute';\nimport { ComputeGraph, ComputeGraphModel, DEFAULT_OUTPUT, NODE_INPUT, NODE_OUTPUT } from '@dxos/conductor';\nimport { DXN, Filter, Key, Obj, Ref, Type } from '@dxos/echo';\nimport { type TypedObject } from '@dxos/echo-schema';\nimport { Markdown } from '@dxos/plugin-markdown/types';\nimport { createSheet } from '@dxos/plugin-sheet/types';\nimport { type CellValue, SheetType } from '@dxos/plugin-sheet/types';\nimport { CanvasType, DiagramType } from '@dxos/plugin-sketch/types';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { faker } from '@dxos/random';\nimport { type Client } from '@dxos/react-client';\nimport { type Space } from '@dxos/react-client/echo';\nimport { DataType, typenameFromQuery } from '@dxos/schema';\nimport { type ValueGenerator, createAsyncGenerator } from '@dxos/schema/testing';\nimport { range } from '@dxos/util';\n\nconst generator: ValueGenerator = faker as any;\n\nconst findViewByTypename = async (views: DataType.View[], typename: string) => {\n return views.find((view) => typenameFromQuery(view.query) === typename);\n};\n\nexport type ObjectGenerator<T extends Obj.Any> = (space: Space, n: number, cb?: (objects: T[]) => void) => Promise<T[]>;\n\nexport const createGenerator = <T extends Obj.Any>(\n client: Client,\n dispatch: PromiseIntentDispatcher,\n schema: TypedObject<T>,\n): ObjectGenerator<T> => {\n return async (space: Space, n: number): Promise<T[]> => {\n const typename = schema.typename;\n\n // Find or create table and view.\n const { objects: views } = await space.db.query(Filter.type(DataType.View)).run();\n const view = await findViewByTypename(views, typename);\n const staticSchema = client?.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename);\n if (!view && !staticSchema) {\n await dispatch(createIntent(SpaceAction.AddSchema, { space, schema }));\n } else if (!view && staticSchema) {\n await dispatch(createIntent(SpaceAction.UseStaticSchema, { space, typename }));\n }\n\n // Create objects.\n const generate = createAsyncGenerator(generator, schema, { db: space.db });\n return generate.createObjects(n);\n };\n};\n\nexport const staticGenerators = new Map<string, ObjectGenerator<any>>([\n [\n Markdown.Document.typename,\n async (space, n, cb) => {\n const objects = range(n).map(() => {\n return space.db.add(\n Markdown.makeDocument({\n name: faker.commerce.productName(),\n content: faker.lorem.sentences(5),\n }),\n );\n });\n\n cb?.(objects);\n return objects;\n },\n ],\n [\n DiagramType.typename,\n async (space, n, cb) => {\n const objects = range(n).map(() => {\n // TODO(burdon): Generate diagram.\n const obj = space.db.add(\n Obj.make(DiagramType, {\n name: faker.commerce.productName(),\n canvas: Ref.make(Obj.make(CanvasType, { content: {} })),\n }),\n );\n\n return obj;\n });\n\n cb?.(objects);\n return objects;\n },\n ],\n // TODO(burdon): Create unit tests.\n [\n SheetType.typename,\n async (space, n, cb) => {\n const objects = range(n).map(() => {\n const cells: Record<string, CellValue> = {};\n const year = new Date().getFullYear();\n const cols = 4;\n const rows = 16;\n for (let col = 1; col <= cols; col++) {\n for (let row = 1; row <= rows; row++) {\n const cell = addressToA1Notation({ col, row });\n if (row === 1) {\n cells[cell] = { value: `${year} Q${col}` };\n } else if (row === rows) {\n const from = addressToA1Notation({ col, row: 2 });\n const to = addressToA1Notation({ col, row: rows - 1 });\n cells[cell] = { value: `=SUM(${from}:${to})` };\n } else if (row > 2 && row < rows - 1) {\n cells[cell] = { value: Math.floor(Math.random() * 10_000) };\n }\n }\n }\n\n // TODO(burdon): Set width.\n // TODO(burdon): Set formatting for columns.\n return space.db.add(\n createSheet({\n name: faker.commerce.productName(),\n cells,\n }),\n );\n });\n\n cb?.(objects);\n return objects;\n },\n ],\n [\n ComputeGraph.typename,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const model = ComputeGraphModel.create();\n model.builder\n .createNode({ id: 'gpt-INPUT', type: NODE_INPUT })\n .createNode({ id: 'gpt-GPT', type: 'gpt' })\n .createNode({\n id: 'gpt-QUEUE_ID',\n type: 'constant',\n value: new DXN(DXN.kind.QUEUE, ['data', space.id, Key.ObjectId.random()]).toString(),\n })\n .createNode({ id: 'gpt-APPEND', type: 'append' })\n .createNode({ id: 'gpt-OUTPUT', type: NODE_OUTPUT })\n .createEdge({ node: 'gpt-INPUT', property: 'prompt' }, { node: 'gpt-GPT', property: 'prompt' })\n .createEdge({ node: 'gpt-GPT', property: 'text' }, { node: 'gpt-OUTPUT', property: 'text' })\n .createEdge({ node: 'gpt-QUEUE_ID', property: DEFAULT_OUTPUT }, { node: 'gpt-APPEND', property: 'id' })\n .createEdge({ node: 'gpt-GPT', property: 'messages' }, { node: 'gpt-APPEND', property: 'items' })\n .createEdge({ node: 'gpt-QUEUE_ID', property: DEFAULT_OUTPUT }, { node: 'gpt-OUTPUT', property: 'queue' });\n\n return space.db.add(model.root);\n });\n cb?.(objects);\n return objects;\n },\n ],\n]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { type ComputeGraphModel, NODE_INPUT } from '@dxos/conductor';\nimport { DXN, Filter, Key, Obj, Query, Ref, Type } from '@dxos/echo';\nimport { FunctionTrigger, type TriggerKind, type TriggerType } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { type Space } from '@dxos/react-client/echo';\nimport {\n type ComputeShape,\n createAppend,\n createChat,\n createComputeGraph,\n createConstant,\n createFunction,\n createGpt,\n createQueue,\n createRandom,\n createSurface,\n createTemplate,\n createText,\n createTrigger,\n} from '@dxos/react-ui-canvas-compute';\nimport {\n CanvasBoardType,\n CanvasGraphModel,\n pointMultiply,\n pointsToRect,\n rectToPoints,\n} from '@dxos/react-ui-canvas-editor';\nimport { range } from '@dxos/util';\n\nimport { type ObjectGenerator } from './ObjectGenerator';\n\nexport enum PresetName {\n // EMAIL_TABLE = 'email-table',\n GPT_QUEUE = 'webhook-gpt-queue',\n CHAT_GPT = 'chat-gpt-text',\n // EMAIL_WITH_SUMMARY = 'email-gptSummary-table',\n OBJECT_CHANGE_QUEUE = 'objectChange-queue',\n FOREX_FUNCTION_CALL = 'forex-function-call',\n TIMER_TICK_QUEUE = 'timerTick-queue',\n DISCORD_MESSAGES = 'discord-messages',\n // KANBAN_QUEUE = 'kanban-queue',\n}\n\nexport const generator = () => ({\n schemas: [CanvasBoardType, FunctionTrigger],\n types: Object.values(PresetName).map((name) => ({ typename: name })),\n items: [\n [\n PresetName.GPT_QUEUE,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n let functionTrigger: FunctionTrigger | undefined;\n canvasModel.builder.call((builder) => {\n const gpt = canvasModel.createNode(createGpt(position({ x: 0, y: -14 })));\n const triggerShape = createTrigger({\n spaceId: space.id,\n triggerKind: 'webhook',\n ...position({ x: -18, y: -2 }),\n });\n const trigger = canvasModel.createNode(triggerShape);\n const text = canvasModel.createNode(createText(position({ x: 19, y: 3, width: 10, height: 10 })));\n const { queueId } = setupQueue(space, canvasModel);\n const append = canvasModel.createNode(createAppend(position({ x: 10, y: 6 })));\n\n builder\n .createEdge({ source: trigger.id, target: gpt.id, input: 'prompt', output: 'bodyText' })\n .createEdge({ source: gpt.id, target: text.id, output: 'text' })\n .createEdge({ source: queueId.id, target: append.id, input: 'id' })\n .createEdge({ source: gpt.id, target: append.id, output: 'messages', input: 'items' });\n\n functionTrigger = triggerShape.functionTrigger!.target!;\n });\n\n const computeModel = createComputeGraph(canvasModel);\n\n attachTrigger(functionTrigger, computeModel);\n\n return addToSpace(PresetName.GPT_QUEUE, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n [\n PresetName.OBJECT_CHANGE_QUEUE,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const { canvasModel, computeModel } = createQueueSinkPreset(\n space,\n 'subscription',\n (triggerSpec) => (triggerSpec.query = Query.select(Filter.typename('dxos.org/type/Chess')).ast),\n 'type',\n );\n return addToSpace(PresetName.OBJECT_CHANGE_QUEUE, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n [\n PresetName.TIMER_TICK_QUEUE,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const { canvasModel, computeModel } = createQueueSinkPreset(\n space,\n 'timer',\n (triggerSpec) => (triggerSpec.cron = '*/5 * * * * *'),\n 'result',\n );\n return addToSpace(PresetName.TIMER_TICK_QUEUE, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n // TODO(wittjosiah): Remove?\n // [\n // PresetName.EMAIL_TABLE,\n // async (space, n, cb) => {\n // const objects = range(n, () => {\n // const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n // const results = space.db.query(Filter.type(TableType)).runSync();\n // const emailTable = results.find((r) => r.object?.view?.target?.query?.typename?.endsWith('Email'));\n // invariant(emailTable, 'Email table not found.');\n\n // const template = canvasModel.createNode(\n // createTemplate({\n // valueType: 'object',\n // ...rawPosition({ centerX: -80, centerY: -64, width: 320, height: 320 }),\n // }),\n // );\n // const templateContent = ['{'];\n\n // let functionTrigger: FunctionTrigger | undefined;\n // canvasModel.builder.call((builder) => {\n // const triggerShape = createTrigger({\n // spaceId: space.id,\n // triggerKind: 'email',\n // ...position({ x: -18, y: -2 }),\n // });\n // const trigger = canvasModel.createNode(triggerShape);\n\n // const tableId = canvasModel.createNode(\n // createConstant({\n // value: DXN.fromLocalObjectId(emailTable.id).toString(),\n // ...position({ x: -18, y: 5, width: 8, height: 6 }),\n // }),\n // );\n\n // const appendToTable = canvasModel.createNode(createAppend(position({ x: 10, y: 6 })));\n\n // const properties = SchemaAST.getPropertySignatures(EmailTriggerOutput.ast);\n // for (let i = 0; i < properties.length; i++) {\n // const propName = properties[i].name.toString();\n // builder.createEdge({ source: trigger.id, target: template.id, input: propName, output: propName });\n // templateContent.push(` \"${propName}\": \"{{${propName}}}\"` + (i === properties.length - 1 ? '' : ','));\n // }\n // templateContent.push('}');\n\n // builder\n // .createEdge({ source: tableId.id, target: appendToTable.id, input: 'id' })\n // .createEdge({ source: template.id, target: appendToTable.id, input: 'items' });\n\n // functionTrigger = triggerShape.functionTrigger!.target!;\n // });\n\n // const computeModel = createComputeGraph(canvasModel);\n\n // const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);\n // invariant(templateComputeNode, 'Template compute node was not created.');\n // templateComputeNode.value = templateContent.join('\\n');\n // templateComputeNode.inputSchema = Type.toJsonSchema(EmailTriggerOutput);\n\n // attachTrigger(functionTrigger, computeModel);\n\n // return addToSpace(PresetName.EMAIL_TABLE, space, canvasModel, computeModel);\n // });\n // cb?.(objects);\n // return objects;\n // },\n // ],\n\n [\n PresetName.CHAT_GPT,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n canvasModel.builder.call((builder) => {\n const gpt = canvasModel.createNode(createGpt(position({ x: 0, y: -14 })));\n const chat = canvasModel.createNode(createChat(position({ x: -18, y: -2 })));\n const text = canvasModel.createNode(createText(position({ x: 19, y: 3, width: 10, height: 10 })));\n const { queueId } = setupQueue(space, canvasModel);\n\n const append = canvasModel.createNode(createAppend(position({ x: 10, y: 6 })));\n\n builder\n .createEdge({ source: chat.id, target: gpt.id, input: 'prompt' })\n .createEdge({ source: gpt.id, target: text.id, output: 'text' })\n .createEdge({ source: queueId.id, target: append.id, input: 'id' })\n .createEdge({ source: gpt.id, target: append.id, output: 'messages', input: 'items' });\n });\n\n const computeModel = createComputeGraph(canvasModel);\n\n return addToSpace(PresetName.CHAT_GPT, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n // TODO(wittjosiah): Remove?\n // [\n // PresetName.EMAIL_WITH_SUMMARY,\n // async (space, n, cb) => {\n // const objects = range(n, () => {\n // const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n // const results = space.db.query(Filter.type(TableType)).runSync();\n // const emailTable = results.find((r) => r.object?.view?.target?.query?.typename?.endsWith('Email'));\n // invariant(emailTable, 'Email table not found.');\n\n // const template = canvasModel.createNode(\n // createTemplate({\n // valueType: 'object',\n // ...rawPosition({ centerX: 192, centerY: -176, width: 320, height: 320 }),\n // }),\n // );\n // const templateContent = ['{'];\n\n // let functionTrigger: FunctionTrigger | undefined;\n // canvasModel.builder.call((builder) => {\n // const gpt = canvasModel.createNode(\n // createGpt(rawPosition({ centerX: -400, centerY: -112, width: 256, height: 202 })),\n // );\n // const systemPrompt = canvasModel.createNode(\n // createConstant({\n // value: \"use one word to describe content category. don't write anything else\",\n // ...rawPosition({ centerX: -800, centerY: -160, width: 192, height: 128 }),\n // }),\n // );\n // const triggerShape = createTrigger({\n // spaceId: space.id,\n // triggerKind: 'email',\n // ...rawPosition({ centerX: -736, centerY: -384, width: 182, height: 192 }),\n // });\n // const trigger = canvasModel.createNode(triggerShape);\n\n // const { queueId } = setupQueue(space, canvasModel, {\n // idPosition: { centerX: -720, centerY: 224, width: 192, height: 256 },\n // queuePosition: { centerX: -144, centerY: 416, width: 320, height: 448 },\n // });\n // const appendToQueue = canvasModel.createNode(\n // createAppend(rawPosition({ centerX: -80, centerY: 96, width: 122, height: 128 })),\n // );\n\n // const tableId = canvasModel.createNode(\n // createConstant({\n // value: DXN.fromLocalObjectId(emailTable.id).toString(),\n // ...rawPosition({ centerX: -112, centerY: -544, width: 192, height: 256 }),\n // }),\n // );\n\n // const appendToTable = canvasModel.createNode(\n // createAppend(rawPosition({ centerX: 560, centerY: -416, width: 128, height: 122 })),\n // );\n\n // templateContent.push(' \"category\": \"{{text}}\",');\n // builder.createEdge({ source: gpt.id, target: template.id, input: 'text', output: 'text' });\n\n // const properties = SchemaAST.getPropertySignatures(EmailTriggerOutput.ast);\n // for (let i = 0; i < properties.length; i++) {\n // const propName = properties[i].name.toString();\n // builder.createEdge({ source: trigger.id, target: template.id, input: propName, output: propName });\n // templateContent.push(` \"${propName}\": \"{{${propName}}}\"` + (i === properties.length - 1 ? '' : ','));\n // }\n // templateContent.push('}');\n\n // builder\n // .createEdge({ source: tableId.id, target: appendToTable.id, input: 'id' })\n // .createEdge({ source: queueId.id, target: appendToQueue.id, input: 'id' })\n // .createEdge({ source: gpt.id, target: appendToQueue.id, output: 'messages', input: 'items' })\n // .createEdge({ source: systemPrompt.id, target: gpt.id, input: 'systemPrompt' })\n // .createEdge({ source: trigger.id, target: gpt.id, input: 'prompt', output: 'body' })\n // .createEdge({ source: template.id, target: appendToTable.id, input: 'items' });\n\n // functionTrigger = triggerShape.functionTrigger!.target!;\n // });\n\n // const computeModel = createComputeGraph(canvasModel);\n\n // const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);\n // invariant(templateComputeNode, 'Template compute node was not created.');\n // templateComputeNode.value = templateContent.join('\\n');\n // const extendedSchema = Schema.extend(EmailTriggerOutput, Schema.Struct({ text: Schema.String }));\n // templateComputeNode.inputSchema = Type.toJsonSchema(extendedSchema);\n\n // attachTrigger(functionTrigger, computeModel);\n\n // return addToSpace(PresetName.EMAIL_WITH_SUMMARY, space, canvasModel, computeModel);\n // });\n // cb?.(objects);\n // return objects;\n // },\n // ],\n\n [\n PresetName.FOREX_FUNCTION_CALL,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n canvasModel.builder.call((builder) => {\n const sourceCurrency = canvasModel.createNode(\n createConstant({ value: 'USD', ...position({ x: -10, y: -5 }) }),\n );\n const targetCurrency = canvasModel.createNode(\n createConstant({ value: 'EUR', ...position({ x: -10, y: 5 }) }),\n );\n const converter = canvasModel.createNode(createFunction(position({ x: 0, y: 0 })));\n const view = canvasModel.createNode(createSurface(position({ x: 12, y: 0 })));\n\n builder\n .createEdge({ source: sourceCurrency.id, target: converter.id, input: 'from' })\n .createEdge({ source: targetCurrency.id, target: converter.id, input: 'to' })\n .createEdge({ source: converter.id, target: view.id, output: 'rate' });\n });\n\n const computeModel = createComputeGraph(canvasModel);\n\n return addToSpace(PresetName.FOREX_FUNCTION_CALL, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n [\n PresetName.DISCORD_MESSAGES,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n let functionTrigger: FunctionTrigger | undefined;\n canvasModel.builder.call((builder) => {\n const triggerShape = createTrigger({\n spaceId: space.id,\n triggerKind: 'timer',\n ...position({ x: -10, y: -5 }),\n });\n const trigger = canvasModel.createNode(triggerShape);\n // DXOS dev-null channel.\n const channelId = canvasModel.createNode(\n createConstant({ value: '1088569858767212554', ...position({ x: -10, y: 0 }) }),\n );\n const queueId = canvasModel.createNode(\n createConstant({\n value: new DXN(DXN.kind.QUEUE, ['data', space.id, Key.ObjectId.random()]).toString(),\n ...position({ x: -10, y: 5 }),\n }),\n );\n const converter = canvasModel.createNode(createFunction(position({ x: 0, y: 0 })));\n const view = canvasModel.createNode(createText(position({ x: 12, y: 0 })));\n const queue = canvasModel.createNode(createQueue(position({ x: 0, y: 12 })));\n\n builder\n .createEdge({ source: trigger.id, target: converter.id, input: 'tick' })\n .createEdge({ source: channelId.id, target: converter.id, input: 'channelId' })\n .createEdge({ source: queueId.id, target: converter.id, input: 'queueId' })\n .createEdge({ source: converter.id, target: view.id, output: 'newMessages' })\n .createEdge({ source: queueId.id, target: queue.id, input: 'input' });\n\n functionTrigger = triggerShape.functionTrigger!.target!;\n });\n\n const computeModel = createComputeGraph(canvasModel);\n attachTrigger(functionTrigger, computeModel);\n\n return addToSpace(PresetName.DISCORD_MESSAGES, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n // TODO(wittjosiah): Remove?\n // [\n // PresetName.KANBAN_QUEUE,\n // async (space, n, cb) => {\n // const objects = range(n, () => {\n // const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n // // TODO(wittjosiah): Integrate directly w/ Kanban.\n // // const results = space.db.query(Filter.type(KanbanType)).runSync();\n // // const kanban = results.find((r) => r.object?.cardView?.target?.query?.type?.endsWith('Message'));\n // // invariant(kanban, 'Kanban not found.');\n\n // const results = space.db.query(Filter.type(TableType)).runSync();\n // const messages = results.find((r) => r.object?.view?.target?.query?.typename?.endsWith('Message'));\n // invariant(messages, 'Table not found.');\n\n // let functionTrigger: FunctionTrigger | undefined;\n // canvasModel.builder.call((builder) => {\n // const triggerShape = createTrigger({\n // spaceId: space.id,\n // triggerKind: 'queue',\n // ...position({ x: -10, y: -5 }),\n // });\n // const trigger = canvasModel.createNode(triggerShape);\n\n // const tableId = canvasModel.createNode(\n // createConstant({\n // value: DXN.fromLocalObjectId(messages.id).toString(),\n // ...position({ x: -10, y: 5 }),\n // }),\n // );\n // const appendToTable = canvasModel.createNode(createAppend(position({ x: 10, y: 0 })));\n\n // builder\n // .createEdge({ source: tableId.id, target: appendToTable.id, input: 'id' })\n // .createEdge({ source: trigger.id, target: appendToTable.id, input: 'items', output: 'item' });\n\n // functionTrigger = triggerShape.functionTrigger!.target!;\n // });\n\n // const computeModel = createComputeGraph(canvasModel);\n // attachTrigger(functionTrigger, computeModel);\n\n // return addToSpace(PresetName.KANBAN_QUEUE, space, canvasModel, computeModel);\n // });\n // cb?.(objects);\n // return objects;\n // },\n // ],\n ] as [PresetName, ObjectGenerator<any>][],\n});\n\nconst createQueueSinkPreset = <SpecType extends TriggerKind>(\n space: Space,\n triggerKind: SpecType,\n initSpec: (spec: Extract<TriggerType, { kind: SpecType }>) => void,\n triggerOutputName: string,\n) => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n const template = canvasModel.createNode(\n createTemplate({\n valueType: 'object',\n ...rawPosition({ centerX: -64, centerY: -79, width: 320, height: 320 }),\n }),\n );\n\n let functionTrigger: FunctionTrigger | undefined;\n canvasModel.builder.call((builder) => {\n const triggerShape = createTrigger({\n spaceId: space.id,\n triggerKind,\n ...rawPosition({ centerX: -578, centerY: -187, height: 320, width: 320 }),\n });\n const trigger = canvasModel.createNode(triggerShape);\n const { queueId } = setupQueue(space, canvasModel, {\n queuePosition: { centerX: -80, centerY: 378, width: 320, height: 448 },\n });\n const append = canvasModel.createNode(\n createAppend(rawPosition({ centerX: 320, centerY: 192, width: 128, height: 122 })),\n );\n const random = canvasModel.createNode(\n createRandom(rawPosition({ centerX: -509, centerY: -30, width: 64, height: 64 })),\n );\n\n builder\n .createEdge({ source: queueId.id, target: append.id, input: 'id' })\n .createEdge({ source: template.id, target: append.id, input: 'items' })\n .createEdge({ source: trigger.id, target: template.id, output: triggerOutputName, input: 'type' })\n .createEdge({\n source: random.id,\n target: template.id,\n input: 'changeId',\n });\n\n functionTrigger = triggerShape.functionTrigger!.target!;\n const triggerSpec = functionTrigger.spec;\n invariant(triggerSpec && triggerSpec.kind === triggerKind, 'No trigger spec.');\n initSpec(triggerSpec as any);\n });\n\n const computeModel = createComputeGraph(canvasModel);\n\n const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);\n invariant(templateComputeNode, 'Template compute node was not created.');\n templateComputeNode.value = ['{', ' \"@type\": \"{{type}}\",', ' \"id\": \"@{{changeId}}\"', '}'].join('\\n');\n templateComputeNode.inputSchema = Type.toJsonSchema(Schema.Struct({ type: Schema.String, changeId: Schema.String }));\n attachTrigger(functionTrigger, computeModel);\n\n return { canvasModel, computeModel };\n};\n\nconst addToSpace = (name: string, space: Space, canvas: CanvasGraphModel, compute: ComputeGraphModel) => {\n return space.db.add(\n Obj.make(CanvasBoardType, {\n name,\n computeGraph: Ref.make(compute.root),\n layout: canvas.graph,\n }),\n );\n};\n\nconst setupQueue = (\n space: Space,\n canvasModel: CanvasGraphModel,\n args?: { idPosition?: RawPositionInput; queuePosition?: RawPositionInput },\n) => {\n const queueId = canvasModel.createNode(\n createConstant({\n value: new DXN(DXN.kind.QUEUE, ['data', space.id, Key.ObjectId.random()]).toString(),\n ...(args?.idPosition ? rawPosition(args.idPosition) : position({ x: -18, y: 5, width: 8, height: 6 })),\n }),\n );\n const queue = canvasModel.createNode(\n createQueue(\n args?.queuePosition ? rawPosition(args.queuePosition) : position({ x: -3, y: 3, width: 14, height: 10 }),\n ),\n );\n canvasModel.createEdge({ source: queueId.id, target: queue.id });\n return { queue, queueId };\n};\n\nconst attachTrigger = (functionTrigger: FunctionTrigger | undefined, computeModel: ComputeGraphModel) => {\n invariant(functionTrigger);\n functionTrigger.function = Ref.make(computeModel.root);\n const inputNode = computeModel.nodes.find((node) => node.type === NODE_INPUT)!;\n functionTrigger.inputNodeId = inputNode.id;\n};\n\ntype RawPositionInput = { centerX: number; centerY: number; width: number; height: number };\n\nconst rawPosition = (args: RawPositionInput) => {\n return { center: { x: args.centerX, y: args.centerY }, size: { width: args.width, height: args.height } };\n};\n\nconst position = (rect: { x: number; y: number; width?: number; height?: number }) => {\n const snap = 32;\n const [center, size] = rectToPoints({ width: 0, height: 0, ...rect });\n const { x, y, width, height } = pointsToRect([pointMultiply(center, snap), pointMultiply(size, snap)]);\n if (width && height) {\n return { center: { x, y }, size: width && height ? { width, height } : undefined };\n } else {\n return { center: { x, y } };\n }\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { IconButton } from '@dxos/react-ui';\n\nexport type SchemaTableProps = {\n types: any[];\n objects?: Record<string, number | undefined>;\n label: string;\n onClick: (typename: string) => void;\n};\n\nexport const SchemaTable = ({ types, objects = {}, label, onClick }: SchemaTableProps) => {\n return (\n <div className='grid grid-cols-[1fr_80px_40px] gap-1 overflow-none'>\n <h2 className='p-2'>{label}</h2>\n {types.map((type) => (\n <div key={type.typename} className='grid grid-cols-subgrid col-span-3 items-center'>\n <div className='px-2 text-sm font-mono text-subdued'>{type.typename}</div>\n <div className='px-2 text-right font-mono'>{objects[type.typename] ?? 0}</div>\n <IconButton\n variant='ghost'\n icon='ph--plus--regular'\n iconOnly\n label='Create data'\n onClick={() => onClick(type.typename)}\n />\n </div>\n ))}\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SpaceGenerator } from './SpaceGenerator';\n\nexport default SpaceGenerator;\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["React", "useCallback", "useMemo", "useState", "useIntentDispatcher", "ComputeGraph", "Filter", "Markdown", "SheetType", "DiagramType", "useClient", "getTypename", "IconButton", "Input", "Toolbar", "useAsyncEffect", "SyntaxHighlighter", "DataType", "jsonKeyReplacer", "sortKeys", "createIntent", "addressToA1Notation", "ComputeGraph", "ComputeGraphModel", "DEFAULT_OUTPUT", "NODE_INPUT", "NODE_OUTPUT", "DXN", "Filter", "Key", "Obj", "Ref", "Type", "Markdown", "createSheet", "SheetType", "CanvasType", "DiagramType", "SpaceAction", "faker", "DataType", "typenameFromQuery", "createAsyncGenerator", "range", "generator", "faker", "findViewByTypename", "views", "typename", "find", "view", "typenameFromQuery", "query", "createGenerator", "client", "dispatch", "schema", "space", "n", "objects", "db", "Filter", "type", "DataType", "View", "run", "staticSchema", "graph", "schemaRegistry", "schemas", "Type", "getTypename", "createIntent", "SpaceAction", "AddSchema", "UseStaticSchema", "generate", "createAsyncGenerator", "createObjects", "staticGenerators", "Map", "Markdown", "Document", "cb", "range", "map", "add", "makeDocument", "name", "commerce", "productName", "content", "lorem", "sentences", "DiagramType", "obj", "Obj", "make", "canvas", "Ref", "CanvasType", "SheetType", "cells", "year", "Date", "getFullYear", "cols", "rows", "col", "row", "cell", "addressToA1Notation", "value", "from", "to", "Math", "floor", "random", "createSheet", "ComputeGraph", "model", "ComputeGraphModel", "create", "builder", "createNode", "id", "NODE_INPUT", "DXN", "kind", "QUEUE", "Key", "ObjectId", "toString", "NODE_OUTPUT", "createEdge", "node", "property", "DEFAULT_OUTPUT", "root", "Schema", "NODE_INPUT", "DXN", "Filter", "Key", "Obj", "Query", "Ref", "Type", "FunctionTrigger", "invariant", "createAppend", "createChat", "createComputeGraph", "createConstant", "createFunction", "createGpt", "createQueue", "createRandom", "createSurface", "createTemplate", "createText", "createTrigger", "CanvasBoardType", "CanvasGraphModel", "pointMultiply", "pointsToRect", "rectToPoints", "range", "PresetName", "generator", "schemas", "types", "Object", "values", "map", "name", "typename", "items", "space", "n", "cb", "objects", "canvasModel", "create", "functionTrigger", "builder", "call", "gpt", "createNode", "position", "x", "y", "triggerShape", "spaceId", "id", "triggerKind", "trigger", "text", "width", "height", "queueId", "setupQueue", "append", "createEdge", "source", "target", "input", "output", "computeModel", "attachTrigger", "addToSpace", "createQueueSinkPreset", "triggerSpec", "query", "select", "ast", "cron", "chat", "sourceCurrency", "value", "targetCurrency", "converter", "view", "channelId", "kind", "QUEUE", "ObjectId", "random", "toString", "queue", "initSpec", "triggerOutputName", "template", "valueType", "rawPosition", "centerX", "centerY", "queuePosition", "spec", "templateComputeNode", "nodes", "find", "node", "join", "inputSchema", "toJsonSchema", "Struct", "type", "String", "changeId", "canvas", "compute", "db", "add", "make", "computeGraph", "root", "layout", "graph", "args", "idPosition", "function", "inputNode", "inputNodeId", "center", "size", "rect", "snap", "undefined", "React", "IconButton", "SchemaTable", "types", "objects", "label", "onClick", "div", "className", "h2", "map", "type", "key", "typename", "IconButton", "variant", "icon", "iconOnly", "SpaceGenerator", "space", "onCreateObjects", "dispatchPromise", "dispatch", "useIntentDispatcher", "client", "useClient", "staticTypes", "Markdown", "Document", "DiagramType", "SheetType", "ComputeGraph", "recordTypes", "DataType", "Organization", "Person", "Task", "count", "setCount", "useState", "info", "setInfo", "presets", "useMemo", "generator", "typeMap", "addTypes", "schemas", "recordGenerators", "Map", "map", "type", "typename", "createGenerator", "staticGenerators", "items", "updateInfo", "echoSchema", "db", "schemaRegistry", "query", "run", "staticSchema", "graph", "objects", "Filter", "everything", "objectMap", "sortKeys", "reduce", "obj", "getTypename", "schema", "static", "length", "mutable", "useAsyncEffect", "handleCreateData", "useCallback", "constructor", "get", "React", "div", "role", "className", "Toolbar", "Root", "classNames", "IconButton", "icon", "iconOnly", "label", "onClick", "Separator", "variant", "Input", "TextInput", "min", "max", "placeholder", "size", "value", "onChange", "ev", "parseInt", "target", "SchemaTable", "types", "SyntaxHighlighter", "language", "JSON", "stringify", "jsonKeyReplacer", "truncate", "SpaceGenerator"]
|
|
7
|
-
}
|
|
File without changes
|