document-ingest-foundation
Shared PDF/Scan/Image → normalized-text ingest primitive. Owns the documentExtract entity (fileRefId, storageKey, per-page text + metadata) as an implicit entity-projection, the per-tenant ocrLanguage/maxPagesPerFile config keys, and a fileRef.created trigger that validates mime/size and requests ingest via documentIngest.requested. LiteParse provider wiring lands in follow-up features.
How it fits
Section titled “How it fits”What this feature needs to run (Requires).
flowchart TB
n_document_ingest_foundation["document-ingest-foundation"]
subgraph how_reqs["Requires"]
n_config["config"]
n_tenant_lifecycle["tenant-lifecycle"]
end
n_config --> n_document_ingest_foundation
n_tenant_lifecycle --> n_document_ingest_foundation
Dependencies
Section titled “Dependencies”- Requires:
config,tenant-lifecycle - Activation: always on (not toggleable)
Configuration
Section titled “Configuration”Per-tenant config keys, set via the tenant-admin UI or a seed. 🔒 = encrypted at rest.
| Key | Type | Default | Scope | Who can write | Who can read |
|---|---|---|---|---|---|
max-pages-per-file | number (1–500) | 50 | tenant | TenantAdmin, SystemAdmin | TenantAdmin, SystemAdmin, User |
ocr-language | text | deu+eng | tenant | TenantAdmin, SystemAdmin | TenantAdmin, SystemAdmin, User |
Extensions & cross-feature APIs
Section titled “Extensions & cross-feature APIs”- Registers extension:
tenantData→documentExtract