Table of Contents

Class IngestionEdgeBuilderExtensions

Namespace
Qavren.Edge.Ingestion
Assembly
Qavren.Edge.Ingestion.dll

The four builder calls Qavren.Edge.Ingestion publishes.

public static class IngestionEdgeBuilderExtensions
Inheritance
IngestionEdgeBuilderExtensions
Inherited Members

Methods

AddDocumentExtractor(EdgeBuilder, IDocumentExtractor)

Registers one consumer IDocumentExtractor, ahead of the built-ins. The registry is composed at RESOLVE time, so this may be called before or after AddIngestion(EdgeBuilder, int, Action<IngestionOptions>?) — which is what makes AddPdfExtractor() and AddDocxExtractor() order-independent.

AddDocumentExtractor(EdgeBuilder, Func<IServiceProvider, IDocumentExtractor>)

The factory overload, for an extractor that needs services.

AddIngestion(EdgeBuilder, int, Action<IngestionOptions>?)

The one call. It registers two migrations — migrationVersion for the chunk collection, through SP2's own AddVectorCollectionMigration, and migrationVersion + 1 for the three ingestion-state tables — plus the pipeline, the state store, the extractor registry (text + markdown), the chunkers, the lifecycle observer, the diagnostics contributor, and one order-400 startup task that opens NO database.

Both versions are claimed. They must be unique and ascending across the whole database: PRAGMA user_version is one counter, so a second migration at migrationVersion + 1 elsewhere is MigrationVersionConflict from SP1's registry.

Idempotent per collection; a second call for the same collection throws IngestionMigrationVersionConflict (6007).

UseChunkTokenizer(EdgeBuilder, Func<IServiceProvider, IChunkTokenizer>)

Supplies the IChunkTokenizer without the ONNX satellite — EdgeTokenCounter.CreateWordPiece builds one from a vocab.txt.

UseIngestionThrottle(EdgeBuilder, Func<IServiceProvider, IIngestionThrottle>)

Replaces FixedIngestionThrottle with a consumer's policy.