@dxos/plugin-debug 0.8.2-main.12df754 → 0.8.2-main.2f9c567
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-RESAAW32.mjs → SpaceGenerator-6ZW3GZSC.mjs} +26 -25
- package/dist/lib/browser/SpaceGenerator-6ZW3GZSC.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-RTKWOHHT.mjs → app-graph-builder-45VXMVPN.mjs} +16 -2
- package/dist/lib/browser/app-graph-builder-45VXMVPN.mjs.map +7 -0
- package/dist/lib/browser/{chunk-TCEHALD4.mjs → chunk-ZJTKMYOG.mjs} +5 -4
- package/dist/lib/browser/chunk-ZJTKMYOG.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +5 -4
- package/dist/lib/browser/index.mjs.map +2 -2
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-E63KL63Y.mjs → react-surface-UZUZU3MI.mjs} +16 -5
- package/dist/lib/browser/react-surface-UZUZU3MI.mjs.map +7 -0
- package/dist/lib/browser/{settings-BIRIGKTH.mjs → settings-6SG54GZO.mjs} +2 -2
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/DebugObjectPanel.d.ts +2 -2
- package/dist/types/src/components/DebugObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/SpaceGenerator/presets.d.ts +1 -1
- package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -1
- package/dist/types/src/components/Wireframe.d.ts +2 -2
- package/dist/types/src/components/Wireframe.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +1 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +5 -4
- package/dist/types/src/types.d.ts.map +1 -1
- package/package.json +54 -52
- package/src/capabilities/app-graph-builder.ts +11 -2
- package/src/capabilities/react-surface.tsx +13 -3
- package/src/components/DebugObjectPanel.tsx +2 -2
- package/src/components/SpaceGenerator/ObjectGenerator.tsx +2 -2
- package/src/components/SpaceGenerator/SpaceGenerator.tsx +1 -1
- package/src/components/SpaceGenerator/presets.ts +12 -10
- package/src/components/Wireframe.tsx +2 -2
- package/src/translations.ts +2 -1
- package/src/types.ts +6 -5
- package/dist/lib/browser/SpaceGenerator-RESAAW32.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-RTKWOHHT.mjs.map +0 -7
- package/dist/lib/browser/chunk-TCEHALD4.mjs.map +0 -7
- package/dist/lib/browser/react-surface-E63KL63Y.mjs.map +0 -7
- /package/dist/lib/browser/{settings-BIRIGKTH.mjs.map → settings-6SG54GZO.mjs.map} +0 -0
|
@@ -30,7 +30,7 @@ import { CanvasType, DiagramType } from "@dxos/plugin-sketch/types";
|
|
|
30
30
|
import { faker } from "@dxos/random";
|
|
31
31
|
import { Filter } from "@dxos/react-client/echo";
|
|
32
32
|
import { TableType } from "@dxos/react-ui-table";
|
|
33
|
-
import { createView,
|
|
33
|
+
import { createView, DataType } from "@dxos/schema";
|
|
34
34
|
import { createAsyncGenerator } from "@dxos/schema/testing";
|
|
35
35
|
import { range } from "@dxos/util";
|
|
36
36
|
var generator = faker;
|
|
@@ -41,7 +41,7 @@ var staticGenerators = /* @__PURE__ */ new Map([
|
|
|
41
41
|
const objects = range(n).map(() => {
|
|
42
42
|
return space.db.add(live(DocumentType, {
|
|
43
43
|
name: faker.commerce.productName(),
|
|
44
|
-
content: makeRef(live(
|
|
44
|
+
content: makeRef(live(DataType.Text, {
|
|
45
45
|
content: faker.lorem.sentences(5)
|
|
46
46
|
})),
|
|
47
47
|
threads: []
|
|
@@ -238,9 +238,11 @@ var SchemaTable = ({ types, objects = {}, label, onClick }) => {
|
|
|
238
238
|
};
|
|
239
239
|
|
|
240
240
|
// packages/plugins/plugin-debug/src/components/SpaceGenerator/presets.ts
|
|
241
|
-
import {
|
|
242
|
-
import {
|
|
243
|
-
import {
|
|
241
|
+
import { Schema, SchemaAST } from "effect";
|
|
242
|
+
import { NODE_INPUT as NODE_INPUT2 } from "@dxos/conductor";
|
|
243
|
+
import { Type } from "@dxos/echo";
|
|
244
|
+
import { ObjectId as ObjectId2, toJsonSchema } from "@dxos/echo-schema";
|
|
245
|
+
import { FunctionTrigger, TriggerKind, EmailTriggerOutput } from "@dxos/functions";
|
|
244
246
|
import { invariant } from "@dxos/invariant";
|
|
245
247
|
import { DXN as DXN2 } from "@dxos/keys";
|
|
246
248
|
import { live as live2, makeRef as makeRef2 } from "@dxos/live-object";
|
|
@@ -364,7 +366,7 @@ var presets = {
|
|
|
364
366
|
const emailTable = results.find((r) => r.object?.view?.target?.query?.typename?.endsWith("Email"));
|
|
365
367
|
invariant(emailTable, "Email table not found.", {
|
|
366
368
|
F: __dxlog_file,
|
|
367
|
-
L:
|
|
369
|
+
L: 139,
|
|
368
370
|
S: void 0,
|
|
369
371
|
A: [
|
|
370
372
|
"emailTable",
|
|
@@ -407,7 +409,7 @@ var presets = {
|
|
|
407
409
|
x: 10,
|
|
408
410
|
y: 6
|
|
409
411
|
})));
|
|
410
|
-
const properties =
|
|
412
|
+
const properties = SchemaAST.getPropertySignatures(EmailTriggerOutput.ast);
|
|
411
413
|
for (let i = 0; i < properties.length; i++) {
|
|
412
414
|
const propName = properties[i].name.toString();
|
|
413
415
|
builder.createEdge({
|
|
@@ -434,7 +436,7 @@ var presets = {
|
|
|
434
436
|
const templateComputeNode = computeModel.nodes.find((n2) => n2.id === template.node);
|
|
435
437
|
invariant(templateComputeNode, "Template compute node was not created.", {
|
|
436
438
|
F: __dxlog_file,
|
|
437
|
-
L:
|
|
439
|
+
L: 185,
|
|
438
440
|
S: void 0,
|
|
439
441
|
A: [
|
|
440
442
|
"templateComputeNode",
|
|
@@ -510,7 +512,7 @@ var presets = {
|
|
|
510
512
|
const emailTable = results.find((r) => r.object?.view?.target?.query?.typename?.endsWith("Email"));
|
|
511
513
|
invariant(emailTable, "Email table not found.", {
|
|
512
514
|
F: __dxlog_file,
|
|
513
|
-
L:
|
|
515
|
+
L: 236,
|
|
514
516
|
S: void 0,
|
|
515
517
|
A: [
|
|
516
518
|
"emailTable",
|
|
@@ -599,7 +601,7 @@ var presets = {
|
|
|
599
601
|
input: "text",
|
|
600
602
|
output: "text"
|
|
601
603
|
});
|
|
602
|
-
const properties =
|
|
604
|
+
const properties = SchemaAST.getPropertySignatures(EmailTriggerOutput.ast);
|
|
603
605
|
for (let i = 0; i < properties.length; i++) {
|
|
604
606
|
const propName = properties[i].name.toString();
|
|
605
607
|
builder.createEdge({
|
|
@@ -644,7 +646,7 @@ var presets = {
|
|
|
644
646
|
const templateComputeNode = computeModel.nodes.find((n2) => n2.id === template.node);
|
|
645
647
|
invariant(templateComputeNode, "Template compute node was not created.", {
|
|
646
648
|
F: __dxlog_file,
|
|
647
|
-
L:
|
|
649
|
+
L: 308,
|
|
648
650
|
S: void 0,
|
|
649
651
|
A: [
|
|
650
652
|
"templateComputeNode",
|
|
@@ -652,8 +654,8 @@ var presets = {
|
|
|
652
654
|
]
|
|
653
655
|
});
|
|
654
656
|
templateComputeNode.value = templateContent.join("\n");
|
|
655
|
-
const extendedSchema =
|
|
656
|
-
text:
|
|
657
|
+
const extendedSchema = Schema.extend(EmailTriggerOutput, Schema.Struct({
|
|
658
|
+
text: Schema.String
|
|
657
659
|
}));
|
|
658
660
|
templateComputeNode.inputSchema = toJsonSchema(extendedSchema);
|
|
659
661
|
attachTrigger(functionTrigger, computeModel);
|
|
@@ -798,7 +800,7 @@ var presets = {
|
|
|
798
800
|
const messages = results.find((r) => r.object?.view?.target?.query?.typename?.endsWith("Message"));
|
|
799
801
|
invariant(messages, "Table not found.", {
|
|
800
802
|
F: __dxlog_file,
|
|
801
|
-
L:
|
|
803
|
+
L: 414,
|
|
802
804
|
S: void 0,
|
|
803
805
|
A: [
|
|
804
806
|
"messages",
|
|
@@ -915,7 +917,7 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
|
|
|
915
917
|
const triggerSpec = functionTrigger.spec;
|
|
916
918
|
invariant(triggerSpec && triggerSpec.type === triggerKind, "No trigger spec.", {
|
|
917
919
|
F: __dxlog_file,
|
|
918
|
-
L:
|
|
920
|
+
L: 497,
|
|
919
921
|
S: void 0,
|
|
920
922
|
A: [
|
|
921
923
|
"triggerSpec && triggerSpec.type === triggerKind",
|
|
@@ -928,7 +930,7 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
|
|
|
928
930
|
const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);
|
|
929
931
|
invariant(templateComputeNode, "Template compute node was not created.", {
|
|
930
932
|
F: __dxlog_file,
|
|
931
|
-
L:
|
|
933
|
+
L: 504,
|
|
932
934
|
S: void 0,
|
|
933
935
|
A: [
|
|
934
936
|
"templateComputeNode",
|
|
@@ -941,9 +943,9 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
|
|
|
941
943
|
' "id": "@{{changeId}}"',
|
|
942
944
|
"}"
|
|
943
945
|
].join("\n");
|
|
944
|
-
templateComputeNode.inputSchema = toJsonSchema(
|
|
945
|
-
type:
|
|
946
|
-
changeId:
|
|
946
|
+
templateComputeNode.inputSchema = toJsonSchema(Schema.Struct({
|
|
947
|
+
type: Schema.String,
|
|
948
|
+
changeId: Schema.String
|
|
947
949
|
}));
|
|
948
950
|
attachTrigger(functionTrigger, computeModel);
|
|
949
951
|
return {
|
|
@@ -990,17 +992,16 @@ var setupQueue = (space, canvasModel, args) => {
|
|
|
990
992
|
var attachTrigger = (functionTrigger, computeModel) => {
|
|
991
993
|
invariant(functionTrigger, void 0, {
|
|
992
994
|
F: __dxlog_file,
|
|
993
|
-
L:
|
|
995
|
+
L: 544,
|
|
994
996
|
S: void 0,
|
|
995
997
|
A: [
|
|
996
998
|
"functionTrigger",
|
|
997
999
|
""
|
|
998
1000
|
]
|
|
999
1001
|
});
|
|
1000
|
-
functionTrigger.function =
|
|
1001
|
-
functionTrigger.meta ??= {};
|
|
1002
|
+
functionTrigger.function = Type.ref(computeModel.root);
|
|
1002
1003
|
const inputNode = computeModel.nodes.find((node) => node.type === NODE_INPUT2);
|
|
1003
|
-
functionTrigger.
|
|
1004
|
+
functionTrigger.inputNodeId = inputNode.id;
|
|
1004
1005
|
};
|
|
1005
1006
|
var rawPosition = (args) => {
|
|
1006
1007
|
return {
|
|
@@ -1058,7 +1059,7 @@ var SpaceGenerator = ({ space, onCreateObjects }) => {
|
|
|
1058
1059
|
ComputeGraph2
|
|
1059
1060
|
];
|
|
1060
1061
|
const mutableTypes = [
|
|
1061
|
-
Testing.
|
|
1062
|
+
Testing.Organization,
|
|
1062
1063
|
Testing.Project,
|
|
1063
1064
|
Testing.Contact,
|
|
1064
1065
|
Testing.Message
|
|
@@ -1235,4 +1236,4 @@ var SpaceGenerator_default = SpaceGenerator;
|
|
|
1235
1236
|
export {
|
|
1236
1237
|
SpaceGenerator_default as default
|
|
1237
1238
|
};
|
|
1238
|
-
//# sourceMappingURL=SpaceGenerator-
|
|
1239
|
+
//# sourceMappingURL=SpaceGenerator-6ZW3GZSC.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/SpaceGenerator/SpaceGenerator.tsx", "../../../src/components/SpaceGenerator/ObjectGenerator.tsx", "../../../src/components/SpaceGenerator/SchemaTable.tsx", "../../../src/components/SpaceGenerator/presets.ts", "../../../src/components/SpaceGenerator/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useMemo, useState } from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { ComputeGraph } from '@dxos/conductor';\nimport { toEffectSchema } from '@dxos/echo-schema';\nimport { live, type Live } from '@dxos/live-object';\nimport { log } from '@dxos/log';\nimport { DocumentType } from '@dxos/plugin-markdown/types';\nimport { SheetType } from '@dxos/plugin-sheet/types';\nimport { DiagramType } from '@dxos/plugin-sketch/types';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { useClient } from '@dxos/react-client';\nimport { getTypename, type Space } from '@dxos/react-client/echo';\nimport { IconButton, Input, Toolbar, useAsyncEffect } from '@dxos/react-ui';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { initializeTable, TableType } from '@dxos/react-ui-table';\nimport { 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: Live<any>[]) => void;\n};\n\nexport const SpaceGenerator = ({ space, onCreateObjects }: SpaceGeneratorProps) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const client = useClient();\n const staticTypes = [DocumentType, DiagramType, SheetType, ComputeGraph]; // TODO(burdon): Make extensible.\n const mutableTypes = [Testing.Organization, Testing.Project, Testing.Contact, Testing.Message];\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 // TODO(wittjosiah): Remove. Replace with proper echo import.\n const handleLoadTables = useCallback(async () => {\n const input = document.createElement('input');\n input.type = 'file';\n input.accept = '.json';\n\n input.onchange = async (e) => {\n const file = (e.target as HTMLInputElement).files?.[0];\n if (!file) {\n return;\n }\n\n try {\n const content = await file.text();\n const data = JSON.parse(content);\n const schemas = await space.db.schemaRegistry.register(data.schemas.map(toEffectSchema));\n // TODO(wittjosiah): If the schema is already registered this should skip.\n await Promise.all(\n schemas.map(async (schema) => {\n const parts = schema.typename.split('/');\n const name = parts[parts.length - 1];\n const table = live(TableType, { name, threads: [] });\n await initializeTable({ client, space, table, typename: schema.typename });\n await dispatch(createIntent(SpaceAction.AddObject, { target: space, object: table }));\n return table;\n }),\n );\n // TODO(wittjosiah): This should query the space for schemas.\n await Promise.all(\n data.objects.map(async ({ id, '@type': typename, ...fields }: any) => {\n const schema = schemas.find((s) => `dxn:type:${s.typename}:${s.version}` === typename);\n if (!schema) {\n log.warn('Missing schema for object', { id, typename });\n return;\n }\n const object = live(schema, fields);\n space.db.add(object);\n return object;\n }),\n );\n } catch (err) {\n log.catch(err);\n }\n };\n\n input.click();\n }, []);\n\n return (\n <div role='none' className='flex flex-col divide-y divide-separator overflow-y-auto'>\n <Toolbar.Root classNames='p-1'>\n <IconButton icon='ph--arrow-clockwise--regular' iconOnly label='Refresh' onClick={updateInfo} />\n <IconButton\n icon='ph--file-arrow-up--regular'\n iconOnly\n label='Load tables from JSON'\n onClick={handleLoadTables}\n />\n <Toolbar.Separator variant='gap' />\n <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 } from '@dxos/keys';\nimport { live, makeRef, type Live } 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, DataType } from '@dxos/schema';\nimport { createAsyncGenerator, type ValueGenerator } from '@dxos/schema/testing';\nimport { range } from '@dxos/util';\n\nconst generator: ValueGenerator = faker as any;\n\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: Live<any>[]) => void,\n) => Promise<Live<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 live(DocumentType, {\n name: faker.commerce.productName(),\n content: makeRef(live(DataType.Text, { 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 live(DiagramType, {\n name: faker.commerce.productName(),\n canvas: makeRef(live(CanvasType, { content: {} })),\n }),\n );\n\n return obj;\n });\n\n cb?.(objects);\n return objects;\n },\n ],\n // TODO(burdon): Create unit tests.\n [\n SheetType.typename,\n async (space, n, cb) => {\n const objects = range(n).map(() => {\n const cells: Record<string, CellValue> = {};\n const year = new Date().getFullYear();\n const cols = 4;\n const rows = 16;\n for (let col = 1; col <= cols; col++) {\n for (let row = 1; row <= rows; row++) {\n const cell = addressToA1Notation({ col, row });\n if (row === 1) {\n cells[cell] = { value: `${year} Q${col}` };\n } else if (row === rows) {\n const from = addressToA1Notation({ col, row: 2 });\n const to = addressToA1Notation({ col, row: rows - 1 });\n cells[cell] = { value: `=SUM(${from}:${to})` };\n } else if (row > 2 && row < rows - 1) {\n cells[cell] = { value: Math.floor(Math.random() * 10_000) };\n }\n }\n }\n\n // TODO(burdon): Set width.\n // TODO(burdon): Set formatting for columns.\n return space.db.add(\n createSheet({\n name: faker.commerce.productName(),\n cells,\n }),\n );\n });\n\n cb?.(objects);\n return objects;\n },\n ],\n [\n ComputeGraph.typename,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const model = ComputeGraphModel.create();\n model.builder\n .createNode({ id: 'gpt-INPUT', type: NODE_INPUT })\n .createNode({ id: 'gpt-GPT', type: 'gpt' })\n .createNode({\n id: 'gpt-QUEUE_ID',\n type: 'constant',\n value: new DXN(DXN.kind.QUEUE, ['data', space.id, 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 (space: Space, n: number, cb?: (objects: Live<any>[]) => void): Promise<Live<T>[]> => {\n // Find or create mutable schema.\n const schema =\n (await space.db.schemaRegistry.query({ typename: type.typename }).firstOrUndefined()) ??\n (await space.db.schemaRegistry.register([type]))[0];\n\n // Create objects.\n const generate = createAsyncGenerator(generator, schema.snapshot, { db: space.db });\n const objects = await generate.createObjects(n);\n\n // Find or create table and view.\n const { objects: tables } = await space.db.query(Filter.schema(TableType)).run();\n const table = tables.find((table) => table.view?.target?.query?.typename === type.typename);\n if (!table) {\n const name = type.typename.split('/').pop() ?? type.typename;\n const view = createView({ name, typename: type.typename, jsonSchema: schema.jsonSchema });\n const table = space.db.add(live(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-none'>\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 { Schema, SchemaAST } from 'effect';\n\nimport { type ComputeGraphModel, NODE_INPUT } from '@dxos/conductor';\nimport { Type } from '@dxos/echo';\nimport { ObjectId, toJsonSchema } from '@dxos/echo-schema';\nimport { FunctionTrigger, TriggerKind, EmailTriggerOutput, type TriggerType } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { DXN } from '@dxos/keys';\nimport { live, 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 KANBAN_QUEUE = 'kanban-queue',\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({\n spaceId: space.id,\n triggerKind: TriggerKind.Webhook,\n ...position({ x: -18, y: -2 }),\n });\n const trigger = canvasModel.createNode(triggerShape);\n const text = canvasModel.createNode(createText(position({ x: 19, y: 3, width: 10, height: 10 })));\n const { queueId } = setupQueue(space, canvasModel);\n const append = canvasModel.createNode(createAppend(position({ x: 10, y: 6 })));\n\n builder\n .createEdge({ source: trigger.id, target: gpt.id, input: 'prompt', output: 'bodyText' })\n .createEdge({ source: gpt.id, target: text.id, output: 'text' })\n .createEdge({ source: queueId.id, target: append.id, input: 'id' })\n .createEdge({ source: gpt.id, target: append.id, output: 'messages', input: 'items' });\n\n functionTrigger = triggerShape.functionTrigger!.target!;\n });\n\n const computeModel = createComputeGraph(canvasModel);\n\n attachTrigger(functionTrigger, computeModel);\n\n return addToSpace(PresetName.GPT_QUEUE, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n [\n PresetName.OBJECT_CHANGE_QUEUE,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const { canvasModel, computeModel } = createQueueSinkPreset(\n space,\n TriggerKind.Subscription,\n (triggerSpec) => (triggerSpec.filter = { type: 'dxn:type:dxos.org/type/Chess' }),\n 'type',\n );\n return addToSpace(PresetName.OBJECT_CHANGE_QUEUE, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n [\n PresetName.TIMER_TICK_QUEUE,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const { canvasModel, computeModel } = createQueueSinkPreset(\n space,\n TriggerKind.Timer,\n (triggerSpec) => (triggerSpec.cron = '*/5 * * * * *'),\n 'result',\n );\n return addToSpace(PresetName.TIMER_TICK_QUEUE, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n [\n PresetName.EMAIL_TABLE,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n const results = space.db.query(Filter.schema(TableType)).runSync();\n const emailTable = results.find((r) => r.object?.view?.target?.query?.typename?.endsWith('Email'));\n invariant(emailTable, 'Email table not found.');\n\n const template = canvasModel.createNode(\n createTemplate({\n valueType: 'object',\n ...rawPosition({ centerX: -80, centerY: -64, width: 320, height: 320 }),\n }),\n );\n const templateContent = ['{'];\n\n let functionTrigger: FunctionTrigger | undefined;\n canvasModel.builder.call((builder) => {\n const triggerShape = createTrigger({\n spaceId: space.id,\n triggerKind: TriggerKind.Email,\n ...position({ x: -18, y: -2 }),\n });\n const trigger = canvasModel.createNode(triggerShape);\n\n const tableId = canvasModel.createNode(\n createConstant({\n value: DXN.fromLocalObjectId(emailTable.id).toString(),\n ...position({ x: -18, y: 5, width: 8, height: 6 }),\n }),\n );\n\n const appendToTable = canvasModel.createNode(createAppend(position({ x: 10, y: 6 })));\n\n const properties = SchemaAST.getPropertySignatures(EmailTriggerOutput.ast);\n for (let i = 0; i < properties.length; i++) {\n const propName = properties[i].name.toString();\n builder.createEdge({ source: trigger.id, target: template.id, input: propName, output: propName });\n templateContent.push(` \"${propName}\": \"{{${propName}}}\"` + (i === properties.length - 1 ? '' : ','));\n }\n templateContent.push('}');\n\n builder\n .createEdge({ source: tableId.id, target: appendToTable.id, input: 'id' })\n .createEdge({ source: template.id, target: appendToTable.id, input: 'items' });\n\n functionTrigger = triggerShape.functionTrigger!.target!;\n });\n\n const computeModel = createComputeGraph(canvasModel);\n\n const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);\n invariant(templateComputeNode, 'Template compute node was not created.');\n templateComputeNode.value = templateContent.join('\\n');\n templateComputeNode.inputSchema = toJsonSchema(EmailTriggerOutput);\n\n attachTrigger(functionTrigger, computeModel);\n\n return addToSpace(PresetName.EMAIL_TABLE, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n [\n PresetName.CHAT_GPT,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n canvasModel.builder.call((builder) => {\n const gpt = canvasModel.createNode(createGpt(position({ x: 0, y: -14 })));\n const chat = canvasModel.createNode(createChat(position({ x: -18, y: -2 })));\n const text = canvasModel.createNode(createText(position({ x: 19, y: 3, width: 10, height: 10 })));\n const { queueId } = setupQueue(space, canvasModel);\n\n const append = canvasModel.createNode(createAppend(position({ x: 10, y: 6 })));\n\n builder\n .createEdge({ source: chat.id, target: gpt.id, input: 'prompt' })\n .createEdge({ source: gpt.id, target: text.id, output: 'text' })\n .createEdge({ source: queueId.id, target: append.id, input: 'id' })\n .createEdge({ source: gpt.id, target: append.id, output: 'messages', input: 'items' });\n });\n\n const computeModel = createComputeGraph(canvasModel);\n\n return addToSpace(PresetName.CHAT_GPT, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n [\n PresetName.EMAIL_WITH_SUMMARY,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n const results = space.db.query(Filter.schema(TableType)).runSync();\n const emailTable = results.find((r) => r.object?.view?.target?.query?.typename?.endsWith('Email'));\n invariant(emailTable, 'Email table not found.');\n\n const template = canvasModel.createNode(\n createTemplate({\n valueType: 'object',\n ...rawPosition({ centerX: 192, centerY: -176, width: 320, height: 320 }),\n }),\n );\n const templateContent = ['{'];\n\n let functionTrigger: FunctionTrigger | undefined;\n canvasModel.builder.call((builder) => {\n const gpt = canvasModel.createNode(\n createGpt(rawPosition({ centerX: -400, centerY: -112, width: 256, height: 202 })),\n );\n const systemPrompt = canvasModel.createNode(\n createConstant({\n value: \"use one word to describe content category. don't write anything else\",\n ...rawPosition({ centerX: -800, centerY: -160, width: 192, height: 128 }),\n }),\n );\n const triggerShape = createTrigger({\n spaceId: space.id,\n triggerKind: TriggerKind.Email,\n ...rawPosition({ centerX: -736, centerY: -384, width: 182, height: 192 }),\n });\n const trigger = canvasModel.createNode(triggerShape);\n\n const { queueId } = setupQueue(space, canvasModel, {\n idPosition: { centerX: -720, centerY: 224, width: 192, height: 256 },\n queuePosition: { centerX: -144, centerY: 416, width: 320, height: 448 },\n });\n const appendToQueue = canvasModel.createNode(\n createAppend(rawPosition({ centerX: -80, centerY: 96, width: 122, height: 128 })),\n );\n\n const tableId = canvasModel.createNode(\n createConstant({\n value: DXN.fromLocalObjectId(emailTable.id).toString(),\n ...rawPosition({ centerX: -112, centerY: -544, width: 192, height: 256 }),\n }),\n );\n\n const appendToTable = canvasModel.createNode(\n createAppend(rawPosition({ centerX: 560, centerY: -416, width: 128, height: 122 })),\n );\n\n templateContent.push(' \"category\": \"{{text}}\",');\n builder.createEdge({ source: gpt.id, target: template.id, input: 'text', output: 'text' });\n\n const properties = SchemaAST.getPropertySignatures(EmailTriggerOutput.ast);\n for (let i = 0; i < properties.length; i++) {\n const propName = properties[i].name.toString();\n builder.createEdge({ source: trigger.id, target: template.id, input: propName, output: propName });\n templateContent.push(` \"${propName}\": \"{{${propName}}}\"` + (i === properties.length - 1 ? '' : ','));\n }\n templateContent.push('}');\n\n builder\n .createEdge({ source: tableId.id, target: appendToTable.id, input: 'id' })\n .createEdge({ source: queueId.id, target: appendToQueue.id, input: 'id' })\n .createEdge({ source: gpt.id, target: appendToQueue.id, output: 'messages', input: 'items' })\n .createEdge({ source: systemPrompt.id, target: gpt.id, input: 'systemPrompt' })\n .createEdge({ source: trigger.id, target: gpt.id, input: 'prompt', output: 'body' })\n .createEdge({ source: template.id, target: appendToTable.id, input: 'items' });\n\n functionTrigger = triggerShape.functionTrigger!.target!;\n });\n\n const computeModel = createComputeGraph(canvasModel);\n\n const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);\n invariant(templateComputeNode, 'Template compute node was not created.');\n templateComputeNode.value = templateContent.join('\\n');\n const extendedSchema = Schema.extend(EmailTriggerOutput, Schema.Struct({ text: Schema.String }));\n templateComputeNode.inputSchema = toJsonSchema(extendedSchema);\n\n attachTrigger(functionTrigger, computeModel);\n\n return addToSpace(PresetName.EMAIL_WITH_SUMMARY, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n [\n PresetName.FOREX_FUNCTION_CALL,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n canvasModel.builder.call((builder) => {\n const sourceCurrency = canvasModel.createNode(\n createConstant({ value: 'USD', ...position({ x: -10, y: -5 }) }),\n );\n const targetCurrency = canvasModel.createNode(\n createConstant({ value: 'EUR', ...position({ x: -10, y: 5 }) }),\n );\n const converter = canvasModel.createNode(createFunction(position({ x: 0, y: 0 })));\n const view = canvasModel.createNode(createSurface(position({ x: 12, y: 0 })));\n\n builder\n .createEdge({ source: sourceCurrency.id, target: converter.id, input: 'from' })\n .createEdge({ source: targetCurrency.id, target: converter.id, input: 'to' })\n .createEdge({ source: converter.id, target: view.id, output: 'rate' });\n });\n\n const computeModel = createComputeGraph(canvasModel);\n\n return addToSpace(PresetName.FOREX_FUNCTION_CALL, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n [\n PresetName.DISCORD_MESSAGES,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n let functionTrigger: FunctionTrigger | undefined;\n canvasModel.builder.call((builder) => {\n const triggerShape = createTrigger({\n spaceId: space.id,\n triggerKind: TriggerKind.Timer,\n ...position({ x: -10, y: -5 }),\n });\n const trigger = canvasModel.createNode(triggerShape);\n // DXOS dev-null channel.\n const channelId = canvasModel.createNode(\n createConstant({ value: '1088569858767212554', ...position({ x: -10, y: 0 }) }),\n );\n const queueId = canvasModel.createNode(\n createConstant({\n value: new DXN(DXN.kind.QUEUE, ['data', space.id, ObjectId.random()]).toString(),\n ...position({ x: -10, y: 5 }),\n }),\n );\n const converter = canvasModel.createNode(createFunction(position({ x: 0, y: 0 })));\n const view = canvasModel.createNode(createText(position({ x: 12, y: 0 })));\n const queue = canvasModel.createNode(createQueue(position({ x: 0, y: 12 })));\n\n builder\n .createEdge({ source: trigger.id, target: converter.id, input: 'tick' })\n .createEdge({ source: channelId.id, target: converter.id, input: 'channelId' })\n .createEdge({ source: queueId.id, target: converter.id, input: 'queueId' })\n .createEdge({ source: converter.id, target: view.id, output: 'newMessages' })\n .createEdge({ source: queueId.id, target: queue.id, input: 'input' });\n\n functionTrigger = triggerShape.functionTrigger!.target!;\n });\n\n const computeModel = createComputeGraph(canvasModel);\n attachTrigger(functionTrigger, computeModel);\n\n return addToSpace(PresetName.DISCORD_MESSAGES, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n [\n PresetName.KANBAN_QUEUE,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n // TODO(wittjosiah): Integrate directly w/ Kanban.\n // const results = space.db.query(Filter.schema(KanbanType)).runSync();\n // const kanban = results.find((r) => r.object?.cardView?.target?.query?.type?.endsWith('Message'));\n // invariant(kanban, 'Kanban not found.');\n\n const results = space.db.query(Filter.schema(TableType)).runSync();\n const messages = results.find((r) => r.object?.view?.target?.query?.typename?.endsWith('Message'));\n invariant(messages, 'Table not found.');\n\n let functionTrigger: FunctionTrigger | undefined;\n canvasModel.builder.call((builder) => {\n const triggerShape = createTrigger({\n spaceId: space.id,\n triggerKind: TriggerKind.Queue,\n ...position({ x: -10, y: -5 }),\n });\n const trigger = canvasModel.createNode(triggerShape);\n\n const tableId = canvasModel.createNode(\n createConstant({\n value: DXN.fromLocalObjectId(messages.id).toString(),\n ...position({ x: -10, y: 5 }),\n }),\n );\n const appendToTable = canvasModel.createNode(createAppend(position({ x: 10, y: 0 })));\n\n builder\n .createEdge({ source: tableId.id, target: appendToTable.id, input: 'id' })\n .createEdge({ source: trigger.id, target: appendToTable.id, input: 'items', output: 'item' });\n\n functionTrigger = triggerShape.functionTrigger!.target!;\n });\n\n const computeModel = createComputeGraph(canvasModel);\n attachTrigger(functionTrigger, computeModel);\n\n return addToSpace(PresetName.KANBAN_QUEUE, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n ] as [PresetName, ObjectGenerator<any>][],\n};\n\nconst createQueueSinkPreset = <SpecType extends TriggerKind>(\n space: Space,\n triggerKind: SpecType,\n initSpec: (spec: Extract<TriggerType, { 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 spaceId: space.id,\n triggerKind,\n ...rawPosition({ centerX: -578, centerY: -187, height: 320, width: 320 }),\n });\n const trigger = canvasModel.createNode(triggerShape);\n const { queueId } = setupQueue(space, canvasModel, {\n queuePosition: { centerX: -80, centerY: 378, width: 320, height: 448 },\n });\n const append = canvasModel.createNode(\n createAppend(rawPosition({ centerX: 320, centerY: 192, width: 128, height: 122 })),\n );\n const random = canvasModel.createNode(\n createRandom(rawPosition({ centerX: -509, centerY: -30, width: 64, height: 64 })),\n );\n\n builder\n .createEdge({ source: queueId.id, target: append.id, input: 'id' })\n .createEdge({ source: template.id, target: append.id, input: 'items' })\n .createEdge({ source: trigger.id, target: template.id, output: triggerOutputName, input: 'type' })\n .createEdge({\n source: random.id,\n target: template.id,\n input: 'changeId',\n });\n\n functionTrigger = triggerShape.functionTrigger!.target!;\n const triggerSpec = functionTrigger.spec;\n invariant(triggerSpec && triggerSpec.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(Schema.Struct({ type: Schema.String, changeId: Schema.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 live(CanvasBoardType, {\n name,\n computeGraph: makeRef(compute.root),\n layout: canvas.graph,\n }),\n );\n};\n\nconst setupQueue = (\n space: Space,\n canvasModel: CanvasGraphModel,\n args?: { idPosition?: RawPositionInput; queuePosition?: RawPositionInput },\n) => {\n const queueId = canvasModel.createNode(\n createConstant({\n value: new DXN(DXN.kind.QUEUE, ['data', space.id, 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 = Type.ref(computeModel.root);\n const inputNode = computeModel.nodes.find((node) => node.type === NODE_INPUT)!;\n functionTrigger.inputNodeId = inputNode.id;\n};\n\ntype RawPositionInput = { centerX: number; centerY: number; width: number; height: number };\n\nconst rawPosition = (args: RawPositionInput) => {\n return { center: { x: args.centerX, y: args.centerY }, size: { width: args.width, height: args.height } };\n};\n\nconst position = (rect: { x: number; y: number; width?: number; height?: number }) => {\n const snap = 32;\n const [center, size] = rectToPoints({ width: 0, height: 0, ...rect });\n const { x, y, width, height } = pointsToRect([pointMultiply(center, snap), pointMultiply(size, snap)]);\n if (width && height) {\n return { center: { x, y }, size: width && height ? { width, height } : undefined };\n } else {\n return { center: { x, y } };\n }\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SpaceGenerator } from './SpaceGenerator';\n\nexport default SpaceGenerator;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "useCallback", "useMemo", "useState", "createIntent", "useIntentDispatcher", "ComputeGraph", "toEffectSchema", "live", "log", "DocumentType", "SheetType", "DiagramType", "SpaceAction", "useClient", "getTypename", "IconButton", "Input", "Toolbar", "useAsyncEffect", "SyntaxHighlighter", "initializeTable", "TableType", "Testing", "jsonKeyReplacer", "sortKeys", "addressToA1Notation", "ComputeGraph", "ComputeGraphModel", "DEFAULT_OUTPUT", "NODE_INPUT", "NODE_OUTPUT", "ObjectId", "DXN", "live", "makeRef", "DocumentType", "createSheet", "SheetType", "CanvasType", "DiagramType", "faker", "Filter", "TableType", "createView", "DataType", "createAsyncGenerator", "range", "generator", "faker", "staticGenerators", "Map", "DocumentType", "typename", "space", "n", "cb", "objects", "range", "map", "db", "add", "live", "name", "commerce", "productName", "content", "makeRef", "DataType", "Text", "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", "create", "builder", "createNode", "id", "type", "NODE_INPUT", "DXN", "kind", "QUEUE", "ObjectId", "toString", "NODE_OUTPUT", "createEdge", "node", "property", "DEFAULT_OUTPUT", "root", "createGenerator", "schema", "schemaRegistry", "query", "firstOrUndefined", "register", "generate", "createAsyncGenerator", "snapshot", "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", "Schema", "SchemaAST", "NODE_INPUT", "Type", "ObjectId", "toJsonSchema", "FunctionTrigger", "TriggerKind", "EmailTriggerOutput", "invariant", "DXN", "live", "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", "create", "functionTrigger", "builder", "call", "gpt", "createNode", "position", "x", "y", "triggerShape", "spaceId", "id", "triggerKind", "Webhook", "trigger", "text", "width", "height", "queueId", "setupQueue", "append", "createEdge", "source", "target", "input", "output", "computeModel", "attachTrigger", "addToSpace", "createQueueSinkPreset", "Subscription", "triggerSpec", "filter", "type", "Timer", "cron", "results", "db", "query", "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", "messages", "Queue", "initSpec", "triggerOutputName", "spec", "changeId", "canvas", "compute", "add", "computeGraph", "root", "layout", "graph", "args", "function", "ref", "inputNode", "inputNodeId", "center", "size", "rect", "snap", "undefined", "SpaceGenerator", "space", "onCreateObjects", "dispatchPromise", "dispatch", "useIntentDispatcher", "client", "useClient", "staticTypes", "DocumentType", "DiagramType", "SheetType", "ComputeGraph", "mutableTypes", "Testing", "Organization", "Project", "Contact", "Message", "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", "handleLoadTables", "input", "document", "createElement", "accept", "onchange", "e", "file", "target", "files", "content", "text", "data", "JSON", "parse", "register", "toEffectSchema", "Promise", "all", "parts", "split", "name", "table", "live", "TableType", "threads", "initializeTable", "createIntent", "SpaceAction", "AddObject", "object", "id", "fields", "find", "s", "version", "log", "warn", "add", "err", "catch", "click", "React", "div", "role", "className", "Toolbar", "Root", "classNames", "IconButton", "icon", "iconOnly", "label", "onClick", "Separator", "variant", "Input", "TextInput", "min", "max", "placeholder", "value", "onChange", "ev", "parseInt", "SchemaTable", "types", "SyntaxHighlighter", "language", "stringify", "jsonKeyReplacer", "truncate", "SpaceGenerator"]
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Devtools
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ZJTKMYOG.mjs";
|
|
4
4
|
import {
|
|
5
5
|
DEBUG_PLUGIN
|
|
6
6
|
} from "./chunk-RORUXVAC.mjs";
|
|
@@ -284,6 +284,20 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
|
|
|
284
284
|
ns: DEBUG_PLUGIN
|
|
285
285
|
}
|
|
286
286
|
],
|
|
287
|
+
icon: "ph--cube--regular"
|
|
288
|
+
}
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
id: `${Devtools.Echo.Schema}-${node.id}`,
|
|
292
|
+
data: Devtools.Echo.Schema,
|
|
293
|
+
type: DEVTOOLS_TYPE,
|
|
294
|
+
properties: {
|
|
295
|
+
label: [
|
|
296
|
+
"schema label",
|
|
297
|
+
{
|
|
298
|
+
ns: DEBUG_PLUGIN
|
|
299
|
+
}
|
|
300
|
+
],
|
|
287
301
|
icon: "ph--database--regular"
|
|
288
302
|
}
|
|
289
303
|
},
|
|
@@ -589,4 +603,4 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
|
|
|
589
603
|
export {
|
|
590
604
|
app_graph_builder_default as default
|
|
591
605
|
};
|
|
592
|
-
//# sourceMappingURL=app-graph-builder-
|
|
606
|
+
//# sourceMappingURL=app-graph-builder-45VXMVPN.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 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 { ATTENDABLE_PATH_SEPARATOR, DECK_COMPANION_TYPE, PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';\nimport { createExtension, type Node } from '@dxos/plugin-graph';\nimport { SPACE_PLUGIN } from '@dxos/plugin-space';\nimport { isEchoObject, type AnyLiveObject, parseId } from '@dxos/react-client/echo';\n\nimport { DEBUG_PLUGIN } from '../meta';\nimport { Devtools } from '../types';\n\nconst DEVTOOLS_TYPE = 'dxos.org/plugin/debug/devtools';\n\nexport default (context: PluginsContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n // Devtools node.\n createExtension({\n id: 'dxos.org/plugin/debug/devtools',\n filter: (node): node is Node<null> => node.id === 'root' || node.type === `${SPACE_PLUGIN}/settings`,\n connector: ({ node }) => {\n const layout = context.requestCapability(Capabilities.Layout);\n const client = context.requestCapability(ClientCapabilities.Client);\n const { spaceId } = parseId(layout.workspace);\n const space = spaceId && client.spaces.get(spaceId);\n\n return [\n {\n id: `${Devtools.id}-${node.id}`,\n data: null,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['devtools label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--hammer--regular',\n disposition: 'workspace',\n position: 'fallback',\n },\n nodes: [\n ...(space\n ? [\n {\n id: `debug-${node.id}`,\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 id: `${Devtools.Client.id}-${node.id}`,\n data: null,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['client label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--users--regular',\n },\n nodes: [\n {\n id: `${Devtools.Client.Config}-${node.id}`,\n data: Devtools.Client.Config,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['config label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--gear--regular',\n },\n },\n {\n id: `${Devtools.Client.Storage}-${node.id}`,\n data: Devtools.Client.Storage,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['storage label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--hard-drives--regular',\n },\n },\n {\n id: `${Devtools.Client.Logs}-${node.id}`,\n data: Devtools.Client.Logs,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['logs label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--file-text--regular',\n },\n },\n {\n id: `${Devtools.Client.Diagnostics}-${node.id}`,\n data: Devtools.Client.Diagnostics,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['diagnostics label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--chart-line--regular',\n },\n },\n {\n id: `${Devtools.Client.Tracing}-${node.id}`,\n data: Devtools.Client.Tracing,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['tracing label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--fire--regular',\n },\n },\n ],\n },\n {\n id: `${Devtools.Halo.id}-${node.id}`,\n data: null,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['halo label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--identification-badge--regular',\n },\n nodes: [\n {\n id: `${Devtools.Halo.Identity}-${node.id}`,\n data: Devtools.Halo.Identity,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['identity label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--identification-badge--regular',\n },\n },\n {\n id: `${Devtools.Halo.Devices}-${node.id}`,\n data: Devtools.Halo.Devices,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['devices label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--devices--regular',\n },\n },\n {\n id: `${Devtools.Halo.Keyring}-${node.id}`,\n data: Devtools.Halo.Keyring,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['keyring label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--key--regular',\n },\n },\n {\n id: `${Devtools.Halo.Credentials}-${node.id}`,\n data: Devtools.Halo.Credentials,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['credentials label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--credit-card--regular',\n },\n },\n ],\n },\n {\n id: `${Devtools.Echo.id}-${node.id}`,\n data: null,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['echo label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--database--regular',\n },\n nodes: [\n {\n id: `${Devtools.Echo.Spaces}-${node.id}`,\n data: Devtools.Echo.Spaces,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['spaces label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--graph--regular',\n },\n },\n {\n id: `${Devtools.Echo.Space}-${node.id}`,\n data: Devtools.Echo.Space,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['space label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--planet--regular',\n },\n },\n {\n id: `${Devtools.Echo.Feeds}-${node.id}`,\n data: Devtools.Echo.Feeds,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['feeds label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--list-bullets--regular',\n },\n },\n {\n id: `${Devtools.Echo.Objects}-${node.id}`,\n data: Devtools.Echo.Objects,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['objects label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--cube--regular',\n },\n },\n {\n id: `${Devtools.Echo.Schema}-${node.id}`,\n data: Devtools.Echo.Schema,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['schema label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--database--regular',\n },\n },\n {\n id: `${Devtools.Echo.Automerge}-${node.id}`,\n data: Devtools.Echo.Automerge,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['automerge label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--gear-six--regular',\n },\n },\n {\n id: `${Devtools.Echo.Queues}-${node.id}`,\n data: Devtools.Echo.Queues,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['queues label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--queue--regular',\n },\n },\n {\n id: `${Devtools.Echo.Members}-${node.id}`,\n data: Devtools.Echo.Members,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['members label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--users--regular',\n },\n },\n {\n id: `${Devtools.Echo.Metadata}-${node.id}`,\n data: Devtools.Echo.Metadata,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['metadata label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--hard-drive--regular',\n },\n },\n ],\n },\n {\n id: `${Devtools.Mesh.id}-${node.id}`,\n data: null,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['mesh label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--graph--regular',\n },\n nodes: [\n {\n id: `${Devtools.Mesh.Signal}-${node.id}`,\n data: Devtools.Mesh.Signal,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['signal label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--wifi-high--regular',\n },\n },\n {\n id: `${Devtools.Mesh.Swarm}-${node.id}`,\n data: Devtools.Mesh.Swarm,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['swarm label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--users-three--regular',\n },\n },\n {\n id: `${Devtools.Mesh.Network}-${node.id}`,\n data: Devtools.Mesh.Network,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['network label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--polygon--regular',\n },\n },\n ],\n },\n // TODO(wittjosiah): Remove?\n // {\n // id: `${prefix}-${Devtools.Agent.id}`,\n // data: null,\n // type: DEVTOOLS_TYPE,\n // properties: {\n // label: ['agent label', { ns: DEBUG_PLUGIN }],\n // icon: 'ph--robot--regular',\n // },\n // nodes: [\n // {\n // id: `${prefix}-${Devtools.Agent.Dashboard}`,\n // data: Devtools.Agent.Dashboard,\n // type: DEVTOOLS_TYPE,\n // properties: {\n // label: ['dashboard label', { ns: DEBUG_PLUGIN }],\n // icon: 'ph--computer-tower--regular',\n // },\n // },\n // ],\n // },\n {\n id: `${Devtools.Edge.id}-${node.id}`,\n data: null,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['edge label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--cloud--regular',\n },\n nodes: [\n {\n id: `${Devtools.Edge.Dashboard}-${node.id}`,\n data: Devtools.Edge.Dashboard,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['dashboard label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--computer-tower--regular',\n },\n },\n {\n id: `${Devtools.Edge.Workflows}-${node.id}`,\n data: Devtools.Edge.Workflows,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['workflows label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--function--regular',\n },\n },\n {\n id: `${Devtools.Edge.Traces}-${node.id}`,\n data: Devtools.Edge.Traces,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['traces label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--line-segments--regular',\n },\n },\n {\n id: `${Devtools.Edge.Testing}-${node.id}`,\n data: Devtools.Edge.Testing,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['testing label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--flask--regular',\n },\n },\n ],\n },\n ],\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 // TODO(wittjosiah): Plank is currently blank. Remove?\n // const settings = context\n // .requestCapabilities(Capabilities.SettingsStore)[0]\n // ?.getStore<DebugSettingsProps>(DEBUG_PLUGIN)?.value;\n // return !!settings?.debug && node.id === 'root';\n return false;\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 // Debug object companion.\n createExtension({\n id: `${DEBUG_PLUGIN}/debug-object`,\n filter: (node): node is Node<AnyLiveObject<any>> => isEchoObject(node.data),\n connector: ({ node }) => [\n {\n id: [node.id, 'debug'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'debug',\n properties: {\n label: ['debug label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--bug--regular',\n disposition: 'hidden',\n position: 'fallback',\n },\n },\n ],\n }),\n\n // Devtools deck companion.\n createExtension({\n id: `${DEBUG_PLUGIN}/devtools-overview`,\n filter: (node): node is Node<null> => node.id === 'root',\n connector: ({ node }) => [\n {\n id: [node.id, 'devtools'].join(ATTENDABLE_PATH_SEPARATOR),\n type: DECK_COMPANION_TYPE,\n data: null,\n properties: {\n label: ['devtools overview label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--hammer--regular',\n disposition: 'hidden',\n position: 'fallback',\n },\n },\n ],\n }),\n ]);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["contributes", "Capabilities", "ClientCapabilities", "ATTENDABLE_PATH_SEPARATOR", "DECK_COMPANION_TYPE", "PLANK_COMPANION_TYPE", "createExtension", "SPACE_PLUGIN", "isEchoObject", "parseId", "DEVTOOLS_TYPE", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "filter", "node", "type", "SPACE_PLUGIN", "connector", "layout", "requestCapability", "Layout", "client", "ClientCapabilities", "Client", "spaceId", "parseId", "workspace", "space", "spaces", "get", "Devtools", "data", "properties", "label", "ns", "DEBUG_PLUGIN", "icon", "disposition", "position", "nodes", "Config", "Storage", "Logs", "Diagnostics", "Tracing", "Halo", "Identity", "Devices", "Keyring", "Credentials", "Echo", "Spaces", "Space", "Feeds", "Objects", "Schema", "Automerge", "Queues", "Members", "Metadata", "Mesh", "Signal", "Swarm", "Network", "Edge", "Dashboard", "Workflows", "Traces", "Testing", "graph", "requestCapabilities", "AppGraph", "isEchoObject", "join", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE", "DECK_COMPANION_TYPE"]
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// packages/plugins/plugin-debug/src/types.ts
|
|
2
|
+
import { Schema } from "effect";
|
|
2
3
|
import { createContext } from "react";
|
|
3
|
-
import { S } from "@dxos/echo-schema";
|
|
4
4
|
var DebugContext = createContext({
|
|
5
5
|
running: false,
|
|
6
6
|
start: () => {
|
|
@@ -8,8 +8,8 @@ var DebugContext = createContext({
|
|
|
8
8
|
stop: () => {
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var DebugSettingsSchema =
|
|
12
|
-
wireframe:
|
|
11
|
+
var DebugSettingsSchema = Schema.mutable(Schema.Struct({
|
|
12
|
+
wireframe: Schema.optional(Schema.Boolean)
|
|
13
13
|
}));
|
|
14
14
|
var Devtools;
|
|
15
15
|
(function(Devtools2) {
|
|
@@ -38,6 +38,7 @@ var Devtools;
|
|
|
38
38
|
Echo2.Space = `${Devtools2.Echo.id}.space`;
|
|
39
39
|
Echo2.Feeds = `${Devtools2.Echo.id}.feeds`;
|
|
40
40
|
Echo2.Objects = `${Devtools2.Echo.id}.objects`;
|
|
41
|
+
Echo2.Schema = `${Devtools2.Echo.id}.schema`;
|
|
41
42
|
Echo2.Automerge = `${Devtools2.Echo.id}.automerge`;
|
|
42
43
|
Echo2.Queues = `${Devtools2.Echo.id}.queues`;
|
|
43
44
|
Echo2.Members = `${Devtools2.Echo.id}.members`;
|
|
@@ -70,4 +71,4 @@ export {
|
|
|
70
71
|
DebugSettingsSchema,
|
|
71
72
|
Devtools
|
|
72
73
|
};
|
|
73
|
-
//# sourceMappingURL=chunk-
|
|
74
|
+
//# sourceMappingURL=chunk-ZJTKMYOG.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\nimport { type Context, createContext } from 'react';\n\nimport type { TimerCallback, TimerOptions } from '@dxos/async';\n\nexport type DebugContextType = {\n running: boolean;\n start: (cb: TimerCallback, options: TimerOptions) => void;\n stop: () => void;\n};\n\nexport const DebugContext: Context<DebugContextType> = createContext<DebugContextType>({\n running: false,\n start: () => {},\n stop: () => {},\n});\n\nexport const DebugSettingsSchema = Schema.mutable(\n Schema.Struct({\n wireframe: Schema.optional(Schema.Boolean),\n }),\n);\n\nexport interface DebugSettingsProps extends Schema.Schema.Type<typeof DebugSettingsSchema> {}\n\nexport namespace Devtools {\n // TODO(wittjosiah): Cannot use slashes in ids until we have a router which decouples ids from url paths.\n export const id = 'dxos.org.plugin.debug.devtools';\n\n export namespace Client {\n export const id = `${Devtools.id}.client`;\n export const Config = `${Devtools.Client.id}.config`;\n export const Storage = `${Devtools.Client.id}.storage`;\n export const Logs = `${Devtools.Client.id}.logs`;\n export const Diagnostics = `${Devtools.Client.id}.diagnostics`;\n export const Tracing = `${Devtools.Client.id}.tracing`;\n }\n\n export namespace Halo {\n export const id = `${Devtools.id}.halo`;\n export const Identity = `${Devtools.Halo.id}.identity`;\n export const Devices = `${Devtools.Halo.id}.devices`;\n export const Keyring = `${Devtools.Halo.id}.keyring`;\n export const Credentials = `${Devtools.Halo.id}.credentials`;\n }\n\n export namespace Echo {\n export const id = `${Devtools.id}.echo`;\n export const Spaces = `${Devtools.Echo.id}.spaces`;\n export const Space = `${Devtools.Echo.id}.space`;\n export const Feeds = `${Devtools.Echo.id}.feeds`;\n export const Objects = `${Devtools.Echo.id}.objects`;\n export const Schema = `${Devtools.Echo.id}.schema`;\n export const Automerge = `${Devtools.Echo.id}.automerge`;\n export const Queues = `${Devtools.Echo.id}.queues`;\n export const Members = `${Devtools.Echo.id}.members`;\n export const Metadata = `${Devtools.Echo.id}.metadata`;\n }\n\n export namespace Mesh {\n export const id = `${Devtools.id}.mesh`;\n export const Signal = `${Devtools.Mesh.id}.signal`;\n export const Swarm = `${Devtools.Mesh.id}.swarm`;\n export const Network = `${Devtools.Mesh.id}.network`;\n }\n\n export namespace Agent {\n export const id = `${Devtools.id}.agent`;\n export const Dashboard = `${Devtools.Agent.id}.dashboard`;\n export const Search = `${Devtools.Agent.id}.search`;\n }\n\n export namespace Edge {\n export const id = `${Devtools.id}.edge`;\n export const Dashboard = `${Devtools.Edge.id}.dashboard`;\n export const Workflows = `${Devtools.Edge.id}.workflows`;\n export const Traces = `${Devtools.Edge.id}.traces`;\n export const Testing = `${Devtools.Edge.id}.testing`;\n }\n}\n"],
|
|
5
|
+
"mappings": ";AAIA,SAASA,cAAc;AACvB,SAAuBC,qBAAqB;AAUrC,IAAMC,eAA0CC,cAAgC;EACrFC,SAAS;EACTC,OAAO,MAAA;EAAO;EACdC,MAAM,MAAA;EAAO;AACf,CAAA;AAEO,IAAMC,sBAAsBC,OAAOC,QACxCD,OAAOE,OAAO;EACZC,WAAWH,OAAOI,SAASJ,OAAOK,OAAO;AAC3C,CAAA,CAAA;;UAKeC,WAAAA;YAEFC,KAAK;;YAEDC,SAAAA;YACFD,KAAK,GAAGD,UAASC,EAAE;YACnBE,SAAS,GAAGH,UAASE,OAAOD,EAAE;YAC9BG,UAAU,GAAGJ,UAASE,OAAOD,EAAE;YAC/BI,OAAO,GAAGL,UAASE,OAAOD,EAAE;YAC5BK,cAAc,GAAGN,UAASE,OAAOD,EAAE;YACnCM,UAAU,GAAGP,UAASE,OAAOD,EAAE;EAC9C,GAPiBC,SAAAA,UAAAA,WAAAA,UAAAA,SAAAA,CAAAA,EAAAA;;YASAM,OAAAA;UACFP,KAAK,GAAGD,UAASC,EAAE;UACnBQ,WAAW,GAAGT,UAASQ,KAAKP,EAAE;UAC9BS,UAAU,GAAGV,UAASQ,KAAKP,EAAE;UAC7BU,UAAU,GAAGX,UAASQ,KAAKP,EAAE;UAC7BW,cAAc,GAAGZ,UAASQ,KAAKP,EAAE;EAChD,GANiBO,OAAAA,UAAAA,SAAAA,UAAAA,OAAAA,CAAAA,EAAAA;;YAQAK,OAAAA;UACFZ,KAAK,GAAGD,UAASC,EAAE;UACnBa,SAAS,GAAGd,UAASa,KAAKZ,EAAE;UAC5Bc,QAAQ,GAAGf,UAASa,KAAKZ,EAAE;UAC3Be,QAAQ,GAAGhB,UAASa,KAAKZ,EAAE;UAC3BgB,UAAU,GAAGjB,UAASa,KAAKZ,EAAE;UAC7BP,SAAS,GAAGM,UAASa,KAAKZ,EAAE;UAC5BiB,YAAY,GAAGlB,UAASa,KAAKZ,EAAE;UAC/BkB,SAAS,GAAGnB,UAASa,KAAKZ,EAAE;UAC5BmB,UAAU,GAAGpB,UAASa,KAAKZ,EAAE;UAC7BoB,WAAW,GAAGrB,UAASa,KAAKZ,EAAE;EAC7C,GAXiBY,OAAAA,UAAAA,SAAAA,UAAAA,OAAAA,CAAAA,EAAAA;;YAaAS,OAAAA;UACFrB,KAAK,GAAGD,UAASC,EAAE;UACnBsB,SAAS,GAAGvB,UAASsB,KAAKrB,EAAE;UAC5BuB,QAAQ,GAAGxB,UAASsB,KAAKrB,EAAE;UAC3BwB,UAAU,GAAGzB,UAASsB,KAAKrB,EAAE;EAC5C,GALiBqB,OAAAA,UAAAA,SAAAA,UAAAA,OAAAA,CAAAA,EAAAA;;YAOAI,QAAAA;WACFzB,KAAK,GAAGD,UAASC,EAAE;WACnB0B,YAAY,GAAG3B,UAAS0B,MAAMzB,EAAE;WAChC2B,SAAS,GAAG5B,UAAS0B,MAAMzB,EAAE;EAC5C,GAJiByB,QAAAA,UAAAA,UAAAA,UAAAA,QAAAA,CAAAA,EAAAA;;YAMAG,OAAAA;UACF5B,KAAK,GAAGD,UAASC,EAAE;UACnB0B,YAAY,GAAG3B,UAAS6B,KAAK5B,EAAE;UAC/B6B,YAAY,GAAG9B,UAAS6B,KAAK5B,EAAE;UAC/B8B,SAAS,GAAG/B,UAAS6B,KAAK5B,EAAE;UAC5B+B,UAAU,GAAGhC,UAAS6B,KAAK5B,EAAE;EAC5C,GANiB4B,OAAAA,UAAAA,SAAAA,UAAAA,OAAAA,CAAAA,EAAAA;AAOnB,GAtDiB7B,aAAAA,WAAAA,CAAAA,EAAAA;",
|
|
6
|
+
"names": ["Schema", "createContext", "DebugContext", "createContext", "running", "start", "stop", "DebugSettingsSchema", "Schema", "mutable", "Struct", "wireframe", "optional", "Boolean", "Devtools", "id", "Client", "Config", "Storage", "Logs", "Diagnostics", "Tracing", "Halo", "Identity", "Devices", "Keyring", "Credentials", "Echo", "Spaces", "Space", "Feeds", "Objects", "Automerge", "Queues", "Members", "Metadata", "Mesh", "Signal", "Swarm", "Network", "Agent", "Dashboard", "Search", "Edge", "Workflows", "Traces", "Testing"]
|
|
7
|
+
}
|
|
@@ -8,10 +8,10 @@ import { Capabilities, contributes, defineModule, definePlugin, Events } from "@
|
|
|
8
8
|
|
|
9
9
|
// packages/plugins/plugin-debug/src/capabilities/index.ts
|
|
10
10
|
import { lazy } from "@dxos/app-framework";
|
|
11
|
-
var AppGraphBuilder = lazy(() => import("./app-graph-builder-
|
|
11
|
+
var AppGraphBuilder = lazy(() => import("./app-graph-builder-45VXMVPN.mjs"));
|
|
12
12
|
var ReactContext = lazy(() => import("./react-context-ZRLN5KUI.mjs"));
|
|
13
|
-
var ReactSurface = lazy(() => import("./react-surface-
|
|
14
|
-
var DebugSettings = lazy(() => import("./settings-
|
|
13
|
+
var ReactSurface = lazy(() => import("./react-surface-UZUZU3MI.mjs"));
|
|
14
|
+
var DebugSettings = lazy(() => import("./settings-6SG54GZO.mjs"));
|
|
15
15
|
|
|
16
16
|
// packages/plugins/plugin-debug/src/translations.ts
|
|
17
17
|
var translations_default = [
|
|
@@ -23,7 +23,7 @@ var translations_default = [
|
|
|
23
23
|
"mutation period": "Mutation period",
|
|
24
24
|
"open devtools label": "Open DevTools",
|
|
25
25
|
"devtools label": "DevTools",
|
|
26
|
-
"devtools overview label": "DevTools
|
|
26
|
+
"devtools overview label": "DevTools Stats",
|
|
27
27
|
"debug label": "Debug",
|
|
28
28
|
"settings show debug panel": "Show Debug panel.",
|
|
29
29
|
"settings show devtools panel": "Show DevTools panel.",
|
|
@@ -57,6 +57,7 @@ var translations_default = [
|
|
|
57
57
|
"space label": "Space",
|
|
58
58
|
"feeds label": "Feeds",
|
|
59
59
|
"objects label": "Objects",
|
|
60
|
+
"schema label": "Schema",
|
|
60
61
|
"automerge label": "Automerge",
|
|
61
62
|
"queues label": "Queues",
|
|
62
63
|
"members label": "Members",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/DebugPlugin.tsx", "../../../src/capabilities/index.ts", "../../../src/translations.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, contributes, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { type Client } from '@dxos/react-client';\n\nimport { AppGraphBuilder, DebugSettings, ReactContext, ReactSurface } from './capabilities';\nimport { meta } from './meta';\nimport translations from './translations';\n\n// TODO(wittjosiah): Rename to DevtoolsPlugin?\nexport const DebugPlugin = () => {\n setupDevtools();\n\n return definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: DebugSettings,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/react-context`,\n activatesOn: Events.Startup,\n activate: ReactContext,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n ]);\n};\n\nconst setupDevtools = () => {\n (globalThis as any).composer ??= {};\n\n // Used to test how composer handles breaking protocol changes.\n (globalThis as any).composer.changeStorageVersionInMetadata = async (version: number) => {\n const { changeStorageVersionInMetadata } = await import('@dxos/echo-pipeline/testing');\n const { createStorageObjects } = await import('@dxos/client-services');\n const client: Client = (window as any).dxos.client;\n const config = client.config;\n await client.destroy();\n const { storage } = createStorageObjects(config.values?.runtime?.client?.storage ?? {});\n await changeStorageVersionInMetadata(storage, version);\n location.pathname = '/';\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const ReactContext = lazy(() => import('./react-context'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const DebugSettings = lazy(() => import('./settings'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { DEBUG_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [DEBUG_PLUGIN]: {\n 'plugin name': 'Debug',\n 'mutation count': 'Number of mutations',\n 'mutation period': 'Mutation period',\n 'open devtools label': 'Open DevTools',\n 'devtools label': 'DevTools',\n 'devtools overview label': 'DevTools
|
|
5
|
-
"mappings": ";;;;;;AAIA,SAASA,cAAcC,aAAaC,cAAcC,cAAcC,cAAc;;;ACA9E,SAASC,YAAY;AAEd,IAAMC,kBAAkBC,KAAK,MAAM,OAAO,kCAAA,CAAA;AAC1C,IAAMC,eAAeD,KAAK,MAAM,OAAO,8BAAA,CAAA;AACvC,IAAME,eAAeF,KAAK,MAAM,OAAO,8BAAA,CAAA;AACvC,IAAMG,gBAAgBH,KAAK,MAAM,OAAO,yBAAA,CAAA;;;ACH/C,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACI,YAAAA,GAAe;QACd,eAAe;QACf,kBAAkB;QAClB,mBAAmB;QACnB,uBAAuB;QACvB,kBAAkB;QAClB,2BAA2B;QAC3B,eAAe;QACf,6BAA6B;QAC7B,gCAAgC;QAChC,sBAAsB;QACtB,mBAAmB;QACnB,iCAAiC;QACjC,qBAAqB;QACrB,kCAAkC;QAClC,2BAA2B;QAC3B,0BAA0B;QAC1B,mCAAmC;QACnC,sCAAsC;QACtC,uCAAuC;QACvC,6BAA6B;QAC7B,0CACE;QACF,gCAAgC;QAChC,0BAA0B;QAC1B,gBAAgB;QAChB,gBAAgB;QAChB,iBAAiB;QACjB,cAAc;QACd,qBAAqB;QACrB,iBAAiB;QACjB,cAAc;QACd,kBAAkB;QAClB,iBAAiB;QACjB,iBAAiB;QACjB,qBAAqB;QACrB,cAAc;QACd,gBAAgB;QAChB,eAAe;QACf,eAAe;QACf,iBAAiB;QACjB,mBAAmB;QACnB,gBAAgB;QAChB,iBAAiB;QACjB,kBAAkB;QAClB,cAAc;QACd,gBAAgB;QAChB,eAAe;QACf,iBAAiB;QACjB,eAAe;QACf,mBAAmB;QACnB,gBAAgB;QAChB,cAAc;QACd,mBAAmB;QACnB,gBAAgB;QAChB,iBAAiB;MACnB;IACF;EACF;;;;
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, contributes, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { type Client } from '@dxos/react-client';\n\nimport { AppGraphBuilder, DebugSettings, ReactContext, ReactSurface } from './capabilities';\nimport { meta } from './meta';\nimport translations from './translations';\n\n// TODO(wittjosiah): Rename to DevtoolsPlugin?\nexport const DebugPlugin = () => {\n setupDevtools();\n\n return definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: DebugSettings,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/react-context`,\n activatesOn: Events.Startup,\n activate: ReactContext,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n ]);\n};\n\nconst setupDevtools = () => {\n (globalThis as any).composer ??= {};\n\n // Used to test how composer handles breaking protocol changes.\n (globalThis as any).composer.changeStorageVersionInMetadata = async (version: number) => {\n const { changeStorageVersionInMetadata } = await import('@dxos/echo-pipeline/testing');\n const { createStorageObjects } = await import('@dxos/client-services');\n const client: Client = (window as any).dxos.client;\n const config = client.config;\n await client.destroy();\n const { storage } = createStorageObjects(config.values?.runtime?.client?.storage ?? {});\n await changeStorageVersionInMetadata(storage, version);\n location.pathname = '/';\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const ReactContext = lazy(() => import('./react-context'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const DebugSettings = lazy(() => import('./settings'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { DEBUG_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [DEBUG_PLUGIN]: {\n 'plugin name': 'Debug',\n 'mutation count': 'Number of mutations',\n 'mutation period': 'Mutation period',\n 'open devtools label': 'Open DevTools',\n 'devtools label': 'DevTools',\n 'devtools overview label': 'DevTools Stats',\n 'debug label': 'Debug',\n 'settings show debug panel': 'Show Debug panel.',\n 'settings show devtools panel': 'Show DevTools panel.',\n 'settings wireframe': 'Show wireframes.',\n 'settings repair': 'Run repair tool.',\n 'settings download diagnostics': 'Download diagnostics.',\n 'settings uploaded': 'Uploaded to IPFS',\n 'settings uploaded to clipboard': 'URL copied to clipboard.',\n 'settings repair success': 'Repair succeeded',\n 'settings repair failed': 'Repair failed',\n 'settings choose storage adaptor': 'Storage adaptor (worker reload required).',\n 'settings storage adaptor idb label': 'IndexedDB',\n 'settings storage adaptor opfs label': 'OPFS',\n 'settings data store label': 'Data Store',\n 'settings storage adapter changed alert':\n 'Warning: Swapping the storage adapter will make your data unavailable.',\n 'settings space fragmentation': 'Enable AM space fragmentation',\n 'open debug panel label': 'Show Debug',\n 'client label': 'Client',\n 'config label': 'Config',\n 'storage label': 'Storage',\n 'logs label': 'Logs',\n 'diagnostics label': 'Diagnostics',\n 'tracing label': 'Tracing',\n 'halo label': 'HALO',\n 'identity label': 'Identity',\n 'devices label': 'Devices',\n 'keyring label': 'Keyring',\n 'credentials label': 'Credentials',\n 'echo label': 'ECHO',\n 'spaces label': 'Spaces',\n 'space label': 'Space',\n 'feeds label': 'Feeds',\n 'objects label': 'Objects',\n 'schema label': 'Schema',\n 'automerge label': 'Automerge',\n 'queues label': 'Queues',\n 'members label': 'Members',\n 'metadata label': 'Metadata',\n 'mesh label': 'MESH',\n 'signal label': 'Signal',\n 'swarm label': 'Swarm',\n 'network label': 'Network',\n 'agent label': 'Agent',\n 'dashboard label': 'Dashboard',\n 'search label': 'Search',\n 'edge label': 'EDGE',\n 'workflows label': 'Workflows',\n 'traces label': 'Traces',\n 'testing label': 'Testing',\n },\n },\n },\n];\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,SAASA,cAAcC,aAAaC,cAAcC,cAAcC,cAAc;;;ACA9E,SAASC,YAAY;AAEd,IAAMC,kBAAkBC,KAAK,MAAM,OAAO,kCAAA,CAAA;AAC1C,IAAMC,eAAeD,KAAK,MAAM,OAAO,8BAAA,CAAA;AACvC,IAAME,eAAeF,KAAK,MAAM,OAAO,8BAAA,CAAA;AACvC,IAAMG,gBAAgBH,KAAK,MAAM,OAAO,yBAAA,CAAA;;;ACH/C,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACI,YAAAA,GAAe;QACd,eAAe;QACf,kBAAkB;QAClB,mBAAmB;QACnB,uBAAuB;QACvB,kBAAkB;QAClB,2BAA2B;QAC3B,eAAe;QACf,6BAA6B;QAC7B,gCAAgC;QAChC,sBAAsB;QACtB,mBAAmB;QACnB,iCAAiC;QACjC,qBAAqB;QACrB,kCAAkC;QAClC,2BAA2B;QAC3B,0BAA0B;QAC1B,mCAAmC;QACnC,sCAAsC;QACtC,uCAAuC;QACvC,6BAA6B;QAC7B,0CACE;QACF,gCAAgC;QAChC,0BAA0B;QAC1B,gBAAgB;QAChB,gBAAgB;QAChB,iBAAiB;QACjB,cAAc;QACd,qBAAqB;QACrB,iBAAiB;QACjB,cAAc;QACd,kBAAkB;QAClB,iBAAiB;QACjB,iBAAiB;QACjB,qBAAqB;QACrB,cAAc;QACd,gBAAgB;QAChB,eAAe;QACf,eAAe;QACf,iBAAiB;QACjB,gBAAgB;QAChB,mBAAmB;QACnB,gBAAgB;QAChB,iBAAiB;QACjB,kBAAkB;QAClB,cAAc;QACd,gBAAgB;QAChB,eAAe;QACf,iBAAiB;QACjB,eAAe;QACf,mBAAmB;QACnB,gBAAgB;QAChB,cAAc;QACd,mBAAmB;QACnB,gBAAgB;QAChB,iBAAiB;MACnB;IACF;EACF;;;;AFxDK,IAAMC,cAAc,MAAA;AACzBC,gBAAAA;AAEA,SAAOC,aAAaC,MAAM;IACxBC,aAAa;MACXC,IAAI,GAAGF,KAAKE,EAAE;MACdC,aAAaC,OAAOC;MACpBC,UAAUC;IACZ,CAAA;IACAN,aAAa;MACXC,IAAI,GAAGF,KAAKE,EAAE;MACdC,aAAaC,OAAOI;MACpBF,UAAU,MAAMG,YAAYC,aAAaC,cAAcC,oBAAAA;IACzD,CAAA;IACAX,aAAa;MACXC,IAAI,GAAGF,KAAKE,EAAE;MACdC,aAAaC,OAAOS;MACpBP,UAAUQ;IACZ,CAAA;IACAb,aAAa;MACXC,IAAI,GAAGF,KAAKE,EAAE;MACdC,aAAaC,OAAOW;MACpBT,UAAUU;IACZ,CAAA;IACAf,aAAa;MACXC,IAAI,GAAGF,KAAKE,EAAE;MACdC,aAAaC,OAAOa;MACpBX,UAAUY;IACZ,CAAA;GACD;AACH;AAEA,IAAMpB,gBAAgB,MAAA;AACnBqB,aAAmBC,aAAa,CAAC;AAGjCD,aAAmBC,SAASC,iCAAiC,OAAOC,YAAAA;AACnE,UAAM,EAAED,+BAA8B,IAAK,MAAM,OAAO,6BAAA;AACxD,UAAM,EAAEE,qBAAoB,IAAK,MAAM,OAAO,uBAAA;AAC9C,UAAMC,SAAkBC,OAAeC,KAAKF;AAC5C,UAAMG,SAASH,OAAOG;AACtB,UAAMH,OAAOI,QAAO;AACpB,UAAM,EAAEC,QAAO,IAAKN,qBAAqBI,OAAOG,QAAQC,SAASP,QAAQK,WAAW,CAAC,CAAA;AACrF,UAAMR,+BAA+BQ,SAASP,OAAAA;AAC9CU,aAASC,WAAW;EACtB;AACF;",
|
|
6
6
|
"names": ["Capabilities", "contributes", "defineModule", "definePlugin", "Events", "lazy", "AppGraphBuilder", "lazy", "ReactContext", "ReactSurface", "DebugSettings", "DEBUG_PLUGIN", "DebugPlugin", "setupDevtools", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupSettings", "activate", "DebugSettings", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "Startup", "ReactContext", "SetupReactSurface", "ReactSurface", "SetupAppGraph", "AppGraphBuilder", "globalThis", "composer", "changeStorageVersionInMetadata", "version", "createStorageObjects", "client", "window", "dxos", "config", "destroy", "storage", "values", "runtime", "location", "pathname"]
|
|
7
7
|
}
|