lokicms-plugin-sql 1.0.0
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/federation/cache-layer.d.ts +58 -0
- package/dist/federation/cache-layer.d.ts.map +1 -0
- package/dist/federation/cache-layer.js +210 -0
- package/dist/federation/cache-layer.js.map +1 -0
- package/dist/federation/index.d.ts +12 -0
- package/dist/federation/index.d.ts.map +1 -0
- package/dist/federation/index.js +9 -0
- package/dist/federation/index.js.map +1 -0
- package/dist/federation/source-manager.d.ts +57 -0
- package/dist/federation/source-manager.d.ts.map +1 -0
- package/dist/federation/source-manager.js +238 -0
- package/dist/federation/source-manager.js.map +1 -0
- package/dist/federation/sync-engine.d.ts +68 -0
- package/dist/federation/sync-engine.d.ts.map +1 -0
- package/dist/federation/sync-engine.js +288 -0
- package/dist/federation/sync-engine.js.map +1 -0
- package/dist/index.d.ts +80 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +79 -0
- package/dist/index.js.map +1 -0
- package/dist/plugin.d.ts +28 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +798 -0
- package/dist/plugin.js.map +1 -0
- package/dist/providers/base.d.ts +142 -0
- package/dist/providers/base.d.ts.map +1 -0
- package/dist/providers/base.js +161 -0
- package/dist/providers/base.js.map +1 -0
- package/dist/providers/index.d.ts +22 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +74 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/mariadb.d.ts +83 -0
- package/dist/providers/mariadb.d.ts.map +1 -0
- package/dist/providers/mariadb.js +293 -0
- package/dist/providers/mariadb.js.map +1 -0
- package/dist/providers/mysql.d.ts +78 -0
- package/dist/providers/mysql.d.ts.map +1 -0
- package/dist/providers/mysql.js +284 -0
- package/dist/providers/mysql.js.map +1 -0
- package/dist/providers/postgresql.d.ts +77 -0
- package/dist/providers/postgresql.d.ts.map +1 -0
- package/dist/providers/postgresql.js +296 -0
- package/dist/providers/postgresql.js.map +1 -0
- package/dist/providers/sqlite.d.ts +80 -0
- package/dist/providers/sqlite.d.ts.map +1 -0
- package/dist/providers/sqlite.js +283 -0
- package/dist/providers/sqlite.js.map +1 -0
- package/dist/query/builder.d.ts +74 -0
- package/dist/query/builder.d.ts.map +1 -0
- package/dist/query/builder.js +279 -0
- package/dist/query/builder.js.map +1 -0
- package/dist/query/index.d.ts +10 -0
- package/dist/query/index.d.ts.map +1 -0
- package/dist/query/index.js +8 -0
- package/dist/query/index.js.map +1 -0
- package/dist/query/transformer.d.ts +74 -0
- package/dist/query/transformer.d.ts.map +1 -0
- package/dist/query/transformer.js +236 -0
- package/dist/query/transformer.js.map +1 -0
- package/dist/types.d.ts +350 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +38 -0
- package/dist/types.js.map +1 -0
- package/dist/vectors/adapter.d.ts +128 -0
- package/dist/vectors/adapter.d.ts.map +1 -0
- package/dist/vectors/adapter.js +79 -0
- package/dist/vectors/adapter.js.map +1 -0
- package/dist/vectors/index.d.ts +41 -0
- package/dist/vectors/index.d.ts.map +1 -0
- package/dist/vectors/index.js +87 -0
- package/dist/vectors/index.js.map +1 -0
- package/dist/vectors/lokijs-vector.d.ts +112 -0
- package/dist/vectors/lokijs-vector.d.ts.map +1 -0
- package/dist/vectors/lokijs-vector.js +217 -0
- package/dist/vectors/lokijs-vector.js.map +1 -0
- package/dist/vectors/mariadb-vector.d.ts +56 -0
- package/dist/vectors/mariadb-vector.d.ts.map +1 -0
- package/dist/vectors/mariadb-vector.js +263 -0
- package/dist/vectors/mariadb-vector.js.map +1 -0
- package/dist/vectors/mysql-vector.d.ts +56 -0
- package/dist/vectors/mysql-vector.d.ts.map +1 -0
- package/dist/vectors/mysql-vector.js +235 -0
- package/dist/vectors/mysql-vector.js.map +1 -0
- package/dist/vectors/pgvector.d.ts +52 -0
- package/dist/vectors/pgvector.d.ts.map +1 -0
- package/dist/vectors/pgvector.js +190 -0
- package/dist/vectors/pgvector.js.map +1 -0
- package/dist/vectors/sqlite-vec.d.ts +80 -0
- package/dist/vectors/sqlite-vec.d.ts.map +1 -0
- package/dist/vectors/sqlite-vec.js +362 -0
- package/dist/vectors/sqlite-vec.js.map +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1,362 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLite-vec Adapter
|
|
3
|
+
*
|
|
4
|
+
* SQLite vector adapter using sqlite-vec extension.
|
|
5
|
+
*/
|
|
6
|
+
import { BaseVectorAdapter } from './adapter.js';
|
|
7
|
+
/**
|
|
8
|
+
* SQLite-vec adapter
|
|
9
|
+
*/
|
|
10
|
+
export class SQLiteVecAdapter extends BaseVectorAdapter {
|
|
11
|
+
type = 'sqlite';
|
|
12
|
+
hasVectorSupport = false;
|
|
13
|
+
constructor(options) {
|
|
14
|
+
super(options);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Check if vectors are supported
|
|
18
|
+
*/
|
|
19
|
+
isSupported() {
|
|
20
|
+
return this.hasVectorSupport;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Initialize vector storage
|
|
24
|
+
*/
|
|
25
|
+
async initialize(dimensions) {
|
|
26
|
+
this.dimensions = dimensions;
|
|
27
|
+
// Check for sqlite-vec extension
|
|
28
|
+
try {
|
|
29
|
+
await this.provider.query('SELECT vec_version()');
|
|
30
|
+
this.hasVectorSupport = true;
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
this.hasVectorSupport = false;
|
|
34
|
+
this.logger.warn('sqlite-vec extension not loaded. Using BLOB fallback for vector storage.');
|
|
35
|
+
}
|
|
36
|
+
// Create metadata table (for non-vector data)
|
|
37
|
+
const metaTableName = this.provider.escapeIdentifier(`${this.tableName}_meta`);
|
|
38
|
+
await this.provider.execute(`
|
|
39
|
+
CREATE TABLE IF NOT EXISTS ${metaTableName} (
|
|
40
|
+
id TEXT PRIMARY KEY,
|
|
41
|
+
entry_id TEXT NOT NULL,
|
|
42
|
+
collection TEXT NOT NULL,
|
|
43
|
+
text_hash TEXT NOT NULL,
|
|
44
|
+
created_at INTEGER NOT NULL,
|
|
45
|
+
updated_at INTEGER NOT NULL
|
|
46
|
+
)
|
|
47
|
+
`);
|
|
48
|
+
await this.provider.execute(`
|
|
49
|
+
CREATE INDEX IF NOT EXISTS idx_${this.tableName}_meta_entry_id
|
|
50
|
+
ON ${metaTableName} (entry_id)
|
|
51
|
+
`);
|
|
52
|
+
await this.provider.execute(`
|
|
53
|
+
CREATE INDEX IF NOT EXISTS idx_${this.tableName}_meta_collection
|
|
54
|
+
ON ${metaTableName} (collection)
|
|
55
|
+
`);
|
|
56
|
+
if (this.hasVectorSupport) {
|
|
57
|
+
// Create virtual table for vector search using sqlite-vec
|
|
58
|
+
const vecTableName = this.provider.escapeIdentifier(`${this.tableName}_vec`);
|
|
59
|
+
await this.provider.execute(`
|
|
60
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS ${vecTableName} USING vec0(
|
|
61
|
+
id TEXT PRIMARY KEY,
|
|
62
|
+
vector FLOAT[${dimensions}]
|
|
63
|
+
)
|
|
64
|
+
`);
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
// Fallback: store vectors as BLOB
|
|
68
|
+
const vecTableName = this.provider.escapeIdentifier(`${this.tableName}_vec`);
|
|
69
|
+
await this.provider.execute(`
|
|
70
|
+
CREATE TABLE IF NOT EXISTS ${vecTableName} (
|
|
71
|
+
id TEXT PRIMARY KEY,
|
|
72
|
+
vector BLOB NOT NULL
|
|
73
|
+
)
|
|
74
|
+
`);
|
|
75
|
+
}
|
|
76
|
+
this.initialized = true;
|
|
77
|
+
this.logger.info(`SQLite vector adapter initialized with ${dimensions} dimensions ` +
|
|
78
|
+
`(${this.hasVectorSupport ? 'sqlite-vec' : 'BLOB fallback'})`);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Store a vector
|
|
82
|
+
*/
|
|
83
|
+
async store(entry) {
|
|
84
|
+
const now = Date.now();
|
|
85
|
+
const metaTableName = this.provider.escapeIdentifier(`${this.tableName}_meta`);
|
|
86
|
+
const vecTableName = this.provider.escapeIdentifier(`${this.tableName}_vec`);
|
|
87
|
+
// Start transaction for consistency
|
|
88
|
+
await this.provider.beginTransaction();
|
|
89
|
+
try {
|
|
90
|
+
// Insert/update metadata
|
|
91
|
+
await this.provider.execute(`INSERT INTO ${metaTableName} (id, entry_id, collection, text_hash, created_at, updated_at)
|
|
92
|
+
VALUES (?, ?, ?, ?, ?, ?)
|
|
93
|
+
ON CONFLICT(id) DO UPDATE SET
|
|
94
|
+
text_hash = excluded.text_hash,
|
|
95
|
+
updated_at = excluded.updated_at`, [entry.id, entry.entryId, entry.collection, entry.textHash, now, now]);
|
|
96
|
+
// Insert/update vector
|
|
97
|
+
if (this.hasVectorSupport) {
|
|
98
|
+
// sqlite-vec format
|
|
99
|
+
const vectorJson = JSON.stringify(entry.vector);
|
|
100
|
+
await this.provider.execute(`INSERT INTO ${vecTableName} (id, vector)
|
|
101
|
+
VALUES (?, vec_f32(?))
|
|
102
|
+
ON CONFLICT(id) DO UPDATE SET vector = vec_f32(excluded.vector)`, [entry.id, vectorJson]);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
// BLOB fallback
|
|
106
|
+
const vectorBlob = this.vectorToBlob(entry.vector);
|
|
107
|
+
await this.provider.execute(`INSERT INTO ${vecTableName} (id, vector)
|
|
108
|
+
VALUES (?, ?)
|
|
109
|
+
ON CONFLICT(id) DO UPDATE SET vector = excluded.vector`, [entry.id, vectorBlob]);
|
|
110
|
+
}
|
|
111
|
+
await this.provider.commit();
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
await this.provider.rollback();
|
|
115
|
+
throw error;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Delete by ID
|
|
120
|
+
*/
|
|
121
|
+
async delete(id) {
|
|
122
|
+
const metaTableName = this.provider.escapeIdentifier(`${this.tableName}_meta`);
|
|
123
|
+
const vecTableName = this.provider.escapeIdentifier(`${this.tableName}_vec`);
|
|
124
|
+
await this.provider.beginTransaction();
|
|
125
|
+
try {
|
|
126
|
+
await this.provider.execute(`DELETE FROM ${metaTableName} WHERE id = ?`, [id]);
|
|
127
|
+
await this.provider.execute(`DELETE FROM ${vecTableName} WHERE id = ?`, [id]);
|
|
128
|
+
await this.provider.commit();
|
|
129
|
+
return true;
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
await this.provider.rollback();
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Delete by entry ID
|
|
138
|
+
*/
|
|
139
|
+
async deleteByEntryId(entryId) {
|
|
140
|
+
const metaTableName = this.provider.escapeIdentifier(`${this.tableName}_meta`);
|
|
141
|
+
const vecTableName = this.provider.escapeIdentifier(`${this.tableName}_vec`);
|
|
142
|
+
// Get IDs to delete
|
|
143
|
+
const result = await this.provider.query(`SELECT id FROM ${metaTableName} WHERE entry_id = ?`, [entryId]);
|
|
144
|
+
if (result.rows.length === 0)
|
|
145
|
+
return 0;
|
|
146
|
+
await this.provider.beginTransaction();
|
|
147
|
+
try {
|
|
148
|
+
for (const row of result.rows) {
|
|
149
|
+
await this.provider.execute(`DELETE FROM ${vecTableName} WHERE id = ?`, [row.id]);
|
|
150
|
+
}
|
|
151
|
+
const count = await this.provider.execute(`DELETE FROM ${metaTableName} WHERE entry_id = ?`, [entryId]);
|
|
152
|
+
await this.provider.commit();
|
|
153
|
+
return count;
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
await this.provider.rollback();
|
|
157
|
+
return 0;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Search for similar vectors
|
|
162
|
+
*/
|
|
163
|
+
async search(vector, options = {}) {
|
|
164
|
+
const { limit = 10, collection, minSimilarity = 0 } = options;
|
|
165
|
+
const metaTableName = this.provider.escapeIdentifier(`${this.tableName}_meta`);
|
|
166
|
+
const vecTableName = this.provider.escapeIdentifier(`${this.tableName}_vec`);
|
|
167
|
+
if (this.hasVectorSupport) {
|
|
168
|
+
// Use sqlite-vec for KNN search
|
|
169
|
+
const vectorJson = JSON.stringify(vector);
|
|
170
|
+
let sql = `
|
|
171
|
+
SELECT m.id, m.entry_id, m.collection,
|
|
172
|
+
1 / (1 + v.distance) as similarity
|
|
173
|
+
FROM ${vecTableName} v
|
|
174
|
+
JOIN ${metaTableName} m ON v.id = m.id
|
|
175
|
+
WHERE v.vector MATCH vec_f32(?)
|
|
176
|
+
AND k = ?
|
|
177
|
+
`;
|
|
178
|
+
const params = [vectorJson, limit * 2]; // Get more for filtering
|
|
179
|
+
if (collection) {
|
|
180
|
+
sql = `
|
|
181
|
+
SELECT m.id, m.entry_id, m.collection,
|
|
182
|
+
1 / (1 + v.distance) as similarity
|
|
183
|
+
FROM ${vecTableName} v
|
|
184
|
+
JOIN ${metaTableName} m ON v.id = m.id
|
|
185
|
+
WHERE v.vector MATCH vec_f32(?)
|
|
186
|
+
AND m.collection = ?
|
|
187
|
+
ORDER BY v.distance
|
|
188
|
+
LIMIT ?
|
|
189
|
+
`;
|
|
190
|
+
params.length = 0;
|
|
191
|
+
params.push(vectorJson, collection, limit);
|
|
192
|
+
}
|
|
193
|
+
const result = await this.provider.query(sql, params);
|
|
194
|
+
return result.rows
|
|
195
|
+
.filter((r) => r.similarity >= minSimilarity)
|
|
196
|
+
.slice(0, limit)
|
|
197
|
+
.map((row) => ({
|
|
198
|
+
id: row.id,
|
|
199
|
+
entryId: row.entry_id,
|
|
200
|
+
collection: row.collection,
|
|
201
|
+
similarity: row.similarity,
|
|
202
|
+
}));
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
// BLOB fallback - compute in application
|
|
206
|
+
let sql = `
|
|
207
|
+
SELECT m.id, m.entry_id, m.collection, v.vector
|
|
208
|
+
FROM ${metaTableName} m
|
|
209
|
+
JOIN ${vecTableName} v ON m.id = v.id
|
|
210
|
+
`;
|
|
211
|
+
const params = [];
|
|
212
|
+
if (collection) {
|
|
213
|
+
sql += ` WHERE m.collection = ?`;
|
|
214
|
+
params.push(collection);
|
|
215
|
+
}
|
|
216
|
+
const result = await this.provider.query(sql, params);
|
|
217
|
+
// Calculate cosine similarity for each row
|
|
218
|
+
const results = result.rows
|
|
219
|
+
.map((row) => {
|
|
220
|
+
const storedVector = this.blobToVector(row.vector);
|
|
221
|
+
const similarity = this.cosineSimilarity(vector, storedVector);
|
|
222
|
+
return {
|
|
223
|
+
id: row.id,
|
|
224
|
+
entryId: row.entry_id,
|
|
225
|
+
collection: row.collection,
|
|
226
|
+
similarity,
|
|
227
|
+
};
|
|
228
|
+
})
|
|
229
|
+
.filter((r) => r.similarity >= minSimilarity)
|
|
230
|
+
.sort((a, b) => b.similarity - a.similarity)
|
|
231
|
+
.slice(0, limit);
|
|
232
|
+
return results;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Get vector by ID
|
|
237
|
+
*/
|
|
238
|
+
async get(id) {
|
|
239
|
+
const metaTableName = this.provider.escapeIdentifier(`${this.tableName}_meta`);
|
|
240
|
+
const vecTableName = this.provider.escapeIdentifier(`${this.tableName}_vec`);
|
|
241
|
+
const result = await this.provider.queryOne(`
|
|
242
|
+
SELECT m.id, m.entry_id, m.collection, m.text_hash, m.created_at, m.updated_at, v.vector
|
|
243
|
+
FROM ${metaTableName} m
|
|
244
|
+
JOIN ${vecTableName} v ON m.id = v.id
|
|
245
|
+
WHERE m.id = ?
|
|
246
|
+
`, [id]);
|
|
247
|
+
return result ? this.rowToEntry(result) : null;
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Create index (sqlite-vec handles this automatically)
|
|
251
|
+
*/
|
|
252
|
+
async createIndex(_indexType) {
|
|
253
|
+
if (!this.hasVectorSupport) {
|
|
254
|
+
this.logger.warn('Vector indexing not available without sqlite-vec');
|
|
255
|
+
return false;
|
|
256
|
+
}
|
|
257
|
+
// sqlite-vec uses internal indexing
|
|
258
|
+
this.logger.info('sqlite-vec uses automatic indexing');
|
|
259
|
+
return true;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Check if index exists
|
|
263
|
+
*/
|
|
264
|
+
async hasIndex() {
|
|
265
|
+
// sqlite-vec has built-in indexing
|
|
266
|
+
return this.hasVectorSupport;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Count vectors
|
|
270
|
+
*/
|
|
271
|
+
async count(collection) {
|
|
272
|
+
const metaTableName = this.provider.escapeIdentifier(`${this.tableName}_meta`);
|
|
273
|
+
let sql = `SELECT COUNT(*) as count FROM ${metaTableName}`;
|
|
274
|
+
const params = [];
|
|
275
|
+
if (collection) {
|
|
276
|
+
sql += ` WHERE collection = ?`;
|
|
277
|
+
params.push(collection);
|
|
278
|
+
}
|
|
279
|
+
const result = await this.provider.queryOne(sql, params);
|
|
280
|
+
return result?.count ?? 0;
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Convert row to VectorEntry
|
|
284
|
+
*/
|
|
285
|
+
rowToEntry(row) {
|
|
286
|
+
let vector;
|
|
287
|
+
if (this.hasVectorSupport) {
|
|
288
|
+
vector = this.storageToVector(row.vector);
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
vector = this.blobToVector(row.vector);
|
|
292
|
+
}
|
|
293
|
+
return {
|
|
294
|
+
id: row.id,
|
|
295
|
+
entryId: row.entry_id,
|
|
296
|
+
collection: row.collection,
|
|
297
|
+
vector,
|
|
298
|
+
textHash: row.text_hash,
|
|
299
|
+
createdAt: row.created_at,
|
|
300
|
+
updatedAt: row.updated_at,
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Convert vector to storage format
|
|
305
|
+
*/
|
|
306
|
+
vectorToStorage(vector) {
|
|
307
|
+
return JSON.stringify(vector);
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Convert storage format to vector
|
|
311
|
+
*/
|
|
312
|
+
storageToVector(value) {
|
|
313
|
+
if (typeof value === 'string') {
|
|
314
|
+
return JSON.parse(value);
|
|
315
|
+
}
|
|
316
|
+
if (Array.isArray(value)) {
|
|
317
|
+
return value.map((n) => Number(n));
|
|
318
|
+
}
|
|
319
|
+
if (Buffer.isBuffer(value)) {
|
|
320
|
+
return this.blobToVector(value);
|
|
321
|
+
}
|
|
322
|
+
return [];
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Convert vector to BLOB (float32 array)
|
|
326
|
+
*/
|
|
327
|
+
vectorToBlob(vector) {
|
|
328
|
+
const buffer = Buffer.alloc(vector.length * 4);
|
|
329
|
+
for (let i = 0; i < vector.length; i++) {
|
|
330
|
+
buffer.writeFloatLE(vector[i], i * 4);
|
|
331
|
+
}
|
|
332
|
+
return buffer;
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Convert BLOB to vector
|
|
336
|
+
*/
|
|
337
|
+
blobToVector(blob) {
|
|
338
|
+
const floats = [];
|
|
339
|
+
for (let i = 0; i < blob.length; i += 4) {
|
|
340
|
+
floats.push(blob.readFloatLE(i));
|
|
341
|
+
}
|
|
342
|
+
return floats;
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Compute cosine similarity between two vectors
|
|
346
|
+
*/
|
|
347
|
+
cosineSimilarity(a, b) {
|
|
348
|
+
if (a.length !== b.length)
|
|
349
|
+
return 0;
|
|
350
|
+
let dotProduct = 0;
|
|
351
|
+
let normA = 0;
|
|
352
|
+
let normB = 0;
|
|
353
|
+
for (let i = 0; i < a.length; i++) {
|
|
354
|
+
dotProduct += a[i] * b[i];
|
|
355
|
+
normA += a[i] * a[i];
|
|
356
|
+
normB += b[i] * b[i];
|
|
357
|
+
}
|
|
358
|
+
const magnitude = Math.sqrt(normA) * Math.sqrt(normB);
|
|
359
|
+
return magnitude === 0 ? 0 : dotProduct / magnitude;
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
//# sourceMappingURL=sqlite-vec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite-vec.js","sourceRoot":"","sources":["../../src/vectors/sqlite-vec.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "lokicms-plugin-sql",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Universal SQL adapter for LokiCMS with multi-database support, data federation, and vector search",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "tsc",
|
|
16
|
+
"dev": "tsc --watch",
|
|
17
|
+
"clean": "rimraf dist",
|
|
18
|
+
"typecheck": "tsc --noEmit",
|
|
19
|
+
"prepublishOnly": "npm run build"
|
|
20
|
+
},
|
|
21
|
+
"keywords": [
|
|
22
|
+
"lokicms",
|
|
23
|
+
"plugin",
|
|
24
|
+
"sql",
|
|
25
|
+
"postgresql",
|
|
26
|
+
"mysql",
|
|
27
|
+
"mariadb",
|
|
28
|
+
"sqlite",
|
|
29
|
+
"database",
|
|
30
|
+
"federation",
|
|
31
|
+
"vectors",
|
|
32
|
+
"pgvector"
|
|
33
|
+
],
|
|
34
|
+
"author": "MauricioPerera",
|
|
35
|
+
"license": "MIT",
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"pg": "^8.11.0"
|
|
38
|
+
},
|
|
39
|
+
"optionalDependencies": {
|
|
40
|
+
"mysql2": "^3.6.0",
|
|
41
|
+
"better-sqlite3": "^9.0.0"
|
|
42
|
+
},
|
|
43
|
+
"peerDependencies": {
|
|
44
|
+
"zod": "^3.0.0"
|
|
45
|
+
},
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"@types/better-sqlite3": "^7.6.0",
|
|
48
|
+
"@types/node": "^20.10.0",
|
|
49
|
+
"@types/pg": "^8.10.0",
|
|
50
|
+
"rimraf": "^5.0.5",
|
|
51
|
+
"typescript": "^5.3.0"
|
|
52
|
+
},
|
|
53
|
+
"engines": {
|
|
54
|
+
"node": ">=18.0.0"
|
|
55
|
+
},
|
|
56
|
+
"files": [
|
|
57
|
+
"dist",
|
|
58
|
+
"README.md"
|
|
59
|
+
],
|
|
60
|
+
"repository": {
|
|
61
|
+
"type": "git",
|
|
62
|
+
"url": "https://github.com/MauricioPerera/lokicms-plugin-sql.git"
|
|
63
|
+
}
|
|
64
|
+
}
|