@dxos/plugin-debug 0.7.5-labs.c0e040f → 0.7.5-labs.d453967
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-OIDM3MIN.mjs → SpaceGenerator-KYSK77VG.mjs} +142 -101
- package/dist/lib/browser/SpaceGenerator-KYSK77VG.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-YAJPSHG4.mjs → react-surface-6GVTLM4O.mjs} +2 -2
- package/dist/types/src/components/SpaceGenerator/presets.d.ts +1 -0
- package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -1
- package/package.json +47 -47
- package/src/components/SpaceGenerator/presets.ts +92 -52
- package/dist/lib/browser/SpaceGenerator-OIDM3MIN.mjs.map +0 -7
- /package/dist/lib/browser/{react-surface-YAJPSHG4.mjs.map → react-surface-6GVTLM4O.mjs.map} +0 -0
|
@@ -239,7 +239,7 @@ import { invariant } from "@dxos/invariant";
|
|
|
239
239
|
import { DXN as DXN2, SpaceId as SpaceId2 } from "@dxos/keys";
|
|
240
240
|
import { create as create2, makeRef as makeRef2 } from "@dxos/live-object";
|
|
241
241
|
import { Filter as Filter2 } from "@dxos/react-client/echo";
|
|
242
|
-
import { createAppend, createChat, createComputeGraph, createConstant, createFunction, createGpt, createQueue, createSurface, createTemplate, createText, createTrigger } from "@dxos/react-ui-canvas-compute";
|
|
242
|
+
import { createAppend, createChat, createComputeGraph, createConstant, createFunction, createGpt, createQueue, createSurface, createRandom, createTemplate, createText, createTrigger } from "@dxos/react-ui-canvas-compute";
|
|
243
243
|
import { CanvasBoardType, CanvasGraphModel, pointMultiply, pointsToRect, rectToPoints } from "@dxos/react-ui-canvas-editor";
|
|
244
244
|
import { TableType as TableType2 } from "@dxos/react-ui-table";
|
|
245
245
|
import { range as range2 } from "@dxos/util";
|
|
@@ -252,6 +252,7 @@ var PresetName;
|
|
|
252
252
|
PresetName2["EMAIL_WITH_SUMMARY"] = "email-gptSummary-table";
|
|
253
253
|
PresetName2["OBJECT_CHANGE_QUEUE"] = "objectChange-queue";
|
|
254
254
|
PresetName2["FOREX_FUNCTION_CALL"] = "forex-function-call";
|
|
255
|
+
PresetName2["TIMER_TICK_QUEUE"] = "timerTick-queue";
|
|
255
256
|
PresetName2["DISCORD_MESSAGES"] = "discord-messages";
|
|
256
257
|
})(PresetName || (PresetName = {}));
|
|
257
258
|
var presets = {
|
|
@@ -326,102 +327,26 @@ var presets = {
|
|
|
326
327
|
"objectChange-queue",
|
|
327
328
|
async (space, n, cb) => {
|
|
328
329
|
const objects = range2(n, () => {
|
|
329
|
-
const canvasModel =
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
...rawPosition({
|
|
333
|
-
centerX: -64,
|
|
334
|
-
centerY: -79,
|
|
335
|
-
width: 320,
|
|
336
|
-
height: 320
|
|
337
|
-
})
|
|
338
|
-
}));
|
|
339
|
-
let functionTrigger;
|
|
340
|
-
canvasModel.builder.call((builder) => {
|
|
341
|
-
const triggerShape = createTrigger({
|
|
342
|
-
triggerKind: TriggerKind.Subscription,
|
|
343
|
-
...position({
|
|
344
|
-
x: -18,
|
|
345
|
-
y: -2
|
|
346
|
-
})
|
|
347
|
-
});
|
|
348
|
-
const trigger = canvasModel.createNode(triggerShape);
|
|
349
|
-
const { queueId } = setupQueue(canvasModel, {
|
|
350
|
-
queuePosition: {
|
|
351
|
-
centerX: -80,
|
|
352
|
-
centerY: 378,
|
|
353
|
-
width: 320,
|
|
354
|
-
height: 448
|
|
355
|
-
}
|
|
356
|
-
});
|
|
357
|
-
const append = canvasModel.createNode(createAppend(rawPosition({
|
|
358
|
-
centerX: 320,
|
|
359
|
-
centerY: 192,
|
|
360
|
-
width: 128,
|
|
361
|
-
height: 122
|
|
362
|
-
})));
|
|
363
|
-
builder.createEdge({
|
|
364
|
-
source: queueId.id,
|
|
365
|
-
target: append.id,
|
|
366
|
-
input: "id"
|
|
367
|
-
}).createEdge({
|
|
368
|
-
source: template.id,
|
|
369
|
-
target: append.id,
|
|
370
|
-
input: "items"
|
|
371
|
-
}).createEdge({
|
|
372
|
-
source: trigger.id,
|
|
373
|
-
target: template.id,
|
|
374
|
-
output: "type",
|
|
375
|
-
input: "type"
|
|
376
|
-
}).createEdge({
|
|
377
|
-
source: trigger.id,
|
|
378
|
-
target: template.id,
|
|
379
|
-
output: "changedObjectId",
|
|
380
|
-
input: "changedObjectId"
|
|
381
|
-
});
|
|
382
|
-
functionTrigger = triggerShape.functionTrigger.target;
|
|
383
|
-
const triggerSpec = functionTrigger.spec;
|
|
384
|
-
invariant(triggerSpec && triggerSpec.type === TriggerKind.Subscription, "No trigger spec.", {
|
|
385
|
-
F: __dxlog_file,
|
|
386
|
-
L: 127,
|
|
387
|
-
S: void 0,
|
|
388
|
-
A: [
|
|
389
|
-
"triggerSpec && triggerSpec.type === TriggerKind.Subscription",
|
|
390
|
-
"'No trigger spec.'"
|
|
391
|
-
]
|
|
392
|
-
});
|
|
393
|
-
triggerSpec.filter = {
|
|
394
|
-
type: "dxn:type:dxos.org/type/Chess"
|
|
395
|
-
};
|
|
396
|
-
});
|
|
397
|
-
const computeModel = createComputeGraph(canvasModel);
|
|
398
|
-
const templateComputeNode = computeModel.nodes.find((n2) => n2.id === template.node);
|
|
399
|
-
invariant(templateComputeNode, "Template compute node was not created.", {
|
|
400
|
-
F: __dxlog_file,
|
|
401
|
-
L: 134,
|
|
402
|
-
S: void 0,
|
|
403
|
-
A: [
|
|
404
|
-
"templateComputeNode",
|
|
405
|
-
"'Template compute node was not created.'"
|
|
406
|
-
]
|
|
407
|
-
});
|
|
408
|
-
templateComputeNode.value = [
|
|
409
|
-
"{",
|
|
410
|
-
' "@type": "{{type}}",',
|
|
411
|
-
' "id": "{{changedObjectId}}"',
|
|
412
|
-
"}"
|
|
413
|
-
].join("\n");
|
|
414
|
-
templateComputeNode.inputSchema = toJsonSchema(S.Struct({
|
|
415
|
-
type: S.String,
|
|
416
|
-
changedObjectId: S.String
|
|
417
|
-
}));
|
|
418
|
-
attachTrigger(functionTrigger, computeModel);
|
|
330
|
+
const { canvasModel, computeModel } = createQueueSinkPreset(TriggerKind.Subscription, (triggerSpec) => triggerSpec.filter = {
|
|
331
|
+
type: "dxn:type:dxos.org/type/Chess"
|
|
332
|
+
}, "type");
|
|
419
333
|
return addToSpace("objectChange-queue", space, canvasModel, computeModel);
|
|
420
334
|
});
|
|
421
335
|
cb?.(objects);
|
|
422
336
|
return objects;
|
|
423
337
|
}
|
|
424
338
|
],
|
|
339
|
+
[
|
|
340
|
+
"timerTick-queue",
|
|
341
|
+
async (space, n, cb) => {
|
|
342
|
+
const objects = range2(n, () => {
|
|
343
|
+
const { canvasModel, computeModel } = createQueueSinkPreset(TriggerKind.Timer, (triggerSpec) => triggerSpec.cron = "*/5 * * * * *", "result");
|
|
344
|
+
return addToSpace("timerTick-queue", space, canvasModel, computeModel);
|
|
345
|
+
});
|
|
346
|
+
cb?.(objects);
|
|
347
|
+
return objects;
|
|
348
|
+
}
|
|
349
|
+
],
|
|
425
350
|
[
|
|
426
351
|
"email-table",
|
|
427
352
|
async (space, n, cb) => {
|
|
@@ -431,7 +356,7 @@ var presets = {
|
|
|
431
356
|
const emailTable = results.find((r) => r.object?.view?.target?.query?.type?.endsWith("Email"));
|
|
432
357
|
invariant(emailTable, "Email table not found.", {
|
|
433
358
|
F: __dxlog_file,
|
|
434
|
-
L:
|
|
359
|
+
L: 129,
|
|
435
360
|
S: void 0,
|
|
436
361
|
A: [
|
|
437
362
|
"emailTable",
|
|
@@ -500,7 +425,7 @@ var presets = {
|
|
|
500
425
|
const templateComputeNode = computeModel.nodes.find((n2) => n2.id === template.node);
|
|
501
426
|
invariant(templateComputeNode, "Template compute node was not created.", {
|
|
502
427
|
F: __dxlog_file,
|
|
503
|
-
L:
|
|
428
|
+
L: 171,
|
|
504
429
|
S: void 0,
|
|
505
430
|
A: [
|
|
506
431
|
"templateComputeNode",
|
|
@@ -576,7 +501,7 @@ var presets = {
|
|
|
576
501
|
const emailTable = results.find((r) => r.object?.view?.target?.query?.type?.endsWith("Email"));
|
|
577
502
|
invariant(emailTable, "Email table not found.", {
|
|
578
503
|
F: __dxlog_file,
|
|
579
|
-
L:
|
|
504
|
+
L: 222,
|
|
580
505
|
S: void 0,
|
|
581
506
|
A: [
|
|
582
507
|
"emailTable",
|
|
@@ -709,7 +634,7 @@ var presets = {
|
|
|
709
634
|
const templateComputeNode = computeModel.nodes.find((n2) => n2.id === template.node);
|
|
710
635
|
invariant(templateComputeNode, "Template compute node was not created.", {
|
|
711
636
|
F: __dxlog_file,
|
|
712
|
-
L:
|
|
637
|
+
L: 293,
|
|
713
638
|
S: void 0,
|
|
714
639
|
A: [
|
|
715
640
|
"templateComputeNode",
|
|
@@ -782,13 +707,22 @@ var presets = {
|
|
|
782
707
|
async (space, n, cb) => {
|
|
783
708
|
const objects = range2(n, () => {
|
|
784
709
|
const canvasModel = CanvasGraphModel.create();
|
|
710
|
+
let functionTrigger;
|
|
785
711
|
canvasModel.builder.call((builder) => {
|
|
786
|
-
const
|
|
787
|
-
|
|
712
|
+
const triggerShape = createTrigger({
|
|
713
|
+
triggerKind: TriggerKind.Timer,
|
|
788
714
|
...position({
|
|
789
715
|
x: -10,
|
|
790
716
|
y: -5
|
|
791
717
|
})
|
|
718
|
+
});
|
|
719
|
+
const trigger = canvasModel.createNode(triggerShape);
|
|
720
|
+
const channelId = canvasModel.createNode(createConstant({
|
|
721
|
+
value: "1088569858767212554",
|
|
722
|
+
...position({
|
|
723
|
+
x: -10,
|
|
724
|
+
y: 0
|
|
725
|
+
})
|
|
792
726
|
}));
|
|
793
727
|
const queueId = canvasModel.createNode(createConstant({
|
|
794
728
|
value: new DXN2(DXN2.kind.QUEUE, [
|
|
@@ -814,13 +748,17 @@ var presets = {
|
|
|
814
748
|
y: 12
|
|
815
749
|
})));
|
|
816
750
|
builder.createEdge({
|
|
817
|
-
source:
|
|
751
|
+
source: trigger.id,
|
|
818
752
|
target: converter.id,
|
|
819
|
-
input: "
|
|
753
|
+
input: "tick"
|
|
820
754
|
}).createEdge({
|
|
821
755
|
source: channelId.id,
|
|
822
756
|
target: converter.id,
|
|
823
757
|
input: "channelId"
|
|
758
|
+
}).createEdge({
|
|
759
|
+
source: queueId.id,
|
|
760
|
+
target: converter.id,
|
|
761
|
+
input: "queueId"
|
|
824
762
|
}).createEdge({
|
|
825
763
|
source: converter.id,
|
|
826
764
|
target: view.id,
|
|
@@ -830,8 +768,10 @@ var presets = {
|
|
|
830
768
|
target: queue.id,
|
|
831
769
|
input: "input"
|
|
832
770
|
});
|
|
771
|
+
functionTrigger = triggerShape.functionTrigger.target;
|
|
833
772
|
});
|
|
834
773
|
const computeModel = createComputeGraph(canvasModel);
|
|
774
|
+
attachTrigger(functionTrigger, computeModel);
|
|
835
775
|
return addToSpace("discord-messages", space, canvasModel, computeModel);
|
|
836
776
|
});
|
|
837
777
|
cb?.(objects);
|
|
@@ -840,6 +780,107 @@ var presets = {
|
|
|
840
780
|
]
|
|
841
781
|
]
|
|
842
782
|
};
|
|
783
|
+
var createQueueSinkPreset = (triggerKind, initSpec, triggerOutputName) => {
|
|
784
|
+
const canvasModel = CanvasGraphModel.create();
|
|
785
|
+
const template = canvasModel.createNode(createTemplate({
|
|
786
|
+
valueType: "object",
|
|
787
|
+
...rawPosition({
|
|
788
|
+
centerX: -64,
|
|
789
|
+
centerY: -79,
|
|
790
|
+
width: 320,
|
|
791
|
+
height: 320
|
|
792
|
+
})
|
|
793
|
+
}));
|
|
794
|
+
let functionTrigger;
|
|
795
|
+
canvasModel.builder.call((builder) => {
|
|
796
|
+
const triggerShape = createTrigger({
|
|
797
|
+
triggerKind,
|
|
798
|
+
...rawPosition({
|
|
799
|
+
centerX: -578,
|
|
800
|
+
centerY: -187,
|
|
801
|
+
height: 320,
|
|
802
|
+
width: 320
|
|
803
|
+
})
|
|
804
|
+
});
|
|
805
|
+
const trigger = canvasModel.createNode(triggerShape);
|
|
806
|
+
const { queueId } = setupQueue(canvasModel, {
|
|
807
|
+
queuePosition: {
|
|
808
|
+
centerX: -80,
|
|
809
|
+
centerY: 378,
|
|
810
|
+
width: 320,
|
|
811
|
+
height: 448
|
|
812
|
+
}
|
|
813
|
+
});
|
|
814
|
+
const append = canvasModel.createNode(createAppend(rawPosition({
|
|
815
|
+
centerX: 320,
|
|
816
|
+
centerY: 192,
|
|
817
|
+
width: 128,
|
|
818
|
+
height: 122
|
|
819
|
+
})));
|
|
820
|
+
const random = canvasModel.createNode(createRandom(rawPosition({
|
|
821
|
+
centerX: -509,
|
|
822
|
+
centerY: -30,
|
|
823
|
+
width: 64,
|
|
824
|
+
height: 64
|
|
825
|
+
})));
|
|
826
|
+
builder.createEdge({
|
|
827
|
+
source: queueId.id,
|
|
828
|
+
target: append.id,
|
|
829
|
+
input: "id"
|
|
830
|
+
}).createEdge({
|
|
831
|
+
source: template.id,
|
|
832
|
+
target: append.id,
|
|
833
|
+
input: "items"
|
|
834
|
+
}).createEdge({
|
|
835
|
+
source: trigger.id,
|
|
836
|
+
target: template.id,
|
|
837
|
+
output: triggerOutputName,
|
|
838
|
+
input: "type"
|
|
839
|
+
}).createEdge({
|
|
840
|
+
source: random.id,
|
|
841
|
+
target: template.id,
|
|
842
|
+
input: "changeId"
|
|
843
|
+
});
|
|
844
|
+
functionTrigger = triggerShape.functionTrigger.target;
|
|
845
|
+
const triggerSpec = functionTrigger.spec;
|
|
846
|
+
invariant(triggerSpec && triggerSpec.type === triggerKind, "No trigger spec.", {
|
|
847
|
+
F: __dxlog_file,
|
|
848
|
+
L: 425,
|
|
849
|
+
S: void 0,
|
|
850
|
+
A: [
|
|
851
|
+
"triggerSpec && triggerSpec.type === triggerKind",
|
|
852
|
+
"'No trigger spec.'"
|
|
853
|
+
]
|
|
854
|
+
});
|
|
855
|
+
initSpec(triggerSpec);
|
|
856
|
+
});
|
|
857
|
+
const computeModel = createComputeGraph(canvasModel);
|
|
858
|
+
const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);
|
|
859
|
+
invariant(templateComputeNode, "Template compute node was not created.", {
|
|
860
|
+
F: __dxlog_file,
|
|
861
|
+
L: 432,
|
|
862
|
+
S: void 0,
|
|
863
|
+
A: [
|
|
864
|
+
"templateComputeNode",
|
|
865
|
+
"'Template compute node was not created.'"
|
|
866
|
+
]
|
|
867
|
+
});
|
|
868
|
+
templateComputeNode.value = [
|
|
869
|
+
"{",
|
|
870
|
+
' "@type": "{{type}}",',
|
|
871
|
+
' "id": "@{{changeId}}"',
|
|
872
|
+
"}"
|
|
873
|
+
].join("\n");
|
|
874
|
+
templateComputeNode.inputSchema = toJsonSchema(S.Struct({
|
|
875
|
+
type: S.String,
|
|
876
|
+
changeId: S.String
|
|
877
|
+
}));
|
|
878
|
+
attachTrigger(functionTrigger, computeModel);
|
|
879
|
+
return {
|
|
880
|
+
canvasModel,
|
|
881
|
+
computeModel
|
|
882
|
+
};
|
|
883
|
+
};
|
|
843
884
|
var addToSpace = (name, space, canvas, compute) => {
|
|
844
885
|
return space.db.add(create2(CanvasBoardType, {
|
|
845
886
|
name,
|
|
@@ -879,7 +920,7 @@ var setupQueue = (canvasModel, args) => {
|
|
|
879
920
|
var attachTrigger = (functionTrigger, computeModel) => {
|
|
880
921
|
invariant(functionTrigger, void 0, {
|
|
881
922
|
F: __dxlog_file,
|
|
882
|
-
L:
|
|
923
|
+
L: 471,
|
|
883
924
|
S: void 0,
|
|
884
925
|
A: [
|
|
885
926
|
"functionTrigger",
|
|
@@ -1056,4 +1097,4 @@ var SpaceGenerator_default = SpaceGenerator;
|
|
|
1056
1097
|
export {
|
|
1057
1098
|
SpaceGenerator_default as default
|
|
1058
1099
|
};
|
|
1059
|
-
//# sourceMappingURL=SpaceGenerator-
|
|
1100
|
+
//# sourceMappingURL=SpaceGenerator-KYSK77VG.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 { ComputeGraph } from '@dxos/conductor';\nimport { type ReactiveObject } from '@dxos/live-object';\nimport { DocumentType } 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 { 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 { Testing } from '@dxos/schema/testing';\nimport { jsonKeyReplacer, sortKeys } from '@dxos/util';\n\nimport { type ObjectGenerator, createGenerator, staticGenerators } from './ObjectGenerator';\nimport { SchemaTable } from './SchemaTable';\nimport { presets } from './presets';\n\nexport type SpaceGeneratorProps = {\n space: Space;\n onCreateObjects?: (objects: ReactiveObject<any>[]) => void;\n};\n\nexport const SpaceGenerator = ({ space, onCreateObjects }: SpaceGeneratorProps) => {\n const client = useClient();\n const staticTypes = [DocumentType, DiagramType, SheetType, ComputeGraph]; // TODO(burdon): Make extensible.\n const mutableTypes = [Testing.OrgType, Testing.ProjectType, Testing.ContactType, Testing.EmailType];\n const [count, setCount] = useState(1);\n const [info, setInfo] = useState<any>({});\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().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 divide-y divide-separator'>\n <Toolbar.Root classNames='p-1'>\n <IconButton icon='ph--arrow-clockwise--regular' iconOnly label='Refresh' onClick={updateInfo} />\n <Toolbar.Separator variant='gap' />\n <div className='flex'>\n <Input.Root>\n <Input.TextInput\n type='number'\n min={1}\n max={100}\n placeholder={'Count'}\n classNames='w-[80px]'\n value={count}\n onChange={(ev) => setCount(parseInt(ev.target.value))}\n />\n </Input.Root>\n </div>\n </Toolbar.Root>\n\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 <SyntaxHighlighter classNames='flex text-xs' language='json'>\n {JSON.stringify({ space, ...info }, jsonKeyReplacer({ truncate: true }), 2)}\n </SyntaxHighlighter>\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 { ObjectId, type BaseObject, type TypedObject } from '@dxos/echo-schema';\nimport { DXN, SpaceId } from '@dxos/keys';\nimport { create, makeRef, type ReactiveObject } from '@dxos/live-object';\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 { Filter, type Space } from '@dxos/react-client/echo';\nimport { TableType } from '@dxos/react-ui-table';\nimport { createView, TextType } from '@dxos/schema';\nimport { createAsyncGenerator, type ValueGenerator } from '@dxos/schema/testing';\nimport { range } from '@dxos/util';\n\nconst generator: ValueGenerator = faker as any;\n\n// TODO(burdon): Add objects to collections.\n// TODO(burdon): Create docs.\n// TODO(burdon): Create sketches.\n// TODO(burdon): Create sheets.\n// TODO(burdon): Create comments.\n// TODO(burdon): Reuse in testbench-app.\n// TODO(burdon): Mutator running in background (factor out): from echo-generator.\n\nexport type ObjectGenerator<T extends BaseObject> = (\n space: Space,\n n: number,\n cb?: (objects: ReactiveObject<any>[]) => void,\n) => Promise<ReactiveObject<T>[]>;\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 create(DocumentType, {\n name: faker.commerce.productName(),\n content: makeRef(create(TextType, { content: faker.lorem.sentences(5) })),\n threads: [],\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 create(DiagramType, {\n name: faker.commerce.productName(),\n canvas: makeRef(create(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', SpaceId.random(), 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\nexport const createGenerator = <T extends BaseObject>(type: TypedObject<T>): ObjectGenerator<T> => {\n return async (\n space: Space,\n n: number,\n cb?: (objects: ReactiveObject<any>[]) => void,\n ): Promise<ReactiveObject<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.getSchemaSnapshot(), { 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.schema(TableType)).run();\n const table = tables.find((table) => table.view?.target?.query?.type === 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 const table = space.db.add(create(TableType, { name, view: makeRef(view) }));\n cb?.([table]);\n }\n\n return objects;\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-hidden'>\n <div className='grid grid-cols-subgrid col-span-3'>\n <div className='px-2 text-sm text-primary-500'>{label}</div>\n <div className='px-2 text-xs text-subdued text-right'>count</div>\n </div>\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-green-500'>{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 { type ComputeGraphModel, EmailTriggerOutput, NODE_INPUT } from '@dxos/conductor';\nimport { AST, ObjectId, S, toJsonSchema } from '@dxos/echo-schema';\nimport { FunctionTrigger, TriggerKind, type TriggerType } from '@dxos/functions/types';\nimport { invariant } from '@dxos/invariant';\nimport { DXN, SpaceId } from '@dxos/keys';\nimport { create, makeRef } from '@dxos/live-object';\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}\n\nexport const presets = {\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({ triggerKind: TriggerKind.Webhook, ...position({ x: -18, y: -2 }) });\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(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 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 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.schema(TableType)).runSync();\n const emailTable = results.find((r) => r.object?.view?.target?.query?.type?.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({ triggerKind: TriggerKind.Email, ...position({ x: -18, y: -2 }) });\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 = AST.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 = 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(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.schema(TableType)).runSync();\n const emailTable = results.find((r) => r.object?.view?.target?.query?.type?.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 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(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 = AST.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 = S.extend(EmailTriggerOutput, S.Struct({ text: S.String }));\n templateComputeNode.inputSchema = 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 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 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({ triggerKind: TriggerKind.Timer, ...position({ x: -10, y: -5 }) });\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', SpaceId.random(), 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 ] as [PresetName, ObjectGenerator<any>][],\n};\n\nconst createQueueSinkPreset = <SpecType extends TriggerKind>(\n triggerKind: SpecType,\n initSpec: (spec: Extract<TriggerType, { type: 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 triggerKind,\n ...rawPosition({ centerX: -578, centerY: -187, height: 320, width: 320 }),\n });\n const trigger = canvasModel.createNode(triggerShape);\n const { queueId } = setupQueue(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.type === 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 = toJsonSchema(S.Struct({ type: S.String, changeId: S.String }));\n\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 create(CanvasBoardType, {\n name,\n computeGraph: makeRef(compute.root),\n layout: canvas.graph,\n }),\n );\n};\n\nconst setupQueue = (\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', SpaceId.random(), 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 = DXN.fromLocalObjectId(computeModel.root.id).toString();\n functionTrigger.meta ??= {};\n const inputNode = computeModel.nodes.find((node) => node.type === NODE_INPUT)!;\n functionTrigger.meta.computeNodeId = 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", "ComputeGraph", "DocumentType", "SheetType", "DiagramType", "useClient", "getTypename", "IconButton", "Input", "Toolbar", "useAsyncEffect", "SyntaxHighlighter", "Testing", "jsonKeyReplacer", "sortKeys", "addressToA1Notation", "ComputeGraph", "ComputeGraphModel", "DEFAULT_OUTPUT", "NODE_INPUT", "NODE_OUTPUT", "ObjectId", "DXN", "SpaceId", "create", "makeRef", "DocumentType", "createSheet", "SheetType", "CanvasType", "DiagramType", "faker", "Filter", "TableType", "createView", "TextType", "createAsyncGenerator", "range", "generator", "faker", "staticGenerators", "Map", "DocumentType", "typename", "space", "n", "cb", "objects", "range", "map", "db", "add", "create", "name", "commerce", "productName", "content", "makeRef", "TextType", "lorem", "sentences", "threads", "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", "builder", "createNode", "id", "type", "NODE_INPUT", "DXN", "kind", "QUEUE", "SpaceId", "ObjectId", "toString", "NODE_OUTPUT", "createEdge", "node", "property", "DEFAULT_OUTPUT", "root", "createGenerator", "schema", "schemaRegistry", "query", "firstOrUndefined", "register", "generate", "createAsyncGenerator", "getSchemaSnapshot", "createObjects", "tables", "Filter", "TableType", "run", "table", "find", "view", "target", "split", "pop", "createView", "jsonSchema", "React", "IconButton", "SchemaTable", "types", "objects", "label", "onClick", "div", "className", "map", "type", "key", "typename", "IconButton", "variant", "icon", "iconOnly", "EmailTriggerOutput", "NODE_INPUT", "AST", "ObjectId", "S", "toJsonSchema", "FunctionTrigger", "TriggerKind", "invariant", "DXN", "SpaceId", "create", "makeRef", "Filter", "createAppend", "createChat", "createComputeGraph", "createConstant", "createFunction", "createGpt", "createQueue", "createSurface", "createRandom", "createTemplate", "createText", "createTrigger", "CanvasBoardType", "CanvasGraphModel", "pointMultiply", "pointsToRect", "rectToPoints", "TableType", "range", "PresetName", "presets", "schemas", "types", "Object", "values", "map", "name", "typename", "items", "space", "n", "cb", "objects", "canvasModel", "functionTrigger", "builder", "call", "gpt", "createNode", "position", "x", "y", "triggerShape", "triggerKind", "Webhook", "trigger", "text", "width", "height", "queueId", "setupQueue", "append", "createEdge", "source", "id", "target", "input", "output", "computeModel", "attachTrigger", "addToSpace", "createQueueSinkPreset", "Subscription", "triggerSpec", "filter", "type", "Timer", "cron", "results", "db", "query", "schema", "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", "chat", "systemPrompt", "idPosition", "queuePosition", "appendToQueue", "extendedSchema", "extend", "Struct", "String", "sourceCurrency", "targetCurrency", "converter", "channelId", "kind", "QUEUE", "random", "queue", "initSpec", "triggerOutputName", "spec", "changeId", "canvas", "compute", "add", "computeGraph", "root", "layout", "graph", "args", "function", "meta", "inputNode", "computeNodeId", "center", "size", "rect", "snap", "undefined", "SpaceGenerator", "space", "onCreateObjects", "client", "useClient", "staticTypes", "DocumentType", "DiagramType", "SheetType", "ComputeGraph", "mutableTypes", "Testing", "OrgType", "ProjectType", "ContactType", "EmailType", "count", "setCount", "useState", "info", "setInfo", "typeMap", "useMemo", "addTypes", "presets", "schemas", "mutableGenerators", "Map", "map", "type", "typename", "createGenerator", "staticGenerators", "items", "updateInfo", "echoSchema", "db", "schemaRegistry", "query", "run", "staticSchema", "graph", "objects", "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", "value", "onChange", "ev", "parseInt", "target", "SchemaTable", "types", "SyntaxHighlighter", "language", "JSON", "stringify", "jsonKeyReplacer", "truncate", "SpaceGenerator"]
|
|
7
|
+
}
|
|
@@ -10,7 +10,7 @@ import { DeckCapabilities } from "@dxos/plugin-deck";
|
|
|
10
10
|
// packages/plugins/plugin-debug/src/capabilities/index.ts
|
|
11
11
|
import { lazy } from "@dxos/app-framework";
|
|
12
12
|
var AppGraphBuilder = lazy(() => import("./app-graph-builder-DCMGZAT3.mjs"));
|
|
13
|
-
var ReactSurface = lazy(() => import("./react-surface-
|
|
13
|
+
var ReactSurface = lazy(() => import("./react-surface-6GVTLM4O.mjs"));
|
|
14
14
|
var DebugSettings = lazy(() => import("./settings-OIMSBZUC.mjs"));
|
|
15
15
|
|
|
16
16
|
// packages/plugins/plugin-debug/src/translations.ts
|