uidex 0.6.0 → 0.7.0

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 (39) hide show
  1. package/README.md +3 -3
  2. package/dist/cli/cli.cjs +1510 -1244
  3. package/dist/cli/cli.cjs.map +1 -1
  4. package/dist/cloud/index.cjs +385 -175
  5. package/dist/cloud/index.cjs.map +1 -1
  6. package/dist/cloud/index.d.cts +192 -4
  7. package/dist/cloud/index.d.ts +192 -4
  8. package/dist/cloud/index.js +377 -177
  9. package/dist/cloud/index.js.map +1 -1
  10. package/dist/headless/index.cjs +82 -255
  11. package/dist/headless/index.cjs.map +1 -1
  12. package/dist/headless/index.d.cts +5 -11
  13. package/dist/headless/index.d.ts +5 -11
  14. package/dist/headless/index.js +82 -257
  15. package/dist/headless/index.js.map +1 -1
  16. package/dist/index.cjs +721 -1053
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.d.cts +149 -160
  19. package/dist/index.d.ts +149 -160
  20. package/dist/index.js +741 -1068
  21. package/dist/index.js.map +1 -1
  22. package/dist/react/index.cjs +729 -1000
  23. package/dist/react/index.cjs.map +1 -1
  24. package/dist/react/index.d.cts +99 -86
  25. package/dist/react/index.d.ts +99 -86
  26. package/dist/react/index.js +745 -1015
  27. package/dist/react/index.js.map +1 -1
  28. package/dist/scan/index.cjs +1518 -1237
  29. package/dist/scan/index.cjs.map +1 -1
  30. package/dist/scan/index.d.cts +209 -12
  31. package/dist/scan/index.d.ts +209 -12
  32. package/dist/scan/index.js +1515 -1236
  33. package/dist/scan/index.js.map +1 -1
  34. package/package.json +22 -21
  35. package/templates/claude/SKILL.md +71 -0
  36. package/templates/claude/references/audit.md +43 -0
  37. package/templates/claude/{rules.md → references/conventions.md} +25 -28
  38. package/templates/claude/audit.md +0 -43
  39. /package/templates/claude/{api.md → references/api.md} +0 -0
package/dist/index.d.cts CHANGED
@@ -110,7 +110,7 @@ interface Registry {
110
110
  setReports(kind: EntityKind, id: string, reports: readonly ReportRecord[]): void;
111
111
  getReports(kind: EntityKind, id: string): readonly ReportRecord[];
112
112
  listReportKeys(): readonly string[];
113
- archiveReport?: (reportId: string, reason?: string) => void | Promise<void>;
113
+ closeReport?: (reportId: string, status?: string) => void | Promise<void>;
114
114
  onReportsChange(cb: () => void): () => void;
115
115
  }
116
116
  declare function createRegistry(): Registry;
@@ -127,110 +127,6 @@ declare const KIND_STYLE: Record<EntityKind, KindStyleEntry>;
127
127
  declare function prettify(id: string): string;
128
128
  declare function displayName(entity: Entity, node?: Element | null): string;
129
129
 
