@dxos/plugin-explorer 0.7.5-main.499c70c → 0.7.5-main.5ae2ba8

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 (132) hide show
  1. package/dist/lib/browser/ExplorerContainer-THLT3CQZ.mjs +28 -0
  2. package/dist/lib/browser/ExplorerContainer-THLT3CQZ.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-SW3H4TIK.mjs → chunk-PMHCTMKT.mjs} +3 -3
  4. package/dist/lib/browser/chunk-PMHCTMKT.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-KG3BEHW5.mjs → chunk-QOKAZK4V.mjs} +7 -4
  6. package/dist/lib/browser/chunk-QOKAZK4V.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-5GTLMW4Q.mjs → chunk-TDUEJNAN.mjs} +21 -22
  8. package/dist/lib/browser/chunk-TDUEJNAN.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-YN4YVXVL.mjs +10832 -0
  10. package/dist/lib/browser/chunk-YN4YVXVL.mjs.map +7 -0
  11. package/dist/lib/browser/index.mjs +73 -10890
  12. package/dist/lib/browser/index.mjs.map +4 -4
  13. package/dist/lib/browser/intent-resolver-UJNDAIDZ.mjs +24 -0
  14. package/dist/lib/browser/intent-resolver-UJNDAIDZ.mjs.map +7 -0
  15. package/dist/lib/browser/meta.json +1 -1
  16. package/dist/lib/browser/meta.mjs +3 -3
  17. package/dist/lib/browser/react-surface-UMUN6CTH.mjs +30 -0
  18. package/dist/lib/browser/react-surface-UMUN6CTH.mjs.map +7 -0
  19. package/dist/lib/browser/types/index.mjs +2 -2
  20. package/dist/lib/node/{ExplorerArticle-SRBBSKFY.cjs → ExplorerContainer-EJPGD4WR.cjs} +13 -12
  21. package/dist/lib/node/ExplorerContainer-EJPGD4WR.cjs.map +7 -0
  22. package/dist/lib/node/{chunk-N6DCTBDJ.cjs → chunk-5MTMJYC4.cjs} +11 -8
  23. package/dist/lib/node/chunk-5MTMJYC4.cjs.map +7 -0
  24. package/dist/lib/node/chunk-H5CHI722.cjs +10854 -0
  25. package/dist/lib/node/chunk-H5CHI722.cjs.map +7 -0
  26. package/dist/lib/node/{chunk-WHMJ2VQ2.cjs → chunk-QASZ24JS.cjs} +23 -24
  27. package/dist/lib/node/chunk-QASZ24JS.cjs.map +7 -0
  28. package/dist/lib/node/{chunk-PYKEM3BW.cjs → chunk-YUY7P7R2.cjs} +7 -7
  29. package/dist/lib/node/chunk-YUY7P7R2.cjs.map +7 -0
  30. package/dist/lib/node/index.cjs +72 -10876
  31. package/dist/lib/node/index.cjs.map +4 -4
  32. package/dist/lib/node/intent-resolver-XQV24IAA.cjs +39 -0
  33. package/dist/lib/node/intent-resolver-XQV24IAA.cjs.map +7 -0
  34. package/dist/lib/node/meta.cjs +5 -4
  35. package/dist/lib/node/meta.cjs.map +1 -1
  36. package/dist/lib/node/meta.json +1 -1
  37. package/dist/lib/node/{ExplorerMain-OP7Y6MBK.cjs → react-surface-UVMGNAA6.cjs} +22 -29
  38. package/dist/lib/node/react-surface-UVMGNAA6.cjs.map +7 -0
  39. package/dist/lib/node/types/index.cjs +4 -4
  40. package/dist/lib/node/types/index.cjs.map +1 -1
  41. package/dist/lib/node-esm/{ExplorerArticle-OSHCNX4V.mjs → ExplorerContainer-MEZP34AY.mjs} +10 -9
  42. package/dist/lib/node-esm/ExplorerContainer-MEZP34AY.mjs.map +7 -0
  43. package/dist/lib/node-esm/{chunk-WTGQFG6L.mjs → chunk-45DTVHHL.mjs} +21 -22
  44. package/dist/lib/node-esm/chunk-45DTVHHL.mjs.map +7 -0
  45. package/dist/lib/node-esm/{chunk-JWVKJ4I5.mjs → chunk-57K7ORAW.mjs} +3 -3
  46. package/dist/lib/node-esm/chunk-57K7ORAW.mjs.map +7 -0
  47. package/dist/lib/node-esm/chunk-JYW3CDBT.mjs +10834 -0
  48. package/dist/lib/node-esm/chunk-JYW3CDBT.mjs.map +7 -0
  49. package/dist/lib/node-esm/{chunk-UTMD4Q5R.mjs → chunk-UHJZUVRI.mjs} +7 -4
  50. package/dist/lib/node-esm/chunk-UHJZUVRI.mjs.map +7 -0
  51. package/dist/lib/node-esm/index.mjs +73 -10890
  52. package/dist/lib/node-esm/index.mjs.map +4 -4
  53. package/dist/lib/node-esm/intent-resolver-RZQ3EEOE.mjs +25 -0
  54. package/dist/lib/node-esm/intent-resolver-RZQ3EEOE.mjs.map +7 -0
  55. package/dist/lib/node-esm/meta.json +1 -1
  56. package/dist/lib/node-esm/meta.mjs +3 -3
  57. package/dist/lib/node-esm/react-surface-5BTZOU3H.mjs +31 -0
  58. package/dist/lib/node-esm/react-surface-5BTZOU3H.mjs.map +7 -0
  59. package/dist/lib/node-esm/types/index.mjs +2 -2
  60. package/dist/types/src/ExplorerPlugin.d.ts +1 -3
  61. package/dist/types/src/ExplorerPlugin.d.ts.map +1 -1
  62. package/dist/types/src/capabilities/index.d.ts +3 -0
  63. package/dist/types/src/capabilities/index.d.ts.map +1 -0
  64. package/dist/types/src/capabilities/intent-resolver.d.ts +4 -0
  65. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
  66. package/dist/types/src/capabilities/react-surface.d.ts +4 -0
  67. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  68. package/dist/types/src/components/Chart/Chart.d.ts +1 -2
  69. package/dist/types/src/components/Chart/Chart.d.ts.map +1 -1
  70. package/dist/types/src/components/Chart/Chart.stories.d.ts +1 -2
  71. package/dist/types/src/components/Chart/Chart.stories.d.ts.map +1 -1
  72. package/dist/types/src/components/ExplorerContainer.d.ts +7 -0
  73. package/dist/types/src/components/ExplorerContainer.d.ts.map +1 -0
  74. package/dist/types/src/components/Globe/Globe.d.ts +1 -2
  75. package/dist/types/src/components/Globe/Globe.d.ts.map +1 -1
  76. package/dist/types/src/components/Globe/Globe.stories.d.ts +2 -3
  77. package/dist/types/src/components/Globe/Globe.stories.d.ts.map +1 -1
  78. package/dist/types/src/components/Graph/Graph.d.ts +1 -0
  79. package/dist/types/src/components/Graph/Graph.d.ts.map +1 -1
  80. package/dist/types/src/components/Graph/graph-model.d.ts +6 -6
  81. package/dist/types/src/components/Graph/graph-model.d.ts.map +1 -1
  82. package/dist/types/src/components/Tree/Tree.d.ts +1 -2
  83. package/dist/types/src/components/Tree/Tree.d.ts.map +1 -1
  84. package/dist/types/src/components/index.d.ts +3 -5
  85. package/dist/types/src/components/index.d.ts.map +1 -1
  86. package/dist/types/src/index.d.ts +1 -2
  87. package/dist/types/src/index.d.ts.map +1 -1
  88. package/dist/types/src/meta.d.ts +2 -2
  89. package/dist/types/src/meta.d.ts.map +1 -1
  90. package/dist/types/src/translations.d.ts +13 -0
  91. package/dist/types/src/translations.d.ts.map +1 -1
  92. package/dist/types/src/types/schema.d.ts +2 -2
  93. package/dist/types/src/types/types.d.ts +0 -3
  94. package/dist/types/src/types/types.d.ts.map +1 -1
  95. package/dist/types/tsconfig.tsbuildinfo +1 -1
  96. package/package.json +25 -31
  97. package/src/ExplorerPlugin.tsx +50 -39
  98. package/src/capabilities/index.ts +8 -0
  99. package/src/capabilities/intent-resolver.ts +19 -0
  100. package/src/capabilities/react-surface.tsx +22 -0
  101. package/src/components/{ExplorerArticle.tsx → ExplorerContainer.tsx} +5 -4
  102. package/src/components/Graph/Graph.tsx +19 -20
  103. package/src/components/Graph/graph-model.ts +13 -9
  104. package/src/components/index.ts +1 -2
  105. package/src/index.ts +1 -4
  106. package/src/meta.ts +3 -2
  107. package/src/translations.ts +4 -0
  108. package/src/types/schema.ts +1 -1
  109. package/src/types/types.ts +0 -13
  110. package/dist/lib/browser/ExplorerArticle-4F2ZO5QW.mjs +0 -27
  111. package/dist/lib/browser/ExplorerArticle-4F2ZO5QW.mjs.map +0 -7
  112. package/dist/lib/browser/ExplorerMain-2X2GH7RE.mjs +0 -33
  113. package/dist/lib/browser/ExplorerMain-2X2GH7RE.mjs.map +0 -7
  114. package/dist/lib/browser/chunk-5GTLMW4Q.mjs.map +0 -7
  115. package/dist/lib/browser/chunk-KG3BEHW5.mjs.map +0 -7
  116. package/dist/lib/browser/chunk-SW3H4TIK.mjs.map +0 -7
  117. package/dist/lib/node/ExplorerArticle-SRBBSKFY.cjs.map +0 -7
  118. package/dist/lib/node/ExplorerMain-OP7Y6MBK.cjs.map +0 -7
  119. package/dist/lib/node/chunk-N6DCTBDJ.cjs.map +0 -7
  120. package/dist/lib/node/chunk-PYKEM3BW.cjs.map +0 -7
  121. package/dist/lib/node/chunk-WHMJ2VQ2.cjs.map +0 -7
  122. package/dist/lib/node-esm/ExplorerArticle-OSHCNX4V.mjs.map +0 -7
  123. package/dist/lib/node-esm/ExplorerMain-RQCVOCX7.mjs +0 -34
  124. package/dist/lib/node-esm/ExplorerMain-RQCVOCX7.mjs.map +0 -7
  125. package/dist/lib/node-esm/chunk-JWVKJ4I5.mjs.map +0 -7
  126. package/dist/lib/node-esm/chunk-UTMD4Q5R.mjs.map +0 -7
  127. package/dist/lib/node-esm/chunk-WTGQFG6L.mjs.map +0 -7
  128. package/dist/types/src/components/ExplorerArticle.d.ts +0 -7
  129. package/dist/types/src/components/ExplorerArticle.d.ts.map +0 -1
  130. package/dist/types/src/components/ExplorerMain.d.ts +0 -7
  131. package/dist/types/src/components/ExplorerMain.d.ts.map +0 -1
  132. package/src/components/ExplorerMain.tsx +0 -34
