@dxos/plugin-explorer 0.8.2-main.36232bc → 0.8.2-main.5ca3450

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 (74) hide show
  1. package/dist/lib/browser/{ExplorerContainer-HL532ODG.mjs → ExplorerContainer-UJJIZBXP.mjs} +2 -2
  2. package/dist/lib/browser/{chunk-RRXH3JYB.mjs → chunk-AOQ4BVBH.mjs} +3 -3
  3. package/dist/lib/browser/{chunk-SBLNE7FL.mjs → chunk-DHAPRNIM.mjs} +5 -4
  4. package/dist/lib/browser/chunk-DHAPRNIM.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-QLQLPZNI.mjs → chunk-HKQSZX7S.mjs} +10 -9
  6. package/dist/lib/browser/chunk-HKQSZX7S.mjs.map +7 -0
  7. package/dist/lib/browser/index.mjs +5 -5
  8. package/dist/lib/browser/{intent-resolver-P4YLQHXF.mjs → intent-resolver-7JF4DU2C.mjs} +2 -2
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/{react-surface-TPR4VUPE.mjs → react-surface-VFVM6HNB.mjs} +4 -4
  11. package/dist/lib/browser/types/index.mjs +1 -1
  12. package/dist/lib/node/{ExplorerContainer-73AHSBAG.cjs → ExplorerContainer-XJUAYKA6.cjs} +6 -6
  13. package/dist/lib/node/{chunk-OIHH6TVE.cjs → chunk-4VLNAK7T.cjs} +7 -6
  14. package/dist/lib/node/chunk-4VLNAK7T.cjs.map +7 -0
  15. package/dist/lib/node/{chunk-YLL7H7CZ.cjs → chunk-6R5P3UVS.cjs} +12 -11
  16. package/dist/lib/node/chunk-6R5P3UVS.cjs.map +7 -0
  17. package/dist/lib/node/{chunk-4QUNUHKB.cjs → chunk-AUWXU65U.cjs} +7 -7
  18. package/dist/lib/node/index.cjs +17 -17
  19. package/dist/lib/node/{intent-resolver-T2R4PJVP.cjs → intent-resolver-VDAHQEE7.cjs} +7 -7
  20. package/dist/lib/node/meta.json +1 -1
  21. package/dist/lib/node/{react-surface-OLIOGYOK.cjs → react-surface-4YBNYQED.cjs} +9 -9
  22. package/dist/lib/node/types/index.cjs +3 -3
  23. package/dist/lib/node/types/index.cjs.map +1 -1
  24. package/dist/lib/node-esm/{ExplorerContainer-NMI55PYM.mjs → ExplorerContainer-5K4RALZR.mjs} +2 -2
  25. package/dist/lib/node-esm/{chunk-VNMYGDGZ.mjs → chunk-4C6UIJCM.mjs} +3 -3
  26. package/dist/lib/node-esm/{chunk-QZH2GDN5.mjs → chunk-QOJSLABX.mjs} +10 -9
  27. package/dist/lib/node-esm/chunk-QOJSLABX.mjs.map +7 -0
  28. package/dist/lib/node-esm/{chunk-SZRRNWYT.mjs → chunk-XMTM43JC.mjs} +5 -4
  29. package/dist/lib/node-esm/chunk-XMTM43JC.mjs.map +7 -0
  30. package/dist/lib/node-esm/index.mjs +5 -5
  31. package/dist/lib/node-esm/{intent-resolver-OMUHLTGU.mjs → intent-resolver-XWRVHP6H.mjs} +2 -2
  32. package/dist/lib/node-esm/meta.json +1 -1
  33. package/dist/lib/node-esm/{react-surface-QLB55AWT.mjs → react-surface-6BTL55DB.mjs} +4 -4
  34. package/dist/lib/node-esm/types/index.mjs +1 -1
  35. package/dist/types/src/components/Chart/Chart.d.ts.map +1 -1
  36. package/dist/types/src/components/ExplorerContainer.d.ts.map +1 -1
  37. package/dist/types/src/components/Globe/Globe.d.ts.map +1 -1
  38. package/dist/types/src/components/Graph/graph-model.d.ts +3 -3
  39. package/dist/types/src/components/Graph/graph-model.d.ts.map +1 -1
  40. package/dist/types/src/components/Tree/Tree.d.ts.map +1 -1
  41. package/dist/types/src/components/Tree/layout/HierarchicalEdgeBundling.d.ts.map +1 -1
  42. package/dist/types/src/components/Tree/layout/RadialTree.d.ts.map +1 -1
  43. package/dist/types/src/components/Tree/layout/TidyTree.d.ts.map +1 -1
  44. package/dist/types/src/components/Tree/types.d.ts.map +1 -1
  45. package/dist/types/src/components/plot.d.ts.map +1 -1
  46. package/dist/types/src/translations.d.ts +2 -8
  47. package/dist/types/src/translations.d.ts.map +1 -1
  48. package/dist/types/src/types/schema.d.ts +6 -6
  49. package/dist/types/src/types/schema.d.ts.map +1 -1
  50. package/dist/types/src/types/types.d.ts +6 -6
  51. package/dist/types/src/types/types.d.ts.map +1 -1
  52. package/dist/types/tsconfig.tsbuildinfo +1 -1
  53. package/package.json +26 -24
  54. package/src/components/Graph/graph-model.ts +7 -6
  55. package/src/types/schema.ts +5 -3
  56. package/src/types/types.ts +5 -5
  57. package/dist/lib/browser/chunk-QLQLPZNI.mjs.map +0 -7
  58. package/dist/lib/browser/chunk-SBLNE7FL.mjs.map +0 -7
  59. package/dist/lib/node/chunk-OIHH6TVE.cjs.map +0 -7
  60. package/dist/lib/node/chunk-YLL7H7CZ.cjs.map +0 -7
  61. package/dist/lib/node-esm/chunk-QZH2GDN5.mjs.map +0 -7
  62. package/dist/lib/node-esm/chunk-SZRRNWYT.mjs.map +0 -7
  63. /package/dist/lib/browser/{ExplorerContainer-HL532ODG.mjs.map → ExplorerContainer-UJJIZBXP.mjs.map} +0 -0
  64. /package/dist/lib/browser/{chunk-RRXH3JYB.mjs.map → chunk-AOQ4BVBH.mjs.map} +0 -0
  65. /package/dist/lib/browser/{intent-resolver-P4YLQHXF.mjs.map → intent-resolver-7JF4DU2C.mjs.map} +0 -0
  66. /package/dist/lib/browser/{react-surface-TPR4VUPE.mjs.map → react-surface-VFVM6HNB.mjs.map} +0 -0
  67. /package/dist/lib/node/{ExplorerContainer-73AHSBAG.cjs.map → ExplorerContainer-XJUAYKA6.cjs.map} +0 -0
  68. /package/dist/lib/node/{chunk-4QUNUHKB.cjs.map → chunk-AUWXU65U.cjs.map} +0 -0
  69. /package/dist/lib/node/{intent-resolver-T2R4PJVP.cjs.map → intent-resolver-VDAHQEE7.cjs.map} +0 -0
  70. /package/dist/lib/node/{react-surface-OLIOGYOK.cjs.map → react-surface-4YBNYQED.cjs.map} +0 -0
  71. /package/dist/lib/node-esm/{ExplorerContainer-NMI55PYM.mjs.map → ExplorerContainer-5K4RALZR.mjs.map} +0 -0
  72. /package/dist/lib/node-esm/{chunk-VNMYGDGZ.mjs.map → chunk-4C6UIJCM.mjs.map} +0 -0
  73. /package/dist/lib/node-esm/{intent-resolver-OMUHLTGU.mjs.map → intent-resolver-XWRVHP6H.mjs.map} +0 -0
  74. /package/dist/lib/node-esm/{react-surface-QLB55AWT.mjs.map → react-surface-6BTL55DB.mjs.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Graph
3
- } from "./chunk-SBLNE7FL.mjs";
3
+ } from "./chunk-DHAPRNIM.mjs";
4
4
 
5
5
  // packages/plugins/plugin-explorer/src/components/ExplorerContainer.tsx
6
6
  import React from "react";
@@ -24,4 +24,4 @@ var ExplorerContainer_default = ExplorerContainer;
24
24
  export {
25
25
  ExplorerContainer_default as default
26
26
  };
27
- //# sourceMappingURL=ExplorerContainer-HL532ODG.mjs.map
27
+ //# sourceMappingURL=ExplorerContainer-UJJIZBXP.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SpaceGraphModel
3
- } from "./chunk-SBLNE7FL.mjs";
3
+ } from "./chunk-DHAPRNIM.mjs";
4
4
 
5
5
  // packages/plugins/plugin-explorer/src/components/Chart/Chart.tsx
6
6
  import * as Plot from "@observablehq/plot";
