@dxos/plugin-debug 0.8.4-main.e098934 → 0.8.4-main.e8ec1fe

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 (65) hide show
  1. package/dist/lib/browser/{DevtoolsOverviewContainer-EPD6EWT5.mjs → DevtoolsOverviewContainer-JXVZVPHN.mjs} +2 -2
  2. package/dist/lib/browser/{DevtoolsOverviewContainer-EPD6EWT5.mjs.map → DevtoolsOverviewContainer-JXVZVPHN.mjs.map} +1 -1
  3. package/dist/lib/browser/{SpaceGenerator-SRCIEELZ.mjs → SpaceGenerator-46TAISVE.mjs} +142 -90
  4. package/dist/lib/browser/SpaceGenerator-46TAISVE.mjs.map +7 -0
  5. package/dist/lib/browser/{app-graph-builder-JTIEFOWZ.mjs → app-graph-builder-CRH2HJKT.mjs} +60 -59
  6. package/dist/lib/browser/app-graph-builder-CRH2HJKT.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-AJA6RYN3.mjs → chunk-SRV2AIGJ.mjs} +2 -2
  8. package/dist/lib/browser/chunk-SRV2AIGJ.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-WZFZ4ESO.mjs +20 -0
  10. package/dist/lib/browser/chunk-WZFZ4ESO.mjs.map +7 -0
  11. package/dist/lib/browser/index.mjs +11 -14
  12. package/dist/lib/browser/index.mjs.map +3 -3
  13. package/dist/lib/browser/meta.json +1 -1
  14. package/dist/lib/browser/{react-context-NVAGLAJD.mjs → react-context-P2YDWEWI.mjs} +6 -6
  15. package/dist/lib/browser/react-context-P2YDWEWI.mjs.map +7 -0
  16. package/dist/lib/browser/{react-surface-HQPOGG33.mjs → react-surface-2SNVZDEA.mjs} +85 -84
  17. package/dist/lib/browser/react-surface-2SNVZDEA.mjs.map +7 -0
  18. package/dist/lib/browser/{settings-LSSWLM5I.mjs → settings-SQXR3OAH.mjs} +5 -5
  19. package/dist/lib/browser/{settings-LSSWLM5I.mjs.map → settings-SQXR3OAH.mjs.map} +1 -1
  20. package/dist/types/src/DebugPlugin.d.ts +1 -1
  21. package/dist/types/src/DebugPlugin.d.ts.map +1 -1
  22. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  23. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  24. package/dist/types/src/components/DebugObjectPanel.d.ts.map +1 -1
  25. package/dist/types/src/components/DebugSettings.d.ts.map +1 -1
  26. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts +2 -2
  27. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts.map +1 -1
  28. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.stories.d.ts +0 -1
  29. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.stories.d.ts.map +1 -1
  30. package/dist/types/src/components/SpaceGenerator/presets.d.ts +4 -4
  31. package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -1
  32. package/dist/types/src/components/Wireframe.d.ts +1 -1
  33. package/dist/types/src/components/Wireframe.d.ts.map +1 -1
  34. package/dist/types/src/meta.d.ts +0 -1
  35. package/dist/types/src/meta.d.ts.map +1 -1
  36. package/dist/types/src/translations.d.ts +1 -1
  37. package/dist/types/src/types.d.ts +1 -1
  38. package/dist/types/src/types.d.ts.map +1 -1
  39. package/dist/types/tsconfig.tsbuildinfo +1 -1
  40. package/package.json +67 -66
  41. package/src/DebugPlugin.tsx +5 -6
  42. package/src/capabilities/app-graph-builder.ts +59 -58
  43. package/src/capabilities/react-context.tsx +2 -2
  44. package/src/capabilities/react-surface.tsx +70 -50
  45. package/src/components/DebugObjectPanel.tsx +2 -4
  46. package/src/components/DebugSettings.tsx +39 -18
  47. package/src/components/DebugStatus.tsx +2 -2
  48. package/src/components/DevtoolsOverviewContainer.tsx +1 -1
  49. package/src/components/SpaceGenerator/ObjectGenerator.tsx +16 -22
  50. package/src/components/SpaceGenerator/SchemaTable.tsx +2 -2
  51. package/src/components/SpaceGenerator/SpaceGenerator.stories.tsx +3 -5
  52. package/src/components/SpaceGenerator/SpaceGenerator.tsx +6 -6
  53. package/src/components/SpaceGenerator/draw-util.ts +2 -2
  54. package/src/components/SpaceGenerator/presets.ts +124 -59
  55. package/src/components/Wireframe.tsx +2 -3
  56. package/src/meta.ts +6 -5
  57. package/src/translations.ts +1 -1
  58. package/src/types.ts +1 -1
  59. package/dist/lib/browser/SpaceGenerator-SRCIEELZ.mjs.map +0 -7
  60. package/dist/lib/browser/app-graph-builder-JTIEFOWZ.mjs.map +0 -7
  61. package/dist/lib/browser/chunk-5XPIRNQS.mjs +0 -18
  62. package/dist/lib/browser/chunk-5XPIRNQS.mjs.map +0 -7
  63. package/dist/lib/browser/chunk-AJA6RYN3.mjs.map +0 -7
  64. package/dist/lib/browser/react-context-NVAGLAJD.mjs.map +0 -7
  65. package/dist/lib/browser/react-surface-HQPOGG33.mjs.map +0 -7
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/SpaceGenerator/SpaceGenerator.tsx", "../../../src/components/SpaceGenerator/ObjectGenerator.tsx", "../../../src/components/SpaceGenerator/presets.ts", "../../../src/components/SpaceGenerator/SchemaTable.tsx", "../../../src/components/SpaceGenerator/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useMemo, useState } from 'react';\n\nimport { useIntentDispatcher } from '@dxos/app-framework/react';\nimport { ComputeGraph } from '@dxos/conductor';\nimport { Filter, type Obj } from '@dxos/echo';\nimport { Markdown } from '@dxos/plugin-markdown/types';\nimport { Sheet } from '@dxos/plugin-sheet/types';\nimport { Diagram } from '@dxos/plugin-sketch/types';\nimport { useClient } from '@dxos/react-client';\nimport { type Space, getTypename } from '@dxos/react-client/echo';\nimport { IconButton, Input, Toolbar, useAsyncEffect } from '@dxos/react-ui';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { Organization, Person, Task } from '@dxos/types';\nimport { jsonKeyReplacer, sortKeys } from '@dxos/util';\n\nimport { type ObjectGenerator, createGenerator, staticGenerators } from './ObjectGenerator';\nimport { generator } from './presets';\nimport { SchemaTable } from './SchemaTable';\n\nexport type SpaceGeneratorProps = {\n space: Space;\n onCreateObjects?: (objects: Obj.Any[]) => void;\n};\n\nexport const SpaceGenerator = ({ space, onCreateObjects }: SpaceGeneratorProps) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const client = useClient();\n const staticTypes = [Markdown.Document, Diagram.Diagram, Sheet.Sheet, ComputeGraph]; // TODO(burdon): Make extensible.\n const recordTypes = [Organization.Organization, Person.Person, Task.Task];\n const [count, setCount] = useState(1);\n const [info, setInfo] = useState<any>({});\n const presets = useMemo(() => generator(), []);\n\n // Create type generators.\n const typeMap = useMemo(() => {\n client.addTypes([...staticTypes, ...recordTypes, ...presets.schemas]);\n const recordGenerators = new Map<string, ObjectGenerator<any>>(\n recordTypes.map((type) => [type.typename, createGenerator(client, dispatch, type as any)]),\n );\n\n return new Map([...staticGenerators, ...presets.items, ...recordGenerators]);\n }, [client, recordTypes]);\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 return (\n <div role='none' className='flex flex-col grow overflow-hidden'>\n <Toolbar.Root classNames='border-be border-subduedSeparator'>\n <IconButton icon='ph--arrow-clockwise--regular' iconOnly label='Refresh' onClick={updateInfo} />\n <Toolbar.Separator variant='gap' />\n <Input.Root>\n <Input.TextInput\n type='number'\n min={1}\n max={100}\n placeholder={'Count'}\n classNames='!w-[4rem] !text-right'\n size={8}\n value={count}\n onChange={(ev) => setCount(parseInt(ev.target.value))}\n />\n </Input.Root>\n </Toolbar.Root>\n\n <div className='flex flex-col overflow-y-auto divide-y divide-separator'>\n <SchemaTable types={staticTypes} objects={info.objects} label='Static Types' onClick={handleCreateData} />\n <SchemaTable types={recordTypes} objects={info.objects} label='Record Types' onClick={handleCreateData} />\n <SchemaTable types={presets.types} objects={info.objects} label='Presets' onClick={handleCreateData} />\n\n <div>\n <SyntaxHighlighter language='json' classNames='text-xs'>\n {JSON.stringify({ space, ...info }, jsonKeyReplacer({ truncate: true }), 2)}\n </SyntaxHighlighter>\n </div>\n </div>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type PromiseIntentDispatcher, createIntent } from '@dxos/app-framework';\nimport { addressToA1Notation } from '@dxos/compute';\nimport { ComputeGraph, ComputeGraphModel, DEFAULT_OUTPUT, NODE_INPUT, NODE_OUTPUT } from '@dxos/conductor';\nimport { DXN, Filter, Key, type Obj, Type } from '@dxos/echo';\nimport { type TypedObject } from '@dxos/echo/internal';\nimport { Markdown } from '@dxos/plugin-markdown/types';\nimport { Sheet } from '@dxos/plugin-sheet/types';\nimport { Diagram } from '@dxos/plugin-sketch/types';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { faker } from '@dxos/random';\nimport { type Client } from '@dxos/react-client';\nimport { type Space } from '@dxos/react-client/echo';\nimport { View, getTypenameFromQuery } from '@dxos/schema';\nimport { type ValueGenerator, createAsyncGenerator } from '@dxos/schema/testing';\nimport { range } from '@dxos/util';\n\nconst generator: ValueGenerator = faker as any;\n\nconst findViewByTypename = async (views: View.View[], typename: string) => {\n return views.find((view) => getTypenameFromQuery(view.query.ast) === typename);\n};\n\nexport type ObjectGenerator<T extends Obj.Any> = (space: Space, n: number, cb?: (objects: T[]) => void) => Promise<T[]>;\n\nexport const createGenerator = <T extends Obj.Any>(\n client: Client,\n dispatch: PromiseIntentDispatcher,\n schema: TypedObject<T>,\n): ObjectGenerator<T> => {\n return async (space: Space, n: number): Promise<T[]> => {\n const typename = schema.typename;\n\n // Find or create table and view.\n const { objects: views } = await space.db.query(Filter.type(View.View)).run();\n const view = await findViewByTypename(views, typename);\n const staticSchema = client?.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename);\n if (!view && !staticSchema) {\n await dispatch(createIntent(SpaceAction.AddSchema, { space, schema, show: false }));\n } else if (!view && staticSchema) {\n await dispatch(createIntent(SpaceAction.UseStaticSchema, { space, typename, show: false }));\n }\n\n // Create objects.\n const generate = createAsyncGenerator(generator, schema, { db: space.db });\n return generate.createObjects(n);\n };\n};\n\nexport const staticGenerators = new Map<string, ObjectGenerator<any>>([\n [\n Markdown.Document.typename,\n async (space, n, cb) => {\n const objects = range(n).map(() => {\n return space.db.add(\n Markdown.make({\n name: faker.commerce.productName(),\n content: faker.lorem.sentences(5),\n }),\n );\n });\n\n cb?.(objects);\n return objects;\n },\n ],\n [\n Diagram.Diagram.typename,\n async (space, n, cb) => {\n const objects = range(n).map(() => {\n // TODO(burdon): Generate diagram.\n const obj = space.db.add(Diagram.make({ name: faker.commerce.productName() }));\n\n return obj;\n });\n\n cb?.(objects);\n return objects;\n },\n ],\n // TODO(burdon): Create unit tests.\n [\n Sheet.Sheet.typename,\n async (space, n, cb) => {\n const objects = range(n).map(() => {\n const cells: Record<string, Sheet.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 Sheet.make({\n name: faker.commerce.productName(),\n cells,\n }),\n );\n });\n\n cb?.(objects);\n return objects;\n },\n ],\n [\n ComputeGraph.typename,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const model = ComputeGraphModel.create();\n model.builder\n .createNode({ id: 'gpt-INPUT', type: NODE_INPUT })\n .createNode({ id: 'gpt-GPT', type: 'gpt' })\n .createNode({\n id: 'gpt-QUEUE_ID',\n type: 'constant',\n value: new DXN(DXN.kind.QUEUE, ['data', space.id, Key.ObjectId.random()]).toString(),\n })\n .createNode({ id: 'gpt-APPEND', type: 'append' })\n .createNode({ id: 'gpt-OUTPUT', type: NODE_OUTPUT })\n .createEdge({ node: 'gpt-INPUT', property: 'prompt' }, { node: 'gpt-GPT', property: 'prompt' })\n .createEdge({ node: 'gpt-GPT', property: 'text' }, { node: 'gpt-OUTPUT', property: 'text' })\n .createEdge({ node: 'gpt-QUEUE_ID', property: DEFAULT_OUTPUT }, { node: 'gpt-APPEND', property: 'id' })\n .createEdge({ node: 'gpt-GPT', property: 'messages' }, { node: 'gpt-APPEND', property: 'items' })\n .createEdge({ node: 'gpt-QUEUE_ID', property: DEFAULT_OUTPUT }, { node: 'gpt-OUTPUT', property: 'queue' });\n\n return space.db.add(model.root);\n });\n cb?.(objects);\n return objects;\n },\n ],\n]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Agent, EntityExtraction, ResearchBlueprint } from '@dxos/assistant-toolkit';\nimport { Prompt } from '@dxos/blueprints';\nimport { type ComputeGraphModel, NODE_INPUT } from '@dxos/conductor';\nimport { DXN, Filter, Key, Obj, Query, Ref, Tag, Type } from '@dxos/echo';\nimport { Trigger, serializeFunction } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { gmail } from '@dxos/plugin-inbox';\nimport { Mailbox } from '@dxos/plugin-inbox/types';\nimport { Markdown } from '@dxos/plugin-markdown/types';\nimport { 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 createRandom,\n createSurface,\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 { Collection, View } from '@dxos/schema';\nimport { Message, Organization, Person, Project } from '@dxos/types';\nimport { range, trim } from '@dxos/util';\n\nimport { type ObjectGenerator } from './ObjectGenerator';\n\nexport enum PresetName {\n DXOS_TEAM = 'dxos-team',\n ORG_RESEARCH_PROJECT = 'org-research-project',\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 TIMER_TICK_QUEUE = 'timerTick-queue',\n FOREX_FUNCTION_CALL = 'forex-function-call',\n DISCORD_MESSAGES = 'discord-messages',\n // KANBAN_QUEUE = 'kanban-queue',\n}\n\nexport const generator = () => ({\n schemas: [CanvasBoardType, Trigger.Trigger],\n types: Object.values(PresetName).map((name) => ({ typename: name })),\n items: [\n [\n PresetName.DXOS_TEAM,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const org = space.db.add(Obj.make(Organization.Organization, { name: 'DXOS', website: 'https://dxos.org' }));\n const doc = space.db.add(\n Markdown.make({\n name: 'DXOS Research',\n content: 'DXOS builds Composer, an open-source AI-powered malleable application.',\n }),\n );\n\n const tag = space.db.add(Tag.make({ label: 'Investor' }));\n const tagDxn = Obj.getDXN(tag).toString();\n Obj.getMeta(doc).tags = [tagDxn];\n\n // space.db.add(\n // Relation.make(HasSubject, {\n // [Relation.Source]: doc,\n // [Relation.Target]: org,\n // completedAt: new Date().toISOString(),\n // }),\n // );\n\n space.db.add(Obj.make(Person.Person, { fullName: 'Rich', organization: Ref.make(org) }, { tags: [tagDxn] }));\n space.db.add(Obj.make(Person.Person, { fullName: 'Josiah', organization: Ref.make(org) }));\n space.db.add(Obj.make(Person.Person, { fullName: 'Dima', organization: Ref.make(org) }));\n space.db.add(Obj.make(Person.Person, { fullName: 'Mykola', organization: Ref.make(org) }));\n\n return doc;\n });\n cb?.(objects);\n return objects;\n },\n ],\n [\n PresetName.ORG_RESEARCH_PROJECT,\n async (space, n, cb) => {\n const mailbox = await space.db.query(Filter.type(Mailbox.Mailbox)).first();\n const tag = await space.db.query(Filter.type(Tag.Tag, { label: 'Investor' })).first();\n const tagDxn = Obj.getDXN(tag).toString();\n\n const objects = range(n, () => {\n const contactsQuery = Query.select(Filter.type(Person.Person)).select(Filter.tag(tagDxn));\n const organizationsQuery = Query.select(Filter.type(Organization.Organization)).select(Filter.tag(tagDxn));\n const notesQuery = Query.select(Filter.type(Markdown.Document)).select(Filter.tag(tagDxn));\n\n space.db.add(\n Trigger.make({\n enabled: true,\n spec: {\n kind: 'timer',\n cron: '* * * * *', // Every minute.\n },\n function: Ref.make(serializeFunction(gmail.sync)),\n input: {\n mailboxId: Obj.getDXN(mailbox).toString(),\n },\n }),\n );\n\n space.db.add(\n Trigger.make({\n enabled: true,\n // TODO(wittjosiah): Queue trigger doesn't support matching query of the column.\n spec: {\n kind: 'queue',\n queue: mailbox.queue.dxn.toString(),\n },\n function: Ref.make(serializeFunction(EntityExtraction.extract)),\n input: {\n source: '{{event.item}}',\n },\n }),\n );\n\n const researchPrompt = space.db.add(\n Prompt.make({\n name: 'Research',\n description: 'Research organization',\n input: Schema.Struct({\n org: Schema.Any,\n }),\n output: Schema.Any,\n\n // TODO(dmaretskyi): This mocks research (returns pre-baked result), the actual research might take compute minutes.\n // Remove the mock prompt to do the actual research.\n instructions: trim`\n Research the organization provided as input.\n Create a research note for it at the end.\n NOTE: Do mocked reseach (set mockSearch to true).\n `,\n blueprints: [Ref.make(ResearchBlueprint)],\n }),\n );\n\n space.db.add(\n Trigger.make({\n enabled: true,\n spec: {\n kind: 'subscription',\n query: {\n ast: organizationsQuery.ast,\n },\n },\n function: Ref.make(serializeFunction(Agent.prompt)),\n input: {\n prompt: Ref.make(researchPrompt),\n input: '{{event.subject}}',\n },\n }),\n );\n\n const mailboxView = View.make({\n name: 'Mailbox',\n query: Query.select(\n Filter.type(Message.Message, { properties: { labels: Filter.contains('investor') } }),\n ).options({\n queues: [mailbox.queue.dxn.toString()],\n }),\n jsonSchema: Type.toJsonSchema(Message.Message),\n presentation: Obj.make(Collection.Collection, { objects: [] }),\n });\n const contactsView = View.make({\n name: 'Contacts',\n query: contactsQuery,\n jsonSchema: Type.toJsonSchema(Person.Person),\n presentation: Obj.make(Collection.Collection, { objects: [] }),\n });\n const organizationsView = View.make({\n name: 'Organizations',\n query: organizationsQuery,\n jsonSchema: Type.toJsonSchema(Organization.Organization),\n presentation: Obj.make(Collection.Collection, { objects: [] }),\n });\n const notesView = View.make({\n name: 'Notes',\n query: notesQuery,\n jsonSchema: Type.toJsonSchema(Markdown.Document),\n presentation: Obj.make(Collection.Collection, { objects: [] }),\n });\n\n return space.db.add(\n Project.make({\n name: 'Investor Research',\n collections: [mailboxView, contactsView, organizationsView, notesView].map((view) => Ref.make(view)),\n }),\n );\n });\n\n cb?.(objects.flat());\n return objects.flat();\n },\n ],\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: Trigger.Trigger | 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: '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 'subscription',\n (triggerSpec) =>\n (triggerSpec.query = {\n ast: Query.select(Filter.typename('dxos.org/type/Chess')).ast,\n }),\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 '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 // TODO(wittjosiah): Remove?\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: 'email',\n // ...position({ x: -18, y: -2 }),\n // });\n // const trigger = canvasModel.createNode(triggerShape);\n\n // const tableId = canvasModel.createNode(\n // createConstant({\n // value: DXN.fromLocalObjectId(emailTable.id).toString(),\n // ...position({ x: -18, y: 5, width: 8, height: 6 }),\n // }),\n // );\n\n // const appendToTable = canvasModel.createNode(createAppend(position({ x: 10, y: 6 })));\n\n // const properties = SchemaAST.getPropertySignatures(EmailTriggerOutput.ast);\n // for (let i = 0; i < properties.length; i++) {\n // const propName = properties[i].name.toString();\n // builder.createEdge({ source: trigger.id, target: template.id, input: propName, output: propName });\n // templateContent.push(` \"${propName}\": \"{{${propName}}}\"` + (i === properties.length - 1 ? '' : ','));\n // }\n // templateContent.push('}');\n\n // builder\n // .createEdge({ source: tableId.id, target: appendToTable.id, input: 'id' })\n // .createEdge({ source: template.id, target: appendToTable.id, input: 'items' });\n\n // functionTrigger = triggerShape.functionTrigger!.target!;\n // });\n\n // const computeModel = createComputeGraph(canvasModel);\n\n // const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);\n // invariant(templateComputeNode, 'Template compute node was not created.');\n // templateComputeNode.value = templateContent.join('\\n');\n // templateComputeNode.inputSchema = Type.toJsonSchema(EmailTriggerOutput);\n\n // attachTrigger(functionTrigger, computeModel);\n\n // return addToSpace(PresetName.EMAIL_TABLE, space, canvasModel, computeModel);\n // });\n // cb?.(objects);\n // return objects;\n // },\n // ],\n\n [\n PresetName.CHAT_GPT,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n canvasModel.builder.call((builder) => {\n const gpt = canvasModel.createNode(createGpt(position({ x: 0, y: -14 })));\n const chat = canvasModel.createNode(createChat(position({ x: -18, y: -2 })));\n const text = canvasModel.createNode(createText(position({ x: 19, y: 3, width: 10, height: 10 })));\n const { queueId } = setupQueue(space, canvasModel);\n\n const append = canvasModel.createNode(createAppend(position({ x: 10, y: 6 })));\n\n builder\n .createEdge({ source: chat.id, target: gpt.id, input: 'prompt' })\n .createEdge({ source: gpt.id, target: text.id, output: 'text' })\n .createEdge({ source: queueId.id, target: append.id, input: 'id' })\n .createEdge({ source: gpt.id, target: append.id, output: 'messages', input: 'items' });\n });\n\n const computeModel = createComputeGraph(canvasModel);\n\n return addToSpace(PresetName.CHAT_GPT, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n // TODO(wittjosiah): Remove?\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: 'email',\n // ...rawPosition({ centerX: -736, centerY: -384, width: 182, height: 192 }),\n // });\n // const trigger = canvasModel.createNode(triggerShape);\n\n // const { queueId } = setupQueue(space, canvasModel, {\n // idPosition: { centerX: -720, centerY: 224, width: 192, height: 256 },\n // queuePosition: { centerX: -144, centerY: 416, width: 320, height: 448 },\n // });\n // const appendToQueue = canvasModel.createNode(\n // createAppend(rawPosition({ centerX: -80, centerY: 96, width: 122, height: 128 })),\n // );\n\n // const tableId = canvasModel.createNode(\n // createConstant({\n // value: DXN.fromLocalObjectId(emailTable.id).toString(),\n // ...rawPosition({ centerX: -112, centerY: -544, width: 192, height: 256 }),\n // }),\n // );\n\n // const appendToTable = canvasModel.createNode(\n // createAppend(rawPosition({ centerX: 560, centerY: -416, width: 128, height: 122 })),\n // );\n\n // templateContent.push(' \"category\": \"{{text}}\",');\n // builder.createEdge({ source: gpt.id, target: template.id, input: 'text', output: 'text' });\n\n // const properties = SchemaAST.getPropertySignatures(EmailTriggerOutput.ast);\n // for (let i = 0; i < properties.length; i++) {\n // const propName = properties[i].name.toString();\n // builder.createEdge({ source: trigger.id, target: template.id, input: propName, output: propName });\n // templateContent.push(` \"${propName}\": \"{{${propName}}}\"` + (i === properties.length - 1 ? '' : ','));\n // }\n // templateContent.push('}');\n\n // builder\n // .createEdge({ source: tableId.id, target: appendToTable.id, input: 'id' })\n // .createEdge({ source: queueId.id, target: appendToQueue.id, input: 'id' })\n // .createEdge({ source: gpt.id, target: appendToQueue.id, output: 'messages', input: 'items' })\n // .createEdge({ source: systemPrompt.id, target: gpt.id, input: 'systemPrompt' })\n // .createEdge({ source: trigger.id, target: gpt.id, input: 'prompt', output: 'body' })\n // .createEdge({ source: template.id, target: appendToTable.id, input: 'items' });\n\n // functionTrigger = triggerShape.functionTrigger!.target!;\n // });\n\n // const computeModel = createComputeGraph(canvasModel);\n\n // const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);\n // invariant(templateComputeNode, 'Template compute node was not created.');\n // templateComputeNode.value = templateContent.join('\\n');\n // const extendedSchema = Schema.extend(EmailTriggerOutput, Schema.Struct({ text: Schema.String }));\n // templateComputeNode.inputSchema = Type.toJsonSchema(extendedSchema);\n\n // attachTrigger(functionTrigger, computeModel);\n\n // return addToSpace(PresetName.EMAIL_WITH_SUMMARY, space, canvasModel, computeModel);\n // });\n // cb?.(objects);\n // return objects;\n // },\n // ],\n\n [\n PresetName.FOREX_FUNCTION_CALL,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n canvasModel.builder.call((builder) => {\n const sourceCurrency = canvasModel.createNode(\n createConstant({ value: 'USD', ...position({ x: -10, y: -5 }) }),\n );\n const targetCurrency = canvasModel.createNode(\n createConstant({ value: 'EUR', ...position({ x: -10, y: 5 }) }),\n );\n const converter = canvasModel.createNode(createFunction(position({ x: 0, y: 0 })));\n const view = canvasModel.createNode(createSurface(position({ x: 12, y: 0 })));\n\n builder\n .createEdge({ source: sourceCurrency.id, target: converter.id, input: 'from' })\n .createEdge({ source: targetCurrency.id, target: converter.id, input: 'to' })\n .createEdge({ source: converter.id, target: view.id, output: 'rate' });\n });\n\n const computeModel = createComputeGraph(canvasModel);\n\n return addToSpace(PresetName.FOREX_FUNCTION_CALL, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n [\n PresetName.DISCORD_MESSAGES,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n let functionTrigger: Trigger.Trigger | undefined;\n canvasModel.builder.call((builder) => {\n const triggerShape = createTrigger({\n spaceId: space.id,\n triggerKind: 'timer',\n ...position({ x: -10, y: -5 }),\n });\n const trigger = canvasModel.createNode(triggerShape);\n // DXOS dev-null channel.\n const channelId = canvasModel.createNode(\n createConstant({ value: '1088569858767212554', ...position({ x: -10, y: 0 }) }),\n );\n const queueId = canvasModel.createNode(\n createConstant({\n value: new DXN(DXN.kind.QUEUE, ['data', space.id, Key.ObjectId.random()]).toString(),\n ...position({ x: -10, y: 5 }),\n }),\n );\n const converter = canvasModel.createNode(createFunction(position({ x: 0, y: 0 })));\n const view = canvasModel.createNode(createText(position({ x: 12, y: 0 })));\n const queue = canvasModel.createNode(createQueue(position({ x: 0, y: 12 })));\n\n builder\n .createEdge({ source: trigger.id, target: converter.id, input: 'tick' })\n .createEdge({ source: channelId.id, target: converter.id, input: 'channelId' })\n .createEdge({ source: queueId.id, target: converter.id, input: 'queueId' })\n .createEdge({ source: converter.id, target: view.id, output: 'newMessages' })\n .createEdge({ source: queueId.id, target: queue.id, input: 'input' });\n\n functionTrigger = triggerShape.functionTrigger!.target!;\n });\n\n const computeModel = createComputeGraph(canvasModel);\n attachTrigger(functionTrigger, computeModel);\n\n return addToSpace(PresetName.DISCORD_MESSAGES, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n // TODO(wittjosiah): Remove?\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: '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 Trigger.Kind>(\n space: Space,\n triggerKind: SpecType,\n initSpec: (spec: Extract<Trigger.Spec, { 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: Trigger.Trigger | undefined;\n canvasModel.builder.call((builder) => {\n const triggerShape = createTrigger({\n spaceId: space.id,\n triggerKind,\n ...rawPosition({ centerX: -578, centerY: -187, height: 320, width: 320 }),\n });\n const trigger = canvasModel.createNode(triggerShape);\n const { queueId } = setupQueue(space, canvasModel, {\n queuePosition: { centerX: -80, centerY: 378, width: 320, height: 448 },\n });\n const append = canvasModel.createNode(\n createAppend(rawPosition({ centerX: 320, centerY: 192, width: 128, height: 122 })),\n );\n const random = canvasModel.createNode(\n createRandom(rawPosition({ centerX: -509, centerY: -30, width: 64, height: 64 })),\n );\n\n builder\n .createEdge({ source: queueId.id, target: append.id, input: 'id' })\n .createEdge({ source: template.id, target: append.id, input: 'items' })\n .createEdge({ source: trigger.id, target: template.id, output: triggerOutputName, input: 'type' })\n .createEdge({\n source: random.id,\n target: template.id,\n input: 'changeId',\n });\n\n functionTrigger = triggerShape.functionTrigger!.target!;\n const triggerSpec = functionTrigger.spec;\n invariant(triggerSpec && triggerSpec.kind === triggerKind, 'No trigger spec.');\n initSpec(triggerSpec as any);\n });\n\n const computeModel = createComputeGraph(canvasModel);\n\n const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);\n invariant(templateComputeNode, 'Template compute node was not created.');\n templateComputeNode.value = ['{', ' \"@type\": \"{{type}}\",', ' \"id\": \"@{{changeId}}\"', '}'].join('\\n');\n templateComputeNode.inputSchema = Type.toJsonSchema(Schema.Struct({ type: Schema.String, changeId: Schema.String }));\n attachTrigger(functionTrigger, computeModel);\n\n return { canvasModel, computeModel };\n};\n\nconst addToSpace = (name: string, space: Space, canvas: CanvasGraphModel, compute: ComputeGraphModel) => {\n return space.db.add(\n Obj.make(CanvasBoardType, {\n name,\n computeGraph: Ref.make(compute.root),\n layout: canvas.graph,\n }),\n );\n};\n\nconst setupQueue = (\n space: Space,\n canvasModel: CanvasGraphModel,\n args?: { idPosition?: RawPositionInput; queuePosition?: RawPositionInput },\n) => {\n const queueId = canvasModel.createNode(\n createConstant({\n value: new DXN(DXN.kind.QUEUE, ['data', space.id, Key.ObjectId.random()]).toString(),\n ...(args?.idPosition ? rawPosition(args.idPosition) : position({ x: -18, y: 5, width: 8, height: 6 })),\n }),\n );\n const queue = canvasModel.createNode(\n createQueue(\n args?.queuePosition ? rawPosition(args.queuePosition) : position({ x: -3, y: 3, width: 14, height: 10 }),\n ),\n );\n canvasModel.createEdge({ source: queueId.id, target: queue.id });\n return { queue, queueId };\n};\n\nconst attachTrigger = (functionTrigger: Trigger.Trigger | 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 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { IconButton } from '@dxos/react-ui';\n\nexport type SchemaTableProps = {\n types: any[];\n objects?: Record<string, number | undefined>;\n label: string;\n onClick: (typename: string) => void;\n};\n\nexport const SchemaTable = ({ types, objects = {}, label, onClick }: SchemaTableProps) => {\n return (\n <div className='grid grid-cols-[1fr_80px_40px] gap-1 overflow-none'>\n <h2 className='p-2'>{label}</h2>\n {types.map((type) => (\n <div key={type.typename} className='grid grid-cols-subgrid col-span-3 items-center'>\n <div className='pli-2 text-sm font-mono text-subdued'>{type.typename}</div>\n <div className='pli-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 2023 DXOS.org\n//\n\nimport { SpaceGenerator } from './SpaceGenerator';\n\nexport default SpaceGenerator;\n"],
5
+ "mappings": ";;AAIA,OAAOA,UAASC,aAAaC,SAASC,gBAAgB;AAEtD,SAASC,2BAA2B;AACpC,SAASC,gBAAAA,qBAAoB;AAC7B,SAASC,UAAAA,eAAwB;AACjC,SAASC,YAAAA,iBAAgB;AACzB,SAASC,SAAAA,cAAa;AACtB,SAASC,WAAAA,gBAAe;AACxB,SAASC,iBAAiB;AAC1B,SAAqBC,mBAAmB;AACxC,SAASC,cAAAA,aAAYC,OAAOC,SAASC,sBAAsB;AAC3D,SAASC,yBAAyB;AAClC,SAASC,gBAAAA,eAAcC,UAAAA,SAAQC,YAAY;AAC3C,SAASC,iBAAiBC,gBAAgB;;;ACb1C,SAAuCC,oBAAoB;AAC3D,SAASC,2BAA2B;AACpC,SAASC,cAAcC,mBAAmBC,gBAAgBC,YAAYC,mBAAmB;AACzF,SAASC,KAAKC,QAAQC,KAAeC,YAAY;AAEjD,SAASC,gBAAgB;AACzB,SAASC,aAAa;AACtB,SAASC,eAAe;AACxB,SAASC,mBAAmB;AAC5B,SAASC,aAAa;AAGtB,SAASC,MAAMC,4BAA4B;AAC3C,SAA8BC,4BAA4B;AAC1D,SAASC,aAAa;AAEtB,IAAMC,YAA4BC;AAElC,IAAMC,qBAAqB,OAAOC,OAAoBC,aAAAA;AACpD,SAAOD,MAAME,KAAK,CAACC,SAASC,qBAAqBD,KAAKE,MAAMC,GAAG,MAAML,QAAAA;AACvE;AAIO,IAAMM,kBAAkB,CAC7BC,QACAC,UACAC,WAAAA;AAEA,SAAO,OAAOC,OAAcC,MAAAA;AAC1B,UAAMX,WAAWS,OAAOT;AAGxB,UAAM,EAAEY,SAASb,MAAK,IAAK,MAAMW,MAAMG,GAAGT,MAAMU,OAAOC,KAAKC,KAAKA,IAAI,CAAA,EAAGC,IAAG;AAC3E,UAAMf,OAAO,MAAMJ,mBAAmBC,OAAOC,QAAAA;AAC7C,UAAMkB,eAAeX,QAAQY,MAAMC,eAAeC,QAAQpB,KAAK,CAACQ,YAAWa,KAAKC,YAAYd,OAAAA,MAAYT,QAAAA;AACxG,QAAI,CAACE,QAAQ,CAACgB,cAAc;AAC1B,YAAMV,SAASgB,aAAaC,YAAYC,WAAW;QAAEhB;QAAOD;QAAQkB,MAAM;MAAM,CAAA,CAAA;IAClF,WAAW,CAACzB,QAAQgB,cAAc;AAChC,YAAMV,SAASgB,aAAaC,YAAYG,iBAAiB;QAAElB;QAAOV;QAAU2B,MAAM;MAAM,CAAA,CAAA;IAC1F;AAGA,UAAME,WAAWC,qBAAqBlC,WAAWa,QAAQ;MAAEI,IAAIH,MAAMG;IAAG,CAAA;AACxE,WAAOgB,SAASE,cAAcpB,CAAAA;EAChC;AACF;AAEO,IAAMqB,mBAAmB,oBAAIC,IAAkC;EACpE;IACEC,SAASC,SAASnC;IAClB,OAAOU,OAAOC,GAAGyB,OAAAA;AACf,YAAMxB,UAAUyB,MAAM1B,CAAAA,EAAG2B,IAAI,MAAA;AAC3B,eAAO5B,MAAMG,GAAG0B,IACdL,SAASM,KAAK;UACZC,MAAM5C,MAAM6C,SAASC,YAAW;UAChCC,SAAS/C,MAAMgD,MAAMC,UAAU,CAAA;QACjC,CAAA,CAAA;MAEJ,CAAA;AAEAV,WAAKxB,OAAAA;AACL,aAAOA;IACT;;EAEF;IACEmC,QAAQA,QAAQ/C;IAChB,OAAOU,OAAOC,GAAGyB,OAAAA;AACf,YAAMxB,UAAUyB,MAAM1B,CAAAA,EAAG2B,IAAI,MAAA;AAE3B,cAAMU,MAAMtC,MAAMG,GAAG0B,IAAIQ,QAAQP,KAAK;UAAEC,MAAM5C,MAAM6C,SAASC,YAAW;QAAG,CAAA,CAAA;AAE3E,eAAOK;MACT,CAAA;AAEAZ,WAAKxB,OAAAA;AACL,aAAOA;IACT;;;EAGF;IACEqC,MAAMA,MAAMjD;IACZ,OAAOU,OAAOC,GAAGyB,OAAAA;AACf,YAAMxB,UAAUyB,MAAM1B,CAAAA,EAAG2B,IAAI,MAAA;AAC3B,cAAMY,QAAyC,CAAC;AAChD,cAAMC,QAAO,oBAAIC,KAAAA,GAAOC,YAAW;AACnC,cAAMC,OAAO;AACb,cAAMC,OAAO;AACb,iBAASC,MAAM,GAAGA,OAAOF,MAAME,OAAO;AACpC,mBAASC,MAAM,GAAGA,OAAOF,MAAME,OAAO;AACpC,kBAAMC,OAAOC,oBAAoB;cAAEH;cAAKC;YAAI,CAAA;AAC5C,gBAAIA,QAAQ,GAAG;AACbP,oBAAMQ,IAAAA,IAAQ;gBAAEE,OAAO,GAAGT,IAAAA,KAASK,GAAAA;cAAM;YAC3C,WAAWC,QAAQF,MAAM;AACvB,oBAAMM,OAAOF,oBAAoB;gBAAEH;gBAAKC,KAAK;cAAE,CAAA;AAC/C,oBAAMK,KAAKH,oBAAoB;gBAAEH;gBAAKC,KAAKF,OAAO;cAAE,CAAA;AACpDL,oBAAMQ,IAAAA,IAAQ;gBAAEE,OAAO,QAAQC,IAAAA,IAAQC,EAAAA;cAAM;YAC/C,WAAWL,MAAM,KAAKA,MAAMF,OAAO,GAAG;AACpCL,oBAAMQ,IAAAA,IAAQ;gBAAEE,OAAOG,KAAKC,MAAMD,KAAKE,OAAM,IAAK,GAAA;cAAQ;YAC5D;UACF;QACF;AAIA,eAAOvD,MAAMG,GAAG0B,IACdU,MAAMT,KAAK;UACTC,MAAM5C,MAAM6C,SAASC,YAAW;UAChCO;QACF,CAAA,CAAA;MAEJ,CAAA;AAEAd,WAAKxB,OAAAA;AACL,aAAOA;IACT;;EAEF;IACEsD,aAAalE;IACb,OAAOU,OAAOC,GAAGyB,OAAAA;AACf,YAAMxB,UAAUyB,MAAM1B,GAAG,MAAA;AACvB,cAAMwD,QAAQC,kBAAkBC,OAAM;AACtCF,cAAMG,QACHC,WAAW;UAAEC,IAAI;UAAazD,MAAM0D;QAAW,CAAA,EAC/CF,WAAW;UAAEC,IAAI;UAAWzD,MAAM;QAAM,CAAA,EACxCwD,WAAW;UACVC,IAAI;UACJzD,MAAM;UACN6C,OAAO,IAAIc,IAAIA,IAAIC,KAAKC,OAAO;YAAC;YAAQlE,MAAM8D;YAAIK,IAAIC,SAASb,OAAM;WAAG,EAAEc,SAAQ;QACpF,CAAA,EACCR,WAAW;UAAEC,IAAI;UAAczD,MAAM;QAAS,CAAA,EAC9CwD,WAAW;UAAEC,IAAI;UAAczD,MAAMiE;QAAY,CAAA,EACjDC,WAAW;UAAEC,MAAM;UAAaC,UAAU;QAAS,GAAG;UAAED,MAAM;UAAWC,UAAU;QAAS,CAAA,EAC5FF,WAAW;UAAEC,MAAM;UAAWC,UAAU;QAAO,GAAG;UAAED,MAAM;UAAcC,UAAU;QAAO,CAAA,EACzFF,WAAW;UAAEC,MAAM;UAAgBC,UAAUC;QAAe,GAAG;UAAEF,MAAM;UAAcC,UAAU;QAAK,CAAA,EACpGF,WAAW;UAAEC,MAAM;UAAWC,UAAU;QAAW,GAAG;UAAED,MAAM;UAAcC,UAAU;QAAQ,CAAA,EAC9FF,WAAW;UAAEC,MAAM;UAAgBC,UAAUC;QAAe,GAAG;UAAEF,MAAM;UAAcC,UAAU;QAAQ,CAAA;AAE1G,eAAOzE,MAAMG,GAAG0B,IAAI4B,MAAMkB,IAAI;MAChC,CAAA;AACAjD,WAAKxB,OAAAA;AACL,aAAOA;IACT;;CAEH;;;AChJD,YAAY0E,YAAY;AAExB,SAASC,OAAOC,kBAAkBC,yBAAyB;AAC3D,SAASC,cAAc;AACvB,SAAiCC,cAAAA,mBAAkB;AACnD,SAASC,OAAAA,MAAKC,UAAAA,SAAQC,OAAAA,MAAKC,KAAKC,OAAOC,KAAKC,KAAKC,QAAAA,aAAY;AAC7D,SAASC,SAASC,yBAAyB;AAC3C,SAASC,iBAAiB;AAC1B,SAASC,aAAa;AACtB,SAASC,eAAe;AACxB,SAASC,YAAAA,iBAAgB;AAEzB,SAEEC,cACAC,YACAC,oBACAC,gBACAC,gBACAC,WACAC,aACAC,cACAC,eACAC,gBACAC,YACAC,qBACK;AACP,SACEC,iBACAC,kBACAC,eACAC,cACAC,oBACK;AACP,SAASC,YAAYC,QAAAA,aAAY;AACjC,SAASC,SAASC,cAAcC,QAAQC,eAAe;AACvD,SAASC,SAAAA,QAAOC,YAAY;;AAIrB,IAAKC,aAAAA,0BAAAA,aAAAA;;;;;;;;;SAAAA;;AAcL,IAAMC,aAAY,OAAO;EAC9BC,SAAS;IAACf;IAAiBlB,QAAQA;;EACnCkC,OAAOC,OAAOC,OAAOL,UAAAA,EAAYM,IAAI,CAACC,UAAU;IAAEC,UAAUD;EAAK,EAAA;EACjEE,OAAO;IACL;;MAEE,OAAOC,OAAOC,GAAGC,OAAAA;AACf,cAAMC,UAAUf,OAAMa,GAAG,MAAA;AACvB,gBAAMG,MAAMJ,MAAMK,GAAGC,IAAIpD,IAAIqD,KAAKtB,aAAaA,cAAc;YAAEY,MAAM;YAAQW,SAAS;UAAmB,CAAA,CAAA;AACzG,gBAAMC,MAAMT,MAAMK,GAAGC,IACnB1C,UAAS2C,KAAK;YACZV,MAAM;YACNa,SAAS;UACX,CAAA,CAAA;AAGF,gBAAMC,MAAMX,MAAMK,GAAGC,IAAIjD,IAAIkD,KAAK;YAAEK,OAAO;UAAW,CAAA,CAAA;AACtD,gBAAMC,SAAS3D,IAAI4D,OAAOH,GAAAA,EAAKI,SAAQ;AACvC7D,cAAI8D,QAAQP,GAAAA,EAAKQ,OAAO;YAACJ;;AAUzBb,gBAAMK,GAAGC,IAAIpD,IAAIqD,KAAKrB,OAAOA,QAAQ;YAAEgC,UAAU;YAAQC,cAAc/D,IAAImD,KAAKH,GAAAA;UAAK,GAAG;YAAEa,MAAM;cAACJ;;UAAQ,CAAA,CAAA;AACzGb,gBAAMK,GAAGC,IAAIpD,IAAIqD,KAAKrB,OAAOA,QAAQ;YAAEgC,UAAU;YAAUC,cAAc/D,IAAImD,KAAKH,GAAAA;UAAK,CAAA,CAAA;AACvFJ,gBAAMK,GAAGC,IAAIpD,IAAIqD,KAAKrB,OAAOA,QAAQ;YAAEgC,UAAU;YAAQC,cAAc/D,IAAImD,KAAKH,GAAAA;UAAK,CAAA,CAAA;AACrFJ,gBAAMK,GAAGC,IAAIpD,IAAIqD,KAAKrB,OAAOA,QAAQ;YAAEgC,UAAU;YAAUC,cAAc/D,IAAImD,KAAKH,GAAAA;UAAK,CAAA,CAAA;AAEvF,iBAAOK;QACT,CAAA;AACAP,aAAKC,OAAAA;AACL,eAAOA;MACT;;IAEF;;MAEE,OAAOH,OAAOC,GAAGC,OAAAA;AACf,cAAMkB,UAAU,MAAMpB,MAAMK,GAAGgB,MAAMrE,QAAOsE,KAAK3D,QAAQA,OAAO,CAAA,EAAG4D,MAAK;AACxE,cAAMZ,MAAM,MAAMX,MAAMK,GAAGgB,MAAMrE,QAAOsE,KAAKjE,IAAIA,KAAK;UAAEuD,OAAO;QAAW,CAAA,CAAA,EAAIW,MAAK;AACnF,cAAMV,SAAS3D,IAAI4D,OAAOH,GAAAA,EAAKI,SAAQ;AAEvC,cAAMZ,UAAUf,OAAMa,GAAG,MAAA;AACvB,gBAAMuB,gBAAgBrE,MAAMsE,OAAOzE,QAAOsE,KAAKpC,OAAOA,MAAM,CAAA,EAAGuC,OAAOzE,QAAO2D,IAAIE,MAAAA,CAAAA;AACjF,gBAAMa,qBAAqBvE,MAAMsE,OAAOzE,QAAOsE,KAAKrC,aAAaA,YAAY,CAAA,EAAGwC,OAAOzE,QAAO2D,IAAIE,MAAAA,CAAAA;AAClG,gBAAMc,aAAaxE,MAAMsE,OAAOzE,QAAOsE,KAAK1D,UAASgE,QAAQ,CAAA,EAAGH,OAAOzE,QAAO2D,IAAIE,MAAAA,CAAAA;AAElFb,gBAAMK,GAAGC,IACP/C,QAAQgD,KAAK;YACXsB,SAAS;YACTC,MAAM;cACJC,MAAM;cACNC,MAAM;YACR;YACAC,UAAU7E,IAAImD,KAAK/C,kBAAkBE,MAAMwE,IAAI,CAAA;YAC/CC,OAAO;cACLC,WAAWlF,IAAI4D,OAAOM,OAAAA,EAASL,SAAQ;YACzC;UACF,CAAA,CAAA;AAGFf,gBAAMK,GAAGC,IACP/C,QAAQgD,KAAK;YACXsB,SAAS;;YAETC,MAAM;cACJC,MAAM;cACNM,OAAOjB,QAAQiB,MAAMC,IAAIvB,SAAQ;YACnC;YACAkB,UAAU7E,IAAImD,KAAK/C,kBAAkBb,iBAAiB4F,OAAO,CAAA;YAC7DJ,OAAO;cACLK,QAAQ;YACV;UACF,CAAA,CAAA;AAGF,gBAAMC,iBAAiBzC,MAAMK,GAAGC,IAC9BzD,OAAO0D,KAAK;YACVV,MAAM;YACN6C,aAAa;YACbP,OAAcQ,cAAO;cACnBvC,KAAYwC;YACd,CAAA;YACAC,QAAeD;;;YAIfE,cAAczD;;;;;YAKd0D,YAAY;cAAC3F,IAAImD,KAAK3D,iBAAAA;;UACxB,CAAA,CAAA;AAGFoD,gBAAMK,GAAGC,IACP/C,QAAQgD,KAAK;YACXsB,SAAS;YACTC,MAAM;cACJC,MAAM;cACNV,OAAO;gBACL2B,KAAKtB,mBAAmBsB;cAC1B;YACF;YACAf,UAAU7E,IAAImD,KAAK/C,kBAAkBd,MAAMuG,MAAM,CAAA;YACjDd,OAAO;cACLc,QAAQ7F,IAAImD,KAAKkC,cAAAA;cACjBN,OAAO;YACT;UACF,CAAA,CAAA;AAGF,gBAAMe,cAAcnE,MAAKwB,KAAK;YAC5BV,MAAM;YACNwB,OAAOlE,MAAMsE,OACXzE,QAAOsE,KAAKtC,QAAQA,SAAS;cAAEmE,YAAY;gBAAEC,QAAQpG,QAAOqG,SAAS,UAAA;cAAY;YAAE,CAAA,CAAA,EACnFC,QAAQ;cACRC,QAAQ;gBAACnC,QAAQiB,MAAMC,IAAIvB,SAAQ;;YACrC,CAAA;YACAyC,YAAYlG,MAAKmG,aAAazE,QAAQA,OAAO;YAC7C0E,cAAcxG,IAAIqD,KAAKzB,WAAWA,YAAY;cAAEqB,SAAS,CAAA;YAAG,CAAA;UAC9D,CAAA;AACA,gBAAMwD,eAAe5E,MAAKwB,KAAK;YAC7BV,MAAM;YACNwB,OAAOG;YACPgC,YAAYlG,MAAKmG,aAAavE,OAAOA,MAAM;YAC3CwE,cAAcxG,IAAIqD,KAAKzB,WAAWA,YAAY;cAAEqB,SAAS,CAAA;YAAG,CAAA;UAC9D,CAAA;AACA,gBAAMyD,oBAAoB7E,MAAKwB,KAAK;YAClCV,MAAM;YACNwB,OAAOK;YACP8B,YAAYlG,MAAKmG,aAAaxE,aAAaA,YAAY;YACvDyE,cAAcxG,IAAIqD,KAAKzB,WAAWA,YAAY;cAAEqB,SAAS,CAAA;YAAG,CAAA;UAC9D,CAAA;AACA,gBAAM0D,YAAY9E,MAAKwB,KAAK;YAC1BV,MAAM;YACNwB,OAAOM;YACP6B,YAAYlG,MAAKmG,aAAa7F,UAASgE,QAAQ;YAC/C8B,cAAcxG,IAAIqD,KAAKzB,WAAWA,YAAY;cAAEqB,SAAS,CAAA;YAAG,CAAA;UAC9D,CAAA;AAEA,iBAAOH,MAAMK,GAAGC,IACdnB,QAAQoB,KAAK;YACXV,MAAM;YACNiE,aAAa;cAACZ;cAAaS;cAAcC;cAAmBC;cAAWjE,IAAI,CAACmE,SAAS3G,IAAImD,KAAKwD,IAAAA,CAAAA;UAChG,CAAA,CAAA;QAEJ,CAAA;AAEA7D,aAAKC,QAAQ6D,KAAI,CAAA;AACjB,eAAO7D,QAAQ6D,KAAI;MACrB;;IAEF;;MAEE,OAAOhE,OAAOC,GAAGC,OAAAA;AACf,cAAMC,UAAUf,OAAMa,GAAG,MAAA;AACvB,gBAAMgE,cAAcvF,iBAAiBwF,OAAM;AAE3C,cAAIC;AACJF,sBAAYG,QAAQC,KAAK,CAACD,YAAAA;AACxB,kBAAME,MAAML,YAAYM,WAAWrG,UAAUsG,SAAS;cAAEC,GAAG;cAAGC,GAAG;YAAI,CAAA,CAAA,CAAA;AACrE,kBAAMC,eAAenG,cAAc;cACjCoG,SAAS5E,MAAM6E;cACfC,aAAa;cACb,GAAGN,SAAS;gBAAEC,GAAG;gBAAKC,GAAG;cAAG,CAAA;YAC9B,CAAA;AACA,kBAAMK,UAAUd,YAAYM,WAAWI,YAAAA;AACvC,kBAAMK,OAAOf,YAAYM,WAAWhG,WAAWiG,SAAS;cAAEC,GAAG;cAAIC,GAAG;cAAGO,OAAO;cAAIC,QAAQ;YAAG,CAAA,CAAA,CAAA;AAC7F,kBAAM,EAAEC,QAAO,IAAKC,WAAWpF,OAAOiE,WAAAA;AACtC,kBAAMoB,SAASpB,YAAYM,WAAW1G,aAAa2G,SAAS;cAAEC,GAAG;cAAIC,GAAG;YAAE,CAAA,CAAA,CAAA;AAE1EN,oBACGkB,WAAW;cAAE9C,QAAQuC,QAAQF;cAAIU,QAAQjB,IAAIO;cAAI1C,OAAO;cAAUU,QAAQ;YAAW,CAAA,EACrFyC,WAAW;cAAE9C,QAAQ8B,IAAIO;cAAIU,QAAQP,KAAKH;cAAIhC,QAAQ;YAAO,CAAA,EAC7DyC,WAAW;cAAE9C,QAAQ2C,QAAQN;cAAIU,QAAQF,OAAOR;cAAI1C,OAAO;YAAK,CAAA,EAChEmD,WAAW;cAAE9C,QAAQ8B,IAAIO;cAAIU,QAAQF,OAAOR;cAAIhC,QAAQ;cAAYV,OAAO;YAAQ,CAAA;AAEtFgC,8BAAkBQ,aAAaR,gBAAiBoB;UAClD,CAAA;AAEA,gBAAMC,eAAezH,mBAAmBkG,WAAAA;AAExCwB,wBAActB,iBAAiBqB,YAAAA;AAE/B,iBAAOE,WAAAA,qBAAiC1F,OAAOiE,aAAauB,YAAAA;QAC9D,CAAA;AACAtF,aAAKC,OAAAA;AACL,eAAOA;MACT;;IAGF;;MAEE,OAAOH,OAAOC,GAAGC,OAAAA;AACf,cAAMC,UAAUf,OAAMa,GAAG,MAAA;AACvB,gBAAM,EAAEgE,aAAauB,aAAY,IAAKG,sBACpC3F,OACA,gBACA,CAAC4F,gBACEA,YAAYvE,QAAQ;YACnB2B,KAAK7F,MAAMsE,OAAOzE,QAAO8C,SAAS,qBAAA,CAAA,EAAwBkD;UAC5D,GACF,MAAA;AAEF,iBAAO0C,WAAAA,sBAA2C1F,OAAOiE,aAAauB,YAAAA;QACxE,CAAA;AACAtF,aAAKC,OAAAA;AACL,eAAOA;MACT;;IAGF;;MAEE,OAAOH,OAAOC,GAAGC,OAAAA;AACf,cAAMC,UAAUf,OAAMa,GAAG,MAAA;AACvB,gBAAM,EAAEgE,aAAauB,aAAY,IAAKG,sBACpC3F,OACA,SACA,CAAC4F,gBAAiBA,YAAY5D,OAAO,iBACrC,QAAA;AAEF,iBAAO0D,WAAAA,mBAAwC1F,OAAOiE,aAAauB,YAAAA;QACrE,CAAA;AACAtF,aAAKC,OAAAA;AACL,eAAOA;MACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuEF;;MAEE,OAAOH,OAAOC,GAAGC,OAAAA;AACf,cAAMC,UAAUf,OAAMa,GAAG,MAAA;AACvB,gBAAMgE,cAAcvF,iBAAiBwF,OAAM;AAE3CD,sBAAYG,QAAQC,KAAK,CAACD,YAAAA;AACxB,kBAAME,MAAML,YAAYM,WAAWrG,UAAUsG,SAAS;cAAEC,GAAG;cAAGC,GAAG;YAAI,CAAA,CAAA,CAAA;AACrE,kBAAMmB,OAAO5B,YAAYM,WAAWzG,WAAW0G,SAAS;cAAEC,GAAG;cAAKC,GAAG;YAAG,CAAA,CAAA,CAAA;AACxE,kBAAMM,OAAOf,YAAYM,WAAWhG,WAAWiG,SAAS;cAAEC,GAAG;cAAIC,GAAG;cAAGO,OAAO;cAAIC,QAAQ;YAAG,CAAA,CAAA,CAAA;AAC7F,kBAAM,EAAEC,QAAO,IAAKC,WAAWpF,OAAOiE,WAAAA;AAEtC,kBAAMoB,SAASpB,YAAYM,WAAW1G,aAAa2G,SAAS;cAAEC,GAAG;cAAIC,GAAG;YAAE,CAAA,CAAA,CAAA;AAE1EN,oBACGkB,WAAW;cAAE9C,QAAQqD,KAAKhB;cAAIU,QAAQjB,IAAIO;cAAI1C,OAAO;YAAS,CAAA,EAC9DmD,WAAW;cAAE9C,QAAQ8B,IAAIO;cAAIU,QAAQP,KAAKH;cAAIhC,QAAQ;YAAO,CAAA,EAC7DyC,WAAW;cAAE9C,QAAQ2C,QAAQN;cAAIU,QAAQF,OAAOR;cAAI1C,OAAO;YAAK,CAAA,EAChEmD,WAAW;cAAE9C,QAAQ8B,IAAIO;cAAIU,QAAQF,OAAOR;cAAIhC,QAAQ;cAAYV,OAAO;YAAQ,CAAA;UACxF,CAAA;AAEA,gBAAMqD,eAAezH,mBAAmBkG,WAAAA;AAExC,iBAAOyB,WAAAA,iBAAgC1F,OAAOiE,aAAauB,YAAAA;QAC7D,CAAA;AACAtF,aAAKC,OAAAA;AACL,eAAOA;MACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkGF;;MAEE,OAAOH,OAAOC,GAAGC,OAAAA;AACf,cAAMC,UAAUf,OAAMa,GAAG,MAAA;AACvB,gBAAMgE,cAAcvF,iBAAiBwF,OAAM;AAE3CD,sBAAYG,QAAQC,KAAK,CAACD,YAAAA;AACxB,kBAAM0B,iBAAiB7B,YAAYM,WACjCvG,eAAe;cAAE+H,OAAO;cAAO,GAAGvB,SAAS;gBAAEC,GAAG;gBAAKC,GAAG;cAAG,CAAA;YAAG,CAAA,CAAA;AAEhE,kBAAMsB,iBAAiB/B,YAAYM,WACjCvG,eAAe;cAAE+H,OAAO;cAAO,GAAGvB,SAAS;gBAAEC,GAAG;gBAAKC,GAAG;cAAE,CAAA;YAAG,CAAA,CAAA;AAE/D,kBAAMuB,YAAYhC,YAAYM,WAAWtG,eAAeuG,SAAS;cAAEC,GAAG;cAAGC,GAAG;YAAE,CAAA,CAAA,CAAA;AAC9E,kBAAMX,OAAOE,YAAYM,WAAWlG,cAAcmG,SAAS;cAAEC,GAAG;cAAIC,GAAG;YAAE,CAAA,CAAA,CAAA;AAEzEN,oBACGkB,WAAW;cAAE9C,QAAQsD,eAAejB;cAAIU,QAAQU,UAAUpB;cAAI1C,OAAO;YAAO,CAAA,EAC5EmD,WAAW;cAAE9C,QAAQwD,eAAenB;cAAIU,QAAQU,UAAUpB;cAAI1C,OAAO;YAAK,CAAA,EAC1EmD,WAAW;cAAE9C,QAAQyD,UAAUpB;cAAIU,QAAQxB,KAAKc;cAAIhC,QAAQ;YAAO,CAAA;UACxE,CAAA;AAEA,gBAAM2C,eAAezH,mBAAmBkG,WAAAA;AAExC,iBAAOyB,WAAAA,uBAA2C1F,OAAOiE,aAAauB,YAAAA;QACxE,CAAA;AACAtF,aAAKC,OAAAA;AACL,eAAOA;MACT;;IAGF;;MAEE,OAAOH,OAAOC,GAAGC,OAAAA;AACf,cAAMC,UAAUf,OAAMa,GAAG,MAAA;AACvB,gBAAMgE,cAAcvF,iBAAiBwF,OAAM;AAE3C,cAAIC;AACJF,sBAAYG,QAAQC,KAAK,CAACD,YAAAA;AACxB,kBAAMO,eAAenG,cAAc;cACjCoG,SAAS5E,MAAM6E;cACfC,aAAa;cACb,GAAGN,SAAS;gBAAEC,GAAG;gBAAKC,GAAG;cAAG,CAAA;YAC9B,CAAA;AACA,kBAAMK,UAAUd,YAAYM,WAAWI,YAAAA;AAEvC,kBAAMuB,YAAYjC,YAAYM,WAC5BvG,eAAe;cAAE+H,OAAO;cAAuB,GAAGvB,SAAS;gBAAEC,GAAG;gBAAKC,GAAG;cAAE,CAAA;YAAG,CAAA,CAAA;AAE/E,kBAAMS,UAAUlB,YAAYM,WAC1BvG,eAAe;cACb+H,OAAO,IAAIhJ,KAAIA,KAAIgF,KAAKoE,OAAO;gBAAC;gBAAQnG,MAAM6E;gBAAI5H,KAAImJ,SAASC,OAAM;eAAG,EAAEtF,SAAQ;cAClF,GAAGyD,SAAS;gBAAEC,GAAG;gBAAKC,GAAG;cAAE,CAAA;YAC7B,CAAA,CAAA;AAEF,kBAAMuB,YAAYhC,YAAYM,WAAWtG,eAAeuG,SAAS;cAAEC,GAAG;cAAGC,GAAG;YAAE,CAAA,CAAA,CAAA;AAC9E,kBAAMX,OAAOE,YAAYM,WAAWhG,WAAWiG,SAAS;cAAEC,GAAG;cAAIC,GAAG;YAAE,CAAA,CAAA,CAAA;AACtE,kBAAMrC,QAAQ4B,YAAYM,WAAWpG,YAAYqG,SAAS;cAAEC,GAAG;cAAGC,GAAG;YAAG,CAAA,CAAA,CAAA;AAExEN,oBACGkB,WAAW;cAAE9C,QAAQuC,QAAQF;cAAIU,QAAQU,UAAUpB;cAAI1C,OAAO;YAAO,CAAA,EACrEmD,WAAW;cAAE9C,QAAQ0D,UAAUrB;cAAIU,QAAQU,UAAUpB;cAAI1C,OAAO;YAAY,CAAA,EAC5EmD,WAAW;cAAE9C,QAAQ2C,QAAQN;cAAIU,QAAQU,UAAUpB;cAAI1C,OAAO;YAAU,CAAA,EACxEmD,WAAW;cAAE9C,QAAQyD,UAAUpB;cAAIU,QAAQxB,KAAKc;cAAIhC,QAAQ;YAAc,CAAA,EAC1EyC,WAAW;cAAE9C,QAAQ2C,QAAQN;cAAIU,QAAQlD,MAAMwC;cAAI1C,OAAO;YAAQ,CAAA;AAErEgC,8BAAkBQ,aAAaR,gBAAiBoB;UAClD,CAAA;AAEA,gBAAMC,eAAezH,mBAAmBkG,WAAAA;AACxCwB,wBAActB,iBAAiBqB,YAAAA;AAE/B,iBAAOE,WAAAA,oBAAwC1F,OAAOiE,aAAauB,YAAAA;QACrE,CAAA;AACAtF,aAAKC,OAAAA;AACL,eAAOA;MACT;;;AAqDN;AAEA,IAAMwF,wBAAwB,CAC5B3F,OACA8E,aACAwB,UACAC,sBAAAA;AAEA,QAAMtC,cAAcvF,iBAAiBwF,OAAM;AAE3C,QAAMsC,WAAWvC,YAAYM,WAC3BjG,eAAe;IACbmI,WAAW;IACX,GAAGC,YAAY;MAAEC,SAAS;MAAKC,SAAS;MAAK3B,OAAO;MAAKC,QAAQ;IAAI,CAAA;EACvE,CAAA,CAAA;AAGF,MAAIf;AACJF,cAAYG,QAAQC,KAAK,CAACD,YAAAA;AACxB,UAAMO,eAAenG,cAAc;MACjCoG,SAAS5E,MAAM6E;MACfC;MACA,GAAG4B,YAAY;QAAEC,SAAS;QAAMC,SAAS;QAAM1B,QAAQ;QAAKD,OAAO;MAAI,CAAA;IACzE,CAAA;AACA,UAAMF,UAAUd,YAAYM,WAAWI,YAAAA;AACvC,UAAM,EAAEQ,QAAO,IAAKC,WAAWpF,OAAOiE,aAAa;MACjD4C,eAAe;QAAEF,SAAS;QAAKC,SAAS;QAAK3B,OAAO;QAAKC,QAAQ;MAAI;IACvE,CAAA;AACA,UAAMG,SAASpB,YAAYM,WACzB1G,aAAa6I,YAAY;MAAEC,SAAS;MAAKC,SAAS;MAAK3B,OAAO;MAAKC,QAAQ;IAAI,CAAA,CAAA,CAAA;AAEjF,UAAMmB,SAASpC,YAAYM,WACzBnG,aAAasI,YAAY;MAAEC,SAAS;MAAMC,SAAS;MAAK3B,OAAO;MAAIC,QAAQ;IAAG,CAAA,CAAA,CAAA;AAGhFd,YACGkB,WAAW;MAAE9C,QAAQ2C,QAAQN;MAAIU,QAAQF,OAAOR;MAAI1C,OAAO;IAAK,CAAA,EAChEmD,WAAW;MAAE9C,QAAQgE,SAAS3B;MAAIU,QAAQF,OAAOR;MAAI1C,OAAO;IAAQ,CAAA,EACpEmD,WAAW;MAAE9C,QAAQuC,QAAQF;MAAIU,QAAQiB,SAAS3B;MAAIhC,QAAQ0D;MAAmBpE,OAAO;IAAO,CAAA,EAC/FmD,WAAW;MACV9C,QAAQ6D,OAAOxB;MACfU,QAAQiB,SAAS3B;MACjB1C,OAAO;IACT,CAAA;AAEFgC,sBAAkBQ,aAAaR,gBAAiBoB;AAChD,UAAMK,cAAczB,gBAAgBrC;AACpCrE,cAAUmI,eAAeA,YAAY7D,SAAS+C,aAAa,oBAAA;;;;;;;;;AAC3DwB,aAASV,WAAAA;EACX,CAAA;AAEA,QAAMJ,eAAezH,mBAAmBkG,WAAAA;AAExC,QAAM6C,sBAAsBtB,aAAauB,MAAMC,KAAK,CAAC/G,MAAMA,EAAE4E,OAAO2B,SAASS,IAAI;AACjFxJ,YAAUqJ,qBAAqB,0CAAA;;;;;;;;;AAC/BA,sBAAoBf,QAAQ;IAAC;IAAK;IAA0B;IAA2B;IAAKmB,KAAK,IAAA;AACjGJ,sBAAoBK,cAAc7J,MAAKmG,aAAoBd,cAAO;IAAErB,MAAa8F;IAAQC,UAAiBD;EAAO,CAAA,CAAA;AACjH3B,gBAActB,iBAAiBqB,YAAAA;AAE/B,SAAO;IAAEvB;IAAauB;EAAa;AACrC;AAEA,IAAME,aAAa,CAAC7F,MAAcG,OAAcsH,QAA0BC,YAAAA;AACxE,SAAOvH,MAAMK,GAAGC,IACdpD,IAAIqD,KAAK9B,iBAAiB;IACxBoB;IACA2H,cAAcpK,IAAImD,KAAKgH,QAAQE,IAAI;IACnCC,QAAQJ,OAAOK;EACjB,CAAA,CAAA;AAEJ;AAEA,IAAMvC,aAAa,CACjBpF,OACAiE,aACA2D,SAAAA;AAEA,QAAMzC,UAAUlB,YAAYM,WAC1BvG,eAAe;IACb+H,OAAO,IAAIhJ,KAAIA,KAAIgF,KAAKoE,OAAO;MAAC;MAAQnG,MAAM6E;MAAI5H,KAAImJ,SAASC,OAAM;KAAG,EAAEtF,SAAQ;IAClF,GAAI6G,MAAMC,aAAanB,YAAYkB,KAAKC,UAAU,IAAIrD,SAAS;MAAEC,GAAG;MAAKC,GAAG;MAAGO,OAAO;MAAGC,QAAQ;IAAE,CAAA;EACrG,CAAA,CAAA;AAEF,QAAM7C,QAAQ4B,YAAYM,WACxBpG,YACEyJ,MAAMf,gBAAgBH,YAAYkB,KAAKf,aAAa,IAAIrC,SAAS;IAAEC,GAAG;IAAIC,GAAG;IAAGO,OAAO;IAAIC,QAAQ;EAAG,CAAA,CAAA,CAAA;AAG1GjB,cAAYqB,WAAW;IAAE9C,QAAQ2C,QAAQN;IAAIU,QAAQlD,MAAMwC;EAAG,CAAA;AAC9D,SAAO;IAAExC;IAAO8C;EAAQ;AAC1B;AAEA,IAAMM,gBAAgB,CAACtB,iBAA8CqB,iBAAAA;AACnE/H,YAAU0G,iBAAAA,QAAAA;;;;;;;;;AACVA,kBAAgBlC,WAAW7E,IAAImD,KAAKiF,aAAaiC,IAAI;AACrD,QAAMK,YAAYtC,aAAauB,MAAMC,KAAK,CAACC,SAASA,KAAK3F,SAASxE,WAAAA;AAClEqH,kBAAgB4D,cAAcD,UAAUjD;AAC1C;AAIA,IAAM6B,cAAc,CAACkB,SAAAA;AACnB,SAAO;IAAEI,QAAQ;MAAEvD,GAAGmD,KAAKjB;MAASjC,GAAGkD,KAAKhB;IAAQ;IAAGqB,MAAM;MAAEhD,OAAO2C,KAAK3C;MAAOC,QAAQ0C,KAAK1C;IAAO;EAAE;AAC1G;AAEA,IAAMV,WAAW,CAAC0D,SAAAA;AAChB,QAAMC,OAAO;AACb,QAAM,CAACH,QAAQC,IAAAA,IAAQpJ,aAAa;IAAEoG,OAAO;IAAGC,QAAQ;IAAG,GAAGgD;EAAK,CAAA;AACnE,QAAM,EAAEzD,GAAGC,GAAGO,OAAOC,OAAM,IAAKtG,aAAa;IAACD,cAAcqJ,QAAQG,IAAAA;IAAOxJ,cAAcsJ,MAAME,IAAAA;GAAM;AACrG,MAAIlD,SAASC,QAAQ;AACnB,WAAO;MAAE8C,QAAQ;QAAEvD;QAAGC;MAAE;MAAGuD,MAAMhD,SAASC,SAAS;QAAED;QAAOC;MAAO,IAAIkD;IAAU;EACnF,OAAO;AACL,WAAO;MAAEJ,QAAQ;QAAEvD;QAAGC;MAAE;IAAE;EAC5B;AACF;;;;ACptBA,OAAO2D,WAAW;AAElB,SAASC,kBAAkB;AASpB,IAAMC,cAAc,CAAC,EAAEC,OAAOC,UAAU,CAAC,GAAGC,OAAOC,QAAO,MAAoB;;;AACnF,WACE,sBAAA,cAACC,OAAAA;MAAIC,WAAU;OACb,sBAAA,cAACC,MAAAA;MAAGD,WAAU;OAAOH,KAAAA,GACpBF,MAAMO,IAAI,CAACC,SACV,sBAAA,cAACJ,OAAAA;MAAIK,KAAKD,KAAKE;MAAUL,WAAU;OACjC,sBAAA,cAACD,OAAAA;MAAIC,WAAU;OAAwCG,KAAKE,QAAQ,GACpE,sBAAA,cAACN,OAAAA;MAAIC,WAAU;OAA8BJ,QAAQO,KAAKE,QAAQ,KAAK,CAAA,GACvE,sBAAA,cAACC,YAAAA;MACCC,SAAQ;MACRC,MAAK;MACLC,UAAAA;MACAZ,OAAM;MACNC,SAAS,MAAMA,QAAQK,KAAKE,QAAQ;;;;;AAMhD;;;AHNO,IAAMK,iBAAiB,CAAC,EAAEC,OAAOC,gBAAe,MAAuB;;;AAC5E,UAAM,EAAEC,iBAAiBC,SAAQ,IAAKC,oBAAAA;AACtC,UAAMC,SAASC,UAAAA;AACf,UAAMC,cAAc;MAACC,UAASC;MAAUC,SAAQA;MAASC,OAAMA;MAAOC;;AACtE,UAAMC,cAAc;MAACC,cAAaA;MAAcC,QAAOA;MAAQC,KAAKA;;AACpE,UAAM,CAACC,OAAOC,QAAAA,IAAYC,SAAS,CAAA;AACnC,UAAM,CAACC,MAAMC,OAAAA,IAAWF,SAAc,CAAC,CAAA;AACvC,UAAMG,UAAUC,QAAQ,MAAMC,WAAAA,GAAa,CAAA,CAAE;AAG7C,UAAMC,UAAUF,QAAQ,MAAA;AACtBlB,aAAOqB,SAAS;WAAInB;WAAgBM;WAAgBS,QAAQK;OAAQ;AACpE,YAAMC,mBAAmB,IAAIC,IAC3BhB,YAAYiB,IAAI,CAACC,SAAS;QAACA,KAAKC;QAAUC,gBAAgB5B,QAAQF,UAAU4B,IAAAA;OAAa,CAAA;AAG3F,aAAO,IAAIF,IAAI;WAAIK;WAAqBZ,QAAQa;WAAUP;OAAiB;IAC7E,GAAG;MAACvB;MAAQQ;KAAY;AAGxB,UAAMuB,aAAa,YAAA;AAEjB,YAAMC,aAAa,MAAMrC,MAAMsC,GAAGC,eAAeC,MAAK,EAAGC,IAAG;AAC5D,YAAMC,eAAe1C,MAAMsC,GAAGK,MAAMJ,eAAeZ;AAGnD,YAAM,EAAEiB,QAAO,IAAK,MAAM5C,MAAMsC,GAAGE,MAAMK,QAAOC,WAAU,CAAA,EAAIL,IAAG;AACjE,YAAMM,YAAYC,SAChBJ,QAAQK,OAA+B,CAACnB,KAAKoB,QAAAA;AAC3C,cAAMnB,OAAOoB,YAAYD,GAAAA;AACzB,YAAInB,MAAM;AACR,gBAAMd,SAAQa,IAAIC,IAAAA,KAAS;AAC3BD,cAAIC,IAAAA,IAAQd,SAAQ;QACtB;AACA,eAAOa;MACT,GAAG,CAAC,CAAA,CAAA;AAGNT,cAAQ;QACN+B,QAAQ;UACNC,QAAQX,aAAaY;UACrBC,SAASlB,WAAWiB;QACtB;QACAV,SAASG;MACX,CAAA;IACF;AAEAS,mBAAepB,YAAY;MAACpC;KAAM;AAElC,UAAMyD,mBAAmBC,YACvB,OAAO1B,aAAAA;AACL,YAAM2B,cAAclC,QAAQmC,IAAI5B,QAAAA;AAChC,UAAI2B,aAAa;AAEf,cAAMA,YAAY3D,OAAOiB,OAAOhB,eAAAA;AAChC,cAAMmC,WAAAA;MACR;IACF,GACA;MAACX;MAASR;KAAM;AAGlB,WACE,gBAAA4C,OAAA,cAACC,OAAAA;MAAIC,MAAK;MAAOC,WAAU;OACzB,gBAAAH,OAAA,cAACI,QAAQC,MAAI;MAACC,YAAW;OACvB,gBAAAN,OAAA,cAACO,aAAAA;MAAWC,MAAK;MAA+BC,UAAAA;MAASC,OAAM;MAAUC,SAASpC;QAClF,gBAAAyB,OAAA,cAACI,QAAQQ,WAAS;MAACC,SAAQ;QAC3B,gBAAAb,OAAA,cAACc,MAAMT,MAAI,MACT,gBAAAL,OAAA,cAACc,MAAMC,WAAS;MACd7C,MAAK;MACL8C,KAAK;MACLC,KAAK;MACLC,aAAa;MACbZ,YAAW;MACXa,MAAM;MACNC,OAAOhE;MACPiE,UAAU,CAACC,OAAOjE,SAASkE,SAASD,GAAGE,OAAOJ,KAAK,CAAA;UAKzD,gBAAApB,OAAA,cAACC,OAAAA;MAAIE,WAAU;OACb,gBAAAH,OAAA,cAACyB,aAAAA;MAAYC,OAAOhF;MAAaqC,SAASxB,KAAKwB;MAAS2B,OAAM;MAAeC,SAASf;QACtF,gBAAAI,OAAA,cAACyB,aAAAA;MAAYC,OAAO1E;MAAa+B,SAASxB,KAAKwB;MAAS2B,OAAM;MAAeC,SAASf;QACtF,gBAAAI,OAAA,cAACyB,aAAAA;MAAYC,OAAOjE,QAAQiE;MAAO3C,SAASxB,KAAKwB;MAAS2B,OAAM;MAAUC,SAASf;QAEnF,gBAAAI,OAAA,cAACC,OAAAA,MACC,gBAAAD,OAAA,cAAC2B,mBAAAA;MAAkBC,UAAS;MAAOtB,YAAW;OAC3CuB,KAAKC,UAAU;MAAE3F;MAAO,GAAGoB;IAAK,GAAGwE,gBAAgB;MAAEC,UAAU;IAAK,CAAA,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA;;;;AAMrF;;;AInHA,IAAA,yBAAeC;",
6
+ "names": ["React", "useCallback", "useMemo", "useState", "useIntentDispatcher", "ComputeGraph", "Filter", "Markdown", "Sheet", "Diagram", "useClient", "getTypename", "IconButton", "Input", "Toolbar", "useAsyncEffect", "SyntaxHighlighter", "Organization", "Person", "Task", "jsonKeyReplacer", "sortKeys", "createIntent", "addressToA1Notation", "ComputeGraph", "ComputeGraphModel", "DEFAULT_OUTPUT", "NODE_INPUT", "NODE_OUTPUT", "DXN", "Filter", "Key", "Type", "Markdown", "Sheet", "Diagram", "SpaceAction", "faker", "View", "getTypenameFromQuery", "createAsyncGenerator", "range", "generator", "faker", "findViewByTypename", "views", "typename", "find", "view", "getTypenameFromQuery", "query", "ast", "createGenerator", "client", "dispatch", "schema", "space", "n", "objects", "db", "Filter", "type", "View", "run", "staticSchema", "graph", "schemaRegistry", "schemas", "Type", "getTypename", "createIntent", "SpaceAction", "AddSchema", "show", "UseStaticSchema", "generate", "createAsyncGenerator", "createObjects", "staticGenerators", "Map", "Markdown", "Document", "cb", "range", "map", "add", "make", "name", "commerce", "productName", "content", "lorem", "sentences", "Diagram", "obj", "Sheet", "cells", "year", "Date", "getFullYear", "cols", "rows", "col", "row", "cell", "addressToA1Notation", "value", "from", "to", "Math", "floor", "random", "ComputeGraph", "model", "ComputeGraphModel", "create", "builder", "createNode", "id", "NODE_INPUT", "DXN", "kind", "QUEUE", "Key", "ObjectId", "toString", "NODE_OUTPUT", "createEdge", "node", "property", "DEFAULT_OUTPUT", "root", "Schema", "Agent", "EntityExtraction", "ResearchBlueprint", "Prompt", "NODE_INPUT", "DXN", "Filter", "Key", "Obj", "Query", "Ref", "Tag", "Type", "Trigger", "serializeFunction", "invariant", "gmail", "Mailbox", "Markdown", "createAppend", "createChat", "createComputeGraph", "createConstant", "createFunction", "createGpt", "createQueue", "createRandom", "createSurface", "createTemplate", "createText", "createTrigger", "CanvasBoardType", "CanvasGraphModel", "pointMultiply", "pointsToRect", "rectToPoints", "Collection", "View", "Message", "Organization", "Person", "Project", "range", "trim", "PresetName", "generator", "schemas", "types", "Object", "values", "map", "name", "typename", "items", "space", "n", "cb", "objects", "org", "db", "add", "make", "website", "doc", "content", "tag", "label", "tagDxn", "getDXN", "toString", "getMeta", "tags", "fullName", "organization", "mailbox", "query", "type", "first", "contactsQuery", "select", "organizationsQuery", "notesQuery", "Document", "enabled", "spec", "kind", "cron", "function", "sync", "input", "mailboxId", "queue", "dxn", "extract", "source", "researchPrompt", "description", "Struct", "Any", "output", "instructions", "blueprints", "ast", "prompt", "mailboxView", "properties", "labels", "contains", "options", "queues", "jsonSchema", "toJsonSchema", "presentation", "contactsView", "organizationsView", "notesView", "collections", "view", "flat", "canvasModel", "create", "functionTrigger", "builder", "call", "gpt", "createNode", "position", "x", "y", "triggerShape", "spaceId", "id", "triggerKind", "trigger", "text", "width", "height", "queueId", "setupQueue", "append", "createEdge", "target", "computeModel", "attachTrigger", "addToSpace", "createQueueSinkPreset", "triggerSpec", "chat", "sourceCurrency", "value", "targetCurrency", "converter", "channelId", "QUEUE", "ObjectId", "random", "initSpec", "triggerOutputName", "template", "valueType", "rawPosition", "centerX", "centerY", "queuePosition", "templateComputeNode", "nodes", "find", "node", "join", "inputSchema", "String", "changeId", "canvas", "compute", "computeGraph", "root", "layout", "graph", "args", "idPosition", "inputNode", "inputNodeId", "center", "size", "rect", "snap", "undefined", "React", "IconButton", "SchemaTable", "types", "objects", "label", "onClick", "div", "className", "h2", "map", "type", "key", "typename", "IconButton", "variant", "icon", "iconOnly", "SpaceGenerator", "space", "onCreateObjects", "dispatchPromise", "dispatch", "useIntentDispatcher", "client", "useClient", "staticTypes", "Markdown", "Document", "Diagram", "Sheet", "ComputeGraph", "recordTypes", "Organization", "Person", "Task", "count", "setCount", "useState", "info", "setInfo", "presets", "useMemo", "generator", "typeMap", "addTypes", "schemas", "recordGenerators", "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", "React", "div", "role", "className", "Toolbar", "Root", "classNames", "IconButton", "icon", "iconOnly", "label", "onClick", "Separator", "variant", "Input", "TextInput", "min", "max", "placeholder", "size", "value", "onChange", "ev", "parseInt", "target", "SchemaTable", "types", "SyntaxHighlighter", "language", "JSON", "stringify", "jsonKeyReplacer", "truncate", "SpaceGenerator"]
7
+ }
@@ -1,25 +1,26 @@
1
1
  import {
2
2
  Devtools
3
- } from "./chunk-AJA6RYN3.mjs";
3
+ } from "./chunk-SRV2AIGJ.mjs";
4
4
  import {
5
- DEBUG_PLUGIN
6
- } from "./chunk-5XPIRNQS.mjs";
5
+ meta
6
+ } from "./chunk-WZFZ4ESO.mjs";
7
7
 