@@ -26,14 +26,14 @@ 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_WHMJ2VQ2_exports = {};
30
- __export(chunk_WHMJ2VQ2_exports, {
29
+ var chunk_QASZ24JS_exports = {};
30
+ __export(chunk_QASZ24JS_exports, {
31
31
  Graph: () => Graph,
32
32
  SpaceGraphModel: () => SpaceGraphModel,
33
33
  Tree: () => Tree,
34
34
  defaultTreeLayoutSlots: () => defaultTreeLayoutSlots
35
35
  });
36
- module.exports = __toCommonJS(chunk_WHMJ2VQ2_exports);
36
+ module.exports = __toCommonJS(chunk_QASZ24JS_exports);
37
37
  var import_echo_schema = require("@dxos/echo-schema");
38
38
  var import_gem_spore = require("@dxos/gem-spore");
39
39
  var import_log = require("@dxos/log");
@@ -84,7 +84,7 @@ var SpaceGraphModel = class extends import_gem_spore.GraphModel {
84
84
  };
85
85
  }
86
86
  return {
87
- type: "echo-object",
87
+ type: "object",
88
88
  id: object.id,
89
89
  object
90
90
  };
@@ -97,7 +97,7 @@ var SpaceGraphModel = class extends import_gem_spore.GraphModel {
97
97
  id: object.id.slice(0, 8)
98
98
  }, {
99
99
  F: __dxlog_file,
100
- L: 72,
100
+ L: 76,
101
101
  S: this,
102
102
  C: (f, a) => f(...a)
103
103
  });