130
- interface UserIdentity {
131
- id: string;
132
- name?: string;
133
- avatar?: string;
134
- }
135
-
136
- type ThemePreference = "light" | "dark" | "auto";
137
- type ResolvedTheme = "light" | "dark";
138
- interface ViewStackEntry {
139
- id: string;
140
- ref: EntityRef | null;
141
- }
142
- interface SessionSnapshot {
143
- hover: EntityRef | null;
144
- selection: EntityRef | null;
145
- stack: ViewStackEntry[];
146
- /** Sticky overlay highlight. Set by "Highlight Element" actions; cleared on Esc. */
147
- pinnedHighlight: EntityRef | null;
148
- inspectorActive: boolean;
149
- theme: ThemePreference;
150
- resolvedTheme: ResolvedTheme;
151
- ingestActive: boolean;
152
- /**
153
- * Identity for the local user. Set once at session creation; gates realtime
154
- * features (cursor labels, presence) and auto-populates report attribution.
155
- */
156
- user: UserIdentity | null;
157
- }
158
- type SessionState = SessionSnapshot;
159
-
160
- interface NavigationState {
161
- stack: ViewStackEntry[];
162
- }
163
- interface NavigationActions {
164
- push(entry: ViewStackEntry): void;
165
- pop(): void;
166
- replace(entry: ViewStackEntry): void;
167
- clear(): void;
168
- reset(stack: ViewStackEntry[]): void;
169
- }
170
- type NavigationStore = StoreApi<NavigationState> & {
171
- nav: NavigationActions;
172
- };
173
- declare function createNavigationStore(): NavigationStore;
174
-
175
- type SurfaceMode = "idle" | "inspecting" | "palette" | "viewing";
176
- interface ModeSnapshot {
177
- mode: SurfaceMode;
178
- inspectorActive: boolean;
179
- }
180
- interface ModeBindings {
181
- mountInspector?: () => void;
182
- destroyInspector?: () => void;
183
- }
184
- interface ModeTransitions {
185
- openPalette(): void;
186
- openInspector(): void;
187
- closeInspector(): void;
188
- toggleInspector(): void;
189
- enterViewing(initialStack: ViewStackEntry[]): void;
190
- dismiss(): void;
191
- popOrTransition(): void;
192
- pushView(entry: ViewStackEntry): void;
193
- }
194
- type ModeStore = StoreApi<ModeSnapshot> & {
195
- transition: ModeTransitions;
196
- };
197
- interface CreateModeStoreOptions {
198
- nav: NavigationStore;
199
- bindings?: ModeBindings;
200
- }
201
- declare function createModeStore(options: CreateModeStoreOptions): ModeStore;
202
-
203
- interface HighlightContext {
204
- ref: EntityRef | null;
205
- element: HTMLElement | null;
206
- pinnedRef: EntityRef | null;
207
- color: string | null;
208
- }
209
- interface HighlightActions {
210
- hover(ref: EntityRef, element?: HTMLElement | null, color?: string | null): void;
211
- unhover(): void;
212
- pin(ref?: EntityRef): void;
213
- unpin(): void;
214
- }
215
- type SessionStore = StoreApi<SessionState> & {
216
- readonly nav: NavigationStore;
217
- readonly mode: ModeStore;
218
- readonly highlight: HighlightActions;
219
- select(ref: EntityRef | null): void;
220
- setTheme(theme: ThemePreference, resolved?: ResolvedTheme): void;
221
- setIngest(active: boolean): void;
222
- };
223
- interface CreateSessionOptions extends Partial<SessionSnapshot> {
224
- detectTheme?: () => ResolvedTheme;
225
- onMountInspector?: () => void;
226
- onDestroyInspector?: () => void;
227
- onShowOverlay?: (context: HighlightContext) => void;
228
- onHideOverlay?: () => void;
229
- onUpdateOverlay?: (context: HighlightContext) => void;
230
- }
231
- declare function resolveTheme(preference: ThemePreference, detect?: () => ResolvedTheme): ResolvedTheme;
232
- declare function createSession(options?: CreateSessionOptions): SessionStore;
233
-
234
130
  type ConsoleLevel = "warn" | "error";
