@resistdesign/voltra
    Preparing search index...

    Type Alias TypeInfoORMIndexingConfig

    Configuration for TypeInfoORM indexing integrations.

    type TypeInfoORMIndexingConfig = {
        allowFullScanFallback?: boolean;
        backend: IndexBackend;
        fieldsByType?: IndexedFieldsByType;
        limits?: Partial<IndexSearchLimits>;
        mutationCoordinator?: Pick<IndexMutationCoordinator, "run">;
        observability?: {
            onIndexWrite?: (
                event: {
                    action: "upsert" | "remove";
                    docId: string;
                    fieldCount: number;
                    typeName: string;
                },
            ) => void;
            onListRoutingDecision?: (
                event: {
                    criteriaCount: number;
                    path: "indexed" | "fullScanCompare" | "canonicalDriverList";
                    plan?: IndexSearchDiagnostics;
                    reason:
                        | "indexedExpression"
                        | "noCriteria"
                        | "criteriaWithoutIndexedPath"
                        | "indexedPathFailedOrUnsupported";
                    typeName: string;
                },
            ) => void;
        };
        relations?: {
            backend: RelationalBackend;
            decodeEntityId?: (typeName: string, entityId: string) => string;
            encodeEntityId?: (typeName: string, primaryFieldValue: string) => string;
            relationNameFor: (
                fromTypeName: string,
                fromTypeFieldName: string,
            ) => string;
        };
        tokenizer?: Partial<StructuredStringTokenizerConfig>;
    }
    Index

    Properties

    allowFullScanFallback?: boolean

    Permit canonical scan fallback for genuinely unindexable criteria.

    backend: IndexBackend

    Singular logical backend composed from specialized physical capabilities.

    fieldsByType?: IndexedFieldsByType

    TypeInfo-derived source of truth for planning and mutation.

    limits?: Partial<IndexSearchLimits>

    Optional search limits for indexing queries.

    mutationCoordinator?: Pick<IndexMutationCoordinator, "run">

    Shared scope that combines compatible derived writes across backends.

    observability?: {
        onIndexWrite?: (
            event: {
                action: "upsert" | "remove";
                docId: string;
                fieldCount: number;
                typeName: string;
            },
        ) => void;
        onListRoutingDecision?: (
            event: {
                criteriaCount: number;
                path: "indexed" | "fullScanCompare" | "canonicalDriverList";
                plan?: IndexSearchDiagnostics;
                reason:
                    | "indexedExpression"
                    | "noCriteria"
                    | "criteriaWithoutIndexedPath"
                    | "indexedPathFailedOrUnsupported";
                typeName: string;
            },
        ) => void;
    }

    Optional observability hooks for indexing/routing diagnostics.

    Type Declaration

    • OptionalonIndexWrite?: (
          event: {
              action: "upsert" | "remove";
              docId: string;
              fieldCount: number;
              typeName: string;
          },
      ) => void

      Called when unified indexing writes/removes document entries.

    • OptionalonListRoutingDecision?: (
          event: {
              criteriaCount: number;
              path: "indexed" | "fullScanCompare" | "canonicalDriverList";
              plan?: IndexSearchDiagnostics;
              reason:
                  | "indexedExpression"
                  | "noCriteria"
                  | "criteriaWithoutIndexedPath"
                  | "indexedPathFailedOrUnsupported";
              typeName: string;
          },
      ) => void

      Called when list routing chooses a query execution path.

    relations?: {
        backend: RelationalBackend;
        decodeEntityId?: (typeName: string, entityId: string) => string;
        encodeEntityId?: (typeName: string, primaryFieldValue: string) => string;
        relationNameFor: (
            fromTypeName: string,
            fromTypeFieldName: string,
        ) => string;
    }

    Relationship indexing configuration.

    Type Declaration

    • backend: RelationalBackend

      Backend used for relationship indexing.

    • OptionaldecodeEntityId?: (typeName: string, entityId: string) => string

      Optional decoder for entity ids.

    • OptionalencodeEntityId?: (typeName: string, primaryFieldValue: string) => string

      Optional encoder for entity ids.

    • relationNameFor: (fromTypeName: string, fromTypeFieldName: string) => string

      Resolver for relation name from type/field.

    tokenizer?: Partial<StructuredStringTokenizerConfig>

    Shared text/value tokenizer behavior participating in cursor identity.