@dxos/plugin-debug 0.8.1-staging.391c573 → 0.8.1-staging.5be625a

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 (54) hide show
  1. package/dist/lib/browser/{DebugApp-LQHFFK3Y.mjs → DebugApp-7PFYN52J.mjs} +30 -23
  2. package/dist/lib/browser/{DebugApp-LQHFFK3Y.mjs.map → DebugApp-7PFYN52J.mjs.map} +4 -4
  3. package/dist/lib/browser/{SpaceGenerator-SPEJBGP7.mjs → SpaceGenerator-OIK3XDTA.mjs} +6 -5
  4. package/dist/lib/browser/SpaceGenerator-OIK3XDTA.mjs.map +7 -0
  5. package/dist/lib/browser/{app-graph-builder-NYB6QZQK.mjs → app-graph-builder-EJHONTKA.mjs} +5 -19
  6. package/dist/lib/browser/{app-graph-builder-NYB6QZQK.mjs.map → app-graph-builder-EJHONTKA.mjs.map} +3 -3
  7. package/dist/lib/browser/{chunk-LHJC7LSH.mjs → chunk-F2R7TJCJ.mjs} +1 -2
  8. package/dist/lib/browser/{chunk-EF3UVAVI.mjs → chunk-RORUXVAC.mjs} +1 -1
  9. package/dist/lib/browser/chunk-RORUXVAC.mjs.map +7 -0
  10. package/dist/lib/browser/index.mjs +5 -5
  11. package/dist/lib/browser/meta.json +1 -1
  12. package/dist/lib/browser/{react-context-TCD3MNIT.mjs → react-context-ZRLN5KUI.mjs} +2 -2
  13. package/dist/lib/browser/{react-surface-PQFKDW3V.mjs → react-surface-G43REICD.mjs} +12 -21
  14. package/dist/lib/browser/react-surface-G43REICD.mjs.map +7 -0
  15. package/dist/lib/browser/{settings-DLIPIUG7.mjs → settings-R47ZDKXO.mjs} +5 -5
  16. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  17. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  18. package/dist/types/src/components/index.d.ts +0 -4
  19. package/dist/types/src/components/index.d.ts.map +1 -1
  20. package/dist/types/src/meta.d.ts +2 -9
  21. package/dist/types/src/meta.d.ts.map +1 -1
  22. package/package.json +48 -48
  23. package/src/capabilities/app-graph-builder.ts +0 -9
  24. package/src/capabilities/react-surface.tsx +3 -23
  25. package/src/components/SpaceGenerator/ObjectGenerator.tsx +1 -1
  26. package/src/components/SpaceGenerator/SchemaTable.tsx +1 -1
  27. package/src/components/SpaceGenerator/SpaceGenerator.tsx +2 -2
  28. package/src/components/index.ts +0 -1
  29. package/src/meta.ts +2 -2
  30. package/dist/lib/browser/DebugSpace-5A2QOKAZ.mjs +0 -277
  31. package/dist/lib/browser/DebugSpace-5A2QOKAZ.mjs.map +0 -7
  32. package/dist/lib/browser/SpaceGenerator-SPEJBGP7.mjs.map +0 -7
  33. package/dist/lib/browser/chunk-EF3UVAVI.mjs.map +0 -7
  34. package/dist/lib/browser/chunk-GSJS3HEM.mjs +0 -15
  35. package/dist/lib/browser/chunk-GSJS3HEM.mjs.map +0 -7
  36. package/dist/lib/browser/react-surface-PQFKDW3V.mjs.map +0 -7
  37. package/dist/types/src/components/DebugSpace/DebugSpace.d.ts +0 -8
  38. package/dist/types/src/components/DebugSpace/DebugSpace.d.ts.map +0 -1
  39. package/dist/types/src/components/DebugSpace/DebugSpace.stories.d.ts +0 -6
  40. package/dist/types/src/components/DebugSpace/DebugSpace.stories.d.ts.map +0 -1
  41. package/dist/types/src/components/DebugSpace/ObjectCreator.d.ts +0 -15
  42. package/dist/types/src/components/DebugSpace/ObjectCreator.d.ts.map +0 -1
  43. package/dist/types/src/components/DebugSpace/ObjectCreator.stories.d.ts +0 -6
  44. package/dist/types/src/components/DebugSpace/ObjectCreator.stories.d.ts.map +0 -1
  45. package/dist/types/src/components/DebugSpace/index.d.ts +0 -3
  46. package/dist/types/src/components/DebugSpace/index.d.ts.map +0 -1
  47. package/src/components/DebugSpace/DebugSpace.stories.tsx +0 -46
  48. package/src/components/DebugSpace/DebugSpace.tsx +0 -183
  49. package/src/components/DebugSpace/ObjectCreator.stories.tsx +0 -51
  50. package/src/components/DebugSpace/ObjectCreator.tsx +0 -100
  51. package/src/components/DebugSpace/index.ts +0 -7
  52. /package/dist/lib/browser/{chunk-LHJC7LSH.mjs.map → chunk-F2R7TJCJ.mjs.map} +0 -0
  53. /package/dist/lib/browser/{react-context-TCD3MNIT.mjs.map → react-context-ZRLN5KUI.mjs.map} +0 -0
  54. /package/dist/lib/browser/{settings-DLIPIUG7.mjs.map → settings-R47ZDKXO.mjs.map} +0 -0
@@ -1,10 +1,6 @@
1
- import {
2
- Container
3
- } from "./chunk-GSJS3HEM.mjs";
4
-
5
1
  // packages/plugins/plugin-debug/src/components/DebugApp/DebugApp.tsx
6
2
  import { Gauge, Graph as GraphIcon, Gear, Toolbox, Warning } from "@phosphor-icons/react";
7
- import React2, { useEffect, useState as useState2 } from "react";
3
+ import React3, { useEffect, useState as useState2 } from "react";
8
4
  import { useClient, useConfig } from "@dxos/react-client";
9
5
  import { Button, ToggleGroup, ToggleGroupItem, Toolbar } from "@dxos/react-ui";
10
6
  import { getSize, mx as mx2 } from "@dxos/react-ui-theme";
@@ -92,6 +88,17 @@ var Box = ({ children, className, ...props }) => {
92
88
  }, children);
93
89
  };
94
90
 
91
+ // packages/plugins/plugin-debug/src/components/Container.tsx
92
+ import React2 from "react";
93
+ var Container = ({ toolbar, children }) => {
94
+ return /* @__PURE__ */ React2.createElement("div", {
95
+ role: "none",
96
+ className: "flex flex-col grow overflow-hidden divide-y divide-separator"
97
+ }, toolbar, /* @__PURE__ */ React2.createElement("div", {
98
+ className: "flex flex-col grow overflow-auto"
99
+ }, children));
100
+ };
101
+
95
102
  // packages/plugins/plugin-debug/src/components/DebugApp/DebugApp.tsx
96
103
  var DebugApp = ({ graph }) => {
97
104
  const [view, setView] = useState2("graph");
@@ -120,49 +127,49 @@ var DebugApp = ({ graph }) => {
120
127
  window.open(`https://devtools.dev.dxos.org/?target=${vaultUrl}`);
121
128
  }
122
129
  };
