@dxos/plugin-debug 0.8.3-main.672df60 → 0.8.3-main.7f5a14c
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-RHQLPN44.mjs → SpaceGenerator-VB6IB2LL.mjs} +73 -85
- package/dist/lib/browser/SpaceGenerator-VB6IB2LL.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-PIPBIN6P.mjs → app-graph-builder-6HHJMKVU.mjs} +3 -3
- package/dist/lib/browser/app-graph-builder-6HHJMKVU.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-HB6EQPMN.mjs → react-surface-NMQGGZRB.mjs} +20 -21
- package/dist/lib/browser/react-surface-NMQGGZRB.mjs.map +7 -0
- package/dist/lib/browser/{settings-N4Q6YB7L.mjs → settings-SXQWSIM4.mjs} +4 -4
- package/dist/lib/browser/settings-SXQWSIM4.mjs.map +7 -0
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings.d.ts.map +1 -1
- package/dist/types/src/components/DebugObjectPanel.d.ts +2 -2
- package/dist/types/src/components/DebugObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts +4 -4
- package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts.map +1 -1
- package/dist/types/src/components/SpaceGenerator/SchemaTable.d.ts.map +1 -1
- package/dist/types/src/components/SpaceGenerator/SpaceGenerator.d.ts +2 -2
- package/dist/types/src/components/SpaceGenerator/SpaceGenerator.d.ts.map +1 -1
- package/dist/types/src/components/SpaceGenerator/SpaceGenerator.stories.d.ts.map +1 -1
- package/dist/types/src/components/SpaceGenerator/presets.d.ts +1 -1
- package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -1
- package/dist/types/src/components/Wireframe.d.ts +2 -2
- package/dist/types/src/components/Wireframe.d.ts.map +1 -1
- package/package.json +51 -51
- package/src/capabilities/app-graph-builder.ts +2 -2
- package/src/capabilities/react-surface.tsx +15 -17
- package/src/capabilities/settings.ts +7 -3
- package/src/components/DebugObjectPanel.tsx +13 -13
- package/src/components/SpaceGenerator/ObjectGenerator.tsx +32 -46
- package/src/components/SpaceGenerator/SchemaTable.tsx +2 -5
- package/src/components/SpaceGenerator/SpaceGenerator.stories.tsx +17 -2
- package/src/components/SpaceGenerator/SpaceGenerator.tsx +31 -28
- package/src/components/SpaceGenerator/presets.ts +10 -14
- package/src/components/Wireframe.tsx +3 -2
- package/dist/lib/browser/SpaceGenerator-RHQLPN44.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-PIPBIN6P.mjs.map +0 -7
- package/dist/lib/browser/react-surface-HB6EQPMN.mjs.map +0 -7
- package/dist/lib/browser/settings-N4Q6YB7L.mjs.map +0 -7
|
@@ -3,8 +3,7 @@ import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking"
|
|
|
3
3
|
import React2, { useCallback, useMemo, useState } from "react";
|
|
4
4
|
import { createIntent, useIntentDispatcher } from "@dxos/app-framework";
|
|
5
5
|
import { ComputeGraph as ComputeGraph2 } from "@dxos/conductor";
|
|
6
|
-
import { Filter as Filter3,
|
|
7
|
-
import { live as live3 } from "@dxos/live-object";
|
|
6
|
+
import { Filter as Filter3, Obj as Obj3, Type as Type2 } from "@dxos/echo";
|
|
8
7
|
import { log } from "@dxos/log";
|
|
9
8
|
import { DocumentType as DocumentType2 } from "@dxos/plugin-markdown/types";
|
|
10
9
|
import { SheetType as SheetType2 } from "@dxos/plugin-sheet/types";
|
|
@@ -21,28 +20,53 @@ import { jsonKeyReplacer, sortKeys } from "@dxos/util";
|
|
|
21
20
|
// packages/plugins/plugin-debug/src/components/SpaceGenerator/ObjectGenerator.tsx
|
|
22
21
|
import { addressToA1Notation } from "@dxos/compute";
|
|
23
22
|
import { ComputeGraph, ComputeGraphModel, DEFAULT_OUTPUT, NODE_INPUT, NODE_OUTPUT } from "@dxos/conductor";
|
|
24
|
-
import {
|
|
25
|
-
import { DXN } from "@dxos/keys";
|
|
26
|
-
import { live, makeRef } from "@dxos/live-object";
|
|
23
|
+
import { DXN, Filter, Key, Obj, Ref } from "@dxos/echo";
|
|
27
24
|
import { DocumentType } from "@dxos/plugin-markdown/types";
|
|
28
25
|
import { createSheet } from "@dxos/plugin-sheet/types";
|
|
29
26
|
import { SheetType } from "@dxos/plugin-sheet/types";
|
|
30
27
|
import { CanvasType, DiagramType } from "@dxos/plugin-sketch/types";
|
|
31
28
|
import { faker } from "@dxos/random";
|
|
32
|
-
import { Filter } from "@dxos/react-client/echo";
|
|
33
29
|
import { TableType } from "@dxos/react-ui-table";
|
|
34
30
|
import { createView, DataType } from "@dxos/schema";
|
|
35
31
|
import { createAsyncGenerator } from "@dxos/schema/testing";
|
|
36
32
|
import { range } from "@dxos/util";
|
|
37
33
|
var generator = faker;
|
|
34
|
+
var createGenerator = (type) => {
|
|
35
|
+
return async (space, n, cb) => {
|
|
36
|
+
const schema = await space.db.schemaRegistry.query({
|
|
37
|
+
typename: type.typename
|
|
38
|
+
}).firstOrUndefined() ?? (await space.db.schemaRegistry.register([
|
|
39
|
+
type
|
|
40
|
+
]))[0];
|
|
41
|
+
const generate = createAsyncGenerator(generator, schema.snapshot, {
|
|
42
|
+
db: space.db
|
|
43
|
+
});
|
|
44
|
+
const objects = await generate.createObjects(n);
|
|
45
|
+
const { objects: tables } = await space.db.query(Filter.type(TableType)).run();
|
|
46
|
+
const table = tables.find((table2) => table2.view?.target?.query?.typename === type.typename);
|
|
47
|
+
if (!table) {
|
|
48
|
+
const name = type.typename.split("/").pop() ?? type.typename;
|
|
49
|
+
const view = createView({
|
|
50
|
+
name,
|
|
51
|
+
typename: type.typename,
|
|
52
|
+
jsonSchema: schema.jsonSchema
|
|
53
|
+
});
|
|
54
|
+
space.db.add(Obj.make(TableType, {
|
|
55
|
+
name,
|
|
56
|
+
view: Ref.make(view)
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
return objects;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
38
62
|
var staticGenerators = /* @__PURE__ */ new Map([
|
|
39
63
|
[
|
|
40
64
|
DocumentType.typename,
|
|
41
65
|
async (space, n, cb) => {
|
|
42
66
|
const objects = range(n).map(() => {
|
|
43
|
-
return space.db.add(
|
|
67
|
+
return space.db.add(Obj.make(DocumentType, {
|
|
44
68
|
name: faker.commerce.productName(),
|
|
45
|
-
content:
|
|
69
|
+
content: Ref.make(Obj.make(DataType.Text, {
|
|
46
70
|
content: faker.lorem.sentences(5)
|
|
47
71
|
}))
|
|
48
72
|
}));
|
|
@@ -55,9 +79,9 @@ var staticGenerators = /* @__PURE__ */ new Map([
|
|
|
55
79
|
DiagramType.typename,
|
|
56
80
|
async (space, n, cb) => {
|
|
57
81
|
const objects = range(n).map(() => {
|
|
58
|
-
const obj = space.db.add(
|
|
82
|
+
const obj = space.db.add(Obj.make(DiagramType, {
|
|
59
83
|
name: faker.commerce.productName(),
|
|
60
|
-
canvas:
|
|
84
|
+
canvas: Ref.make(Obj.make(CanvasType, {
|
|
61
85
|
content: {}
|
|
62
86
|
}))
|
|
63
87
|
}));
|
|
@@ -131,7 +155,7 @@ var staticGenerators = /* @__PURE__ */ new Map([
|
|
|
131
155
|
value: new DXN(DXN.kind.QUEUE, [
|
|
132
156
|
"data",
|
|
133
157
|
space.id,
|
|
134
|
-
ObjectId.random()
|
|
158
|
+
Key.ObjectId.random()
|
|
135
159
|
]).toString()
|
|
136
160
|
}).createNode({
|
|
137
161
|
id: "gpt-APPEND",
|
|
@@ -177,37 +201,6 @@ var staticGenerators = /* @__PURE__ */ new Map([
|
|
|
177
201
|
}
|
|
178
202
|
]
|
|
179
203
|
]);
|
|
180
|
-
var createGenerator = (type) => {
|
|
181
|
-
return async (space, n, cb) => {
|
|
182
|
-
const schema = await space.db.schemaRegistry.query({
|
|
183
|
-
typename: type.typename
|
|
184
|
-
}).firstOrUndefined() ?? (await space.db.schemaRegistry.register([
|
|
185
|
-
type
|
|
186
|
-
]))[0];
|
|
187
|
-
const generate = createAsyncGenerator(generator, schema.snapshot, {
|
|
188
|
-
db: space.db
|
|
189
|
-
});
|
|
190
|
-
const objects = await generate.createObjects(n);
|
|
191
|
-
const { objects: tables } = await space.db.query(Filter.type(TableType)).run();
|
|
192
|
-
const table = tables.find((table2) => table2.view?.target?.query?.typename === type.typename);
|
|
193
|
-
if (!table) {
|
|
194
|
-
const name = type.typename.split("/").pop() ?? type.typename;
|
|
195
|
-
const view = createView({
|
|
196
|
-
name,
|
|
197
|
-
typename: type.typename,
|
|
198
|
-
jsonSchema: schema.jsonSchema
|
|
199
|
-
});
|
|
200
|
-
const table2 = space.db.add(live(TableType, {
|
|
201
|
-
name,
|
|
202
|
-
view: makeRef(view)
|
|
203
|
-
}));
|
|
204
|
-
cb?.([
|
|
205
|
-
table2
|
|
206
|
-
]);
|
|
207
|
-
}
|
|
208
|
-
return objects;
|
|
209
|
-
};
|
|
210
|
-
};
|
|
211
204
|
|
|
212
205
|
// packages/plugins/plugin-debug/src/components/SpaceGenerator/SchemaTable.tsx
|
|
213
206
|
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
@@ -218,17 +211,13 @@ var SchemaTable = ({ types, objects = {}, label, onClick }) => {
|
|
|
218
211
|
try {
|
|
219
212
|
return /* @__PURE__ */ React.createElement("div", {
|
|
220
213
|
className: "grid grid-cols-[1fr_80px_40px] gap-1 overflow-none"
|
|
221
|
-
}, /* @__PURE__ */ React.createElement("
|
|
222
|
-
className: "
|
|
223
|
-
}, /* @__PURE__ */ React.createElement("div", {
|
|
224
|
-
className: "px-2 text-sm text-primary-500"
|
|
225
|
-
}, label), /* @__PURE__ */ React.createElement("div", {
|
|
226
|
-
className: "px-2 text-xs text-subdued text-right"
|
|
227
|
-
}, "count")), types.map((type) => /* @__PURE__ */ React.createElement("div", {
|
|
214
|
+
}, /* @__PURE__ */ React.createElement("h2", {
|
|
215
|
+
className: "p-2"
|
|
216
|
+
}, label), types.map((type) => /* @__PURE__ */ React.createElement("div", {
|
|
228
217
|
key: type.typename,
|
|
229
218
|
className: "grid grid-cols-subgrid col-span-3 items-center"
|
|
230
219
|
}, /* @__PURE__ */ React.createElement("div", {
|
|
231
|
-
className: "px-2 text-sm font-mono text-
|
|
220
|
+
className: "px-2 text-sm font-mono text-subdued"
|
|
232
221
|
}, type.typename), /* @__PURE__ */ React.createElement("div", {
|
|
233
222
|
className: "px-2 text-right font-mono"
|
|
234
223
|
}, objects[type.typename] ?? 0), /* @__PURE__ */ React.createElement(IconButton, {
|
|
@@ -246,12 +235,9 @@ var SchemaTable = ({ types, objects = {}, label, onClick }) => {
|
|
|
246
235
|
// packages/plugins/plugin-debug/src/components/SpaceGenerator/presets.ts
|
|
247
236
|
import { Schema, SchemaAST } from "effect";
|
|
248
237
|
import { NODE_INPUT as NODE_INPUT2 } from "@dxos/conductor";
|
|
249
|
-
import { Ref } from "@dxos/echo";
|
|
250
|
-
import { ObjectId as ObjectId2, toJsonSchema } from "@dxos/echo-schema";
|
|
238
|
+
import { DXN as DXN2, Key as Key2, Obj as Obj2, Ref as Ref2, Type } from "@dxos/echo";
|
|
251
239
|
import { FunctionTrigger, TriggerKind, EmailTriggerOutput } from "@dxos/functions";
|
|
252
240
|
import { invariant } from "@dxos/invariant";
|
|
253
|
-
import { DXN as DXN2 } from "@dxos/keys";
|
|
254
|
-
import { live as live2, makeRef as makeRef2 } from "@dxos/live-object";
|
|
255
241
|
import { Filter as Filter2 } from "@dxos/react-client/echo";
|
|
256
242
|
import { createAppend, createChat, createComputeGraph, createConstant, createFunction, createGpt, createQueue, createSurface, createRandom, createTemplate, createText, createTrigger } from "@dxos/react-ui-canvas-compute";
|
|
257
243
|
import { CanvasBoardType, CanvasGraphModel, pointMultiply, pointsToRect, rectToPoints } from "@dxos/react-ui-canvas-editor";
|
|
@@ -270,7 +256,7 @@ var PresetName = /* @__PURE__ */ function(PresetName2) {
|
|
|
270
256
|
PresetName2["KANBAN_QUEUE"] = "kanban-queue";
|
|
271
257
|
return PresetName2;
|
|
272
258
|
}({});
|
|
273
|
-
var
|
|
259
|
+
var generator2 = () => ({
|
|
274
260
|
schemas: [
|
|
275
261
|
CanvasBoardType,
|
|
276
262
|
FunctionTrigger
|
|
@@ -372,7 +358,7 @@ var presets = {
|
|
|
372
358
|
const emailTable = results.find((r) => r.object?.view?.target?.query?.typename?.endsWith("Email"));
|
|
373
359
|
invariant(emailTable, "Email table not found.", {
|
|
374
360
|
F: __dxlog_file,
|
|
375
|
-
L:
|
|
361
|
+
L: 136,
|
|
376
362
|
S: void 0,
|
|
377
363
|
A: [
|
|
378
364
|
"emailTable",
|
|
@@ -442,7 +428,7 @@ var presets = {
|
|
|
442
428
|
const templateComputeNode = computeModel.nodes.find((n2) => n2.id === template.node);
|
|
443
429
|
invariant(templateComputeNode, "Template compute node was not created.", {
|
|
444
430
|
F: __dxlog_file,
|
|
445
|
-
L:
|
|
431
|
+
L: 182,
|
|
446
432
|
S: void 0,
|
|
447
433
|
A: [
|
|
448
434
|
"templateComputeNode",
|
|
@@ -450,7 +436,7 @@ var presets = {
|
|
|
450
436
|
]
|
|
451
437
|
});
|
|
452
438
|
templateComputeNode.value = templateContent.join("\n");
|
|
453
|
-
templateComputeNode.inputSchema = toJsonSchema(EmailTriggerOutput);
|
|
439
|
+
templateComputeNode.inputSchema = Type.toJsonSchema(EmailTriggerOutput);
|
|
454
440
|
attachTrigger(functionTrigger, computeModel);
|
|
455
441
|
return addToSpace("email-table", space, canvasModel, computeModel);
|
|
456
442
|
});
|
|
@@ -518,7 +504,7 @@ var presets = {
|
|
|
518
504
|
const emailTable = results.find((r) => r.object?.view?.target?.query?.typename?.endsWith("Email"));
|
|
519
505
|
invariant(emailTable, "Email table not found.", {
|
|
520
506
|
F: __dxlog_file,
|
|
521
|
-
L:
|
|
507
|
+
L: 233,
|
|
522
508
|
S: void 0,
|
|
523
509
|
A: [
|
|
524
510
|
"emailTable",
|
|
@@ -652,7 +638,7 @@ var presets = {
|
|
|
652
638
|
const templateComputeNode = computeModel.nodes.find((n2) => n2.id === template.node);
|
|
653
639
|
invariant(templateComputeNode, "Template compute node was not created.", {
|
|
654
640
|
F: __dxlog_file,
|
|
655
|
-
L:
|
|
641
|
+
L: 305,
|
|
656
642
|
S: void 0,
|
|
657
643
|
A: [
|
|
658
644
|
"templateComputeNode",
|
|
@@ -663,7 +649,7 @@ var presets = {
|
|
|
663
649
|
const extendedSchema = Schema.extend(EmailTriggerOutput, Schema.Struct({
|
|
664
650
|
text: Schema.String
|
|
665
651
|
}));
|
|
666
|
-
templateComputeNode.inputSchema = toJsonSchema(extendedSchema);
|
|
652
|
+
templateComputeNode.inputSchema = Type.toJsonSchema(extendedSchema);
|
|
667
653
|
attachTrigger(functionTrigger, computeModel);
|
|
668
654
|
return addToSpace("email-gptSummary-table", space, canvasModel, computeModel);
|
|
669
655
|
});
|
|
@@ -747,7 +733,7 @@ var presets = {
|
|
|
747
733
|
value: new DXN2(DXN2.kind.QUEUE, [
|
|
748
734
|
"data",
|
|
749
735
|
space.id,
|
|
750
|
-
|
|
736
|
+
Key2.ObjectId.random()
|
|
751
737
|
]).toString(),
|
|
752
738
|
...position({
|
|
753
739
|
x: -10,
|
|
@@ -806,7 +792,7 @@ var presets = {
|
|
|
806
792
|
const messages = results.find((r) => r.object?.view?.target?.query?.typename?.endsWith("Message"));
|
|
807
793
|
invariant(messages, "Table not found.", {
|
|
808
794
|
F: __dxlog_file,
|
|
809
|
-
L:
|
|
795
|
+
L: 411,
|
|
810
796
|
S: void 0,
|
|
811
797
|
A: [
|
|
812
798
|
"messages",
|
|
@@ -856,7 +842,7 @@ var presets = {
|
|
|
856
842
|
}
|
|
857
843
|
]
|
|
858
844
|
]
|
|
859
|
-
};
|
|
845
|
+
});
|
|
860
846
|
var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) => {
|
|
861
847
|
const canvasModel = CanvasGraphModel.create();
|
|
862
848
|
const template = canvasModel.createNode(createTemplate({
|
|
@@ -923,7 +909,7 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
|
|
|
923
909
|
const triggerSpec = functionTrigger.spec;
|
|
924
910
|
invariant(triggerSpec && triggerSpec.kind === triggerKind, "No trigger spec.", {
|
|
925
911
|
F: __dxlog_file,
|
|
926
|
-
L:
|
|
912
|
+
L: 494,
|
|
927
913
|
S: void 0,
|
|
928
914
|
A: [
|
|
929
915
|
"triggerSpec && triggerSpec.kind === triggerKind",
|
|
@@ -936,7 +922,7 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
|
|
|
936
922
|
const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);
|
|
937
923
|
invariant(templateComputeNode, "Template compute node was not created.", {
|
|
938
924
|
F: __dxlog_file,
|
|
939
|
-
L:
|
|
925
|
+
L: 501,
|
|
940
926
|
S: void 0,
|
|
941
927
|
A: [
|
|
942
928
|
"templateComputeNode",
|
|
@@ -949,7 +935,7 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
|
|
|
949
935
|
' "id": "@{{changeId}}"',
|
|
950
936
|
"}"
|
|
951
937
|
].join("\n");
|
|
952
|
-
templateComputeNode.inputSchema = toJsonSchema(Schema.Struct({
|
|
938
|
+
templateComputeNode.inputSchema = Type.toJsonSchema(Schema.Struct({
|
|
953
939
|
type: Schema.String,
|
|
954
940
|
changeId: Schema.String
|
|
955
941
|
}));
|
|
@@ -960,9 +946,9 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
|
|
|
960
946
|
};
|
|
961
947
|
};
|
|
962
948
|
var addToSpace = (name, space, canvas, compute) => {
|
|
963
|
-
return space.db.add(
|
|
949
|
+
return space.db.add(Obj2.make(CanvasBoardType, {
|
|
964
950
|
name,
|
|
965
|
-
computeGraph:
|
|
951
|
+
computeGraph: Ref2.make(compute.root),
|
|
966
952
|
layout: canvas.graph
|
|
967
953
|
}));
|
|
968
954
|
};
|
|
@@ -971,7 +957,7 @@ var setupQueue = (space, canvasModel, args) => {
|
|
|
971
957
|
value: new DXN2(DXN2.kind.QUEUE, [
|
|
972
958
|
"data",
|
|
973
959
|
space.id,
|
|
974
|
-
|
|
960
|
+
Key2.ObjectId.random()
|
|
975
961
|
]).toString(),
|
|
976
962
|
...args?.idPosition ? rawPosition(args.idPosition) : position({
|
|
977
963
|
x: -18,
|
|
@@ -998,14 +984,14 @@ var setupQueue = (space, canvasModel, args) => {
|
|
|
998
984
|
var attachTrigger = (functionTrigger, computeModel) => {
|
|
999
985
|
invariant(functionTrigger, void 0, {
|
|
1000
986
|
F: __dxlog_file,
|
|
1001
|
-
L:
|
|
987
|
+
L: 540,
|
|
1002
988
|
S: void 0,
|
|
1003
989
|
A: [
|
|
1004
990
|
"functionTrigger",
|
|
1005
991
|
""
|
|
1006
992
|
]
|
|
1007
993
|
});
|
|
1008
|
-
functionTrigger.function =
|
|
994
|
+
functionTrigger.function = Ref2.make(computeModel.root);
|
|
1009
995
|
const inputNode = computeModel.nodes.find((node) => node.type === NODE_INPUT2);
|
|
1010
996
|
functionTrigger.inputNodeId = inputNode.id;
|
|
1011
997
|
};
|
|
@@ -1074,6 +1060,7 @@ var SpaceGenerator = ({ space, onCreateObjects }) => {
|
|
|
1074
1060
|
];
|
|
1075
1061
|
const [count, setCount] = useState(1);
|
|
1076
1062
|
const [info, setInfo] = useState({});
|
|
1063
|
+
const presets = useMemo(() => generator2(), []);
|
|
1077
1064
|
const typeMap = useMemo(() => {
|
|
1078
1065
|
client.addTypes([
|
|
1079
1066
|
...staticTypes,
|
|
@@ -1137,11 +1124,11 @@ var SpaceGenerator = ({ space, onCreateObjects }) => {
|
|
|
1137
1124
|
try {
|
|
1138
1125
|
const content = await file.text();
|
|
1139
1126
|
const data = JSON.parse(content);
|
|
1140
|
-
const schemas = await space.db.schemaRegistry.register(data.schemas.map(toEffectSchema));
|
|
1127
|
+
const schemas = await space.db.schemaRegistry.register(data.schemas.map(Type2.toEffectSchema));
|
|
1141
1128
|
await Promise.all(schemas.map(async (schema) => {
|
|
1142
1129
|
const parts = schema.typename.split("/");
|
|
1143
1130
|
const name = parts[parts.length - 1];
|
|
1144
|
-
const table =
|
|
1131
|
+
const table = Obj3.make(TableType3, {
|
|
1145
1132
|
name,
|
|
1146
1133
|
threads: []
|
|
1147
1134
|
});
|
|
@@ -1171,7 +1158,7 @@ var SpaceGenerator = ({ space, onCreateObjects }) => {
|
|
|
1171
1158
|
});
|
|
1172
1159
|
return;
|
|
1173
1160
|
}
|
|
1174
|
-
const object =
|
|
1161
|
+
const object = Obj3.make(schema, fields);
|
|
1175
1162
|
space.db.add(object);
|
|
1176
1163
|
return object;
|
|
1177
1164
|
}));
|
|
@@ -1188,9 +1175,9 @@ var SpaceGenerator = ({ space, onCreateObjects }) => {
|
|
|
1188
1175
|
}, []);
|
|
1189
1176
|
return /* @__PURE__ */ React2.createElement("div", {
|
|
1190
1177
|
role: "none",
|
|
1191
|
-
className: "flex flex-col
|
|
1178
|
+
className: "flex flex-col grow overflow-hidden"
|
|
1192
1179
|
}, /* @__PURE__ */ React2.createElement(Toolbar.Root, {
|
|
1193
|
-
classNames: "
|
|
1180
|
+
classNames: "border-be border-subduedSeparator"
|
|
1194
1181
|
}, /* @__PURE__ */ React2.createElement(IconButton2, {
|
|
1195
1182
|
icon: "ph--arrow-clockwise--regular",
|
|
1196
1183
|
iconOnly: true,
|
|
@@ -1203,17 +1190,18 @@ var SpaceGenerator = ({ space, onCreateObjects }) => {
|
|
|
1203
1190
|
onClick: handleLoadTables
|
|
1204
1191
|
}), /* @__PURE__ */ React2.createElement(Toolbar.Separator, {
|
|
1205
1192
|
variant: "gap"
|
|
1206
|
-
}), /* @__PURE__ */ React2.createElement(
|
|
1207
|
-
className: "flex"
|
|
1208
|
-
}, /* @__PURE__ */ React2.createElement(Input.Root, null, /* @__PURE__ */ React2.createElement(Input.TextInput, {
|
|
1193
|
+
}), /* @__PURE__ */ React2.createElement(Input.Root, null, /* @__PURE__ */ React2.createElement(Input.TextInput, {
|
|
1209
1194
|
type: "number",
|
|
1210
1195
|
min: 1,
|
|
1211
1196
|
max: 100,
|
|
1212
1197
|
placeholder: "Count",
|
|
1213
|
-
classNames: "w-[
|
|
1198
|
+
classNames: "!w-[4rem] !text-right",
|
|
1199
|
+
size: 8,
|
|
1214
1200
|
value: count,
|
|
1215
1201
|
onChange: (ev) => setCount(parseInt(ev.target.value))
|
|
1216
|
-
})))
|
|
1202
|
+
}))), /* @__PURE__ */ React2.createElement("div", {
|
|
1203
|
+
className: "flex flex-col overflow-y-auto divide-y divide-separator"
|
|
1204
|
+
}, /* @__PURE__ */ React2.createElement(SchemaTable, {
|
|
1217
1205
|
types: staticTypes,
|
|
1218
1206
|
objects: info.objects,
|
|
1219
1207
|
label: "Static Types",
|
|
@@ -1228,7 +1216,7 @@ var SpaceGenerator = ({ space, onCreateObjects }) => {
|
|
|
1228
1216
|
objects: info.objects,
|
|
1229
1217
|
label: "Presets",
|
|
1230
1218
|
onClick: handleCreateData
|
|
1231
|
-
}), /* @__PURE__ */ React2.createElement(SyntaxHighlighter, {
|
|
1219
|
+
}), /* @__PURE__ */ React2.createElement("div", null, /* @__PURE__ */ React2.createElement(SyntaxHighlighter, {
|
|
1232
1220
|
classNames: "flex text-xs",
|
|
1233
1221
|
language: "json"
|
|
1234
1222
|
}, JSON.stringify({
|
|
@@ -1236,7 +1224,7 @@ var SpaceGenerator = ({ space, onCreateObjects }) => {
|
|
|
1236
1224
|
...info
|
|
1237
1225
|
}, jsonKeyReplacer({
|
|
1238
1226
|
truncate: true
|
|
1239
|
-
}), 2)));
|
|
1227
|
+
}), 2)))));
|
|
1240
1228
|
} finally {
|
|
1241
1229
|
_effect.f();
|
|
1242
1230
|
}
|
|
@@ -1247,4 +1235,4 @@ var SpaceGenerator_default = SpaceGenerator;
|
|
|
1247
1235
|
export {
|
|
1248
1236
|
SpaceGenerator_default as default
|
|
1249
1237
|
};
|
|
1250
|
-
//# sourceMappingURL=SpaceGenerator-
|
|
1238
|
+
//# sourceMappingURL=SpaceGenerator-VB6IB2LL.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/SpaceGenerator/SpaceGenerator.tsx", "../../../src/components/SpaceGenerator/ObjectGenerator.tsx", "../../../src/components/SpaceGenerator/SchemaTable.tsx", "../../../src/components/SpaceGenerator/presets.ts", "../../../src/components/SpaceGenerator/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useMemo, useState } from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { ComputeGraph } from '@dxos/conductor';\nimport { Filter, Obj, Type } from '@dxos/echo';\nimport { log } from '@dxos/log';\nimport { DocumentType } from '@dxos/plugin-markdown/types';\nimport { SheetType } from '@dxos/plugin-sheet/types';\nimport { DiagramType } from '@dxos/plugin-sketch/types';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { useClient } from '@dxos/react-client';\nimport { getTypename, type Space } from '@dxos/react-client/echo';\nimport { IconButton, Input, Toolbar, useAsyncEffect } from '@dxos/react-ui';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { initializeTable, TableType } from '@dxos/react-ui-table';\nimport { DataType } from '@dxos/schema';\nimport { jsonKeyReplacer, sortKeys } from '@dxos/util';\n\nimport { createGenerator, staticGenerators, type ObjectGenerator } from './ObjectGenerator';\nimport { SchemaTable } from './SchemaTable';\nimport { generator } from './presets';\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 = [DocumentType, DiagramType, SheetType, ComputeGraph]; // TODO(burdon): Make extensible.\n const mutableTypes = [DataType.Organization, DataType.Project, DataType.Person, DataType.Message];\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, ...presets.schemas]);\n const mutableGenerators = new Map<string, ObjectGenerator<any>>(\n mutableTypes.map((type) => [type.typename, createGenerator(type as any)]),\n );\n\n return new Map([...staticGenerators, ...presets.items, ...mutableGenerators]);\n }, [client, mutableTypes]);\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 // TODO(wittjosiah): Remove. Replace with proper echo import.\n const handleLoadTables = useCallback(async () => {\n const input = document.createElement('input');\n input.type = 'file';\n input.accept = '.json';\n\n input.onchange = async (e) => {\n const file = (e.target as HTMLInputElement).files?.[0];\n if (!file) {\n return;\n }\n\n try {\n const content = await file.text();\n const data = JSON.parse(content);\n const schemas = await space.db.schemaRegistry.register(data.schemas.map(Type.toEffectSchema));\n // TODO(wittjosiah): If the schema is already registered this should skip.\n await Promise.all(\n schemas.map(async (schema) => {\n const parts = schema.typename.split('/');\n const name = parts[parts.length - 1];\n const table = Obj.make(TableType, { name, threads: [] });\n await initializeTable({ client, space, table, typename: schema.typename });\n await dispatch(createIntent(SpaceAction.AddObject, { target: space, object: table }));\n return table;\n }),\n );\n // TODO(wittjosiah): This should query the space for schemas.\n await Promise.all(\n data.objects.map(async ({ id, '@type': typename, ...fields }: any) => {\n const schema = schemas.find((s) => `dxn:type:${s.typename}:${s.version}` === typename);\n if (!schema) {\n log.warn('Missing schema for object', { id, typename });\n return;\n }\n const object = Obj.make(schema, fields);\n space.db.add(object);\n return object;\n }),\n );\n } catch (err) {\n log.catch(err);\n }\n };\n\n input.click();\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 <IconButton\n icon='ph--file-arrow-up--regular'\n iconOnly\n label='Load tables from JSON'\n onClick={handleLoadTables}\n />\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={mutableTypes} objects={info.objects} label='Mutable Types' onClick={handleCreateData} />\n <SchemaTable types={presets.types} objects={info.objects} label='Presets' onClick={handleCreateData} />\n\n <div>\n <SyntaxHighlighter classNames='flex text-xs' language='json'>\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 { addressToA1Notation } from '@dxos/compute';\nimport { ComputeGraph, ComputeGraphModel, DEFAULT_OUTPUT, NODE_INPUT, NODE_OUTPUT } from '@dxos/conductor';\nimport { DXN, Filter, Key, Obj, Ref } from '@dxos/echo';\nimport { type TypedObject } from '@dxos/echo-schema';\nimport { DocumentType } from '@dxos/plugin-markdown/types';\nimport { createSheet } from '@dxos/plugin-sheet/types';\nimport { SheetType, type CellValue } from '@dxos/plugin-sheet/types';\nimport { CanvasType, DiagramType } from '@dxos/plugin-sketch/types';\nimport { faker } from '@dxos/random';\nimport { type Space } from '@dxos/react-client/echo';\nimport { TableType } from '@dxos/react-ui-table';\nimport { createView, DataType } from '@dxos/schema';\nimport { createAsyncGenerator, type ValueGenerator } from '@dxos/schema/testing';\nimport { range } from '@dxos/util';\n\nconst generator: ValueGenerator = faker as any;\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>(type: TypedObject<T>): ObjectGenerator<T> => {\n return async (space: Space, n: number, cb?: (objects: T[]) => void): Promise<T[]> => {\n // Find or create mutable schema.\n const schema =\n (await space.db.schemaRegistry.query({ typename: type.typename }).firstOrUndefined()) ??\n (await space.db.schemaRegistry.register([type]))[0];\n\n // Create objects.\n const generate = createAsyncGenerator(generator, schema.snapshot, { db: space.db });\n const objects = await generate.createObjects(n);\n\n // Find or create table and view.\n const { objects: tables } = await space.db.query(Filter.type(TableType)).run();\n const table = tables.find((table) => table.view?.target?.query?.typename === type.typename);\n if (!table) {\n const name = type.typename.split('/').pop() ?? type.typename;\n const view = createView({ name, typename: type.typename, jsonSchema: schema.jsonSchema });\n space.db.add(Obj.make(TableType, { name, view: Ref.make(view) }));\n }\n\n return objects;\n };\n};\n\nexport const staticGenerators = new Map<string, ObjectGenerator<any>>([\n [\n DocumentType.typename,\n async (space, n, cb) => {\n const objects = range(n).map(() => {\n return space.db.add(\n Obj.make(DocumentType, {\n name: faker.commerce.productName(),\n content: Ref.make(Obj.make(DataType.Text, { 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 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 2025 DXOS.org\n//\n\nimport { Schema, SchemaAST } from 'effect';\n\nimport { type ComputeGraphModel, NODE_INPUT } from '@dxos/conductor';\nimport { DXN, Key, Obj, Ref, Type } from '@dxos/echo';\nimport { FunctionTrigger, TriggerKind, EmailTriggerOutput, type TriggerType } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { Filter, 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 createSurface,\n createRandom,\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 { TableType } from '@dxos/react-ui-table';\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: 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 TriggerKind.Subscription,\n (triggerSpec) => (triggerSpec.filter = { type: 'dxn:type:dxos.org/type/Chess' }),\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 TriggerKind.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 [\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: 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 [\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: 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: 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 [\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: 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 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", "createIntent", "useIntentDispatcher", "ComputeGraph", "Filter", "Obj", "Type", "log", "DocumentType", "SheetType", "DiagramType", "SpaceAction", "useClient", "getTypename", "IconButton", "Input", "Toolbar", "useAsyncEffect", "SyntaxHighlighter", "initializeTable", "TableType", "DataType", "jsonKeyReplacer", "sortKeys", "addressToA1Notation", "ComputeGraph", "ComputeGraphModel", "DEFAULT_OUTPUT", "NODE_INPUT", "NODE_OUTPUT", "DXN", "Filter", "Key", "Obj", "Ref", "DocumentType", "createSheet", "SheetType", "CanvasType", "DiagramType", "faker", "TableType", "createView", "DataType", "createAsyncGenerator", "range", "generator", "faker", "createGenerator", "type", "space", "n", "cb", "schema", "db", "schemaRegistry", "query", "typename", "firstOrUndefined", "register", "generate", "createAsyncGenerator", "snapshot", "objects", "createObjects", "tables", "Filter", "TableType", "run", "table", "find", "view", "target", "name", "split", "pop", "createView", "jsonSchema", "add", "Obj", "make", "Ref", "staticGenerators", "Map", "DocumentType", "range", "map", "commerce", "productName", "content", "DataType", "Text", "lorem", "sentences", "DiagramType", "obj", "canvas", "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", "React", "IconButton", "SchemaTable", "types", "objects", "label", "onClick", "div", "className", "h2", "map", "type", "key", "typename", "IconButton", "variant", "icon", "iconOnly", "Schema", "SchemaAST", "NODE_INPUT", "DXN", "Key", "Obj", "Ref", "Type", "FunctionTrigger", "TriggerKind", "EmailTriggerOutput", "invariant", "Filter", "createAppend", "createChat", "createComputeGraph", "createConstant", "createFunction", "createGpt", "createQueue", "createSurface", "createRandom", "createTemplate", "createText", "createTrigger", "CanvasBoardType", "CanvasGraphModel", "pointMultiply", "pointsToRect", "rectToPoints", "TableType", "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", "Webhook", "trigger", "text", "width", "height", "queueId", "setupQueue", "append", "createEdge", "source", "target", "input", "output", "computeModel", "attachTrigger", "addToSpace", "createQueueSinkPreset", "Subscription", "triggerSpec", "filter", "type", "Timer", "cron", "results", "db", "query", "runSync", "emailTable", "find", "r", "object", "view", "endsWith", "template", "valueType", "rawPosition", "centerX", "centerY", "templateContent", "Email", "tableId", "value", "fromLocalObjectId", "toString", "appendToTable", "properties", "getPropertySignatures", "ast", "i", "length", "propName", "push", "templateComputeNode", "nodes", "node", "join", "inputSchema", "toJsonSchema", "chat", "systemPrompt", "idPosition", "queuePosition", "appendToQueue", "extendedSchema", "extend", "Struct", "String", "sourceCurrency", "targetCurrency", "converter", "channelId", "kind", "QUEUE", "ObjectId", "random", "queue", "messages", "Queue", "initSpec", "triggerOutputName", "spec", "changeId", "canvas", "compute", "add", "make", "computeGraph", "root", "layout", "graph", "args", "function", "inputNode", "inputNodeId", "center", "size", "rect", "snap", "undefined", "SpaceGenerator", "space", "onCreateObjects", "dispatchPromise", "dispatch", "useIntentDispatcher", "client", "useClient", "staticTypes", "DocumentType", "DiagramType", "SheetType", "ComputeGraph", "mutableTypes", "DataType", "Organization", "Project", "Person", "Message", "count", "setCount", "useState", "info", "setInfo", "presets", "useMemo", "generator", "typeMap", "addTypes", "schemas", "mutableGenerators", "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", "handleLoadTables", "input", "document", "createElement", "accept", "onchange", "e", "file", "target", "files", "content", "text", "data", "JSON", "parse", "register", "Type", "toEffectSchema", "Promise", "all", "parts", "split", "name", "table", "Obj", "make", "TableType", "threads", "initializeTable", "createIntent", "SpaceAction", "AddObject", "object", "id", "fields", "find", "s", "version", "log", "warn", "add", "err", "catch", "click", "React", "div", "role", "className", "Toolbar", "Root", "classNames", "IconButton", "icon", "iconOnly", "label", "onClick", "Separator", "variant", "Input", "TextInput", "min", "max", "placeholder", "size", "value", "onChange", "ev", "parseInt", "SchemaTable", "types", "SyntaxHighlighter", "language", "stringify", "jsonKeyReplacer", "truncate", "SpaceGenerator"]
|
|
7
|
+
}
|
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
import { Rx } from "@effect-rx/rx-react";
|
|
10
10
|
import { Option, pipe } from "effect";
|
|
11
11
|
import { contributes, Capabilities } from "@dxos/app-framework";
|
|
12
|
+
import { Obj } from "@dxos/echo";
|
|
12
13
|
import { ATTENDABLE_PATH_SEPARATOR, DECK_COMPANION_TYPE, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
|
|
13
14
|
import { createExtension, ROOT_ID, rxFromSignal } from "@dxos/plugin-graph";
|
|
14
15
|
import { getActiveSpace, SPACE_PLUGIN } from "@dxos/plugin-space";
|
|
15
|
-
import { isEchoObject } from "@dxos/react-client/echo";
|
|
16
16
|
var DEVTOOLS_TYPE = "dxos.org/plugin/debug/devtools";
|
|
17
17
|
var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, [
|
|
18
18
|
// Devtools node.
|
|
@@ -543,7 +543,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
|
|
|
543
543
|
// Debug object companion.
|
|
544
544
|
createExtension({
|
|
545
545
|
id: `${DEBUG_PLUGIN}/debug-object`,
|
|
546
|
-
connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) =>
|
|
546
|
+
connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.isObject(node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
|
|
547
547
|
{
|
|
548
548
|
id: [
|
|
549
549
|
node2.id,
|
|
@@ -594,4 +594,4 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
|
|
|
594
594
|
export {
|
|
595
595
|
app_graph_builder_default as default
|
|
596
596
|
};
|
|
597
|
-
//# sourceMappingURL=app-graph-builder-
|
|
597
|
+
//# sourceMappingURL=app-graph-builder-6HHJMKVU.mjs.map
|