@dxos/plugin-debug 0.7.4 → 0.7.5-labs.a279d8c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/{DebugApp-HCHR6GKO.mjs → DebugApp-LQHFFK3Y.mjs} +4 -2
- package/dist/lib/browser/{DebugApp-HCHR6GKO.mjs.map → DebugApp-LQHFFK3Y.mjs.map} +3 -3
- package/dist/lib/browser/{DebugSpace-DHKEAMIC.mjs → DebugSpace-4JHYA7FG.mjs} +7 -6
- package/dist/lib/browser/DebugSpace-4JHYA7FG.mjs.map +7 -0
- package/dist/lib/browser/{SpaceGenerator-BQ3645OS.mjs → SpaceGenerator-YNT3WDFI.mjs} +226 -20
- package/dist/lib/browser/SpaceGenerator-YNT3WDFI.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-FXELWOFS.mjs +177 -0
- package/dist/lib/browser/app-graph-builder-FXELWOFS.mjs.map +7 -0
- package/dist/lib/browser/{chunk-CAENAAHY.mjs → chunk-I3ON45JK.mjs} +3 -3
- package/dist/lib/browser/chunk-I3ON45JK.mjs.map +7 -0
- package/dist/lib/browser/{chunk-LZEK532R.mjs → chunk-P7GHHMDB.mjs} +1 -11
- package/dist/lib/browser/chunk-P7GHHMDB.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +66 -737
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-context-OZU6J7G3.mjs +37 -0
- package/dist/lib/browser/react-context-OZU6J7G3.mjs.map +7 -0
- package/dist/lib/browser/react-surface-ACHNR2UU.mjs +481 -0
- package/dist/lib/browser/react-surface-ACHNR2UU.mjs.map +7 -0
- package/dist/lib/browser/settings-JCZUA643.mjs +25 -0
- package/dist/lib/browser/settings-JCZUA643.mjs.map +7 -0
- package/dist/types/src/DebugPlugin.d.ts +1 -2
- package/dist/types/src/DebugPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +181 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +185 -0
- package/dist/types/src/capabilities/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-context.d.ts +8 -0
- package/dist/types/src/capabilities/react-context.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface.d.ts +4 -0
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings.d.ts +4 -0
- package/dist/types/src/capabilities/settings.d.ts.map +1 -0
- package/dist/types/src/components/DebugObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/DebugSpace/DebugSpace.stories.d.ts.map +1 -1
- package/dist/types/src/components/DebugSpace/ObjectCreator.stories.d.ts.map +1 -1
- package/dist/types/src/components/DebugStatus.d.ts.map +1 -1
- package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts +2 -2
- package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts.map +1 -1
- package/dist/types/src/components/SpaceGenerator/SpaceGenerator.d.ts.map +1 -1
- package/dist/types/src/components/SpaceGenerator/draw-util.d.ts.map +1 -1
- package/dist/types/src/components/Wireframe.d.ts +2 -1
- package/dist/types/src/components/Wireframe.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +1 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +0 -6
- package/dist/types/src/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/package.json +48 -51
- package/src/DebugPlugin.tsx +60 -381
- package/src/capabilities/app-graph-builder.ts +177 -0
- package/src/capabilities/index.ts +10 -0
- package/src/capabilities/react-context.tsx +38 -0
- package/src/capabilities/react-surface.tsx +138 -0
- package/src/capabilities/settings.ts +18 -0
- package/src/components/DebugApp/DebugApp.tsx +1 -1
- package/src/components/DebugObjectPanel.tsx +17 -5
- package/src/components/DebugSettings.tsx +4 -4
- package/src/components/DebugSpace/DebugSpace.stories.tsx +4 -3
- package/src/components/DebugSpace/DebugSpace.tsx +1 -1
- package/src/components/DebugSpace/ObjectCreator.stories.tsx +4 -3
- package/src/components/DebugStatus.tsx +3 -9
- package/src/components/SpaceGenerator/ObjectGenerator.tsx +126 -18
- package/src/components/SpaceGenerator/SpaceGenerator.tsx +6 -4
- package/src/components/SpaceGenerator/draw-util.ts +7 -6
- package/src/components/Wireframe.tsx +2 -2
- package/src/index.ts +1 -4
- package/src/meta.ts +1 -1
- package/src/types.ts +0 -22
- package/dist/lib/browser/DebugSpace-DHKEAMIC.mjs.map +0 -7
- package/dist/lib/browser/SpaceGenerator-BQ3645OS.mjs.map +0 -7
- package/dist/lib/browser/chunk-CAENAAHY.mjs.map +0 -7
- package/dist/lib/browser/chunk-LZEK532R.mjs.map +0 -7
- package/dist/lib/browser/meta.mjs +0 -9
- package/dist/lib/browser/meta.mjs.map +0 -7
- package/dist/types/src/components/DebugSurface.d.ts +0 -9
- package/dist/types/src/components/DebugSurface.d.ts.map +0 -1
- package/src/components/DebugSurface.tsx +0 -55
|
@@ -144,7 +144,9 @@ var DebugApp = ({ graph }) => {
|
|
|
144
144
|
title: "Config"
|
|
145
145
|
}, /* @__PURE__ */ React2.createElement(Gear, {
|
|
146
146
|
className: getSize(5)
|
|
147
|
-
}))), /* @__PURE__ */ React2.createElement(Toolbar.
|
|
147
|
+
}))), /* @__PURE__ */ React2.createElement(Toolbar.Separator, {
|
|
148
|
+
variant: "gap"
|
|
149
|
+
}), /* @__PURE__ */ React2.createElement(Button, {
|
|
148
150
|
onClick: (event) => handleResetClient(event.shiftKey),
|
|
149
151
|
title: "Reset client"
|
|
150
152
|
}, /* @__PURE__ */ React2.createElement(Warning, {
|
|
@@ -170,4 +172,4 @@ var DebugApp_default = DebugApp;
|
|
|
170
172
|
export {
|
|
171
173
|
DebugApp_default as default
|
|
172
174
|
};
|
|
173
|
-
//# sourceMappingURL=DebugApp-
|
|
175
|
+
//# sourceMappingURL=DebugApp-LQHFFK3Y.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
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.
|
|
5
|
-
"mappings": ";;;;;AAIA,SAASA,OAAOC,SAASC,WAAWC,MAAMC,SAASC,eAAe;AAClE,OAAOC,UAAkBC,WAAWC,YAAAA,iBAAgB;AAGpD,SAASC,WAAWC,iBAAiB;AACrC,SAASC,QAAQC,aAAaC,iBAAiBC,eAAe;AAC9D,SAASC,SAASC,MAAAA,WAAU;;;ACN5B,OAAOC,SAAuCC,gBAAgB;AAE9D,SAASC,yBAAyB;AAClC,SAASC,UAAU;AACnB,SAASC,qBAAqB;AAIvB,IAAMC,WAAW,CAACC,KAAUC,UAAAA;AACjC,MAAI,OAAOA,UAAU,UAAU;AAC7B,QAAIA,iBAAiBC,YAAY;AAC/B,aAAOC,cAAcF,KAAAA,EAAOG,SAAS,KAAA;IACvC;AAEA,QAAIH,OAAOI,SAAS,UAAU;AAC5B,aAAOC,OAAOC,KAAKN,MAAMO,IAAI,EAAEJ,SAAS,KAAA;IAC1C;AAEA,QAAIJ,QAAQ,cAAc;AACxB,aAAOS;IACT;EACF;AAEA,SAAOR;AACT;AAEO,IAAMS,OAA8B,CAAC,EAAEF,KAAI,MAAE;AAClD,SAAO,sBAAA,cAACG,mBAAAA;IAAkBC,UAAS;KAAQC,KAAKC,UAAUN,MAAMT,UAAU,CAAA,CAAA;AAC5E;AAEO,IAAMgB,OAA8B,CAAC,EAAEP,KAAI,MAAE;AAClD,SACE,sBAAA,cAACQ,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACC,MAAAA;IAAKV;IAAYW,MAAAA;;AAGxB;AAEO,IAAMD,OAA2C,CAAC,EAAEV,MAAMW,KAAI,MAAE;AACrE,MAAI,OAAOX,SAAS,YAAYA,SAASC,UAAaD,SAAS,MAAM;AACnE,WAAO,sBAAA,cAACY,QAAAA;MAAOnB,OAAOO;;EACxB;AAEA,MAAIa,MAAMC,QAAQd,IAAAA,GAAO;AACvB,WACE,sBAAA,cAACQ,OAAAA;MAAIC,WAAU;OACZT,KAAKe,IAAI,CAACtB,OAAOuB,UAChB,sBAAA,cAACC,UAAAA;MAASzB,KAAKwB;MAAOE,OAAOC,OAAOH,KAAAA;MAAQhB,MAAMP;MAAOgB,WAAU;;EAI3E;AAEA,SACE,sBAAA,cAACD,OAAAA;IAAIC,WAAU;KACZW,OAAOC,QAAQrB,IAAAA,EAAMe,IAAI,CAAC,CAACvB,KAAKC,KAAAA,MAC/B,sBAAA,cAACwB,UAAAA;IAASzB;IAAU0B,OAAO1B;IAAKQ,MAAMP;IAAOgB,WAAU;;AAI/D;AAEO,IAAMQ,WAAkE,CAAC,EAAEC,OAAOlB,MAAMS,UAAS,MAAE;AACxG,QAAM,CAACa,MAAMC,OAAAA,IAAWC,SAAS,IAAA;AACjC,MAAIxB,SAASC,QAAW;AACtB,WAAO;EACT;AAEA,SACE,sBAAA,cAACO,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACgB,KAAAA;IACChB,WAAWiB,GAAG,sDAAsDjB,SAAAA;IACpEkB,SAAS,MAAMJ,QAAQ,CAACD,UAAS,CAACA,KAAAA;KAEjCJ,KAAAA,GAEFI,QAAQ,sBAAA,cAACZ,MAAAA;IAAKV;;AAGrB;AAEA,IAAMY,SAA6B,CAAC,EAAEnB,MAAK,MAAE;AAC3C,SACE,sBAAA,cAACgC,KAAAA;IAAIhB,WAAU;KACXhB,UAAUQ,UAAa,eACtBR,UAAU,QAAQ,UAClB,OAAOA,UAAU,YAAYA,SAC9BY,KAAKC,UAAUb,KAAAA,CAAAA;AAGvB;AAEA,IAAMgC,MAA0C,CAAC,EAAEG,UAAUnB,WAAW,GAAGoB,MAAAA,MAAO;AAChF,SACE,sBAAA,cAACrB,OAAAA;IAAIC,WAAWiB,GAAG,kDAAkDjB,SAAAA;IAAa,GAAGoB;KAClFD,QAAAA;AAGP;;;ADvFO,IAAME,WAAiC,CAAC,EAAEC,MAAK,MAAE;AACtD,QAAM,CAACC,MAAMC,OAAAA,IAAWC,UAA6C,OAAA;AACrE,QAAM,CAACC,MAAMC,OAAAA,IAAWF,UAAc,CAAC,CAAA;AACvC,QAAMG,SAASC,UAAAA;AACf,QAAMC,SAASC,UAAAA;AACf,QAAMC,gBAAgB,YAAA;AACpB,UAAMN,QAAO,MAAME,OAAOK,YAAY;MAAEC,UAAU;IAAK,CAAA;AACvDP,YAAQD,KAAAA;EACV;AACAS,YAAU,MAAA;AACR,SAAKH,cAAAA;EACP,GAAG,CAAA,CAAE;AAEL,QAAMI,oBAAoB,OAAOC,QAAQ,UAAK;AAC5C,QAAI,CAACA,SAAS,CAACC,OAAOC,QAAQ,gBAAA,GAAmB;AAC/C;IACF;AAGA,UAAMX,OAAOY,MAAK;AAClBF,WAAOG,SAASC,OAAOJ,OAAOG,SAASE;EACzC;AAEA,QAAMC,qBAAqB,MAAA;AACzB,UAAMC,WAAWf,OAAOgB,QAAQC,SAASnB,QAAQoB;AACjD,QAAIH,UAAU;AACZP,aAAOW,KAAK,yCAAyCJ,QAAAA,EAAU;IACjE;EACF;AAEA,SACE,gBAAAK,OAAA,cAACC,WAAAA;IACCC,SACE,gBAAAF,OAAA,cAACG,QAAQC,MAAI;MAACC,YAAW;OACvB,gBAAAL,OAAA,cAACM,aAAAA;MAAYC,MAAK;MAASC,OAAOnC;OAChC,gBAAA2B,OAAA,cAACS,iBAAAA;MAAgBD,OAAO;MAASE,SAAS,MAAMpC,QAAQ,OAAA;MAAUqC,OAAO;OACvE,gBAAAX,OAAA,cAACY,WAAAA;MAAUC,WAAWC,QAAQ,CAAA;SAEhC,gBAAAd,OAAA,cAACS,iBAAAA;MAAgBD,OAAO;MAAeE,SAAS,MAAMpC,QAAQ,aAAA;MAAgBqC,OAAO;OACnF,gBAAAX,OAAA,cAACe,OAAAA;MAAMF,WAAWC,QAAQ,CAAA;SAE5B,gBAAAd,OAAA,cAACS,iBAAAA;MAAgBD,OAAO;MAAUE,SAAS,MAAMpC,QAAQ,QAAA;MAAWqC,OAAO;OACzE,gBAAAX,OAAA,cAACgB,MAAAA;MAAKH,WAAWC,QAAQ,CAAA;UAI7B,gBAAAd,OAAA,cAACG,QAAQc,
|
|
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", "
|
|
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"]
|
|
7
7
|
}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
DebugContext
|
|
3
|
-
} from "./chunk-LZEK532R.mjs";
|
|
4
|
-
import "./chunk-CAENAAHY.mjs";
|
|
5
1
|
import {
|
|
6
2
|
Container
|
|
7
3
|
} from "./chunk-GSJS3HEM.mjs";
|
|
4
|
+
import {
|
|
5
|
+
DebugContext
|
|
6
|
+
} from "./chunk-P7GHHMDB.mjs";
|
|
8
7
|
|
|
9
8
|
// packages/plugins/plugin-debug/src/components/DebugSpace/DebugSpace.tsx
|
|
10
9
|
import React2, { useContext, useMemo as useMemo2, useState as useState2 } from "react";
|
|
@@ -248,7 +247,9 @@ var DebugSpace = ({ space, onAddObjects }) => {
|
|
|
248
247
|
label: "Download",
|
|
249
248
|
size: 5,
|
|
250
249
|
onClick: handleDownload
|
|
251
|
-
}), /* @__PURE__ */ React2.createElement(Toolbar2.
|
|
250
|
+
}), /* @__PURE__ */ React2.createElement(Toolbar2.Separator, {
|
|
251
|
+
variant: "gap"
|
|
252
|
+
}), /* @__PURE__ */ React2.createElement(IconButton2, {
|
|
252
253
|
icon: "ph--flag-pennant--regular",
|
|
253
254
|
iconOnly: true,
|
|
254
255
|
label: "Create epoch",
|
|
@@ -273,4 +274,4 @@ var DebugSpace_default = DebugSpace;
|
|
|
273
274
|
export {
|
|
274
275
|
DebugSpace_default as default
|
|
275
276
|
};
|
|
276
|
-
//# sourceMappingURL=DebugSpace-
|
|
277
|
+
//# sourceMappingURL=DebugSpace-4JHYA7FG.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/DebugSpace/DebugSpace.tsx", "../../../src/components/DebugSpace/ObjectCreator.tsx", "../../../src/components/DebugSpace/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type FC, useContext, useMemo, useState } from 'react';\n\nimport { createSpaceObjectGenerator } from '@dxos/echo-generator';\nimport { type ReactiveObject } from '@dxos/live-object';\nimport { DocumentType } from '@dxos/plugin-markdown/types';\nimport { Invitation } from '@dxos/protocols/proto/dxos/client/services';\nimport { faker } from '@dxos/random';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, type Space, useSpaceInvitation } from '@dxos/react-client/echo';\nimport { InvitationEncoder } from '@dxos/react-client/invitations';\nimport { useAsyncEffect } from '@dxos/react-hooks';\nimport { Icon, IconButton, Input, type IconProps, type TextInputProps, Toolbar, useFileDownload } from '@dxos/react-ui';\nimport { safeParseInt } from '@dxos/util';\n\nimport { ObjectCreator } from './ObjectCreator';\nimport { DebugContext } from '../../types';\nimport { Container } from '../Container';\n\nconst DEFAULT_COUNT = 100;\nconst DEFAULT_PERIOD = 500;\nconst DEFAULT_JITTER = 50;\n\nconst useRefresh = (): [any, () => void] => {\n const [update, setUpdate] = useState({});\n return [update, () => setUpdate({})];\n};\n\nconst CustomInput = ({ icon, ...props }: Pick<IconProps, 'icon'> & TextInputProps) => {\n return (\n <div role='none' className='relative'>\n <Input.Root>\n <Input.TextInput classNames='w-[100px] text-right pie-[22px]' size={5} {...props} />\n </Input.Root>\n <Icon icon={icon} size={3} classNames='absolute inline-end-1 block-start-1 mt-[6px]' />\n </div>\n );\n};\n\nexport const DebugSpace: FC<{\n space: Space;\n onAddObjects?: (objects: ReactiveObject<any>[]) => void;\n}> = ({ space, onAddObjects }) => {\n const { connect } = useSpaceInvitation(space?.key);\n const client = useClient();\n const [data, setData] = useState<any>({});\n\n const [update, handleUpdate] = useRefresh();\n useAsyncEffect(\n async (isMounted) => {\n const data = await client.diagnostics({ truncate: true });\n if (isMounted()) {\n setData(\n data?.diagnostics?.spaces?.find(({ key }: any) => {\n return space.key.toHex().startsWith(key);\n }),\n );\n }\n },\n [space, update],\n );\n\n const download = useFileDownload();\n const handleDownload = async () => {\n download(\n new Blob([JSON.stringify(data, undefined, 2)], { type: 'text/plain' }),\n `${new Date().toISOString().replace(/\\W/g, '-')}.json`,\n );\n };\n\n const [mutationCount, setMutationCount] = useState(String(DEFAULT_COUNT));\n const [mutationInterval, setMutationInterval] = useState(String(DEFAULT_PERIOD));\n const [mutationJitter, setMutationJitter] = useState(String(DEFAULT_JITTER));\n\n const generator = useMemo(() => createSpaceObjectGenerator(space), [space]);\n\n // TODO(burdon): Note: this is shared across all spaces!\n const { running, start, stop } = useContext(DebugContext);\n const handleToggleRunning = () => {\n if (running) {\n stop();\n handleUpdate();\n } else {\n start(\n async () => {\n const { objects } = await space.db.query(Filter.schema(DocumentType)).run();\n if (objects.length) {\n const object = faker.helpers.arrayElement(objects);\n await generator.mutateObject(object, { count: 10, mutationSize: 10, maxContentLength: 1000 });\n }\n },\n {\n count: safeParseInt(mutationCount) ?? 0,\n interval: safeParseInt(mutationInterval) ?? 0,\n jitter: safeParseInt(mutationJitter) ?? 0,\n },\n );\n }\n };\n\n const handleCreateInvitation = () => {\n const invitation = space.share({\n type: Invitation.Type.INTERACTIVE,\n authMethod: Invitation.AuthMethod.NONE,\n multiUse: true,\n });\n\n // TODO(burdon): Refactor.\n // TODO(burdon): Unsubscribe?\n connect(invitation);\n const code = InvitationEncoder.encode(invitation.get());\n new URL(window.origin).searchParams.set('spaceInvitationCode', code);\n const url = `${window.origin}?spaceInvitationCode=${code}`;\n void navigator.clipboard.writeText(url);\n };\n\n const handleCreateEpoch = async () => {\n await space.internal.createEpoch();\n handleUpdate();\n };\n\n return (\n <Container\n toolbar={\n <Toolbar.Root classNames='p-1'>\n <CustomInput\n icon='ph--flag--regular'\n autoComplete='off'\n placeholder='Count'\n value={mutationCount}\n onChange={({ target: { value } }) => setMutationCount(value)}\n />\n <CustomInput\n icon='ph--timer--regular'\n autoComplete='off'\n placeholder='Interval'\n value={mutationInterval}\n onChange={({ target: { value } }) => setMutationInterval(value)}\n />\n <CustomInput\n icon='ph--plus-minus--regular'\n autoComplete='off'\n placeholder='Jitter'\n value={mutationJitter}\n onChange={({ target: { value } }) => setMutationJitter(value)}\n />\n\n <IconButton\n icon={running ? 'ph--pause-circle--regular' : 'ph--play-circle--regular'}\n iconOnly\n label='Start/stop'\n size={5}\n onClick={handleToggleRunning}\n />\n <IconButton icon='ph--arrow-clockwise--regular' iconOnly label='Refresh' size={5} onClick={handleUpdate} />\n <IconButton icon='ph--download-simple--regular' iconOnly label='Download' size={5} onClick={handleDownload} />\n\n <Toolbar.Separator variant='gap' />\n <IconButton\n icon='ph--flag-pennant--regular'\n iconOnly\n label='Create epoch'\n size={5}\n onClick={handleCreateEpoch}\n />\n <IconButton\n icon='ph--user-circle-plus--regular'\n iconOnly\n iconClassNames='text-blue-500'\n label='Create Invitation'\n size={5}\n onClick={handleCreateInvitation}\n />\n </Toolbar.Root>\n }\n >\n <ObjectCreator space={space} onAddObjects={onAddObjects} />\n </Container>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useMemo, useState } from 'react';\n\nimport { type MutationsProviderParams, TestSchemaType, createSpaceObjectGenerator } from '@dxos/echo-generator';\nimport { type ReactiveEchoObject, type ReactiveObject, type Space } from '@dxos/react-client/echo';\nimport { IconButton, Toolbar } from '@dxos/react-ui';\nimport { createColumnBuilder, type TableColumnDef, Table } from '@dxos/react-ui-table/deprecated';\n\nconst BATCH_SIZE = 10;\n\nexport type CreateObjectsParams = {\n schema: string;\n enabled: boolean;\n objects: number;\n mutations: Pick<MutationsProviderParams, 'count' | 'mutationSize' | 'maxContentLength'>;\n};\n\nexport type ObjectCreatorProps = {\n space: Space;\n onAddObjects?: (objects: ReactiveObject<any>[]) => void;\n};\n\nexport const ObjectCreator = ({ space, onAddObjects }: ObjectCreatorProps) => {\n const generator = useMemo(() => createSpaceObjectGenerator(space), [space]);\n\n const [objects, setObjects] = useState<CreateObjectsParams[]>(\n Object.values(TestSchemaType).map((schema) => ({\n schema,\n enabled: true,\n objects: 10,\n mutations: {\n count: 10,\n mutationSize: 10,\n maxContentLength: 1000,\n },\n })),\n );\n\n const handleCreate = async () => {\n for (const params of objects) {\n if (!params.enabled) {\n continue;\n }\n\n let objectsCreated = 0;\n while (objectsCreated < params.objects) {\n const objects = (await generator.createObjects({\n [params.schema]: Math.min(BATCH_SIZE, params.objects - objectsCreated),\n })) as ReactiveEchoObject<any>[];\n\n await generator.mutateObjects(objects, params.mutations);\n objectsCreated += objects.length;\n onAddObjects?.(objects);\n }\n }\n\n await space.db.flush();\n };\n\n const handleUpdate = (row: CreateObjectsParams, key: string, value: any) => {\n const newObjects = [...objects];\n Object.assign(newObjects.find((object) => object.schema === row.schema)!, { [key]: value });\n setObjects(newObjects);\n };\n\n const { helper, builder } = createColumnBuilder<CreateObjectsParams>();\n const columns: TableColumnDef<CreateObjectsParams>[] = [\n helper.accessor('enabled', builder.switch({ label: 'Live', onUpdate: handleUpdate })),\n helper.accessor('schema', builder.string({ label: 'Schema', classNames: 'font-mono' })),\n helper.accessor('objects', builder.number({ label: 'Objects', onUpdate: handleUpdate })),\n helper.accessor((obj) => obj.mutations.count, {\n id: 'mutations',\n ...builder.number({ label: 'Mutations', onUpdate: handleUpdate }),\n }),\n helper.accessor((obj) => obj.mutations.mutationSize, {\n id: 'mutationSize',\n ...builder.number({ label: 'Mut. Size', onUpdate: handleUpdate }),\n }),\n helper.accessor((obj) => obj.mutations.maxContentLength, {\n id: 'mutationMaxContentLength',\n ...builder.number({ label: 'Length', onUpdate: handleUpdate }),\n }),\n ];\n\n return (\n <>\n <Table.Root>\n <Table.Viewport>\n <Table.Main<CreateObjectsParams> columns={columns} data={objects} />\n </Table.Viewport>\n </Table.Root>\n <Toolbar.Root classNames='p-1'>\n <IconButton icon='ph--plus--regular' label='Create' onClick={handleCreate} />\n </Toolbar.Root>\n </>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { DebugSpace } from './DebugSpace';\n\nexport default DebugSpace;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "useContext", "useMemo", "useState", "createSpaceObjectGenerator", "DocumentType", "Invitation", "faker", "useClient", "Filter", "useSpaceInvitation", "InvitationEncoder", "useAsyncEffect", "Icon", "IconButton", "Input", "Toolbar", "useFileDownload", "safeParseInt", "React", "useMemo", "useState", "TestSchemaType", "createSpaceObjectGenerator", "IconButton", "Toolbar", "createColumnBuilder", "Table", "BATCH_SIZE", "ObjectCreator", "space", "onAddObjects", "generator", "useMemo", "createSpaceObjectGenerator", "objects", "setObjects", "useState", "Object", "values", "TestSchemaType", "map", "schema", "enabled", "mutations", "count", "mutationSize", "maxContentLength", "handleCreate", "params", "objectsCreated", "createObjects", "Math", "min", "mutateObjects", "length", "db", "flush", "handleUpdate", "row", "key", "value", "newObjects", "assign", "find", "object", "helper", "builder", "createColumnBuilder", "columns", "accessor", "switch", "label", "onUpdate", "string", "classNames", "number", "obj", "id", "Table", "Root", "Viewport", "Main", "data", "Toolbar", "IconButton", "icon", "onClick", "DEFAULT_COUNT", "DEFAULT_PERIOD", "DEFAULT_JITTER", "useRefresh", "update", "setUpdate", "useState", "CustomInput", "icon", "props", "React", "div", "role", "className", "Input", "Root", "TextInput", "classNames", "size", "Icon", "DebugSpace", "space", "onAddObjects", "connect", "useSpaceInvitation", "key", "client", "useClient", "data", "setData", "handleUpdate", "useAsyncEffect", "isMounted", "diagnostics", "truncate", "spaces", "find", "toHex", "startsWith", "download", "useFileDownload", "handleDownload", "Blob", "JSON", "stringify", "undefined", "type", "Date", "toISOString", "replace", "mutationCount", "setMutationCount", "String", "mutationInterval", "setMutationInterval", "mutationJitter", "setMutationJitter", "generator", "useMemo", "createSpaceObjectGenerator", "running", "start", "stop", "useContext", "DebugContext", "handleToggleRunning", "objects", "db", "query", "Filter", "schema", "DocumentType", "run", "length", "object", "faker", "helpers", "arrayElement", "mutateObject", "count", "mutationSize", "maxContentLength", "safeParseInt", "interval", "jitter", "handleCreateInvitation", "invitation", "share", "Invitation", "Type", "INTERACTIVE", "authMethod", "AuthMethod", "NONE", "multiUse", "code", "InvitationEncoder", "encode", "get", "URL", "window", "origin", "searchParams", "set", "url", "navigator", "clipboard", "writeText", "handleCreateEpoch", "internal", "createEpoch", "Container", "toolbar", "Toolbar", "autoComplete", "placeholder", "value", "onChange", "target", "IconButton", "iconOnly", "label", "onClick", "Separator", "variant", "iconClassNames", "ObjectCreator", "DebugSpace"]
|
|
7
|
+
}
|
|
@@ -1,41 +1,51 @@
|
|
|
1
1
|
// packages/plugins/plugin-debug/src/components/SpaceGenerator/SpaceGenerator.tsx
|
|
2
2
|
import React2, { useCallback, useMemo, useState } from "react";
|
|
3
|
+
import { ComputeGraph as ComputeGraph2 } from "@dxos/conductor";
|
|
3
4
|
import { DocumentType as DocumentType2 } from "@dxos/plugin-markdown/types";
|
|
4
5
|
import { SheetType as SheetType2 } from "@dxos/plugin-sheet/types";
|
|
5
6
|
import { DiagramType as DiagramType2 } from "@dxos/plugin-sketch/types";
|
|
6
7
|
import { useClient } from "@dxos/react-client";
|
|
7
8
|
import { getTypename } from "@dxos/react-client/echo";
|
|
8
9
|
import { IconButton as IconButton2, Input, Toolbar, useAsyncEffect } from "@dxos/react-ui";
|
|
10
|
+
import { CanvasBoardType as CanvasBoardType2 } from "@dxos/react-ui-canvas-editor";
|
|
9
11
|
import { SyntaxHighlighter } from "@dxos/react-ui-syntax-highlighter";
|
|
10
12
|
import { Testing } from "@dxos/schema/testing";
|
|
11
13
|
import { jsonKeyReplacer, sortKeys } from "@dxos/util";
|
|
12
14
|
|
|
13
15
|
// packages/plugins/plugin-debug/src/components/SpaceGenerator/ObjectGenerator.tsx
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
16
|
+
import { addressToA1Notation } from "@dxos/compute";
|
|
17
|
+
import { ComputeGraph, ComputeGraphModel, DEFAULT_OUTPUT, NODE_INPUT, NODE_OUTPUT } from "@dxos/conductor";
|
|
18
|
+
import { ObjectId } from "@dxos/echo-schema";
|
|
19
|
+
import { TriggerKind } from "@dxos/functions/types";
|
|
20
|
+
import { invariant } from "@dxos/invariant";
|
|
21
|
+
import { DXN, SpaceId } from "@dxos/keys";
|
|
22
|
+
import { create, makeRef } from "@dxos/live-object";
|
|
23
|
+
import { DocumentType } from "@dxos/plugin-markdown/types";
|
|
24
|
+
import { createSheet } from "@dxos/plugin-sheet/types";
|
|
17
25
|
import { SheetType } from "@dxos/plugin-sheet/types";
|
|
18
26
|
import { CanvasType, DiagramType } from "@dxos/plugin-sketch/types";
|
|
19
27
|
import { faker } from "@dxos/random";
|
|
20
28
|
import { Filter } from "@dxos/react-client/echo";
|
|
29
|
+
import { createAppend, createComputeGraph, createConstant, createGpt, createQueue, createText, createTrigger } from "@dxos/react-ui-canvas-compute";
|
|
30
|
+
import { pointMultiply, pointsToRect, rectToPoints, CanvasBoardType, CanvasGraphModel } from "@dxos/react-ui-canvas-editor";
|
|
21
31
|
import { TableType } from "@dxos/react-ui-table";
|
|
22
|
-
import { createView } from "@dxos/schema";
|
|
32
|
+
import { createView, TextType } from "@dxos/schema";
|
|
23
33
|
import { createAsyncGenerator } from "@dxos/schema/testing";
|
|
24
34
|
import { range } from "@dxos/util";
|
|
35
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-debug/src/components/SpaceGenerator/ObjectGenerator.tsx";
|
|
25
36
|
var generator = faker;
|
|
26
37
|
var staticGenerators = /* @__PURE__ */ new Map([
|
|
27
38
|
[
|
|
28
39
|
DocumentType.typename,
|
|
29
40
|
async (space, n, cb) => {
|
|
30
41
|
const objects = range(n).map(() => {
|
|
31
|
-
|
|
42
|
+
return space.db.add(create(DocumentType, {
|
|
32
43
|
name: faker.commerce.productName(),
|
|
33
|
-
content: create(TextType, {
|
|
44
|
+
content: makeRef(create(TextType, {
|
|
34
45
|
content: faker.lorem.sentences(5)
|
|
35
|
-
}),
|
|
46
|
+
})),
|
|
36
47
|
threads: []
|
|
37
48
|
}));
|
|
38
|
-
return obj;
|
|
39
49
|
});
|
|
40
50
|
cb?.(objects);
|
|
41
51
|
return objects;
|
|
@@ -47,9 +57,9 @@ var staticGenerators = /* @__PURE__ */ new Map([
|
|
|
47
57
|
const objects = range(n).map(() => {
|
|
48
58
|
const obj = space.db.add(create(DiagramType, {
|
|
49
59
|
name: faker.commerce.productName(),
|
|
50
|
-
canvas: create(CanvasType, {
|
|
60
|
+
canvas: makeRef(create(CanvasType, {
|
|
51
61
|
content: {}
|
|
52
|
-
})
|
|
62
|
+
}))
|
|
53
63
|
}));
|
|
54
64
|
return obj;
|
|
55
65
|
});
|
|
@@ -103,18 +113,210 @@ var staticGenerators = /* @__PURE__ */ new Map([
|
|
|
103
113
|
cb?.(objects);
|
|
104
114
|
return objects;
|
|
105
115
|
}
|
|
116
|
+
],
|
|
117
|
+
[
|
|
118
|
+
ComputeGraph.typename,
|
|
119
|
+
async (space, n, cb) => {
|
|
120
|
+
const objects = range(n, () => {
|
|
121
|
+
const model = ComputeGraphModel.create();
|
|
122
|
+
model.builder.createNode({
|
|
123
|
+
id: "gpt-INPUT",
|
|
124
|
+
type: NODE_INPUT
|
|
125
|
+
}).createNode({
|
|
126
|
+
id: "gpt-GPT",
|
|
127
|
+
type: "gpt"
|
|
128
|
+
}).createNode({
|
|
129
|
+
id: "gpt-QUEUE_ID",
|
|
130
|
+
type: "constant",
|
|
131
|
+
value: new DXN(DXN.kind.QUEUE, [
|
|
132
|
+
"data",
|
|
133
|
+
SpaceId.random(),
|
|
134
|
+
ObjectId.random()
|
|
135
|
+
]).toString()
|
|
136
|
+
}).createNode({
|
|
137
|
+
id: "gpt-APPEND",
|
|
138
|
+
type: "append"
|
|
139
|
+
}).createNode({
|
|
140
|
+
id: "gpt-OUTPUT",
|
|
141
|
+
type: NODE_OUTPUT
|
|
142
|
+
}).createEdge({
|
|
143
|
+
node: "gpt-INPUT",
|
|
144
|
+
property: "prompt"
|
|
145
|
+
}, {
|
|
146
|
+
node: "gpt-GPT",
|
|
147
|
+
property: "prompt"
|
|
148
|
+
}).createEdge({
|
|
149
|
+
node: "gpt-GPT",
|
|
150
|
+
property: "text"
|
|
151
|
+
}, {
|
|
152
|
+
node: "gpt-OUTPUT",
|
|
153
|
+
property: "text"
|
|
154
|
+
}).createEdge({
|
|
155
|
+
node: "gpt-QUEUE_ID",
|
|
156
|
+
property: DEFAULT_OUTPUT
|
|
157
|
+
}, {
|
|
158
|
+
node: "gpt-APPEND",
|
|
159
|
+
property: "id"
|
|
160
|
+
}).createEdge({
|
|
161
|
+
node: "gpt-GPT",
|
|
162
|
+
property: "messages"
|
|
163
|
+
}, {
|
|
164
|
+
node: "gpt-APPEND",
|
|
165
|
+
property: "items"
|
|
166
|
+
}).createEdge({
|
|
167
|
+
node: "gpt-QUEUE_ID",
|
|
168
|
+
property: DEFAULT_OUTPUT
|
|
169
|
+
}, {
|
|
170
|
+
node: "gpt-OUTPUT",
|
|
171
|
+
property: "queue"
|
|
172
|
+
});
|
|
173
|
+
return space.db.add(model.root);
|
|
174
|
+
});
|
|
175
|
+
cb?.(objects);
|
|
176
|
+
return objects;
|
|
177
|
+
}
|
|
178
|
+
],
|
|
179
|
+
[
|
|
180
|
+
CanvasBoardType.typename,
|
|
181
|
+
async (space, n, cb) => {
|
|
182
|
+
const objects = range(n, () => {
|
|
183
|
+
const canvasModel = CanvasGraphModel.create();
|
|
184
|
+
let functionTrigger;
|
|
185
|
+
canvasModel.builder.call((builder) => {
|
|
186
|
+
const gpt = canvasModel.createNode(createGpt(position({
|
|
187
|
+
x: 0,
|
|
188
|
+
y: -14
|
|
189
|
+
})));
|
|
190
|
+
const triggerShape = createTrigger({
|
|
191
|
+
triggerKind: TriggerKind.Webhook,
|
|
192
|
+
...position({
|
|
193
|
+
x: -18,
|
|
194
|
+
y: -2
|
|
195
|
+
})
|
|
196
|
+
});
|
|
197
|
+
const trigger = canvasModel.createNode(triggerShape);
|
|
198
|
+
const text = canvasModel.createNode(createText(position({
|
|
199
|
+
x: 19,
|
|
200
|
+
y: 3,
|
|
201
|
+
width: 10,
|
|
202
|
+
height: 10
|
|
203
|
+
})));
|
|
204
|
+
const queueId = canvasModel.createNode(createConstant({
|
|
205
|
+
value: new DXN(DXN.kind.QUEUE, [
|
|
206
|
+
"data",
|
|
207
|
+
SpaceId.random(),
|
|
208
|
+
ObjectId.random()
|
|
209
|
+
]).toString(),
|
|
210
|
+
...position({
|
|
211
|
+
x: -18,
|
|
212
|
+
y: 5,
|
|
213
|
+
width: 8,
|
|
214
|
+
height: 6
|
|
215
|
+
})
|
|
216
|
+
}));
|
|
217
|
+
const queue = canvasModel.createNode(createQueue(position({
|
|
218
|
+
x: -3,
|
|
219
|
+
y: 3,
|
|
220
|
+
width: 14,
|
|
221
|
+
height: 10
|
|
222
|
+
})));
|
|
223
|
+
const append = canvasModel.createNode(createAppend(position({
|
|
224
|
+
x: 10,
|
|
225
|
+
y: 6
|
|
226
|
+
})));
|
|
227
|
+
builder.createEdge({
|
|
228
|
+
source: trigger.id,
|
|
229
|
+
target: gpt.id,
|
|
230
|
+
input: "prompt",
|
|
231
|
+
output: "bodyText"
|
|
232
|
+
}).createEdge({
|
|
233
|
+
source: gpt.id,
|
|
234
|
+
target: text.id,
|
|
235
|
+
output: "text"
|
|
236
|
+
}).createEdge({
|
|
237
|
+
source: queueId.id,
|
|
238
|
+
target: queue.id
|
|
239
|
+
}).createEdge({
|
|
240
|
+
source: queueId.id,
|
|
241
|
+
target: append.id,
|
|
242
|
+
input: "id"
|
|
243
|
+
}).createEdge({
|
|
244
|
+
source: gpt.id,
|
|
245
|
+
target: append.id,
|
|
246
|
+
output: "messages",
|
|
247
|
+
input: "items"
|
|
248
|
+
});
|
|
249
|
+
functionTrigger = triggerShape.functionTrigger.target;
|
|
250
|
+
});
|
|
251
|
+
const computeModel = createComputeGraph(canvasModel);
|
|
252
|
+
const computeGraph = computeModel.root;
|
|
253
|
+
invariant(functionTrigger, void 0, {
|
|
254
|
+
F: __dxlog_file,
|
|
255
|
+
L: 192,
|
|
256
|
+
S: void 0,
|
|
257
|
+
A: [
|
|
258
|
+
"functionTrigger",
|
|
259
|
+
""
|
|
260
|
+
]
|
|
261
|
+
});
|
|
262
|
+
functionTrigger.function = DXN.fromLocalObjectId(computeGraph.id).toString();
|
|
263
|
+
functionTrigger.meta ??= {};
|
|
264
|
+
const inputNode = computeModel.nodes.find((node) => node.type === NODE_INPUT);
|
|
265
|
+
functionTrigger.meta.computeNodeId = inputNode.id;
|
|
266
|
+
return space.db.add(create(CanvasBoardType, {
|
|
267
|
+
computeGraph: makeRef(computeGraph),
|
|
268
|
+
layout: canvasModel.graph
|
|
269
|
+
}));
|
|
270
|
+
});
|
|
271
|
+
cb?.(objects);
|
|
272
|
+
return objects;
|
|
273
|
+
}
|
|
106
274
|
]
|
|
107
275
|
]);
|
|
276
|
+
var position = (rect) => {
|
|
277
|
+
const snap = 32;
|
|
278
|
+
const [center, size] = rectToPoints({
|
|
279
|
+
width: 0,
|
|
280
|
+
height: 0,
|
|
281
|
+
...rect
|
|
282
|
+
});
|
|
283
|
+
const { x, y, width, height } = pointsToRect([
|
|
284
|
+
pointMultiply(center, snap),
|
|
285
|
+
pointMultiply(size, snap)
|
|
286
|
+
]);
|
|
287
|
+
if (width && height) {
|
|
288
|
+
return {
|
|
289
|
+
center: {
|
|
290
|
+
x,
|
|
291
|
+
y
|
|
292
|
+
},
|
|
293
|
+
size: width && height ? {
|
|
294
|
+
width,
|
|
295
|
+
height
|
|
296
|
+
} : void 0
|
|
297
|
+
};
|
|
298
|
+
} else {
|
|
299
|
+
return {
|
|
300
|
+
center: {
|
|
301
|
+
x,
|
|
302
|
+
y
|
|
303
|
+
}
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
};
|
|
108
307
|
var createGenerator = (type) => {
|
|
109
308
|
return async (space, n, cb) => {
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
|
|
309
|
+
const schema = await space.db.schemaRegistry.query({
|
|
310
|
+
typename: type.typename
|
|
311
|
+
}).firstOrUndefined() ?? (await space.db.schemaRegistry.register([
|
|
312
|
+
type
|
|
313
|
+
]))[0];
|
|
314
|
+
const generate = createAsyncGenerator(generator, schema.getSchemaSnapshot(), {
|
|
113
315
|
db: space.db
|
|
114
316
|
});
|
|
115
317
|
const objects = await generate.createObjects(n);
|
|
116
318
|
const { objects: tables } = await space.db.query(Filter.schema(TableType)).run();
|
|
117
|
-
const table = tables.find((table2) => table2.view?.query?.type === type.typename);
|
|
319
|
+
const table = tables.find((table2) => table2.view?.target?.query?.type === type.typename);
|
|
118
320
|
if (!table) {
|
|
119
321
|
const name = type.typename.split("/").pop() ?? type.typename;
|
|
120
322
|
const view = createView({
|
|
@@ -124,7 +326,7 @@ var createGenerator = (type) => {
|
|
|
124
326
|
});
|
|
125
327
|
const table2 = space.db.add(create(TableType, {
|
|
126
328
|
name,
|
|
127
|
-
view
|
|
329
|
+
view: makeRef(view)
|
|
128
330
|
}));
|
|
129
331
|
cb?.([
|
|
130
332
|
table2
|
|
@@ -168,7 +370,9 @@ var SpaceGenerator = ({ space, onCreateObjects }) => {
|
|
|
168
370
|
const staticTypes = [
|
|
169
371
|
DocumentType2,
|
|
170
372
|
DiagramType2,
|
|
171
|
-
SheetType2
|
|
373
|
+
SheetType2,
|
|
374
|
+
ComputeGraph2,
|
|
375
|
+
CanvasBoardType2
|
|
172
376
|
];
|
|
173
377
|
const mutableTypes = [
|
|
174
378
|
Testing.OrgType,
|
|
@@ -192,7 +396,7 @@ var SpaceGenerator = ({ space, onCreateObjects }) => {
|
|
|
192
396
|
mutableTypes
|
|
193
397
|
]);
|
|
194
398
|
const updateInfo = async () => {
|
|
195
|
-
const
|
|
399
|
+
const echoSchema = await space.db.schemaRegistry.query().run();
|
|
196
400
|
const staticSchema = space.db.graph.schemaRegistry.schemas;
|
|
197
401
|
const { objects } = await space.db.query().run();
|
|
198
402
|
const objectMap = sortKeys(objects.reduce((map, obj) => {
|
|
@@ -206,7 +410,7 @@ var SpaceGenerator = ({ space, onCreateObjects }) => {
|
|
|
206
410
|
setInfo({
|
|
207
411
|
schema: {
|
|
208
412
|
static: staticSchema.length,
|
|
209
|
-
mutable:
|
|
413
|
+
mutable: echoSchema.length
|
|
210
414
|
},
|
|
211
415
|
objects: objectMap
|
|
212
416
|
});
|
|
@@ -234,7 +438,9 @@ var SpaceGenerator = ({ space, onCreateObjects }) => {
|
|
|
234
438
|
iconOnly: true,
|
|
235
439
|
label: "Refresh",
|
|
236
440
|
onClick: updateInfo
|
|
237
|
-
}), /* @__PURE__ */ React2.createElement(Toolbar.
|
|
441
|
+
}), /* @__PURE__ */ React2.createElement(Toolbar.Separator, {
|
|
442
|
+
variant: "gap"
|
|
443
|
+
}), /* @__PURE__ */ React2.createElement("div", {
|
|
238
444
|
className: "flex"
|
|
239
445
|
}, /* @__PURE__ */ React2.createElement(Input.Root, null, /* @__PURE__ */ React2.createElement(Input.TextInput, {
|
|
240
446
|
type: "number",
|
|
@@ -270,4 +476,4 @@ var SpaceGenerator_default = SpaceGenerator;
|
|
|
270
476
|
export {
|
|
271
477
|
SpaceGenerator_default as default
|
|
272
478
|
};
|
|
273
|
-
//# sourceMappingURL=SpaceGenerator-
|
|
479
|
+
//# sourceMappingURL=SpaceGenerator-YNT3WDFI.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/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useMemo, useState } from 'react';\n\nimport { ComputeGraph } from '@dxos/conductor';\nimport { type ReactiveObject } from '@dxos/live-object';\nimport { DocumentType } from '@dxos/plugin-markdown/types';\nimport { SheetType } from '@dxos/plugin-sheet/types';\nimport { DiagramType } from '@dxos/plugin-sketch/types';\nimport { useClient } from '@dxos/react-client';\nimport { getTypename, type Space } from '@dxos/react-client/echo';\nimport { IconButton, Input, Toolbar, useAsyncEffect } from '@dxos/react-ui';\nimport { CanvasBoardType } from '@dxos/react-ui-canvas-editor';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { Testing } from '@dxos/schema/testing';\nimport { jsonKeyReplacer, sortKeys } from '@dxos/util';\n\nimport { type ObjectGenerator, createGenerator, staticGenerators } from './ObjectGenerator';\nimport { SchemaTable } from './SchemaTable';\n\nexport type SpaceGeneratorProps = {\n space: Space;\n onCreateObjects?: (objects: ReactiveObject<any>[]) => void;\n};\n\nexport const SpaceGenerator = ({ space, onCreateObjects }: SpaceGeneratorProps) => {\n const client = useClient();\n const staticTypes = [DocumentType, DiagramType, SheetType, ComputeGraph, CanvasBoardType]; // TODO(burdon): Make extensible.\n const mutableTypes = [Testing.OrgType, Testing.ProjectType, Testing.ContactType];\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);\n const mutableGenerators = new Map<string, ObjectGenerator<any>>(\n mutableTypes.map((type) => [type.typename, createGenerator(type)]),\n );\n\n return new Map([...staticGenerators, ...mutableGenerators]);\n }, [client, mutableTypes]);\n\n // Query space to get info.\n const updateInfo = async () => {\n // Create schema map.\n const echoSchema = await space.db.schemaRegistry.query().run();\n const staticSchema = space.db.graph.schemaRegistry.schemas;\n\n // Create object map.\n const { objects } = await space.db.query().run();\n const objectMap = sortKeys(\n objects.reduce<Record<string, number>>((map, obj) => {\n const type = getTypename(obj);\n if (type) {\n const count = map[type] ?? 0;\n map[type] = count + 1;\n }\n return map;\n }, {}),\n );\n\n setInfo({\n schema: {\n static: staticSchema.length,\n mutable: echoSchema.length,\n },\n objects: objectMap,\n });\n };\n\n useAsyncEffect(updateInfo, [space]);\n\n const handleCreateData = useCallback(\n async (typename: string) => {\n const constructor = typeMap.get(typename);\n if (constructor) {\n // TODO(burdon): Input to specify number of objects.\n await constructor(space, count, onCreateObjects);\n await updateInfo();\n }\n },\n [typeMap, count],\n );\n\n return (\n <div role='none' className='flex flex-col divide-y divide-separator'>\n <Toolbar.Root classNames='p-1'>\n <IconButton icon='ph--arrow-clockwise--regular' iconOnly label='Refresh' onClick={updateInfo} />\n <Toolbar.Separator variant='gap' />\n <div className='flex'>\n <Input.Root>\n <Input.TextInput\n type='number'\n min={1}\n max={100}\n placeholder={'Count'}\n classNames='w-[80px]'\n value={count}\n onChange={(ev) => setCount(parseInt(ev.target.value))}\n />\n </Input.Root>\n </div>\n </Toolbar.Root>\n\n <SchemaTable types={staticTypes} objects={info.objects} label='Static Types' onClick={handleCreateData} />\n <SchemaTable types={mutableTypes} objects={info.objects} label='Mutable Types' onClick={handleCreateData} />\n\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 { type FunctionTrigger, TriggerKind } from '@dxos/functions/types';\nimport { invariant } from '@dxos/invariant';\nimport { DXN, SpaceId } from '@dxos/keys';\nimport { create, makeRef, type ReactiveObject } from '@dxos/live-object';\nimport { DocumentType } from '@dxos/plugin-markdown/types';\nimport { createSheet } from '@dxos/plugin-sheet/types';\nimport { SheetType, type CellValue } from '@dxos/plugin-sheet/types';\nimport { CanvasType, DiagramType } from '@dxos/plugin-sketch/types';\nimport { faker } from '@dxos/random';\nimport { Filter, type Space } from '@dxos/react-client/echo';\nimport {\n type ComputeShape,\n createAppend,\n createComputeGraph,\n createConstant,\n createGpt,\n createQueue,\n createText,\n createTrigger,\n} from '@dxos/react-ui-canvas-compute';\nimport {\n pointMultiply,\n pointsToRect,\n rectToPoints,\n CanvasBoardType,\n CanvasGraphModel,\n} from '@dxos/react-ui-canvas-editor';\nimport { TableType } from '@dxos/react-ui-table';\nimport { createView, TextType } from '@dxos/schema';\nimport { createAsyncGenerator, type ValueGenerator } from '@dxos/schema/testing';\nimport { range } from '@dxos/util';\n\nconst generator: ValueGenerator = faker as any;\n\n// TODO(burdon): Add objects to collections.\n// TODO(burdon): Create docs.\n// TODO(burdon): Create sketches.\n// TODO(burdon): Create sheets.\n// TODO(burdon): Create comments.\n// TODO(burdon): Reuse in testbench-app.\n// TODO(burdon): Mutator running in background (factor out): from echo-generator.\n\nexport type ObjectGenerator<T extends BaseObject> = (\n space: Space,\n n: number,\n cb?: (objects: ReactiveObject<any>[]) => void,\n) => Promise<ReactiveObject<T>[]>;\n\nexport const staticGenerators = new Map<string, ObjectGenerator<any>>([\n [\n DocumentType.typename,\n async (space, n, cb) => {\n const objects = range(n).map(() => {\n return space.db.add(\n create(DocumentType, {\n name: faker.commerce.productName(),\n content: makeRef(create(TextType, { content: faker.lorem.sentences(5) })),\n threads: [],\n }),\n );\n });\n\n cb?.(objects);\n return objects;\n },\n ],\n [\n DiagramType.typename,\n async (space, n, cb) => {\n const objects = range(n).map(() => {\n // TODO(burdon): Generate diagram.\n const obj = space.db.add(\n create(DiagramType, {\n name: faker.commerce.productName(),\n canvas: makeRef(create(CanvasType, { content: {} })),\n }),\n );\n\n return obj;\n });\n\n cb?.(objects);\n return objects;\n },\n ],\n // TODO(burdon): Create unit tests.\n [\n SheetType.typename,\n async (space, n, cb) => {\n const objects = range(n).map(() => {\n const cells: Record<string, CellValue> = {};\n const year = new Date().getFullYear();\n const cols = 4;\n const rows = 16;\n for (let col = 1; col <= cols; col++) {\n for (let row = 1; row <= rows; row++) {\n const cell = addressToA1Notation({ col, row });\n if (row === 1) {\n cells[cell] = { value: `${year} Q${col}` };\n } else if (row === rows) {\n const from = addressToA1Notation({ col, row: 2 });\n const to = addressToA1Notation({ col, row: rows - 1 });\n cells[cell] = { value: `=SUM(${from}:${to})` };\n } else if (row > 2 && row < rows - 1) {\n cells[cell] = { value: Math.floor(Math.random() * 10_000) };\n }\n }\n }\n\n // TODO(burdon): Set width.\n // TODO(burdon): Set formatting for columns.\n return space.db.add(\n createSheet({\n name: faker.commerce.productName(),\n cells,\n }),\n );\n });\n\n cb?.(objects);\n return objects;\n },\n ],\n [\n ComputeGraph.typename,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const model = ComputeGraphModel.create();\n model.builder\n .createNode({ id: 'gpt-INPUT', type: NODE_INPUT })\n .createNode({ id: 'gpt-GPT', type: 'gpt' })\n .createNode({\n id: 'gpt-QUEUE_ID',\n type: 'constant',\n value: new DXN(DXN.kind.QUEUE, ['data', SpaceId.random(), ObjectId.random()]).toString(),\n })\n .createNode({ id: 'gpt-APPEND', type: 'append' })\n .createNode({ id: 'gpt-OUTPUT', type: NODE_OUTPUT })\n .createEdge({ node: 'gpt-INPUT', property: 'prompt' }, { node: 'gpt-GPT', property: 'prompt' })\n .createEdge({ node: 'gpt-GPT', property: 'text' }, { node: 'gpt-OUTPUT', property: 'text' })\n .createEdge({ node: 'gpt-QUEUE_ID', property: DEFAULT_OUTPUT }, { node: 'gpt-APPEND', property: 'id' })\n .createEdge({ node: 'gpt-GPT', property: 'messages' }, { node: 'gpt-APPEND', property: 'items' })\n .createEdge({ node: 'gpt-QUEUE_ID', property: DEFAULT_OUTPUT }, { node: 'gpt-OUTPUT', property: 'queue' });\n\n return space.db.add(model.root);\n });\n cb?.(objects);\n return objects;\n },\n ],\n [\n CanvasBoardType.typename,\n async (space, n, cb) => {\n const objects = range(n, () => {\n const canvasModel = CanvasGraphModel.create<ComputeShape>();\n\n let functionTrigger: FunctionTrigger | undefined;\n canvasModel.builder.call((builder) => {\n const gpt = canvasModel.createNode(createGpt(position({ x: 0, y: -14 })));\n const triggerShape = createTrigger({ triggerKind: TriggerKind.Webhook, ...position({ x: -18, y: -2 }) });\n const trigger = canvasModel.createNode(triggerShape);\n const text = canvasModel.createNode(createText(position({ x: 19, y: 3, width: 10, height: 10 })));\n const queueId = canvasModel.createNode(\n createConstant({\n value: new DXN(DXN.kind.QUEUE, ['data', SpaceId.random(), ObjectId.random()]).toString(),\n ...position({ x: -18, y: 5, width: 8, height: 6 }),\n }),\n );\n const queue = canvasModel.createNode(createQueue(position({ x: -3, y: 3, width: 14, height: 10 })));\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: queue.id })\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 const computeGraph = computeModel.root;\n\n invariant(functionTrigger);\n functionTrigger.function = DXN.fromLocalObjectId(computeGraph.id).toString();\n functionTrigger.meta ??= {};\n const inputNode = computeModel.nodes.find((node) => node.type === NODE_INPUT)!;\n functionTrigger.meta.computeNodeId = inputNode.id;\n\n return space.db.add(\n create(CanvasBoardType, {\n computeGraph: makeRef(computeGraph),\n layout: canvasModel.graph,\n }),\n );\n });\n cb?.(objects);\n return objects;\n },\n ],\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\nexport const createGenerator = <T extends BaseObject>(type: TypedObject<T>): ObjectGenerator<T> => {\n return async (\n space: Space,\n n: number,\n cb?: (objects: ReactiveObject<any>[]) => void,\n ): Promise<ReactiveObject<T>[]> => {\n // Find or create mutable schema.\n const schema =\n (await space.db.schemaRegistry.query({ typename: type.typename }).firstOrUndefined()) ??\n (await space.db.schemaRegistry.register([type]))[0];\n\n // Create objects.\n const generate = createAsyncGenerator(generator, schema.getSchemaSnapshot(), { db: space.db });\n const objects = await generate.createObjects(n);\n\n // Find or create table and view.\n const { objects: tables } = await space.db.query(Filter.schema(TableType)).run();\n const table = tables.find((table) => table.view?.target?.query?.type === type.typename);\n if (!table) {\n const name = type.typename.split('/').pop() ?? type.typename;\n const view = createView({ name, typename: type.typename, jsonSchema: schema.jsonSchema });\n const table = space.db.add(create(TableType, { name, view: makeRef(view) }));\n cb?.([table]);\n }\n\n return objects;\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { IconButton } from '@dxos/react-ui';\n\nexport type SchemaTableProps = {\n types: any[];\n objects?: Record<string, number | undefined>;\n label: string;\n onClick: (typename: string) => void;\n};\n\nexport const SchemaTable = ({ types, objects = {}, label, onClick }: SchemaTableProps) => {\n return (\n <div className='grid grid-cols-[1fr_80px_40px] gap-1 overflow-hidden'>\n <div className='grid grid-cols-subgrid col-span-3'>\n <div className='px-2 text-sm text-primary-500'>{label}</div>\n <div className='px-2 text-xs text-subdued text-right'>count</div>\n </div>\n {types.map((type) => (\n <div key={type.typename} className='grid grid-cols-subgrid col-span-3 items-center'>\n <div className='px-2 text-sm font-mono text-green-500'>{type.typename}</div>\n <div className='px-2 text-right font-mono'>{objects[type.typename] ?? 0}</div>\n <IconButton\n variant='ghost'\n icon='ph--plus--regular'\n iconOnly\n label='Create data'\n onClick={() => onClick(type.typename)}\n />\n </div>\n ))}\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SpaceGenerator } from './SpaceGenerator';\n\nexport default SpaceGenerator;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "useCallback", "useMemo", "useState", "ComputeGraph", "DocumentType", "SheetType", "DiagramType", "useClient", "getTypename", "IconButton", "Input", "Toolbar", "useAsyncEffect", "CanvasBoardType", "SyntaxHighlighter", "Testing", "jsonKeyReplacer", "sortKeys", "addressToA1Notation", "ComputeGraph", "ComputeGraphModel", "DEFAULT_OUTPUT", "NODE_INPUT", "NODE_OUTPUT", "ObjectId", "TriggerKind", "invariant", "DXN", "SpaceId", "create", "makeRef", "DocumentType", "createSheet", "SheetType", "CanvasType", "DiagramType", "faker", "Filter", "createAppend", "createComputeGraph", "createConstant", "createGpt", "createQueue", "createText", "createTrigger", "pointMultiply", "pointsToRect", "rectToPoints", "CanvasBoardType", "CanvasGraphModel", "TableType", "createView", "TextType", "createAsyncGenerator", "range", "generator", "staticGenerators", "Map", "typename", "space", "n", "cb", "objects", "map", "db", "add", "name", "commerce", "productName", "content", "lorem", "sentences", "threads", "obj", "canvas", "cells", "year", "Date", "getFullYear", "cols", "rows", "col", "row", "cell", "value", "from", "to", "Math", "floor", "random", "model", "builder", "createNode", "id", "type", "kind", "QUEUE", "toString", "createEdge", "node", "property", "root", "canvasModel", "functionTrigger", "call", "gpt", "position", "x", "y", "triggerShape", "triggerKind", "Webhook", "trigger", "text", "width", "height", "queueId", "queue", "append", "source", "target", "input", "output", "computeModel", "computeGraph", "function", "fromLocalObjectId", "meta", "inputNode", "nodes", "find", "computeNodeId", "layout", "graph", "rect", "snap", "center", "size", "undefined", "createGenerator", "schema", "schemaRegistry", "query", "firstOrUndefined", "register", "generate", "getSchemaSnapshot", "createObjects", "tables", "run", "table", "view", "split", "pop", "jsonSchema", "React", "IconButton", "SchemaTable", "types", "objects", "label", "onClick", "div", "className", "map", "type", "key", "typename", "IconButton", "variant", "icon", "iconOnly", "SpaceGenerator", "space", "onCreateObjects", "client", "useClient", "staticTypes", "DocumentType", "DiagramType", "SheetType", "ComputeGraph", "CanvasBoardType", "mutableTypes", "Testing", "OrgType", "ProjectType", "ContactType", "count", "setCount", "useState", "info", "setInfo", "typeMap", "useMemo", "addTypes", "mutableGenerators", "Map", "map", "type", "typename", "createGenerator", "staticGenerators", "updateInfo", "echoSchema", "db", "schemaRegistry", "query", "run", "staticSchema", "graph", "schemas", "objects", "objectMap", "sortKeys", "reduce", "obj", "getTypename", "schema", "static", "length", "mutable", "useAsyncEffect", "handleCreateData", "useCallback", "constructor", "get", "React", "div", "role", "className", "Toolbar", "Root", "classNames", "IconButton", "icon", "iconOnly", "label", "onClick", "Separator", "variant", "Input", "TextInput", "min", "max", "placeholder", "value", "onChange", "ev", "parseInt", "target", "SchemaTable", "types", "SyntaxHighlighter", "language", "JSON", "stringify", "jsonKeyReplacer", "truncate", "SpaceGenerator"]
|
|
7
|
+
}
|