@@ -316,7 +316,7 @@ var colors = [
316
316
  "[&>circle]:!fill-teal-300 [&>circle]:!stroke-teal-600",
317
317
  "[&>circle]:!fill-indigo-300 [&>circle]:!stroke-indigo-600"
318
318
  ];
319
- var Graph = ({ space, match }) => {
319
+ var Graph = ({ space, match, grid }) => {
320
320
  const model = (0, import_react2.useMemo)(() => space ? new SpaceGraphModel({
321
321
  schema: true
322
322
  }).open(space) : void 0, [
@@ -331,15 +331,15 @@ var Graph = ({ space, match }) => {
331
331
  strength: -100
332
332
  },
333
333
  link: {
334
- distance: 180
334
+ distance: 120
335
335
  },
336
336
  radial: {
337
- radius: 200,
337
+ radius: 150,
338
338
  strength: 0.05
339
339
  }
340
340
  },
341
341
  attributes: {
342
- radius: (node) => node.data?.type === "schema" ? 24 : 12
342
+ radius: (node) => node.data?.type === "schema" ? 12 : 8
343
343
  }
344
344
  }), []);
345
345
  const filteredRef = (0, import_react2.useRef)();
@@ -367,7 +367,7 @@ var Graph = ({ space, match }) => {
367
367
  className: (0, import_react_ui_theme.mx)(import_gem_spore2.defaultStyles, slots?.root?.className)
368
368
  }, /* @__PURE__ */ import_react2.default.createElement(import_gem_spore2.Markers, {
369
369
  arrowSize: 6
370
- }), /* @__PURE__ */ import_react2.default.createElement(import_gem_core2.Grid, {
370
+ }), grid && /* @__PURE__ */ import_react2.default.createElement(import_gem_core2.Grid, {
371
371
  className: slots?.grid?.className ?? (0, import_gem_core2.defaultGridStyles)(themeMode)
372
372
  }), /* @__PURE__ */ import_react2.default.createElement(import_gem_core2.Zoom, {
373
373
  extent: [
@@ -392,27 +392,26 @@ var Graph = ({ space, match }) => {
392
392
  node: (node) => {
393
393
  let className;
394
394
  if (node.data) {
395
- const typename = (0, import_echo2.getType)(node.data)?.objectId;
396
- if (typename) {
397
- className = colorMap.get(typename);
398
- if (!className) {
399
- className = colors[colorMap.size % colors.length];
400
- colorMap.set(typename, className);
395
+ const { object } = node.data;
396
+ if (object) {
397
+ const typename = (0, import_echo2.getTypename)(object);
398
+ if (typename) {
399
+ className = colorMap.get(typename);
400
+ if (!className) {
401
+ className = colors[colorMap.size % colors.length];
402
+ colorMap.set(typename, className);
403
+ }
401
404
  }
402
405
  }
403
406
  }
404
407
  const selected2 = filteredRef.current?.some((object) => object.id === node.data?.id);
408
+ const blur = !selected2 && !!filteredRef.current?.length;
405
409
  return {
406
- class: (0, import_react_ui_theme.mx)(filteredRef.current?.length ? selected2 ? [
407
- className
408
- ] : "[&>text]:!fill-neutral-300" : [
409
- "[&>text]:!fill-neutral-700",
410
- className
411
- ])
410
+ class: (0, import_react_ui_theme.mx)(className, blur && "opacity-70")
412
411
  };
413
412
  },
414
413
  link: () => ({
415
- class: "[&>path]:!stroke-neutral-300"
414
+ class: "[&>path]:!stroke-neutral-300 dark:[&>path]:!stroke-neutral-700"
416
415
  })
417
416
  }
418
417
  }))));
@@ -493,4 +492,4 @@ var Tree = ({ space, selected, variant = "tidy", onNodeClick }) => {
493
492
  Tree,
494
493
  defaultTreeLayoutSlots
495
494
  });