123
- return /* @__PURE__ */ React2.createElement(Container, {
124
- toolbar: /* @__PURE__ */ React2.createElement(Toolbar.Root, {
130
+ return /* @__PURE__ */ React3.createElement(Container, {
131
+ toolbar: /* @__PURE__ */ React3.createElement(Toolbar.Root, {
125
132
  classNames: "p-1"
126
- }, /* @__PURE__ */ React2.createElement(ToggleGroup, {
133
+ }, /* @__PURE__ */ React3.createElement(ToggleGroup, {
127
134
  type: "single",
128
135
  value: view
129
- }, /* @__PURE__ */ React2.createElement(ToggleGroupItem, {
136
+ }, /* @__PURE__ */ React3.createElement(ToggleGroupItem, {
130
137
  value: "graph",
131
138
  onClick: () => setView("graph"),
132
139
  title: "Plugin graph"
133
- }, /* @__PURE__ */ React2.createElement(GraphIcon, {
140
+ }, /* @__PURE__ */ React3.createElement(GraphIcon, {
134
141
  className: getSize(5)
135
- })), /* @__PURE__ */ React2.createElement(ToggleGroupItem, {
142
+ })), /* @__PURE__ */ React3.createElement(ToggleGroupItem, {
136
143
  value: "diagnostics",
137
144
  onClick: () => setView("diagnostics"),
138
145
  title: "Diagnostics"
139
- }, /* @__PURE__ */ React2.createElement(Gauge, {
146
+ }, /* @__PURE__ */ React3.createElement(Gauge, {
140
147
  className: getSize(5)
141
- })), /* @__PURE__ */ React2.createElement(ToggleGroupItem, {
148
+ })), /* @__PURE__ */ React3.createElement(ToggleGroupItem, {
142
149
  value: "config",
143
150
  onClick: () => setView("config"),
144
151
  title: "Config"
145
- }, /* @__PURE__ */ React2.createElement(Gear, {
152
+ }, /* @__PURE__ */ React3.createElement(Gear, {
146
153
  className: getSize(5)
147
- }))), /* @__PURE__ */ React2.createElement(Toolbar.Separator, {
154
+ }))), /* @__PURE__ */ React3.createElement(Toolbar.Separator, {
148
155
  variant: "gap"
149
- }), /* @__PURE__ */ React2.createElement(Button, {
156
+ }), /* @__PURE__ */ React3.createElement(Button, {
150
157
  onClick: (event) => handleResetClient(event.shiftKey),
151
158
  title: "Reset client"
152
- }, /* @__PURE__ */ React2.createElement(Warning, {
159
+ }, /* @__PURE__ */ React3.createElement(Warning, {
153
160
  className: mx2(getSize(5), "text-red-700")
154
- })), /* @__PURE__ */ React2.createElement(Button, {
161
+ })), /* @__PURE__ */ React3.createElement(Button, {
155
162
  onClick: handleOpenDevtools,
156
163
  title: "Open Devtools"
157
- }, /* @__PURE__ */ React2.createElement(Toolbox, {
164
+ }, /* @__PURE__ */ React3.createElement(Toolbox, {
158
165
  weight: "duotone",
159
166
  className: mx2(getSize(5), "text-700")
160
167
  })))
161
- }, view === "graph" && /* @__PURE__ */ React2.createElement(Tree, {
168
+ }, view === "graph" && /* @__PURE__ */ React3.createElement(Tree, {
162
169
  data: graph.toJSON()
163
- }), view === "config" && /* @__PURE__ */ React2.createElement(Json, {
170
+ }), view === "config" && /* @__PURE__ */ React3.createElement(Json, {
164
171
  data: data.diagnostics?.config
165
- }), view === "diagnostics" && /* @__PURE__ */ React2.createElement(Json, {
172
+ }), view === "diagnostics" && /* @__PURE__ */ React3.createElement(Json, {
166
173
  data
167
174
  }));
168
175
  };
@@ -172,4 +179,4 @@ var DebugApp_default = DebugApp;
172
179
  export {
173
180
  DebugApp_default as default
174
181
  };
175
- //# sourceMappingURL=DebugApp-LQHFFK3Y.mjs.map
182
+ //# sourceMappingURL=DebugApp-7PFYN52J.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/DebugApp/DebugApp.tsx", "../../../src/components/DebugApp/Tree.tsx", "../../../src/components/DebugApp/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Gauge, Graph as GraphIcon, Gear, Toolbox, Warning } from '@phosphor-icons/react';\nimport React, { type FC, useEffect, useState } from 'react';\n\nimport { type Graph } from '@dxos/plugin-graph';\nimport { useClient, useConfig } from '@dxos/react-client';\nimport { Button, ToggleGroup, ToggleGroupItem, Toolbar } from '@dxos/react-ui';\nimport { getSize, mx } from '@dxos/react-ui-theme';\n\nimport { Json, Tree } from './Tree';\nimport { Container } from '../Container';\n\nexport const DebugApp: FC<{ graph: Graph }> = ({ graph }) => {\n const [view, setView] = useState<'config' | 'diagnostics' | 'graph'>('graph');\n const [data, setData] = useState<any>({});\n const client = useClient();\n const config = useConfig();\n const handleRefresh = async () => {\n const data = await client.diagnostics({ truncate: true });\n setData(data);\n };\n useEffect(() => {\n void handleRefresh();\n }, []);\n\n const handleResetClient = async (force = false) => {\n if (!force && !window.confirm('Reset storage?')) {\n return;\n }\n\n // TODO(burdon): Throws exception.\n await client.reset();\n window.location.href = window.location.origin;\n };\n\n const handleOpenDevtools = () => {\n const vaultUrl = config.values?.runtime?.client?.remoteSource;\n if (vaultUrl) {\n window.open(`https://devtools.dev.dxos.org/?target=${vaultUrl}`);\n }\n };\n\n return (\n <Container\n toolbar={\n <Toolbar.Root classNames='p-1'>\n <ToggleGroup type='single' value={view}>\n <ToggleGroupItem value={'graph'} onClick={() => setView('graph')} title={'Plugin graph'}>\n <GraphIcon className={getSize(5)} />\n </ToggleGroupItem>\n <ToggleGroupItem value={'diagnostics'} onClick={() => setView('diagnostics')} title={'Diagnostics'}>\n <Gauge className={getSize(5)} />\n </ToggleGroupItem>\n <ToggleGroupItem value={'config'} onClick={() => setView('config')} title={'Config'}>\n <Gear className={getSize(5)} />\n </ToggleGroupItem>\n </ToggleGroup>\n\n <Toolbar.Separator variant='gap' />\n <Button onClick={(event) => handleResetClient(event.shiftKey)} title='Reset client'>\n <Warning className={mx(getSize(5), 'text-red-700')} />\n </Button>\n <Button onClick={handleOpenDevtools} title='Open Devtools'>\n <Toolbox weight='duotone' className={mx(getSize(5), 'text-700')} />\n </Button>\n </Toolbar.Root>\n }\n >\n {view === 'graph' && <Tree data={graph.toJSON()} />}\n {view === 'config' && <Json data={data.diagnostics?.config} />}\n {view === 'diagnostics' && <Json data={data} />}\n </Container>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type FC, type HTMLAttributes, useState } from 'react';\n\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { mx } from '@dxos/react-ui-theme';\nimport { arrayToBuffer } from '@dxos/util';\n\n// TODO(burdon): Copied form devtools.\n\nexport const replacer = (key: any, value: any) => {\n if (typeof value === 'object') {\n if (value instanceof Uint8Array) {\n return arrayToBuffer(value).toString('hex');\n }\n\n if (value?.type === 'Buffer') {\n return Buffer.from(value.data).toString('hex');\n }\n\n if (key === 'downloaded') {\n return undefined;\n }\n }\n\n return value;\n};\n\nexport const Json: FC<{ data?: object }> = ({ data }) => {\n return <SyntaxHighlighter language='json'>{JSON.stringify(data, replacer, 2)}</SyntaxHighlighter>;\n};\n\nexport const Tree: FC<{ data?: object }> = ({ data }) => {\n return (\n <div className='p-2'>\n <Node data={data} root />\n </div>\n );\n};\n\nexport const Node: FC<{ data?: any; root?: boolean }> = ({ data, root }) => {\n if (typeof data !== 'object' || data === undefined || data === null) {\n return <Scalar value={data} />;\n }\n\n if (Array.isArray(data)) {\n return (\n <div className='flex flex-col space-y-2'>\n {data.map((value, index) => (\n <KeyValue key={index} label={String(index)} data={value} className='bg-teal-50' />\n ))}\n </div>\n );\n }\n\n return (\n <div className='flex flex-col space-y-2'>\n {Object.entries(data).map(([key, value]) => (\n <KeyValue key={key} label={key} data={value} className='bg-blue-50' />\n ))}\n </div>\n );\n};\n\nexport const KeyValue: FC<{ label: string; data?: any; className?: string }> = ({ label, data, className }) => {\n const [open, setOpen] = useState(true);\n if (data === undefined) {\n return null;\n }\n\n return (\n <div className='flex'>\n <Box\n className={mx('border-blue-200 text-sm select-none cursor-pointer', className)}\n onClick={() => setOpen((open) => !open)}\n >\n {label}\n </Box>\n {open && <Node data={data} />}\n </div>\n );\n};\n\nconst Scalar: FC<{ value: any }> = ({ value }) => {\n return (\n <Box className='bg-green-50 border-green-200 rounded-r text-sm font-thin'>\n {(value === undefined && 'undefined') ||\n (value === null && 'null') ||\n (typeof value === 'string' && value) ||\n JSON.stringify(value)}\n </Box>\n );\n};\n\nconst Box: FC<HTMLAttributes<HTMLDivElement>> = ({ children, className, ...props }) => {\n return (\n <div className={mx('flex px-2 border border-l-0 font-mono truncate', className)} {...props}>\n {children}\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { DebugApp } from './DebugApp';\n\nexport default DebugApp;\n"],
5
- "mappings": "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",
6
- "names": ["Gauge", "Graph", "GraphIcon", "Gear", "Toolbox", "Warning", "React", "useEffect", "useState", "useClient", "useConfig", "Button", "ToggleGroup", "ToggleGroupItem", "Toolbar", "getSize", "mx", "React", "useState", "SyntaxHighlighter", "mx", "arrayToBuffer", "replacer", "key", "value", "Uint8Array", "arrayToBuffer", "toString", "type", "Buffer", "from", "data", "undefined", "Json", "SyntaxHighlighter", "language", "JSON", "stringify", "Tree", "div", "className", "Node", "root", "Scalar", "Array", "isArray", "map", "index", "KeyValue", "label", "String", "Object", "entries", "open", "setOpen", "useState", "Box", "mx", "onClick", "children", "props", "DebugApp", "graph", "view", "setView", "useState", "data", "setData", "client", "useClient", "config", "useConfig", "handleRefresh", "diagnostics", "truncate", "useEffect", "handleResetClient", "force", "window", "confirm", "reset", "location", "href", "origin", "handleOpenDevtools", "vaultUrl", "values", "runtime", "remoteSource", "open", "React", "Container", "toolbar", "Toolbar", "Root", "classNames", "ToggleGroup", "type", "value", "ToggleGroupItem", "onClick", "title", "GraphIcon", "className", "getSize", "Gauge", "Gear", "Separator", "variant", "Button", "event", "shiftKey", "Warning", "mx", "Toolbox", "weight", "Tree", "toJSON", "Json", "DebugApp"]
3
+ "sources": ["../../../src/components/DebugApp/DebugApp.tsx", "../../../src/components/DebugApp/Tree.tsx", "../../../src/components/Container.tsx", "../../../src/components/DebugApp/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Gauge, Graph as GraphIcon, Gear, Toolbox, Warning } from '@phosphor-icons/react';\nimport React, { type FC, useEffect, useState } from 'react';\n\nimport { type Graph } from '@dxos/plugin-graph';\nimport { useClient, useConfig } from '@dxos/react-client';\nimport { Button, ToggleGroup, ToggleGroupItem, Toolbar } from '@dxos/react-ui';\nimport { getSize, mx } from '@dxos/react-ui-theme';\n\nimport { Json, Tree } from './Tree';\nimport { Container } from '../Container';\n\nexport const DebugApp: FC<{ graph: Graph }> = ({ graph }) => {\n const [view, setView] = useState<'config' | 'diagnostics' | 'graph'>('graph');\n const [data, setData] = useState<any>({});\n const client = useClient();\n const config = useConfig();\n const handleRefresh = async () => {\n const data = await client.diagnostics({ truncate: true });\n setData(data);\n };\n useEffect(() => {\n void handleRefresh();\n }, []);\n\n const handleResetClient = async (force = false) => {\n if (!force && !window.confirm('Reset storage?')) {\n return;\n }\n\n // TODO(burdon): Throws exception.\n await client.reset();\n window.location.href = window.location.origin;\n };\n\n const handleOpenDevtools = () => {\n const vaultUrl = config.values?.runtime?.client?.remoteSource;\n if (vaultUrl) {\n window.open(`https://devtools.dev.dxos.org/?target=${vaultUrl}`);\n }\n };\n\n return (\n <Container\n toolbar={\n <Toolbar.Root classNames='p-1'>\n <ToggleGroup type='single' value={view}>\n <ToggleGroupItem value={'graph'} onClick={() => setView('graph')} title={'Plugin graph'}>\n <GraphIcon className={getSize(5)} />\n </ToggleGroupItem>\n <ToggleGroupItem value={'diagnostics'} onClick={() => setView('diagnostics')} title={'Diagnostics'}>\n <Gauge className={getSize(5)} />\n </ToggleGroupItem>\n <ToggleGroupItem value={'config'} onClick={() => setView('config')} title={'Config'}>\n <Gear className={getSize(5)} />\n </ToggleGroupItem>\n </ToggleGroup>\n\n <Toolbar.Separator variant='gap' />\n <Button onClick={(event) => handleResetClient(event.shiftKey)} title='Reset client'>\n <Warning className={mx(getSize(5), 'text-red-700')} />\n </Button>\n <Button onClick={handleOpenDevtools} title='Open Devtools'>\n <Toolbox weight='duotone' className={mx(getSize(5), 'text-700')} />\n </Button>\n </Toolbar.Root>\n }\n >\n {view === 'graph' && <Tree data={graph.toJSON()} />}\n {view === 'config' && <Json data={data.diagnostics?.config} />}\n {view === 'diagnostics' && <Json data={data} />}\n </Container>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type FC, type HTMLAttributes, useState } from 'react';\n\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { mx } from '@dxos/react-ui-theme';\nimport { arrayToBuffer } from '@dxos/util';\n\n// TODO(burdon): Copied form devtools.\n\nexport const replacer = (key: any, value: any) => {\n if (typeof value === 'object') {\n if (value instanceof Uint8Array) {\n return arrayToBuffer(value).toString('hex');\n }\n\n if (value?.type === 'Buffer') {\n return Buffer.from(value.data).toString('hex');\n }\n\n if (key === 'downloaded') {\n return undefined;\n }\n }\n\n return value;\n};\n\nexport const Json: FC<{ data?: object }> = ({ data }) => {\n return <SyntaxHighlighter language='json'>{JSON.stringify(data, replacer, 2)}</SyntaxHighlighter>;\n};\n\nexport const Tree: FC<{ data?: object }> = ({ data }) => {\n return (\n <div className='p-2'>\n <Node data={data} root />\n </div>\n );\n};\n\nexport const Node: FC<{ data?: any; root?: boolean }> = ({ data, root }) => {\n if (typeof data !== 'object' || data === undefined || data === null) {\n return <Scalar value={data} />;\n }\n\n if (Array.isArray(data)) {\n return (\n <div className='flex flex-col space-y-2'>\n {data.map((value, index) => (\n <KeyValue key={index} label={String(index)} data={value} className='bg-teal-50' />\n ))}\n </div>\n );\n }\n\n return (\n <div className='flex flex-col space-y-2'>\n {Object.entries(data).map(([key, value]) => (\n <KeyValue key={key} label={key} data={value} className='bg-blue-50' />\n ))}\n </div>\n );\n};\n\nexport const KeyValue: FC<{ label: string; data?: any; className?: string }> = ({ label, data, className }) => {\n const [open, setOpen] = useState(true);\n if (data === undefined) {\n return null;\n }\n\n return (\n <div className='flex'>\n <Box\n className={mx('border-blue-200 text-sm select-none cursor-pointer', className)}\n onClick={() => setOpen((open) => !open)}\n >\n {label}\n </Box>\n {open && <Node data={data} />}\n </div>\n );\n};\n\nconst Scalar: FC<{ value: any }> = ({ value }) => {\n return (\n <Box className='bg-green-50 border-green-200 rounded-r text-sm font-thin'>\n {(value === undefined && 'undefined') ||\n (value === null && 'null') ||\n (typeof value === 'string' && value) ||\n JSON.stringify(value)}\n </Box>\n );\n};\n\nconst Box: FC<HTMLAttributes<HTMLDivElement>> = ({ children, className, ...props }) => {\n return (\n <div className={mx('flex px-2 border border-l-0 font-mono truncate', className)} {...props}>\n {children}\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type PropsWithChildren, type ReactNode } from 'react';\n\n// TODO(burdon): Convert to grid.\nexport const Container = ({ toolbar, children }: PropsWithChildren<{ toolbar: ReactNode }>) => {\n return (\n <div role='none' className='flex flex-col grow overflow-hidden divide-y divide-separator'>\n {toolbar}\n <div className='flex flex-col grow overflow-auto'>{children}</div>\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { DebugApp } from './DebugApp';\n\nexport default DebugApp;\n"],
5
+ "mappings": "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",
6
+ "names": ["Gauge", "Graph", "GraphIcon", "Gear", "Toolbox", "Warning", "React", "useEffect", "useState", "useClient", "useConfig", "Button", "ToggleGroup", "ToggleGroupItem", "Toolbar", "getSize", "mx", "React", "useState", "SyntaxHighlighter", "mx", "arrayToBuffer", "replacer", "key", "value", "Uint8Array", "arrayToBuffer", "toString", "type", "Buffer", "from", "data", "undefined", "Json", "SyntaxHighlighter", "language", "JSON", "stringify", "Tree", "div", "className", "Node", "root", "Scalar", "Array", "isArray", "map", "index", "KeyValue", "label", "String", "Object", "entries", "open", "setOpen", "useState", "Box", "mx", "onClick", "children", "props", "React", "Container", "toolbar", "children", "React", "div", "role", "className", "DebugApp", "graph", "view", "setView", "useState", "data", "setData", "client", "useClient", "config", "useConfig", "handleRefresh", "diagnostics", "truncate", "useEffect", "handleResetClient", "force", "window", "confirm", "reset", "location", "href", "origin", "handleOpenDevtools", "vaultUrl", "values", "runtime", "remoteSource", "open", "React", "Container", "toolbar", "Toolbar", "Root", "classNames", "ToggleGroup", "type", "value", "ToggleGroupItem", "onClick", "title", "GraphIcon", "className", "getSize", "Gauge", "Gear", "Separator", "variant", "Button", "event", "shiftKey", "Warning", "mx", "Toolbox", "weight", "Tree", "toJSON", "Json", "DebugApp"]
7
7
  }
@@ -184,7 +184,7 @@ var createGenerator = (type) => {
184
184
  }).firstOrUndefined() ?? (await space.db.schemaRegistry.register([
185
185
  type
186
186
  ]))[0];
187
- const generate = createAsyncGenerator(generator, schema.getSchemaSnapshot(), {
187
+ const generate = createAsyncGenerator(generator, schema.snapshot, {
188
188
  db: space.db
189
189
  });
190
190
  const objects = await generate.createObjects(n);
@@ -214,7 +214,7 @@ import React from "react";
214
214
  import { IconButton } from "@dxos/react-ui";
215
215
  var SchemaTable = ({ types, objects = {}, label, onClick }) => {
216
216
  return /* @__PURE__ */ React.createElement("div", {
217
- className: "grid grid-cols-[1fr_80px_40px] gap-1 overflow-hidden"
217
+ className: "grid grid-cols-[1fr_80px_40px] gap-1 overflow-none"
218
218
  }, /* @__PURE__ */ React.createElement("div", {
219
219
  className: "grid grid-cols-subgrid col-span-3"
220
220
  }, /* @__PURE__ */ React.createElement("div", {
@@ -1138,9 +1138,10 @@ var SpaceGenerator = ({ space, onCreateObjects }) => {
1138
1138
  threads: []
1139
1139
  });
1140
1140
  await initializeTable({
1141
+ client,
1141
1142
  space,
1142
1143
  table,
1143
- initialSchema: schema.typename
1144
+ typename: schema.typename
1144
1145
  });
1145
1146
  await dispatch(createIntent(SpaceAction.AddObject, {
1146
1147
  target: space,
@@ -1179,7 +1180,7 @@ var SpaceGenerator = ({ space, onCreateObjects }) => {
1179
1180
  }, []);
1180
1181
  return /* @__PURE__ */ React2.createElement("div", {
1181
1182
  role: "none",
1182
- className: "flex flex-col divide-y divide-separator"
1183
+ className: "flex flex-col divide-y divide-separator overflow-y-auto"
1183
1184
  }, /* @__PURE__ */ React2.createElement(Toolbar.Root, {
1184
1185
  classNames: "p-1"
1185
1186
  }, /* @__PURE__ */ React2.createElement(IconButton2, {
@@ -1235,4 +1236,4 @@ var SpaceGenerator_default = SpaceGenerator;
1235
1236
  export {
1236
1237
  SpaceGenerator_default as default
1237
1238
  };
1238
- //# sourceMappingURL=SpaceGenerator-SPEJBGP7.mjs.map
1239
+ //# sourceMappingURL=SpaceGenerator-OIK3XDTA.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/SpaceGenerator/SpaceGenerator.tsx", "../../../src/components/SpaceGenerator/ObjectGenerator.tsx", "../../../src/components/SpaceGenerator/SchemaTable.tsx", "../../../src/components/SpaceGenerator/presets.ts", "../../../src/components/SpaceGenerator/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useMemo, useState } from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { ComputeGraph } from '@dxos/conductor';\nimport { toEffectSchema } from '@dxos/echo-schema';\nimport { create, type ReactiveObject } from '@dxos/live-object';\nimport { log } from '@dxos/log';\nimport { DocumentType } from '@dxos/plugin-markdown/types';\nimport { SheetType } from '@dxos/plugin-sheet/types';\nimport { DiagramType } from '@dxos/plugin-sketch/types';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { useClient } from '@dxos/react-client';\nimport { getTypename, type Space } from '@dxos/react-client/echo';\nimport { IconButton, Input, Toolbar, useAsyncEffect } from '@dxos/react-ui';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { initializeTable, TableType } from '@dxos/react-ui-table';\nimport { Testing } from '@dxos/schema/testing';\nimport { jsonKeyReplacer, sortKeys } from '@dxos/util';\n\nimport { type ObjectGenerator, createGenerator, staticGenerators } from './ObjectGenerator';\nimport { SchemaTable } from './SchemaTable';\nimport { presets } from './presets';\n\nexport type SpaceGeneratorProps = {\n space: Space;\n onCreateObjects?: (objects: ReactiveObject<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 = [\n Testing.OrgType,\n Testing.ProjectType,\n Testing.ContactType,\n Testing.EmailType,\n Testing.MessageType,\n ];\n const [count, setCount] = useState(1);\n const [info, setInfo] = useState<any>({});\n\n // Create type generators.\n const typeMap = useMemo(() => {\n client.addTypes([...staticTypes, ...presets.schemas]);\n const mutableGenerators = new Map<string, ObjectGenerator<any>>(\n mutableTypes.map((type) => [type.typename, createGenerator(type as any)]),\n );\n\n return new Map([...staticGenerators, ...presets.items, ...mutableGenerators]);\n }, [client, mutableTypes]);\n\n // Query space to get info.\n const updateInfo = async () => {\n // Create schema map.\n const echoSchema = await space.db.schemaRegistry.query().run();\n const staticSchema = space.db.graph.schemaRegistry.schemas;\n\n // Create object map.\n const { objects } = await space.db.query().run();\n const objectMap = sortKeys(\n objects.reduce<Record<string, number>>((map, obj) => {\n const type = getTypename(obj);\n if (type) {\n const count = map[type] ?? 0;\n map[type] = count + 1;\n }\n return map;\n }, {}),\n );\n\n setInfo({\n schema: {\n static: staticSchema.length,\n mutable: echoSchema.length,\n },\n objects: objectMap,\n });\n };\n\n useAsyncEffect(updateInfo, [space]);\n\n const handleCreateData = useCallback(\n async (typename: string) => {\n const constructor = typeMap.get(typename);\n if (constructor) {\n // TODO(burdon): Input to specify number of objects.\n await constructor(space, count, onCreateObjects);\n await updateInfo();\n }\n },\n [typeMap, count],\n );\n\n // TODO(wittjosiah): Remove. Replace with proper echo import.\n const handleLoadTables = useCallback(async () => {\n const input = document.createElement('input');\n input.type = 'file';\n input.accept = '.json';\n\n input.onchange = async (e) => {\n const file = (e.target as HTMLInputElement).files?.[0];\n if (!file) {\n return;\n }\n\n try {\n const content = await file.text();\n const data = JSON.parse(content);\n const schemas = await space.db.schemaRegistry.register(data.schemas.map(toEffectSchema));\n // TODO(wittjosiah): If the schema is already registered this should skip.\n await Promise.all(\n schemas.map(async (schema) => {\n const parts = schema.typename.split('/');\n const name = parts[parts.length - 1];\n const table = create(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 = create(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 { create, makeRef, type ReactiveObject } from '@dxos/live-object';\nimport { DocumentType } from '@dxos/plugin-markdown/types';\nimport { createSheet } from '@dxos/plugin-sheet/types';\nimport { SheetType, type CellValue } from '@dxos/plugin-sheet/types';\nimport { CanvasType, DiagramType } from '@dxos/plugin-sketch/types';\nimport { faker } from '@dxos/random';\nimport { Filter, type Space } from '@dxos/react-client/echo';\nimport { TableType } from '@dxos/react-ui-table';\nimport { createView, TextType } from '@dxos/schema';\nimport { createAsyncGenerator, type ValueGenerator } from '@dxos/schema/testing';\nimport { range } from '@dxos/util';\n\nconst generator: ValueGenerator = faker as any;\n\n// TODO(burdon): Add objects to collections.\n// TODO(burdon): Create docs.\n// TODO(burdon): Create sketches.\n// TODO(burdon): Create sheets.\n// TODO(burdon): Create comments.\n// TODO(burdon): Reuse in testbench-app.\n// TODO(burdon): Mutator running in background (factor out): from echo-generator.\n\nexport type ObjectGenerator<T extends BaseObject> = (\n space: Space,\n n: number,\n cb?: (objects: ReactiveObject<any>[]) => void,\n) => Promise<ReactiveObject<T>[]>;\n\nexport const staticGenerators = new Map<string, ObjectGenerator<any>>([\n [\n DocumentType.typename,\n async (space, n, cb) => {\n const objects = range(n).map(() => {\n return space.db.add(\n create(DocumentType, {\n name: faker.commerce.productName(),\n content: makeRef(create(TextType, { content: faker.lorem.sentences(5) })),\n threads: [],\n }),\n );\n });\n\n cb?.(objects);\n return objects;\n },\n ],\n [\n DiagramType.typename,\n async (space, n, cb) => {\n const objects = range(n).map(() => {\n // TODO(burdon): Generate diagram.\n const obj = space.db.add(\n create(DiagramType, {\n name: faker.commerce.productName(),\n canvas: makeRef(create(CanvasType, { content: {} })),\n }),\n );\n\n return obj;\n });\n\n cb?.(objects);\n return objects;\n },\n ],\n // TODO(burdon): Create unit tests.\n [\n SheetType.typename,\n async (space, n, cb) => {\n const objects = range(n).map(() => {\n const cells: Record<string, CellValue> = {};\n const year = new Date().getFullYear();\n const cols = 4;\n const rows = 16;\n for (let col = 1; col <= cols; col++) {\n for (let row = 1; row <= rows; row++) {\n const cell = addressToA1Notation({ col, row });\n if (row === 1) {\n cells[cell] = { value: `${year} Q${col}` };\n } else if (row === rows) {\n const from = addressToA1Notation({ col, row: 2 });\n const to = addressToA1Notation({ col, row: rows - 1 });\n cells[cell] = { value: `=SUM(${from}:${to})` };\n } else if (row > 2 && row < rows - 1) {\n cells[cell] = { value: Math.floor(Math.random() * 10_000) };\n }\n }\n }\n\n // TODO(burdon): Set width.\n // TODO(burdon): Set formatting for columns.\n return space.db.add(\n createSheet({\n name: faker.commerce.productName(),\n cells,\n }),\n );\n });\n\n cb?.(objects);\n return objects;\n },\n ],\n [\n ComputeGraph.typename,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const model = ComputeGraphModel.create();\n model.builder\n .createNode({ id: 'gpt-INPUT', type: NODE_INPUT })\n .createNode({ id: 'gpt-GPT', type: 'gpt' })\n .createNode({\n id: 'gpt-QUEUE_ID',\n type: 'constant',\n value: new DXN(DXN.kind.QUEUE, ['data', 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 (\n space: Space,\n n: number,\n cb?: (objects: ReactiveObject<any>[]) => void,\n ): Promise<ReactiveObject<T>[]> => {\n // Find or create mutable schema.\n const schema =\n (await space.db.schemaRegistry.query({ typename: type.typename }).firstOrUndefined()) ??\n (await space.db.schemaRegistry.register([type]))[0];\n\n // Create objects.\n const generate = createAsyncGenerator(generator, schema.snapshot, { db: space.db });\n const objects = await generate.createObjects(n);\n\n // Find or create table and view.\n const { objects: tables } = await space.db.query(Filter.schema(TableType)).run();\n const table = tables.find((table) => table.view?.target?.query?.typename === type.typename);\n if (!table) {\n const name = type.typename.split('/').pop() ?? type.typename;\n const view = createView({ name, typename: type.typename, jsonSchema: schema.jsonSchema });\n const table = space.db.add(create(TableType, { name, view: makeRef(view) }));\n cb?.([table]);\n }\n\n return objects;\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { IconButton } from '@dxos/react-ui';\n\nexport type SchemaTableProps = {\n types: any[];\n objects?: Record<string, number | undefined>;\n label: string;\n onClick: (typename: string) => void;\n};\n\nexport const SchemaTable = ({ types, objects = {}, label, onClick }: SchemaTableProps) => {\n return (\n <div className='grid grid-cols-[1fr_80px_40px] gap-1 overflow-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 { type ComputeGraphModel, EmailTriggerOutput, NODE_INPUT } from '@dxos/conductor';\nimport { AST, ObjectId, S, toJsonSchema } from '@dxos/echo-schema';\nimport { FunctionTrigger, TriggerKind, type TriggerType } from '@dxos/functions/types';\nimport { invariant } from '@dxos/invariant';\nimport { DXN } from '@dxos/keys';\nimport { create, makeRef } from '@dxos/live-object';\nimport { Filter, type Space } from '@dxos/react-client/echo';\nimport {\n type ComputeShape,\n createAppend,\n createChat,\n createComputeGraph,\n createConstant,\n createFunction,\n createGpt,\n createQueue,\n createSurface,\n createRandom,\n createTemplate,\n createText,\n createTrigger,\n} from '@dxos/react-ui-canvas-compute';\nimport {\n CanvasBoardType,\n CanvasGraphModel,\n pointMultiply,\n pointsToRect,\n rectToPoints,\n} from '@dxos/react-ui-canvas-editor';\nimport { TableType } from '@dxos/react-ui-table';\nimport { range } from '@dxos/util';\n\nimport { type ObjectGenerator } from './ObjectGenerator';\n\nexport enum PresetName {\n EMAIL_TABLE = 'email-table',\n GPT_QUEUE = 'webhook-gpt-queue',\n CHAT_GPT = 'chat-gpt-text',\n EMAIL_WITH_SUMMARY = 'email-gptSummary-table',\n OBJECT_CHANGE_QUEUE = 'objectChange-queue',\n FOREX_FUNCTION_CALL = 'forex-function-call',\n TIMER_TICK_QUEUE = 'timerTick-queue',\n DISCORD_MESSAGES = 'discord-messages',\n KANBAN_QUEUE = 'kanban-queue',\n}\n\nexport const presets = {\n schemas: [CanvasBoardType, FunctionTrigger],\n types: Object.values(PresetName).map((name) => ({ typename: name })),\n items: [\n [\n PresetName.GPT_QUEUE,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n let functionTrigger: FunctionTrigger | undefined;\n canvasModel.builder.call((builder) => {\n const gpt = canvasModel.createNode(createGpt(position({ x: 0, y: -14 })));\n const triggerShape = createTrigger({\n spaceId: space.id,\n triggerKind: TriggerKind.Webhook,\n ...position({ x: -18, y: -2 }),\n });\n const trigger = canvasModel.createNode(triggerShape);\n const text = canvasModel.createNode(createText(position({ x: 19, y: 3, width: 10, height: 10 })));\n const { queueId } = setupQueue(space, canvasModel);\n const append = canvasModel.createNode(createAppend(position({ x: 10, y: 6 })));\n\n builder\n .createEdge({ source: trigger.id, target: gpt.id, input: 'prompt', output: 'bodyText' })\n .createEdge({ source: gpt.id, target: text.id, output: 'text' })\n .createEdge({ source: queueId.id, target: append.id, input: 'id' })\n .createEdge({ source: gpt.id, target: append.id, output: 'messages', input: 'items' });\n\n functionTrigger = triggerShape.functionTrigger!.target!;\n });\n\n const computeModel = createComputeGraph(canvasModel);\n\n attachTrigger(functionTrigger, computeModel);\n\n return addToSpace(PresetName.GPT_QUEUE, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n [\n PresetName.OBJECT_CHANGE_QUEUE,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const { canvasModel, computeModel } = createQueueSinkPreset(\n space,\n TriggerKind.Subscription,\n (triggerSpec) => (triggerSpec.filter = { type: 'dxn:type:dxos.org/type/Chess' }),\n 'type',\n );\n return addToSpace(PresetName.OBJECT_CHANGE_QUEUE, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n [\n PresetName.TIMER_TICK_QUEUE,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const { canvasModel, computeModel } = createQueueSinkPreset(\n space,\n TriggerKind.Timer,\n (triggerSpec) => (triggerSpec.cron = '*/5 * * * * *'),\n 'result',\n );\n return addToSpace(PresetName.TIMER_TICK_QUEUE, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n [\n PresetName.EMAIL_TABLE,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n const results = space.db.query(Filter.schema(TableType)).runSync();\n const emailTable = results.find((r) => r.object?.view?.target?.query?.typename?.endsWith('Email'));\n invariant(emailTable, 'Email table not found.');\n\n const template = canvasModel.createNode(\n createTemplate({\n valueType: 'object',\n ...rawPosition({ centerX: -80, centerY: -64, width: 320, height: 320 }),\n }),\n );\n const templateContent = ['{'];\n\n let functionTrigger: FunctionTrigger | undefined;\n canvasModel.builder.call((builder) => {\n const triggerShape = createTrigger({\n spaceId: space.id,\n triggerKind: TriggerKind.Email,\n ...position({ x: -18, y: -2 }),\n });\n const trigger = canvasModel.createNode(triggerShape);\n\n const tableId = canvasModel.createNode(\n createConstant({\n value: DXN.fromLocalObjectId(emailTable.id).toString(),\n ...position({ x: -18, y: 5, width: 8, height: 6 }),\n }),\n );\n\n const appendToTable = canvasModel.createNode(createAppend(position({ x: 10, y: 6 })));\n\n const properties = AST.getPropertySignatures(EmailTriggerOutput.ast);\n for (let i = 0; i < properties.length; i++) {\n const propName = properties[i].name.toString();\n builder.createEdge({ source: trigger.id, target: template.id, input: propName, output: propName });\n templateContent.push(` \"${propName}\": \"{{${propName}}}\"` + (i === properties.length - 1 ? '' : ','));\n }\n templateContent.push('}');\n\n builder\n .createEdge({ source: tableId.id, target: appendToTable.id, input: 'id' })\n .createEdge({ source: template.id, target: appendToTable.id, input: 'items' });\n\n functionTrigger = triggerShape.functionTrigger!.target!;\n });\n\n const computeModel = createComputeGraph(canvasModel);\n\n const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);\n invariant(templateComputeNode, 'Template compute node was not created.');\n templateComputeNode.value = templateContent.join('\\n');\n templateComputeNode.inputSchema = toJsonSchema(EmailTriggerOutput);\n\n attachTrigger(functionTrigger, computeModel);\n\n return addToSpace(PresetName.EMAIL_TABLE, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n [\n PresetName.CHAT_GPT,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n canvasModel.builder.call((builder) => {\n const gpt = canvasModel.createNode(createGpt(position({ x: 0, y: -14 })));\n const chat = canvasModel.createNode(createChat(position({ x: -18, y: -2 })));\n const text = canvasModel.createNode(createText(position({ x: 19, y: 3, width: 10, height: 10 })));\n const { queueId } = setupQueue(space, canvasModel);\n\n const append = canvasModel.createNode(createAppend(position({ x: 10, y: 6 })));\n\n builder\n .createEdge({ source: chat.id, target: gpt.id, input: 'prompt' })\n .createEdge({ source: gpt.id, target: text.id, output: 'text' })\n .createEdge({ source: queueId.id, target: append.id, input: 'id' })\n .createEdge({ source: gpt.id, target: append.id, output: 'messages', input: 'items' });\n });\n\n const computeModel = createComputeGraph(canvasModel);\n\n return addToSpace(PresetName.CHAT_GPT, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n [\n PresetName.EMAIL_WITH_SUMMARY,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n const results = space.db.query(Filter.schema(TableType)).runSync();\n const emailTable = results.find((r) => r.object?.view?.target?.query?.typename?.endsWith('Email'));\n invariant(emailTable, 'Email table not found.');\n\n const template = canvasModel.createNode(\n createTemplate({\n valueType: 'object',\n ...rawPosition({ centerX: 192, centerY: -176, width: 320, height: 320 }),\n }),\n );\n const templateContent = ['{'];\n\n let functionTrigger: FunctionTrigger | undefined;\n canvasModel.builder.call((builder) => {\n const gpt = canvasModel.createNode(\n createGpt(rawPosition({ centerX: -400, centerY: -112, width: 256, height: 202 })),\n );\n const systemPrompt = canvasModel.createNode(\n createConstant({\n value: \"use one word to describe content category. don't write anything else\",\n ...rawPosition({ centerX: -800, centerY: -160, width: 192, height: 128 }),\n }),\n );\n const triggerShape = createTrigger({\n spaceId: space.id,\n triggerKind: TriggerKind.Email,\n ...rawPosition({ centerX: -736, centerY: -384, width: 182, height: 192 }),\n });\n const trigger = canvasModel.createNode(triggerShape);\n\n const { queueId } = setupQueue(space, canvasModel, {\n idPosition: { centerX: -720, centerY: 224, width: 192, height: 256 },\n queuePosition: { centerX: -144, centerY: 416, width: 320, height: 448 },\n });\n const appendToQueue = canvasModel.createNode(\n createAppend(rawPosition({ centerX: -80, centerY: 96, width: 122, height: 128 })),\n );\n\n const tableId = canvasModel.createNode(\n createConstant({\n value: DXN.fromLocalObjectId(emailTable.id).toString(),\n ...rawPosition({ centerX: -112, centerY: -544, width: 192, height: 256 }),\n }),\n );\n\n const appendToTable = canvasModel.createNode(\n createAppend(rawPosition({ centerX: 560, centerY: -416, width: 128, height: 122 })),\n );\n\n templateContent.push(' \"category\": \"{{text}}\",');\n builder.createEdge({ source: gpt.id, target: template.id, input: 'text', output: 'text' });\n\n const properties = AST.getPropertySignatures(EmailTriggerOutput.ast);\n for (let i = 0; i < properties.length; i++) {\n const propName = properties[i].name.toString();\n builder.createEdge({ source: trigger.id, target: template.id, input: propName, output: propName });\n templateContent.push(` \"${propName}\": \"{{${propName}}}\"` + (i === properties.length - 1 ? '' : ','));\n }\n templateContent.push('}');\n\n builder\n .createEdge({ source: tableId.id, target: appendToTable.id, input: 'id' })\n .createEdge({ source: queueId.id, target: appendToQueue.id, input: 'id' })\n .createEdge({ source: gpt.id, target: appendToQueue.id, output: 'messages', input: 'items' })\n .createEdge({ source: systemPrompt.id, target: gpt.id, input: 'systemPrompt' })\n .createEdge({ source: trigger.id, target: gpt.id, input: 'prompt', output: 'body' })\n .createEdge({ source: template.id, target: appendToTable.id, input: 'items' });\n\n functionTrigger = triggerShape.functionTrigger!.target!;\n });\n\n const computeModel = createComputeGraph(canvasModel);\n\n const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);\n invariant(templateComputeNode, 'Template compute node was not created.');\n templateComputeNode.value = templateContent.join('\\n');\n const extendedSchema = S.extend(EmailTriggerOutput, S.Struct({ text: S.String }));\n templateComputeNode.inputSchema = toJsonSchema(extendedSchema);\n\n attachTrigger(functionTrigger, computeModel);\n\n return addToSpace(PresetName.EMAIL_WITH_SUMMARY, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n [\n PresetName.FOREX_FUNCTION_CALL,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n canvasModel.builder.call((builder) => {\n const sourceCurrency = canvasModel.createNode(\n createConstant({ value: 'USD', ...position({ x: -10, y: -5 }) }),\n );\n const targetCurrency = canvasModel.createNode(\n createConstant({ value: 'EUR', ...position({ x: -10, y: 5 }) }),\n );\n const converter = canvasModel.createNode(createFunction(position({ x: 0, y: 0 })));\n const view = canvasModel.createNode(createSurface(position({ x: 12, y: 0 })));\n\n builder\n .createEdge({ source: sourceCurrency.id, target: converter.id, input: 'from' })\n .createEdge({ source: targetCurrency.id, target: converter.id, input: 'to' })\n .createEdge({ source: converter.id, target: view.id, output: 'rate' });\n });\n\n const computeModel = createComputeGraph(canvasModel);\n\n return addToSpace(PresetName.FOREX_FUNCTION_CALL, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n [\n PresetName.DISCORD_MESSAGES,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n let functionTrigger: FunctionTrigger | undefined;\n canvasModel.builder.call((builder) => {\n const triggerShape = createTrigger({\n spaceId: space.id,\n triggerKind: TriggerKind.Timer,\n ...position({ x: -10, y: -5 }),\n });\n const trigger = canvasModel.createNode(triggerShape);\n // DXOS dev-null channel.\n const channelId = canvasModel.createNode(\n createConstant({ value: '1088569858767212554', ...position({ x: -10, y: 0 }) }),\n );\n const queueId = canvasModel.createNode(\n createConstant({\n value: new DXN(DXN.kind.QUEUE, ['data', space.id, ObjectId.random()]).toString(),\n ...position({ x: -10, y: 5 }),\n }),\n );\n const converter = canvasModel.createNode(createFunction(position({ x: 0, y: 0 })));\n const view = canvasModel.createNode(createText(position({ x: 12, y: 0 })));\n const queue = canvasModel.createNode(createQueue(position({ x: 0, y: 12 })));\n\n builder\n .createEdge({ source: trigger.id, target: converter.id, input: 'tick' })\n .createEdge({ source: channelId.id, target: converter.id, input: 'channelId' })\n .createEdge({ source: queueId.id, target: converter.id, input: 'queueId' })\n .createEdge({ source: converter.id, target: view.id, output: 'newMessages' })\n .createEdge({ source: queueId.id, target: queue.id, input: 'input' });\n\n functionTrigger = triggerShape.functionTrigger!.target!;\n });\n\n const computeModel = createComputeGraph(canvasModel);\n attachTrigger(functionTrigger, computeModel);\n\n return addToSpace(PresetName.DISCORD_MESSAGES, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n\n [\n PresetName.KANBAN_QUEUE,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n // TODO(wittjosiah): Integrate directly w/ Kanban.\n // const results = space.db.query(Filter.schema(KanbanType)).runSync();\n // const kanban = results.find((r) => r.object?.cardView?.target?.query?.type?.endsWith('Message'));\n // invariant(kanban, 'Kanban not found.');\n\n const results = space.db.query(Filter.schema(TableType)).runSync();\n const messages = results.find((r) => r.object?.view?.target?.query?.typename?.endsWith('Message'));\n invariant(messages, 'Table not found.');\n\n let functionTrigger: FunctionTrigger | undefined;\n canvasModel.builder.call((builder) => {\n const triggerShape = createTrigger({\n spaceId: space.id,\n triggerKind: TriggerKind.Queue,\n ...position({ x: -10, y: -5 }),\n });\n const trigger = canvasModel.createNode(triggerShape);\n\n const tableId = canvasModel.createNode(\n createConstant({\n value: DXN.fromLocalObjectId(messages.id).toString(),\n ...position({ x: -10, y: 5 }),\n }),\n );\n const appendToTable = canvasModel.createNode(createAppend(position({ x: 10, y: 0 })));\n\n builder\n .createEdge({ source: tableId.id, target: appendToTable.id, input: 'id' })\n .createEdge({ source: trigger.id, target: appendToTable.id, input: 'items', output: 'item' });\n\n functionTrigger = triggerShape.functionTrigger!.target!;\n });\n\n const computeModel = createComputeGraph(canvasModel);\n attachTrigger(functionTrigger, computeModel);\n\n return addToSpace(PresetName.KANBAN_QUEUE, space, canvasModel, computeModel);\n });\n cb?.(objects);\n return objects;\n },\n ],\n ] as [PresetName, ObjectGenerator<any>][],\n};\n\nconst createQueueSinkPreset = <SpecType extends TriggerKind>(\n space: Space,\n triggerKind: SpecType,\n initSpec: (spec: Extract<TriggerType, { type: SpecType }>) => void,\n triggerOutputName: string,\n) => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n const template = canvasModel.createNode(\n createTemplate({\n valueType: 'object',\n ...rawPosition({ centerX: -64, centerY: -79, width: 320, height: 320 }),\n }),\n );\n\n let functionTrigger: FunctionTrigger | undefined;\n canvasModel.builder.call((builder) => {\n const triggerShape = createTrigger({\n spaceId: space.id,\n triggerKind,\n ...rawPosition({ centerX: -578, centerY: -187, height: 320, width: 320 }),\n });\n const trigger = canvasModel.createNode(triggerShape);\n const { queueId } = setupQueue(space, canvasModel, {\n queuePosition: { centerX: -80, centerY: 378, width: 320, height: 448 },\n });\n const append = canvasModel.createNode(\n createAppend(rawPosition({ centerX: 320, centerY: 192, width: 128, height: 122 })),\n );\n const random = canvasModel.createNode(\n createRandom(rawPosition({ centerX: -509, centerY: -30, width: 64, height: 64 })),\n );\n\n builder\n .createEdge({ source: queueId.id, target: append.id, input: 'id' })\n .createEdge({ source: template.id, target: append.id, input: 'items' })\n .createEdge({ source: trigger.id, target: template.id, output: triggerOutputName, input: 'type' })\n .createEdge({\n source: random.id,\n target: template.id,\n input: 'changeId',\n });\n\n functionTrigger = triggerShape.functionTrigger!.target!;\n const triggerSpec = functionTrigger.spec;\n invariant(triggerSpec && triggerSpec.type === triggerKind, 'No trigger spec.');\n initSpec(triggerSpec as any);\n });\n\n const computeModel = createComputeGraph(canvasModel);\n\n const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);\n invariant(templateComputeNode, 'Template compute node was not created.');\n templateComputeNode.value = ['{', ' \"@type\": \"{{type}}\",', ' \"id\": \"@{{changeId}}\"', '}'].join('\\n');\n templateComputeNode.inputSchema = toJsonSchema(S.Struct({ type: S.String, changeId: S.String }));\n\n attachTrigger(functionTrigger, computeModel);\n\n return { canvasModel, computeModel };\n};\n\nconst addToSpace = (name: string, space: Space, canvas: CanvasGraphModel, compute: ComputeGraphModel) => {\n return space.db.add(\n create(CanvasBoardType, {\n name,\n computeGraph: makeRef(compute.root),\n layout: canvas.graph,\n }),\n );\n};\n\nconst setupQueue = (\n 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 = DXN.fromLocalObjectId(computeModel.root.id).toString();\n functionTrigger.meta ??= {};\n const inputNode = computeModel.nodes.find((node) => node.type === NODE_INPUT)!;\n functionTrigger.meta.computeNodeId = inputNode.id;\n};\n\ntype RawPositionInput = { centerX: number; centerY: number; width: number; height: number };\n\nconst rawPosition = (args: RawPositionInput) => {\n return { center: { x: args.centerX, y: args.centerY }, size: { width: args.width, height: args.height } };\n};\n\nconst position = (rect: { x: number; y: number; width?: number; height?: number }) => {\n const snap = 32;\n const [center, size] = rectToPoints({ width: 0, height: 0, ...rect });\n const { x, y, width, height } = pointsToRect([pointMultiply(center, snap), pointMultiply(size, snap)]);\n if (width && height) {\n return { center: { x, y }, size: width && height ? { width, height } : undefined };\n } else {\n return { center: { x, y } };\n }\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SpaceGenerator } from './SpaceGenerator';\n\nexport default SpaceGenerator;\n"],
5
+ "mappings": ";AAIA,OAAOA,UAASC,aAAaC,SAASC,gBAAgB;AAEtD,SAASC,cAAcC,2BAA2B;AAClD,SAASC,gBAAAA,qBAAoB;AAC7B,SAASC,sBAAsB;AAC/B,SAASC,UAAAA,eAAmC;AAC5C,SAASC,WAAW;AACpB,SAASC,gBAAAA,qBAAoB;AAC7B,SAASC,aAAAA,kBAAiB;AAC1B,SAASC,eAAAA,oBAAmB;AAC5B,SAASC,mBAAmB;AAC5B,SAASC,iBAAiB;AAC1B,SAASC,mBAA+B;AACxC,SAASC,cAAAA,aAAYC,OAAOC,SAASC,sBAAsB;AAC3D,SAASC,yBAAyB;AAClC,SAASC,iBAAiBC,aAAAA,kBAAiB;AAC3C,SAASC,eAAe;AACxB,SAASC,iBAAiBC,gBAAgB;;;ACjB1C,SAASC,2BAA2B;AACpC,SAASC,cAAcC,mBAAmBC,gBAAgBC,YAAYC,mBAAmB;AACzF,SAASC,gBAAmD;AAC5D,SAASC,WAAW;AACpB,SAASC,QAAQC,eAAoC;AACrD,SAASC,oBAAoB;AAC7B,SAASC,mBAAmB;AAC5B,SAASC,iBAAiC;AAC1C,SAASC,YAAYC,mBAAmB;AACxC,SAASC,aAAa;AACtB,SAASC,cAA0B;AACnC,SAASC,iBAAiB;AAC1B,SAASC,YAAYC,gBAAgB;AACrC,SAASC,4BAAiD;AAC1D,SAASC,aAAa;AAEtB,IAAMC,YAA4BC;AAgB3B,IAAMC,mBAAmB,oBAAIC,IAAkC;EACpE;IACEC,aAAaC;IACb,OAAOC,OAAOC,GAAGC,OAAAA;AACf,YAAMC,UAAUC,MAAMH,CAAAA,EAAGI,IAAI,MAAA;AAC3B,eAAOL,MAAMM,GAAGC,IACdC,OAAOV,cAAc;UACnBW,MAAMd,MAAMe,SAASC,YAAW;UAChCC,SAASC,QAAQL,OAAOM,UAAU;YAAEF,SAASjB,MAAMoB,MAAMC,UAAU,CAAA;UAAG,CAAA,CAAA;UACtEC,SAAS,CAAA;QACX,CAAA,CAAA;MAEJ,CAAA;AAEAf,WAAKC,OAAAA;AACL,aAAOA;IACT;;EAEF;IACEe,YAAYnB;IACZ,OAAOC,OAAOC,GAAGC,OAAAA;AACf,YAAMC,UAAUC,MAAMH,CAAAA,EAAGI,IAAI,MAAA;AAE3B,cAAMc,MAAMnB,MAAMM,GAAGC,IACnBC,OAAOU,aAAa;UAClBT,MAAMd,MAAMe,SAASC,YAAW;UAChCS,QAAQP,QAAQL,OAAOa,YAAY;YAAET,SAAS,CAAC;UAAE,CAAA,CAAA;QACnD,CAAA,CAAA;AAGF,eAAOO;MACT,CAAA;AAEAjB,WAAKC,OAAAA;AACL,aAAOA;IACT;;;EAGF;IACEmB,UAAUvB;IACV,OAAOC,OAAOC,GAAGC,OAAAA;AACf,YAAMC,UAAUC,MAAMH,CAAAA,EAAGI,IAAI,MAAA;AAC3B,cAAMkB,QAAmC,CAAC;AAC1C,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,eAAOtC,MAAMM,GAAGC,IACdgC,YAAY;UACV9B,MAAMd,MAAMe,SAASC,YAAW;UAChCY;QACF,CAAA,CAAA;MAEJ,CAAA;AAEArB,WAAKC,OAAAA;AACL,aAAOA;IACT;;EAEF;IACEqC,aAAazC;IACb,OAAOC,OAAOC,GAAGC,OAAAA;AACf,YAAMC,UAAUC,MAAMH,GAAG,MAAA;AACvB,cAAMwC,QAAQC,kBAAkBlC,OAAM;AACtCiC,cAAME,QACHC,WAAW;UAAEC,IAAI;UAAaC,MAAMC;QAAW,CAAA,EAC/CH,WAAW;UAAEC,IAAI;UAAWC,MAAM;QAAM,CAAA,EACxCF,WAAW;UACVC,IAAI;UACJC,MAAM;UACNb,OAAO,IAAIe,IAAIA,IAAIC,KAAKC,OAAO;YAAC;YAAQlD,MAAM6C;YAAIM,SAASb,OAAM;WAAG,EAAEc,SAAQ;QAChF,CAAA,EACCR,WAAW;UAAEC,IAAI;UAAcC,MAAM;QAAS,CAAA,EAC9CF,WAAW;UAAEC,IAAI;UAAcC,MAAMO;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,eAAOxD,MAAMM,GAAGC,IAAIkC,MAAMiB,IAAI;MAChC,CAAA;AACAxD,WAAKC,OAAAA;AACL,aAAOA;IACT;;CAEH;AAEM,IAAMwD,kBAAkB,CAAuBb,SAAAA;AACpD,SAAO,OACL9C,OACAC,GACAC,OAAAA;AAGA,UAAM0D,SACH,MAAM5D,MAAMM,GAAGuD,eAAeC,MAAM;MAAE/D,UAAU+C,KAAK/C;IAAS,CAAA,EAAGgE,iBAAgB,MACjF,MAAM/D,MAAMM,GAAGuD,eAAeG,SAAS;MAAClB;KAAK,GAAG,CAAA;AAGnD,UAAMmB,WAAWC,qBAAqBxE,WAAWkE,OAAOO,UAAU;MAAE7D,IAAIN,MAAMM;IAAG,CAAA;AACjF,UAAMH,UAAU,MAAM8D,SAASG,cAAcnE,CAAAA;AAG7C,UAAM,EAAEE,SAASkE,OAAM,IAAK,MAAMrE,MAAMM,GAAGwD,MAAMQ,OAAOV,OAAOW,SAAAA,CAAAA,EAAYC,IAAG;AAC9E,UAAMC,QAAQJ,OAAOK,KAAK,CAACD,WAAUA,OAAME,MAAMC,QAAQd,OAAO/D,aAAa+C,KAAK/C,QAAQ;AAC1F,QAAI,CAAC0E,OAAO;AACV,YAAMhE,OAAOqC,KAAK/C,SAAS8E,MAAM,GAAA,EAAKC,IAAG,KAAMhC,KAAK/C;AACpD,YAAM4E,OAAOI,WAAW;QAAEtE;QAAMV,UAAU+C,KAAK/C;QAAUiF,YAAYpB,OAAOoB;MAAW,CAAA;AACvF,YAAMP,SAAQzE,MAAMM,GAAGC,IAAIC,OAAO+D,WAAW;QAAE9D;QAAMkE,MAAM9D,QAAQ8D,IAAAA;MAAM,CAAA,CAAA;AACzEzE,WAAK;QAACuE;OAAM;IACd;AAEA,WAAOtE;EACT;AACF;;;ACnKA,OAAO8E,WAAW;AAElB,SAASC,kBAAkB;AASpB,IAAMC,cAAc,CAAC,EAAEC,OAAOC,UAAU,CAAC,GAAGC,OAAOC,QAAO,MAAoB;AACnF,SACE,sBAAA,cAACC,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACD,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACD,OAAAA;IAAIC,WAAU;KAAiCH,KAAAA,GAChD,sBAAA,cAACE,OAAAA;IAAIC,WAAU;KAAuC,OAAA,CAAA,GAEvDL,MAAMM,IAAI,CAACC,SACV,sBAAA,cAACH,OAAAA;IAAII,KAAKD,KAAKE;IAAUJ,WAAU;KACjC,sBAAA,cAACD,OAAAA;IAAIC,WAAU;KAAyCE,KAAKE,QAAQ,GACrE,sBAAA,cAACL,OAAAA;IAAIC,WAAU;KAA6BJ,QAAQM,KAAKE,QAAQ,KAAK,CAAA,GACtE,sBAAA,cAACC,YAAAA;IACCC,SAAQ;IACRC,MAAK;IACLC,UAAAA;IACAX,OAAM;IACNC,SAAS,MAAMA,QAAQI,KAAKE,QAAQ;;AAMhD;;;ACjCA,SAAiCK,oBAAoBC,cAAAA,mBAAkB;AACvE,SAASC,KAAKC,YAAAA,WAAUC,GAAGC,oBAAoB;AAC/C,SAASC,iBAAiBC,mBAAqC;AAC/D,SAASC,iBAAiB;AAC1B,SAASC,OAAAA,YAAW;AACpB,SAASC,UAAAA,SAAQC,WAAAA,gBAAe;AAChC,SAASC,UAAAA,eAA0B;AACnC,SAEEC,cACAC,YACAC,oBACAC,gBACAC,gBACAC,WACAC,aACAC,eACAC,cACAC,gBACAC,YACAC,qBACK;AACP,SACEC,iBACAC,kBACAC,eACAC,cACAC,oBACK;AACP,SAASC,aAAAA,kBAAiB;AAC1B,SAASC,SAAAA,cAAa;;;UAIVC,aAAAA;;;;;;;;;;GAAAA,eAAAA,aAAAA,CAAAA,EAAAA;AAYL,IAAMC,UAAU;EACrBC,SAAS;IAACT;IAAiBnB;;EAC3B6B,OAAOC,OAAOC,OAAOL,UAAAA,EAAYM,IAAI,CAACC,UAAU;IAAEC,UAAUD;EAAK,EAAA;EACjEE,OAAO;IACL;;MAEE,OAAOC,OAAOC,GAAGC,OAAAA;AACf,cAAMC,UAAUd,OAAMY,GAAG,MAAA;AACvB,gBAAMG,cAAcpB,iBAAiBhB,OAAM;AAE3C,cAAIqC;AACJD,sBAAYE,QAAQC,KAAK,CAACD,YAAAA;AACxB,kBAAME,MAAMJ,YAAYK,WAAWjC,UAAUkC,SAAS;cAAEC,GAAG;cAAGC,GAAG;YAAI,CAAA,CAAA,CAAA;AACrE,kBAAMC,eAAe/B,cAAc;cACjCgC,SAASd,MAAMe;cACfC,aAAanD,YAAYoD;cACzB,GAAGP,SAAS;gBAAEC,GAAG;gBAAKC,GAAG;cAAG,CAAA;YAC9B,CAAA;AACA,kBAAMM,UAAUd,YAAYK,WAAWI,YAAAA;AACvC,kBAAMM,OAAOf,YAAYK,WAAW5B,WAAW6B,SAAS;cAAEC,GAAG;cAAIC,GAAG;cAAGQ,OAAO;cAAIC,QAAQ;YAAG,CAAA,CAAA,CAAA;AAC7F,kBAAM,EAAEC,QAAO,IAAKC,WAAWvB,OAAOI,WAAAA;AACtC,kBAAMoB,SAASpB,YAAYK,WAAWtC,aAAauC,SAAS;cAAEC,GAAG;cAAIC,GAAG;YAAE,CAAA,CAAA,CAAA;AAE1EN,oBACGmB,WAAW;cAAEC,QAAQR,QAAQH;cAAIY,QAAQnB,IAAIO;cAAIa,OAAO;cAAUC,QAAQ;YAAW,CAAA,EACrFJ,WAAW;cAAEC,QAAQlB,IAAIO;cAAIY,QAAQR,KAAKJ;cAAIc,QAAQ;YAAO,CAAA,EAC7DJ,WAAW;cAAEC,QAAQJ,QAAQP;cAAIY,QAAQH,OAAOT;cAAIa,OAAO;YAAK,CAAA,EAChEH,WAAW;cAAEC,QAAQlB,IAAIO;cAAIY,QAAQH,OAAOT;cAAIc,QAAQ;cAAYD,OAAO;YAAQ,CAAA;AAEtFvB,8BAAkBQ,aAAaR,gBAAiBsB;UAClD,CAAA;AAEA,gBAAMG,eAAezD,mBAAmB+B,WAAAA;AAExC2B,wBAAc1B,iBAAiByB,YAAAA;AAE/B,iBAAOE,WAAAA,qBAAiChC,OAAOI,aAAa0B,YAAAA;QAC9D,CAAA;AACA5B,aAAKC,OAAAA;AACL,eAAOA;MACT;;IAGF;;MAEE,OAAOH,OAAOC,GAAGC,OAAAA;AACf,cAAMC,UAAUd,OAAMY,GAAG,MAAA;AACvB,gBAAM,EAAEG,aAAa0B,aAAY,IAAKG,sBACpCjC,OACAnC,YAAYqE,cACZ,CAACC,gBAAiBA,YAAYC,SAAS;YAAEC,MAAM;UAA+B,GAC9E,MAAA;AAEF,iBAAOL,WAAAA,sBAA2ChC,OAAOI,aAAa0B,YAAAA;QACxE,CAAA;AACA5B,aAAKC,OAAAA;AACL,eAAOA;MACT;;IAGF;;MAEE,OAAOH,OAAOC,GAAGC,OAAAA;AACf,cAAMC,UAAUd,OAAMY,GAAG,MAAA;AACvB,gBAAM,EAAEG,aAAa0B,aAAY,IAAKG,sBACpCjC,OACAnC,YAAYyE,OACZ,CAACH,gBAAiBA,YAAYI,OAAO,iBACrC,QAAA;AAEF,iBAAOP,WAAAA,mBAAwChC,OAAOI,aAAa0B,YAAAA;QACrE,CAAA;AACA5B,aAAKC,OAAAA;AACL,eAAOA;MACT;;IAGF;;MAEE,OAAOH,OAAOC,GAAGC,OAAAA;AACf,cAAMC,UAAUd,OAAMY,GAAG,MAAA;AACvB,gBAAMG,cAAcpB,iBAAiBhB,OAAM;AAE3C,gBAAMwE,UAAUxC,MAAMyC,GAAGC,MAAMxE,QAAOyE,OAAOvD,UAAAA,CAAAA,EAAYwD,QAAO;AAChE,gBAAMC,aAAaL,QAAQM,KAAK,CAACC,MAAMA,EAAEC,QAAQC,MAAMtB,QAAQe,OAAO5C,UAAUoD,SAAS,OAAA,CAAA;AACzFpF,oBAAU+E,YAAY,0BAAA;;;;;;;;;AAEtB,gBAAMM,WAAW/C,YAAYK,WAC3B7B,eAAe;YACbwE,WAAW;YACX,GAAGC,YAAY;cAAEC,SAAS;cAAKC,SAAS;cAAKnC,OAAO;cAAKC,QAAQ;YAAI,CAAA;UACvE,CAAA,CAAA;AAEF,gBAAMmC,kBAAkB;YAAC;;AAEzB,cAAInD;AACJD,sBAAYE,QAAQC,KAAK,CAACD,YAAAA;AACxB,kBAAMO,eAAe/B,cAAc;cACjCgC,SAASd,MAAMe;cACfC,aAAanD,YAAY4F;cACzB,GAAG/C,SAAS;gBAAEC,GAAG;gBAAKC,GAAG;cAAG,CAAA;YAC9B,CAAA;AACA,kBAAMM,UAAUd,YAAYK,WAAWI,YAAAA;AAEvC,kBAAM6C,UAAUtD,YAAYK,WAC1BnC,eAAe;cACbqF,OAAO5F,KAAI6F,kBAAkBf,WAAW9B,EAAE,EAAE8C,SAAQ;cACpD,GAAGnD,SAAS;gBAAEC,GAAG;gBAAKC,GAAG;gBAAGQ,OAAO;gBAAGC,QAAQ;cAAE,CAAA;YAClD,CAAA,CAAA;AAGF,kBAAMyC,gBAAgB1D,YAAYK,WAAWtC,aAAauC,SAAS;cAAEC,GAAG;cAAIC,GAAG;YAAE,CAAA,CAAA,CAAA;AAEjF,kBAAMmD,aAAavG,IAAIwG,sBAAsB1G,mBAAmB2G,GAAG;AACnE,qBAASC,IAAI,GAAGA,IAAIH,WAAWI,QAAQD,KAAK;AAC1C,oBAAME,WAAWL,WAAWG,CAAAA,EAAGrE,KAAKgE,SAAQ;AAC5CvD,sBAAQmB,WAAW;gBAAEC,QAAQR,QAAQH;gBAAIY,QAAQwB,SAASpC;gBAAIa,OAAOwC;gBAAUvC,QAAQuC;cAAS,CAAA;AAChGZ,8BAAgBa,KAAK,MAAMD,QAAAA,SAAiBA,QAAAA,SAAiBF,MAAMH,WAAWI,SAAS,IAAI,KAAK,IAAE;YACpG;AACAX,4BAAgBa,KAAK,GAAA;AAErB/D,oBACGmB,WAAW;cAAEC,QAAQgC,QAAQ3C;cAAIY,QAAQmC,cAAc/C;cAAIa,OAAO;YAAK,CAAA,EACvEH,WAAW;cAAEC,QAAQyB,SAASpC;cAAIY,QAAQmC,cAAc/C;cAAIa,OAAO;YAAQ,CAAA;AAE9EvB,8BAAkBQ,aAAaR,gBAAiBsB;UAClD,CAAA;AAEA,gBAAMG,eAAezD,mBAAmB+B,WAAAA;AAExC,gBAAMkE,sBAAsBxC,aAAayC,MAAMzB,KAAK,CAAC7C,OAAMA,GAAEc,OAAOoC,SAASqB,IAAI;AACjF1G,oBAAUwG,qBAAqB,0CAAA;;;;;;;;;AAC/BA,8BAAoBX,QAAQH,gBAAgBiB,KAAK,IAAA;AACjDH,8BAAoBI,cAAc/G,aAAaL,kBAAAA;AAE/CyE,wBAAc1B,iBAAiByB,YAAAA;AAE/B,iBAAOE,WAAAA,eAAmChC,OAAOI,aAAa0B,YAAAA;QAChE,CAAA;AACA5B,aAAKC,OAAAA;AACL,eAAOA;MACT;;IAGF;;MAEE,OAAOH,OAAOC,GAAGC,OAAAA;AACf,cAAMC,UAAUd,OAAMY,GAAG,MAAA;AACvB,gBAAMG,cAAcpB,iBAAiBhB,OAAM;AAE3CoC,sBAAYE,QAAQC,KAAK,CAACD,YAAAA;AACxB,kBAAME,MAAMJ,YAAYK,WAAWjC,UAAUkC,SAAS;cAAEC,GAAG;cAAGC,GAAG;YAAI,CAAA,CAAA,CAAA;AACrE,kBAAM+D,OAAOvE,YAAYK,WAAWrC,WAAWsC,SAAS;cAAEC,GAAG;cAAKC,GAAG;YAAG,CAAA,CAAA,CAAA;AACxE,kBAAMO,OAAOf,YAAYK,WAAW5B,WAAW6B,SAAS;cAAEC,GAAG;cAAIC,GAAG;cAAGQ,OAAO;cAAIC,QAAQ;YAAG,CAAA,CAAA,CAAA;AAC7F,kBAAM,EAAEC,QAAO,IAAKC,WAAWvB,OAAOI,WAAAA;AAEtC,kBAAMoB,SAASpB,YAAYK,WAAWtC,aAAauC,SAAS;cAAEC,GAAG;cAAIC,GAAG;YAAE,CAAA,CAAA,CAAA;AAE1EN,oBACGmB,WAAW;cAAEC,QAAQiD,KAAK5D;cAAIY,QAAQnB,IAAIO;cAAIa,OAAO;YAAS,CAAA,EAC9DH,WAAW;cAAEC,QAAQlB,IAAIO;cAAIY,QAAQR,KAAKJ;cAAIc,QAAQ;YAAO,CAAA,EAC7DJ,WAAW;cAAEC,QAAQJ,QAAQP;cAAIY,QAAQH,OAAOT;cAAIa,OAAO;YAAK,CAAA,EAChEH,WAAW;cAAEC,QAAQlB,IAAIO;cAAIY,QAAQH,OAAOT;cAAIc,QAAQ;cAAYD,OAAO;YAAQ,CAAA;UACxF,CAAA;AAEA,gBAAME,eAAezD,mBAAmB+B,WAAAA;AAExC,iBAAO4B,WAAAA,iBAAgChC,OAAOI,aAAa0B,YAAAA;QAC7D,CAAA;AACA5B,aAAKC,OAAAA;AACL,eAAOA;MACT;;IAGF;;MAEE,OAAOH,OAAOC,GAAGC,OAAAA;AACf,cAAMC,UAAUd,OAAMY,GAAG,MAAA;AACvB,gBAAMG,cAAcpB,iBAAiBhB,OAAM;AAE3C,gBAAMwE,UAAUxC,MAAMyC,GAAGC,MAAMxE,QAAOyE,OAAOvD,UAAAA,CAAAA,EAAYwD,QAAO;AAChE,gBAAMC,aAAaL,QAAQM,KAAK,CAACC,MAAMA,EAAEC,QAAQC,MAAMtB,QAAQe,OAAO5C,UAAUoD,SAAS,OAAA,CAAA;AACzFpF,oBAAU+E,YAAY,0BAAA;;;;;;;;;AAEtB,gBAAMM,WAAW/C,YAAYK,WAC3B7B,eAAe;YACbwE,WAAW;YACX,GAAGC,YAAY;cAAEC,SAAS;cAAKC,SAAS;cAAMnC,OAAO;cAAKC,QAAQ;YAAI,CAAA;UACxE,CAAA,CAAA;AAEF,gBAAMmC,kBAAkB;YAAC;;AAEzB,cAAInD;AACJD,sBAAYE,QAAQC,KAAK,CAACD,YAAAA;AACxB,kBAAME,MAAMJ,YAAYK,WACtBjC,UAAU6E,YAAY;cAAEC,SAAS;cAAMC,SAAS;cAAMnC,OAAO;cAAKC,QAAQ;YAAI,CAAA,CAAA,CAAA;AAEhF,kBAAMuD,eAAexE,YAAYK,WAC/BnC,eAAe;cACbqF,OAAO;cACP,GAAGN,YAAY;gBAAEC,SAAS;gBAAMC,SAAS;gBAAMnC,OAAO;gBAAKC,QAAQ;cAAI,CAAA;YACzE,CAAA,CAAA;AAEF,kBAAMR,eAAe/B,cAAc;cACjCgC,SAASd,MAAMe;cACfC,aAAanD,YAAY4F;cACzB,GAAGJ,YAAY;gBAAEC,SAAS;gBAAMC,SAAS;gBAAMnC,OAAO;gBAAKC,QAAQ;cAAI,CAAA;YACzE,CAAA;AACA,kBAAMH,UAAUd,YAAYK,WAAWI,YAAAA;AAEvC,kBAAM,EAAES,QAAO,IAAKC,WAAWvB,OAAOI,aAAa;cACjDyE,YAAY;gBAAEvB,SAAS;gBAAMC,SAAS;gBAAKnC,OAAO;gBAAKC,QAAQ;cAAI;cACnEyD,eAAe;gBAAExB,SAAS;gBAAMC,SAAS;gBAAKnC,OAAO;gBAAKC,QAAQ;cAAI;YACxE,CAAA;AACA,kBAAM0D,gBAAgB3E,YAAYK,WAChCtC,aAAakF,YAAY;cAAEC,SAAS;cAAKC,SAAS;cAAInC,OAAO;cAAKC,QAAQ;YAAI,CAAA,CAAA,CAAA;AAGhF,kBAAMqC,UAAUtD,YAAYK,WAC1BnC,eAAe;cACbqF,OAAO5F,KAAI6F,kBAAkBf,WAAW9B,EAAE,EAAE8C,SAAQ;cACpD,GAAGR,YAAY;gBAAEC,SAAS;gBAAMC,SAAS;gBAAMnC,OAAO;gBAAKC,QAAQ;cAAI,CAAA;YACzE,CAAA,CAAA;AAGF,kBAAMyC,gBAAgB1D,YAAYK,WAChCtC,aAAakF,YAAY;cAAEC,SAAS;cAAKC,SAAS;cAAMnC,OAAO;cAAKC,QAAQ;YAAI,CAAA,CAAA,CAAA;AAGlFmC,4BAAgBa,KAAK,2BAAA;AACrB/D,oBAAQmB,WAAW;cAAEC,QAAQlB,IAAIO;cAAIY,QAAQwB,SAASpC;cAAIa,OAAO;cAAQC,QAAQ;YAAO,CAAA;AAExF,kBAAMkC,aAAavG,IAAIwG,sBAAsB1G,mBAAmB2G,GAAG;AACnE,qBAASC,IAAI,GAAGA,IAAIH,WAAWI,QAAQD,KAAK;AAC1C,oBAAME,WAAWL,WAAWG,CAAAA,EAAGrE,KAAKgE,SAAQ;AAC5CvD,sBAAQmB,WAAW;gBAAEC,QAAQR,QAAQH;gBAAIY,QAAQwB,SAASpC;gBAAIa,OAAOwC;gBAAUvC,QAAQuC;cAAS,CAAA;AAChGZ,8BAAgBa,KAAK,MAAMD,QAAAA,SAAiBA,QAAAA,SAAiBF,MAAMH,WAAWI,SAAS,IAAI,KAAK,IAAE;YACpG;AACAX,4BAAgBa,KAAK,GAAA;AAErB/D,oBACGmB,WAAW;cAAEC,QAAQgC,QAAQ3C;cAAIY,QAAQmC,cAAc/C;cAAIa,OAAO;YAAK,CAAA,EACvEH,WAAW;cAAEC,QAAQJ,QAAQP;cAAIY,QAAQoD,cAAchE;cAAIa,OAAO;YAAK,CAAA,EACvEH,WAAW;cAAEC,QAAQlB,IAAIO;cAAIY,QAAQoD,cAAchE;cAAIc,QAAQ;cAAYD,OAAO;YAAQ,CAAA,EAC1FH,WAAW;cAAEC,QAAQkD,aAAa7D;cAAIY,QAAQnB,IAAIO;cAAIa,OAAO;YAAe,CAAA,EAC5EH,WAAW;cAAEC,QAAQR,QAAQH;cAAIY,QAAQnB,IAAIO;cAAIa,OAAO;cAAUC,QAAQ;YAAO,CAAA,EACjFJ,WAAW;cAAEC,QAAQyB,SAASpC;cAAIY,QAAQmC,cAAc/C;cAAIa,OAAO;YAAQ,CAAA;AAE9EvB,8BAAkBQ,aAAaR,gBAAiBsB;UAClD,CAAA;AAEA,gBAAMG,eAAezD,mBAAmB+B,WAAAA;AAExC,gBAAMkE,sBAAsBxC,aAAayC,MAAMzB,KAAK,CAAC7C,OAAMA,GAAEc,OAAOoC,SAASqB,IAAI;AACjF1G,oBAAUwG,qBAAqB,0CAAA;;;;;;;;;AAC/BA,8BAAoBX,QAAQH,gBAAgBiB,KAAK,IAAA;AACjD,gBAAMO,iBAAiBtH,EAAEuH,OAAO3H,oBAAoBI,EAAEwH,OAAO;YAAE/D,MAAMzD,EAAEyH;UAAO,CAAA,CAAA;AAC9Eb,8BAAoBI,cAAc/G,aAAaqH,cAAAA;AAE/CjD,wBAAc1B,iBAAiByB,YAAAA;AAE/B,iBAAOE,WAAAA,0BAA0ChC,OAAOI,aAAa0B,YAAAA;QACvE,CAAA;AACA5B,aAAKC,OAAAA;AACL,eAAOA;MACT;;IAGF;;MAEE,OAAOH,OAAOC,GAAGC,OAAAA;AACf,cAAMC,UAAUd,OAAMY,GAAG,MAAA;AACvB,gBAAMG,cAAcpB,iBAAiBhB,OAAM;AAE3CoC,sBAAYE,QAAQC,KAAK,CAACD,YAAAA;AACxB,kBAAM8E,iBAAiBhF,YAAYK,WACjCnC,eAAe;cAAEqF,OAAO;cAAO,GAAGjD,SAAS;gBAAEC,GAAG;gBAAKC,GAAG;cAAG,CAAA;YAAG,CAAA,CAAA;AAEhE,kBAAMyE,iBAAiBjF,YAAYK,WACjCnC,eAAe;cAAEqF,OAAO;cAAO,GAAGjD,SAAS;gBAAEC,GAAG;gBAAKC,GAAG;cAAE,CAAA;YAAG,CAAA,CAAA;AAE/D,kBAAM0E,YAAYlF,YAAYK,WAAWlC,eAAemC,SAAS;cAAEC,GAAG;cAAGC,GAAG;YAAE,CAAA,CAAA,CAAA;AAC9E,kBAAMqC,OAAO7C,YAAYK,WAAW/B,cAAcgC,SAAS;cAAEC,GAAG;cAAIC,GAAG;YAAE,CAAA,CAAA,CAAA;AAEzEN,oBACGmB,WAAW;cAAEC,QAAQ0D,eAAerE;cAAIY,QAAQ2D,UAAUvE;cAAIa,OAAO;YAAO,CAAA,EAC5EH,WAAW;cAAEC,QAAQ2D,eAAetE;cAAIY,QAAQ2D,UAAUvE;cAAIa,OAAO;YAAK,CAAA,EAC1EH,WAAW;cAAEC,QAAQ4D,UAAUvE;cAAIY,QAAQsB,KAAKlC;cAAIc,QAAQ;YAAO,CAAA;UACxE,CAAA;AAEA,gBAAMC,eAAezD,mBAAmB+B,WAAAA;AAExC,iBAAO4B,WAAAA,uBAA2ChC,OAAOI,aAAa0B,YAAAA;QACxE,CAAA;AACA5B,aAAKC,OAAAA;AACL,eAAOA;MACT;;IAGF;;MAEE,OAAOH,OAAOC,GAAGC,OAAAA;AACf,cAAMC,UAAUd,OAAMY,GAAG,MAAA;AACvB,gBAAMG,cAAcpB,iBAAiBhB,OAAM;AAE3C,cAAIqC;AACJD,sBAAYE,QAAQC,KAAK,CAACD,YAAAA;AACxB,kBAAMO,eAAe/B,cAAc;cACjCgC,SAASd,MAAMe;cACfC,aAAanD,YAAYyE;cACzB,GAAG5B,SAAS;gBAAEC,GAAG;gBAAKC,GAAG;cAAG,CAAA;YAC9B,CAAA;AACA,kBAAMM,UAAUd,YAAYK,WAAWI,YAAAA;AAEvC,kBAAM0E,YAAYnF,YAAYK,WAC5BnC,eAAe;cAAEqF,OAAO;cAAuB,GAAGjD,SAAS;gBAAEC,GAAG;gBAAKC,GAAG;cAAE,CAAA;YAAG,CAAA,CAAA;AAE/E,kBAAMU,UAAUlB,YAAYK,WAC1BnC,eAAe;cACbqF,OAAO,IAAI5F,KAAIA,KAAIyH,KAAKC,OAAO;gBAAC;gBAAQzF,MAAMe;gBAAItD,UAASiI,OAAM;eAAG,EAAE7B,SAAQ;cAC9E,GAAGnD,SAAS;gBAAEC,GAAG;gBAAKC,GAAG;cAAE,CAAA;YAC7B,CAAA,CAAA;AAEF,kBAAM0E,YAAYlF,YAAYK,WAAWlC,eAAemC,SAAS;cAAEC,GAAG;cAAGC,GAAG;YAAE,CAAA,CAAA,CAAA;AAC9E,kBAAMqC,OAAO7C,YAAYK,WAAW5B,WAAW6B,SAAS;cAAEC,GAAG;cAAIC,GAAG;YAAE,CAAA,CAAA,CAAA;AACtE,kBAAM+E,QAAQvF,YAAYK,WAAWhC,YAAYiC,SAAS;cAAEC,GAAG;cAAGC,GAAG;YAAG,CAAA,CAAA,CAAA;AAExEN,oBACGmB,WAAW;cAAEC,QAAQR,QAAQH;cAAIY,QAAQ2D,UAAUvE;cAAIa,OAAO;YAAO,CAAA,EACrEH,WAAW;cAAEC,QAAQ6D,UAAUxE;cAAIY,QAAQ2D,UAAUvE;cAAIa,OAAO;YAAY,CAAA,EAC5EH,WAAW;cAAEC,QAAQJ,QAAQP;cAAIY,QAAQ2D,UAAUvE;cAAIa,OAAO;YAAU,CAAA,EACxEH,WAAW;cAAEC,QAAQ4D,UAAUvE;cAAIY,QAAQsB,KAAKlC;cAAIc,QAAQ;YAAc,CAAA,EAC1EJ,WAAW;cAAEC,QAAQJ,QAAQP;cAAIY,QAAQgE,MAAM5E;cAAIa,OAAO;YAAQ,CAAA;AAErEvB,8BAAkBQ,aAAaR,gBAAiBsB;UAClD,CAAA;AAEA,gBAAMG,eAAezD,mBAAmB+B,WAAAA;AACxC2B,wBAAc1B,iBAAiByB,YAAAA;AAE/B,iBAAOE,WAAAA,oBAAwChC,OAAOI,aAAa0B,YAAAA;QACrE,CAAA;AACA5B,aAAKC,OAAAA;AACL,eAAOA;MACT;;IAGF;;MAEE,OAAOH,OAAOC,GAAGC,OAAAA;AACf,cAAMC,UAAUd,OAAMY,GAAG,MAAA;AACvB,gBAAMG,cAAcpB,iBAAiBhB,OAAM;AAO3C,gBAAMwE,UAAUxC,MAAMyC,GAAGC,MAAMxE,QAAOyE,OAAOvD,UAAAA,CAAAA,EAAYwD,QAAO;AAChE,gBAAMgD,WAAWpD,QAAQM,KAAK,CAACC,MAAMA,EAAEC,QAAQC,MAAMtB,QAAQe,OAAO5C,UAAUoD,SAAS,SAAA,CAAA;AACvFpF,oBAAU8H,UAAU,oBAAA;;;;;;;;;AAEpB,cAAIvF;AACJD,sBAAYE,QAAQC,KAAK,CAACD,YAAAA;AACxB,kBAAMO,eAAe/B,cAAc;cACjCgC,SAASd,MAAMe;cACfC,aAAanD,YAAYgI;cACzB,GAAGnF,SAAS;gBAAEC,GAAG;gBAAKC,GAAG;cAAG,CAAA;YAC9B,CAAA;AACA,kBAAMM,UAAUd,YAAYK,WAAWI,YAAAA;AAEvC,kBAAM6C,UAAUtD,YAAYK,WAC1BnC,eAAe;cACbqF,OAAO5F,KAAI6F,kBAAkBgC,SAAS7E,EAAE,EAAE8C,SAAQ;cAClD,GAAGnD,SAAS;gBAAEC,GAAG;gBAAKC,GAAG;cAAE,CAAA;YAC7B,CAAA,CAAA;AAEF,kBAAMkD,gBAAgB1D,YAAYK,WAAWtC,aAAauC,SAAS;cAAEC,GAAG;cAAIC,GAAG;YAAE,CAAA,CAAA,CAAA;AAEjFN,oBACGmB,WAAW;cAAEC,QAAQgC,QAAQ3C;cAAIY,QAAQmC,cAAc/C;cAAIa,OAAO;YAAK,CAAA,EACvEH,WAAW;cAAEC,QAAQR,QAAQH;cAAIY,QAAQmC,cAAc/C;cAAIa,OAAO;cAASC,QAAQ;YAAO,CAAA;AAE7FxB,8BAAkBQ,aAAaR,gBAAiBsB;UAClD,CAAA;AAEA,gBAAMG,eAAezD,mBAAmB+B,WAAAA;AACxC2B,wBAAc1B,iBAAiByB,YAAAA;AAE/B,iBAAOE,WAAAA,gBAAoChC,OAAOI,aAAa0B,YAAAA;QACjE,CAAA;AACA5B,aAAKC,OAAAA;AACL,eAAOA;MACT;;;AAGN;AAEA,IAAM8B,wBAAwB,CAC5BjC,OACAgB,aACA8E,UACAC,sBAAAA;AAEA,QAAM3F,cAAcpB,iBAAiBhB,OAAM;AAE3C,QAAMmF,WAAW/C,YAAYK,WAC3B7B,eAAe;IACbwE,WAAW;IACX,GAAGC,YAAY;MAAEC,SAAS;MAAKC,SAAS;MAAKnC,OAAO;MAAKC,QAAQ;IAAI,CAAA;EACvE,CAAA,CAAA;AAGF,MAAIhB;AACJD,cAAYE,QAAQC,KAAK,CAACD,YAAAA;AACxB,UAAMO,eAAe/B,cAAc;MACjCgC,SAASd,MAAMe;MACfC;MACA,GAAGqC,YAAY;QAAEC,SAAS;QAAMC,SAAS;QAAMlC,QAAQ;QAAKD,OAAO;MAAI,CAAA;IACzE,CAAA;AACA,UAAMF,UAAUd,YAAYK,WAAWI,YAAAA;AACvC,UAAM,EAAES,QAAO,IAAKC,WAAWvB,OAAOI,aAAa;MACjD0E,eAAe;QAAExB,SAAS;QAAKC,SAAS;QAAKnC,OAAO;QAAKC,QAAQ;MAAI;IACvE,CAAA;AACA,UAAMG,SAASpB,YAAYK,WACzBtC,aAAakF,YAAY;MAAEC,SAAS;MAAKC,SAAS;MAAKnC,OAAO;MAAKC,QAAQ;IAAI,CAAA,CAAA,CAAA;AAEjF,UAAMqE,SAAStF,YAAYK,WACzB9B,aAAa0E,YAAY;MAAEC,SAAS;MAAMC,SAAS;MAAKnC,OAAO;MAAIC,QAAQ;IAAG,CAAA,CAAA,CAAA;AAGhFf,YACGmB,WAAW;MAAEC,QAAQJ,QAAQP;MAAIY,QAAQH,OAAOT;MAAIa,OAAO;IAAK,CAAA,EAChEH,WAAW;MAAEC,QAAQyB,SAASpC;MAAIY,QAAQH,OAAOT;MAAIa,OAAO;IAAQ,CAAA,EACpEH,WAAW;MAAEC,QAAQR,QAAQH;MAAIY,QAAQwB,SAASpC;MAAIc,QAAQkE;MAAmBnE,OAAO;IAAO,CAAA,EAC/FH,WAAW;MACVC,QAAQgE,OAAO3E;MACfY,QAAQwB,SAASpC;MACjBa,OAAO;IACT,CAAA;AAEFvB,sBAAkBQ,aAAaR,gBAAiBsB;AAChD,UAAMQ,cAAc9B,gBAAgB2F;AACpClI,cAAUqE,eAAeA,YAAYE,SAASrB,aAAa,oBAAA;;;;;;;;;AAC3D8E,aAAS3D,WAAAA;EACX,CAAA;AAEA,QAAML,eAAezD,mBAAmB+B,WAAAA;AAExC,QAAMkE,sBAAsBxC,aAAayC,MAAMzB,KAAK,CAAC7C,MAAMA,EAAEc,OAAOoC,SAASqB,IAAI;AACjF1G,YAAUwG,qBAAqB,0CAAA;;;;;;;;;AAC/BA,sBAAoBX,QAAQ;IAAC;IAAK;IAA0B;IAA2B;IAAKc,KAAK,IAAA;AACjGH,sBAAoBI,cAAc/G,aAAaD,EAAEwH,OAAO;IAAE7C,MAAM3E,EAAEyH;IAAQc,UAAUvI,EAAEyH;EAAO,CAAA,CAAA;AAE7FpD,gBAAc1B,iBAAiByB,YAAAA;AAE/B,SAAO;IAAE1B;IAAa0B;EAAa;AACrC;AAEA,IAAME,aAAa,CAACnC,MAAcG,OAAckG,QAA0BC,YAAAA;AACxE,SAAOnG,MAAMyC,GAAG2D,IACdpI,QAAOe,iBAAiB;IACtBc;IACAwG,cAAcpI,SAAQkI,QAAQG,IAAI;IAClCC,QAAQL,OAAOM;EACjB,CAAA,CAAA;AAEJ;AAEA,IAAMjF,aAAa,CACjBvB,OACAI,aACAqG,SAAAA;AAEA,QAAMnF,UAAUlB,YAAYK,WAC1BnC,eAAe;IACbqF,OAAO,IAAI5F,KAAIA,KAAIyH,KAAKC,OAAO;MAAC;MAAQzF,MAAMe;MAAItD,UAASiI,OAAM;KAAG,EAAE7B,SAAQ;IAC9E,GAAI4C,MAAM5B,aAAaxB,YAAYoD,KAAK5B,UAAU,IAAInE,SAAS;MAAEC,GAAG;MAAKC,GAAG;MAAGQ,OAAO;MAAGC,QAAQ;IAAE,CAAA;EACrG,CAAA,CAAA;AAEF,QAAMsE,QAAQvF,YAAYK,WACxBhC,YACEgI,MAAM3B,gBAAgBzB,YAAYoD,KAAK3B,aAAa,IAAIpE,SAAS;IAAEC,GAAG;IAAIC,GAAG;IAAGQ,OAAO;IAAIC,QAAQ;EAAG,CAAA,CAAA,CAAA;AAG1GjB,cAAYqB,WAAW;IAAEC,QAAQJ,QAAQP;IAAIY,QAAQgE,MAAM5E;EAAG,CAAA;AAC9D,SAAO;IAAE4E;IAAOrE;EAAQ;AAC1B;AAEA,IAAMS,gBAAgB,CAAC1B,iBAA8CyB,iBAAAA;AACnEhE,YAAUuC,iBAAAA,QAAAA;;;;;;;;;AACVA,kBAAgBqG,WAAW3I,KAAI6F,kBAAkB9B,aAAawE,KAAKvF,EAAE,EAAE8C,SAAQ;AAC/ExD,kBAAgBsG,SAAS,CAAC;AAC1B,QAAMC,YAAY9E,aAAayC,MAAMzB,KAAK,CAAC0B,SAASA,KAAKnC,SAAS9E,WAAAA;AAClE8C,kBAAgBsG,KAAKE,gBAAgBD,UAAU7F;AACjD;AAIA,IAAMsC,cAAc,CAACoD,SAAAA;AACnB,SAAO;IAAEK,QAAQ;MAAEnG,GAAG8F,KAAKnD;MAAS1C,GAAG6F,KAAKlD;IAAQ;IAAGwD,MAAM;MAAE3F,OAAOqF,KAAKrF;MAAOC,QAAQoF,KAAKpF;IAAO;EAAE;AAC1G;AAEA,IAAMX,WAAW,CAACsG,SAAAA;AAChB,QAAMC,OAAO;AACb,QAAM,CAACH,QAAQC,IAAAA,IAAQ5H,aAAa;IAAEiC,OAAO;IAAGC,QAAQ;IAAG,GAAG2F;EAAK,CAAA;AACnE,QAAM,EAAErG,GAAGC,GAAGQ,OAAOC,OAAM,IAAKnC,aAAa;IAACD,cAAc6H,QAAQG,IAAAA;IAAOhI,cAAc8H,MAAME,IAAAA;GAAM;AACrG,MAAI7F,SAASC,QAAQ;AACnB,WAAO;MAAEyF,QAAQ;QAAEnG;QAAGC;MAAE;MAAGmG,MAAM3F,SAASC,SAAS;QAAED;QAAOC;MAAO,IAAI6F;IAAU;EACnF,OAAO;AACL,WAAO;MAAEJ,QAAQ;QAAEnG;QAAGC;MAAE;IAAE;EAC5B;AACF;;;;AHlhBO,IAAMuG,iBAAiB,CAAC,EAAEC,OAAOC,gBAAe,MAAuB;AAC5E,QAAM,EAAEC,iBAAiBC,SAAQ,IAAKC,oBAAAA;AACtC,QAAMC,SAASC,UAAAA;AACf,QAAMC,cAAc;IAACC;IAAcC;IAAaC;IAAWC;;AAC3D,QAAMC,eAAe;IACnBC,QAAQC;IACRD,QAAQE;IACRF,QAAQG;IACRH,QAAQI;IACRJ,QAAQK;;AAEV,QAAM,CAACC,OAAOC,QAAAA,IAAYC,SAAS,CAAA;AACnC,QAAM,CAACC,MAAMC,OAAAA,IAAWF,SAAc,CAAC,CAAA;AAGvC,QAAMG,UAAUC,QAAQ,MAAA;AACtBpB,WAAOqB,SAAS;SAAInB;SAAgBoB,QAAQC;KAAQ;AACpD,UAAMC,oBAAoB,IAAIC,IAC5BlB,aAAamB,IAAI,CAACC,SAAS;MAACA,KAAKC;MAAUC,gBAAgBF,IAAAA;KAAa,CAAA;AAG1E,WAAO,IAAIF,IAAI;SAAIK;SAAqBR,QAAQS;SAAUP;KAAkB;EAC9E,GAAG;IAACxB;IAAQO;GAAa;AAGzB,QAAMyB,aAAa,YAAA;AAEjB,UAAMC,aAAa,MAAMtC,MAAMuC,GAAGC,eAAeC,MAAK,EAAGC,IAAG;AAC5D,UAAMC,eAAe3C,MAAMuC,GAAGK,MAAMJ,eAAeZ;AAGnD,UAAM,EAAEiB,QAAO,IAAK,MAAM7C,MAAMuC,GAAGE,MAAK,EAAGC,IAAG;AAC9C,UAAMI,YAAYC,SAChBF,QAAQG,OAA+B,CAACjB,KAAKkB,QAAAA;AAC3C,YAAMjB,OAAOkB,YAAYD,GAAAA;AACzB,UAAIjB,MAAM;AACR,cAAMb,SAAQY,IAAIC,IAAAA,KAAS;AAC3BD,YAAIC,IAAAA,IAAQb,SAAQ;MACtB;AACA,aAAOY;IACT,GAAG,CAAC,CAAA,CAAA;AAGNR,YAAQ;MACN4B,QAAQ;QACNC,QAAQT,aAAaU;QACrBC,SAAShB,WAAWe;MACtB;MACAR,SAASC;IACX,CAAA;EACF;AAEAS,iBAAelB,YAAY;IAACrC;GAAM;AAElC,QAAMwD,mBAAmBC,YACvB,OAAOxB,aAAAA;AACL,UAAMyB,cAAclC,QAAQmC,IAAI1B,QAAAA;AAChC,QAAIyB,aAAa;AAEf,YAAMA,YAAY1D,OAAOmB,OAAOlB,eAAAA;AAChC,YAAMoC,WAAAA;IACR;EACF,GACA;IAACb;IAASL;GAAM;AAIlB,QAAMyC,mBAAmBH,YAAY,YAAA;AACnC,UAAMI,QAAQC,SAASC,cAAc,OAAA;AACrCF,UAAM7B,OAAO;AACb6B,UAAMG,SAAS;AAEfH,UAAMI,WAAW,OAAOC,MAAAA;AACtB,YAAMC,OAAQD,EAAEE,OAA4BC,QAAQ,CAAA;AACpD,UAAI,CAACF,MAAM;AACT;MACF;AAEA,UAAI;AACF,cAAMG,UAAU,MAAMH,KAAKI,KAAI;AAC/B,cAAMC,OAAOC,KAAKC,MAAMJ,OAAAA;AACxB,cAAM1C,UAAU,MAAM5B,MAAMuC,GAAGC,eAAemC,SAASH,KAAK5C,QAAQG,IAAI6C,cAAAA,CAAAA;AAExE,cAAMC,QAAQC,IACZlD,QAAQG,IAAI,OAAOoB,WAAAA;AACjB,gBAAM4B,QAAQ5B,OAAOlB,SAAS+C,MAAM,GAAA;AACpC,gBAAMC,OAAOF,MAAMA,MAAM1B,SAAS,CAAA;AAClC,gBAAM6B,QAAQC,QAAOC,YAAW;YAAEH;YAAMI,SAAS,CAAA;UAAG,CAAA;AACpD,gBAAMC,gBAAgB;YAAEjF;YAAQL;YAAOkF;YAAOjD,UAAUkB,OAAOlB;UAAS,CAAA;AACxE,gBAAM9B,SAASoF,aAAaC,YAAYC,WAAW;YAAErB,QAAQpE;YAAO0F,QAAQR;UAAM,CAAA,CAAA;AAClF,iBAAOA;QACT,CAAA,CAAA;AAGF,cAAML,QAAQC,IACZN,KAAK3B,QAAQd,IAAI,OAAO,EAAE4D,IAAI,SAAS1D,UAAU,GAAG2D,OAAAA,MAAa;AAC/D,gBAAMzC,SAASvB,QAAQiE,KAAK,CAACC,MAAM,YAAYA,EAAE7D,QAAQ,IAAI6D,EAAEC,OAAO,OAAO9D,QAAAA;AAC7E,cAAI,CAACkB,QAAQ;AACX6C,gBAAIC,KAAK,6BAA6B;cAAEN;cAAI1D;YAAS,GAAA;;;;;;AACrD;UACF;AACA,gBAAMyD,SAASP,QAAOhC,QAAQyC,MAAAA;AAC9B5F,gBAAMuC,GAAG2D,IAAIR,MAAAA;AACb,iBAAOA;QACT,CAAA,CAAA;MAEJ,SAASS,KAAK;AACZH,YAAII,MAAMD,KAAAA,QAAAA;;;;;;MACZ;IACF;AAEAtC,UAAMwC,MAAK;EACb,GAAG,CAAA,CAAE;AAEL,SACE,gBAAAC,OAAA,cAACC,OAAAA;IAAIC,MAAK;IAAOC,WAAU;KACzB,gBAAAH,OAAA,cAACI,QAAQC,MAAI;IAACC,YAAW;KACvB,gBAAAN,OAAA,cAACO,aAAAA;IAAWC,MAAK;IAA+BC,UAAAA;IAASC,OAAM;IAAUC,SAAS5E;MAClF,gBAAAiE,OAAA,cAACO,aAAAA;IACCC,MAAK;IACLC,UAAAA;IACAC,OAAM;IACNC,SAASrD;MAEX,gBAAA0C,OAAA,cAACI,QAAQQ,WAAS;IAACC,SAAQ;MAC3B,gBAAAb,OAAA,cAACC,OAAAA;IAAIE,WAAU;KACb,gBAAAH,OAAA,cAACc,MAAMT,MAAI,MACT,gBAAAL,OAAA,cAACc,MAAMC,WAAS;IACdrF,MAAK;IACLsF,KAAK;IACLC,KAAK;IACLC,aAAa;IACbZ,YAAW;IACXa,OAAOtG;IACPuG,UAAU,CAACC,OAAOvG,SAASwG,SAASD,GAAGvD,OAAOqD,KAAK,CAAA;SAM3D,gBAAAnB,OAAA,cAACuB,aAAAA;IAAYC,OAAOvH;IAAasC,SAASvB,KAAKuB;IAASmE,OAAM;IAAeC,SAASzD;MACtF,gBAAA8C,OAAA,cAACuB,aAAAA;IAAYC,OAAOlH;IAAciC,SAASvB,KAAKuB;IAASmE,OAAM;IAAgBC,SAASzD;MACxF,gBAAA8C,OAAA,cAACuB,aAAAA;IAAYC,OAAOnG,QAAQmG;IAAOjF,SAASvB,KAAKuB;IAASmE,OAAM;IAAUC,SAASzD;MAEnF,gBAAA8C,OAAA,cAACyB,mBAAAA;IAAkBnB,YAAW;IAAeoB,UAAS;KACnDvD,KAAKwD,UAAU;IAAEjI;IAAO,GAAGsB;EAAK,GAAG4G,gBAAgB;IAAEC,UAAU;EAAK,CAAA,GAAI,CAAA,CAAA,CAAA;AAIjF;;;AI/KA,IAAA,yBAAeC;",
6
+ "names": ["React", "useCallback", "useMemo", "useState", "createIntent", "useIntentDispatcher", "ComputeGraph", "toEffectSchema", "create", "log", "DocumentType", "SheetType", "DiagramType", "SpaceAction", "useClient", "getTypename", "IconButton", "Input", "Toolbar", "useAsyncEffect", "SyntaxHighlighter", "initializeTable", "TableType", "Testing", "jsonKeyReplacer", "sortKeys", "addressToA1Notation", "ComputeGraph", "ComputeGraphModel", "DEFAULT_OUTPUT", "NODE_INPUT", "NODE_OUTPUT", "ObjectId", "DXN", "create", "makeRef", "DocumentType", "createSheet", "SheetType", "CanvasType", "DiagramType", "faker", "Filter", "TableType", "createView", "TextType", "createAsyncGenerator", "range", "generator", "faker", "staticGenerators", "Map", "DocumentType", "typename", "space", "n", "cb", "objects", "range", "map", "db", "add", "create", "name", "commerce", "productName", "content", "makeRef", "TextType", "lorem", "sentences", "threads", "DiagramType", "obj", "canvas", "CanvasType", "SheetType", "cells", "year", "Date", "getFullYear", "cols", "rows", "col", "row", "cell", "addressToA1Notation", "value", "from", "to", "Math", "floor", "random", "createSheet", "ComputeGraph", "model", "ComputeGraphModel", "builder", "createNode", "id", "type", "NODE_INPUT", "DXN", "kind", "QUEUE", "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", "EmailTriggerOutput", "NODE_INPUT", "AST", "ObjectId", "S", "toJsonSchema", "FunctionTrigger", "TriggerKind", "invariant", "DXN", "create", "makeRef", "Filter", "createAppend", "createChat", "createComputeGraph", "createConstant", "createFunction", "createGpt", "createQueue", "createSurface", "createRandom", "createTemplate", "createText", "createTrigger", "CanvasBoardType", "CanvasGraphModel", "pointMultiply", "pointsToRect", "rectToPoints", "TableType", "range", "PresetName", "presets", "schemas", "types", "Object", "values", "map", "name", "typename", "items", "space", "n", "cb", "objects", "canvasModel", "functionTrigger", "builder", "call", "gpt", "createNode", "position", "x", "y", "triggerShape", "spaceId", "id", "triggerKind", "Webhook", "trigger", "text", "width", "height", "queueId", "setupQueue", "append", "createEdge", "source", "target", "input", "output", "computeModel", "attachTrigger", "addToSpace", "createQueueSinkPreset", "Subscription", "triggerSpec", "filter", "type", "Timer", "cron", "results", "db", "query", "schema", "runSync", "emailTable", "find", "r", "object", "view", "endsWith", "template", "valueType", "rawPosition", "centerX", "centerY", "templateContent", "Email", "tableId", "value", "fromLocalObjectId", "toString", "appendToTable", "properties", "getPropertySignatures", "ast", "i", "length", "propName", "push", "templateComputeNode", "nodes", "node", "join", "inputSchema", "chat", "systemPrompt", "idPosition", "queuePosition", "appendToQueue", "extendedSchema", "extend", "Struct", "String", "sourceCurrency", "targetCurrency", "converter", "channelId", "kind", "QUEUE", "random", "queue", "messages", "Queue", "initSpec", "triggerOutputName", "spec", "changeId", "canvas", "compute", "add", "computeGraph", "root", "layout", "graph", "args", "function", "meta", "inputNode", "computeNodeId", "center", "size", "rect", "snap", "undefined", "SpaceGenerator", "space", "onCreateObjects", "dispatchPromise", "dispatch", "useIntentDispatcher", "client", "useClient", "staticTypes", "DocumentType", "DiagramType", "SheetType", "ComputeGraph", "mutableTypes", "Testing", "OrgType", "ProjectType", "ContactType", "EmailType", "MessageType", "count", "setCount", "useState", "info", "setInfo", "typeMap", "useMemo", "addTypes", "presets", "schemas", "mutableGenerators", "Map", "map", "type", "typename", "createGenerator", "staticGenerators", "items", "updateInfo", "echoSchema", "db", "schemaRegistry", "query", "run", "staticSchema", "graph", "objects", "objectMap", "sortKeys", "reduce", "obj", "getTypename", "schema", "static", "length", "mutable", "useAsyncEffect", "handleCreateData", "useCallback", "constructor", "get", "handleLoadTables", "input", "document", "createElement", "accept", "onchange", "e", "file", "target", "files", "content", "text", "data", "JSON", "parse", "register", "toEffectSchema", "Promise", "all", "parts", "split", "name", "table", "create", "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,9 +1,9 @@
1
- import {
2
- DEBUG_PLUGIN
3
- } from "./chunk-EF3UVAVI.mjs";
4
1
  import {
5
2
  Devtools
6
- } from "./chunk-LHJC7LSH.mjs";
3
+ } from "./chunk-F2R7TJCJ.mjs";
4
+ import {
5
+ DEBUG_PLUGIN
6
+ } from "./chunk-RORUXVAC.mjs";
7
7
 
8
8
  // packages/plugins/plugin-debug/src/capabilities/app-graph-builder.ts
9
9
  import { contributes, Capabilities } from "@dxos/app-framework";
@@ -404,20 +404,6 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
404
404
  ],
405
405
  icon: "ph--computer-tower--regular"
406
406
  }
407
- },
408
- {
409
- id: Devtools.Agent.Search,
410
- data: Devtools.Agent.Search,
411
- type: DEVTOOLS_TYPE,
412
- properties: {
413
- label: [
414
- "search label",
415
- {
416
- ns: DEBUG_PLUGIN
417
- }
418
- ],
419
- icon: "ph--magnifying-glass--regular"
420
- }
421
407
  }
422
408
  ]
423
409
  },
@@ -616,4 +602,4 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
616
602
  export {
617
603
  app_graph_builder_default as default
618
604
  };
619
- //# sourceMappingURL=app-graph-builder-NYB6QZQK.mjs.map
605
+ //# sourceMappingURL=app-graph-builder-EJHONTKA.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes, Capabilities, type PluginsContext } from '@dxos/app-framework';\nimport { createExtension, toSignal, type Node } from '@dxos/plugin-graph';\nimport { CollectionType } from '@dxos/plugin-space/types';\nimport { SpaceState } from '@dxos/react-client/echo';\nimport { isSpace, type Space } from '@dxos/react-client/echo';\n\nimport { DEBUG_PLUGIN } from '../meta';\nimport { type DebugSettingsProps, Devtools } from '../types';\n\nconst DEVTOOLS_TYPE = 'dxos.org/plugin/debug/devtools';\n\nexport default (context: PluginsContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n // Devtools node.\n createExtension({\n id: 'dxos.org/plugin/debug/devtools',\n filter: (node): node is Node<null> => node.id === 'root',\n connector: () => [\n {\n id: Devtools.id,\n data: null,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['devtools label', { ns: DEBUG_PLUGIN }],\n disposition: 'workspace',\n icon: 'ph--hammer--regular',\n },\n nodes: [\n {\n id: Devtools.Client.id,\n data: null,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['client label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--users--regular',\n },\n nodes: [\n {\n id: Devtools.Client.Config,\n data: Devtools.Client.Config,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['config label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--gear--regular',\n },\n },\n {\n id: Devtools.Client.Storage,\n data: Devtools.Client.Storage,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['storage label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--hard-drives--regular',\n },\n },\n {\n id: Devtools.Client.Logs,\n data: Devtools.Client.Logs,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['logs label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--file-text--regular',\n },\n },\n {\n id: Devtools.Client.Diagnostics,\n data: Devtools.Client.Diagnostics,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['diagnostics label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--chart-line--regular',\n },\n },\n {\n id: Devtools.Client.Tracing,\n data: Devtools.Client.Tracing,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['tracing label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--fire--regular',\n },\n },\n ],\n },\n {\n id: Devtools.Halo.id,\n data: null,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['halo label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--identification-badge--regular',\n },\n nodes: [\n {\n id: Devtools.Halo.Identity,\n data: Devtools.Halo.Identity,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['identity label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--identification-badge--regular',\n },\n },\n {\n id: Devtools.Halo.Devices,\n data: Devtools.Halo.Devices,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['devices label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--devices--regular',\n },\n },\n {\n id: Devtools.Halo.Keyring,\n data: Devtools.Halo.Keyring,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['keyring label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--key--regular',\n },\n },\n {\n id: Devtools.Halo.Credentials,\n data: Devtools.Halo.Credentials,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['credentials label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--credit-card--regular',\n },\n },\n ],\n },\n {\n id: Devtools.Echo.id,\n data: null,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['echo label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--database--regular',\n },\n nodes: [\n {\n id: Devtools.Echo.Spaces,\n data: Devtools.Echo.Spaces,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['spaces label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--graph--regular',\n },\n },\n {\n id: Devtools.Echo.Space,\n data: Devtools.Echo.Space,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['space label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--planet--regular',\n },\n },\n {\n id: Devtools.Echo.Feeds,\n data: Devtools.Echo.Feeds,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['feeds label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--list-bullets--regular',\n },\n },\n {\n id: Devtools.Echo.Objects,\n data: Devtools.Echo.Objects,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['objects label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--database--regular',\n },\n },\n {\n id: Devtools.Echo.Automerge,\n data: Devtools.Echo.Automerge,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['automerge label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--gear-six--regular',\n },\n },\n {\n id: Devtools.Echo.Queues,\n data: Devtools.Echo.Queues,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['queues label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--queue--regular',\n },\n },\n {\n id: Devtools.Echo.Members,\n data: Devtools.Echo.Members,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['members label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--users--regular',\n },\n },\n {\n id: Devtools.Echo.Metadata,\n data: Devtools.Echo.Metadata,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['metadata label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--hard-drive--regular',\n },\n },\n ],\n },\n {\n id: Devtools.Mesh.id,\n data: null,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['mesh label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--graph--regular',\n },\n nodes: [\n {\n id: Devtools.Mesh.Signal,\n data: Devtools.Mesh.Signal,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['signal label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--wifi-high--regular',\n },\n },\n {\n id: Devtools.Mesh.Swarm,\n data: Devtools.Mesh.Swarm,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['swarm label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--users-three--regular',\n },\n },\n {\n id: Devtools.Mesh.Network,\n data: Devtools.Mesh.Network,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['network label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--polygon--regular',\n },\n },\n ],\n },\n {\n id: Devtools.Agent.id,\n data: null,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['agent label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--robot--regular',\n },\n nodes: [\n {\n id: Devtools.Agent.Dashboard,\n data: Devtools.Agent.Dashboard,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['dashboard label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--computer-tower--regular',\n },\n },\n {\n id: Devtools.Agent.Search,\n data: Devtools.Agent.Search,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['search label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--magnifying-glass--regular',\n },\n },\n ],\n },\n {\n id: Devtools.Edge.id,\n data: null,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['edge label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--cloud--regular',\n },\n nodes: [\n {\n id: Devtools.Edge.Dashboard,\n data: Devtools.Edge.Dashboard,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['dashboard label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--computer-tower--regular',\n },\n },\n {\n id: Devtools.Edge.Workflows,\n data: Devtools.Edge.Workflows,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['workflows label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--function--regular',\n },\n },\n {\n id: Devtools.Edge.Traces,\n data: Devtools.Edge.Traces,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['traces label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--line-segments--regular',\n },\n },\n ],\n },\n ],\n },\n ],\n }),\n\n // Debug node.\n createExtension({\n id: 'dxos.org/plugin/debug/debug',\n filter: (node): node is Node<null> => {\n // TODO(wittjosiah): Plank is currently blank. Remove?\n // const settings = context\n // .requestCapabilities(Capabilities.SettingsStore)[0]\n // ?.getStore<DebugSettingsProps>(DEBUG_PLUGIN)?.value;\n // return !!settings?.debug && node.id === 'root';\n return false;\n },\n connector: () => {\n const [graph] = context.requestCapabilities(Capabilities.AppGraph);\n if (!graph) {\n return;\n }\n\n return [\n {\n id: 'dxos.org/plugin/debug/debug',\n type: 'dxos.org/plugin/debug/debug',\n data: { graph },\n properties: {\n label: ['debug label', { ns: DEBUG_PLUGIN }],\n disposition: 'navigation',\n icon: 'ph--bug--regular',\n },\n },\n ];\n },\n }),\n\n // Space debug nodes.\n createExtension({\n id: 'dxos.org/plugin/debug/spaces',\n filter: (node): node is Node<Space> => {\n const settings = context\n .requestCapabilities(Capabilities.SettingsStore)[0]\n ?.getStore<DebugSettingsProps>(DEBUG_PLUGIN)?.value;\n return !!settings?.debug && isSpace(node.data);\n },\n connector: ({ node }) => {\n const space = node.data;\n const state = toSignal(\n (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n () => space.state.get(),\n space.id,\n );\n if (state !== SpaceState.SPACE_READY) {\n return;\n }\n\n // Not adding the debug node until the root collection is available aligns the behaviour of this\n // extension with that of the space plugin adding objects. This ensures that the debug node is added at\n // the same time as objects and prevents order from changing as the nodes are added.\n const collection = space.properties[CollectionType.typename]?.target as CollectionType | undefined;\n if (!collection) {\n return;\n }\n\n return [\n {\n id: `${space.id}-${Devtools.id}`,\n data: null,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['devtools label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--hammer--regular',\n },\n nodes: [\n {\n // TODO(wittjosiah): Cannot use slashes in ids until we have a router which decouples ids from url paths.\n id: `${space.id}-debug`,\n type: 'dxos.org/plugin/debug/space',\n data: { space, type: 'dxos.org/plugin/debug/space' },\n properties: {\n label: ['debug label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--bug--regular',\n },\n },\n {\n id: `${space.id}-${Devtools.Echo.Space}`,\n data: Devtools.Echo.Space,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['space label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--planet--regular',\n },\n },\n {\n id: `${space.id}-${Devtools.Echo.Objects}`,\n data: Devtools.Echo.Objects,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['objects label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--database--regular',\n },\n },\n {\n id: `${space.id}-${Devtools.Edge.Traces}`,\n data: Devtools.Edge.Traces,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['traces label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--line-segments--regular',\n },\n },\n ],\n },\n ];\n },\n }),\n ]);\n"],
5
- "mappings": "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",
6
- "names": ["contributes", "Capabilities", "createExtension", "toSignal", "CollectionType", "SpaceState", "isSpace", "DEVTOOLS_TYPE", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "filter", "node", "connector", "Devtools", "data", "type", "properties", "label", "ns", "DEBUG_PLUGIN", "disposition", "icon", "nodes", "Client", "Config", "Storage", "Logs", "Diagnostics", "Tracing", "Halo", "Identity", "Devices", "Keyring", "Credentials", "Echo", "Spaces", "Space", "Feeds", "Objects", "Automerge", "Queues", "Members", "Metadata", "Mesh", "Signal", "Swarm", "Network", "Agent", "Dashboard", "Search", "Edge", "Workflows", "Traces", "graph", "requestCapabilities", "AppGraph", "settings", "SettingsStore", "getStore", "value", "debug", "isSpace", "space", "state", "toSignal", "onChange", "subscribe", "unsubscribe", "get", "SpaceState", "SPACE_READY", "collection", "CollectionType", "typename", "target"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes, Capabilities, type PluginsContext } from '@dxos/app-framework';\nimport { createExtension, toSignal, type Node } from '@dxos/plugin-graph';\nimport { CollectionType } from '@dxos/plugin-space/types';\nimport { SpaceState } from '@dxos/react-client/echo';\nimport { isSpace, type Space } from '@dxos/react-client/echo';\n\nimport { DEBUG_PLUGIN } from '../meta';\nimport { type DebugSettingsProps, Devtools } from '../types';\n\nconst DEVTOOLS_TYPE = 'dxos.org/plugin/debug/devtools';\n\nexport default (context: PluginsContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n // Devtools node.\n createExtension({\n id: 'dxos.org/plugin/debug/devtools',\n filter: (node): node is Node<null> => node.id === 'root',\n connector: () => [\n {\n id: Devtools.id,\n data: null,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['devtools label', { ns: DEBUG_PLUGIN }],\n disposition: 'workspace',\n icon: 'ph--hammer--regular',\n },\n nodes: [\n {\n id: Devtools.Client.id,\n data: null,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['client label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--users--regular',\n },\n nodes: [\n {\n id: Devtools.Client.Config,\n data: Devtools.Client.Config,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['config label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--gear--regular',\n },\n },\n {\n id: Devtools.Client.Storage,\n data: Devtools.Client.Storage,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['storage label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--hard-drives--regular',\n },\n },\n {\n id: Devtools.Client.Logs,\n data: Devtools.Client.Logs,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['logs label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--file-text--regular',\n },\n },\n {\n id: Devtools.Client.Diagnostics,\n data: Devtools.Client.Diagnostics,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['diagnostics label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--chart-line--regular',\n },\n },\n {\n id: Devtools.Client.Tracing,\n data: Devtools.Client.Tracing,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['tracing label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--fire--regular',\n },\n },\n ],\n },\n {\n id: Devtools.Halo.id,\n data: null,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['halo label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--identification-badge--regular',\n },\n nodes: [\n {\n id: Devtools.Halo.Identity,\n data: Devtools.Halo.Identity,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['identity label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--identification-badge--regular',\n },\n },\n {\n id: Devtools.Halo.Devices,\n data: Devtools.Halo.Devices,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['devices label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--devices--regular',\n },\n },\n {\n id: Devtools.Halo.Keyring,\n data: Devtools.Halo.Keyring,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['keyring label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--key--regular',\n },\n },\n {\n id: Devtools.Halo.Credentials,\n data: Devtools.Halo.Credentials,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['credentials label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--credit-card--regular',\n },\n },\n ],\n },\n {\n id: Devtools.Echo.id,\n data: null,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['echo label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--database--regular',\n },\n nodes: [\n {\n id: Devtools.Echo.Spaces,\n data: Devtools.Echo.Spaces,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['spaces label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--graph--regular',\n },\n },\n {\n id: Devtools.Echo.Space,\n data: Devtools.Echo.Space,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['space label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--planet--regular',\n },\n },\n {\n id: Devtools.Echo.Feeds,\n data: Devtools.Echo.Feeds,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['feeds label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--list-bullets--regular',\n },\n },\n {\n id: Devtools.Echo.Objects,\n data: Devtools.Echo.Objects,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['objects label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--database--regular',\n },\n },\n {\n id: Devtools.Echo.Automerge,\n data: Devtools.Echo.Automerge,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['automerge label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--gear-six--regular',\n },\n },\n {\n id: Devtools.Echo.Queues,\n data: Devtools.Echo.Queues,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['queues label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--queue--regular',\n },\n },\n {\n id: Devtools.Echo.Members,\n data: Devtools.Echo.Members,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['members label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--users--regular',\n },\n },\n {\n id: Devtools.Echo.Metadata,\n data: Devtools.Echo.Metadata,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['metadata label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--hard-drive--regular',\n },\n },\n ],\n },\n {\n id: Devtools.Mesh.id,\n data: null,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['mesh label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--graph--regular',\n },\n nodes: [\n {\n id: Devtools.Mesh.Signal,\n data: Devtools.Mesh.Signal,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['signal label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--wifi-high--regular',\n },\n },\n {\n id: Devtools.Mesh.Swarm,\n data: Devtools.Mesh.Swarm,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['swarm label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--users-three--regular',\n },\n },\n {\n id: Devtools.Mesh.Network,\n data: Devtools.Mesh.Network,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['network label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--polygon--regular',\n },\n },\n ],\n },\n {\n id: Devtools.Agent.id,\n data: null,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['agent label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--robot--regular',\n },\n nodes: [\n {\n id: Devtools.Agent.Dashboard,\n data: Devtools.Agent.Dashboard,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['dashboard label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--computer-tower--regular',\n },\n },\n ],\n },\n {\n id: Devtools.Edge.id,\n data: null,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['edge label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--cloud--regular',\n },\n nodes: [\n {\n id: Devtools.Edge.Dashboard,\n data: Devtools.Edge.Dashboard,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['dashboard label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--computer-tower--regular',\n },\n },\n {\n id: Devtools.Edge.Workflows,\n data: Devtools.Edge.Workflows,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['workflows label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--function--regular',\n },\n },\n {\n id: Devtools.Edge.Traces,\n data: Devtools.Edge.Traces,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['traces label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--line-segments--regular',\n },\n },\n ],\n },\n ],\n },\n ],\n }),\n\n // Debug node.\n createExtension({\n id: 'dxos.org/plugin/debug/debug',\n filter: (node): node is Node<null> => {\n // TODO(wittjosiah): Plank is currently blank. Remove?\n // const settings = context\n // .requestCapabilities(Capabilities.SettingsStore)[0]\n // ?.getStore<DebugSettingsProps>(DEBUG_PLUGIN)?.value;\n // return !!settings?.debug && node.id === 'root';\n return false;\n },\n connector: () => {\n const [graph] = context.requestCapabilities(Capabilities.AppGraph);\n if (!graph) {\n return;\n }\n\n return [\n {\n id: 'dxos.org/plugin/debug/debug',\n type: 'dxos.org/plugin/debug/debug',\n data: { graph },\n properties: {\n label: ['debug label', { ns: DEBUG_PLUGIN }],\n disposition: 'navigation',\n icon: 'ph--bug--regular',\n },\n },\n ];\n },\n }),\n\n // Space debug nodes.\n createExtension({\n id: 'dxos.org/plugin/debug/spaces',\n filter: (node): node is Node<Space> => {\n const settings = context\n .requestCapabilities(Capabilities.SettingsStore)[0]\n ?.getStore<DebugSettingsProps>(DEBUG_PLUGIN)?.value;\n return !!settings?.debug && isSpace(node.data);\n },\n connector: ({ node }) => {\n const space = node.data;\n const state = toSignal(\n (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n () => space.state.get(),\n space.id,\n );\n if (state !== SpaceState.SPACE_READY) {\n return;\n }\n\n // Not adding the debug node until the root collection is available aligns the behaviour of this\n // extension with that of the space plugin adding objects. This ensures that the debug node is added at\n // the same time as objects and prevents order from changing as the nodes are added.\n const collection = space.properties[CollectionType.typename]?.target as CollectionType | undefined;\n if (!collection) {\n return;\n }\n\n return [\n {\n id: `${space.id}-${Devtools.id}`,\n data: null,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['devtools label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--hammer--regular',\n },\n nodes: [\n {\n // TODO(wittjosiah): Cannot use slashes in ids until we have a router which decouples ids from url paths.\n id: `${space.id}-debug`,\n type: 'dxos.org/plugin/debug/space',\n data: { space, type: 'dxos.org/plugin/debug/space' },\n properties: {\n label: ['debug label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--bug--regular',\n },\n },\n {\n id: `${space.id}-${Devtools.Echo.Space}`,\n data: Devtools.Echo.Space,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['space label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--planet--regular',\n },\n },\n {\n id: `${space.id}-${Devtools.Echo.Objects}`,\n data: Devtools.Echo.Objects,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['objects label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--database--regular',\n },\n },\n {\n id: `${space.id}-${Devtools.Edge.Traces}`,\n data: Devtools.Edge.Traces,\n type: DEVTOOLS_TYPE,\n properties: {\n label: ['traces label', { ns: DEBUG_PLUGIN }],\n icon: 'ph--line-segments--regular',\n },\n },\n ],\n },\n ];\n },\n }),\n ]);\n"],
5
+ "mappings": "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",
6
+ "names": ["contributes", "Capabilities", "createExtension", "toSignal", "CollectionType", "SpaceState", "isSpace", "DEVTOOLS_TYPE", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "filter", "node", "connector", "Devtools", "data", "type", "properties", "label", "ns", "DEBUG_PLUGIN", "disposition", "icon", "nodes", "Client", "Config", "Storage", "Logs", "Diagnostics", "Tracing", "Halo", "Identity", "Devices", "Keyring", "Credentials", "Echo", "Spaces", "Space", "Feeds", "Objects", "Automerge", "Queues", "Members", "Metadata", "Mesh", "Signal", "Swarm", "Network", "Agent", "Dashboard", "Edge", "Workflows", "Traces", "graph", "requestCapabilities", "AppGraph", "settings", "SettingsStore", "getStore", "value", "debug", "isSpace", "space", "state", "toSignal", "onChange", "subscribe", "unsubscribe", "get", "SpaceState", "SPACE_READY", "collection", "CollectionType", "typename", "target"]
7
7
  }
@@ -67,8 +67,7 @@ var Devtools;
67
67
  })(Devtools || (Devtools = {}));
68
68
 
69
69
  export {
70
- DebugContext,
71
70
  DebugSettingsSchema,
72
71
  Devtools
73
72
  };
74
- //# sourceMappingURL=chunk-LHJC7LSH.mjs.map
73
+ //# sourceMappingURL=chunk-F2R7TJCJ.mjs.map
@@ -18,4 +18,4 @@ export {
18
18
  DEBUG_PLUGIN,
19
19
  meta
20
20
  };
21
- //# sourceMappingURL=chunk-EF3UVAVI.mjs.map
21
+ //# sourceMappingURL=chunk-RORUXVAC.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/meta.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const DEBUG_PLUGIN = 'dxos.org/plugin/debug';\n\nexport const meta: PluginMeta = {\n id: DEBUG_PLUGIN,\n name: 'Debug',\n description:\n 'The debug plugin is useful for troubleshooting inside of Composer. You can also use the Debug plugin to create test data inside of sheets or tables or explore pre-built automations. Non-technical users will likely not spend much time here, but this plugin is invaluable for developers and technical users.',\n icon: 'ph--bug--regular',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-debug',\n tags: ['experimental'],\n screenshots: ['https://dxos.network/plugin-details-debug-dark.png'],\n};\n"],
5
+ "mappings": ";AAMO,IAAMA,eAAe;AAErB,IAAMC,OAAmB;EAC9BC,IAAIF;EACJG,MAAM;EACNC,aACE;EACFC,MAAM;EACNC,QAAQ;EACRC,MAAM;IAAC;;EACPC,aAAa;IAAC;;AAChB;",
6
+ "names": ["DEBUG_PLUGIN", "meta", "id", "name", "description", "icon", "source", "tags", "screenshots"]
7
+ }