@leumas/config-registry
The Imperium config engine — the app-config schema, per-mode data contracts, the site route contract and the JSX authoring format that let Web & Studio render and manage config-driven sites.
@leumas/config-registry
The Imperium config engine: an app-config schema + a registry/loader so one config = one subdomain app. Web renders/previews config-driven apps; Studio manages and routes domains → apps.
Absorbs (DRY-consolidated from): z.Domains2/core/src/Imperium/Main/ConfigLoader.jsx + RuntimeConfigLoader.secure.jsx + the config structure in Imperium.jsx.
Usage
Configs live in the configs collection and are served by @leumas/hosting (host → published config). There is no build-time file loader: a createRegistry()/loadFromGlob() pair existed here and was deleted in the Imperium catch-up program — it had zero consumers and would have been a second, competing config source alongside the database.
import { defineConfig, validateData, normalizeSiteRoutes } from '@leumas/config-registry';
const config = defineConfig(doc); // safe defaults over a raw doc
validateData(config.mode, config.data); // the mode's data contract
normalizeSiteRoutes(config); // the four route buckets → one flat runtime table
A config carries { id, appName, mode, data, theme, baseApiUrl, header, footer, routes, redirects, components, stores, accounts, databases, paths, seo, hosting }. See src/routes.js for the route record contract and src/dataSchemas.js for the per-mode data contracts.
What it exports
358 exports: 155 components, 0 hooks, 203 helpers. Import from @leumas/config-registry.
APPEARANCE_CSS_MAX_BYTESAPPEARANCE_CSS_MAX_BYTESAPPEARANCE_FONTSAPPEARANCE_FONTSAPPEARANCE_MAX_BYTESAPPEARANCE_MAX_BYTESAPPEARANCE_MODESAPPEARANCE_MODESAPPEARANCE_MONO_FONTSAPPEARANCE_MONO_FONTSAPPEARANCE_SCHEMAAPPEARANCE_SCHEMABIND_OPSBIND_SOURCESBINDING_OVERRIDE_KEYSBINDING_OVERRIDE_REFUSEDBINDING_OVERRIDE_RULESBINDING_OVERRIDE_SCHEMABLUR_STEPSCHANGEFREQCHROME_POLICIESCHROME_POLICIESCOMPONENT_NAMESPACESCOMPONENT_NAMESPACESCOMPONENTSCOMPONENTS_GENERATED_ATCONFIG_KEY_ORDERCONFIG_SHAPECONFIG_SHAPECUSTOM_CSS_CAPCUSTOM_CSS_CAPCUSTOM_MODE_PREFIXCUSTOM_MODE_PREFIXCUSTOM_MODE_SCHEMACUSTOM_MODE_SCHEMADATA_SCHEMASDATA_SCHEMASDATA_TEMPLATESDATA_TEMPLATESDATA_TEMPLATESDEFAULT_ALLOW_AGENTSDEFAULT_APPEARANCEDEFAULT_APPEARANCEDEFAULT_DENY_AGENTSDEFAULT_INPUT_THEMEDEFAULT_SKINDEFAULT_SKINDEFAULT_TARGETDENSITY_SCALESDENSITY_SCALESDENSITY_STEPSEXTERNAL_APP_MODESEXTERNAL_APP_MODESFONT_STEPSGENERATED_ATGLOBAL_CONFIG_IDGLOBAL_SCHEMAINPUT_THEME_PRESETSINPUT_THEME_SCHEMAINPUT_THEME_TOKENSLINK_BIO_THEMESLINK_BIO_THEMESMANIFEST_SHAPEMANIFEST_SHAPEMCP_PUBLISH_CAPMCP_SCHEMAMCP_TOOL_NAME_REMCP_TOOL_SOURCESMCP_VISIBILITIESMERGE_EXCLUDED_KEYSMODE_CAPABILITIESMODE_CAPABILITIESMODE_SUBROUTESMODE_SUBROUTESMODE_SURFACESMODE_SURFACESMODE_VARIANTSMODE_VARIANTSMODE_VARIANTSMODESMODESMOTION_MODESMOTION_MODESMOTION_STEPSNOINDEX_PREFIXESPAGE_LAYOUTSPAGE_SEO_SCHEMAPILLAR_PREFIXPILLAR_PREFIXPLATFORM_DISALLOWPLATFORM_DYNAMIC_ROUTESPLATFORM_REDIRECTSPLATFORM_ROUTESPRIVILEGED_TARGET_KINDSPROXYING_TARGET_KINDSRADIUS_SCALESRADIUS_SCALESRADIUS_STEPSRESERVED_ROUTE_PREFIXESRESERVED_ROUTE_PREFIXESRESERVED_SITE_PREFIXESRESERVED_SITE_PREFIXESROBOTS_MODESROUTE_BUCKETSROUTE_BUCKETSROUTE_GUARDSROUTE_GUARDSROUTE_SCHEMAROUTE_SCHEMAROUTE_SHAPEROUTE_SHAPEROUTE_UNFORMED_KEYSROUTE_UNFORMED_KEYSSEO_SCHEMASHIELD_DEFAULTSSHIELD_LIMITSSHIELD_SCHEMASKIN_BORDERSSKIN_BORDERSSKIN_CARDSSKIN_CARDSSKIN_CHROMESSKIN_CHROMESSKIN_ENUMSSKIN_ENUMSSKIN_MAX_BYTESSKIN_MAX_BYTESSKIN_MOTION_CHARSSKIN_MOTION_CHARSSKIN_PRESETSSKIN_PRESETSSKIN_RATIOSSKIN_RATIOSSKIN_RHYTHMSSKIN_RHYTHMSSKIN_SCHEMASKIN_SCHEMASKIN_VALUE_RESKIN_VALUE_RESKIN_WIDTHSSKIN_WIDTHSSOCIAL_PLATFORM_OPTIONSSTARTER_WIREFRAMESSTARTERS_BY_IDSTORAGE_MODESSTORAGE_MODESTARGET_KINDSTARGET_SCHEMASTHEME_PRESETSTHEME_PRESETSTYPE_SCALESTYPE_SCALESWIREFRAME_KINDSWIREFRAME_SHAPEWIREFRAME_VERSIONappearanceCssTextappearanceCssTextappearanceForConfigappearanceForConfigappearanceModeappearanceModeappearanceToCssVarsappearanceToCssVarsapplyBindingOverridesapplyGlobalConfigsassertSkinIsMergeSafeassertSkinIsMergeSafebindPropForcanonicalRoutePathcanonicalRoutePathcapabilitiesForcapabilitiesForcompileSiteConfigcomponentcomponentCategoriescontentSourceForcontentSourceForcontrastcreateModeRegistrycreateModeRegistrydataSchemaFordataSchemaFordeepMergeConfigdefaultDataFordefaultDataFordefaultGlobalConfigdefaultScopedefaultVariantFordefaultVariantFordefaultVariantFordefineConfigdefineConfigdefineManifestdefineManifestdefineNavManifestdefineNavManifestdefineSiteConfigdenormalizeSiteRoutesdenormalizeSiteRoutesdomainForPathShowing 200 of 358. See them all in the component index.