crewly 1.8.8 → 1.8.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/backend/backend/src/constants.d.ts +12 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +12 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.controller.js +17 -0
- package/dist/backend/backend/src/controllers/browser/browser.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.js +8 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +15 -7
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-bridge.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-bridge.service.js +15 -29
- package/dist/backend/backend/src/services/browser/browser-bridge.service.js.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts +97 -1
- package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-proxy.service.js +174 -15
- package/dist/backend/backend/src/services/browser/browser-proxy.service.js.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-relay-adapter.service.d.ts +12 -4
- package/dist/backend/backend/src/services/browser/browser-relay-adapter.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-relay-adapter.service.js +17 -5
- package/dist/backend/backend/src/services/browser/browser-relay-adapter.service.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts +75 -0
- package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-client.service.js +164 -12
- package/dist/backend/backend/src/services/cloud/cloud-client.service.js.map +1 -1
- package/dist/cli/backend/src/constants.d.ts +12 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +12 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/cli/src/index.js +0 -0
- package/package.json +1 -1
- package/config/constants.d.ts.map +0 -1
- package/config/index.d.ts.map +0 -1
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts +0 -169
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts.map +0 -1
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.js +0 -1779
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts +0 -513
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js +0 -1568
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.d.ts +0 -86
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.js +0 -147
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/api-client.d.ts +0 -68
- package/dist/backend/backend/src/services/agent/crewly-agent/api-client.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/api-client.js +0 -131
- package/dist/backend/backend/src/services/agent/crewly-agent/api-client.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.d.ts +0 -130
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.js +0 -263
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.d.ts +0 -74
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.js +0 -140
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.d.ts +0 -29
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js +0 -279
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts +0 -340
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js +0 -1176
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.d.ts +0 -79
- package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.js +0 -145
- package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.d.ts +0 -79
- package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.js +0 -218
- package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/index.d.ts +0 -16
- package/dist/backend/backend/src/services/agent/crewly-agent/index.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/index.js +0 -16
- package/dist/backend/backend/src/services/agent/crewly-agent/index.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.d.ts +0 -135
- package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.js +0 -185
- package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts +0 -141
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js +0 -310
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.d.ts +0 -91
- package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.js +0 -143
- package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.d.ts +0 -103
- package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.js +0 -256
- package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.d.ts +0 -143
- package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.js +0 -264
- package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.d.ts +0 -13
- package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.js +0 -91
- package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts +0 -135
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js +0 -1937
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js.map +0 -1
- package/dist/backend/backend/src/services/autonomous/auto-assign.service.d.ts +0 -429
- package/dist/backend/backend/src/services/autonomous/auto-assign.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/autonomous/auto-assign.service.js +0 -852
- package/dist/backend/backend/src/services/autonomous/auto-assign.service.js.map +0 -1
- package/dist/backend/backend/src/services/project/task-tracking.service.d.ts +0 -171
- package/dist/backend/backend/src/services/project/task-tracking.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/project/task-tracking.service.js +0 -725
- package/dist/backend/backend/src/services/project/task-tracking.service.js.map +0 -1
- package/dist/backend/backend/src/services/v3/project-task-watcher.service.d.ts +0 -118
- package/dist/backend/backend/src/services/v3/project-task-watcher.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/v3/project-task-watcher.service.js +0 -326
- package/dist/backend/backend/src/services/v3/project-task-watcher.service.js.map +0 -1
- package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.d.ts +0 -74
- package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.js +0 -154
- package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.js.map +0 -1
- package/dist/backend/backend/src/types/auto-assign.types.d.ts +0 -271
- package/dist/backend/backend/src/types/auto-assign.types.d.ts.map +0 -1
- package/dist/backend/backend/src/types/auto-assign.types.js +0 -136
- package/dist/backend/backend/src/types/auto-assign.types.js.map +0 -1
- package/dist/backend/backend/src/utils/esm-require.utils.d.ts +0 -111
- package/dist/backend/backend/src/utils/esm-require.utils.d.ts.map +0 -1
- package/dist/backend/backend/src/utils/esm-require.utils.js +0 -124
- package/dist/backend/backend/src/utils/esm-require.utils.js.map +0 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +0 -220
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +0 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js +0 -37
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +0 -1
- package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.d.ts +0 -56
- package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.d.ts.map +0 -1
- package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.js +0 -91
- package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.js.map +0 -1
- package/dist/cli/backend/src/services/knowledge/learnings-index.service.d.ts +0 -159
- package/dist/cli/backend/src/services/knowledge/learnings-index.service.d.ts.map +0 -1
- package/dist/cli/backend/src/services/knowledge/learnings-index.service.js +0 -304
- package/dist/cli/backend/src/services/knowledge/learnings-index.service.js.map +0 -1
- package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.d.ts +0 -115
- package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.d.ts.map +0 -1
- package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.js +0 -215
- package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.js.map +0 -1
- package/dist/cli/backend/src/services/memory/embedding-provider.d.ts +0 -78
- package/dist/cli/backend/src/services/memory/embedding-provider.d.ts.map +0 -1
- package/dist/cli/backend/src/services/memory/embedding-provider.js +0 -179
- package/dist/cli/backend/src/services/memory/embedding-provider.js.map +0 -1
- package/dist/cli/backend/src/services/memory/vector-store.service.d.ts +0 -331
- package/dist/cli/backend/src/services/memory/vector-store.service.d.ts.map +0 -1
- package/dist/cli/backend/src/services/memory/vector-store.service.js +0 -814
- package/dist/cli/backend/src/services/memory/vector-store.service.js.map +0 -1
- package/dist/cli/backend/src/services/project/task-tracking.service.d.ts +0 -171
- package/dist/cli/backend/src/services/project/task-tracking.service.d.ts.map +0 -1
- package/dist/cli/backend/src/services/project/task-tracking.service.js +0 -725
- package/dist/cli/backend/src/services/project/task-tracking.service.js.map +0 -1
- package/dist/cli/backend/src/types/auto-assign.types.d.ts +0 -271
- package/dist/cli/backend/src/types/auto-assign.types.d.ts.map +0 -1
- package/dist/cli/backend/src/types/auto-assign.types.js +0 -136
- package/dist/cli/backend/src/types/auto-assign.types.js.map +0 -1
|
@@ -1,331 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Vector Store Service — v2
|
|
3
|
-
*
|
|
4
|
-
* Local, on-device vector storage using SQLite (better-sqlite3) with optional
|
|
5
|
-
* sqlite-vec extension for native KNN search. Falls back gracefully to
|
|
6
|
-
* JavaScript cosine similarity when the extension is unavailable.
|
|
7
|
-
*
|
|
8
|
-
* v2 improvements over v1:
|
|
9
|
-
* - Binary BLOB storage (Float32Array) instead of JSON TEXT (~4× smaller, faster)
|
|
10
|
-
* - Optional sqlite-vec integration for native SQL-based KNN search (cosine metric)
|
|
11
|
-
* - Dimension validation ensures all vectors in a scope share the same width
|
|
12
|
-
* - Prepared statement caching for repeated operations
|
|
13
|
-
* - Input sanitization (NaN, Infinity rejection)
|
|
14
|
-
* - Batch upsert with transaction wrapping
|
|
15
|
-
* - Automatic schema migration from v1 (JSON TEXT) databases
|
|
16
|
-
*
|
|
17
|
-
* Storage locations:
|
|
18
|
-
* - Global scope: ~/.crewly/vector-store.db
|
|
19
|
-
* - Project scope: {projectPath}/.crewly/vector-store.db
|
|
20
|
-
*
|
|
21
|
-
* @module services/memory/vector-store.service
|
|
22
|
-
*/
|
|
23
|
-
/** Reset the sqlite-vec loader state (for testing). */
|
|
24
|
-
export declare function resetSqliteVecLoader(): void;
|
|
25
|
-
/** Constants for the vector store */
|
|
26
|
-
export declare const VECTOR_STORE_CONSTANTS: {
|
|
27
|
-
/** SQLite database filename */
|
|
28
|
-
readonly DB_FILENAME: "vector-store.db";
|
|
29
|
-
/** Default number of results for similarity search */
|
|
30
|
-
readonly DEFAULT_SEARCH_LIMIT: 10;
|
|
31
|
-
/** Minimum cosine similarity threshold for search results */
|
|
32
|
-
readonly DEFAULT_SIMILARITY_THRESHOLD: 0.1;
|
|
33
|
-
/** Maximum metadata JSON size (bytes) */
|
|
34
|
-
readonly MAX_METADATA_SIZE: 65536;
|
|
35
|
-
/** Current schema version */
|
|
36
|
-
readonly SCHEMA_VERSION: 2;
|
|
37
|
-
/** Maximum supported embedding dimensions */
|
|
38
|
-
readonly MAX_DIMENSIONS: 4096;
|
|
39
|
-
/** Maximum items in a single batch upsert */
|
|
40
|
-
readonly MAX_BATCH_SIZE: 500;
|
|
41
|
-
};
|
|
42
|
-
/**
|
|
43
|
-
* A stored embedding record with metadata.
|
|
44
|
-
*/
|
|
45
|
-
export interface VectorRecord {
|
|
46
|
-
/** Unique identifier (typically document ID) */
|
|
47
|
-
id: string;
|
|
48
|
-
/** The embedding vector as a Float64 array */
|
|
49
|
-
embedding: number[];
|
|
50
|
-
/** Optional metadata associated with the embedding */
|
|
51
|
-
metadata: Record<string, unknown>;
|
|
52
|
-
/** ISO timestamp of when the embedding was stored */
|
|
53
|
-
createdAt: string;
|
|
54
|
-
/** ISO timestamp of last update */
|
|
55
|
-
updatedAt: string;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* A search result with cosine similarity score.
|
|
59
|
-
*/
|
|
60
|
-
export interface VectorSearchResult {
|
|
61
|
-
/** Unique identifier */
|
|
62
|
-
id: string;
|
|
63
|
-
/** Cosine similarity score (higher is more similar) */
|
|
64
|
-
score: number;
|
|
65
|
-
/** Associated metadata */
|
|
66
|
-
metadata: Record<string, unknown>;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Convert a number array to a Float32Array Buffer for efficient BLOB storage.
|
|
70
|
-
*
|
|
71
|
-
* @param embedding - The embedding vector
|
|
72
|
-
* @returns Buffer containing the Float32Array binary data
|
|
73
|
-
*/
|
|
74
|
-
export declare function embeddingToBlob(embedding: number[]): Buffer;
|
|
75
|
-
/**
|
|
76
|
-
* Convert a BLOB Buffer back to a number array.
|
|
77
|
-
*
|
|
78
|
-
* @param blob - Buffer containing Float32Array binary data
|
|
79
|
-
* @returns The embedding as a number array
|
|
80
|
-
*/
|
|
81
|
-
export declare function blobToEmbedding(blob: Buffer): number[];
|
|
82
|
-
/**
|
|
83
|
-
* Compute cosine similarity between two vectors.
|
|
84
|
-
*
|
|
85
|
-
* @param a - First vector
|
|
86
|
-
* @param b - Second vector
|
|
87
|
-
* @returns Cosine similarity in range [-1, 1], or 0 if vectors are incompatible
|
|
88
|
-
*/
|
|
89
|
-
export declare function cosineSimilarity(a: number[], b: number[]): number;
|
|
90
|
-
/**
|
|
91
|
-
* Validate an embedding vector for storage. Rejects empty arrays, values
|
|
92
|
-
* that are not finite numbers (NaN, Infinity), and dimensions exceeding
|
|
93
|
-
* the maximum.
|
|
94
|
-
*
|
|
95
|
-
* @param embedding - The embedding to validate
|
|
96
|
-
* @throws Error if the embedding is invalid
|
|
97
|
-
*/
|
|
98
|
-
export declare function validateEmbedding(embedding: number[]): void;
|
|
99
|
-
/**
|
|
100
|
-
* VectorStoreService provides local SQLite-based vector storage with optional
|
|
101
|
-
* native KNN search via the sqlite-vec extension.
|
|
102
|
-
*
|
|
103
|
-
* When sqlite-vec is available, search uses a `vec0` virtual table with cosine
|
|
104
|
-
* distance metric for hardware-accelerated nearest-neighbor queries. When it is
|
|
105
|
-
* not available, search falls back to JavaScript cosine similarity (fully
|
|
106
|
-
* portable, no native extension required).
|
|
107
|
-
*
|
|
108
|
-
* Each scope (global / project) gets its own database file so project data
|
|
109
|
-
* stays isolated and portable.
|
|
110
|
-
*
|
|
111
|
-
* @example
|
|
112
|
-
* ```typescript
|
|
113
|
-
* const store = VectorStoreService.getInstance();
|
|
114
|
-
* store.upsert('doc-123', embedding, { title: 'My Doc' }, 'global');
|
|
115
|
-
* const results = store.search(queryEmbedding, 'global');
|
|
116
|
-
* console.log(store.isVecEnabled('global')); // true if sqlite-vec loaded
|
|
117
|
-
* ```
|
|
118
|
-
*/
|
|
119
|
-
export declare class VectorStoreService {
|
|
120
|
-
private static instance;
|
|
121
|
-
private readonly logger;
|
|
122
|
-
/** Cache of open database connections by resolved db path */
|
|
123
|
-
private readonly databases;
|
|
124
|
-
private constructor();
|
|
125
|
-
/**
|
|
126
|
-
* Get the singleton instance.
|
|
127
|
-
*
|
|
128
|
-
* @returns VectorStoreService instance
|
|
129
|
-
*/
|
|
130
|
-
static getInstance(): VectorStoreService;
|
|
131
|
-
/**
|
|
132
|
-
* Reset the singleton and close all open databases (for testing).
|
|
133
|
-
*/
|
|
134
|
-
static resetInstance(): void;
|
|
135
|
-
/**
|
|
136
|
-
* Resolve the database file path for a given scope.
|
|
137
|
-
*
|
|
138
|
-
* @param scope - 'global' or 'project'
|
|
139
|
-
* @param projectPath - Required when scope is 'project'
|
|
140
|
-
* @returns Absolute path to the SQLite database file
|
|
141
|
-
* @throws Error if projectPath is missing for project scope
|
|
142
|
-
*/
|
|
143
|
-
private dbPath;
|
|
144
|
-
/**
|
|
145
|
-
* Check whether the sqlite-vec native KNN search is available for a scope.
|
|
146
|
-
*
|
|
147
|
-
* @param scope - Storage scope
|
|
148
|
-
* @param projectPath - Required when scope is 'project'
|
|
149
|
-
* @returns true if vec0 virtual table is active
|
|
150
|
-
*/
|
|
151
|
-
isVecEnabled(scope: 'global' | 'project', projectPath?: string): boolean;
|
|
152
|
-
/**
|
|
153
|
-
* Get (or prepare + cache) a statement for the given database state.
|
|
154
|
-
*
|
|
155
|
-
* @param state - Database state to prepare on
|
|
156
|
-
* @param key - Unique cache key
|
|
157
|
-
* @param sql - SQL to prepare if not yet cached
|
|
158
|
-
* @returns A prepared Statement
|
|
159
|
-
*/
|
|
160
|
-
private getStmt;
|
|
161
|
-
/**
|
|
162
|
-
* Open or retrieve a cached database connection. Creates the parent
|
|
163
|
-
* directory, schema, and vec0 table (if sqlite-vec is available) on first
|
|
164
|
-
* access. Handles automatic migration from v1 databases.
|
|
165
|
-
*
|
|
166
|
-
* @param scope - Document scope
|
|
167
|
-
* @param projectPath - Project path for project-scoped databases
|
|
168
|
-
* @returns Internal DatabaseState
|
|
169
|
-
*/
|
|
170
|
-
private getDbState;
|
|
171
|
-
/**
|
|
172
|
-
* Migrate database schema to v2.
|
|
173
|
-
* - Creates vec_config table for tracking schema version and dimensions
|
|
174
|
-
* - Adds dimensions column if missing
|
|
175
|
-
* - Converts JSON TEXT embeddings to BLOB if needed
|
|
176
|
-
* - Creates vec0 virtual table if sqlite-vec is available and dimensions are known
|
|
177
|
-
*
|
|
178
|
-
* @param db - The database to migrate
|
|
179
|
-
* @param vecEnabled - Whether sqlite-vec extension is loaded
|
|
180
|
-
*/
|
|
181
|
-
private migrateSchema;
|
|
182
|
-
/**
|
|
183
|
-
* Create the vec0 virtual table if it doesn't already exist and dimensions
|
|
184
|
-
* are known. Returns true if the table is ready for use.
|
|
185
|
-
*
|
|
186
|
-
* @param db - The database
|
|
187
|
-
* @param dimensions - Explicit dimensions; if omitted, reads from vec_config
|
|
188
|
-
* @returns true if vec0 table exists and is ready
|
|
189
|
-
*/
|
|
190
|
-
private ensureVecTable;
|
|
191
|
-
/**
|
|
192
|
-
* Copy all existing embeddings matching the target dimensions into the vec0
|
|
193
|
-
* virtual table.
|
|
194
|
-
*
|
|
195
|
-
* @param db - The database
|
|
196
|
-
* @param dimensions - Target embedding dimensions
|
|
197
|
-
*/
|
|
198
|
-
private backfillVecTable;
|
|
199
|
-
/**
|
|
200
|
-
* Read the stored embedding dimensions from the vec_config table.
|
|
201
|
-
*
|
|
202
|
-
* @param db - The database
|
|
203
|
-
* @returns Stored dimensions, or null if not yet determined
|
|
204
|
-
*/
|
|
205
|
-
private getStoredDimensions;
|
|
206
|
-
/**
|
|
207
|
-
* Close all open database connections and clear caches.
|
|
208
|
-
*/
|
|
209
|
-
closeAll(): void;
|
|
210
|
-
/**
|
|
211
|
-
* Store or update an embedding for a document.
|
|
212
|
-
*
|
|
213
|
-
* @param id - Document identifier
|
|
214
|
-
* @param embedding - The embedding vector (array of numbers)
|
|
215
|
-
* @param metadata - Optional metadata to associate with the embedding
|
|
216
|
-
* @param scope - Storage scope ('global' or 'project')
|
|
217
|
-
* @param projectPath - Required when scope is 'project'
|
|
218
|
-
* @throws Error if id is empty, embedding is invalid, metadata exceeds size,
|
|
219
|
-
* or dimensions don't match previously stored embeddings
|
|
220
|
-
*/
|
|
221
|
-
upsert(id: string, embedding: number[], metadata: Record<string, unknown>, scope: 'global' | 'project', projectPath?: string): void;
|
|
222
|
-
/**
|
|
223
|
-
* Sync a single embedding to the vec0 virtual table.
|
|
224
|
-
* Uses CAST(? AS INTEGER) for rowid because sqlite-vec's vec0 virtual
|
|
225
|
-
* table does not accept JS number params directly for primary keys.
|
|
226
|
-
*
|
|
227
|
-
* @param state - Database state
|
|
228
|
-
* @param id - Document identifier
|
|
229
|
-
* @param blob - Embedding as a Float32Array buffer
|
|
230
|
-
*/
|
|
231
|
-
private syncToVec;
|
|
232
|
-
/**
|
|
233
|
-
* Batch upsert multiple embeddings in a single transaction. Significantly
|
|
234
|
-
* faster than individual upserts for bulk imports.
|
|
235
|
-
*
|
|
236
|
-
* @param items - Array of { id, embedding, metadata } objects
|
|
237
|
-
* @param scope - Storage scope
|
|
238
|
-
* @param projectPath - Required when scope is 'project'
|
|
239
|
-
* @returns Count of succeeded and failed inserts
|
|
240
|
-
* @throws Error if batch size exceeds MAX_BATCH_SIZE
|
|
241
|
-
*/
|
|
242
|
-
batchUpsert(items: Array<{
|
|
243
|
-
id: string;
|
|
244
|
-
embedding: number[];
|
|
245
|
-
metadata: Record<string, unknown>;
|
|
246
|
-
}>, scope: 'global' | 'project', projectPath?: string): {
|
|
247
|
-
succeeded: number;
|
|
248
|
-
failed: number;
|
|
249
|
-
};
|
|
250
|
-
/**
|
|
251
|
-
* Retrieve a stored embedding by document ID.
|
|
252
|
-
*
|
|
253
|
-
* @param id - Document identifier
|
|
254
|
-
* @param scope - Storage scope
|
|
255
|
-
* @param projectPath - Required when scope is 'project'
|
|
256
|
-
* @returns The vector record, or null if not found
|
|
257
|
-
*/
|
|
258
|
-
get(id: string, scope: 'global' | 'project', projectPath?: string): VectorRecord | null;
|
|
259
|
-
/**
|
|
260
|
-
* Delete an embedding by document ID.
|
|
261
|
-
*
|
|
262
|
-
* @param id - Document identifier
|
|
263
|
-
* @param scope - Storage scope
|
|
264
|
-
* @param projectPath - Required when scope is 'project'
|
|
265
|
-
* @returns True if a record was deleted, false if not found
|
|
266
|
-
*/
|
|
267
|
-
delete(id: string, scope: 'global' | 'project', projectPath?: string): boolean;
|
|
268
|
-
/**
|
|
269
|
-
* Check whether an embedding exists for a given document ID.
|
|
270
|
-
*
|
|
271
|
-
* @param id - Document identifier
|
|
272
|
-
* @param scope - Storage scope
|
|
273
|
-
* @param projectPath - Required when scope is 'project'
|
|
274
|
-
* @returns True if the embedding exists
|
|
275
|
-
*/
|
|
276
|
-
has(id: string, scope: 'global' | 'project', projectPath?: string): boolean;
|
|
277
|
-
/**
|
|
278
|
-
* Return the total number of stored embeddings.
|
|
279
|
-
*
|
|
280
|
-
* @param scope - Storage scope
|
|
281
|
-
* @param projectPath - Required when scope is 'project'
|
|
282
|
-
* @returns Count of stored embeddings
|
|
283
|
-
*/
|
|
284
|
-
count(scope: 'global' | 'project', projectPath?: string): number;
|
|
285
|
-
/**
|
|
286
|
-
* Search for the most similar embeddings. Uses native vec0 KNN search when
|
|
287
|
-
* sqlite-vec is available, otherwise falls back to JavaScript cosine
|
|
288
|
-
* similarity.
|
|
289
|
-
*
|
|
290
|
-
* @param queryEmbedding - The query embedding vector
|
|
291
|
-
* @param scope - Storage scope
|
|
292
|
-
* @param projectPath - Required when scope is 'project'
|
|
293
|
-
* @param limit - Maximum number of results (default 10)
|
|
294
|
-
* @param threshold - Minimum similarity threshold (default 0.1)
|
|
295
|
-
* @returns Matching records sorted by descending similarity
|
|
296
|
-
*/
|
|
297
|
-
search(queryEmbedding: number[], scope: 'global' | 'project', projectPath?: string, limit?: number, threshold?: number): VectorSearchResult[];
|
|
298
|
-
/**
|
|
299
|
-
* Native KNN search using sqlite-vec's vec0 virtual table with cosine
|
|
300
|
-
* distance metric. Results are converted from cosine distance (0 = identical,
|
|
301
|
-
* 1 = orthogonal) to cosine similarity (1 = identical, 0 = orthogonal).
|
|
302
|
-
*
|
|
303
|
-
* @param state - Database state
|
|
304
|
-
* @param queryEmbedding - The query vector
|
|
305
|
-
* @param limit - Max results
|
|
306
|
-
* @param threshold - Minimum cosine similarity
|
|
307
|
-
* @returns Sorted search results
|
|
308
|
-
*/
|
|
309
|
-
private vecSearch;
|
|
310
|
-
/**
|
|
311
|
-
* JavaScript fallback search using cosine similarity on BLOB embeddings.
|
|
312
|
-
* Used when sqlite-vec is not available.
|
|
313
|
-
*
|
|
314
|
-
* @param state - Database state
|
|
315
|
-
* @param queryEmbedding - The query vector
|
|
316
|
-
* @param limit - Max results
|
|
317
|
-
* @param threshold - Minimum cosine similarity
|
|
318
|
-
* @returns Sorted search results
|
|
319
|
-
*/
|
|
320
|
-
private jsFallbackSearch;
|
|
321
|
-
/**
|
|
322
|
-
* Delete all embeddings from the store. Also resets the stored dimension
|
|
323
|
-
* constraint so that subsequent inserts may use a different embedding width.
|
|
324
|
-
*
|
|
325
|
-
* @param scope - Storage scope
|
|
326
|
-
* @param projectPath - Required when scope is 'project'
|
|
327
|
-
* @returns Number of records deleted
|
|
328
|
-
*/
|
|
329
|
-
clear(scope: 'global' | 'project', projectPath?: string): number;
|
|
330
|
-
}
|
|
331
|
-
//# sourceMappingURL=vector-store.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vector-store.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/memory/vector-store.service.ts"],"names":[],"mappings":"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"}
|