NueOS Documentation
DevelopmentProvider Adapters

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.ts

These files carry a generated header. Do not hand-edit them.

Generated Exports

FileImportant exports
provider-definitions.tsPROVIDER_DEFINITIONS, ProviderVendorKey, BootstrapProviderKey, resolveProviderDefinition(...)
provider-adapters.tsCERTIFIED_PROVIDER_ADAPTER_MODULES, CertifiedProviderAdapterKey, leaf adapter re-exports
provider-factories.tsCERTIFIED_PROVIDER_FACTORIES, CertifiedProviderFactoryVendorKey, resolveProviderFactory(...)

Workflow

  1. Add or update a provider leaf under src/providers/<vendor>/.
  2. Run pnpm --filter @nous/subcortex-providers run generate:providers.
  3. Run pnpm --filter @nous/subcortex-providers run check:generated.
  4. 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.ts
  • adapter.ts
  • provider.ts
  • index.ts

Generated aliases must be unique after kebab-case names are converted to camelCase.

On this page