@walkeros/explorer 4.3.0-next-1783710078012 → 4.3.0-next-1784055686454

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,6 +1,13 @@
1
1
  # @walkeros/explorer
2
2
 
3
- ## 4.3.0-next-1783710078012
3
+ ## 4.3.0-next-1784055686454
4
+
5
+ ### Minor Changes
6
+
7
+ - db6309c: Removed the experimental `TagSkeleton`, `TagSkeletonOverlay`,
8
+ `TagCanvas`, `TagTreeEditor` and `Tag` components, along with their layout and
9
+ tag-tree helpers. The draft tagging-plan visualization they prototyped is no
10
+ longer part of this package.
4
11
 
5
12
  ### Patch Changes
6
13
 
@@ -17,13 +24,15 @@
17
24
  - Updated dependencies [e01036e]
18
25
  - Updated dependencies [e01036e]
19
26
  - Updated dependencies [98801c9]
27
+ - Updated dependencies [f8408fd]
20
28
  - Updated dependencies [9506e3e]
29
+ - Updated dependencies [d28a8ea]
21
30
  - Updated dependencies [e6613f8]
22
31
  - Updated dependencies [ebd193f]
23
- - @walkeros/web-source-browser@4.3.0-next-1783710078012
24
- - @walkeros/web-core@4.3.0-next-1783710078012
25
- - @walkeros/collector@4.3.0-next-1783710078012
26
- - @walkeros/core@4.3.0-next-1783710078012
32
+ - @walkeros/web-source-browser@4.3.0-next-1784055686454
33
+ - @walkeros/web-core@4.3.0-next-1784055686454
34
+ - @walkeros/collector@4.3.0-next-1784055686454
35
+ - @walkeros/core@4.3.0-next-1784055686454
27
36
 
28
37
  ## 4.2.1
29
38
 
package/dist/index.d.cts CHANGED
@@ -1,6 +1,6 @@
1
- import React, { ReactNode, FC, PropsWithChildren, RefObject } from 'react';
2
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
2
  import { Destination, WalkerOS, Elb } from '@walkeros/core';
3
+ import React, { ReactNode, FC, PropsWithChildren, RefObject } from 'react';
4
4
  import * as monaco_editor from 'monaco-editor';
5
5
  import { editor } from 'monaco-editor';
6
6
  import { RJSFSchema } from '@rjsf/utils';
@@ -9,93 +9,6 @@ export { Monaco } from '@monaco-editor/react';
9
9
  export { Icon } from '@iconify/react';
10
10
  import { ClassValue } from 'clsx';
11
11
 
