Generated Catalogs Workflow
How provider aggregate files are generated and checked
Generated Catalogs Workflow
Provider aggregate files are generated by self/subcortex/providers/scripts/generate-provider-aggregates.mjs. The script discovers certified leaves under self/subcortex/providers/src/providers/, validates the required files, sorts leaves deterministically, and writes root-level catalog files.
Generated Files
self/subcortex/providers/src/provider-definitions.ts
self/subcortex/providers/src/provider-adapters.ts
self/subcortex/providers/src/provider-factories.tsThese files carry a generated header. Do not hand-edit them.
Generated Exports
| File | Important exports |
|---|---|
provider-definitions.ts | PROVIDER_DEFINITIONS, ProviderVendorKey, BootstrapProviderKey, resolveProviderDefinition(...) |
provider-adapters.ts | CERTIFIED_PROVIDER_ADAPTER_MODULES, CertifiedProviderAdapterKey, leaf adapter re-exports |
provider-factories.ts | CERTIFIED_PROVIDER_FACTORIES, CertifiedProviderFactoryVendorKey, resolveProviderFactory(...) |
Workflow
- Add or update a provider leaf under
src/providers/<vendor>/. - Run
pnpm --filter @nous/subcortex-providers run generate:providers. - Run
pnpm --filter @nous/subcortex-providers run check:generated. - Commit generated files when the provider leaf changed.
The generated catalogs keep the certified driver roster deterministic, reduce central hand-edited maps, and prevent normal provider additions from changing runtime branch code.
Discovery Rules
The generator ignores hidden directories, __tests__, and fixtures. Provider leaf directories must match lowercase ASCII kebab-case and include:
definition.tsadapter.tsprovider.tsindex.ts
Generated aliases must be unique after kebab-case names are converted to camelCase.