@dxos/plugin-debug 0.8.2-staging.7ac8446 → 0.8.2

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.
Files changed (76) hide show
  1. package/dist/lib/browser/DebugApp-WSEJPCKY.mjs +225 -0
  2. package/dist/lib/browser/{DebugApp-7PFYN52J.mjs.map → DebugApp-WSEJPCKY.mjs.map} +1 -1
  3. package/dist/lib/browser/DevtoolsOverviewContainer-IIIWO77Q.mjs +25 -0
  4. package/dist/lib/browser/DevtoolsOverviewContainer-IIIWO77Q.mjs.map +7 -0
  5. package/dist/lib/browser/{SpaceGenerator-NBOQZ4JF.mjs → SpaceGenerator-RHQLPN44.mjs} +254 -242
  6. package/dist/lib/browser/SpaceGenerator-RHQLPN44.mjs.map +7 -0
  7. package/dist/lib/browser/{app-graph-builder-ALFPRSAR.mjs → app-graph-builder-PIPBIN6P.mjs} +115 -88
  8. package/dist/lib/browser/app-graph-builder-PIPBIN6P.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-RORUXVAC.mjs → chunk-47JOZTT2.mjs} +1 -4
  10. package/dist/lib/browser/{chunk-RORUXVAC.mjs.map → chunk-47JOZTT2.mjs.map} +3 -3
  11. package/dist/lib/browser/chunk-KS3YBEL7.mjs +68 -0
  12. package/dist/lib/browser/chunk-KS3YBEL7.mjs.map +7 -0
  13. package/dist/lib/browser/index.mjs +7 -5
  14. package/dist/lib/browser/index.mjs.map +2 -2
  15. package/dist/lib/browser/meta.json +1 -1
  16. package/dist/lib/browser/{react-context-ZRLN5KUI.mjs → react-context-ZQRD2WG2.mjs} +2 -2
  17. package/dist/lib/browser/{react-surface-MXXLOQYV.mjs → react-surface-PHUWS5WD.mjs} +318 -288
  18. package/dist/lib/browser/react-surface-PHUWS5WD.mjs.map +7 -0
  19. package/dist/lib/browser/{settings-AP74NCXH.mjs → settings-N4Q6YB7L.mjs} +5 -5
  20. package/dist/lib/browser/settings-N4Q6YB7L.mjs.map +7 -0
  21. package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -179
  22. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  23. package/dist/types/src/capabilities/index.d.ts +2 -178
  24. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  25. package/dist/types/src/capabilities/react-surface.d.ts +2 -2
  26. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  27. package/dist/types/src/components/Container.d.ts.map +1 -1
  28. package/dist/types/src/components/DebugApp/Tree.d.ts.map +1 -1
  29. package/dist/types/src/components/DebugObjectPanel.d.ts +2 -2
  30. package/dist/types/src/components/DebugObjectPanel.d.ts.map +1 -1
  31. package/dist/types/src/components/DebugSettings.d.ts.map +1 -1
  32. package/dist/types/src/components/DebugStatus.d.ts.map +1 -1
  33. package/dist/types/src/components/DevtoolsOverviewContainer.d.ts +4 -0
  34. package/dist/types/src/components/DevtoolsOverviewContainer.d.ts.map +1 -0
  35. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts +2 -2
  36. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts.map +1 -1
  37. package/dist/types/src/components/SpaceGenerator/SchemaTable.d.ts.map +1 -1
  38. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.d.ts +2 -2
  39. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.d.ts.map +1 -1
  40. package/dist/types/src/components/SpaceGenerator/draw-util.d.ts.map +1 -1
  41. package/dist/types/src/components/SpaceGenerator/presets.d.ts +1 -1
  42. package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -1
  43. package/dist/types/src/components/Wireframe.d.ts +2 -2
  44. package/dist/types/src/components/Wireframe.d.ts.map +1 -1
  45. package/dist/types/src/components/index.d.ts +1 -0
  46. package/dist/types/src/components/index.d.ts.map +1 -1
  47. package/dist/types/src/meta.d.ts.map +1 -1
  48. package/dist/types/src/translations.d.ts +2 -0
  49. package/dist/types/src/translations.d.ts.map +1 -1
  50. package/dist/types/src/types.d.ts +5 -4
  51. package/dist/types/src/types.d.ts.map +1 -1
  52. package/dist/types/tsconfig.tsbuildinfo +1 -1
  53. package/package.json +60 -53
  54. package/src/capabilities/app-graph-builder.ts +418 -374
  55. package/src/capabilities/react-surface.tsx +43 -19
  56. package/src/capabilities/settings.ts +2 -2
  57. package/src/components/DebugObjectPanel.tsx +2 -2
  58. package/src/components/DebugStatus.tsx +4 -29
  59. package/src/components/DevtoolsOverviewContainer.tsx +20 -0
  60. package/src/components/SpaceGenerator/ObjectGenerator.tsx +11 -16
  61. package/src/components/SpaceGenerator/SpaceGenerator.stories.tsx +1 -1
  62. package/src/components/SpaceGenerator/SpaceGenerator.tsx +9 -9
  63. package/src/components/SpaceGenerator/presets.ts +20 -18
  64. package/src/components/Wireframe.tsx +2 -2
  65. package/src/components/index.ts +1 -0
  66. package/src/meta.ts +0 -1
  67. package/src/translations.ts +2 -0
  68. package/src/types.ts +6 -5
  69. package/dist/lib/browser/DebugApp-7PFYN52J.mjs +0 -182
  70. package/dist/lib/browser/SpaceGenerator-NBOQZ4JF.mjs.map +0 -7
  71. package/dist/lib/browser/app-graph-builder-ALFPRSAR.mjs.map +0 -7
  72. package/dist/lib/browser/chunk-TCEHALD4.mjs +0 -73
  73. package/dist/lib/browser/chunk-TCEHALD4.mjs.map +0 -7
  74. package/dist/lib/browser/react-surface-MXXLOQYV.mjs.map +0 -7
  75. package/dist/lib/browser/settings-AP74NCXH.mjs.map +0 -7
  76. /package/dist/lib/browser/{react-context-ZRLN5KUI.mjs.map → react-context-ZQRD2WG2.mjs.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/SpaceGenerator/SpaceGenerator.tsx", "../../../src/components/SpaceGenerator/ObjectGenerator.tsx", "../../../src/components/SpaceGenerator/SchemaTable.tsx", "../../../src/components/SpaceGenerator/presets.ts", "../../../src/components/SpaceGenerator/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useMemo, useState } from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { ComputeGraph } from '@dxos/conductor';\nimport { Filter, 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 { DataType } from '@dxos/schema';\nimport { jsonKeyReplacer, sortKeys } from '@dxos/util';\n\nimport { createGenerator, staticGenerators, type ObjectGenerator } 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 = [DataType.Organization, DataType.Project, DataType.Person, DataType.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(Filter.everything()).run();\n const objectMap = sortKeys(\n objects.reduce<Record<string, number>>((map, obj) => {\n const type = getTypename(obj);\n if (type) {\n const count = map[type] ?? 0;\n map[type] = count + 1;\n }\n return map;\n }, {}),\n );\n\n setInfo({\n schema: {\n static: staticSchema.length,\n mutable: echoSchema.length,\n },\n objects: objectMap,\n });\n };\n\n useAsyncEffect(updateInfo, [space]);\n\n const handleCreateData = useCallback(\n async (typename: string) => {\n const constructor = typeMap.get(typename);\n if (constructor) {\n // TODO(burdon): Input to specify number of objects.\n await constructor(space, count, onCreateObjects);\n await updateInfo();\n }\n },\n [typeMap, count],\n );\n\n // TODO(wittjosiah): Remove. Replace with proper echo import.\n const handleLoadTables = useCallback(async () => {\n const input = document.createElement('input');\n input.type = 'file';\n input.accept = '.json';\n\n input.onchange = async (e) => {\n const file = (e.target as HTMLInputElement).files?.[0];\n if (!file) {\n return;\n }\n\n try {\n const content = await file.text();\n const data = JSON.parse(content);\n const schemas = await space.db.schemaRegistry.register(data.schemas.map(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 }),\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.type(TableType)).run();\n const table = tables.find((table) => table.view?.target?.query?.typename === type.typename);\n if (!table) {\n const name = type.typename.split('/').pop() ?? type.typename;\n const view = createView({ name, typename: type.typename, jsonSchema: schema.jsonSchema });\n 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 { Ref } 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.type(TableType)).runSync();\n const emailTable = results.find((r) => r.object?.view?.target?.query?.typename?.endsWith('Email'));\n invariant(emailTable, 'Email table not found.');\n\n const template = canvasModel.createNode(\n createTemplate({\n valueType: 'object',\n ...rawPosition({ centerX: -80, centerY: -64, width: 320, height: 320 }),\n }),\n );\n const templateContent = ['{'];\n\n let functionTrigger: FunctionTrigger | undefined;\n canvasModel.builder.call((builder) => {\n const triggerShape = createTrigger({\n spaceId: space.id,\n triggerKind: TriggerKind.Email,\n ...position({ x: -18, y: -2 }),\n });\n const trigger = canvasModel.createNode(triggerShape);\n\n const tableId = canvasModel.createNode(\n createConstant({\n value: DXN.fromLocalObjectId(emailTable.id).toString(),\n ...position({ x: -18, y: 5, width: 8, height: 6 }),\n }),\n );\n\n const appendToTable = canvasModel.createNode(createAppend(position({ x: 10, y: 6 })));\n\n const properties = SchemaAST.getPropertySignatures(EmailTriggerOutput.ast);\n for (let i = 0; i < properties.length; i++) {\n const propName = properties[i].name.toString();\n builder.createEdge({ source: trigger.id, target: template.id, input: propName, output: propName });\n templateContent.push(` \"${propName}\": \"{{${propName}}}\"` + (i === properties.length - 1 ? '' : ','));\n }\n templateContent.push('}');\n\n builder\n .createEdge({ source: tableId.id, target: appendToTable.id, input: 'id' })\n .createEdge({ source: template.id, target: appendToTable.id, input: 'items' });\n\n functionTrigger = triggerShape.functionTrigger!.target!;\n });\n\n const computeModel = createComputeGraph(canvasModel);\n\n const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);\n invariant(templateComputeNode, 'Template compute node was not created.');\n templateComputeNode.value = templateContent.join('\\n');\n templateComputeNode.inputSchema = toJsonSchema(EmailTriggerOutput);\n\n attachTrigger(functionTrigger, computeModel);\n\n return addToSpace(PresetName.EMAIL_TABLE, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n [\n PresetName.CHAT_GPT,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n canvasModel.builder.call((builder) => {\n const gpt = canvasModel.createNode(createGpt(position({ x: 0, y: -14 })));\n const chat = canvasModel.createNode(createChat(position({ x: -18, y: -2 })));\n const text = canvasModel.createNode(createText(position({ x: 19, y: 3, width: 10, height: 10 })));\n const { queueId } = setupQueue(space, canvasModel);\n\n const append = canvasModel.createNode(createAppend(position({ x: 10, y: 6 })));\n\n builder\n .createEdge({ source: chat.id, target: gpt.id, input: 'prompt' })\n .createEdge({ source: gpt.id, target: text.id, output: 'text' })\n .createEdge({ source: queueId.id, target: append.id, input: 'id' })\n .createEdge({ source: gpt.id, target: append.id, output: 'messages', input: 'items' });\n });\n\n const computeModel = createComputeGraph(canvasModel);\n\n return addToSpace(PresetName.CHAT_GPT, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n [\n PresetName.EMAIL_WITH_SUMMARY,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n const results = space.db.query(Filter.type(TableType)).runSync();\n const emailTable = results.find((r) => r.object?.view?.target?.query?.typename?.endsWith('Email'));\n invariant(emailTable, 'Email table not found.');\n\n const template = canvasModel.createNode(\n createTemplate({\n valueType: 'object',\n ...rawPosition({ centerX: 192, centerY: -176, width: 320, height: 320 }),\n }),\n );\n const templateContent = ['{'];\n\n let functionTrigger: FunctionTrigger | undefined;\n canvasModel.builder.call((builder) => {\n const gpt = canvasModel.createNode(\n createGpt(rawPosition({ centerX: -400, centerY: -112, width: 256, height: 202 })),\n );\n const systemPrompt = canvasModel.createNode(\n createConstant({\n value: \"use one word to describe content category. don't write anything else\",\n ...rawPosition({ centerX: -800, centerY: -160, width: 192, height: 128 }),\n }),\n );\n const triggerShape = createTrigger({\n spaceId: space.id,\n triggerKind: TriggerKind.Email,\n ...rawPosition({ centerX: -736, centerY: -384, width: 182, height: 192 }),\n });\n const trigger = canvasModel.createNode(triggerShape);\n\n const { queueId } = setupQueue(space, canvasModel, {\n idPosition: { centerX: -720, centerY: 224, width: 192, height: 256 },\n queuePosition: { centerX: -144, centerY: 416, width: 320, height: 448 },\n });\n const appendToQueue = canvasModel.createNode(\n createAppend(rawPosition({ centerX: -80, centerY: 96, width: 122, height: 128 })),\n );\n\n const tableId = canvasModel.createNode(\n createConstant({\n value: DXN.fromLocalObjectId(emailTable.id).toString(),\n ...rawPosition({ centerX: -112, centerY: -544, width: 192, height: 256 }),\n }),\n );\n\n const appendToTable = canvasModel.createNode(\n createAppend(rawPosition({ centerX: 560, centerY: -416, width: 128, height: 122 })),\n );\n\n templateContent.push(' \"category\": \"{{text}}\",');\n builder.createEdge({ source: gpt.id, target: template.id, input: 'text', output: 'text' });\n\n const properties = SchemaAST.getPropertySignatures(EmailTriggerOutput.ast);\n for (let i = 0; i < properties.length; i++) {\n const propName = properties[i].name.toString();\n builder.createEdge({ source: trigger.id, target: template.id, input: propName, output: propName });\n templateContent.push(` \"${propName}\": \"{{${propName}}}\"` + (i === properties.length - 1 ? '' : ','));\n }\n templateContent.push('}');\n\n builder\n .createEdge({ source: tableId.id, target: appendToTable.id, input: 'id' })\n .createEdge({ source: queueId.id, target: appendToQueue.id, input: 'id' })\n .createEdge({ source: gpt.id, target: appendToQueue.id, output: 'messages', input: 'items' })\n .createEdge({ source: systemPrompt.id, target: gpt.id, input: 'systemPrompt' })\n .createEdge({ source: trigger.id, target: gpt.id, input: 'prompt', output: 'body' })\n .createEdge({ source: template.id, target: appendToTable.id, input: 'items' });\n\n functionTrigger = triggerShape.functionTrigger!.target!;\n });\n\n const computeModel = createComputeGraph(canvasModel);\n\n const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);\n invariant(templateComputeNode, 'Template compute node was not created.');\n templateComputeNode.value = templateContent.join('\\n');\n const extendedSchema = Schema.extend(EmailTriggerOutput, Schema.Struct({ text: Schema.String }));\n templateComputeNode.inputSchema = 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.type(KanbanType)).runSync();\n // const kanban = results.find((r) => r.object?.cardView?.target?.query?.type?.endsWith('Message'));\n // invariant(kanban, 'Kanban not found.');\n\n const results = space.db.query(Filter.type(TableType)).runSync();\n const messages = results.find((r) => r.object?.view?.target?.query?.typename?.endsWith('Message'));\n invariant(messages, 'Table not found.');\n\n let functionTrigger: FunctionTrigger | undefined;\n canvasModel.builder.call((builder) => {\n const triggerShape = createTrigger({\n spaceId: space.id,\n triggerKind: TriggerKind.Queue,\n ...position({ x: -10, y: -5 }),\n });\n const trigger = canvasModel.createNode(triggerShape);\n\n const tableId = canvasModel.createNode(\n createConstant({\n value: DXN.fromLocalObjectId(messages.id).toString(),\n ...position({ x: -10, y: 5 }),\n }),\n );\n const appendToTable = canvasModel.createNode(createAppend(position({ x: 10, y: 0 })));\n\n builder\n .createEdge({ source: tableId.id, target: appendToTable.id, input: 'id' })\n .createEdge({ source: trigger.id, target: appendToTable.id, input: 'items', output: 'item' });\n\n functionTrigger = triggerShape.functionTrigger!.target!;\n });\n\n const computeModel = createComputeGraph(canvasModel);\n attachTrigger(functionTrigger, computeModel);\n\n return addToSpace(PresetName.KANBAN_QUEUE, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n ] as [PresetName, ObjectGenerator<any>][],\n};\n\nconst createQueueSinkPreset = <SpecType extends TriggerKind>(\n space: Space,\n triggerKind: SpecType,\n initSpec: (spec: Extract<TriggerType, { kind: SpecType }>) => void,\n triggerOutputName: string,\n) => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n const template = canvasModel.createNode(\n createTemplate({\n valueType: 'object',\n ...rawPosition({ centerX: -64, centerY: -79, width: 320, height: 320 }),\n }),\n );\n\n let functionTrigger: FunctionTrigger | undefined;\n canvasModel.builder.call((builder) => {\n const triggerShape = createTrigger({\n spaceId: space.id,\n triggerKind,\n ...rawPosition({ centerX: -578, centerY: -187, height: 320, width: 320 }),\n });\n const trigger = canvasModel.createNode(triggerShape);\n const { queueId } = setupQueue(space, canvasModel, {\n queuePosition: { centerX: -80, centerY: 378, width: 320, height: 448 },\n });\n const append = canvasModel.createNode(\n createAppend(rawPosition({ centerX: 320, centerY: 192, width: 128, height: 122 })),\n );\n const random = canvasModel.createNode(\n createRandom(rawPosition({ centerX: -509, centerY: -30, width: 64, height: 64 })),\n );\n\n builder\n .createEdge({ source: queueId.id, target: append.id, input: 'id' })\n .createEdge({ source: template.id, target: append.id, input: 'items' })\n .createEdge({ source: trigger.id, target: template.id, output: triggerOutputName, input: 'type' })\n .createEdge({\n source: random.id,\n target: template.id,\n input: 'changeId',\n });\n\n functionTrigger = triggerShape.functionTrigger!.target!;\n const triggerSpec = functionTrigger.spec;\n invariant(triggerSpec && triggerSpec.kind === triggerKind, 'No trigger spec.');\n initSpec(triggerSpec as any);\n });\n\n const computeModel = createComputeGraph(canvasModel);\n\n const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);\n invariant(templateComputeNode, 'Template compute node was not created.');\n templateComputeNode.value = ['{', ' \"@type\": \"{{type}}\",', ' \"id\": \"@{{changeId}}\"', '}'].join('\\n');\n templateComputeNode.inputSchema = 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 = Ref.make(computeModel.root);\n const inputNode = computeModel.nodes.find((node) => node.type === NODE_INPUT)!;\n functionTrigger.inputNodeId = inputNode.id;\n};\n\ntype RawPositionInput = { centerX: number; centerY: number; width: number; height: number };\n\nconst rawPosition = (args: RawPositionInput) => {\n return { center: { x: args.centerX, y: args.centerY }, size: { width: args.width, height: args.height } };\n};\n\nconst position = (rect: { x: number; y: number; width?: number; height?: number }) => {\n const snap = 32;\n const [center, size] = rectToPoints({ width: 0, height: 0, ...rect });\n const { x, y, width, height } = pointsToRect([pointMultiply(center, snap), pointMultiply(size, snap)]);\n if (width && height) {\n return { center: { x, y }, size: width && height ? { width, height } : undefined };\n } else {\n return { center: { x, y } };\n }\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SpaceGenerator } from './SpaceGenerator';\n\nexport default SpaceGenerator;\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useCallback", "useMemo", "useState", "createIntent", "useIntentDispatcher", "ComputeGraph", "Filter", "toEffectSchema", "live", "log", "DocumentType", "SheetType", "DiagramType", "SpaceAction", "useClient", "getTypename", "IconButton", "Input", "Toolbar", "useAsyncEffect", "SyntaxHighlighter", "initializeTable", "TableType", "DataType", "jsonKeyReplacer", "sortKeys", "addressToA1Notation", "ComputeGraph", "ComputeGraphModel", "DEFAULT_OUTPUT", "NODE_INPUT", "NODE_OUTPUT", "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", "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", "Ref", "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", "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", "make", "inputNode", "inputNodeId", "center", "size", "rect", "snap", "undefined", "SpaceGenerator", "space", "onCreateObjects", "dispatchPromise", "dispatch", "useIntentDispatcher", "client", "useClient", "staticTypes", "DocumentType", "DiagramType", "SheetType", "ComputeGraph", "mutableTypes", "DataType", "Organization", "Project", "Person", "Message", "count", "setCount", "useState", "info", "setInfo", "typeMap", "useMemo", "addTypes", "presets", "schemas", "mutableGenerators", "Map", "map", "type", "typename", "createGenerator", "staticGenerators", "items", "updateInfo", "echoSchema", "db", "schemaRegistry", "query", "run", "staticSchema", "graph", "objects", "Filter", "everything", "objectMap", "sortKeys", "reduce", "obj", "getTypename", "schema", "static", "length", "mutable", "useAsyncEffect", "handleCreateData", "useCallback", "constructor", "get", "handleLoadTables", "input", "document", "createElement", "accept", "onchange", "e", "file", "target", "files", "content", "text", "data", "JSON", "parse", "register", "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,36 +1,28 @@
1
1
  import {
2
2
  Devtools
3
- } from "./chunk-TCEHALD4.mjs";
3
+ } from "./chunk-KS3YBEL7.mjs";
4
4
  import {
5
5
  DEBUG_PLUGIN
6
- } from "./chunk-RORUXVAC.mjs";
6
+ } from "./chunk-47JOZTT2.mjs";
7
7
 
8
8
  // packages/plugins/plugin-debug/src/capabilities/app-graph-builder.ts
9
+ import { Rx } from "@effect-rx/rx-react";
10
+ import { Option, pipe } from "effect";
9
11
  import { contributes, Capabilities } from "@dxos/app-framework";
10
- import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
11
- import { createExtension, toSignal } from "@dxos/plugin-graph";
12
- import { CollectionType } from "@dxos/plugin-space/types";
13
- import { isEchoObject, isSpace, SpaceState } from "@dxos/react-client/echo";
12
+ import { ATTENDABLE_PATH_SEPARATOR, DECK_COMPANION_TYPE, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
13
+ import { createExtension, ROOT_ID, rxFromSignal } from "@dxos/plugin-graph";
14
+ import { getActiveSpace, SPACE_PLUGIN } from "@dxos/plugin-space";
15
+ import { isEchoObject } from "@dxos/react-client/echo";
14
16
  var DEVTOOLS_TYPE = "dxos.org/plugin/debug/devtools";
15
17
  var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, [
16
18
  // Devtools node.
17
19
  createExtension({
18
20
  id: "dxos.org/plugin/debug/devtools",
19
- filter: (node) => node.id === "root" || isSpace(node.data),
20
- connector: ({ node }) => {
21
- const space = node.data;
22
- const state = toSignal((onChange) => space?.state.subscribe(() => onChange()).unsubscribe ?? (() => {
23
- }), () => space?.state.get(), space?.id);
24
- if (node.id !== "root" && state !== SpaceState.SPACE_READY) {
25
- return;
26
- }
27
- const collection = space?.properties[CollectionType.typename]?.target;
28
- if (node.id !== "root" && !collection) {
29
- return;
30
- }
21
+ connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID || node2.type === `${SPACE_PLUGIN}/settings` ? Option.some(node2) : Option.none()), Option.map((node2) => {
22
+ const space = get(rxFromSignal(() => getActiveSpace(context)));
31
23
  return [
32
24
  {
33
- id: `${node.id}-${Devtools.id}`,
25
+ id: `${Devtools.id}-${node2.id}`,
34
26
  data: null,
35
27
  type: DEVTOOLS_TYPE,
36
28
  properties: {
@@ -40,16 +32,17 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
40
32
  ns: DEBUG_PLUGIN
41
33
  }
42
34
  ],
43
- disposition: "workspace",
44
- icon: "ph--hammer--regular"
35
+ icon: "ph--hammer--regular",
36
+ disposition: "pin-end",
37
+ position: "fallback"
45
38
  },
46
39
  nodes: [
47
- ...isSpace(node.data) ? [
40
+ ...space && node2.type === `${SPACE_PLUGIN}/settings` ? [
48
41
  {
49
- id: `${node.data.id}-debug`,
42
+ id: `debug-${node2.id}`,
50
43
  type: "dxos.org/plugin/debug/space",
51
44
  data: {
52
- space: node.data,
45
+ space,
53
46
  type: "dxos.org/plugin/debug/space"
54
47
  },
55
48
  properties: {
@@ -64,7 +57,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
64
57
  }
65
58
  ] : [],
66
59
  {
67
- id: `${node.id}-${Devtools.Client.id}`,
60
+ id: `${Devtools.Client.id}-${node2.id}`,
68
61
  data: null,
69
62
  type: DEVTOOLS_TYPE,
70
63
  properties: {
@@ -78,7 +71,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
78
71
  },
79
72
  nodes: [
80
73
  {
81
- id: `${node.id}-${Devtools.Client.Config}`,
74
+ id: `${Devtools.Client.Config}-${node2.id}`,
82
75
  data: Devtools.Client.Config,
83
76
  type: DEVTOOLS_TYPE,
84
77
  properties: {
@@ -92,7 +85,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
92
85
  }
93
86
  },
94
87
  {
95
- id: `${node.id}-${Devtools.Client.Storage}`,
88
+ id: `${Devtools.Client.Storage}-${node2.id}`,
96
89
  data: Devtools.Client.Storage,
97
90
  type: DEVTOOLS_TYPE,
98
91
  properties: {
@@ -106,7 +99,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
106
99
  }
107
100
  },
108
101
  {
109
- id: `${node.id}-${Devtools.Client.Logs}`,
102
+ id: `${Devtools.Client.Logs}-${node2.id}`,
110
103
  data: Devtools.Client.Logs,
111
104
  type: DEVTOOLS_TYPE,
112
105
  properties: {
@@ -120,7 +113,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
120
113
  }
121
114
  },
122
115
  {
123
- id: `${node.id}-${Devtools.Client.Diagnostics}`,
116
+ id: `${Devtools.Client.Diagnostics}-${node2.id}`,
124
117
  data: Devtools.Client.Diagnostics,
125
118
  type: DEVTOOLS_TYPE,
126
119
  properties: {
@@ -134,7 +127,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
134
127
  }
135
128
  },
136
129
  {
137
- id: `${node.id}-${Devtools.Client.Tracing}`,
130
+ id: `${Devtools.Client.Tracing}-${node2.id}`,
138
131
  data: Devtools.Client.Tracing,
139
132
  type: DEVTOOLS_TYPE,
140
133
  properties: {
@@ -150,7 +143,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
150
143
  ]
151
144
  },
152
145
  {
153
- id: `${node.id}-${Devtools.Halo.id}`,
146
+ id: `${Devtools.Halo.id}-${node2.id}`,
154
147
  data: null,
155
148
  type: DEVTOOLS_TYPE,
156
149
  properties: {
@@ -164,7 +157,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
164
157
  },
165
158
  nodes: [
166
159
  {
167
- id: `${node.id}-${Devtools.Halo.Identity}`,
160
+ id: `${Devtools.Halo.Identity}-${node2.id}`,
168
161
  data: Devtools.Halo.Identity,
169
162
  type: DEVTOOLS_TYPE,
170
163
  properties: {
@@ -178,7 +171,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
178
171
  }
179
172
  },
180
173
  {
181
- id: `${node.id}-${Devtools.Halo.Devices}`,
174
+ id: `${Devtools.Halo.Devices}-${node2.id}`,
182
175
  data: Devtools.Halo.Devices,
183
176
  type: DEVTOOLS_TYPE,
184
177
  properties: {
@@ -192,7 +185,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
192
185
  }
193
186
  },
194
187
  {
195
- id: `${node.id}-${Devtools.Halo.Keyring}`,
188
+ id: `${Devtools.Halo.Keyring}-${node2.id}`,
196
189
  data: Devtools.Halo.Keyring,
197
190
  type: DEVTOOLS_TYPE,
198
191
  properties: {
@@ -206,7 +199,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
206
199
  }
207
200
  },
208
201
  {
209
- id: `${node.id}-${Devtools.Halo.Credentials}`,
202
+ id: `${Devtools.Halo.Credentials}-${node2.id}`,
210
203
  data: Devtools.Halo.Credentials,
211
204
  type: DEVTOOLS_TYPE,
212
205
  properties: {
@@ -222,7 +215,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
222
215
  ]
223
216
  },
224
217
  {
225
- id: `${node.id}-${Devtools.Echo.id}`,
218
+ id: `${Devtools.Echo.id}-${node2.id}`,
226
219
  data: null,
227
220
  type: DEVTOOLS_TYPE,
228
221
  properties: {
@@ -236,7 +229,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
236
229
  },
237
230
  nodes: [
238
231
  {
239
- id: `${node.id}-${Devtools.Echo.Spaces}`,
232
+ id: `${Devtools.Echo.Spaces}-${node2.id}`,
240
233
  data: Devtools.Echo.Spaces,
241
234
  type: DEVTOOLS_TYPE,
242
235
  properties: {
@@ -250,7 +243,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
250
243
  }
251
244
  },
252
245
  {
253
- id: `${node.id}-${Devtools.Echo.Space}`,
246
+ id: `${Devtools.Echo.Space}-${node2.id}`,
254
247
  data: Devtools.Echo.Space,
255
248
  type: DEVTOOLS_TYPE,
256
249
  properties: {
@@ -264,7 +257,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
264
257
  }
265
258
  },
266
259
  {
267
- id: `${node.id}-${Devtools.Echo.Feeds}`,
260
+ id: `${Devtools.Echo.Feeds}-${node2.id}`,
268
261
  data: Devtools.Echo.Feeds,
269
262
  type: DEVTOOLS_TYPE,
270
263
  properties: {
@@ -278,7 +271,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
278
271
  }
279
272
  },
280
273
  {
281
- id: `${node.id}-${Devtools.Echo.Objects}`,
274
+ id: `${Devtools.Echo.Objects}-${node2.id}`,
282
275
  data: Devtools.Echo.Objects,
283
276
  type: DEVTOOLS_TYPE,
284
277
  properties: {
@@ -288,11 +281,25 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
288
281
  ns: DEBUG_PLUGIN
289
282
  }
290
283
  ],
284
+ icon: "ph--cube--regular"
285
+ }
286
+ },
287
+ {
288
+ id: `${Devtools.Echo.Schema}-${node2.id}`,
289
+ data: Devtools.Echo.Schema,
290
+ type: DEVTOOLS_TYPE,
291
+ properties: {
292
+ label: [
293
+ "schema label",
294
+ {
295
+ ns: DEBUG_PLUGIN
296
+ }
297
+ ],
291
298
  icon: "ph--database--regular"
292
299
  }
293
300
  },
294
301
  {
295
- id: `${node.id}-${Devtools.Echo.Automerge}`,
302
+ id: `${Devtools.Echo.Automerge}-${node2.id}`,
296
303
  data: Devtools.Echo.Automerge,
297
304
  type: DEVTOOLS_TYPE,
298
305
  properties: {
@@ -306,7 +313,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
306
313
  }
307
314
  },
308
315
  {
309
- id: `${node.id}-${Devtools.Echo.Queues}`,
316
+ id: `${Devtools.Echo.Queues}-${node2.id}`,
310
317
  data: Devtools.Echo.Queues,
311
318
  type: DEVTOOLS_TYPE,
312
319
  properties: {
@@ -320,7 +327,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
320
327
  }
321
328
  },
322
329
  {
323
- id: `${node.id}-${Devtools.Echo.Members}`,
330
+ id: `${Devtools.Echo.Members}-${node2.id}`,
324
331
  data: Devtools.Echo.Members,
325
332
  type: DEVTOOLS_TYPE,
326
333
  properties: {
@@ -334,7 +341,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
334
341
  }
335
342
  },
336
343
  {
337
- id: `${node.id}-${Devtools.Echo.Metadata}`,
344
+ id: `${Devtools.Echo.Metadata}-${node2.id}`,
338
345
  data: Devtools.Echo.Metadata,
339
346
  type: DEVTOOLS_TYPE,
340
347
  properties: {
@@ -350,7 +357,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
350
357
  ]
351
358
  },
352
359
  {
353
- id: `${node.id}-${Devtools.Mesh.id}`,
360
+ id: `${Devtools.Mesh.id}-${node2.id}`,
354
361
  data: null,
355
362
  type: DEVTOOLS_TYPE,
356
363
  properties: {
@@ -364,7 +371,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
364
371
  },
365
372
  nodes: [
366
373
  {
367
- id: `${node.id}-${Devtools.Mesh.Signal}`,
374
+ id: `${Devtools.Mesh.Signal}-${node2.id}`,
368
375
  data: Devtools.Mesh.Signal,
369
376
  type: DEVTOOLS_TYPE,
370
377
  properties: {
@@ -378,7 +385,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
378
385
  }
379
386
  },
380
387
  {
381
- id: `${node.id}-${Devtools.Mesh.Swarm}`,
388
+ id: `${Devtools.Mesh.Swarm}-${node2.id}`,
382
389
  data: Devtools.Mesh.Swarm,
383
390
  type: DEVTOOLS_TYPE,
384
391
  properties: {
@@ -392,7 +399,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
392
399
  }
393
400
  },
394
401
  {
395
- id: `${node.id}-${Devtools.Mesh.Network}`,
402
+ id: `${Devtools.Mesh.Network}-${node2.id}`,
396
403
  data: Devtools.Mesh.Network,
397
404
  type: DEVTOOLS_TYPE,
398
405
  properties: {
@@ -409,7 +416,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
409
416
  },
410
417
  // TODO(wittjosiah): Remove?
411
418
  // {
412
- // id: `${node.id}-${Devtools.Agent.id}`,
419
+ // id: `${prefix}-${Devtools.Agent.id}`,
413
420
  // data: null,
414
421
  // type: DEVTOOLS_TYPE,
415
422
  // properties: {
@@ -418,7 +425,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
418
425
  // },
419
426
  // nodes: [
420
427
  // {
421
- // id: `${node.id}-${Devtools.Agent.Dashboard}`,
428
+ // id: `${prefix}-${Devtools.Agent.Dashboard}`,
422
429
  // data: Devtools.Agent.Dashboard,
423
430
  // type: DEVTOOLS_TYPE,
424
431
  // properties: {
@@ -429,7 +436,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
429
436
  // ],
430
437
  // },
431
438
  {
432
- id: `${node.id}-${Devtools.Edge.id}`,
439
+ id: `${Devtools.Edge.id}-${node2.id}`,
433
440
  data: null,
434
441
  type: DEVTOOLS_TYPE,
435
442
  properties: {
@@ -443,7 +450,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
443
450
  },
444
451
  nodes: [
445
452
  {
446
- id: `${node.id}-${Devtools.Edge.Dashboard}`,
453
+ id: `${Devtools.Edge.Dashboard}-${node2.id}`,
447
454
  data: Devtools.Edge.Dashboard,
448
455
  type: DEVTOOLS_TYPE,
449
456
  properties: {
@@ -457,7 +464,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
457
464
  }
458
465
  },
459
466
  {
460
- id: `${node.id}-${Devtools.Edge.Workflows}`,
467
+ id: `${Devtools.Edge.Workflows}-${node2.id}`,
461
468
  data: Devtools.Edge.Workflows,
462
469
  type: DEVTOOLS_TYPE,
463
470
  properties: {
@@ -471,7 +478,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
471
478
  }
472
479
  },
473
480
  {
474
- id: `${node.id}-${Devtools.Edge.Traces}`,
481
+ id: `${Devtools.Edge.Traces}-${node2.id}`,
475
482
  data: Devtools.Edge.Traces,
476
483
  type: DEVTOOLS_TYPE,
477
484
  properties: {
@@ -485,7 +492,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
485
492
  }
486
493
  },
487
494
  {
488
- id: `${node.id}-${Devtools.Edge.Testing}`,
495
+ id: `${Devtools.Edge.Testing}-${node2.id}`,
489
496
  data: Devtools.Edge.Testing,
490
497
  type: DEVTOOLS_TYPE,
491
498
  properties: {
@@ -503,48 +510,43 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
503
510
  ]
504
511
  }
505
512
  ];
506
- }
513
+ }), Option.getOrElse(() => [])))
507
514
  }),
508
515
  // Debug node.
509
516
  createExtension({
510
517
  id: "dxos.org/plugin/debug/debug",
511
- filter: (node) => {
512
- return false;
513
- },
514
- connector: () => {
515
- const [graph] = context.requestCapabilities(Capabilities.AppGraph);
516
- if (!graph) {
517
- return;
518
- }
519
- return [
520
- {
521
- id: "dxos.org/plugin/debug/debug",
522
- type: "dxos.org/plugin/debug/debug",
523
- data: {
524
- graph
525
- },
526
- properties: {
527
- label: [
528
- "debug label",
529
- {
530
- ns: DEBUG_PLUGIN
531
- }
532
- ],
533
- disposition: "navigation",
534
- icon: "ph--bug--regular"
535
- }
518
+ connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.flatMap(() => {
519
+ const [graph] = get(context.capabilities(Capabilities.AppGraph));
520
+ return graph ? Option.some(graph) : Option.none();
521
+ }), Option.flatMap((graph) => {
522
+ return Option.none();
523
+ }), Option.map((graph) => [
524
+ {
525
+ id: "dxos.org/plugin/debug/debug",
526
+ type: "dxos.org/plugin/debug/debug",
527
+ data: {
528
+ graph
529
+ },
530
+ properties: {
531
+ label: [
532
+ "debug label",
533
+ {
534
+ ns: DEBUG_PLUGIN
535
+ }
536
+ ],
537
+ disposition: "navigation",
538
+ icon: "ph--bug--regular"
536
539
  }
537
- ];
538
- }
540
+ }
541
+ ]), Option.getOrElse(() => [])))
539
542
  }),
540
543
  // Debug object companion.
541
544
  createExtension({
542
545
  id: `${DEBUG_PLUGIN}/debug-object`,
543
- filter: (node) => isEchoObject(node.data),
544
- connector: ({ node }) => [
546
+ connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => isEchoObject(node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
545
547
  {
546
548
  id: [
547
- node.id,
549
+ node2.id,
548
550
  "debug"
549
551
  ].join(ATTENDABLE_PATH_SEPARATOR),
550
552
  type: PLANK_COMPANION_TYPE,
@@ -561,10 +563,35 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
561
563
  position: "fallback"
562
564
  }
563
565
  }
564
- ]
566
+ ]), Option.getOrElse(() => [])))
567
+ }),
568
+ // Devtools deck companion.
569
+ createExtension({
570
+ id: `${DEBUG_PLUGIN}/devtools-overview`,
571
+ connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map((node2) => [
572
+ {
573
+ id: [
574
+ node2.id,
575
+ "devtools"
576
+ ].join(ATTENDABLE_PATH_SEPARATOR),
577
+ type: DECK_COMPANION_TYPE,
578
+ data: null,
579
+ properties: {
580
+ label: [
581
+ "devtools overview label",
582
+ {
583
+ ns: DEBUG_PLUGIN
584
+ }
585
+ ],
586
+ icon: "ph--equalizer--regular",
587
+ disposition: "hidden",
588
+ position: "fallback"
589
+ }
590
+ }
591
+ ]), Option.getOrElse(() => [])))
565
592
  })
566
593
  ]);
567
594
  export {
568
595
  app_graph_builder_default as default
569
596
  };
570
- //# sourceMappingURL=app-graph-builder-ALFPRSAR.mjs.map
597
+ //# sourceMappingURL=app-graph-builder-PIPBIN6P.mjs.map