12
- /**
13
- * Shared model for the unified tag visualization. One recursive `Tag` atom
14
- * (like a DOM element) drives both auto-layout skeletons and overlay editors.
15
- * Later building blocks (renderers, overlay editor) consume these types.
16
- */
17
- /** The kind of a tag. Drives color and layout role. */
18
- type TagType = 'global' | 'context' | 'entity' | 'action' | 'property';
19
- /** Position and size in the tree's coordinate space. */
20
- interface TagRect {
21
- x: number;
22
- y: number;
23
- w: number;
24
- h: number;
25
- }
26
- /**
27
- * A single tag node. Recursive: a tag may nest children, mirroring how a
28
- * tagged DOM element wraps its descendants.
29
- */
30
- interface Tag$3 {
31
- /** Required, stable id: drives selection, diffing, React keys, drag identity. */
32
- id: string;
33
- type: TagType;
34
- /** Tab label. */
35
- name: string;
36
- /** Resolved value; absent means shape-only (the data is not decided yet). */
37
- value?: string;
38
- /** Optional freeform caption. */
39
- label?: string;
40
- /** Present => explicit/overlay position; absent => auto-computed by layout. */
41
- rect?: TagRect;
42
- /** For type 'context': depth rank where the closest context is 0. */
43
- contextIndex?: number;
44
- children?: Tag$3[];
45
- }
46
- /**
47
- * A full tag tree. The coordinate space is grid units for auto layout, or
48
- * image-natural pixels when overlaying a screenshot.
49
- */
50
- interface TagTree {
51
- width: number;
52
- height: number;
53
- /** Optional background screenshot, used in overlay mode. */
54
- src?: string;
55
- roots: Tag$3[];
56
- }
57
- /**
58
- * Build a stable tag id from a seed and an index, e.g. `product-0`. Pure: no
59
- * randomness, no clock. Use during tree construction to give every tag a
60
- * deterministic identity.
61
- */
62
- declare function makeTagId(seed: string, index: number): string;
63
-
64
- interface TagProps {
65
- type: TagType;
66
- /** Tab label: the tag's own identifier (entity / context key / global key /
67
- * action verb / property key). Never the type word; color conveys the type. */
68
- name: string;
69
- /** Resolved value; absent means shape-only. */
70
- value?: string;
71
- /** Optional freeform caption shown centered in the body. */
72
- label?: string;
73
- /** For type 'context': depth rank (closest = 0). Retained on the model but not
74
- * rendered: the tab carries only the identifier. */
75
- contextIndex?: number;
76
- /** When false the straddle tab is hidden (hover-caption mode); the box and
77
- * value still render so geometry never changes. Defaults to true. */
78
- showCaption?: boolean;
79
- /** Positioning supplied by the layout layer (e.g. overlay coordinates). */
80
- style?: React.CSSProperties;
81
- className?: string;
82
- selected?: boolean;
83
- dragging?: boolean;
84
- /** When true the header is filled (active). Driven by the hovered containing
85
- * chain so the whole related path (e.g. entity + its action) highlights
86
- * together, not just the box under the pointer. */
87
- highlighted?: boolean;
88
- children?: React.ReactNode;
89
- }
90
- /**
91
- * The unified visual atom: one rectangle with a straddling pill-tab header and a
92
- * centered body, like a tagged DOM element. The `type` drives color only; the
93
- * layout layer supplies `style` and/or nested `children`. Appearance only and
94
- * pure: it knows nothing about where it sits or how big it is. All styling is
95
- * theme-variable driven via the `.elb-tag-skeleton` BEM block.
96
- */
97
- declare function Tag$2({ type, name, value, label, showCaption, style, className, selected, dragging, highlighted, children, }: TagProps): React.ReactElement;
98
-
99
12
  interface DemoEnv extends Destination.BaseEnv {
100
13
  elb: (output: string) => void;
101
14
  }
@@ -602,277 +515,6 @@ interface PropertyTableProps {
602
515
  }
603
516
  declare function PropertyTable({ schema, className, emptyMessage, }: PropertyTableProps): react_jsx_runtime.JSX.Element;
604
517
 