@@ -11059,7 +11059,7 @@ var Tree = ({ space, selected, variant = "tidy", onNodeClick }) => {
11059
11059
 
11060
11060
  // packages/plugins/plugin-explorer/src/components/index.ts
11061
11061
  import { lazy } from "react";
11062
- var ExplorerContainer = lazy(() => import("./ExplorerContainer-HL532ODG.mjs"));
11062
+ var ExplorerContainer = lazy(() => import("./ExplorerContainer-UJJIZBXP.mjs"));
11063
11063
 
11064
11064
  export {
11065
11065
  Chart,
@@ -11068,4 +11068,4 @@ export {
11068
11068
  Tree,
11069
11069
  ExplorerContainer
11070
11070
  };
11071
- //# sourceMappingURL=chunk-RRXH3JYB.mjs.map
11071
+ //# sourceMappingURL=chunk-AOQ4BVBH.mjs.map
@@ -1,5 +1,6 @@
1
1
  // packages/plugins/plugin-explorer/src/components/Graph/graph-model.ts
2
- import { getSchema, getSchemaDXN, AST, ReferenceAnnotationId, SchemaValidator, StoredSchema } from "@dxos/echo-schema";
2
+ import { SchemaAST } from "effect";
3
+ import { getSchema, getSchemaDXN, ReferenceAnnotationId, SchemaValidator, StoredSchema } from "@dxos/echo-schema";
3
4
  import { GraphModel } from "@dxos/gem-spore";
4
5
  import { log } from "@dxos/log";
5
6
  import { CollectionType } from "@dxos/plugin-space/types";
@@ -92,12 +93,12 @@ var SpaceGraphModel = class extends GraphModel {
92
93
  typename
93
94
  }, {
94
95
  F: __dxlog_file,
95
- L: 147,
96
+ L: 148,
96
97
  S: this,
97
98
  C: (f, a) => f(...a)
98
99
  });
99
100
  }
