Skip to content

PineconeRepository

Defined in: pinecone-repository.ts:22

A Mantle VectorRepository<T> implementation backed by a Pinecone vector index.

Records are stored as Pinecone vectors. The idField value is the Pinecone record ID; all other fields are stored in the vector metadata. Call upsertVector to attach a real embedding — save / saveAll insert a zero vector placeholder that is later replaced.

T extends Record<string, unknown>

The entity shape. Must extend Record<string, unknown>.

D = Partial<T>

The write shape (defaults to Partial<T>).

new PineconeRepository<T, D>(app): PineconeRepository<T, D>

Defined in: pinecone-repository.ts:51

MantleApplication

PineconeRepository<T, D>

protected readonly client: Pinecone

Defined in: pinecone-repository.ts:25


readonly createdAtField: string = "createdAt"

Defined in: pinecone-repository.ts:39

Metadata key written for auto-managed creation timestamps.

"createdAt"

readonly fieldMap: Record<string, string> = {}

Defined in: pinecone-repository.ts:47

Entity-field-to-metadata-key overrides, for an index whose metadata keys don’t match the entity (e.g. a brownfield index using snake_case). Does not apply to idField — the record id is never stored in metadata.

{}

readonly idField: string = "id"

Defined in: pinecone-repository.ts:35

The metadata key that holds the record id.

"id"

abstract readonly indexName: string

Defined in: pinecone-repository.ts:28

The Pinecone index name to target.


abstract readonly namespace: string

Defined in: pinecone-repository.ts:30

The namespace within the index.


readonly timestamps: boolean = true

Defined in: pinecone-repository.ts:37

When true, save / saveAll / updateById / patchById write ISO-8601 timestamps.

true

readonly updatedAtField: string = "updatedAt"

Defined in: pinecone-repository.ts:41

Metadata key written for auto-managed update timestamps.

"updatedAt"

abstract readonly vectorDimension: number

Defined in: pinecone-repository.ts:32

The number of dimensions in the index — required for zero-vector placeholders.

get protected index(): Index

Defined in: pinecone-repository.ts:56

Lazily resolved namespace-scoped Pinecone Index instance.

Index

count(params?): Promise<number>

Defined in: pinecone-repository.ts:292

QueryParams

Promise<number>

VectorRepository.count


deleteById(id): Promise<T>

Defined in: pinecone-repository.ts:280

Id

Promise<T>

VectorRepository.deleteById


deleteVector(id): Promise<T>

Defined in: pinecone-repository.ts:108

Delete a vector and its associated record

Id

Promise<T>

VectorRepository.deleteVector


describe(): RepositoryCapabilities

Defined in: pinecone-repository.ts:63

Optional capability introspection. All

RepositoryCapabilities

adapters implement it; user repositories may omit it.

VectorRepository.describe


findAll(params?): Promise<T[]>

Defined in: pinecone-repository.ts:114

QueryParams

Promise<T[]>

VectorRepository.findAll


findById(id): Promise<T | null>

Defined in: pinecone-repository.ts:202

Id

Promise<T | null>

VectorRepository.findById


findPage(params?): Promise<CursorPage<T>>

Defined in: pinecone-repository.ts:163

Fetch one page of records using Pinecone’s native list pagination. The returned cursor is Pinecone’s opaque paginationToken; pass it back as params.cursor for the next page. where, skip, and sort are rejected — Pinecone’s list API enumerates IDs only and cannot filter or order.

QueryParams & object

Promise<CursorPage<T>>

VectorRepository.findPage


findSimilar(vector, topK, params?): Promise<T & object[]>

Defined in: pinecone-repository.ts:79

Every result carries the Pinecone match score as _score — HIGHER is more similar.

number[]

number

QueryParams

Promise<T & object[]>

VectorRepository.findSimilar


protected fromRecord(id, metadata): T

Defined in: pinecone-repository.ts:318

string

Record<string, unknown>

T


patchById(id, data): Promise<T>

Defined in: pinecone-repository.ts:256

Id

D

Promise<T>

VectorRepository.patchById


save(data): Promise<T>

Defined in: pinecone-repository.ts:213

D

Promise<T>

VectorRepository.save


saveAll(data): Promise<T[]>

Defined in: pinecone-repository.ts:232

D[]

Promise<T[]>

VectorRepository.saveAll


protected toEntityField(field): string

Defined in: pinecone-repository.ts:313

Translates a metadata key back to its entity field name — the inverse of toField.

string

string


protected toField(field): string

Defined in: pinecone-repository.ts:308

Translates an entity field name to its metadata key (fieldMap override, else identity).

string

string


protected toMetadata(data): RecordMetadata

Defined in: pinecone-repository.ts:323

Record<string, unknown>

RecordMetadata


updateById(id, data): Promise<T>

Defined in: pinecone-repository.ts:236

Id

D

Promise<T>

VectorRepository.updateById


upsertVector(id, vector, data): Promise<T>

Defined in: pinecone-repository.ts:98

Upsert a record with its embedding vector

Id

number[]

Partial<T>

Promise<T>

VectorRepository.upsertVector


protected wrapError(err): Error

Defined in: pinecone-repository.ts:343

unknown

Error