605
- /**
606
- * A single key/value detail on a box: a property, a context entry, or a global.
607
- * `value` is optional so a skeleton can show the shape ("price") before the
608
- * data is decided ("price: 29.99").
609
- */
610
- interface TagSkeletonDetail {
611
- key: string;
612
- value?: string;
613
- }
614
- /** Every container is the same box; the kind only drives color. */
615
- type BoxKind = 'entity' | 'context' | 'globals';
616
-
617
- /**
618
- * One tagged entity, rendered as a rectangle. Mirrors walkerOS data-elb
619
- * tagging: `entity` is the `data-elb` name, `properties` are the
620
- * `data-elb-<entity>` values, `actions` are the `data-elbaction` triggers,
621
- * `context` is the `data-elbcontext` scope wrapping this box, and `children`
622
- * are nested `data-elb` entities drawn as boxes inside this one.
623
- */
624
- interface TagSkeletonNode {
625
- /**
626
- * Stable identity. Optional today (falls back to a path-based key); the
627
- * overlay editor uses it to select and diff boxes while dragging.
628
- */
629
- id?: string;
630
- entity: string;
631
- /** Optional freeform caption, centered inside the box. */
632
- label?: string;
633
- properties?: TagSkeletonDetail[];
634
- /** Trigger:action pairs, e.g. "click:add", "load:view". */
635
- actions?: string[];
636
- /** data-elbcontext entries wrapping this box. */
637
- context?: TagSkeletonDetail[];
638
- children?: TagSkeletonNode[];
639
- }
640
- interface TagSkeletonProps {
641
- /** Root entities. Each renders as a top-level rectangle. */
642
- nodes: TagSkeletonNode[];
643
- /** data-elbglobals — page-wide scope drawn as the outermost box. */
644
- globals?: TagSkeletonDetail[];
645
- className?: string;
646
- }
647
- /**
648
- * Renders a walkerOS tagging skeleton: nested rectangles built from data-elb
649
- * semantics (auto layout, content-driven, document nesting). Purely
650
- * presentational. Superseded by `TagCanvas`; kept as a thin back-compat wrapper
651
- * that adapts `{nodes, globals}` into a `TagTree`. For drawing rectangles onto a
652
- * screenshot, see `TagSkeletonOverlay`. All styling lives in theme CSS
653
- * variables.
654
- */
655
- declare function TagSkeleton({ nodes, globals, className, }: TagSkeletonProps): React.ReactElement;
656
-
657
- /** A rectangle in the grid's coordinate space (image pixels). */
658
- interface TagOverlayRect {
659
- x: number;
660
- y: number;
661
- width: number;
662
- height: number;
663
- }
664
- /** One rectangle drawn onto the screenshot. Positioning is flat: every box
665
- * anchors to the frame, not to a parent. `kind` only drives color. */
666
- interface TagOverlayBox {
667
- id?: string;
668
- /** Defaults to "entity". */
669
- kind?: BoxKind;
670
- /** Tab label. */
671
- name: string;
672
- rect: TagOverlayRect;
673
- label?: string;
674
- actions?: string[];
675
- properties?: TagSkeletonDetail[];
676
- }
677
- /**
678
- * The grid: its own coordinate space (match the screenshot's dimensions) plus
679
- * the boxes placed within it. Rects are authored in these units; the frame
680
- * renders them as percentages, so any display `size` stays aligned.
681
- */
682
- interface TagGrid {
683
- width: number;
684
- height: number;
685
- boxes: TagOverlayBox[];
686
- }
687
- interface TagSkeletonOverlayProps {
688
- /** Background screenshot. */
689
- src: string;
690
- grid: TagGrid;
691
- /** Display width of the frame. Number = pixels; string = any CSS width.
692
- * Image and grid scale together. Defaults to "100%". */
693
- size?: number | string;
694
- alt?: string;
695
- className?: string;
696
- }
697
- /**
698
- * Draws a tagging skeleton onto a screenshot. One relative anchor frame sized
699
- * to `src`; every box is positioned absolutely as a percentage of that frame,
700
- * so changing `size` scales image and grid together. Superseded by `TagCanvas`;
701
- * kept as a thin back-compat wrapper that adapts `{src, grid}` into a `TagTree`
702
- * with explicit rects. Positioning is flat (logical nesting drives color, not
703
- * position). Purely presentational; drag/resize is a separate controlled editor
704
- * on top. All styling lives in theme CSS variables.
705
- */
706
- declare function TagSkeletonOverlay({ src, grid, size, alt, className, }: TagSkeletonOverlayProps): React.ReactElement;
707
-
708
- interface TagCanvasProps {
709
- /** The tag tree to render. Rects are honored verbatim; missing rects are
710
- * auto-computed by `layout()`. */
711
- tree: TagTree;
712
- /** Display width of the anchor frame. Number = pixels; string = any CSS
713
- * width. Image and grid scale together. Defaults to "100%". */
714
- size?: number | string;
715
- /** Alt text for the optional background screenshot. */
716
- alt?: string;
717
- className?: string;
718
- /** Id of the selected tag, if any. */
719
- selectedId?: string;
720
- /** Id of the tag currently being dragged, if any. */
721
- draggingId?: string;
722
- /**
723
- * Tab visibility. `'always'` (default) shows every straddle tab. `'hover'`
724
- * hides all tabs and reveals only the laminar containing chain under the
725
- * pointer, so the structure is read on demand without permanent chrome.
726
- */
727
- captions?: 'always' | 'hover';
728
- }
729
- /**
730
- * The pure renderer that draws a `TagTree`. It runs `layout()` to resolve every
731
- * tag to an absolute rect (auto for reading mode, verbatim for overlays), then
732
- * draws one relative anchor frame and positions each `Tag` absolutely as a
733
- * percentage of that frame. So changing `size` scales image and grid together.
734
- *
735
- * When `tree.src` is set the frame shows the screenshot and boxes use the
736
- * transparent overlay fill. Purely presentational; drag/resize is a separate
737
- * controlled editor on top. All styling lives in theme CSS variables.
738
- *
739
- * With `captions="hover"` the tabs are hidden until the pointer enters a box;
740
- * the revealed set is the laminar containing chain at the pointer (every node
741
- * whose rect contains it), computed with an O(n) point-in-rect test per move.
742
- */
743
- declare function TagCanvas({ tree, size, alt, className, selectedId, draggingId, captions, }: TagCanvasProps): React.ReactElement;
744
-
745
- interface TagTreeEditorProps {
746
- /** The model tree (controlled). The editor never holds model state. */
747
- tree: TagTree;
748
- /** Called with a new tree on every commit (move/resize/keyboard). */
749
- onChange: (tree: TagTree) => void;
750
- /** Display width of the anchor frame. Number = px; string = any CSS width. */
751
- size?: number | string;
752
- className?: string;
753
- /** Hysteresis margin in grid units for re-parent arming. */
754
- hysteresis?: number;
755
- /** Tab visibility forwarded to the inner canvas. Defaults to 'always'. */
756
- captions?: 'always' | 'hover';
757
- }
758
- /**
759
- * Controlled drag/resize editor for a `TagTree`. Owns no model state: it renders
760
- * the prop `tree` through `TagCanvas`, holds only transient interaction state in
761
- * the pure reducer, and emits a new tree via `onChange` on every commit. Pointer
762
- * pixels are converted to the tree's grid-unit space via one measured `scale`
763
- * (frame rendered width / tree.width) tracked with a ResizeObserver. Appearance
764
- * lives in the atom/SCSS; this component is interaction-only.
765
- */
766
- declare function TagTreeEditor({ tree, onChange, size, className, hysteresis, captions, }: TagTreeEditorProps): React.ReactElement;
767
-
768
- /**
769
- * Pure auto-layout for a `TagTree`. Turns a recursive tag tree into a flat list
770
- * of absolutely positioned rectangles in the tree's grid-unit coordinate space.
771
- *
772
- * Laminar by construction: any two emitted rects are fully nested or fully
773
- * disjoint, never partially overlapping. Geometry mirrors hierarchy (a property
774
- * inside an entity is drawn inside it), exactly like DOM nesting.
775
- *
776
- * Pure: no React, no DOM, no randomness, no clock. Given the same tree and
777
- * options it always returns the same result.
778
- */
779
-
780
- /** One tag with its resolved absolute position and tree placement. */
781
- interface PositionedTag {
782
- tag: Tag$3;
783
- rect: TagRect;
784
- depth: number;
785
- parentId: string | null;
786
- }
787
- /** Flattened layout. `nodes` are ordered parents-before-children (paint order). */
788
- interface LayoutResult {
789
- width: number;
790
- height: number;
791
- nodes: PositionedTag[];
792
- }
793
- /** Tunable geometry, all in grid units. */
794
- interface LayoutOptions {
795
- /** Uniform inner padding inside every container. */
796
- pad: number;
797
- /** Extra top space reserved for a container's straddling tab. */
798
- gutter: number;
799
- /** Spacing between siblings (rows, leaves, stacked containers). */
800
- gap: number;
801
- /** Default leaf width before any name-based growth. */
802
- leafW: number;
803
- /** Leaf height. */
804
- leafH: number;
805
- /** Minimum width a container may collapse to. */
806
- minContainerW: number;
807
- /** Minimum height a container may collapse to. */
808
- minContainerH: number;
809
- }
810
- /**
811
- * Lay out a tag tree.
812
- *
813
- * Per node: an explicit `tag.rect` is honored verbatim; otherwise the rect is
814
- * computed (bottom-up measure, top-down place). A tree may freely mix both.
815
- *
816
- * Roots stack vertically from the origin. The returned canvas size follows one
817
- * rule: if the tree carries a `src` (overlay mode) or any root has an explicit
818
- * rect, the tree's own `width`/`height` are honored as the canvas (so authored
819
- * coordinates stay aligned to the screenshot). Otherwise the canvas is the
820
- * computed bounding box of all roots, never smaller than the tree's declared
821
- * size.
822
- */
823
- declare function layout(tree: TagTree, opts?: Partial<LayoutOptions>): LayoutResult;
824
-
825
- /**
826
- * Pure containment rule for the overlay editor. Given a proposed rect and its
827
- * geometric context (parent content box, canvas, same-parent siblings, this
828
- * node's own children bounding box, and a minimum size), `clampRect` returns a
829
- * laminar-valid rect: large enough to hold its children, fully inside its
830
- * container, and disjoint from every sibling. When no such position exists it
831
- * returns the caller-supplied `fallback` (the pre-drag rect), so the editor can
832
- * snap back rather than emit a non-laminar tree.
833
- *
834
- * Pure: no React, no DOM, no randomness, no clock. Same inputs => same output.
835
- */
836
-
837
- interface ClampContext {
838
- /** Parent's CONTENT box (null = the node sits directly on the canvas root). */
839
- parentContent: TagRect | null;
840
- /** The full canvas bounds. */
841
- canvas: TagRect;
842
- /** Resolved rects of same-parent siblings, excluding self. */
843
- siblings: TagRect[];
844
- /** Union of this node's own children rects, or null when it has none. */
845
- childrenBBox: TagRect | null;
846
- /** Minimum allowed size for the rect. */
847
- min: {
848
- w: number;
849
- h: number;
850
- };
851
- }
852
- declare function clampRect(proposed: TagRect, ctx: ClampContext, fallback: TagRect): TagRect;
853
-
854
- /**
855
- * Map resolved walker events + globals into a {@link TagTree}.
856
- *
857
- * Reading mode: no rects are set (width/height 0) so {@link TagCanvas} runs
858
- * `layout()` to auto-place boxes.
859
- *
860
- * Dedupe choices:
861
- * - Entities are grouped by entity name PLUS a stable signature of their
862
- * resolved `data` (see {@link dataSignature}). Same entity on multiple
863
- * triggers collapses to one Tag; two genuinely different instances (same
864
- * name, different data) stay separate.
865
- * - Actions within a group dedupe on the exact action+trigger pair.
866
- *
867
- * Page-skip: `getEvents` injects a synthetic `page` entity when an action
868
- * resolves to no `data-elb` entity. That is not a real tagged entity, so we
869
- * drop any event whose `entity` is `page`.
870
- */
871
- declare function scopeToTagTree(scope: Element | Document): TagTree;
872
-
873
- declare const Tag$1: typeof Tag$2;
874
- type Tag$1 = Tag$3;
875
-
876
518
  interface DropdownProps {
877
519
  /** Trigger element (button, link, etc.) */
878
520
  trigger: React.ReactNode;
@@ -1761,7 +1403,4 @@ declare function validateWalkerOSReferences(text: string, context: Partial<Intel
1761
1403
  */
1762
1404
  declare function extractFlowIntelliSenseContext(json: string): Partial<IntelliSenseContext>;
1763
1405
 
1764
- declare const Tag: typeof Tag$2;
1765
- type Tag = Tag$1;
1766
-
1767
- export { ArchitectureFlow, type ArchitectureFlowProps, Box, type BoxProps, type BoxTab, BrowserBox, type BrowserBoxProps, Button, ButtonGroup, type ButtonGroupProps, ButtonLink, type ButtonLinkProps, type ButtonProps, Code, CodeBox, type CodeBoxProps, type CodeBoxTab, CodeDiff, CodeDiffBox, type CodeDiffBoxProps, type CodeDiffProps, type CodeDiffSummary, type CodeProps, CodeSnippet, type CodeSnippetProps, CodeStatic, type CodeStaticProps, CodeView, type CodeViewProps, type CodeViewTab, CollectorBox, type CollectorBoxProps, type CompletionEntry, DEFAULT_FALLBACK_HTML, Dropdown, DropdownDivider, type DropdownDividerProps, DropdownItem, type DropdownItemProps, type DropdownProps, type ExplorerTheme, type FlowColumn, type FlowItem, FlowMap, type FlowMapProps, type FlowSection, type FlowStageConfig, Footer, type FooterProps, Grid, type GridProps, Header, type HeaderProps, type IntelliSenseContext, type LayoutOptions, type LayoutResult, LiveCode, type LiveCodeProps, type LoadPackageTypesOptions, MDXCode, MDXProvider, type MonacoSchemaExtension, type PackageInfo, type PositionedTag, Preview, type PreviewProps, PromotionPlayground, type PromotionPlaygroundProps, PropertyTable, type PropertyTableProps, REFERENCE_PATTERNS, type RefKind, Spinner, type SpinnerProps, Tag, TagCanvas, type TagCanvasProps, type TagGrid, type TagOverlayBox, type TagOverlayRect, type TagProps, type TagRect, TagSkeleton, type TagSkeletonDetail, type TagSkeletonNode, TagSkeletonOverlay, type TagSkeletonOverlayProps, type TagSkeletonProps, type TagTree, TagTreeEditor, type TagTreeEditorProps, type TagType, type UseDropdownReturn, allowedRefKinds, applyWalkerOSDecorations, clampRect, cn, createFbqDestination, createGtagDestination, createPlausibleDestination, disposeWalkerOSProviders, enrichFlowConfigSchema, enrichSchema, extractFlowIntelliSenseContext, findWalkerOSReferences, generateModelPath, getContractCompletions, getEnrichedContractSchema, getEnvCompletions, getFlowCompletions, getJsonPathAtOffset, getMappingPathCompletions, getSecretCompletions, getStoreCompletions, getVariableCompletions, getVariablesSchema, initializeMonacoTypes, isMonacoCancellation, layout, lighthouseTheme, loadPackageTypes, loadTypeLibraryFromURL, makeTagId, palenightTheme, registerAllThemes, registerJsonSchema, registerLighthouseTheme, registerPalenightTheme, registerWalkerOSDecorationStyles, registerWalkerOSProviders, registerWalkerOSTypes, removeIntelliSenseContext, resolveTypesUrl, scopeToTagTree, setIntelliSenseContext, setPackageTypesBaseUrl, unregisterJsonSchema, useDropdown, validateWalkerOSReferences };
1406
+ export { ArchitectureFlow, type ArchitectureFlowProps, Box, type BoxProps, type BoxTab, BrowserBox, type BrowserBoxProps, Button, ButtonGroup, type ButtonGroupProps, ButtonLink, type ButtonLinkProps, type ButtonProps, Code, CodeBox, type CodeBoxProps, type CodeBoxTab, CodeDiff, CodeDiffBox, type CodeDiffBoxProps, type CodeDiffProps, type CodeDiffSummary, type CodeProps, CodeSnippet, type CodeSnippetProps, CodeStatic, type CodeStaticProps, CodeView, type CodeViewProps, type CodeViewTab, CollectorBox, type CollectorBoxProps, type CompletionEntry, DEFAULT_FALLBACK_HTML, Dropdown, DropdownDivider, type DropdownDividerProps, DropdownItem, type DropdownItemProps, type DropdownProps, type ExplorerTheme, type FlowColumn, type FlowItem, FlowMap, type FlowMapProps, type FlowSection, type FlowStageConfig, Footer, type FooterProps, Grid, type GridProps, Header, type HeaderProps, type IntelliSenseContext, LiveCode, type LiveCodeProps, type LoadPackageTypesOptions, MDXCode, MDXProvider, type MonacoSchemaExtension, type PackageInfo, Preview, type PreviewProps, PromotionPlayground, type PromotionPlaygroundProps, PropertyTable, type PropertyTableProps, REFERENCE_PATTERNS, type RefKind, Spinner, type SpinnerProps, type UseDropdownReturn, allowedRefKinds, applyWalkerOSDecorations, cn, createFbqDestination, createGtagDestination, createPlausibleDestination, disposeWalkerOSProviders, enrichFlowConfigSchema, enrichSchema, extractFlowIntelliSenseContext, findWalkerOSReferences, generateModelPath, getContractCompletions, getEnrichedContractSchema, getEnvCompletions, getFlowCompletions, getJsonPathAtOffset, getMappingPathCompletions, getSecretCompletions, getStoreCompletions, getVariableCompletions, getVariablesSchema, initializeMonacoTypes, isMonacoCancellation, lighthouseTheme, loadPackageTypes, loadTypeLibraryFromURL, palenightTheme, registerAllThemes, registerJsonSchema, registerLighthouseTheme, registerPalenightTheme, registerWalkerOSDecorationStyles, registerWalkerOSProviders, registerWalkerOSTypes, removeIntelliSenseContext, resolveTypesUrl, setIntelliSenseContext, setPackageTypesBaseUrl, unregisterJsonSchema, useDropdown, validateWalkerOSReferences };