496
- //# sourceMappingURL=chunk-WHMJ2VQ2.cjs.map
495
+ //# sourceMappingURL=chunk-QASZ24JS.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/Graph/graph-model.ts", "../../../src/components/Tree/Tree.tsx", "../../../src/components/Tree/layout/HierarchicalEdgeBundling.ts", "../../../src/components/Tree/layout/RadialTree.ts", "../../../src/components/Tree/layout/TidyTree.ts", "../../../src/components/Tree/types.ts", "../../../src/components/Graph/Graph.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { AST, EchoSchema, ReferenceAnnotationId, type S, SchemaValidator, StoredSchema } from '@dxos/echo-schema';\nimport { type GraphData, type GraphLink, GraphModel } from '@dxos/gem-spore';\nimport { log } from '@dxos/log';\nimport { CollectionType } from '@dxos/plugin-space/types';\nimport { type ReactiveEchoObject, type Space, type Subscription, getSchema, getType } from '@dxos/react-client/echo';\n\nexport type SpaceGraphModelOptions = {\n schema?: boolean;\n};\n\ntype SchemaGraphNode = {\n id: string;\n type: 'schema';\n schema: S.Schema<any>;\n};\n\ntype ObjectGraphNode = {\n id: string;\n type: 'object';\n object: ReactiveEchoObject<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 _subscription?: Subscription;\n private _objects?: ReactiveEchoObject<any>[];\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(): ReactiveEchoObject<any>[] {\n return this._objects ?? [];\n }\n\n open(space: Space, objectId?: string) {\n if (!this._subscription) {\n // TODO(burdon): Filter.\n const query = space.db.query((object: ReactiveEchoObject<any>) => !(object instanceof CollectionType));\n\n this._subscription = query.subscribe(\n ({ objects }) => {\n this._objects = objects;\n\n // TODO(burdon): Normalize schema.\n this._graph.nodes = objects.map((object) => {\n if (object instanceof StoredSchema) {\n const effectSchema = space.db.schemaRegistry.getSchemaById(object.id)!;\n return { type: 'schema', id: object.id, schema: effectSchema.schema };\n }\n\n return { type: 'object', id: object.id, object };\n });\n\n this._graph.links = objects.reduce<GraphLink[]>((links, object) => {\n const objectSchema = getSchema(object);\n const typename = getType(object)?.objectId;\n if (objectSchema == null || typename == null) {\n log.info('no schema for object:', { id: object.id.slice(0, 8) });\n return links;\n }\n\n if (!(objectSchema instanceof EchoSchema)) {\n const idx = objects.findIndex((obj) => obj.id === typename);\n if (idx === -1) {\n this._graph.nodes.push({\n id: typename,\n type: 'schema',\n schema: objectSchema,\n });\n }\n }\n\n // Link to schema.\n if (this._options.schema) {\n links.push({\n id: `${object.id}-${typename}`,\n source: object.id,\n target: typename,\n });\n }\n\n // Parse schema to follow referenced objects.\n AST.getPropertySignatures(objectSchema.ast).forEach((prop) => {\n if (!SchemaValidator.hasTypeAnnotation(objectSchema, prop.name.toString(), ReferenceAnnotationId)) {\n return;\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 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 return links;\n }, []);\n\n this.triggerUpdate();\n },\n { fire: true },\n );\n }\n\n this.setSelected(objectId);\n return this;\n }\n\n close() {\n if (this._subscription) {\n this._subscription();\n this._subscription = undefined;\n }\n\n return this;\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { useResizeDetector } from 'react-resize-detector';\n\nimport { type Space } from '@dxos/client/echo';\nimport { createSvgContext, SVG, SVGRoot } from '@dxos/gem-core';\n\nimport { HierarchicalEdgeBundling, RadialTree, TidyTree } from './layout';\nimport { mapGraphToTreeData, type TreeNode } from './types';\nimport { SpaceGraphModel } from '../Graph';\n\n// TODO(burdon): Create dge bundling graph using d3.hierarchy.\n// https://observablehq.com/@d3/hierarchical-edge-bundling?intent=fork\n\ntype Renderer = (svg: SVGSVGElement, data: any, options: any) => void;\n\nexport type LayoutVariant = 'tidy' | 'radial' | 'edge';\n\n// TODO(burdon): Remove slots?\nexport type TreeLayoutSlots = {\n node?: string;\n path?: string;\n text?: string;\n};\n\nexport type TreeOptions = {\n label: (d: any) => string;\n\n slots?: TreeLayoutSlots;\n radius?: number;\n\n width: number;\n height: number;\n margin?: number;\n\n padding?: number;\n // Radius of nodes.\n r?: number;\n};\n\nexport const defaultTreeLayoutSlots: TreeLayoutSlots = {\n node: 'fill-blue-600',\n path: 'fill-none stroke-blue-400 stroke-[0.5px]',\n text: 'stroke-[0.5px] stroke-neutral-700 text-xs', // TODO(burdon): Create box instead of halo.\n};\n\nconst renderers = new Map<LayoutVariant, Renderer>([\n ['tidy', TidyTree],\n ['radial', RadialTree],\n ['edge', HierarchicalEdgeBundling],\n]);\n\nexport type TreeComponentProps<N = unknown> = {\n space: Space;\n selected?: string;\n variant?: LayoutVariant;\n onNodeClick?: (node?: N) => void;\n};\n\n// TODO(burdon): Label accessor.\nexport const Tree = <N,>({ space, selected, variant = 'tidy', onNodeClick }: TreeComponentProps<N>) => {\n const model = useMemo(() => (space ? new SpaceGraphModel().open(space, selected) : undefined), [space, selected]);\n const [tree, setTree] = useState<TreeNode>();\n useEffect(() => {\n return model?.subscribe(() => {\n const tree = mapGraphToTreeData(model);\n setTree(tree);\n }, true);\n }, [model]);\n\n const context = createSvgContext();\n const { ref, width = 0, height = 0 } = useResizeDetector();\n\n useEffect(() => {\n if (width && height) {\n const size = Math.min(width, height);\n const radius = size * 0.4;\n const options = {\n // TODO(burdon): Type.\n label: (d: any) => d.label ?? d.id,\n width,\n height,\n radius,\n marginLeft: (width - radius * 2) / 2,\n marginRight: (width - radius * 2) / 2,\n marginTop: (height - radius * 2) / 2,\n marginBottom: (height - radius * 2) / 2,\n slots: defaultTreeLayoutSlots,\n };\n\n if (tree) {\n const renderer = renderers.get(variant);\n renderer?.(context.ref.current!, tree, options);\n }\n }\n }, [tree, width, height]);\n\n // TODO(burdon): Provider should expand.\n return (\n <div ref={ref} className='flex grow overflow-hidden' onClick={() => onNodeClick?.()}>\n <SVGRoot context={context}>\n <SVG />\n </SVGRoot>\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n// Copyright 2022 Observable, Inc.\n//\n\nimport * as d3 from 'd3';\nimport { type HierarchyNode } from 'd3-hierarchy';\n\nimport { type TreeOptions } from '../Tree';\nimport { type TreeNode } from '../types';\n\n// Create hierarchical ID.\n// eslint-disable-next-line unused-imports/no-unused-vars\nconst getId = (node: HierarchyNode<TreeNode>): string =>\n `${node.parent ? getId(node.parent) + '/' : ''}${node.data.id.slice(0, 4)}`;\n\n// https://github.com/d3/d3-hierarchy\n// https://observablehq.com/@d3/hierarchical-edge-bundling?intent=fork\nconst HierarchicalEdgeBundling = (s: SVGSVGElement, data: TreeNode, options: TreeOptions) => {\n const svg = d3.select(s);\n svg.selectAll('*').remove();\n\n const { radius = 600, padding = 100, slots } = options;\n\n // https://d3js.org/d3-hierarchy/hierarchy\n const root = d3.hierarchy(flatten(data));\n // .sort((a, b) => d3.ascending(a.height, b.height) || d3.ascending(getName(a.data), getName(b.data)));\n\n const tree = d3.cluster<TreeNode>().size([2 * Math.PI, radius - padding]);\n const layout = tree(addLinks(root));\n\n // eslint-disable-next-line unused-imports/no-unused-vars\n const node = svg\n .append('g')\n .selectAll()\n .data(layout.leaves())\n .join('g')\n .attr('transform', (d) => `rotate(${d.x * (180 / Math.PI) - 90}) translate(${d.y},0)`)\n .append('text')\n .attr('class', slots?.text ?? '')\n .attr('dy', '0.31em') // TODO(burdon): Based on font size.\n .attr('x', (d) => (d.x < Math.PI ? 6 : -6))\n .attr('text-anchor', (d) => (d.x < Math.PI ? 'start' : 'end'))\n .attr('transform', (d) => (d.x >= Math.PI ? 'rotate(180)' : null))\n // .text((d: any) => d.data.id)\n // .each(function (d: any) {\n // d.text = this;\n // })\n // .on('mouseover', overed)\n // .on('mouseout', outed)\n .call(\n (text) => text.text((d: any) => d.data.id.slice(0, 8)),\n // .text((d: any) => `${getId(d)} [${[(d as any).outgoing?.length ?? 0]}]`),\n );\n\n // https://d3js.org/d3-shape/radial-line\n const line = d3\n .lineRadial()\n .curve(d3.curveBundle.beta(0.85))\n .radius((d: any) => d.y)\n .angle((d: any) => d.x);\n\n // eslint-disable-next-line unused-imports/no-unused-vars\n const links = svg\n .append('g')\n .selectAll()\n .data(layout.leaves().flatMap((leaf: any) => leaf.outgoing))\n .join('path')\n .style('mix-blend-mode', 'multiply')\n .attr('class', slots?.path ?? '')\n .attr('d', ([i, o]) => {\n return line(i.path(o));\n })\n .each(function (d) {\n d.path = this;\n });\n\n // function overed(event: any, d: X) {\n // link.style('mix-blend-mode', null);\n // d3.select(this).attr('font-weight', 'bold');\n // d3.selectAll(d.incoming.map((d) => d.path))\n // .attr('stroke', color.in)\n // .raise();\n // d3.selectAll((d as any).incoming.map(([d]) => d.text))\n // .attr('fill', color.in)\n // .attr('font-weight', 'bold');\n // d3.selectAll(d.outgoing.map((d) => d.path))\n // .attr('stroke', color.out)\n // .raise();\n // d3.selectAll(d.outgoing.map(([, d]) => d.text))\n // .attr('fill', color.out)\n // .attr('font-weight', 'bold');\n // }\n\n // function outed(event: any, d: HierarchyNode<Datum>) {\n // // @ts-ignore\n // d3.select(this).attr('font-weight', null);\n // d3.selectAll(d.incoming.map((d) => d.path)).attr('stroke', null);\n // d3.selectAll(d.incoming.map(([d]) => d.text))\n // .attr('fill', null)\n // .attr('font-weight', null);\n // d3.selectAll(d.outgoing.map((d) => d.path)).attr('stroke', null);\n // d3.selectAll(d.outgoing.map(([, d]) => d.text))\n // .attr('fill', null)\n // .attr('font-weight', null);\n // }\n};\n\n// Monkey-patch with incoming/outgoing nodes.\nconst addLinks = (root: HierarchyNode<TreeNode>) => {\n // Map of nodes indexed by ID.\n const nodes = new Map(root.descendants().map((d) => [d.data.id, d]));\n const parents = root.descendants().reduce((map, d) => {\n if (d.children?.length) {\n map.set(d.data.id, d);\n }\n return map;\n }, new Map<string, HierarchyNode<TreeNode>>());\n\n for (const d of root.leaves()) {\n // (d as any).incoming = [];\n\n const parent = parents.get(d.data.id);\n if (parent) {\n // Skip the first node which is a placeholder created by flatten().\n (d as any).outgoing =\n parent.data.children?.slice(1).map((child) => {\n return [d, nodes.get(child.id)!];\n }) ?? [];\n } else {\n (d as any).outgoing = [];\n }\n }\n\n // for (const d of root.leaves()) {\n // for (const [_, o] of (d as any).outgoing) {\n // o.incoming.push(o);\n // }\n // }\n\n return root;\n};\n\n/**\n * We are using a hierarchy in order to group nodes by parent, but we want the parent\n * nodes to be positioned at the first level along with all descendents.\n * So we add a placeholder for all parents at the head of each group.\n * @param node\n */\nconst flatten = (node: TreeNode) => {\n const clone: TreeNode = {\n id: node.id,\n };\n\n // TODO(burdon): NOTE: Should exclude schema (since requires a tree).\n if (node.children?.length) {\n const children = node.children.map((child) => flatten(child));\n clone.children = [{ id: node.id }, ...children];\n }\n\n return clone;\n};\n\nexport default HierarchicalEdgeBundling;\n", "//\n// Copyright 2023 DXOS.org\n// Copyright 2022 Observable, Inc.\n//\n\nimport * as d3 from 'd3';\n\nimport { type TreeOptions } from '../Tree';\n\n// Released under the ISC license.\n// https://observablehq.com/@d3/radial-tree\n// https://observablehq.com/@d3/tree\nconst RadialTree = (s: SVGSVGElement, data: any, options: TreeOptions) => {\n const svg = d3.select(s);\n svg.selectAll('*').remove();\n\n const {\n label, // given a node d, returns the display name\n radius = 400,\n r = 4, // radius of nodes\n slots,\n } = options;\n\n const arc = 2 * Math.PI;\n\n const root = d3.hierarchy(data);\n\n // Sort the nodes.\n // if (sort) {\n // root.sort(sort);\n // }\n\n // Compute labels and titles.\n const descendants = root.descendants();\n const getLabel = label === null ? null : descendants.map((d) => label(d.data));\n\n // Compute the layout.\n const layout = d3\n .tree()\n .size([arc, radius])\n .separation((a: any, b: any) => (a.parent === b.parent ? 1 : 2) / a.depth);\n layout(root);\n\n // Links.\n svg\n .append('g')\n .selectAll('path')\n .data(root.links())\n .join('path')\n .attr('class', slots?.path ?? '')\n .attr(\n 'd',\n d3\n .linkRadial()\n .angle((d: any) => d.x + Math.PI / 2)\n .radius((d: any) => d.y) as any,\n );\n\n // Nodes.\n const node = svg\n .append('g')\n .selectAll('a')\n .data(root.descendants())\n .join('a')\n // .attr('xlink:href', link == null ? null : (d) => link(d.data, d))\n // .attr('target', link == null ? null : linkTarget)\n .attr('transform', (d: any) => `rotate(${(d.x * 180) / Math.PI}) translate(${d.y},0)`);\n\n node\n .append('circle')\n .attr('class', slots?.node ?? '')\n .attr('r', r);\n\n // if (title != null) {\n // node.append('title').text((d) => title(d.data, d));\n // }\n\n // Text.\n if (getLabel) {\n node\n .append('text')\n .attr('transform', (d: any) => `rotate(${d.x >= Math.PI ? 180 : 0})`)\n .attr('dy', '0.32em')\n // eslint-disable-next-line no-mixed-operators\n .attr('x', (d: any) => (d.x < Math.PI === !d.children ? 6 : -6))\n // eslint-disable-next-line no-mixed-operators\n .attr('text-anchor', (d: any) => (d.x < Math.PI === !d.children ? 'start' : 'end'))\n // .attr('paint-order', 'stroke')\n .attr('class', slots?.text ?? '')\n .text((d, i) => getLabel[i]);\n }\n\n return svg.node();\n};\n\nexport default RadialTree;\n", "//\n// Copyright 2023 DXOS.org\n// Copyright 2021 Observable, Inc.\n//\n\nimport * as d3 from 'd3';\n\nimport { type TreeOptions } from '../Tree';\n\n// Released under the ISC license.\n// https://observablehq.com/@d3/tree\nconst TidyTree = (s: SVGSVGElement, data: any, options: TreeOptions) => {\n const svg = d3.select(s);\n svg.selectAll('*').remove();\n\n const { label, width, height, r = 4, padding = 4, margin = 60, slots } = options;\n\n const root = d3.hierarchy(data);\n\n // Compute labels and titles.\n const descendants = root.descendants();\n const getLabel = label == null ? null : descendants.map((d) => label(d.data));\n\n // Compute the layout.\n const dx = 16;\n const dy = width / (root.height + padding);\n const layout = d3.tree().nodeSize([dx, dy]);\n layout(root);\n\n // Center the tree.\n let x0 = Infinity;\n let x1 = -x0;\n let y0 = Infinity;\n let y1 = -y0;\n root.each((d: any) => {\n if (d.x > x1) {\n x1 = d.x;\n }\n if (d.x < x0) {\n x0 = d.x;\n }\n if (d.y > y1) {\n y1 = d.y;\n }\n if (d.y < y0) {\n y0 = d.y;\n }\n });\n\n // TODO(burdon): Option to expand.\n // NOTE: x and y are flipped.\n const sx = Math.min(2, Math.max(1, (height - margin * 2) / (x1 - x0)));\n const oy = -(width - (y1 - y0)) / 2;\n\n // Links.\n svg\n .append('g')\n .selectAll('path')\n .data(root.links())\n .join('path')\n .attr('class', slots?.path ?? '')\n .attr(\n 'd',\n d3\n .link(d3.curveBumpX)\n .x((d: any) => d.y + oy)\n .y((d: any) => d.x * sx) as any,\n );\n\n // Nodes.\n const node = svg\n .append('g')\n .selectAll('a')\n .data(root.descendants())\n .join('a')\n // .attr('xlink:href', link == null ? null : (d) => link(d.data, d))\n // .attr('target', link == null ? null : linkTarget)\n .attr('transform', (d: any) => `translate(${d.y + oy},${d.x * sx})`);\n\n node\n .append('circle')\n .attr('class', slots?.node ?? '')\n .attr('r', r);\n\n // if (title != null) {\n // node.append('title').text((d) => title(d.data, d));\n // }\n\n if (getLabel) {\n node\n .append('text')\n\n .attr('dy', '0.32em')\n .attr('x', (d) => (d.children ? -6 : 6))\n .attr('text-anchor', (d) => (d.children ? 'end' : 'start'))\n // .attr('paint-order', 'stroke')\n .attr('class', slots?.text ?? '')\n .text((d, i) => getLabel[i]);\n }\n};\n\nexport default TidyTree;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport type { GraphModel } from '@dxos/gem-spore';\n\nexport type TreeNode = {\n id: string;\n label?: string;\n children?: TreeNode[];\n};\n\nexport const mapGraphToTreeData = <N>(model: GraphModel<N>, maxDepth = 8): TreeNode | undefined => {\n const mapNode = (node: N, depth = 0): TreeNode => {\n const treeNode: TreeNode = {\n id: model.idAccessor(node),\n label: model.idAccessor(node).slice(0, 8),\n };\n\n const links = model.graph.links.filter((link) => link.source === treeNode.id);\n if (depth < maxDepth) {\n treeNode.children = links.map((link) =>\n mapNode(model.graph.nodes.find((node) => model.idAccessor(node) === link.target)!, depth + 1),\n );\n }\n\n return treeNode;\n };\n\n let data: TreeNode | undefined;\n if (model.selected) {\n const node = model.graph.nodes.find((node) => model.idAccessor(node) === model.selected);\n if (node) {\n data = mapNode(node);\n }\n }\n\n return data;\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type FC, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { getTypename, type ReactiveEchoObject, type Space } from '@dxos/client/echo';\nimport { createSvgContext, defaultGridStyles, Grid, SVG, SVGRoot, Zoom } from '@dxos/gem-core';\nimport {\n defaultStyles,\n Graph as GraphComponent,\n GraphForceProjector,\n type GraphLayoutNode,\n Markers,\n} from '@dxos/gem-spore';\nimport { filterObjectsSync, type SearchResult } from '@dxos/plugin-search';\nimport { useThemeContext } from '@dxos/react-ui';\nimport { mx } from '@dxos/react-ui-theme';\n\nimport '@dxos/gem-spore/styles';\n\nimport { type EchoGraphNode, SpaceGraphModel } from './graph-model';\nimport { Tree } from '../Tree';\n\ntype Slots = {\n root?: { className?: string };\n grid?: { className?: string };\n};\n\nconst slots: Slots = {};\n\nconst colors = [\n '[&>circle]:!fill-black-300 [&>circle]:!stroke-black-600',\n '[&>circle]:!fill-slate-300 [&>circle]:!stroke-slate-600',\n '[&>circle]:!fill-green-300 [&>circle]:!stroke-green-600',\n '[&>circle]:!fill-sky-300 [&>circle]:!stroke-sky-600',\n '[&>circle]:!fill-cyan-300 [&>circle]:!stroke-cyan-600',\n '[&>circle]:!fill-rose-300 [&>circle]:!stroke-rose-600',\n '[&>circle]:!fill-purple-300 [&>circle]:!stroke-purple-600',\n '[&>circle]:!fill-orange-300 [&>circle]:!stroke-orange-600',\n '[&>circle]:!fill-teal-300 [&>circle]:!stroke-teal-600',\n '[&>circle]:!fill-indigo-300 [&>circle]:!stroke-indigo-600',\n];\n\nexport type GraphProps = {\n space: Space;\n match?: RegExp;\n grid?: boolean;\n};\n\nexport const Graph: FC<GraphProps> = ({ space, match, grid }) => {\n const model = useMemo(() => (space ? new SpaceGraphModel({ schema: true }).open(space) : undefined), [space]);\n const [selected, setSelected] = useState<string>();\n const { themeMode } = useThemeContext();\n\n const context = createSvgContext();\n const projector = useMemo(\n () =>\n new GraphForceProjector<EchoGraphNode>(context, {\n forces: {\n manyBody: {\n strength: -100,\n },\n link: {\n distance: 120,\n },\n radial: {\n radius: 150,\n strength: 0.05,\n },\n },\n attributes: {\n radius: (node: GraphLayoutNode<EchoGraphNode>) => (node.data?.type === 'schema' ? 12 : 8),\n },\n }),\n [],\n );\n\n const filteredRef = useRef<SearchResult[]>();\n filteredRef.current = filterObjectsSync(model?.objects ?? [], match);\n useEffect(() => {\n void projector.start();\n }, [match]);\n\n const [colorMap] = useState(new Map<string, string>());\n\n if (!model) {\n return null;\n }\n\n if (selected) {\n return <Tree space={space} selected={selected} variant='tidy' onNodeClick={() => setSelected(undefined)} />;\n }\n\n return (\n <SVGRoot context={context}>\n <SVG className={mx(defaultStyles, slots?.root?.className)}>\n <Markers arrowSize={6} />\n {grid && <Grid className={slots?.grid?.className ?? defaultGridStyles(themeMode)} />}\n <Zoom extent={[1 / 2, 4]}>\n <GraphComponent\n model={model}\n projector={projector}\n drag\n arrows\n onSelect={(node) => setSelected(node?.data?.id)}\n labels={{\n text: (node: GraphLayoutNode<ReactiveEchoObject<any>>) => {\n if (filteredRef.current?.length && !filteredRef.current.some((object) => object.id === node.data?.id)) {\n return undefined;\n }\n\n // TODO(burdon): Use schema.\n return node.data?.label ?? node.data?.title ?? node.data?.name ?? node.data?.id.slice(0, 8);\n },\n }}\n attributes={{\n node: (node: GraphLayoutNode<ReactiveEchoObject<any>>) => {\n let className: string | undefined;\n if (node.data) {\n const { object } = node.data;\n if (object) {\n const typename = getTypename(object);\n if (typename) {\n className = colorMap.get(typename);\n if (!className) {\n className = colors[colorMap.size % colors.length];\n colorMap.set(typename, className);\n }\n }\n }\n }\n\n const selected = filteredRef.current?.some((object) => object.id === node.data?.id);\n const blur = !selected && !!filteredRef.current?.length;\n return {\n class: mx(className, blur && 'opacity-70'),\n };\n },\n link: () => ({\n class: '[&>path]:!stroke-neutral-300 dark:[&>path]:!stroke-neutral-700',\n }),\n }}\n />\n </Zoom>\n </SVG>\n </SVGRoot>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["import_react", "import_echo", "import_gem_core", "import_gem_spore", "SpaceGraphModel", "GraphModel", "constructor", "_options", "_graph", "nodes", "links", "graph", "objects", "_objects", "open", "space", "objectId", "_subscription", "query", "db", "object", "CollectionType", "subscribe", "map", "StoredSchema", "effectSchema", "schemaRegistry", "getSchemaById", "id", "type", "schema", "reduce", "objectSchema", "getSchema", "typename", "getType", "log", "info", "slice", "EchoSchema", "idx", "findIndex", "obj", "push", "source", "target", "AST", "getPropertySignatures", "ast", "forEach", "prop", "SchemaValidator", "hasTypeAnnotation", "name", "toString", "ReferenceAnnotationId", "value", "String", "refs", "Array", "isArray", "ref", "triggerUpdate", "fire", "setSelected", "close", "undefined", "HierarchicalEdgeBundling", "s", "data", "options", "svg", "select", "selectAll", "remove", "radius", "padding", "slots", "root", "hierarchy", "flatten", "tree", "cluster", "size", "Math", "PI", "layout", "addLinks", "node", "append", "leaves", "join", "attr", "d", "x", "y", "text", "call", "line", "lineRadial", "curve", "curveBundle", "beta", "angle", "flatMap", "leaf", "outgoing", "style", "path", "i", "o", "each", "Map", "descendants", "parents", "children", "length", "set", "parent", "get", "child", "clone", "RadialTree", "label", "r", "arc", "getLabel", "separation", "a", "b", "depth", "linkRadial", "TidyTree", "width", "height", "margin", "dx", "dy", "nodeSize", "x0", "Infinity", "x1", "y0", "y1", "sx", "min", "max", "oy", "link", "curveBumpX", "mapGraphToTreeData", "model", "maxDepth", "mapNode", "treeNode", "idAccessor", "filter", "find", "selected", "colors", "Graph", "match", "grid", "useMemo", "useState", "themeMode", "useThemeContext", "context", "createSvgContext", "projector", "GraphForceProjector", "forces", "manyBody", "strength", "distance", "radial", "attributes", "filteredRef", "useRef", "current", "filterObjectsSync", "useEffect", "start", "colorMap", "React", "Tree", "variant", "onNodeClick", "SVGRoot", "SVG", "className", "mx", "defaultStyles", "Markers", "arrowSize", "Grid", "defaultGridStyles", "Zoom", "extent", "GraphComponent", "drag", "arrows", "onSelect", "labels", "some", "title", "getTypename", "blur", "class", "defaultTreeLayoutSlots", "renderers", "setTree", "useResizeDetector", "marginLeft", "marginRight", "marginTop", "marginBottom", "renderer", "div", "onClick"]
7
+ }
@@ -16,17 +16,17 @@ 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_PYKEM3BW_exports = {};
20
- __export(chunk_PYKEM3BW_exports, {
19
+ var chunk_YUY7P7R2_exports = {};
20
+ __export(chunk_YUY7P7R2_exports, {
21
21
  ExplorerAction: () => ExplorerAction,
22
22
  ViewType: () => ViewType
23
23
  });
24
- module.exports = __toCommonJS(chunk_PYKEM3BW_exports);
25
- var import_chunk_N6DCTBDJ = require("./chunk-N6DCTBDJ.cjs");
24
+ module.exports = __toCommonJS(chunk_YUY7P7R2_exports);
25
+ var import_chunk_5MTMJYC4 = require("./chunk-5MTMJYC4.cjs");
26
26
  var import_echo_schema = require("@dxos/echo-schema");
27
27
  var import_echo_schema2 = require("@dxos/echo-schema");
28
28
  var ViewType = class extends (0, import_echo_schema.TypedObject)({
29
- typename: "dxos.org/type/View",
29
+ typename: "dxos.org/type/ExplorerView",
30
30
  version: "0.1.0"
31
31
  })({
32
32
  name: import_echo_schema.S.optional(import_echo_schema.S.String),
@@ -35,7 +35,7 @@ var ViewType = class extends (0, import_echo_schema.TypedObject)({
35
35
  };
36
36
  var ExplorerAction;
37
37
  (function(ExplorerAction2) {
38
- const EXPLORER_ACTION = `${import_chunk_N6DCTBDJ.EXPLORER_PLUGIN}/action`;
38
+ const EXPLORER_ACTION = `${import_chunk_5MTMJYC4.EXPLORER_PLUGIN}/action`;
39
39
  class Create extends import_echo_schema2.S.TaggedClass()(`${EXPLORER_ACTION}/create`, {
40
40
  input: import_echo_schema2.S.Struct({
41
41
  name: import_echo_schema2.S.optional(import_echo_schema2.S.String)
@@ -52,4 +52,4 @@ var ExplorerAction;
52
52
  ExplorerAction,
53
53
  ViewType
54
54
  });
55
- //# sourceMappingURL=chunk-PYKEM3BW.cjs.map
55
+ //# sourceMappingURL=chunk-YUY7P7R2.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 { S, 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: S.optional(S.String),\n type: S.String,\n}) {}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { S } from '@dxos/echo-schema';\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 S.TaggedClass<Create>()(`${EXPLORER_ACTION}/create`, {\n input: S.Struct({\n name: S.optional(S.String),\n }),\n output: S.Struct({\n object: ViewType,\n }),\n }) {}\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,yBAA+B;ACA/B,IAAAA,sBAAkB;ADGX,IAAMC,WAAN,kBAAuBC,gCAAY;EACxCC,UAAU;EACVC,SAAS;AACX,CAAA,EAAG;EACDC,MAAMC,qBAAEC,SAASD,qBAAEE,MAAM;EACzBC,MAAMH,qBAAEE;AACV,CAAA,EAAA;AAAI;;UCJaE,iBAAAA;AACf,QAAMC,kBAAkB,GAAGC,qCAAAA;EAEpB,MAAMC,eAAeP,oBAAAA,EAAEQ,YAAW,EAAW,GAAGH,eAAAA,WAA0B;IAC/EI,OAAOT,oBAAAA,EAAEU,OAAO;MACdX,MAAMC,oBAAAA,EAAEC,SAASD,oBAAAA,EAAEE,MAAM;IAC3B,CAAA;IACAS,QAAQX,oBAAAA,EAAEU,OAAO;MACfE,QAAQjB;IACV,CAAA;EACF,CAAA,EAAA;EAAI;kBAPSY,SAAAA;AAQf,GAXiBH,mBAAAA,iBAAAA,CAAAA,EAAAA;",
6
+ "names": ["import_echo_schema", "ViewType", "TypedObject", "typename", "version", "name", "S", "optional", "String", "type", "ExplorerAction", "EXPLORER_ACTION", "EXPLORER_PLUGIN", "Create", "TaggedClass", "input", "Struct", "output", "object"]
7
+ }