235
131
  interface ConsoleEntry {
236
132
  level: ConsoleLevel;
@@ -275,7 +171,12 @@ interface NetworkCapture {
275
171
  declare function createNetworkCapture(options?: NetworkCaptureOptions): NetworkCapture;
276
172
 
277
173
  declare const nativeFetch: typeof fetch | undefined;
278
- declare function getNativeFetch(): typeof fetch | undefined;
174
+
175
+ interface UserIdentity {
176
+ id: string;
177
+ name?: string;
178
+ avatar?: string;
179
+ }
279
180
 
280
181
  type RealtimePresenceUser = {
281
182
  userId: string;
@@ -294,6 +195,8 @@ interface RealtimeChannel {
294
195
  joinRoute(route: string): void;
295
196
  onPresence(cb: (users: RealtimePresenceUser[]) => void): () => void;
296
197
  onPin(cb: (pin: PinRecord) => void): () => void;
198
+ /** Optional so pre-existing channel stubs keep satisfying the interface. */
199
+ onPinArchived?(cb: (reportId: string) => void): () => void;
297
200
  }
298
201
  interface CloudAdapter<TPayload = ReportPayload, TResult = ReportResult, TIntegrations = {
299
202
  getConfig(): Promise<IngestConfig>;
@@ -315,8 +218,17 @@ interface CloudAdapter<TPayload = ReportPayload, TResult = ReportResult, TIntegr
315
218
  route?: string;
316
219
  entities?: string;
317
220
  }): Promise<PinRecord[]>;
318
- archive(reportId: string, reason?: ArchiveReason): Promise<void>;
221
+ /**
222
+ * Pin records travel without their screenshot (kept out of `pins.list`
223
+ * so multi-MB frames don't stall the shared socket); the report detail
224
+ * view fetches it lazily through here. Optional for host-provided
225
+ * adapters that inline screenshots on the record instead.
226
+ */
227
+ screenshot?(reportId: string): Promise<string | null>;
228
+ close(reportId: string, reason?: ArchiveReason): Promise<void>;
319
229
  };
230
+ /** Closes the adapter's shared socket. Any later RPC call revives it. */
231
+ dispose?(): void;
320
232
  }
321
233
 
