Merge commit 'd803bfe2b1fe7f5e219e50ac20d6801a0a58ac75' as 'vendor/ruvector'
This commit is contained in:
1
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/index.d.ts.map
vendored
Normal file
1
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/index.d.ts.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AAErC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,YAAY,EACZ,KAAK,UAAU,GAChB,MAAM,oBAAoB,CAAC"}
|
||||
1
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/index.js.map
vendored
Normal file
1
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/index.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;AAEH,yDAAuC;AACvC,uDAAqC;AACrC,mEAAmE;AACnE,+CAU4B;AAF1B,wGAAA,YAAY,OAAA"}
|
||||
20
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/index.ts
vendored
Normal file
20
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/index.ts
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
/**
|
||||
* Infrastructure Context - Persistence, Messaging, Workers
|
||||
*
|
||||
* Foundation services for data storage and background processing.
|
||||
*/
|
||||
|
||||
export * from './persistence/index.js';
|
||||
export * from './messaging/index.js';
|
||||
// Workers exports without JobOptions (renamed to WorkerJobOptions)
|
||||
export {
|
||||
type WorkerPool,
|
||||
type JobHandler,
|
||||
type WorkerJob,
|
||||
type WorkerJobOptions,
|
||||
type WorkerContext,
|
||||
type JobResult,
|
||||
type WorkerPoolStatus,
|
||||
WORKER_TYPES,
|
||||
type WorkerType,
|
||||
} from './workers/index.js';
|
||||
1
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/messaging/index.d.ts.map
vendored
Normal file
1
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/messaging/index.d.ts.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;IACxE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvE,MAAM,WAAW,YAAY;IAC3B,WAAW,IAAI,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAClD,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,OAAO;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;QAC9B,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
||||
1
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/messaging/index.js.map
vendored
Normal file
1
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/messaging/index.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
||||
49
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/messaging/index.ts
vendored
Normal file
49
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/messaging/index.ts
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
/**
|
||||
* Messaging Layer - Event Bus, Queues, Pub/Sub
|
||||
*/
|
||||
|
||||
export interface EventBus {
|
||||
publish<T>(event: DomainEvent<T>): Promise<void>;
|
||||
subscribe<T>(eventType: string, handler: EventHandler<T>): Subscription;
|
||||
replay(from: number, to?: number): AsyncIterator<DomainEvent>;
|
||||
}
|
||||
|
||||
export interface DomainEvent<T = unknown> {
|
||||
id: string;
|
||||
type: string;
|
||||
timestamp: Date;
|
||||
tenantId: string;
|
||||
payload: T;
|
||||
metadata?: Record<string, unknown>;
|
||||
}
|
||||
|
||||
export type EventHandler<T> = (event: DomainEvent<T>) => Promise<void>;
|
||||
|
||||
export interface Subscription {
|
||||
unsubscribe(): void;
|
||||
}
|
||||
|
||||
export interface QueueManager {
|
||||
enqueue<T>(queue: string, job: Job<T>): Promise<string>;
|
||||
dequeue<T>(queue: string): Promise<Job<T> | null>;
|
||||
schedule<T>(queue: string, job: Job<T>, runAt: Date): Promise<string>;
|
||||
cancel(jobId: string): Promise<boolean>;
|
||||
}
|
||||
|
||||
export interface Job<T = unknown> {
|
||||
id?: string;
|
||||
type: string;
|
||||
data: T;
|
||||
options?: JobOptions;
|
||||
}
|
||||
|
||||
export interface JobOptions {
|
||||
priority?: number;
|
||||
delay?: number;
|
||||
attempts?: number;
|
||||
backoff?: {
|
||||
type: 'exponential' | 'fixed';
|
||||
delay: number;
|
||||
};
|
||||
timeout?: number;
|
||||
}
|
||||
1
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/persistence/index.d.ts.map
vendored
Normal file
1
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/persistence/index.d.ts.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
|
||||
1
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/persistence/index.js.map
vendored
Normal file
1
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/persistence/index.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
||||
71
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/persistence/index.ts
vendored
Normal file
71
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/persistence/index.ts
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
/**
|
||||
* Persistence Layer - PostgreSQL, RuVector, Redis
|
||||
*/
|
||||
|
||||
export interface PersistenceLayer {
|
||||
postgres: PostgresAdapter;
|
||||
vectorStore: VectorStoreAdapter;
|
||||
cache: CacheAdapter;
|
||||
}
|
||||
|
||||
export interface PostgresAdapter {
|
||||
query<T>(sql: string, params?: unknown[]): Promise<T[]>;
|
||||
transaction<T>(fn: (tx: Transaction) => Promise<T>): Promise<T>;
|
||||
migrate(direction: 'up' | 'down'): Promise<void>;
|
||||
}
|
||||
|
||||
export interface Transaction {
|
||||
query<T>(sql: string, params?: unknown[]): Promise<T[]>;
|
||||
commit(): Promise<void>;
|
||||
rollback(): Promise<void>;
|
||||
}
|
||||
|
||||
export interface VectorStoreAdapter {
|
||||
createIndex(config: IndexConfig): Promise<IndexHandle>;
|
||||
deleteIndex(handle: IndexHandle): Promise<void>;
|
||||
getIndex(namespace: string): Promise<IndexHandle | null>;
|
||||
insert(handle: IndexHandle, entries: VectorEntry[]): Promise<void>;
|
||||
search(handle: IndexHandle, query: Float32Array, options: SearchOptions): Promise<SearchResult[]>;
|
||||
delete(handle: IndexHandle, ids: string[]): Promise<void>;
|
||||
}
|
||||
|
||||
export interface IndexConfig {
|
||||
namespace: string;
|
||||
dimensions: number;
|
||||
distanceMetric: 'cosine' | 'euclidean' | 'dot_product';
|
||||
hnsw: {
|
||||
m: number;
|
||||
efConstruction: number;
|
||||
efSearch: number;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IndexHandle {
|
||||
namespace: string;
|
||||
dimensions: number;
|
||||
}
|
||||
|
||||
export interface VectorEntry {
|
||||
id: string;
|
||||
vector: Float32Array;
|
||||
metadata?: Record<string, unknown>;
|
||||
}
|
||||
|
||||
export interface SearchOptions {
|
||||
k: number;
|
||||
threshold?: number;
|
||||
filter?: Record<string, unknown>;
|
||||
}
|
||||
|
||||
export interface SearchResult {
|
||||
id: string;
|
||||
score: number;
|
||||
metadata?: Record<string, unknown>;
|
||||
}
|
||||
|
||||
export interface CacheAdapter {
|
||||
get<T>(key: string): Promise<T | null>;
|
||||
set<T>(key: string, value: T, ttl?: number): Promise<void>;
|
||||
delete(key: string): Promise<void>;
|
||||
invalidate(pattern: string): Promise<void>;
|
||||
}
|
||||
1
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/workers/index.d.ts.map
vendored
Normal file
1
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/workers/index.d.ts.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,IAAI,gBAAgB,CAAC;CAC5B;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;AAE9F,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,OAAO;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,CAAC;IACR,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxE;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,eAAO,MAAM,YAAY;;;;;;;CAOf,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,OAAO,YAAY,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC"}
|
||||
1
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/workers/index.js.map
vendored
Normal file
1
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/workers/index.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AA2CH,wBAAwB;AACX,QAAA,YAAY,GAAG;IAC1B,oBAAoB,EAAE,sBAAsB;IAC5C,eAAe,EAAE,iBAAiB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,eAAe,EAAE,iBAAiB;IAClC,kBAAkB,EAAE,oBAAoB;IACxC,gBAAgB,EAAE,kBAAkB;CAC5B,CAAC"}
|
||||
56
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/workers/index.ts
vendored
Normal file
56
vendor/ruvector/npm/packages/ruvbot/src/infrastructure/workers/index.ts
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
/**
|
||||
* Workers Layer - Background Jobs, Scheduled Tasks
|
||||
*/
|
||||
|
||||
export interface WorkerPool {
|
||||
register<T>(jobType: string, handler: JobHandler<T>): void;
|
||||
start(): Promise<void>;
|
||||
stop(graceful?: boolean): Promise<void>;
|
||||
status(): WorkerPoolStatus;
|
||||
}
|
||||
|
||||
export type JobHandler<T> = (job: WorkerJob<T>, context: WorkerContext) => Promise<JobResult>;
|
||||
|
||||
export interface WorkerJob<T = unknown> {
|
||||
id: string;
|
||||
type: string;
|
||||
data: T;
|
||||
attemptsMade: number;
|
||||
options: WorkerJobOptions;
|
||||
}
|
||||
|
||||
export interface WorkerJobOptions {
|
||||
attempts: number;
|
||||
timeout: number;
|
||||
}
|
||||
|
||||
export interface WorkerContext {
|
||||
updateProgress(progress: number | object): Promise<void>;
|
||||
log(level: 'debug' | 'info' | 'warn' | 'error', message: string): void;
|
||||
}
|
||||
|
||||
export interface JobResult {
|
||||
success: boolean;
|
||||
output?: unknown;
|
||||
error?: string;
|
||||
}
|
||||
|
||||
export interface WorkerPoolStatus {
|
||||
running: boolean;
|
||||
activeWorkers: number;
|
||||
pendingJobs: number;
|
||||
processedJobs: number;
|
||||
failedJobs: number;
|
||||
}
|
||||
|
||||
// Built-in worker types
|
||||
export const WORKER_TYPES = {
|
||||
MEMORY_CONSOLIDATION: 'memory-consolidation',
|
||||
EMBEDDING_BATCH: 'embedding-batch',
|
||||
PATTERN_TRAINING: 'pattern-training',
|
||||
SESSION_CLEANUP: 'session-cleanup',
|
||||
INDEX_OPTIMIZATION: 'index-optimization',
|
||||
WEBHOOK_DISPATCH: 'webhook-dispatch',
|
||||
} as const;
|
||||
|
||||
export type WorkerType = typeof WORKER_TYPES[keyof typeof WORKER_TYPES];
|
||||
Reference in New Issue
Block a user