8
8
  // src/capabilities/app-graph-builder.ts
9
- import { Rx } from "@effect-rx/rx-react";
10
- import { Option, pipe } from "effect";
9
+ import { Atom } from "@effect-atom/atom-react";
10
+ import * as Function from "effect/Function";
11
+ import * as Option from "effect/Option";
11
12
  import { Capabilities, contributes } from "@dxos/app-framework";
12
13
  import { Obj } from "@dxos/echo";
13
14
  import { ATTENDABLE_PATH_SEPARATOR, DECK_COMPANION_TYPE, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
14
- import { ROOT_ID, createExtension, rxFromSignal } from "@dxos/plugin-graph";
15
- import { SPACE_PLUGIN, getActiveSpace } from "@dxos/plugin-space";
16
- var DEVTOOLS_TYPE = "dxos.org/plugin/debug/devtools";
17
- var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, [
15
+ import { ROOT_ID, atomFromSignal, createExtension } from "@dxos/plugin-graph";
16
+ import { getActiveSpace, meta as spaceMeta } from "@dxos/plugin-space";
17
+ var DEVTOOLS_TYPE = `${meta.id}/devtools`;
18
+ var app_graph_builder_default = ((context) => contributes(Capabilities.AppGraphBuilder, [
18
19
  // Devtools node.
19
20
  createExtension({
20
- id: "dxos.org/plugin/debug/devtools",
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)));
21
+ id: `${meta.id}/devtools`,
22
+ connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID || node2.type === `${spaceMeta.id}/settings` ? Option.some(node2) : Option.none()), Option.map((node2) => {
23
+ const space = get(atomFromSignal(() => getActiveSpace(context)));
23
24
  const [graph] = get(context.capabilities(Capabilities.AppGraph));
24
25
  return [
25
26
  {
@@ -30,7 +31,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
30
31
  label: [
31
32
  "devtools label",
32
33
  {
33
- ns: DEBUG_PLUGIN
34
+ ns: meta.id
34
35
  }
35
36
  ],
36
37
  icon: "ph--hammer--regular",
@@ -38,19 +39,19 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
38
39
  position: "fallback"
39
40
  },
40
41
  nodes: [
41
- ...space && node2.type === `${SPACE_PLUGIN}/settings` ? [
42
+ ...space && node2.type === `${spaceMeta.id}/settings` ? [
42
43
  {
43
44
  id: `debug-${node2.id}`,
44
- type: "dxos.org/plugin/debug/space",
45
+ type: `${meta.id}/space`,
45
46
  data: {
46
47
  space,
47
- type: "dxos.org/plugin/debug/space"
48
+ type: `${meta.id}/space`
48
49
  },
49
50
  properties: {
50
51
  label: [
51
52
  "debug label",
52
53
  {
53
- ns: DEBUG_PLUGIN
54
+ ns: meta.id
54
55
  }
55
56
  ],
56
57
  icon: "ph--bug--regular"
@@ -59,7 +60,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
59
60
  ] : [],
60
61
  {
61
62
  id: `app-graph-${node2.id}`,
62
- type: "dxos.org/plugin/debug/app-graph",
63
+ type: `${meta.id}/app-graph`,
63
64
  data: {
64
65
  graph: graph?.graph,
65
66
  root: space ? space.id : ROOT_ID
@@ -68,7 +69,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
68
69
  label: [
69
70
  "debug app graph label",
70
71
  {
71
- ns: DEBUG_PLUGIN
72
+ ns: meta.id
72
73
  }
73
74
  ],
74
75
  icon: "ph--graph--regular"
@@ -82,7 +83,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
82
83
  label: [
83
84
  "client label",
84
85
  {
85
- ns: DEBUG_PLUGIN
86
+ ns: meta.id
86
87
  }
87
88
  ],
88
89
  icon: "ph--users--regular"
@@ -96,7 +97,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
96
97
  label: [
97
98
  "config label",
98
99
  {
99
- ns: DEBUG_PLUGIN
100
+ ns: meta.id
100
101
  }
101
102
  ],
102
103
  icon: "ph--gear--regular"
@@ -110,7 +111,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
110
111
  label: [
111
112
  "storage label",
112
113
  {
113
- ns: DEBUG_PLUGIN
114
+ ns: meta.id
114
115
  }
115
116
  ],
116
117
  icon: "ph--hard-drives--regular"
@@ -124,7 +125,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
124
125
  label: [
125
126
  "logs label",
126
127
  {
127
- ns: DEBUG_PLUGIN
128
+ ns: meta.id
128
129
  }
129
130
  ],
130
131
  icon: "ph--file-text--regular"
@@ -138,7 +139,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
138
139
  label: [
139
140
  "diagnostics label",
140
141
  {
141
- ns: DEBUG_PLUGIN
142
+ ns: meta.id
142
143
  }
143
144
  ],
144
145
  icon: "ph--chart-line--regular"
@@ -152,7 +153,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
152
153
  label: [
153
154
  "tracing label",
154
155
  {
155
- ns: DEBUG_PLUGIN
156
+ ns: meta.id
156
157
  }
157
158
  ],
158
159
  icon: "ph--fire--regular"
@@ -168,7 +169,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
168
169
  label: [
169
170
  "halo label",
170
171
  {
171
- ns: DEBUG_PLUGIN
172
+ ns: meta.id
172
173
  }
173
174
  ],
174
175
  icon: "ph--identification-badge--regular"
@@ -182,7 +183,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
182
183
  label: [
183
184
  "identity label",
184
185
  {
185
- ns: DEBUG_PLUGIN
186
+ ns: meta.id
186
187
  }
187
188
  ],
188
189
  icon: "ph--identification-badge--regular"
@@ -196,7 +197,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
196
197
  label: [
197
198
  "devices label",
198
199
  {
199
- ns: DEBUG_PLUGIN
200
+ ns: meta.id
200
201
  }
201
202
  ],
202
203
  icon: "ph--devices--regular"
@@ -210,7 +211,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
210
211
  label: [
211
212
  "keyring label",
212
213
  {
213
- ns: DEBUG_PLUGIN
214
+ ns: meta.id
214
215
  }
215
216
  ],
216
217
  icon: "ph--key--regular"
@@ -224,7 +225,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
224
225
  label: [
225
226
  "credentials label",
226
227
  {
227
- ns: DEBUG_PLUGIN
228
+ ns: meta.id
228
229
  }
229
230
  ],
230
231
  icon: "ph--credit-card--regular"
@@ -240,7 +241,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
240
241
  label: [
241
242
  "echo label",
242
243
  {
243
- ns: DEBUG_PLUGIN
244
+ ns: meta.id
244
245
  }
245
246
  ],
246
247
  icon: "ph--database--regular"
@@ -254,7 +255,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
254
255
  label: [
255
256
  "spaces label",
256
257
  {
257
- ns: DEBUG_PLUGIN
258
+ ns: meta.id
258
259
  }
259
260
  ],
260
261
  icon: "ph--graph--regular"
@@ -268,7 +269,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
268
269
  label: [
269
270
  "space label",
270
271
  {
271
- ns: DEBUG_PLUGIN
272
+ ns: meta.id
272
273
  }
273
274
  ],
274
275
  icon: "ph--planet--regular"
@@ -282,7 +283,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
282
283
  label: [
283
284
  "feeds label",
284
285
  {
285
- ns: DEBUG_PLUGIN
286
+ ns: meta.id
286
287
  }
287
288
  ],
288
289
  icon: "ph--list-bullets--regular"
@@ -296,7 +297,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
296
297
  label: [
297
298
  "objects label",
298
299
  {
299
- ns: DEBUG_PLUGIN
300
+ ns: meta.id
300
301
  }
301
302
  ],
302
303
  icon: "ph--cube--regular"
@@ -310,7 +311,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
310
311
  label: [
311
312
  "schema label",
312
313
  {
313
- ns: DEBUG_PLUGIN
314
+ ns: meta.id
314
315
  }
315
316
  ],
316
317
  icon: "ph--database--regular"
@@ -324,7 +325,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
324
325
  label: [
325
326
  "automerge label",
326
327
  {
327
- ns: DEBUG_PLUGIN
328
+ ns: meta.id
328
329
  }
329
330
  ],
330
331
  icon: "ph--gear-six--regular"
@@ -338,7 +339,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
338
339
  label: [
339
340
  "queues label",
340
341
  {
341
- ns: DEBUG_PLUGIN
342
+ ns: meta.id
342
343
  }
343
344
  ],
344
345
  icon: "ph--queue--regular"
@@ -352,7 +353,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
352
353
  label: [
353
354
  "members label",
354
355
  {
355
- ns: DEBUG_PLUGIN
356
+ ns: meta.id
356
357
  }
357
358
  ],
358
359
  icon: "ph--users--regular"
@@ -366,7 +367,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
366
367
  label: [
367
368
  "metadata label",
368
369
  {
369
- ns: DEBUG_PLUGIN
370
+ ns: meta.id
370
371
  }
371
372
  ],
372
373
  icon: "ph--hard-drive--regular"
@@ -382,7 +383,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
382
383
  label: [
383
384
  "mesh label",
384
385
  {
385
- ns: DEBUG_PLUGIN
386
+ ns: meta.id
386
387
  }
387
388
  ],
388
389
  icon: "ph--graph--regular"
@@ -396,7 +397,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
396
397
  label: [
397
398
  "signal label",
398
399
  {
399
- ns: DEBUG_PLUGIN
400
+ ns: meta.id
400
401
  }
401
402
  ],
402
403
  icon: "ph--wifi-high--regular"
@@ -410,7 +411,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
410
411
  label: [
411
412
  "swarm label",
412
413
  {
413
- ns: DEBUG_PLUGIN
414
+ ns: meta.id
414
415
  }
415
416
  ],
416
417
  icon: "ph--users-three--regular"
@@ -424,7 +425,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
424
425
  label: [
425
426
  "network label",
426
427
  {
427
- ns: DEBUG_PLUGIN
428
+ ns: meta.id
428
429
  }
429
430
  ],
430
431
  icon: "ph--polygon--regular"
@@ -438,7 +439,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
438
439
  // data: null,
439
440
  // type: DEVTOOLS_TYPE,
440
441
  // properties: {
441
- // label: ['agent label', { ns: DEBUG_PLUGIN }],
442
+ // label: ['agent label', { ns: meta.id }],
442
443
  // icon: 'ph--robot--regular',
443
444
  // },
444
445
  // nodes: [
@@ -447,7 +448,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
447
448
  // data: Devtools.Agent.Dashboard,
448
449
  // type: DEVTOOLS_TYPE,
449
450
  // properties: {
450
- // label: ['dashboard label', { ns: DEBUG_PLUGIN }],
451
+ // label: ['dashboard label', { ns: meta.id }],
451
452
  // icon: 'ph--computer-tower--regular',
452
453
  // },
453
454
  // },
@@ -461,7 +462,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
461
462
  label: [
462
463
  "edge label",
463
464
  {
464
- ns: DEBUG_PLUGIN
465
+ ns: meta.id
465
466
  }
466
467
  ],
467
468
  icon: "ph--cloud--regular"
@@ -475,7 +476,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
475
476
  label: [
476
477
  "dashboard label",
477
478
  {
478
- ns: DEBUG_PLUGIN
479
+ ns: meta.id
479
480
  }
480
481
  ],
481
482
  icon: "ph--computer-tower--regular"
@@ -489,7 +490,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
489
490
  label: [
490
491
  "workflows label",
491
492
  {
492
- ns: DEBUG_PLUGIN
493
+ ns: meta.id
493
494
  }
494
495
  ],
495
496
  icon: "ph--function--regular"
@@ -503,7 +504,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
503
504
  label: [
504
505
  "traces label",
505
506
  {
506
- ns: DEBUG_PLUGIN
507
+ ns: meta.id
507
508
  }
508
509
  ],
509
510
  icon: "ph--line-segments--regular"
@@ -517,7 +518,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
517
518
  label: [
518
519
  "testing label",
519
520
  {
520
- ns: DEBUG_PLUGIN
521
+ ns: meta.id
521
522
  }
522
523
  ],
523
524
  icon: "ph--flask--regular"
@@ -532,8 +533,8 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
532
533
  }),
533
534
  // Debug object companion.
534
535
  createExtension({
535
- id: `${DEBUG_PLUGIN}/debug-object`,
536
- connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.isObject(node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
536
+ id: `${meta.id}/debug-object`,
537
+ connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.isObject(node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
537
538
  {
538
539
  id: [
539
540
  node2.id,
@@ -545,7 +546,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
545
546
  label: [
546
547
  "debug label",
547
548
  {
548
- ns: DEBUG_PLUGIN
549
+ ns: meta.id
549
550
  }
550
551
  ],
551
552
  icon: "ph--bug--regular",
@@ -557,8 +558,8 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
557
558
  }),
558
559
  // Devtools deck companion.
559
560
  createExtension({
560
- id: `${DEBUG_PLUGIN}/devtools-overview`,
561
- connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map((node2) => [
561
+ id: `${meta.id}/devtools-overview`,
562
+ connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map((node2) => [
562
563
  {
563
564
  id: [
564
565
  node2.id,
@@ -570,7 +571,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
570
571
  label: [
571
572
  "devtools overview label",
572
573
  {
573
- ns: DEBUG_PLUGIN
574
+ ns: meta.id
574
575
  }
575
576
  ],
576
577
  icon: "ph--equalizer--regular",
@@ -580,8 +581,8 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
580
581
  }
581
582
  ]), Option.getOrElse(() => [])))
582
583
  })
583
- ]);
584
+ ]));
584
585
  export {
585
586
  app_graph_builder_default as default
586
587
  };
587
- //# sourceMappingURL=app-graph-builder-JTIEFOWZ.mjs.map
588
+ //# sourceMappingURL=app-graph-builder-CRH2HJKT.mjs.map