@karmaniverous/jeeves-watcher
    Preparing search index...

    Interface VectorStore

    Abstract interface for vector store operations.

    Enables dependency inversion and easier testing.

    interface VectorStore {
        delete(ids: string[]): Promise<void>;
        ensureCollection(): Promise<void>;
        ensureTextIndex(fieldName: string): Promise<void>;
        getCollectionInfo(): Promise<CollectionInfo>;
        getPayload(id: string): Promise<Record<string, unknown> | null>;
        hybridSearch(
            vector: number[],
            queryText: string,
            limit: number,
            textWeight: number,
            filter?: Record<string, unknown>,
        ): Promise<SearchResult[]>;
        scroll(
            filter?: Record<string, unknown>,
            limit?: number,
        ): AsyncGenerator<ScrolledPoint>;
        search(
            vector: number[],
            limit: number,
            filter?: Record<string, unknown>,
            offset?: number,
        ): Promise<SearchResult[]>;
        setPayload(ids: string[], payload: Record<string, unknown>): Promise<void>;
        upsert(points: VectorPoint[]): Promise<void>;
    }

    Implemented by

    Index

    Methods

    • Create a full-text payload index on the specified field.

      Parameters

      • fieldName: string

        The payload field to index.

      Returns Promise<void>

    • Get the payload of a point by ID.

      Parameters

      • id: string

        The point ID.

      Returns Promise<Record<string, unknown> | null>

      The payload, or null if the point doesn't exist.

    • Hybrid search combining dense vector and full-text match with RRF fusion.

      Parameters

      • vector: number[]

        The query vector.

      • queryText: string

        The raw query text for full-text matching.

      • limit: number

        Maximum results to return.

      • textWeight: number

        Weight for text results in RRF (0–1).

      • Optionalfilter: Record<string, unknown>

        Optional Qdrant filter.

      Returns Promise<SearchResult[]>

      An array of search results.

    • Search for similar vectors.

      Parameters

      • vector: number[]

        The query vector.

      • limit: number

        Maximum results to return.

      • Optionalfilter: Record<string, unknown>

        Optional Qdrant filter.

      • Optionaloffset: number

        Optional result offset.

      Returns Promise<SearchResult[]>

      An array of search results.

    • Set payload fields for the specified point IDs.

      Parameters

      • ids: string[]

        Point IDs to update.

      • payload: Record<string, unknown>

        Payload fields to set.

      Returns Promise<void>