322
234
  interface IngestOptions {
@@ -335,12 +247,104 @@ interface Ingest {
335
247
  readonly console: ConsoleCapture | null;
336
248
  readonly network: NetworkCapture | null;
337
249
  }
338
- interface CreateIngestOptions extends IngestOptions {
339
- session?: SessionStore;
340
- }
250
+ type CreateIngestOptions = IngestOptions;
341
251
  declare function createIngest(options?: CreateIngestOptions): Ingest;
342
252
  declare function resolveIngestOptions(explicit: IngestOptions | null | undefined, hasCloud: boolean): IngestOptions | null;
343
253
 
254
+ type ThemePreference = "light" | "dark" | "auto";
255
+ type ResolvedTheme = "light" | "dark";
256
+ interface ViewStackEntry {
257
+ id: string;
258
+ ref: EntityRef | null;
259
+ }
260
+ interface SessionSnapshot {
261
+ stack: ViewStackEntry[];
262
+ /** Sticky overlay highlight. Set by "Highlight Element" actions; cleared on Esc. */
263
+ pinnedHighlight: EntityRef | null;
264
+ /** Mirrored from the mode store; the surface mode the session is currently in. */
265
+ mode: SurfaceMode;
266
+ theme: ThemePreference;
267
+ resolvedTheme: ResolvedTheme;
268
+ /**
269
+ * Identity for the local user. Set once at session creation; gates realtime
270
+ * features (cursor labels, presence) and auto-populates report attribution.
271
+ */
272
+ user: UserIdentity | null;
273
+ }
274
+ type SessionState = SessionSnapshot;
275
+
276
+ interface NavigationState {
277
+ stack: ViewStackEntry[];
278
+ }
279
+ interface NavigationActions {
280
+ push(entry: ViewStackEntry): void;
281
+ pop(): void;
282
+ clear(): void;
283
+ reset(stack: ViewStackEntry[]): void;
284
+ }
285
+ type NavigationStore = StoreApi<NavigationState> & {
286
+ nav: NavigationActions;
287
+ };
288
+ declare function createNavigationStore(): NavigationStore;
289
+
290
+ type SurfaceMode = "idle" | "inspecting" | "palette" | "viewing";
291
+ interface ModeSnapshot {
292
+ mode: SurfaceMode;
293
+ }
294
+ interface ModeBindings {
295
+ mountInspector?: () => void;
296
+ destroyInspector?: () => void;
297
+ }
298
+ interface ModeTransitions {
299
+ openPalette(): void;
300
+ openInspector(): void;
301
+ closeInspector(): void;
302
+ toggleInspector(): void;
303
+ enterViewing(initialStack: ViewStackEntry[]): void;
304
+ dismiss(): void;
305
+ popOrTransition(): void;
306
+ pushView(entry: ViewStackEntry): void;
307
+ }
308
+ type ModeStore = StoreApi<ModeSnapshot> & {
309
+ transition: ModeTransitions;
310
+ };
311
+ interface CreateModeStoreOptions {
312
+ nav: NavigationStore;
313
+ bindings?: ModeBindings;
314
+ }
315
+ declare function createModeStore(options: CreateModeStoreOptions): ModeStore;
316
+
317
+ interface HighlightContext {
318
+ ref: EntityRef | null;
319
+ element: HTMLElement | null;
320
+ pinnedRef: EntityRef | null;
321
+ color: string | null;
322
+ }
323
+ interface HighlightActions {
324
+ hover(ref: EntityRef, element?: HTMLElement | null, color?: string | null): void;
325
+ unhover(): void;
326
+ pin(ref?: EntityRef): void;
327
+ unpin(): void;
328
+ }
329
+ type SessionStore = StoreApi<SessionState> & {
330
+ readonly nav: NavigationStore;
331
+ readonly mode: ModeStore;
332
+ readonly highlight: HighlightActions;
333
+ setTheme(theme: ThemePreference, resolved?: ResolvedTheme): void;
334
+ };
335
+ interface CreateSessionOptions extends Partial<SessionSnapshot> {
336
+ detectTheme?: () => ResolvedTheme;
337
+ onMountInspector?: () => void;
338
+ onDestroyInspector?: () => void;
339
+ onShowOverlay?: (context: HighlightContext) => void;
340
+ onHideOverlay?: () => void;
341
+ onUpdateOverlay?: (context: HighlightContext) => void;
342
+ /** When true, start the session in inspector mode. */
343
+ inspectorActive?: boolean;
344
+ }
345
+ declare function resolveTheme(preference: ThemePreference, detect?: () => ResolvedTheme): ResolvedTheme;
346
+ declare function createSession(options?: CreateSessionOptions): SessionStore;
347
+
344
348
  interface SurfaceHost {
345
349
  readonly hostEl: HTMLElement;
346
350
  readonly shadowRoot: ShadowRoot;
@@ -382,31 +386,9 @@ interface CursorTooltip {
382
386
  }
383
387
  interface CursorTooltipDeps {
384
388
  container: Element;
385
- session: SessionStore;
386
389
  }
387
390
  declare function createCursorTooltip(deps: CursorTooltipDeps): CursorTooltip;
388
391
 
389
- interface OverlayShowOptions {
390
- label?: string;
391
- color?: string;
392
- padding?: number;
393
- borderStyle?: string;
394
- borderWidth?: number;
395
- fillOpacity?: number;
396
- backdrop?: boolean;
397
- }
398
- interface Overlay {
399
- show(target: Element, options?: OverlayShowOptions): void;
400
- hide(): void;
401
- destroy(): void;
402
- onDismiss: (() => void) | null;
403
- readonly isVisible: boolean;
404
- }
405
- interface OverlayDeps {
406
- container: Element | ShadowRoot;
407
- }
408
- declare function createOverlay(deps: OverlayDeps): Overlay;
409
-
410
392
  interface InspectorMatch {
411
393
  element: HTMLElement;
412
394
  ref: EntityRef;
@@ -445,39 +427,20 @@ interface Inspector {
445
427
  mount(): void;
446
428
  destroy(): void;
447
429
  }
448
- declare function defaultResolveMatch(target: Element, registry?: Registry): InspectorMatch | null;
449
430
  declare function resolveEntityElement(ref: EntityRef): HTMLElement | null;
450
- interface HighlightControllerLike {
451
- show(ref: EntityRef, opts?: OverlayShowOptions): void;
452
- hide(): void;
453
- }
454
- declare function createHighlightController(overlay: Overlay): HighlightControllerLike;
455
431
  declare function createInspector(options: InspectorOptions): Inspector;
456
432
 
457
433
  type PinMatchMode = "route" | "pathname" | "component";
458
- interface PinFilter {
459
- branch: string | null;
460
- commit: string | null;
461
- }
462
- interface PinFilterState extends PinFilter {
463
- readonly commits: readonly string[];
464
- readonly commitIndex: number;
465
- }
466
434
  interface PinLayer {
467
435
  setPins(pins: readonly PinRecord[]): void;
468
436
  addPin(pin: PinRecord): void;
469
437
  removePin(reportId: string): void;
470
438
  clear(): void;
471
439
  getPinsForElement(componentId: string): readonly PinRecord[];
472
- getAllPinsForElement(componentId: string): readonly PinRecord[];
473
440
  getAllPins(): readonly PinRecord[];
474
441
  attachChannel(channel: RealtimeChannel): () => void;
475
442
  attachCloud(opts: AttachCloudOpts): () => void;
476
443
  refresh(): Promise<void>;
477
- readonly filterState: PinFilterState;
478
- setFilter(filter: Partial<PinFilter>): void;
479
- nextCommit(): void;
480
- prevCommit(): void;
481
444
  onFilterChange(cb: () => void): () => void;
482
445
  readonly visible: boolean;
483
446
  setVisible(visible: boolean): void;
@@ -497,7 +460,6 @@ interface PinLayerOptions {
497
460
  onOpenPinDetail?: (componentId: string, reportId: string) => void;
498
461
  onHoverPin?: (anchor: HTMLElement | null, componentId: string | null) => void;
499
462
  onPinsChanged?: () => void;
500
- currentBranch?: string | null;
501
463
  }
502
464
  declare function createPinLayer(options: PinLayerOptions): PinLayer;
503
465
 
@@ -520,6 +482,27 @@ interface MenuBar {
520
482
  }
521
483
  declare function createMenuBar(options: MenuBarOptions): MenuBar;
522
484
 
485
+ interface OverlayShowOptions {
486
+ label?: string;
487
+ color?: string;
488
+ padding?: number;
489
+ borderStyle?: string;
490
+ borderWidth?: number;
491
+ fillOpacity?: number;
492
+ backdrop?: boolean;
493
+ }
494
+ interface Overlay {
495
+ show(target: Element, options?: OverlayShowOptions): void;
496
+ hide(): void;
497
+ destroy(): void;
498
+ onDismiss: (() => void) | null;
499
+ readonly isVisible: boolean;
500
+ }
501
+ interface OverlayDeps {
502
+ container: Element | ShadowRoot;
503
+ }
504
+ declare function createOverlay(deps: OverlayDeps): Overlay;
505
+
523
506
  interface ThemeDetector {
524
507
  destroy(): void;
525
508
  /** Resolve the current theme preference against the environment. */
@@ -719,9 +702,16 @@ type DetailSection = {
719
702
  id: "routes";
720
703
  paths: readonly string[];
721
704
  filterable?: boolean;
722
- } | {
705
+ }
706
+ /**
707
+ * `url` renders immediately; `load` fetches lazily (cloud pins travel
708
+ * without their screenshot) and the section stays hidden until — and
709
+ * unless — the promise resolves with a data URL.
710
+ */
711
+ | {
723
712
  id: "screenshot";
724
- url: string;
713
+ url?: string;
714
+ load?: () => Promise<string | null>;
725
715
  } | {
726
716
  id: "metadata";
727
717
  entries: readonly MetadataEntry[];
@@ -920,8 +910,9 @@ interface View {
920
910
  * when the declared target has been removed from the host.
921
911
  */
922
912
  focusTarget?: (root: HTMLElement, ctx: ViewContext) => HTMLElement | null;
923
- surface: (ctx: ViewContext) => ViewSurface;
924
- /** Direct render for integration adapters (React, etc.). Mutually exclusive with surface renderers. */
913
+ /** Required unless `render` is provided. */
914
+ surface?: (ctx: ViewContext) => ViewSurface;
915
+ /** Direct render for integration adapters (React, etc.). Takes precedence over `surface` when both are present. */
925
916
  render?: (ctx: ViewContext, root: HTMLElement) => Cleanup | void;
926
917
  parent?: (ref: EntityRef | null) => ViewStackEntry | null;
927
918
  }
@@ -951,12 +942,11 @@ declare function formatShortcutLabel(shortcut: PaletteShortcut): string;
951
942
  type EscapeHandler = () => boolean;
952
943
 
953
944
  declare const SURFACE_HOST_CLASS = "uidex-surface-host";
954
- declare const SURFACE_CONTAINER_CLASS = "uidex-container";
955
945
  declare const Z_BASE = 2147483630;
956
946
  declare const Z_OVERLAY = 2147483635;
957
947
  declare const Z_PIN_LAYER = 2147483640;
958
948
  declare const Z_CHROME = 2147483645;
959
- declare const SURFACE_IGNORE_SELECTOR = ".uidex-surface-host,.uidex-container";
949
+ declare const SURFACE_IGNORE_SELECTOR = ".uidex-surface-host";
960
950
 
961
951
  interface ViewStackOptions {
962
952
  container: HTMLElement;
@@ -965,7 +955,6 @@ interface ViewStackOptions {
965
955
  registry: Registry;
966
956
  cloud?: CloudAdapter | null;
967
957
  highlight: HighlightController;
968
- globalActions?: (ctx: ViewContext) => ShellAction[];
969
958
  shortcut?: PaletteShortcut;
970
959
  dev?: boolean;
971
960
  pushEscapeLayer?: ViewContext["pushEscapeLayer"];
@@ -1052,4 +1041,4 @@ interface Uidex {
1052
1041
  }
1053
1042
  declare function createUidex(options?: CreateUidexOptions): Uidex;
1054
1043
 
1055
- export { type AttachCloudOpts, type Cleanup, type CloudAdapter, type ConsoleCapture, type ConsoleEntry, type ConsoleLevel, type Corner, type CreateRouterOptions, type CreateSessionOptions, type CreateSurfaceShellOptions, type CreateUidexOptions, type CursorTooltip, type CursorTooltipDeps, type DetailAction, type DetailActionIcon, type DetailActionRunContext, type DetailSection, type DetailSubtitle, type DetailSurface, ENTITY_KINDS, type Element$1 as Element, type Entity, type EntityByKind, type EntityKind, type EntityRef, type Feature, type Flow, type FormField, type FormSubmit, type FormSubmitResult, type FormSurface, type FormValue, type HighlightActions, type HighlightController, type Ingest, type IngestOptions, type Inspector, type InspectorMatch, type InspectorMatchStack, type InspectorOptions, KIND_STYLE, type KindStyleEntry, type ListItem, type ListSurface, type Location, type MenuBar, type MenuBarOptions, type MetaEntityKind, type Metadata, type ModeBindings, type ModeSnapshot, type ModeStore, type ModeTransitions, type NavigationActions, type NavigationState, type NavigationStore, type NetworkCapture, type NetworkEntry, type Overlay, type OverlayShowOptions, type Page, type PaletteShortcut, type PinLayer, type PinLayerOptions, type PinMatchMode, type Primitive, type RealtimeChannel, type RealtimeChannelState, type RealtimePresenceUser, type Region, type Registry, type ReportRecord, type ResolvedTheme, type Route, type RouteMatch, type Router, SURFACE_CONTAINER_CLASS, SURFACE_HOST_CLASS, SURFACE_IGNORE_SELECTOR, type Scope, type SessionSnapshot, type SessionState, type SessionStore, type ShellAction, type ShellHint, type SurfaceHost, type SurfaceHostOptions, type SurfaceMode, type SurfaceShell, type ThemeDetector, type ThemeDetectorDeps, type ThemePreference, type Uidex, UnknownEntityKindError, type UserIdentity, type View, type ViewContext, type ViewPalette, type ViewPushTarget, type ViewStack, type ViewStackEntry, type ViewStackOptions, type ViewSurface, ViewValidationError, type Widget, Z_BASE, Z_CHROME, Z_OVERLAY, Z_PIN_LAYER, assertEntityKind, buildDefaultViews, componentDetailView, createCommandPaletteView, createConsoleCapture, createCursorTooltip, createHighlightController, createIngest, createInspector, createMenuBar, createModeStore, createNavigationStore, createNetworkCapture, createOverlay, createPinLayer, createRegistry, createRouter, createSession, createSurfaceHost, createSurfaceShell, createThemeDetector, createUidex, createViewStack, defaultResolveMatch, displayName, entityKey, featureDetailView, flowDetailView, formatShortcutLabel, getNativeFetch, isMetaKind, nativeFetch, pageDetailView, pinSettingsView, prettify, primitiveDetailView, regionDetailView, reportView, resolveEntityElement, resolveIngestOptions, resolveTheme, widgetDetailView };
1044
+ export { type AttachCloudOpts, type Cleanup, type CloudAdapter, type ConsoleCapture, type ConsoleEntry, type ConsoleLevel, type Corner, type CreateRouterOptions, type CreateSessionOptions, type CreateSurfaceShellOptions, type CreateUidexOptions, type CursorTooltip, type CursorTooltipDeps, type DetailAction, type DetailActionIcon, type DetailActionRunContext, type DetailSection, type DetailSubtitle, type DetailSurface, ENTITY_KINDS, type Element$1 as Element, type Entity, type EntityByKind, type EntityKind, type EntityRef, type Feature, type Flow, type FormField, type FormSubmit, type FormSubmitResult, type FormSurface, type FormValue, type HighlightActions, type HighlightController, type Ingest, type IngestOptions, type Inspector, type InspectorMatch, type InspectorMatchStack, type InspectorOptions, KIND_STYLE, type KindStyleEntry, type ListItem, type ListSurface, type Location, type MenuBar, type MenuBarOptions, type MetaEntityKind, type Metadata, type ModeBindings, type ModeSnapshot, type ModeStore, type ModeTransitions, type NavigationActions, type NavigationState, type NavigationStore, type NetworkCapture, type NetworkEntry, type Overlay, type OverlayShowOptions, type Page, type PaletteShortcut, type PinLayer, type PinLayerOptions, type PinMatchMode, type Primitive, type RealtimeChannel, type RealtimeChannelState, type RealtimePresenceUser, type Region, type Registry, type ReportRecord, type ResolvedTheme, type Route, type RouteMatch, type Router, SURFACE_HOST_CLASS, SURFACE_IGNORE_SELECTOR, type Scope, type SessionSnapshot, type SessionState, type SessionStore, type ShellAction, type ShellHint, type SurfaceHost, type SurfaceHostOptions, type SurfaceMode, type SurfaceShell, type ThemeDetector, type ThemeDetectorDeps, type ThemePreference, type Uidex, UnknownEntityKindError, type UserIdentity, type View, type ViewContext, type ViewPalette, type ViewPushTarget, type ViewStack, type ViewStackEntry, type ViewStackOptions, type ViewSurface, ViewValidationError, type Widget, Z_BASE, Z_CHROME, Z_OVERLAY, Z_PIN_LAYER, assertEntityKind, buildDefaultViews, componentDetailView, createCommandPaletteView, createConsoleCapture, createCursorTooltip, createIngest, createInspector, createMenuBar, createModeStore, createNavigationStore, createNetworkCapture, createOverlay, createPinLayer, createRegistry, createRouter, createSession, createSurfaceHost, createSurfaceShell, createThemeDetector, createUidex, createViewStack, displayName, entityKey, featureDetailView, flowDetailView, formatShortcutLabel, isMetaKind, nativeFetch, pageDetailView, pinSettingsView, prettify, primitiveDetailView, regionDetailView, reportView, resolveEntityElement, resolveIngestOptions, resolveTheme, widgetDetailView };