@dxos/plugin-debug 0.7.5-labs.071a3e2 → 0.7.5-labs.401163d

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.
@@ -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, createGpt, createQueue, 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";
@@ -250,6 +250,10 @@ var PresetName;
250
250
  PresetName2["GPT_QUEUE"] = "webhook-gpt-queue";
251
251
  PresetName2["CHAT_GPT"] = "chat-gpt-text";
252
252
  PresetName2["EMAIL_WITH_SUMMARY"] = "email-gptSummary-table";
253
+ PresetName2["OBJECT_CHANGE_QUEUE"] = "objectChange-queue";
254
+ PresetName2["FOREX_FUNCTION_CALL"] = "forex-function-call";
255
+ PresetName2["TIMER_TICK_QUEUE"] = "timerTick-queue";
256
+ PresetName2["DISCORD_MESSAGES"] = "discord-messages";
253
257
  })(PresetName || (PresetName = {}));
254
258
  var presets = {
255
259
  schemas: [
@@ -294,7 +298,7 @@ var presets = {
294
298
  source: trigger.id,
295
299
  target: gpt.id,
296
300
  input: "prompt",
297
- output: "body"
301
+ output: "bodyText"
298
302
  }).createEdge({
299
303
  source: gpt.id,
300
304
  target: text.id,
@@ -319,6 +323,30 @@ var presets = {
319
323
  return objects;
320
324
  }
321
325
  ],
326
+ [
327
+ "objectChange-queue",
328
+ async (space, n, cb) => {
329
+ const objects = range2(n, () => {
330
+ const { canvasModel, computeModel } = createQueueSinkPreset(TriggerKind.Subscription, (triggerSpec) => triggerSpec.filter = {
331
+ type: "dxn:type:dxos.org/type/Chess"
332
+ }, "type");
333
+ return addToSpace("objectChange-queue", space, canvasModel, computeModel);
334
+ });
335
+ cb?.(objects);
336
+ return objects;
337
+ }
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
+ ],
322
350
  [
323
351
  "email-table",
324
352
  async (space, n, cb) => {
@@ -328,7 +356,7 @@ var presets = {
328
356
  const emailTable = results.find((r) => r.object?.view?.target?.query?.type?.endsWith("Email"));
329
357
  invariant(emailTable, "Email table not found.", {
330
358
  F: __dxlog_file,
331
- L: 90,
359
+ L: 129,
332
360
  S: void 0,
333
361
  A: [
334
362
  "emailTable",
@@ -397,7 +425,7 @@ var presets = {
397
425
  const templateComputeNode = computeModel.nodes.find((n2) => n2.id === template.node);
398
426
  invariant(templateComputeNode, "Template compute node was not created.", {
399
427
  F: __dxlog_file,
400
- L: 132,
428
+ L: 171,
401
429
  S: void 0,
402
430
  A: [
403
431
  "templateComputeNode",
@@ -473,7 +501,7 @@ var presets = {
473
501
  const emailTable = results.find((r) => r.object?.view?.target?.query?.type?.endsWith("Email"));
474
502
  invariant(emailTable, "Email table not found.", {
475
503
  F: __dxlog_file,
476
- L: 183,
504
+ L: 222,
477
505
  S: void 0,
478
506
  A: [
479
507
  "emailTable",
@@ -606,7 +634,7 @@ var presets = {
606
634
  const templateComputeNode = computeModel.nodes.find((n2) => n2.id === template.node);
607
635
  invariant(templateComputeNode, "Template compute node was not created.", {
608
636
  F: __dxlog_file,
609
- L: 254,
637
+ L: 293,
610
638
  S: void 0,
611
639
  A: [
612
640
  "templateComputeNode",
@@ -624,9 +652,235 @@ var presets = {
624
652
  cb?.(objects);
625
653
  return objects;
626
654
  }
655
+ ],
656
+ [
657
+ "forex-function-call",
658
+ async (space, n, cb) => {
659
+ const objects = range2(n, () => {
660
+ const canvasModel = CanvasGraphModel.create();
661
+ canvasModel.builder.call((builder) => {
662
+ const sourceCurrency = canvasModel.createNode(createConstant({
663
+ value: "USD",
664
+ ...position({
665
+ x: -10,
666
+ y: -5
667
+ })
668
+ }));
669
+ const targetCurrency = canvasModel.createNode(createConstant({
670
+ value: "EUR",
671
+ ...position({
672
+ x: -10,
673
+ y: 5
674
+ })
675
+ }));
676
+ const converter = canvasModel.createNode(createFunction(position({
677
+ x: 0,
678
+ y: 0
679
+ })));
680
+ const view = canvasModel.createNode(createSurface(position({
681
+ x: 12,
682
+ y: 0
683
+ })));
684
+ builder.createEdge({
685
+ source: sourceCurrency.id,
686
+ target: converter.id,
687
+ input: "from"
688
+ }).createEdge({
689
+ source: targetCurrency.id,
690
+ target: converter.id,
691
+ input: "to"
692
+ }).createEdge({
693
+ source: converter.id,
694
+ target: view.id,
695
+ output: "rate"
696
+ });
697
+ });
698
+ const computeModel = createComputeGraph(canvasModel);
699
+ return addToSpace("forex-function-call", space, canvasModel, computeModel);
700
+ });
701
+ cb?.(objects);
702
+ return objects;
703
+ }
704
+ ],
705
+ [
706
+ "discord-messages",
707
+ async (space, n, cb) => {
708
+ const objects = range2(n, () => {
709
+ const canvasModel = CanvasGraphModel.create();
710
+ let functionTrigger;
711
+ canvasModel.builder.call((builder) => {
712
+ const triggerShape = createTrigger({
713
+ triggerKind: TriggerKind.Timer,
714
+ ...position({
715
+ x: -10,
716
+ y: -5
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
+ })
726
+ }));
727
+ const queueId = canvasModel.createNode(createConstant({
728
+ value: new DXN2(DXN2.kind.QUEUE, [
729
+ "data",
730
+ SpaceId2.random(),
731
+ ObjectId2.random()
732
+ ]).toString(),
733
+ ...position({
734
+ x: -10,
735
+ y: 5
736
+ })
737
+ }));
738
+ const converter = canvasModel.createNode(createFunction(position({
739
+ x: 0,
740
+ y: 0
741
+ })));
742
+ const view = canvasModel.createNode(createText(position({
743
+ x: 12,
744
+ y: 0
745
+ })));
746
+ const queue = canvasModel.createNode(createQueue(position({
747
+ x: 0,
748
+ y: 12
749
+ })));
750
+ builder.createEdge({
751
+ source: trigger.id,
752
+ target: converter.id,
753
+ input: "tick"
754
+ }).createEdge({
755
+ source: channelId.id,
756
+ target: converter.id,
757
+ input: "channelId"
758
+ }).createEdge({
759
+ source: queueId.id,
760
+ target: converter.id,
761
+ input: "queueId"
762
+ }).createEdge({
763
+ source: converter.id,
764
+ target: view.id,
765
+ output: "newMessages"
766
+ }).createEdge({
767
+ source: queueId.id,
768
+ target: queue.id,
769
+ input: "input"
770
+ });
771
+ functionTrigger = triggerShape.functionTrigger.target;
772
+ });
773
+ const computeModel = createComputeGraph(canvasModel);
774
+ attachTrigger(functionTrigger, computeModel);
775
+ return addToSpace("discord-messages", space, canvasModel, computeModel);
776
+ });
777
+ cb?.(objects);
778
+ return objects;
779
+ }
627
780
  ]
628
781
  ]
629
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
+ };
630
884
  var addToSpace = (name, space, canvas, compute) => {
631
885
  return space.db.add(create2(CanvasBoardType, {
632
886
  name,
@@ -666,7 +920,7 @@ var setupQueue = (canvasModel, args) => {
666
920
  var attachTrigger = (functionTrigger, computeModel) => {
667
921
  invariant(functionTrigger, void 0, {
668
922
  F: __dxlog_file,
669
- L: 300,
923
+ L: 471,
670
924
  S: void 0,
671
925
  A: [
672
926
  "functionTrigger",
@@ -843,4 +1097,4 @@ var SpaceGenerator_default = SpaceGenerator;
843
1097
  export {
844
1098
  SpaceGenerator_default as default
845
1099
  };
846
- //# sourceMappingURL=SpaceGenerator-4VO7E5P2.mjs.map
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
+ }
@@ -178,4 +178,4 @@ var app_graph_builder_default = (context) => {
178
178
  export {
179
179
  app_graph_builder_default as default
180
180
  };
181
- //# sourceMappingURL=app-graph-builder-KRYWP5XD.mjs.map
181
+ //# sourceMappingURL=app-graph-builder-DCMGZAT3.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes, Capabilities, type PluginsContext } from '@dxos/app-framework';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { createExtension, toSignal, type Node } from '@dxos/plugin-graph';\nimport { memoizeQuery } from '@dxos/plugin-space';\nimport { CollectionType } from '@dxos/plugin-space/types';\nimport { getTypename, parseId, SpaceState } from '@dxos/react-client/echo';\nimport { isSpace, type Space } from '@dxos/react-client/echo';\n\nimport { DEBUG_PLUGIN } from '../meta';\nimport { type DebugSettingsProps } from '../types';\n\nexport default (context: PluginsContext) => {\n const resolve = (typename: string) =>\n context.requestCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n return contributes(Capabilities.AppGraphBuilder, [\n // Devtools node.\n createExtension({\n id: 'dxos.org/plugin/debug/devtools',\n filter: (node): node is Node<null> => {\n const settings = context\n .requestCapabilities(Capabilities.SettingsStore)[0]\n ?.getStore<DebugSettingsProps>(DEBUG_PLUGIN)?.value;\n return !!settings?.devtools && node.id === 'root';\n },\n connector: () => [\n {\n // TODO(zan): Removed `/` because it breaks deck layout reload. Fix?\n id: 'dxos.org.plugin.debug.devtools',\n data: 'devtools',\n type: 'dxos.org/plugin/debug/devtools',\n properties: {\n label: ['devtools label', { ns: DEBUG_PLUGIN }],\n disposition: 'navigation',\n icon: 'ph--hammer--regular',\n },\n },\n ],\n }),\n\n // Debug node.\n createExtension({\n id: 'dxos.org/plugin/debug/debug',\n filter: (node): node is Node<null> => {\n const settings = context\n .requestCapabilities(Capabilities.SettingsStore)[0]\n ?.getStore<DebugSettingsProps>(DEBUG_PLUGIN)?.value;\n return !!settings?.debug && node.id === 'root';\n },\n connector: () => {\n const [graph] = context.requestCapabilities(Capabilities.AppGraph);\n if (!graph) {\n return;\n }\n\n return [\n {\n id: 'dxos.org/plugin/debug/debug',\n type: 'dxos.org/plugin/debug/debug',\n data: { graph },\n properties: {\n label: ['debug label', { ns: DEBUG_PLUGIN }],\n disposition: 'navigation',\n icon: 'ph--bug--regular',\n },\n },\n ];\n },\n }),\n\n // Space debug nodes.\n createExtension({\n id: 'dxos.org/plugin/debug/spaces',\n filter: (node): node is Node<Space> => {\n const settings = context\n .requestCapabilities(Capabilities.SettingsStore)[0]\n ?.getStore<DebugSettingsProps>(DEBUG_PLUGIN)?.value;\n return !!settings?.debug && isSpace(node.data);\n },\n connector: ({ node }) => {\n const space = node.data;\n const state = toSignal(\n (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n () => space.state.get(),\n space.id,\n );\n if (state !== SpaceState.SPACE_READY) {\n return;\n }\n\n // Not adding the debug node until the root collection is available aligns the behaviour of this\n // extension with that of the space plugin adding objects. This ensures that the debug node is added at\n // the same time as objects and prevents order from changing as the nodes are added.\n const collection = space.properties[CollectionType.typename]?.target as CollectionType | undefined;\n if (!collection) {\n return;\n }\n\n return [\n {\n id: `${space.id}-debug`, // TODO(burdon): Change to slashes consistently.\n type: 'dxos.org/plugin/debug/space',\n data: { space, type: 'dxos.org/plugin/debug/space' },\n properties: {\n label: ['debug label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--bug--regular',\n },\n },\n ];\n },\n }),\n\n // Create nodes for debug sidebar.\n createExtension({\n id: `${DEBUG_PLUGIN}/debug-for-subject`,\n resolver: ({ id }) => {\n if (!id.endsWith('~debug')) {\n return;\n }\n\n const type = 'orphan-settings-for-subject';\n const icon = 'ph--bug--regular';\n\n const client = context.requestCapability(ClientCapabilities.Client);\n const [subjectId] = id.split('~');\n const { spaceId, objectId } = parseId(subjectId);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n const space = spaces?.find((space) => space.state.get() === SpaceState.SPACE_READY && space.id === spaceId);\n if (!objectId) {\n // TODO(burdon): Ref SPACE_PLUGIN ns.\n const label = space\n ? space.properties.name || ['unnamed space label', { ns: DEBUG_PLUGIN }]\n : ['unnamed object settings label', { ns: DEBUG_PLUGIN }];\n\n // TODO(wittjosiah): Support comments for arbitrary subjects.\n // This is to ensure that the comments panel is not stuck on an old object.\n return {\n id,\n type,\n data: null,\n properties: {\n icon,\n label,\n object: null,\n space,\n },\n };\n }\n\n const [object] = memoizeQuery(space, { id: objectId });\n if (!object || !subjectId) {\n return;\n }\n\n const meta = resolve(getTypename(object) ?? '');\n const label = meta.label?.(object) ||\n object.name ||\n meta.placeholder || ['unnamed object settings label', { ns: DEBUG_PLUGIN }];\n\n return {\n id,\n type,\n data: null,\n properties: {\n icon,\n label,\n object,\n },\n };\n },\n }),\n ]);\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes, Capabilities, type PluginsContext } from '@dxos/app-framework';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { createExtension, toSignal, type Node } from '@dxos/plugin-graph';\nimport { memoizeQuery } from '@dxos/plugin-space';\nimport { CollectionType } from '@dxos/plugin-space/types';\nimport { getTypename, parseId, SpaceState } from '@dxos/react-client/echo';\nimport { isSpace, type Space } from '@dxos/react-client/echo';\n\nimport { DEBUG_PLUGIN } from '../meta';\nimport { type DebugSettingsProps } from '../types';\n\nexport default (context: PluginsContext) => {\n const resolve = (typename: string) =>\n context.requestCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n return contributes(Capabilities.AppGraphBuilder, [\n // Devtools node.\n createExtension({\n id: 'dxos.org/plugin/debug/devtools',\n filter: (node): node is Node<null> => {\n const settings = context\n .requestCapabilities(Capabilities.SettingsStore)[0]\n ?.getStore<DebugSettingsProps>(DEBUG_PLUGIN)?.value;\n return !!settings?.devtools && node.id === 'root';\n },\n connector: () => [\n {\n // TODO(zan): Removed `/` because it breaks deck layout reload. Fix?\n id: 'dxos.org.plugin.debug.devtools',\n data: 'devtools',\n type: 'dxos.org/plugin/debug/devtools',\n properties: {\n label: ['devtools label', { ns: DEBUG_PLUGIN }],\n disposition: 'navigation',\n icon: 'ph--hammer--regular',\n },\n },\n ],\n }),\n\n // Debug node.\n createExtension({\n id: 'dxos.org/plugin/debug/debug',\n filter: (node): node is Node<null> => {\n const settings = context\n .requestCapabilities(Capabilities.SettingsStore)[0]\n ?.getStore<DebugSettingsProps>(DEBUG_PLUGIN)?.value;\n return !!settings?.debug && node.id === 'root';\n },\n connector: () => {\n const [graph] = context.requestCapabilities(Capabilities.AppGraph);\n if (!graph) {\n return;\n }\n\n return [\n {\n id: 'dxos.org/plugin/debug/debug',\n type: 'dxos.org/plugin/debug/debug',\n data: { graph },\n properties: {\n label: ['debug label', { ns: DEBUG_PLUGIN }],\n disposition: 'navigation',\n icon: 'ph--bug--regular',\n },\n },\n ];\n },\n }),\n\n // Space debug nodes.\n createExtension({\n id: 'dxos.org/plugin/debug/spaces',\n filter: (node): node is Node<Space> => {\n const settings = context\n .requestCapabilities(Capabilities.SettingsStore)[0]\n ?.getStore<DebugSettingsProps>(DEBUG_PLUGIN)?.value;\n return !!settings?.debug && isSpace(node.data);\n },\n connector: ({ node }) => {\n const space = node.data;\n const state = toSignal(\n (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n () => space.state.get(),\n space.id,\n );\n if (state !== SpaceState.SPACE_READY) {\n return;\n }\n\n // Not adding the debug node until the root collection is available aligns the behaviour of this\n // extension with that of the space plugin adding objects. This ensures that the debug node is added at\n // the same time as objects and prevents order from changing as the nodes are added.\n const collection = space.properties[CollectionType.typename]?.target as CollectionType | undefined;\n if (!collection) {\n return;\n }\n\n return [\n {\n id: `${space.id}-debug`, // TODO(burdon): Change to slashes consistently.\n type: 'dxos.org/plugin/debug/space',\n data: { space, type: 'dxos.org/plugin/debug/space' },\n properties: {\n label: ['debug label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--bug--regular',\n },\n },\n ];\n },\n }),\n\n // Create nodes for debug sidebar.\n createExtension({\n id: `${DEBUG_PLUGIN}/debug-for-subject`,\n resolver: ({ id }) => {\n if (!id.endsWith('~debug')) {\n return;\n }\n\n const type = 'orphan-settings-for-subject';\n const icon = 'ph--bug--regular';\n\n const client = context.requestCapability(ClientCapabilities.Client);\n const [subjectId] = id.split('~');\n const { spaceId, objectId } = parseId(subjectId);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n const space = spaces?.find((space) => space.state.get() === SpaceState.SPACE_READY && space.id === spaceId);\n if (!objectId) {\n // TODO(burdon): Ref SPACE_PLUGIN ns.\n const label = space\n ? space.properties.name || ['unnamed space label', { ns: DEBUG_PLUGIN }]\n : ['unnamed object settings label', { ns: DEBUG_PLUGIN }];\n\n // TODO(wittjosiah): Support comments for arbitrary subjects.\n // This is to ensure that the comments panel is not stuck on an old object.\n return {\n id,\n type,\n data: null,\n properties: { icon, label, object: null, space },\n };\n }\n\n const [object] = memoizeQuery(space, { id: objectId });\n if (!object || !subjectId) {\n return;\n }\n\n const meta = resolve(getTypename(object) ?? '');\n const label = meta.label?.(object) ||\n object.name ||\n meta.placeholder || ['unnamed object settings label', { ns: DEBUG_PLUGIN }];\n\n return {\n id,\n type,\n data: null,\n properties: {\n icon,\n label,\n object,\n },\n };\n },\n }),\n ]);\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["contributes", "Capabilities", "ClientCapabilities", "createExtension", "toSignal", "memoizeQuery", "CollectionType", "getTypename", "parseId", "SpaceState", "isSpace", "context", "resolve", "typename", "requestCapabilities", "Capabilities", "Metadata", "find", "id", "metadata", "contributes", "AppGraphBuilder", "createExtension", "filter", "node", "settings", "SettingsStore", "getStore", "DEBUG_PLUGIN", "value", "devtools", "connector", "data", "type", "properties", "label", "ns", "disposition", "icon", "debug", "graph", "AppGraph", "isSpace", "space", "state", "toSignal", "onChange", "subscribe", "unsubscribe", "get", "SpaceState", "SPACE_READY", "collection", "CollectionType", "target", "resolver", "endsWith", "client", "requestCapability", "ClientCapabilities", "Client", "subjectId", "split", "spaceId", "objectId", "parseId", "spaces", "name", "object", "memoizeQuery", "meta", "getTypename", "placeholder"]
7
7
  }
@@ -9,8 +9,8 @@ import { DeckCapabilities } from "@dxos/plugin-deck";
9
9
 
10
10
  // packages/plugins/plugin-debug/src/capabilities/index.ts
11
11
  import { lazy } from "@dxos/app-framework";
12
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-KRYWP5XD.mjs"));
13
- var ReactSurface = lazy(() => import("./react-surface-ZRQ4TPNG.mjs"));
12
+ var AppGraphBuilder = lazy(() => import("./app-graph-builder-DCMGZAT3.mjs"));
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