@mastra/core
Version:
The core foundation of the Mastra framework, providing essential components and interfaces for building AI-powered applications.
78 lines (74 loc) • 2.47 kB
TypeScript
import { M as MastraBase } from '../base-BbdvunNJ.js';
import { VectorFilter } from './filter/index.js';
import '@opentelemetry/api';
import '../logger-DtVDdb81.js';
import '../error/index.js';
import 'stream';
import '@opentelemetry/sdk-trace-base';
interface QueryResult {
id: string;
score: number;
metadata?: Record<string, any>;
vector?: number[];
/**
* The document content, if available.
* Note: Currently only supported by Chroma vector store.
* For other vector stores, documents should be stored in metadata.
*/
document?: string;
}
interface IndexStats {
dimension: number;
count: number;
metric?: 'cosine' | 'euclidean' | 'dotproduct';
}
interface UpsertVectorParams {
indexName: string;
vectors: number[][];
metadata?: Record<string, any>[];
ids?: string[];
}
interface CreateIndexParams {
indexName: string;
dimension: number;
metric?: 'cosine' | 'euclidean' | 'dotproduct';
}
interface QueryVectorParams {
indexName: string;
queryVector: number[];
topK?: number;
filter?: VectorFilter;
includeVector?: boolean;
}
interface DescribeIndexParams {
indexName: string;
}
interface DeleteIndexParams {
indexName: string;
}
interface UpdateVectorParams {
indexName: string;
id: string;
update: {
vector?: number[];
metadata?: Record<string, any>;
};
}
interface DeleteVectorParams {
indexName: string;
id: string;
}
declare abstract class MastraVector extends MastraBase {
constructor();
get indexSeparator(): string;
abstract query(params: QueryVectorParams): Promise<QueryResult[]>;
abstract upsert(params: UpsertVectorParams): Promise<string[]>;
abstract createIndex(params: CreateIndexParams): Promise<void>;
abstract listIndexes(): Promise<string[]>;
abstract describeIndex(params: DescribeIndexParams): Promise<IndexStats>;
abstract deleteIndex(params: DeleteIndexParams): Promise<void>;
abstract updateVector(params: UpdateVectorParams): Promise<void>;
abstract deleteVector(params: DeleteVectorParams): Promise<void>;
protected validateExistingIndex(indexName: string, dimension: number, metric: string): Promise<void>;
}
export { type CreateIndexParams, type DeleteIndexParams, type DeleteVectorParams, type DescribeIndexParams, type IndexStats, MastraVector, type QueryResult, type QueryVectorParams, type UpdateVectorParams, type UpsertVectorParams };