100
- AST.getPropertySignatures(schema.ast).forEach((prop) => {
101
+ SchemaAST.getPropertySignatures(schema.ast).forEach((prop) => {
101
102
  if (!SchemaValidator.hasTypeAnnotation(schema, prop.name.toString(), ReferenceAnnotationId)) {
102
103
  return;
103
104
  }
@@ -202,4 +203,4 @@ export {
202
203
  SpaceGraphModel,
203
204
  Graph
204
205
  };
205
- //# sourceMappingURL=chunk-SBLNE7FL.mjs.map
206
+ //# sourceMappingURL=chunk-DHAPRNIM.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/Graph/graph-model.ts", "../../../src/components/Graph/Graph.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { SchemaAST } from 'effect';\n\nimport { type CleanupFn } from '@dxos/async';\nimport {\n getSchema,\n getSchemaDXN,\n type EchoSchema,\n ReferenceAnnotationId,\n SchemaValidator,\n StoredSchema,\n} from '@dxos/echo-schema';\nimport { type GraphData, GraphModel } from '@dxos/gem-spore';\nimport { log } from '@dxos/log';\nimport { CollectionType } from '@dxos/plugin-space/types';\nimport { Filter, type AnyLiveObject, type Space } from '@dxos/react-client/echo';\n\nexport type SpaceGraphModelOptions = {\n schema?: boolean;\n};\n\n// TODO(burdon): Convert to common/graph.\n\ntype SchemaGraphNode = {\n id: string;\n type: 'schema';\n data: { typename: string };\n};\n\ntype ObjectGraphNode = {\n id: string;\n type: 'object';\n data: { typename: string; object: AnyLiveObject<any> };\n};\n\nexport type EchoGraphNode = SchemaGraphNode | ObjectGraphNode;\n\n/**\n * Converts ECHO objects to a graph.\n */\nexport class SpaceGraphModel extends GraphModel<EchoGraphNode> {\n private readonly _graph: GraphData<EchoGraphNode> = {\n nodes: [],\n links: [],\n };\n\n private _schema?: EchoSchema[];\n private _schemaSubscription?: CleanupFn;\n private _objects?: AnyLiveObject<any>[];\n private _objectsSubscription?: CleanupFn;\n\n constructor(private readonly _options: SpaceGraphModelOptions = {}) {\n super();\n }\n\n override get graph(): GraphData<EchoGraphNode> {\n return this._graph;\n }\n\n get objects(): AnyLiveObject<any>[] {\n return this._objects ?? [];\n }\n\n // TODO(burdon): Alternative diagram types:\n // - https://observablehq.com/@d3/radial-tree/2\n // - https://observablehq.com/@d3/disjoint-force-directed-graph/2\n // - https://observablehq.com/@mbostock/tadpoles\n // - https://observablehq.com/@d3/psr-b1919-21\n // - https://vasturiano.github.io/react-force-graph/example/basic (3D)\n\n async open(space: Space, objectId?: string) {\n // TODO(burdon): Factor out graph builder to lib (use common/graph abstraction).\n if (!this._schemaSubscription) {\n // TODO(burdon): Normalize unsubscribe callbacks and merge handlers.\n // TODO(burdon): Trigger initial subscription update.\n // TODO(burdon): Normalize subscription cb for objects, schema, etc.\n\n const schemaaQuery = space.db.schemaRegistry.query({});\n const schemas = await schemaaQuery.run();\n const onSchemaUpdate = ({ results }: { results: EchoSchema[] }) => (this._schema = results);\n this._schemaSubscription = schemaaQuery.subscribe(onSchemaUpdate);\n onSchemaUpdate({ results: schemas });\n\n this._objectsSubscription = space.db\n // TODO(burdon): ERROR: Cannot mix type and or filters.\n .query(Filter.not(Filter.or(Filter.schema(StoredSchema), Filter.schema(CollectionType))))\n .subscribe(\n ({ objects }) => {\n this._objects = objects;\n\n // Merge with current nodes.\n const currentNodes = this._graph.nodes;\n\n this._graph.nodes = [];\n this._graph.links = [];\n\n const addSchema = (typename: string) => {\n const current = currentNodes.find((node) => node.id === typename);\n if (typename) {\n this._graph.nodes.push({\n ...current,\n id: typename,\n type: 'schema',\n data: { typename },\n });\n }\n };\n\n // Runtime schema.\n space.db.graph.schemaRegistry.schemas.forEach((schema) => {\n const typename = getSchemaDXN(schema)?.typename;\n if (typename) {\n addSchema(typename);\n }\n });\n\n // Database Schema.\n this._schema?.forEach((schema) => {\n const typename = getSchemaDXN(schema)?.typename;\n if (typename) {\n addSchema(typename);\n }\n });\n\n // Database Objects.\n this._objects.forEach((object) => {\n const schema = getSchema(object);\n if (schema) {\n const typename = getSchemaDXN(schema)?.typename;\n if (typename) {\n const current = currentNodes.find((node) => node.id === object.id);\n this._graph.nodes.push({ ...current, id: object.id, type: 'object', data: { typename, object } });\n\n // Link to schema.\n const schemaNode = this._graph.nodes.find(\n (node) => node.type === 'schema' && node.data.typename === typename,\n );\n if (schemaNode) {\n this._graph.links.push({\n id: `${object.id}-${schemaNode.id}`,\n source: object.id,\n target: schemaNode.id,\n });\n } else {\n log.info('schema node not found', { typename });\n }\n\n // Link ot refs.\n // TODO(burdon): This isn't working.\n SchemaAST.getPropertySignatures(schema.ast).forEach((prop) => {\n if (!SchemaValidator.hasTypeAnnotation(schema, prop.name.toString(), ReferenceAnnotationId)) {\n return;\n }\n\n const value = object[String(prop.name)];\n if (value) {\n const refs = Array.isArray(value) ? value : [value];\n for (const ref of refs) {\n if (objects.findIndex((obj) => obj.id === ref.id) !== -1) {\n this._graph.links.push({\n id: `${object.id}-${String(prop.name)}-${ref.id}`,\n source: object.id,\n target: ref.id,\n });\n }\n }\n }\n });\n }\n }\n });\n\n this.triggerUpdate();\n },\n { fire: true },\n );\n }\n\n this.setSelected(objectId);\n return this;\n }\n\n close() {\n this._schemaSubscription?.();\n this._schemaSubscription = undefined;\n this._objectsSubscription?.();\n this._objectsSubscription = undefined;\n\n return this;\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { forceLink, forceManyBody } from 'd3';\nimport ForceGraph from 'force-graph';\nimport React, { type FC, useEffect, useRef } from 'react';\nimport { useResizeDetector } from 'react-resize-detector';\n\nimport { type Space } from '@dxos/client/echo';\nimport { filterObjectsSync, type SearchResult } from '@dxos/plugin-search';\nimport { useAsyncState } from '@dxos/react-ui';\n\nimport { SpaceGraphModel } from './graph-model';\n\nexport type GraphProps = {\n space: Space;\n match?: RegExp;\n};\n\nexport const Graph: FC<GraphProps> = ({ space, match }) => {\n const { ref, width, height } = useResizeDetector({ refreshRate: 200 });\n const rootRef = useRef<HTMLDivElement>(null);\n const forceGraph = useRef<ForceGraph>();\n\n const [model] = useAsyncState(\n async () => (space ? new SpaceGraphModel({ schema: true }).open(space) : undefined),\n [space],\n );\n\n const filteredRef = useRef<SearchResult[]>();\n filteredRef.current = filterObjectsSync(model?.objects ?? [], match);\n\n useEffect(() => {\n if (rootRef.current) {\n // https://github.com/vasturiano/force-graph\n // https://github.com/vasturiano/3d-force-graph\n forceGraph.current = new ForceGraph(rootRef.current)\n .nodeRelSize(6)\n .nodeLabel((node: any) => {\n if (node.type === 'schema') {\n return node.data.typename;\n }\n\n return node.id;\n })\n .nodeAutoColorBy((node: any) => (node.type === 'schema' ? 'schema' : node.data.typename))\n .linkColor(() => 'rgba(255,255,255,0.25)');\n }\n\n return () => {\n forceGraph.current?.pauseAnimation().graphData({ nodes: [], links: [] });\n forceGraph.current = undefined;\n };\n }, []);\n\n useEffect(() => {\n if (forceGraph.current && width && height && model) {\n forceGraph.current\n .pauseAnimation()\n .width(width)\n .height(height)\n .onEngineStop(() => {\n handleZoomToFit();\n })\n\n // https://github.com/vasturiano/force-graph?tab=readme-ov-file#force-engine-d3-force-configuration\n // .d3Force('center', forceCenter().strength(0.9))\n .d3Force('link', forceLink().distance(160).strength(0.5))\n .d3Force('charge', forceManyBody().strength(-30))\n // .d3AlphaDecay(0.0228)\n // .d3VelocityDecay(0.4)\n\n .graphData(model.graph)\n .warmupTicks(100)\n .cooldownTime(1000)\n .resumeAnimation();\n }\n }, [model, width, height]);\n\n const handleZoomToFit = () => {\n forceGraph.current?.zoomToFit(400, 40);\n };\n\n return (\n <div ref={ref} className='relative grow' onClick={handleZoomToFit}>\n <div ref={rootRef} className='absolute inset-0' />\n </div>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["SchemaAST", "getSchema", "getSchemaDXN", "ReferenceAnnotationId", "SchemaValidator", "StoredSchema", "GraphModel", "log", "CollectionType", "Filter", "SpaceGraphModel", "constructor", "_options", "_graph", "nodes", "links", "graph", "objects", "_objects", "open", "space", "objectId", "_schemaSubscription", "schemaaQuery", "db", "schemaRegistry", "query", "schemas", "run", "onSchemaUpdate", "results", "_schema", "subscribe", "_objectsSubscription", "not", "or", "schema", "currentNodes", "addSchema", "typename", "current", "find", "node", "id", "push", "type", "data", "forEach", "object", "schemaNode", "source", "target", "info", "getPropertySignatures", "ast", "prop", "hasTypeAnnotation", "name", "toString", "value", "String", "refs", "Array", "isArray", "ref", "findIndex", "obj", "triggerUpdate", "fire", "setSelected", "close", "undefined", "forceLink", "forceManyBody", "ForceGraph", "React", "useEffect", "useRef", "useResizeDetector", "filterObjectsSync", "useAsyncState", "Graph", "space", "match", "ref", "width", "height", "useResizeDetector", "refreshRate", "rootRef", "useRef", "forceGraph", "model", "useAsyncState", "SpaceGraphModel", "schema", "open", "undefined", "filteredRef", "current", "filterObjectsSync", "objects", "useEffect", "ForceGraph", "nodeRelSize", "nodeLabel", "node", "type", "data", "typename", "id", "nodeAutoColorBy", "linkColor", "pauseAnimation", "graphData", "nodes", "links", "onEngineStop", "handleZoomToFit", "d3Force", "forceLink", "distance", "strength", "forceManyBody", "graph", "warmupTicks", "cooldownTime", "resumeAnimation", "zoomToFit", "div", "className", "onClick"]
7
+ }
@@ -3,26 +3,27 @@ import {
3
3
  } from "./chunk-Z2SDLMQM.mjs";
4
4
 
5
5
  // packages/plugins/plugin-explorer/src/types/schema.ts
6
- import { S, TypedObject } from "@dxos/echo-schema";
6
+ import { Schema } from "effect";
7
+ import { TypedObject } from "@dxos/echo-schema";
7
8
  var ViewType = class extends TypedObject({
8
9
  typename: "dxos.org/type/ExplorerView",
9
10
  version: "0.1.0"
10
11
  })({
11
- name: S.optional(S.String),
12
- type: S.String
12
+ name: Schema.optional(Schema.String),
13
+ type: Schema.String
13
14
  }) {
14
15
  };
15
16
 
16
17
  // packages/plugins/plugin-explorer/src/types/types.ts
17
- import { S as S2 } from "@dxos/echo-schema";
18
+ import { Schema as Schema2 } from "effect";
18
19
  var ExplorerAction;
19
20
  (function(ExplorerAction2) {
20
21
  const EXPLORER_ACTION = `${EXPLORER_PLUGIN}/action`;
21
- class Create extends S2.TaggedClass()(`${EXPLORER_ACTION}/create`, {
22
- input: S2.Struct({
23
- name: S2.optional(S2.String)
22
+ class Create extends Schema2.TaggedClass()(`${EXPLORER_ACTION}/create`, {
23
+ input: Schema2.Struct({
24
+ name: Schema2.optional(Schema2.String)
24
25
  }),
25
- output: S2.Struct({
26
+ output: Schema2.Struct({
26
27
  object: ViewType
27
28
  })
28
29
  }) {
@@ -34,4 +35,4 @@ export {
34
35
  ViewType,
35
36
  ExplorerAction
36
37
  };
37
- //# sourceMappingURL=chunk-QLQLPZNI.mjs.map
38
+ //# sourceMappingURL=chunk-HKQSZX7S.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/schema.ts", "../../../src/types/types.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { TypedObject } from '@dxos/echo-schema';\n\n// TODO(burdon): Clashes with sdk/view.\nexport class ViewType extends TypedObject({\n typename: 'dxos.org/type/ExplorerView',\n version: '0.1.0',\n})({\n name: Schema.optional(Schema.String),\n type: Schema.String,\n}) {}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { ViewType } from './schema';\nimport { EXPLORER_PLUGIN } from '../meta';\n\nexport namespace ExplorerAction {\n const EXPLORER_ACTION = `${EXPLORER_PLUGIN}/action`;\n\n export class Create extends Schema.TaggedClass<Create>()(`${EXPLORER_ACTION}/create`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: ViewType,\n }),\n }) {}\n}\n"],
5
+ "mappings": ";;;;;AAIA,SAASA,cAAc;AAEvB,SAASC,mBAAmB;AAGrB,IAAMC,WAAN,cAAuBC,YAAY;EACxCC,UAAU;EACVC,SAAS;AACX,CAAA,EAAG;EACDC,MAAMC,OAAOC,SAASD,OAAOE,MAAM;EACnCC,MAAMH,OAAOE;AACf,CAAA,EAAA;AAAI;;;ACXJ,SAASE,UAAAA,eAAc;;UAKNC,iBAAAA;AACf,QAAMC,kBAAkB,GAAGC,eAAAA;EAEpB,MAAMC,eAAeC,QAAOC,YAAW,EAAW,GAAGJ,eAAAA,WAA0B;IACpFK,OAAOF,QAAOG,OAAO;MACnBC,MAAMJ,QAAOK,SAASL,QAAOM,MAAM;IACrC,CAAA;IACAC,QAAQP,QAAOG,OAAO;MACpBK,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;kBAPSV,SAAAA;AAQf,GAXiBH,mBAAAA,iBAAAA,CAAAA,EAAAA;",
6
+ "names": ["Schema", "TypedObject", "ViewType", "TypedObject", "typename", "version", "name", "Schema", "optional", "String", "type", "Schema", "ExplorerAction", "EXPLORER_ACTION", "EXPLORER_PLUGIN", "Create", "Schema", "TaggedClass", "input", "Struct", "name", "optional", "String", "output", "object", "ViewType"]
7
+ }
@@ -4,15 +4,15 @@ import {
4
4
  Globe,
5
5
  Tree,
6
6
  defaultTreeLayoutSlots
7
- } from "./chunk-RRXH3JYB.mjs";
7
+ } from "./chunk-AOQ4BVBH.mjs";
8
8
  import {
9
9
  Graph,
10
10
  SpaceGraphModel
11
- } from "./chunk-SBLNE7FL.mjs";
11
+ } from "./chunk-DHAPRNIM.mjs";
12
12
  import {
13
13
  ExplorerAction,
14
14
  ViewType
15
- } from "./chunk-QLQLPZNI.mjs";
15
+ } from "./chunk-HKQSZX7S.mjs";
16
16
  import {
17
17
  EXPLORER_PLUGIN,
18
18
  meta
@@ -26,8 +26,8 @@ import { defineObjectForm } from "@dxos/plugin-space/types";
26
26
 
27
27
  // packages/plugins/plugin-explorer/src/capabilities/index.ts
28
28
  import { lazy } from "@dxos/app-framework";
29
- var IntentResolver = lazy(() => import("./intent-resolver-P4YLQHXF.mjs"));
30
- var ReactSurface = lazy(() => import("./react-surface-TPR4VUPE.mjs"));
29
+ var IntentResolver = lazy(() => import("./intent-resolver-7JF4DU2C.mjs"));
30
+ var ReactSurface = lazy(() => import("./react-surface-VFVM6HNB.mjs"));
31
31
 
32
32
  // packages/plugins/plugin-explorer/src/translations.ts
33
33
  var translations_default = [
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ExplorerAction,
3
3
  ViewType
4
- } from "./chunk-QLQLPZNI.mjs";
4
+ } from "./chunk-HKQSZX7S.mjs";
5
5
  import "./chunk-Z2SDLMQM.mjs";
6
6
 
7
7
  // packages/plugins/plugin-explorer/src/capabilities/intent-resolver.ts
@@ -21,4 +21,4 @@ var intent_resolver_default = () => contributes(Capabilities.IntentResolver, cre
21
21
  export {
22
22
  intent_resolver_default as default
23
23
  };
24
- //# sourceMappingURL=intent-resolver-P4YLQHXF.mjs.map
24
+ //# sourceMappingURL=intent-resolver-7JF4DU2C.mjs.map
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-explorer/src/components/plot.ts":{"bytes":1452,"imports":[],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Chart/Chart.tsx":{"bytes":4922,"imports":[{"path":"@observablehq/plot","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/src/components/plot.ts","kind":"import-statement","original":"../plot"}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Chart/index.ts":{"bytes":514,"imports":[{"path":"packages/plugins/plugin-explorer/src/components/Chart/Chart.tsx","kind":"import-statement","original":"./Chart"}],"format":"esm"},"packages/plugins/plugin-explorer/data/countries-110m.js":{"bytes":187226,"imports":[],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Globe/Globe.tsx":{"bytes":7510,"imports":[{"path":"@observablehq/plot","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"topojson-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/data/countries-110m.js","kind":"import-statement","original":"../../../data/countries-110m.js"},{"path":"packages/plugins/plugin-explorer/src/components/plot.ts","kind":"import-statement","original":"../plot"}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Globe/index.ts":{"bytes":514,"imports":[{"path":"packages/plugins/plugin-explorer/src/components/Globe/Globe.tsx","kind":"import-statement","original":"./Globe"}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Graph/graph-model.ts":{"bytes":22069,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/gem-spore","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Graph/Graph.tsx":{"bytes":9918,"imports":[{"path":"d3","kind":"import-statement","external":true},{"path":"force-graph","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/src/components/Graph/graph-model.ts","kind":"import-statement","original":"./graph-model"}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Graph/index.ts":{"bytes":617,"imports":[{"path":"packages/plugins/plugin-explorer/src/components/Graph/graph-model.ts","kind":"import-statement","original":"./graph-model"},{"path":"packages/plugins/plugin-explorer/src/components/Graph/Graph.tsx","kind":"import-statement","original":"./Graph"}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Tree/layout/HierarchicalEdgeBundling.ts":{"bytes":17704,"imports":[{"path":"d3","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Tree/layout/RadialTree.ts":{"bytes":8806,"imports":[{"path":"d3","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Tree/layout/TidyTree.ts":{"bytes":9328,"imports":[{"path":"d3","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Tree/layout/index.ts":{"bytes":1143,"imports":[{"path":"packages/plugins/plugin-explorer/src/components/Tree/layout/HierarchicalEdgeBundling.ts","kind":"import-statement","original":"./HierarchicalEdgeBundling"},{"path":"packages/plugins/plugin-explorer/src/components/Tree/layout/RadialTree.ts","kind":"import-statement","original":"./RadialTree"},{"path":"packages/plugins/plugin-explorer/src/components/Tree/layout/TidyTree.ts","kind":"import-statement","original":"./TidyTree"}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Tree/types.ts":{"bytes":3854,"imports":[],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Tree/Tree.tsx":{"bytes":10127,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/gem-core","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/src/components/Tree/layout/index.ts","kind":"import-statement","original":"./layout"},{"path":"packages/plugins/plugin-explorer/src/components/Tree/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-explorer/src/components/Graph/index.ts","kind":"import-statement","original":"../Graph"}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Tree/index.ts":{"bytes":512,"imports":[{"path":"packages/plugins/plugin-explorer/src/components/Tree/Tree.tsx","kind":"import-statement","original":"./Tree"}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/ExplorerContainer.tsx":{"bytes":2730,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/src/components/Graph/index.ts","kind":"import-statement","original":"./Graph"}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/index.ts":{"bytes":1150,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/src/components/Chart/index.ts","kind":"import-statement","original":"./Chart"},{"path":"packages/plugins/plugin-explorer/src/components/Globe/index.ts","kind":"import-statement","original":"./Globe"},{"path":"packages/plugins/plugin-explorer/src/components/Graph/index.ts","kind":"import-statement","original":"./Graph"},{"path":"packages/plugins/plugin-explorer/src/components/Tree/index.ts","kind":"import-statement","original":"./Tree"},{"path":"packages/plugins/plugin-explorer/src/components/ExplorerContainer.tsx","kind":"dynamic-import","original":"./ExplorerContainer"}],"format":"esm"},"packages/plugins/plugin-explorer/src/types/schema.ts":{"bytes":1423,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-explorer/src/meta.ts":{"bytes":1971,"imports":[],"format":"esm"},"packages/plugins/plugin-explorer/src/types/types.ts":{"bytes":2265,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/src/types/schema.ts","kind":"import-statement","original":"./schema"},{"path":"packages/plugins/plugin-explorer/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-explorer/src/types/index.ts":{"bytes":589,"imports":[{"path":"packages/plugins/plugin-explorer/src/types/schema.ts","kind":"import-statement","original":"./schema"},{"path":"packages/plugins/plugin-explorer/src/types/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-explorer/src/capabilities/intent-resolver.ts":{"bytes":2222,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-explorer/src/capabilities/react-surface.tsx":{"bytes":2957,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-explorer/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-explorer/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-explorer/src/capabilities/index.ts":{"bytes":1083,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-explorer/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"packages/plugins/plugin-explorer/src/translations.ts":{"bytes":1740,"imports":[{"path":"packages/plugins/plugin-explorer/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-explorer/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-explorer/src/ExplorerPlugin.tsx":{"bytes":7518,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-explorer/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-explorer/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-explorer/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-explorer/src/index.ts":{"bytes":785,"imports":[{"path":"packages/plugins/plugin-explorer/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-explorer/src/ExplorerPlugin.tsx","kind":"import-statement","original":"./ExplorerPlugin"},{"path":"packages/plugins/plugin-explorer/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-explorer/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4787},"packages/plugins/plugin-explorer/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-RRXH3JYB.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-SBLNE7FL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-QLQLPZNI.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-Z2SDLMQM.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/dist/lib/browser/intent-resolver-P4YLQHXF.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-explorer/dist/lib/browser/react-surface-TPR4VUPE.mjs","kind":"dynamic-import"}],"exports":["Chart","EXPLORER_PLUGIN","ExplorerContainer","ExplorerPlugin","Globe","Graph","SpaceGraphModel","Tree","defaultTreeLayoutSlots","meta"],"entryPoint":"packages/plugins/plugin-explorer/src/index.ts","inputs":{"packages/plugins/plugin-explorer/src/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-explorer/src/ExplorerPlugin.tsx":{"bytesInOutput":1546},"packages/plugins/plugin-explorer/src/capabilities/index.ts":{"bytesInOutput":190},"packages/plugins/plugin-explorer/src/translations.ts":{"bytesInOutput":295}},"bytes":2777},"packages/plugins/plugin-explorer/dist/lib/browser/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-explorer/dist/lib/browser/meta.mjs":{"imports":[{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-Z2SDLMQM.mjs","kind":"import-statement"}],"exports":["EXPLORER_PLUGIN","meta"],"entryPoint":"packages/plugins/plugin-explorer/src/meta.ts","inputs":{},"bytes":138},"packages/plugins/plugin-explorer/dist/lib/browser/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-explorer/dist/lib/browser/types/index.mjs":{"imports":[{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-QLQLPZNI.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-Z2SDLMQM.mjs","kind":"import-statement"}],"exports":["ExplorerAction","ViewType"],"entryPoint":"packages/plugins/plugin-explorer/src/types/index.ts","inputs":{},"bytes":178},"packages/plugins/plugin-explorer/dist/lib/browser/ExplorerContainer-HL532ODG.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1382},"packages/plugins/plugin-explorer/dist/lib/browser/ExplorerContainer-HL532ODG.mjs":{"imports":[{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-SBLNE7FL.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-explorer/src/components/ExplorerContainer.tsx","inputs":{"packages/plugins/plugin-explorer/src/components/ExplorerContainer.tsx":{"bytesInOutput":590}},"bytes":819},"packages/plugins/plugin-explorer/dist/lib/browser/intent-resolver-P4YLQHXF.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1081},"packages/plugins/plugin-explorer/dist/lib/browser/intent-resolver-P4YLQHXF.mjs":{"imports":[{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-QLQLPZNI.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-Z2SDLMQM.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-explorer/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-explorer/src/capabilities/intent-resolver.ts":{"bytesInOutput":377}},"bytes":653},"packages/plugins/plugin-explorer/dist/lib/browser/react-surface-TPR4VUPE.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1433},"packages/plugins/plugin-explorer/dist/lib/browser/react-surface-TPR4VUPE.mjs":{"imports":[{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-RRXH3JYB.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-SBLNE7FL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-QLQLPZNI.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-Z2SDLMQM.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-explorer/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-explorer/src/capabilities/react-surface.tsx":{"bytesInOutput":517}},"bytes":888},"packages/plugins/plugin-explorer/dist/lib/browser/chunk-RRXH3JYB.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":475787},"packages/plugins/plugin-explorer/dist/lib/browser/chunk-RRXH3JYB.mjs":{"imports":[{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-SBLNE7FL.mjs","kind":"import-statement"},{"path":"@observablehq/plot","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@observablehq/plot","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"topojson-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/gem-core","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"d3","kind":"import-statement","external":true},{"path":"d3","kind":"import-statement","external":true},{"path":"d3","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/dist/lib/browser/ExplorerContainer-HL532ODG.mjs","kind":"dynamic-import"}],"exports":["Chart","ExplorerContainer","Globe","Tree","defaultTreeLayoutSlots"],"inputs":{"packages/plugins/plugin-explorer/src/components/Chart/Chart.tsx":{"bytesInOutput":1031},"packages/plugins/plugin-explorer/src/components/plot.ts":{"bytesInOutput":133},"packages/plugins/plugin-explorer/src/components/Globe/Globe.tsx":{"bytesInOutput":1707},"packages/plugins/plugin-explorer/data/countries-110m.js":{"bytesInOutput":188376},"packages/plugins/plugin-explorer/src/components/Tree/Tree.tsx":{"bytesInOutput":2078},"packages/plugins/plugin-explorer/src/components/Tree/layout/HierarchicalEdgeBundling.ts":{"bytesInOutput":2167},"packages/plugins/plugin-explorer/src/components/Tree/layout/RadialTree.ts":{"bytesInOutput":1355},"packages/plugins/plugin-explorer/src/components/Tree/layout/TidyTree.ts":{"bytesInOutput":1596},"packages/plugins/plugin-explorer/src/components/Tree/types.ts":{"bytesInOutput":699},"packages/plugins/plugin-explorer/src/components/index.ts":{"bytesInOutput":110},"packages/plugins/plugin-explorer/src/components/Chart/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-explorer/src/components/Globe/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-explorer/src/components/Tree/index.ts":{"bytesInOutput":0}},"bytes":200336},"packages/plugins/plugin-explorer/dist/lib/browser/chunk-SBLNE7FL.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":15409},"packages/plugins/plugin-explorer/dist/lib/browser/chunk-SBLNE7FL.mjs":{"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/gem-spore","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"d3","kind":"import-statement","external":true},{"path":"force-graph","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"exports":["Graph","SpaceGraphModel"],"inputs":{"packages/plugins/plugin-explorer/src/components/Graph/graph-model.ts":{"bytesInOutput":4869},"packages/plugins/plugin-explorer/src/components/Graph/Graph.tsx":{"bytesInOutput":2042},"packages/plugins/plugin-explorer/src/components/Graph/index.ts":{"bytesInOutput":0}},"bytes":7135},"packages/plugins/plugin-explorer/dist/lib/browser/chunk-QLQLPZNI.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1705},"packages/plugins/plugin-explorer/dist/lib/browser/chunk-QLQLPZNI.mjs":{"imports":[{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-Z2SDLMQM.mjs","kind":"import-statement"},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["ExplorerAction","ViewType"],"inputs":{"packages/plugins/plugin-explorer/src/types/schema.ts":{"bytesInOutput":216},"packages/plugins/plugin-explorer/src/types/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-explorer/src/types/types.ts":{"bytesInOutput":431}},"bytes":904},"packages/plugins/plugin-explorer/dist/lib/browser/chunk-Z2SDLMQM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":917},"packages/plugins/plugin-explorer/dist/lib/browser/chunk-Z2SDLMQM.mjs":{"imports":[],"exports":["EXPLORER_PLUGIN","meta"],"inputs":{"packages/plugins/plugin-explorer/src/meta.ts":{"bytesInOutput":448}},"bytes":579}}}
1
+ {"inputs":{"packages/plugins/plugin-explorer/src/components/plot.ts":{"bytes":1452,"imports":[],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Chart/Chart.tsx":{"bytes":4922,"imports":[{"path":"@observablehq/plot","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/src/components/plot.ts","kind":"import-statement","original":"../plot"}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Chart/index.ts":{"bytes":514,"imports":[{"path":"packages/plugins/plugin-explorer/src/components/Chart/Chart.tsx","kind":"import-statement","original":"./Chart"}],"format":"esm"},"packages/plugins/plugin-explorer/data/countries-110m.js":{"bytes":187226,"imports":[],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Globe/Globe.tsx":{"bytes":7510,"imports":[{"path":"@observablehq/plot","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"topojson-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/data/countries-110m.js","kind":"import-statement","original":"../../../data/countries-110m.js"},{"path":"packages/plugins/plugin-explorer/src/components/plot.ts","kind":"import-statement","original":"../plot"}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Globe/index.ts":{"bytes":514,"imports":[{"path":"packages/plugins/plugin-explorer/src/components/Globe/Globe.tsx","kind":"import-statement","original":"./Globe"}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Graph/graph-model.ts":{"bytes":22158,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/gem-spore","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Graph/Graph.tsx":{"bytes":9918,"imports":[{"path":"d3","kind":"import-statement","external":true},{"path":"force-graph","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/src/components/Graph/graph-model.ts","kind":"import-statement","original":"./graph-model"}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Graph/index.ts":{"bytes":617,"imports":[{"path":"packages/plugins/plugin-explorer/src/components/Graph/graph-model.ts","kind":"import-statement","original":"./graph-model"},{"path":"packages/plugins/plugin-explorer/src/components/Graph/Graph.tsx","kind":"import-statement","original":"./Graph"}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Tree/layout/HierarchicalEdgeBundling.ts":{"bytes":17704,"imports":[{"path":"d3","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Tree/layout/RadialTree.ts":{"bytes":8806,"imports":[{"path":"d3","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Tree/layout/TidyTree.ts":{"bytes":9328,"imports":[{"path":"d3","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Tree/layout/index.ts":{"bytes":1143,"imports":[{"path":"packages/plugins/plugin-explorer/src/components/Tree/layout/HierarchicalEdgeBundling.ts","kind":"import-statement","original":"./HierarchicalEdgeBundling"},{"path":"packages/plugins/plugin-explorer/src/components/Tree/layout/RadialTree.ts","kind":"import-statement","original":"./RadialTree"},{"path":"packages/plugins/plugin-explorer/src/components/Tree/layout/TidyTree.ts","kind":"import-statement","original":"./TidyTree"}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Tree/types.ts":{"bytes":3854,"imports":[],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Tree/Tree.tsx":{"bytes":10127,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/gem-core","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/src/components/Tree/layout/index.ts","kind":"import-statement","original":"./layout"},{"path":"packages/plugins/plugin-explorer/src/components/Tree/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-explorer/src/components/Graph/index.ts","kind":"import-statement","original":"../Graph"}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/Tree/index.ts":{"bytes":512,"imports":[{"path":"packages/plugins/plugin-explorer/src/components/Tree/Tree.tsx","kind":"import-statement","original":"./Tree"}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/ExplorerContainer.tsx":{"bytes":2730,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/src/components/Graph/index.ts","kind":"import-statement","original":"./Graph"}],"format":"esm"},"packages/plugins/plugin-explorer/src/components/index.ts":{"bytes":1150,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/src/components/Chart/index.ts","kind":"import-statement","original":"./Chart"},{"path":"packages/plugins/plugin-explorer/src/components/Globe/index.ts","kind":"import-statement","original":"./Globe"},{"path":"packages/plugins/plugin-explorer/src/components/Graph/index.ts","kind":"import-statement","original":"./Graph"},{"path":"packages/plugins/plugin-explorer/src/components/Tree/index.ts","kind":"import-statement","original":"./Tree"},{"path":"packages/plugins/plugin-explorer/src/components/ExplorerContainer.tsx","kind":"dynamic-import","original":"./ExplorerContainer"}],"format":"esm"},"packages/plugins/plugin-explorer/src/types/schema.ts":{"bytes":1560,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-explorer/src/meta.ts":{"bytes":1971,"imports":[],"format":"esm"},"packages/plugins/plugin-explorer/src/types/types.ts":{"bytes":2316,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/src/types/schema.ts","kind":"import-statement","original":"./schema"},{"path":"packages/plugins/plugin-explorer/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-explorer/src/types/index.ts":{"bytes":589,"imports":[{"path":"packages/plugins/plugin-explorer/src/types/schema.ts","kind":"import-statement","original":"./schema"},{"path":"packages/plugins/plugin-explorer/src/types/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-explorer/src/capabilities/intent-resolver.ts":{"bytes":2222,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-explorer/src/capabilities/react-surface.tsx":{"bytes":2957,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-explorer/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-explorer/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-explorer/src/capabilities/index.ts":{"bytes":1083,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-explorer/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"packages/plugins/plugin-explorer/src/translations.ts":{"bytes":1740,"imports":[{"path":"packages/plugins/plugin-explorer/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-explorer/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-explorer/src/ExplorerPlugin.tsx":{"bytes":7518,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-explorer/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-explorer/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-explorer/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-explorer/src/index.ts":{"bytes":785,"imports":[{"path":"packages/plugins/plugin-explorer/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-explorer/src/ExplorerPlugin.tsx","kind":"import-statement","original":"./ExplorerPlugin"},{"path":"packages/plugins/plugin-explorer/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-explorer/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4787},"packages/plugins/plugin-explorer/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-AOQ4BVBH.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-DHAPRNIM.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-HKQSZX7S.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-Z2SDLMQM.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/dist/lib/browser/intent-resolver-7JF4DU2C.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-explorer/dist/lib/browser/react-surface-VFVM6HNB.mjs","kind":"dynamic-import"}],"exports":["Chart","EXPLORER_PLUGIN","ExplorerContainer","ExplorerPlugin","Globe","Graph","SpaceGraphModel","Tree","defaultTreeLayoutSlots","meta"],"entryPoint":"packages/plugins/plugin-explorer/src/index.ts","inputs":{"packages/plugins/plugin-explorer/src/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-explorer/src/ExplorerPlugin.tsx":{"bytesInOutput":1546},"packages/plugins/plugin-explorer/src/capabilities/index.ts":{"bytesInOutput":190},"packages/plugins/plugin-explorer/src/translations.ts":{"bytesInOutput":295}},"bytes":2777},"packages/plugins/plugin-explorer/dist/lib/browser/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-explorer/dist/lib/browser/meta.mjs":{"imports":[{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-Z2SDLMQM.mjs","kind":"import-statement"}],"exports":["EXPLORER_PLUGIN","meta"],"entryPoint":"packages/plugins/plugin-explorer/src/meta.ts","inputs":{},"bytes":138},"packages/plugins/plugin-explorer/dist/lib/browser/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-explorer/dist/lib/browser/types/index.mjs":{"imports":[{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-HKQSZX7S.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-Z2SDLMQM.mjs","kind":"import-statement"}],"exports":["ExplorerAction","ViewType"],"entryPoint":"packages/plugins/plugin-explorer/src/types/index.ts","inputs":{},"bytes":178},"packages/plugins/plugin-explorer/dist/lib/browser/ExplorerContainer-UJJIZBXP.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1382},"packages/plugins/plugin-explorer/dist/lib/browser/ExplorerContainer-UJJIZBXP.mjs":{"imports":[{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-DHAPRNIM.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-explorer/src/components/ExplorerContainer.tsx","inputs":{"packages/plugins/plugin-explorer/src/components/ExplorerContainer.tsx":{"bytesInOutput":590}},"bytes":819},"packages/plugins/plugin-explorer/dist/lib/browser/intent-resolver-7JF4DU2C.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1081},"packages/plugins/plugin-explorer/dist/lib/browser/intent-resolver-7JF4DU2C.mjs":{"imports":[{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-HKQSZX7S.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-Z2SDLMQM.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-explorer/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-explorer/src/capabilities/intent-resolver.ts":{"bytesInOutput":377}},"bytes":653},"packages/plugins/plugin-explorer/dist/lib/browser/react-surface-VFVM6HNB.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1433},"packages/plugins/plugin-explorer/dist/lib/browser/react-surface-VFVM6HNB.mjs":{"imports":[{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-AOQ4BVBH.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-DHAPRNIM.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-HKQSZX7S.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-Z2SDLMQM.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-explorer/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-explorer/src/capabilities/react-surface.tsx":{"bytesInOutput":517}},"bytes":888},"packages/plugins/plugin-explorer/dist/lib/browser/chunk-AOQ4BVBH.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":475787},"packages/plugins/plugin-explorer/dist/lib/browser/chunk-AOQ4BVBH.mjs":{"imports":[{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-DHAPRNIM.mjs","kind":"import-statement"},{"path":"@observablehq/plot","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@observablehq/plot","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"topojson-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/gem-core","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"d3","kind":"import-statement","external":true},{"path":"d3","kind":"import-statement","external":true},{"path":"d3","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-explorer/dist/lib/browser/ExplorerContainer-UJJIZBXP.mjs","kind":"dynamic-import"}],"exports":["Chart","ExplorerContainer","Globe","Tree","defaultTreeLayoutSlots"],"inputs":{"packages/plugins/plugin-explorer/src/components/Chart/Chart.tsx":{"bytesInOutput":1031},"packages/plugins/plugin-explorer/src/components/plot.ts":{"bytesInOutput":133},"packages/plugins/plugin-explorer/src/components/Globe/Globe.tsx":{"bytesInOutput":1707},"packages/plugins/plugin-explorer/data/countries-110m.js":{"bytesInOutput":188376},"packages/plugins/plugin-explorer/src/components/Tree/Tree.tsx":{"bytesInOutput":2078},"packages/plugins/plugin-explorer/src/components/Tree/layout/HierarchicalEdgeBundling.ts":{"bytesInOutput":2167},"packages/plugins/plugin-explorer/src/components/Tree/layout/RadialTree.ts":{"bytesInOutput":1355},"packages/plugins/plugin-explorer/src/components/Tree/layout/TidyTree.ts":{"bytesInOutput":1596},"packages/plugins/plugin-explorer/src/components/Tree/types.ts":{"bytesInOutput":699},"packages/plugins/plugin-explorer/src/components/index.ts":{"bytesInOutput":110},"packages/plugins/plugin-explorer/src/components/Chart/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-explorer/src/components/Globe/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-explorer/src/components/Tree/index.ts":{"bytesInOutput":0}},"bytes":200336},"packages/plugins/plugin-explorer/dist/lib/browser/chunk-DHAPRNIM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":15445},"packages/plugins/plugin-explorer/dist/lib/browser/chunk-DHAPRNIM.mjs":{"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/gem-spore","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"d3","kind":"import-statement","external":true},{"path":"force-graph","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"exports":["Graph","SpaceGraphModel"],"inputs":{"packages/plugins/plugin-explorer/src/components/Graph/graph-model.ts":{"bytesInOutput":4906},"packages/plugins/plugin-explorer/src/components/Graph/Graph.tsx":{"bytesInOutput":2042},"packages/plugins/plugin-explorer/src/components/Graph/index.ts":{"bytesInOutput":0}},"bytes":7172},"packages/plugins/plugin-explorer/dist/lib/browser/chunk-HKQSZX7S.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1805},"packages/plugins/plugin-explorer/dist/lib/browser/chunk-HKQSZX7S.mjs":{"imports":[{"path":"packages/plugins/plugin-explorer/dist/lib/browser/chunk-Z2SDLMQM.mjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true}],"exports":["ExplorerAction","ViewType"],"inputs":{"packages/plugins/plugin-explorer/src/types/schema.ts":{"bytesInOutput":261},"packages/plugins/plugin-explorer/src/types/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-explorer/src/types/types.ts":{"bytesInOutput":455}},"bytes":973},"packages/plugins/plugin-explorer/dist/lib/browser/chunk-Z2SDLMQM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":917},"packages/plugins/plugin-explorer/dist/lib/browser/chunk-Z2SDLMQM.mjs":{"imports":[],"exports":["EXPLORER_PLUGIN","meta"],"inputs":{"packages/plugins/plugin-explorer/src/meta.ts":{"bytesInOutput":448}},"bytes":579}}}
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  ExplorerContainer
3
- } from "./chunk-RRXH3JYB.mjs";
4
- import "./chunk-SBLNE7FL.mjs";
3
+ } from "./chunk-AOQ4BVBH.mjs";
4
+ import "./chunk-DHAPRNIM.mjs";
5
5
  import {
6
6
  ViewType
7
- } from "./chunk-QLQLPZNI.mjs";
7
+ } from "./chunk-HKQSZX7S.mjs";
8
8
  import {
9
9
  EXPLORER_PLUGIN
10
10
  } from "./chunk-Z2SDLMQM.mjs";
@@ -28,4 +28,4 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, createS
28
28
  export {
29
29
  react_surface_default as default
30
30
  };
31
- //# sourceMappingURL=react-surface-TPR4VUPE.mjs.map
31
+ //# sourceMappingURL=react-surface-VFVM6HNB.mjs.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ExplorerAction,
3
3
  ViewType
4
- } from "../chunk-QLQLPZNI.mjs";
4
+ } from "../chunk-HKQSZX7S.mjs";
5
5
  import "../chunk-Z2SDLMQM.mjs";
6
6
  export {
7
7
  ExplorerAction,
@@ -26,12 +26,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var ExplorerContainer_73AHSBAG_exports = {};
30
- __export(ExplorerContainer_73AHSBAG_exports, {
29
+ var ExplorerContainer_XJUAYKA6_exports = {};
30
+ __export(ExplorerContainer_XJUAYKA6_exports, {
31
31
  default: () => ExplorerContainer_default
32
32
  });
33
- module.exports = __toCommonJS(ExplorerContainer_73AHSBAG_exports);
34
- var import_chunk_OIHH6TVE = require("./chunk-OIHH6TVE.cjs");
33
+ module.exports = __toCommonJS(ExplorerContainer_XJUAYKA6_exports);
34
+ var import_chunk_4VLNAK7T = require("./chunk-4VLNAK7T.cjs");
35
35
  var import_react = __toESM(require("react"));
36
36
  var import_plugin_search = require("@dxos/plugin-search");
37
37
  var import_echo = require("@dxos/react-client/echo");
@@ -44,10 +44,10 @@ var ExplorerContainer = ({ view, role }) => {
44
44
  }
45
45
  return /* @__PURE__ */ import_react.default.createElement(import_react_ui_stack.StackItem.Content, {
46
46
  size: role === "section" ? "square" : "intrinsic"
47
- }, /* @__PURE__ */ import_react.default.createElement(import_chunk_OIHH6TVE.Graph, {
47
+ }, /* @__PURE__ */ import_react.default.createElement(import_chunk_4VLNAK7T.Graph, {
48
48
  space,
49
49
  match
50
50
  }));
51
51
  };
52
52
  var ExplorerContainer_default = ExplorerContainer;
53
- //# sourceMappingURL=ExplorerContainer-73AHSBAG.cjs.map
53
+ //# sourceMappingURL=ExplorerContainer-XJUAYKA6.cjs.map
@@ -26,12 +26,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_OIHH6TVE_exports = {};
30
- __export(chunk_OIHH6TVE_exports, {
29
+ var chunk_4VLNAK7T_exports = {};
30
+ __export(chunk_4VLNAK7T_exports, {
31
31
  Graph: () => Graph,
32
32
  SpaceGraphModel: () => SpaceGraphModel
33
33
  });
34
- module.exports = __toCommonJS(chunk_OIHH6TVE_exports);
34
+ module.exports = __toCommonJS(chunk_4VLNAK7T_exports);
35
+ var import_effect = require("effect");
35
36
  var import_echo_schema = require("@dxos/echo-schema");
36
37
  var import_gem_spore = require("@dxos/gem-spore");
37
38
  var import_log = require("@dxos/log");
@@ -131,12 +132,12 @@ var SpaceGraphModel = class extends import_gem_spore.GraphModel {
131
132
  typename
132
133
  }, {
133
134
  F: __dxlog_file,
134
- L: 147,
135
+ L: 148,
135
136
  S: this,
136
137
  C: (f, a) => f(...a)
137
138
  });
138
139
  }
139
- import_echo_schema.AST.getPropertySignatures(schema.ast).forEach((prop) => {
140
+ import_effect.SchemaAST.getPropertySignatures(schema.ast).forEach((prop) => {
140
141
  if (!import_echo_schema.SchemaValidator.hasTypeAnnotation(schema, prop.name.toString(), import_echo_schema.ReferenceAnnotationId)) {
141
142
  return;
142
143
  }
@@ -233,4 +234,4 @@ var Graph = ({ space, match }) => {
233
234
  Graph,
234
235
  SpaceGraphModel
235
236
  });
236
- //# sourceMappingURL=chunk-OIHH6TVE.cjs.map
237
+ //# sourceMappingURL=chunk-4VLNAK7T.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/Graph/graph-model.ts", "../../../src/components/Graph/Graph.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { SchemaAST } from 'effect';\n\nimport { type CleanupFn } from '@dxos/async';\nimport {\n getSchema,\n getSchemaDXN,\n type EchoSchema,\n ReferenceAnnotationId,\n SchemaValidator,\n StoredSchema,\n} from '@dxos/echo-schema';\nimport { type GraphData, GraphModel } from '@dxos/gem-spore';\nimport { log } from '@dxos/log';\nimport { CollectionType } from '@dxos/plugin-space/types';\nimport { Filter, type AnyLiveObject, type Space } from '@dxos/react-client/echo';\n\nexport type SpaceGraphModelOptions = {\n schema?: boolean;\n};\n\n// TODO(burdon): Convert to common/graph.\n\ntype SchemaGraphNode = {\n id: string;\n type: 'schema';\n data: { typename: string };\n};\n\ntype ObjectGraphNode = {\n id: string;\n type: 'object';\n data: { typename: string; object: AnyLiveObject<any> };\n};\n\nexport type EchoGraphNode = SchemaGraphNode | ObjectGraphNode;\n\n/**\n * Converts ECHO objects to a graph.\n */\nexport class SpaceGraphModel extends GraphModel<EchoGraphNode> {\n private readonly _graph: GraphData<EchoGraphNode> = {\n nodes: [],\n links: [],\n };\n\n private _schema?: EchoSchema[];\n private _schemaSubscription?: CleanupFn;\n private _objects?: AnyLiveObject<any>[];\n private _objectsSubscription?: CleanupFn;\n\n constructor(private readonly _options: SpaceGraphModelOptions = {}) {\n super();\n }\n\n override get graph(): GraphData<EchoGraphNode> {\n return this._graph;\n }\n\n get objects(): AnyLiveObject<any>[] {\n return this._objects ?? [];\n }\n\n // TODO(burdon): Alternative diagram types:\n // - https://observablehq.com/@d3/radial-tree/2\n // - https://observablehq.com/@d3/disjoint-force-directed-graph/2\n // - https://observablehq.com/@mbostock/tadpoles\n // - https://observablehq.com/@d3/psr-b1919-21\n // - https://vasturiano.github.io/react-force-graph/example/basic (3D)\n\n async open(space: Space, objectId?: string) {\n // TODO(burdon): Factor out graph builder to lib (use common/graph abstraction).\n if (!this._schemaSubscription) {\n // TODO(burdon): Normalize unsubscribe callbacks and merge handlers.\n // TODO(burdon): Trigger initial subscription update.\n // TODO(burdon): Normalize subscription cb for objects, schema, etc.\n\n const schemaaQuery = space.db.schemaRegistry.query({});\n const schemas = await schemaaQuery.run();\n const onSchemaUpdate = ({ results }: { results: EchoSchema[] }) => (this._schema = results);\n this._schemaSubscription = schemaaQuery.subscribe(onSchemaUpdate);\n onSchemaUpdate({ results: schemas });\n\n this._objectsSubscription = space.db\n // TODO(burdon): ERROR: Cannot mix type and or filters.\n .query(Filter.not(Filter.or(Filter.schema(StoredSchema), Filter.schema(CollectionType))))\n .subscribe(\n ({ objects }) => {\n this._objects = objects;\n\n // Merge with current nodes.\n const currentNodes = this._graph.nodes;\n\n this._graph.nodes = [];\n this._graph.links = [];\n\n const addSchema = (typename: string) => {\n const current = currentNodes.find((node) => node.id === typename);\n if (typename) {\n this._graph.nodes.push({\n ...current,\n id: typename,\n type: 'schema',\n data: { typename },\n });\n }\n };\n\n // Runtime schema.\n space.db.graph.schemaRegistry.schemas.forEach((schema) => {\n const typename = getSchemaDXN(schema)?.typename;\n if (typename) {\n addSchema(typename);\n }\n });\n\n // Database Schema.\n this._schema?.forEach((schema) => {\n const typename = getSchemaDXN(schema)?.typename;\n if (typename) {\n addSchema(typename);\n }\n });\n\n // Database Objects.\n this._objects.forEach((object) => {\n const schema = getSchema(object);\n if (schema) {\n const typename = getSchemaDXN(schema)?.typename;\n if (typename) {\n const current = currentNodes.find((node) => node.id === object.id);\n this._graph.nodes.push({ ...current, id: object.id, type: 'object', data: { typename, object } });\n\n // Link to schema.\n const schemaNode = this._graph.nodes.find(\n (node) => node.type === 'schema' && node.data.typename === typename,\n );\n if (schemaNode) {\n this._graph.links.push({\n id: `${object.id}-${schemaNode.id}`,\n source: object.id,\n target: schemaNode.id,\n });\n } else {\n log.info('schema node not found', { typename });\n }\n\n // Link ot refs.\n // TODO(burdon): This isn't working.\n SchemaAST.getPropertySignatures(schema.ast).forEach((prop) => {\n if (!SchemaValidator.hasTypeAnnotation(schema, prop.name.toString(), ReferenceAnnotationId)) {\n return;\n }\n\n const value = object[String(prop.name)];\n if (value) {\n const refs = Array.isArray(value) ? value : [value];\n for (const ref of refs) {\n if (objects.findIndex((obj) => obj.id === ref.id) !== -1) {\n this._graph.links.push({\n id: `${object.id}-${String(prop.name)}-${ref.id}`,\n source: object.id,\n target: ref.id,\n });\n }\n }\n }\n });\n }\n }\n });\n\n this.triggerUpdate();\n },\n { fire: true },\n );\n }\n\n this.setSelected(objectId);\n return this;\n }\n\n close() {\n this._schemaSubscription?.();\n this._schemaSubscription = undefined;\n this._objectsSubscription?.();\n this._objectsSubscription = undefined;\n\n return this;\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { forceLink, forceManyBody } from 'd3';\nimport ForceGraph from 'force-graph';\nimport React, { type FC, useEffect, useRef } from 'react';\nimport { useResizeDetector } from 'react-resize-detector';\n\nimport { type Space } from '@dxos/client/echo';\nimport { filterObjectsSync, type SearchResult } from '@dxos/plugin-search';\nimport { useAsyncState } from '@dxos/react-ui';\n\nimport { SpaceGraphModel } from './graph-model';\n\nexport type GraphProps = {\n space: Space;\n match?: RegExp;\n};\n\nexport const Graph: FC<GraphProps> = ({ space, match }) => {\n const { ref, width, height } = useResizeDetector({ refreshRate: 200 });\n const rootRef = useRef<HTMLDivElement>(null);\n const forceGraph = useRef<ForceGraph>();\n\n const [model] = useAsyncState(\n async () => (space ? new SpaceGraphModel({ schema: true }).open(space) : undefined),\n [space],\n );\n\n const filteredRef = useRef<SearchResult[]>();\n filteredRef.current = filterObjectsSync(model?.objects ?? [], match);\n\n useEffect(() => {\n if (rootRef.current) {\n // https://github.com/vasturiano/force-graph\n // https://github.com/vasturiano/3d-force-graph\n forceGraph.current = new ForceGraph(rootRef.current)\n .nodeRelSize(6)\n .nodeLabel((node: any) => {\n if (node.type === 'schema') {\n return node.data.typename;\n }\n\n return node.id;\n })\n .nodeAutoColorBy((node: any) => (node.type === 'schema' ? 'schema' : node.data.typename))\n .linkColor(() => 'rgba(255,255,255,0.25)');\n }\n\n return () => {\n forceGraph.current?.pauseAnimation().graphData({ nodes: [], links: [] });\n forceGraph.current = undefined;\n };\n }, []);\n\n useEffect(() => {\n if (forceGraph.current && width && height && model) {\n forceGraph.current\n .pauseAnimation()\n .width(width)\n .height(height)\n .onEngineStop(() => {\n handleZoomToFit();\n })\n\n // https://github.com/vasturiano/force-graph?tab=readme-ov-file#force-engine-d3-force-configuration\n // .d3Force('center', forceCenter().strength(0.9))\n .d3Force('link', forceLink().distance(160).strength(0.5))\n .d3Force('charge', forceManyBody().strength(-30))\n // .d3AlphaDecay(0.0228)\n // .d3VelocityDecay(0.4)\n\n .graphData(model.graph)\n .warmupTicks(100)\n .cooldownTime(1000)\n .resumeAnimation();\n }\n }, [model, width, height]);\n\n const handleZoomToFit = () => {\n forceGraph.current?.zoomToFit(400, 40);\n };\n\n return (\n <div ref={ref} className='relative grow' onClick={handleZoomToFit}>\n <div ref={rootRef} className='absolute inset-0' />\n </div>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["SpaceGraphModel", "GraphModel", "constructor", "_options", "_graph", "nodes", "links", "graph", "objects", "_objects", "open", "space", "objectId", "_schemaSubscription", "schemaaQuery", "db", "schemaRegistry", "query", "schemas", "run", "onSchemaUpdate", "results", "_schema", "subscribe", "_objectsSubscription", "Filter", "not", "or", "schema", "StoredSchema", "CollectionType", "currentNodes", "addSchema", "typename", "current", "find", "node", "id", "push", "type", "data", "forEach", "getSchemaDXN", "object", "getSchema", "schemaNode", "source", "target", "log", "info", "SchemaAST", "getPropertySignatures", "ast", "prop", "SchemaValidator", "hasTypeAnnotation", "name", "toString", "ReferenceAnnotationId", "value", "String", "refs", "Array", "isArray", "ref", "findIndex", "obj", "triggerUpdate", "fire", "setSelected", "close", "undefined", "Graph", "match", "width", "height", "useResizeDetector", "refreshRate", "rootRef", "useRef", "forceGraph", "model", "useAsyncState", "filteredRef", "filterObjectsSync", "useEffect", "ForceGraph", "nodeRelSize", "nodeLabel", "nodeAutoColorBy", "linkColor", "pauseAnimation", "graphData", "onEngineStop", "handleZoomToFit", "d3Force", "forceLink", "distance", "strength", "forceManyBody", "warmupTicks", "cooldownTime", "resumeAnimation", "zoomToFit", "React", "div", "className", "onClick"]
7
+ }
@@ -16,31 +16,32 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_YLL7H7CZ_exports = {};
20
- __export(chunk_YLL7H7CZ_exports, {
19
+ var chunk_6R5P3UVS_exports = {};
20
+ __export(chunk_6R5P3UVS_exports, {
21
21
  ExplorerAction: () => ExplorerAction,
22
22
  ViewType: () => ViewType
23
23
  });
24
- module.exports = __toCommonJS(chunk_YLL7H7CZ_exports);
24
+ module.exports = __toCommonJS(chunk_6R5P3UVS_exports);
25
25
  var import_chunk_VB3QE6XY = require("./chunk-VB3QE6XY.cjs");
26
+ var import_effect = require("effect");
26
27
  var import_echo_schema = require("@dxos/echo-schema");
27
- var import_echo_schema2 = require("@dxos/echo-schema");
28
+ var import_effect2 = require("effect");
28
29
  var ViewType = class extends (0, import_echo_schema.TypedObject)({
29
30
  typename: "dxos.org/type/ExplorerView",
30
31
  version: "0.1.0"
31
32
  })({
32
- name: import_echo_schema.S.optional(import_echo_schema.S.String),
33
- type: import_echo_schema.S.String
33
+ name: import_effect.Schema.optional(import_effect.Schema.String),
34
+ type: import_effect.Schema.String
34
35
  }) {
35
36
  };
36
37
  var ExplorerAction;
37
38
  (function(ExplorerAction2) {
38
39
  const EXPLORER_ACTION = `${import_chunk_VB3QE6XY.EXPLORER_PLUGIN}/action`;
39
- class Create extends import_echo_schema2.S.TaggedClass()(`${EXPLORER_ACTION}/create`, {
40
- input: import_echo_schema2.S.Struct({
41
- name: import_echo_schema2.S.optional(import_echo_schema2.S.String)
40
+ class Create extends import_effect2.Schema.TaggedClass()(`${EXPLORER_ACTION}/create`, {
41
+ input: import_effect2.Schema.Struct({
42
+ name: import_effect2.Schema.optional(import_effect2.Schema.String)
42
43
  }),
43
- output: import_echo_schema2.S.Struct({
44
+ output: import_effect2.Schema.Struct({
44
45
  object: ViewType
45
46
  })
46
47
  }) {
@@ -52,4 +53,4 @@ var ExplorerAction;
52
53
  ExplorerAction,
53
54
  ViewType
54
55
  });
55
- //# sourceMappingURL=chunk-YLL7H7CZ.cjs.map
56
+ //# sourceMappingURL=chunk-6R5P3UVS.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/schema.ts", "../../../src/types/types.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { TypedObject } from '@dxos/echo-schema';\n\n// TODO(burdon): Clashes with sdk/view.\nexport class ViewType extends TypedObject({\n typename: 'dxos.org/type/ExplorerView',\n version: '0.1.0',\n})({\n name: Schema.optional(Schema.String),\n type: Schema.String,\n}) {}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { ViewType } from './schema';\nimport { EXPLORER_PLUGIN } from '../meta';\n\nexport namespace ExplorerAction {\n const EXPLORER_ACTION = `${EXPLORER_PLUGIN}/action`;\n\n export class Create extends Schema.TaggedClass<Create>()(`${EXPLORER_ACTION}/create`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: ViewType,\n }),\n }) {}\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,oBAAuB;AAEvB,yBAA4B;ACF5B,IAAAA,iBAAuB;ADKhB,IAAMC,WAAN,kBAAuBC,gCAAY;EACxCC,UAAU;EACVC,SAAS;AACX,CAAA,EAAG;EACDC,MAAMC,qBAAOC,SAASD,qBAAOE,MAAM;EACnCC,MAAMH,qBAAOE;AACf,CAAA,EAAA;AAAI;;UCNaE,iBAAAA;AACf,QAAMC,kBAAkB,GAAGC,qCAAAA;EAEpB,MAAMC,eAAeP,eAAAA,OAAOQ,YAAW,EAAW,GAAGH,eAAAA,WAA0B;IACpFI,OAAOT,eAAAA,OAAOU,OAAO;MACnBX,MAAMC,eAAAA,OAAOC,SAASD,eAAAA,OAAOE,MAAM;IACrC,CAAA;IACAS,QAAQX,eAAAA,OAAOU,OAAO;MACpBE,QAAQjB;IACV,CAAA;EACF,CAAA,EAAA;EAAI;kBAPSY,SAAAA;AAQf,GAXiBH,mBAAAA,iBAAAA,CAAAA,EAAAA;",
6
+ "names": ["import_effect", "ViewType", "TypedObject", "typename", "version", "name", "Schema", "optional", "String", "type", "ExplorerAction", "EXPLORER_ACTION", "EXPLORER_PLUGIN", "Create", "TaggedClass", "input", "Struct", "output", "object"]
7
+ }