/** * dsh-widgets — GENERATED widget registry. DO NOT EDIT BY HAND. * * Produced by scripts/gen-registry.mjs from the unit dirs under src/widgets/ * (the machine-readable part comes from each unit's manifest.json; the * descriptors come from each unit's index.ts) AND from the data-source adapters * under src/client/families//adapter.ts. Regenerate with: * pnpm gen:registry (write) * pnpm check:registry (verify up-to-date — the build/CI guard) * * Adding a widget = creating one unit dir; adding a data source = creating one * family adapter file. The registry follows automatically. */ /** Every discovered widget, in manifest display order (then by id). */ export declare const WIDGETS: import('./lib/contract/types').Widget[]; /** * Every discovered DATA SOURCE ADAPTER, in family-path order. * * This is what makes `manifest.source` a free string: the set of legal ids comes * from the family directories themselves, so a manifest can only name a source * that actually exists (`pnpm check:registry` fails otherwise) and adding one * never edits a shared file. See src/client/data/source-contract.ts. */ export declare const SOURCE_ADAPTERS: import('./data/source-contract').SourceAdapter[]; /** * Per-widget RUNTIME metadata, generated from each unit's manifest.json. * * WHAT vs HOW: a manifest declares what the widget IS — which live data source it * waits on, and what its body looks like while that source is still in flight. * The SHELL decides HOW that becomes a loading card, because a widget cannot tell * "my source is still in flight" from "my source answered with nothing", and * those two states deserve different cards (placeholder pills vs an honest * empty state). * * Declaring it in the manifest is what keeps a new widget unit to ONE directory: * there is no central id→source map to edit, and `check:registry` fails the build * when a manifest drifts from the generated file. */ export declare const WIDGET_RUNTIME: Record; /** All widget ids, in registry order. */ export declare const ALL_IDS: string[]; /** Every valid instance key (each widget at each of its supported sizes). */ export declare const ALL_INSTANCES: string[]; /** The stats-line family (fresh installs pre-load ONLY these). */ export declare const STATS_WIDGET_IDS: string[]; /** The default installed set: the stats-line family at 2×2. */ export declare const DEFAULT_INSTALLED: string[]; /** Merged per-widget dictionaries (family-shared + every unit's locale). * Registered with the locale service at apply() time. */ export declare const WIDGET_LOCALES: { zh: Record; en: Record; };