@skillsmith/core 0.4.8 → 0.4.10
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/README.md +1 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/src/analysis/adapters/java-parsers.d.ts.map +1 -1
- package/dist/src/analysis/adapters/java-parsers.js +9 -2
- package/dist/src/analysis/adapters/java-parsers.js.map +1 -1
- package/dist/src/analytics/AnalyticsRepository.d.ts +1 -1
- package/dist/src/analytics/AnalyticsRepository.d.ts.map +1 -1
- package/dist/src/analytics/ExperimentService.d.ts +1 -1
- package/dist/src/analytics/ExperimentService.d.ts.map +1 -1
- package/dist/src/analytics/ROIDashboardService.d.ts +1 -1
- package/dist/src/analytics/ROIDashboardService.d.ts.map +1 -1
- package/dist/src/analytics/UsageAnalyticsService.d.ts +1 -1
- package/dist/src/analytics/UsageAnalyticsService.d.ts.map +1 -1
- package/dist/src/analytics/metrics-aggregator.d.ts +1 -1
- package/dist/src/analytics/metrics-aggregator.d.ts.map +1 -1
- package/dist/src/analytics/schema.d.ts +1 -1
- package/dist/src/analytics/schema.d.ts.map +1 -1
- package/dist/src/analytics/storage.d.ts.map +1 -1
- package/dist/src/analytics/storage.js +2 -2
- package/dist/src/analytics/storage.js.map +1 -1
- package/dist/src/api/client.d.ts +1 -0
- package/dist/src/api/client.d.ts.map +1 -1
- package/dist/src/api/client.js +14 -7
- package/dist/src/api/client.js.map +1 -1
- package/dist/src/api/schemas.d.ts +17 -10
- package/dist/src/api/schemas.d.ts.map +1 -1
- package/dist/src/api/schemas.js +9 -2
- package/dist/src/api/schemas.js.map +1 -1
- package/dist/src/billing/BillingService.d.ts.map +1 -1
- package/dist/src/billing/BillingService.js.map +1 -1
- package/dist/src/billing/BillingService.types.d.ts +2 -2
- package/dist/src/billing/BillingService.types.d.ts.map +1 -1
- package/dist/src/billing/GDPRComplianceService.d.ts.map +1 -1
- package/dist/src/billing/GDPRComplianceService.js.map +1 -1
- package/dist/src/billing/StripeReconciliationJob.d.ts.map +1 -1
- package/dist/src/billing/StripeReconciliationJob.js.map +1 -1
- package/dist/src/billing/StripeWebhookHandler.d.ts.map +1 -1
- package/dist/src/billing/StripeWebhookHandler.js.map +1 -1
- package/dist/src/billing/gdpr-types.d.ts +2 -2
- package/dist/src/billing/gdpr-types.d.ts.map +1 -1
- package/dist/src/billing/reconciliation-types.d.ts +2 -2
- package/dist/src/billing/reconciliation-types.d.ts.map +1 -1
- package/dist/src/billing/webhook-handlers.d.ts +4 -4
- package/dist/src/billing/webhook-handlers.d.ts.map +1 -1
- package/dist/src/billing/webhook-handlers.js.map +1 -1
- package/dist/src/billing/webhook-types.d.ts +2 -2
- package/dist/src/billing/webhook-types.d.ts.map +1 -1
- package/dist/src/cache/TieredCache.d.ts.map +1 -1
- package/dist/src/cache/TieredCache.js +2 -2
- package/dist/src/cache/TieredCache.js.map +1 -1
- package/dist/src/cache/sqlite.d.ts.map +1 -1
- package/dist/src/cache/sqlite.js +5 -4
- package/dist/src/cache/sqlite.js.map +1 -1
- package/dist/src/db/createDatabase.d.ts +86 -0
- package/dist/src/db/createDatabase.d.ts.map +1 -0
- package/dist/src/db/createDatabase.js +139 -0
- package/dist/src/db/createDatabase.js.map +1 -0
- package/dist/src/db/database-interface.d.ts +141 -0
- package/dist/src/db/database-interface.d.ts.map +1 -0
- package/dist/src/db/database-interface.js +14 -0
- package/dist/src/db/database-interface.js.map +1 -0
- package/dist/src/db/drivers/betterSqlite3Driver.d.ts +48 -0
- package/dist/src/db/drivers/betterSqlite3Driver.d.ts.map +1 -0
- package/dist/src/db/drivers/betterSqlite3Driver.js +138 -0
- package/dist/src/db/drivers/betterSqlite3Driver.js.map +1 -0
- package/dist/src/db/drivers/index.d.ts +8 -0
- package/dist/src/db/drivers/index.d.ts.map +1 -0
- package/dist/src/db/drivers/index.js +8 -0
- package/dist/src/db/drivers/index.js.map +1 -0
- package/dist/src/db/drivers/sqljsDriver.d.ts +91 -0
- package/dist/src/db/drivers/sqljsDriver.d.ts.map +1 -0
- package/dist/src/db/drivers/sqljsDriver.js +335 -0
- package/dist/src/db/drivers/sqljsDriver.js.map +1 -0
- package/dist/src/db/migration.d.ts +1 -1
- package/dist/src/db/migration.d.ts.map +1 -1
- package/dist/src/db/quarantine-schema.d.ts +1 -1
- package/dist/src/db/quarantine-schema.d.ts.map +1 -1
- package/dist/src/db/schema.d.ts +22 -2
- package/dist/src/db/schema.d.ts.map +1 -1
- package/dist/src/db/schema.js +55 -3
- package/dist/src/db/schema.js.map +1 -1
- package/dist/src/embeddings/hnsw-store.js +2 -2
- package/dist/src/embeddings/hnsw-store.js.map +1 -1
- package/dist/src/embeddings/index.d.ts.map +1 -1
- package/dist/src/embeddings/index.js +2 -2
- package/dist/src/embeddings/index.js.map +1 -1
- package/dist/src/exports/repositories.d.ts +4 -1
- package/dist/src/exports/repositories.d.ts.map +1 -1
- package/dist/src/exports/repositories.js +9 -3
- package/dist/src/exports/repositories.js.map +1 -1
- package/dist/src/exports/services.d.ts +1 -0
- package/dist/src/exports/services.d.ts.map +1 -1
- package/dist/src/exports/services.js +4 -0
- package/dist/src/exports/services.js.map +1 -1
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/indexer/SkillParser.d.ts +20 -0
- package/dist/src/indexer/SkillParser.d.ts.map +1 -1
- package/dist/src/indexer/SkillParser.js +58 -0
- package/dist/src/indexer/SkillParser.js.map +1 -1
- package/dist/src/learning/PatternStore.d.ts.map +1 -1
- package/dist/src/learning/PatternStore.js +2 -7
- package/dist/src/learning/PatternStore.js.map +1 -1
- package/dist/src/learning/PatternStore.queries.d.ts +17 -17
- package/dist/src/learning/PatternStore.queries.d.ts.map +1 -1
- package/dist/src/learning/PatternStore.queries.js.map +1 -1
- package/dist/src/repositories/CacheRepository.d.ts +1 -1
- package/dist/src/repositories/CacheRepository.d.ts.map +1 -1
- package/dist/src/repositories/IndexerRepository.d.ts +1 -1
- package/dist/src/repositories/IndexerRepository.d.ts.map +1 -1
- package/dist/src/repositories/SkillRepository.d.ts +1 -1
- package/dist/src/repositories/SkillRepository.d.ts.map +1 -1
- package/dist/src/repositories/SyncConfigRepository.d.ts +1 -1
- package/dist/src/repositories/SyncConfigRepository.d.ts.map +1 -1
- package/dist/src/repositories/SyncHistoryRepository.d.ts +1 -1
- package/dist/src/repositories/SyncHistoryRepository.d.ts.map +1 -1
- package/dist/src/repositories/quarantine/QuarantineRepository.d.ts +1 -1
- package/dist/src/repositories/quarantine/QuarantineRepository.d.ts.map +1 -1
- package/dist/src/repositories/quarantine/QuarantineRepository.js +4 -1
- package/dist/src/repositories/quarantine/QuarantineRepository.js.map +1 -1
- package/dist/src/scripts/merge-skills.d.ts.map +1 -1
- package/dist/src/scripts/merge-skills.js +2 -2
- package/dist/src/scripts/merge-skills.js.map +1 -1
- package/dist/src/scripts/review-lenny-skills.js +2 -2
- package/dist/src/scripts/review-lenny-skills.js.map +1 -1
- package/dist/src/scripts/validation/types.d.ts +2 -2
- package/dist/src/search/hybrid.d.ts.map +1 -1
- package/dist/src/search/hybrid.js +2 -2
- package/dist/src/search/hybrid.js.map +1 -1
- package/dist/src/security/AuditLogger.d.ts +1 -1
- package/dist/src/security/AuditLogger.d.ts.map +1 -1
- package/dist/src/security/audit-types.d.ts +2 -2
- package/dist/src/security/audit-types.d.ts.map +1 -1
- package/dist/src/security/audit-types.js.map +1 -1
- package/dist/src/security/sanitization.d.ts.map +1 -1
- package/dist/src/security/sanitization.js +25 -17
- package/dist/src/security/sanitization.js.map +1 -1
- package/dist/src/services/SearchService.d.ts +1 -1
- package/dist/src/services/SearchService.d.ts.map +1 -1
- package/dist/src/services/TransformationService.d.ts +1 -1
- package/dist/src/services/TransformationService.d.ts.map +1 -1
- package/dist/src/services/index.d.ts +9 -0
- package/dist/src/services/index.d.ts.map +1 -0
- package/dist/src/services/index.js +10 -0
- package/dist/src/services/index.js.map +1 -0
- package/dist/src/services/quarantine/QuarantineService.d.ts +149 -0
- package/dist/src/services/quarantine/QuarantineService.d.ts.map +1 -0
- package/dist/src/services/quarantine/QuarantineService.js +406 -0
- package/dist/src/services/quarantine/QuarantineService.js.map +1 -0
- package/dist/src/services/quarantine/index.d.ts +10 -0
- package/dist/src/services/quarantine/index.d.ts.map +1 -0
- package/dist/src/services/quarantine/index.js +14 -0
- package/dist/src/services/quarantine/index.js.map +1 -0
- package/dist/src/services/quarantine/types.d.ts +127 -0
- package/dist/src/services/quarantine/types.d.ts.map +1 -0
- package/dist/src/services/quarantine/types.js +59 -0
- package/dist/src/services/quarantine/types.js.map +1 -0
- package/dist/src/types/skill.d.ts +6 -1
- package/dist/src/types/skill.d.ts.map +1 -1
- package/dist/src/types/skill.js.map +1 -1
- package/dist/src/types.d.ts +1 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/github-url.d.ts +57 -0
- package/dist/src/utils/github-url.d.ts.map +1 -0
- package/dist/src/utils/github-url.js +88 -0
- package/dist/src/utils/github-url.js.map +1 -0
- package/dist/src/utils/index.d.ts +2 -0
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +4 -0
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/utils/safe-fs.d.ts +63 -0
- package/dist/src/utils/safe-fs.d.ts.map +1 -0
- package/dist/src/utils/safe-fs.js +119 -0
- package/dist/src/utils/safe-fs.js.map +1 -0
- package/dist/src/validation/input-validators.d.ts.map +1 -1
- package/dist/src/validation/input-validators.js +11 -4
- package/dist/src/validation/input-validators.js.map +1 -1
- package/dist/tests/Analytics.integration.test.js +2 -2
- package/dist/tests/Analytics.integration.test.js.map +1 -1
- package/dist/tests/AnalyticsRepository.test.js +2 -2
- package/dist/tests/AnalyticsRepository.test.js.map +1 -1
- package/dist/tests/AuditLogger.test.js.map +1 -1
- package/dist/tests/ExperimentService.test.js +2 -2
- package/dist/tests/ExperimentService.test.js.map +1 -1
- package/dist/tests/QuarantineRepository.test.js +39 -2
- package/dist/tests/QuarantineRepository.test.js.map +1 -1
- package/dist/tests/ROIDashboardService.test.js +2 -2
- package/dist/tests/ROIDashboardService.test.js.map +1 -1
- package/dist/tests/UsageAnalyticsService.test.js +2 -2
- package/dist/tests/UsageAnalyticsService.test.js.map +1 -1
- package/dist/tests/analytics/metrics-aggregator.test.js +2 -2
- package/dist/tests/analytics/metrics-aggregator.test.js.map +1 -1
- package/dist/tests/analytics/metrics-exporter.test.js +2 -2
- package/dist/tests/analytics/metrics-exporter.test.js.map +1 -1
- package/dist/tests/api/client.structural-typing.test.d.ts +11 -0
- package/dist/tests/api/client.structural-typing.test.d.ts.map +1 -0
- package/dist/tests/api/client.structural-typing.test.js +209 -0
- package/dist/tests/api/client.structural-typing.test.js.map +1 -0
- package/dist/tests/billing/BillingService.test.js +2 -2
- package/dist/tests/billing/BillingService.test.js.map +1 -1
- package/dist/tests/billing/GDPRCompliance.test.js +2 -2
- package/dist/tests/billing/GDPRCompliance.test.js.map +1 -1
- package/dist/tests/billing/StripeReconciliation.test.js +2 -2
- package/dist/tests/billing/StripeReconciliation.test.js.map +1 -1
- package/dist/tests/db/database-abstraction.test.d.ts +8 -0
- package/dist/tests/db/database-abstraction.test.d.ts.map +1 -0
- package/dist/tests/db/database-abstraction.test.js +208 -0
- package/dist/tests/db/database-abstraction.test.js.map +1 -0
- package/dist/tests/db/fts5-support.test.d.ts +14 -0
- package/dist/tests/db/fts5-support.test.d.ts.map +1 -0
- package/dist/tests/db/fts5-support.test.js +128 -0
- package/dist/tests/db/fts5-support.test.js.map +1 -0
- package/dist/tests/db/schema-async.test.d.ts +9 -0
- package/dist/tests/db/schema-async.test.d.ts.map +1 -0
- package/dist/tests/db/schema-async.test.js +302 -0
- package/dist/tests/db/schema-async.test.js.map +1 -0
- package/dist/tests/db/sqljs-driver.test.d.ts +8 -0
- package/dist/tests/db/sqljs-driver.test.d.ts.map +1 -0
- package/dist/tests/db/sqljs-driver.test.js +323 -0
- package/dist/tests/db/sqljs-driver.test.js.map +1 -0
- package/dist/tests/edge-cases/EdgeCases.test.js +5 -2
- package/dist/tests/edge-cases/EdgeCases.test.js.map +1 -1
- package/dist/tests/integration/QuarantineService.test.d.ts +11 -0
- package/dist/tests/integration/QuarantineService.test.d.ts.map +1 -0
- package/dist/tests/integration/QuarantineService.test.js +378 -0
- package/dist/tests/integration/QuarantineService.test.js.map +1 -0
- package/dist/tests/schema.test.js.map +1 -1
- package/dist/tests/scripts/import-to-database.test.js +7 -7
- package/dist/tests/scripts/import-to-database.test.js.map +1 -1
- package/dist/tests/unit/check-references.test.d.ts +2 -0
- package/dist/tests/unit/check-references.test.d.ts.map +1 -0
- package/dist/tests/unit/check-references.test.js +118 -0
- package/dist/tests/unit/check-references.test.js.map +1 -0
- package/dist/tests/utils/safe-fs.test.d.ts +12 -0
- package/dist/tests/utils/safe-fs.test.d.ts.map +1 -0
- package/dist/tests/utils/safe-fs.test.js +116 -0
- package/dist/tests/utils/safe-fs.test.js.map +1 -0
- package/package.json +16 -10
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-2182: sql.js (WASM) Driver Implementation
|
|
3
|
+
*
|
|
4
|
+
* Wraps the sql.js library to implement the Database abstraction interface.
|
|
5
|
+
* This driver is used when native modules are NOT available (macOS, WebContainers).
|
|
6
|
+
*
|
|
7
|
+
* sql.js is a JavaScript implementation of SQLite that runs in WebAssembly.
|
|
8
|
+
* It requires async initialization but provides cross-platform compatibility.
|
|
9
|
+
*
|
|
10
|
+
* Key differences from better-sqlite3:
|
|
11
|
+
* - Async initialization (WASM loading)
|
|
12
|
+
* - In-memory by default, manual persistence to file
|
|
13
|
+
* - Different API for prepared statements
|
|
14
|
+
*
|
|
15
|
+
* @see https://github.com/sql-js/sql.js
|
|
16
|
+
*/
|
|
17
|
+
import { createRequire } from 'node:module';
|
|
18
|
+
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
19
|
+
// ESM-compatible require for dynamic module loading
|
|
20
|
+
const require = createRequire(import.meta.url);
|
|
21
|
+
// Cached sql.js module to avoid reloading WASM
|
|
22
|
+
let sqlJsModule = null;
|
|
23
|
+
/**
|
|
24
|
+
* Load sql.js WASM module (cached)
|
|
25
|
+
* @throws Error with user-friendly message if WASM fails to load
|
|
26
|
+
*/
|
|
27
|
+
async function loadSqlJs() {
|
|
28
|
+
if (sqlJsModule) {
|
|
29
|
+
return sqlJsModule;
|
|
30
|
+
}
|
|
31
|
+
try {
|
|
32
|
+
// Dynamic import to avoid loading at module evaluation time
|
|
33
|
+
// Using fts5-sql-bundle for FTS5 full-text search support
|
|
34
|
+
// Handle both ESM and CJS module formats
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
36
|
+
const module = (await import('fts5-sql-bundle'));
|
|
37
|
+
// Extract initSqlJs function from various export shapes:
|
|
38
|
+
// - ESM named export: module.initSqlJs
|
|
39
|
+
// - ESM default with named: module.default.initSqlJs
|
|
40
|
+
// - CJS interop: module.default.default
|
|
41
|
+
const initSqlJs = module.initSqlJs || module.default?.initSqlJs || module.default?.default || module.default;
|
|
42
|
+
// Initialize with bundled WASM - fts5-sql-bundle has a built-in locateFile
|
|
43
|
+
// that correctly resolves the WASM file in its dist/ directory
|
|
44
|
+
sqlJsModule = (await initSqlJs());
|
|
45
|
+
return sqlJsModule;
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
49
|
+
throw new Error(`[Skillsmith] Failed to load sql.js WASM module: ${message}\n\n` +
|
|
50
|
+
'This may indicate a corrupted installation. Try:\n' +
|
|
51
|
+
' npm rebuild fts5-sql-bundle\n' +
|
|
52
|
+
' npm install fts5-sql-bundle');
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Wraps a sql.js prepared statement to implement our Statement interface
|
|
57
|
+
*
|
|
58
|
+
* sql.js statements work differently from better-sqlite3:
|
|
59
|
+
* - bind() and step() are separate operations
|
|
60
|
+
* - get() returns column values as array, not object
|
|
61
|
+
* - We need to handle the conversion to named objects
|
|
62
|
+
*/
|
|
63
|
+
class SqlJsStatementAdapter {
|
|
64
|
+
db;
|
|
65
|
+
sql;
|
|
66
|
+
stmt;
|
|
67
|
+
columnNames = [];
|
|
68
|
+
// Cached statement for changes() and last_insert_rowid() queries
|
|
69
|
+
// Created once per adapter instance, reused on every run() call
|
|
70
|
+
changesStmt;
|
|
71
|
+
constructor(db, sql) {
|
|
72
|
+
this.db = db;
|
|
73
|
+
this.sql = sql;
|
|
74
|
+
this.stmt = db.prepare(sql);
|
|
75
|
+
// Get column names from the statement
|
|
76
|
+
this.columnNames = this.stmt.getColumnNames();
|
|
77
|
+
// Cache the changes query statement for performance
|
|
78
|
+
this.changesStmt = db.prepare('SELECT changes() as changes, last_insert_rowid() as lastId');
|
|
79
|
+
}
|
|
80
|
+
rowToObject(row) {
|
|
81
|
+
if (!row)
|
|
82
|
+
return undefined;
|
|
83
|
+
const obj = {};
|
|
84
|
+
for (let i = 0; i < this.columnNames.length; i++) {
|
|
85
|
+
obj[this.columnNames[i]] = row[i];
|
|
86
|
+
}
|
|
87
|
+
return obj;
|
|
88
|
+
}
|
|
89
|
+
run(...params) {
|
|
90
|
+
// Reset and bind parameters
|
|
91
|
+
this.stmt.reset();
|
|
92
|
+
if (params.length > 0) {
|
|
93
|
+
this.stmt.bind(params);
|
|
94
|
+
}
|
|
95
|
+
// Execute without fetching results
|
|
96
|
+
this.stmt.step();
|
|
97
|
+
this.stmt.reset();
|
|
98
|
+
// Query changes() and last_insert_rowid() using cached statement
|
|
99
|
+
// This avoids creating a new prepared statement on every run() call
|
|
100
|
+
this.changesStmt.reset();
|
|
101
|
+
this.changesStmt.step();
|
|
102
|
+
const result = this.changesStmt.get();
|
|
103
|
+
this.changesStmt.reset();
|
|
104
|
+
return {
|
|
105
|
+
changes: result?.[0] ?? 0,
|
|
106
|
+
lastInsertRowid: result?.[1] ?? 0,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
get(...params) {
|
|
110
|
+
this.stmt.reset();
|
|
111
|
+
if (params.length > 0) {
|
|
112
|
+
this.stmt.bind(params);
|
|
113
|
+
}
|
|
114
|
+
const hasRow = this.stmt.step();
|
|
115
|
+
if (!hasRow) {
|
|
116
|
+
this.stmt.reset();
|
|
117
|
+
return undefined;
|
|
118
|
+
}
|
|
119
|
+
const row = this.stmt.get();
|
|
120
|
+
this.stmt.reset();
|
|
121
|
+
return this.rowToObject(row);
|
|
122
|
+
}
|
|
123
|
+
all(...params) {
|
|
124
|
+
this.stmt.reset();
|
|
125
|
+
if (params.length > 0) {
|
|
126
|
+
this.stmt.bind(params);
|
|
127
|
+
}
|
|
128
|
+
const results = [];
|
|
129
|
+
while (this.stmt.step()) {
|
|
130
|
+
const row = this.stmt.get();
|
|
131
|
+
const obj = this.rowToObject(row);
|
|
132
|
+
if (obj !== undefined) {
|
|
133
|
+
results.push(obj);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
this.stmt.reset();
|
|
137
|
+
return results;
|
|
138
|
+
}
|
|
139
|
+
*iterate(...params) {
|
|
140
|
+
this.stmt.reset();
|
|
141
|
+
if (params.length > 0) {
|
|
142
|
+
this.stmt.bind(params);
|
|
143
|
+
}
|
|
144
|
+
while (this.stmt.step()) {
|
|
145
|
+
const row = this.stmt.get();
|
|
146
|
+
const obj = this.rowToObject(row);
|
|
147
|
+
if (obj !== undefined) {
|
|
148
|
+
yield obj;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
this.stmt.reset();
|
|
152
|
+
}
|
|
153
|
+
finalize() {
|
|
154
|
+
this.stmt.free();
|
|
155
|
+
this.changesStmt.free();
|
|
156
|
+
}
|
|
157
|
+
bind(...params) {
|
|
158
|
+
this.stmt.bind(params);
|
|
159
|
+
return this;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Wraps a sql.js Database to implement our Database interface
|
|
164
|
+
*/
|
|
165
|
+
export class SqlJsDatabaseAdapter {
|
|
166
|
+
db;
|
|
167
|
+
filePath;
|
|
168
|
+
_open = true;
|
|
169
|
+
_memory;
|
|
170
|
+
_readonly;
|
|
171
|
+
// Track transaction nesting depth for SAVEPOINT-based nested transactions
|
|
172
|
+
_transactionDepth = 0;
|
|
173
|
+
constructor(db, filePath, options) {
|
|
174
|
+
this.db = db;
|
|
175
|
+
this.filePath = filePath;
|
|
176
|
+
this._memory = filePath === ':memory:';
|
|
177
|
+
this._readonly = options?.readonly ?? false;
|
|
178
|
+
}
|
|
179
|
+
exec(sql) {
|
|
180
|
+
this.db.run(sql);
|
|
181
|
+
}
|
|
182
|
+
prepare(sql) {
|
|
183
|
+
return new SqlJsStatementAdapter(this.db, sql);
|
|
184
|
+
}
|
|
185
|
+
transaction(fn) {
|
|
186
|
+
// Return a callable function that executes the transaction
|
|
187
|
+
const executeTransaction = (...args) => {
|
|
188
|
+
const depth = this._transactionDepth++;
|
|
189
|
+
const savepoint = `sp_${depth}`;
|
|
190
|
+
try {
|
|
191
|
+
if (depth === 0) {
|
|
192
|
+
// Outermost transaction: use BEGIN TRANSACTION
|
|
193
|
+
this.db.run('BEGIN TRANSACTION');
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
// Nested transaction: use SAVEPOINT
|
|
197
|
+
this.db.run(`SAVEPOINT ${savepoint}`);
|
|
198
|
+
}
|
|
199
|
+
const result = fn(...args);
|
|
200
|
+
if (depth === 0) {
|
|
201
|
+
this.db.run('COMMIT');
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
this.db.run(`RELEASE SAVEPOINT ${savepoint}`);
|
|
205
|
+
}
|
|
206
|
+
return result;
|
|
207
|
+
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
if (depth === 0) {
|
|
210
|
+
this.db.run('ROLLBACK');
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
this.db.run(`ROLLBACK TO SAVEPOINT ${savepoint}`);
|
|
214
|
+
}
|
|
215
|
+
throw error;
|
|
216
|
+
}
|
|
217
|
+
finally {
|
|
218
|
+
this._transactionDepth--;
|
|
219
|
+
}
|
|
220
|
+
};
|
|
221
|
+
return executeTransaction;
|
|
222
|
+
}
|
|
223
|
+
pragma(pragma) {
|
|
224
|
+
// Split pragma into name and optional value
|
|
225
|
+
const [name, value] = pragma.split('=').map((s) => s.trim());
|
|
226
|
+
if (value !== undefined) {
|
|
227
|
+
// Setting a pragma value
|
|
228
|
+
this.db.run(`PRAGMA ${name} = ${value}`);
|
|
229
|
+
return undefined;
|
|
230
|
+
}
|
|
231
|
+
// Getting a pragma value
|
|
232
|
+
const stmt = this.db.prepare(`PRAGMA ${name}`);
|
|
233
|
+
if (stmt.step()) {
|
|
234
|
+
const result = stmt.get();
|
|
235
|
+
stmt.free();
|
|
236
|
+
// For simple pragmas like foreign_keys, return the single value
|
|
237
|
+
return result?.[0];
|
|
238
|
+
}
|
|
239
|
+
stmt.free();
|
|
240
|
+
return undefined;
|
|
241
|
+
}
|
|
242
|
+
close() {
|
|
243
|
+
if (!this._open)
|
|
244
|
+
return;
|
|
245
|
+
// Persist to file before closing (if not memory and not readonly)
|
|
246
|
+
if (!this._memory && !this._readonly && this.filePath) {
|
|
247
|
+
this.persist();
|
|
248
|
+
}
|
|
249
|
+
this.db.close();
|
|
250
|
+
this._open = false;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Persist the in-memory database to file
|
|
254
|
+
*/
|
|
255
|
+
persist() {
|
|
256
|
+
if (this._memory || !this.filePath)
|
|
257
|
+
return;
|
|
258
|
+
const data = this.db.export();
|
|
259
|
+
writeFileSync(this.filePath, Buffer.from(data));
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Export the database as a Uint8Array
|
|
263
|
+
* Useful for manual persistence or serialization
|
|
264
|
+
*/
|
|
265
|
+
export() {
|
|
266
|
+
return this.db.export();
|
|
267
|
+
}
|
|
268
|
+
get open() {
|
|
269
|
+
return this._open;
|
|
270
|
+
}
|
|
271
|
+
get name() {
|
|
272
|
+
return this.filePath;
|
|
273
|
+
}
|
|
274
|
+
get memory() {
|
|
275
|
+
return this._memory;
|
|
276
|
+
}
|
|
277
|
+
get readonly() {
|
|
278
|
+
return this._readonly;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Get the underlying sql.js database instance
|
|
282
|
+
* Use with caution - this bypasses the abstraction layer
|
|
283
|
+
*/
|
|
284
|
+
get native() {
|
|
285
|
+
return this.db;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Create a database connection using sql.js (WASM)
|
|
290
|
+
*
|
|
291
|
+
* @param path - Path to database file, or ':memory:' for in-memory database
|
|
292
|
+
* @param options - Database connection options
|
|
293
|
+
* @returns Promise resolving to a Database instance wrapping sql.js
|
|
294
|
+
* @throws Error if sql.js WASM module fails to load
|
|
295
|
+
*/
|
|
296
|
+
export async function createSqlJsDatabase(path = ':memory:', options) {
|
|
297
|
+
const SQL = await loadSqlJs();
|
|
298
|
+
// Load existing database from file if it exists
|
|
299
|
+
let data;
|
|
300
|
+
if (path !== ':memory:' && existsSync(path)) {
|
|
301
|
+
data = readFileSync(path);
|
|
302
|
+
}
|
|
303
|
+
else if (path !== ':memory:' && options?.fileMustExist) {
|
|
304
|
+
throw new Error(`SQLITE_CANTOPEN: unable to open database file: ${path}`);
|
|
305
|
+
}
|
|
306
|
+
const db = new SQL.Database(data);
|
|
307
|
+
// Set default pragmas for consistency
|
|
308
|
+
// Note: WAL mode is intentionally NOT set for sql.js because:
|
|
309
|
+
// 1. sql.js operates fully in-memory with manual file persistence
|
|
310
|
+
// 2. Journal modes are meaningless without filesystem integration
|
|
311
|
+
// 3. Setting WAL would create false parity expectations with better-sqlite3
|
|
312
|
+
db.run('PRAGMA foreign_keys = ON');
|
|
313
|
+
return new SqlJsDatabaseAdapter(db, path, options);
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Check if fts5-sql-bundle (sql.js with FTS5) is available
|
|
317
|
+
* This always returns true in Node.js since it's a pure JS/WASM module
|
|
318
|
+
*
|
|
319
|
+
* Note: We use require.resolve() here instead of dynamic import() because:
|
|
320
|
+
* 1. This is a synchronous availability check - dynamic import would require async
|
|
321
|
+
* 2. require.resolve() is fast and doesn't load the module, just checks resolvability
|
|
322
|
+
* 3. The actual loading in loadSqlJs() uses dynamic import() for proper ESM support
|
|
323
|
+
*
|
|
324
|
+
* @returns true if fts5-sql-bundle is loadable in Node.js
|
|
325
|
+
*/
|
|
326
|
+
export function isSqlJsAvailable() {
|
|
327
|
+
try {
|
|
328
|
+
require.resolve('fts5-sql-bundle');
|
|
329
|
+
return true;
|
|
330
|
+
}
|
|
331
|
+
catch {
|
|
332
|
+
return false;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
//# sourceMappingURL=sqljsDriver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqljsDriver.js","sourceRoot":"","sources":["../../../../src/db/drivers/sqljsDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @see migration-types.ts for type definitions
|
|
9
9
|
*/
|
|
10
|
-
import type { Database as DatabaseType } from '
|
|
10
|
+
import type { Database as DatabaseType } from './database-interface.js';
|
|
11
11
|
export type { SchemaCompatibility, MergeResult, MergeConflict, MergeStrategy, MergeOptions, SyncStatus, SupabaseSyncConfig, SkillRow, SyncHistoryEntry, } from './migration-types.js';
|
|
12
12
|
import type { SchemaCompatibility, MergeResult, MergeOptions, SyncHistoryEntry } from './migration-types.js';
|
|
13
13
|
export declare function checkSchemaCompatibility(db: DatabaseType): SchemaCompatibility;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../src/db/migration.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../src/db/migration.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAIvE,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,QAAQ,EACR,gBAAgB,GACjB,MAAM,sBAAsB,CAAA;AAG7B,OAAO,KAAK,EACV,mBAAmB,EACnB,WAAW,EAEX,YAAY,EACZ,gBAAgB,EACjB,MAAM,sBAAsB,CAAA;AAM7B,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,YAAY,GAAG,mBAAmB,CAuD9E;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAmBhE;AAqBD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE,YAAyC,GACjD,WAAW,CAiLb;AAMD,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CACnD;IACE,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;CACzB,EACD,WAAW,GAAG,gBAAgB,CAC/B,CAcA;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACrE,IAAI,CAkBN;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,EACpD,MAAM,CAAC,EAAE,WAAW,EACpB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAuBR;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,SAAK,GAAG,gBAAgB,EAAE,CAI/E"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* - RISKY: Can import with warnings displayed
|
|
13
13
|
* - LOW_QUALITY: Can import with reduced quality score
|
|
14
14
|
*/
|
|
15
|
-
import type { Database as DatabaseType } from '
|
|
15
|
+
import type { Database as DatabaseType } from './database-interface.js';
|
|
16
16
|
/**
|
|
17
17
|
* Severity levels for quarantined skills
|
|
18
18
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quarantine-schema.d.ts","sourceRoot":"","sources":["../../../src/db/quarantine-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"quarantine-schema.d.ts","sourceRoot":"","sources":["../../../src/db/quarantine-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEvE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,YAAY,GAAG,OAAO,GAAG,aAAa,CAAA;AAErF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAA;AAExE;;GAEG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6B/B,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,qBAAqB,+uCAyBjC,CAAA;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAEjE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAK5D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAMjE"}
|
package/dist/src/db/schema.d.ts
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* - WAL mode for performance
|
|
9
9
|
* - Indexes for common query patterns
|
|
10
10
|
*/
|
|
11
|
-
import type { Database
|
|
12
|
-
export type DatabaseType =
|
|
11
|
+
import type { Database } from './database-interface.js';
|
|
12
|
+
export type DatabaseType = Database;
|
|
13
13
|
export declare const SCHEMA_VERSION = 4;
|
|
14
14
|
/**
|
|
15
15
|
* SQL statements for creating the database schema
|
|
@@ -62,4 +62,24 @@ export declare function runMigrationsSafe(db: DatabaseType): number;
|
|
|
62
62
|
* Close the database connection safely
|
|
63
63
|
*/
|
|
64
64
|
export declare function closeDatabase(db: DatabaseType): void;
|
|
65
|
+
/**
|
|
66
|
+
* Create a new database connection asynchronously with WASM fallback
|
|
67
|
+
* This initializes the full schema - use openDatabaseAsync for existing databases
|
|
68
|
+
*
|
|
69
|
+
* @param path - Path to database file, or ':memory:' for in-memory
|
|
70
|
+
* @returns Promise resolving to initialized database
|
|
71
|
+
* @throws Error if database creation fails (e.g., invalid path, permission denied)
|
|
72
|
+
* @throws Error if WASM module fails to load when native SQLite is unavailable
|
|
73
|
+
*/
|
|
74
|
+
export declare function createDatabaseAsync(path?: string): Promise<DatabaseType>;
|
|
75
|
+
/**
|
|
76
|
+
* Open an existing database asynchronously with WASM fallback
|
|
77
|
+
* Runs any pending migrations
|
|
78
|
+
*
|
|
79
|
+
* @param path - Path to existing database file
|
|
80
|
+
* @returns Promise resolving to database with migrations applied
|
|
81
|
+
* @throws Error if file does not exist (SQLITE_CANTOPEN)
|
|
82
|
+
* @throws Error if WASM module fails to load when native SQLite is unavailable
|
|
83
|
+
*/
|
|
84
|
+
export declare function openDatabaseAsync(path: string): Promise<DatabaseType>;
|
|
65
85
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/db/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/db/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAGvD,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAA;AAEnC,eAAO,MAAM,cAAc,IAAI,CAAA;AAE/B;;GAEG;AACH,eAAO,MAAM,UAAU,ykKAiItB,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,EA2EjC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,wbAe9B,CAAA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAMvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,YAAY,GAAG,MAAM,CASzD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,MAAM,CAyBtD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,GAAE,MAAmB,GAAG,YAAY,CAUtE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CA2BvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,YAAY,GAAG,MAAM,CAqC1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAEpD;AAQD;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,GAAE,MAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,CAU1F;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CA0B3E"}
|
package/dist/src/db/schema.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* - WAL mode for performance
|
|
9
9
|
* - Indexes for common query patterns
|
|
10
10
|
*/
|
|
11
|
-
import
|
|
11
|
+
import { createDatabaseSync } from './createDatabase.js';
|
|
12
12
|
export const SCHEMA_VERSION = 4;
|
|
13
13
|
/**
|
|
14
14
|
* SQL statements for creating the database schema
|
|
@@ -296,7 +296,7 @@ export function runMigrations(db) {
|
|
|
296
296
|
* This initializes the full schema - use openDatabase for existing databases
|
|
297
297
|
*/
|
|
298
298
|
export function createDatabase(path = ':memory:') {
|
|
299
|
-
const db =
|
|
299
|
+
const db = createDatabaseSync(path);
|
|
300
300
|
// Enable foreign keys
|
|
301
301
|
db.pragma('foreign_keys = ON');
|
|
302
302
|
// Initialize schema
|
|
@@ -308,7 +308,7 @@ export function createDatabase(path = ':memory:') {
|
|
|
308
308
|
* Use this for databases that may have been created by different versions
|
|
309
309
|
*/
|
|
310
310
|
export function openDatabase(path) {
|
|
311
|
-
const db =
|
|
311
|
+
const db = createDatabaseSync(path);
|
|
312
312
|
// Enable foreign keys
|
|
313
313
|
db.pragma('foreign_keys = ON');
|
|
314
314
|
// Check if schema_version table exists
|
|
@@ -377,4 +377,56 @@ export function runMigrationsSafe(db) {
|
|
|
377
377
|
export function closeDatabase(db) {
|
|
378
378
|
db.close();
|
|
379
379
|
}
|
|
380
|
+
// ============================================================================
|
|
381
|
+
// SMI-2206: Async Schema Functions with WASM Fallback
|
|
382
|
+
// ============================================================================
|
|
383
|
+
import { createDatabaseAsync as createDatabaseAsyncFactory } from './createDatabase.js';
|
|
384
|
+
/**
|
|
385
|
+
* Create a new database connection asynchronously with WASM fallback
|
|
386
|
+
* This initializes the full schema - use openDatabaseAsync for existing databases
|
|
387
|
+
*
|
|
388
|
+
* @param path - Path to database file, or ':memory:' for in-memory
|
|
389
|
+
* @returns Promise resolving to initialized database
|
|
390
|
+
* @throws Error if database creation fails (e.g., invalid path, permission denied)
|
|
391
|
+
* @throws Error if WASM module fails to load when native SQLite is unavailable
|
|
392
|
+
*/
|
|
393
|
+
export async function createDatabaseAsync(path = ':memory:') {
|
|
394
|
+
const db = await createDatabaseAsyncFactory(path);
|
|
395
|
+
// Enable foreign keys
|
|
396
|
+
db.pragma('foreign_keys = ON');
|
|
397
|
+
// Initialize schema
|
|
398
|
+
initializeSchema(db);
|
|
399
|
+
return db;
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* Open an existing database asynchronously with WASM fallback
|
|
403
|
+
* Runs any pending migrations
|
|
404
|
+
*
|
|
405
|
+
* @param path - Path to existing database file
|
|
406
|
+
* @returns Promise resolving to database with migrations applied
|
|
407
|
+
* @throws Error if file does not exist (SQLITE_CANTOPEN)
|
|
408
|
+
* @throws Error if WASM module fails to load when native SQLite is unavailable
|
|
409
|
+
*/
|
|
410
|
+
export async function openDatabaseAsync(path) {
|
|
411
|
+
const db = await createDatabaseAsyncFactory(path, { fileMustExist: true });
|
|
412
|
+
// Enable foreign keys
|
|
413
|
+
db.pragma('foreign_keys = ON');
|
|
414
|
+
// Check if schema_version table exists
|
|
415
|
+
const hasSchemaVersion = db
|
|
416
|
+
.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='schema_version'")
|
|
417
|
+
.get();
|
|
418
|
+
if (!hasSchemaVersion) {
|
|
419
|
+
// Database has no version tracking - assume it's a legacy import
|
|
420
|
+
db.exec(`
|
|
421
|
+
CREATE TABLE IF NOT EXISTS schema_version (
|
|
422
|
+
version INTEGER PRIMARY KEY,
|
|
423
|
+
applied_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
424
|
+
);
|
|
425
|
+
INSERT OR IGNORE INTO schema_version (version) VALUES (1);
|
|
426
|
+
`);
|
|
427
|
+
}
|
|
428
|
+
// Run pending migrations safely
|
|
429
|
+
runMigrationsSafe(db);
|
|
430
|
+
return db;
|
|
431
|
+
}
|
|
380
432
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/db/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/db/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* Enable via: SKILLSMITH_USE_HNSW=true
|
|
8
8
|
* @see ADR-009: Embedding Service Fallback Strategy
|
|
9
9
|
*/
|
|
10
|
-
import
|
|
10
|
+
import { createDatabaseSync } from '../db/createDatabase.js';
|
|
11
11
|
export { DEFAULT_HNSW_CONFIG, HNSW_PRESETS } from './hnsw-store.types.js';
|
|
12
12
|
// Re-export factory functions
|
|
13
13
|
export { createHNSWStore, isHNSWAvailable, loadHNSWLib } from './hnsw-store.helpers.js';
|
|
@@ -299,7 +299,7 @@ export class HNSWEmbeddingStore {
|
|
|
299
299
|
}
|
|
300
300
|
// Private methods
|
|
301
301
|
initDatabase(dbPath) {
|
|
302
|
-
this.db =
|
|
302
|
+
this.db = createDatabaseSync(dbPath);
|
|
303
303
|
this.db.exec(`
|
|
304
304
|
CREATE TABLE IF NOT EXISTS skill_embeddings (
|
|
305
305
|
skill_id TEXT PRIMARY KEY,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hnsw-store.js","sourceRoot":"","sources":["../../../src/embeddings/hnsw-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hnsw-store.js","sourceRoot":"","sources":["../../../src/embeddings/hnsw-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/embeddings/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/embeddings/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @see ADR-009: Embedding Service Fallback Strategy
|
|
10
10
|
*/
|
|
11
|
-
import
|
|
11
|
+
import { createDatabaseSync } from '../db/createDatabase.js';
|
|
12
12
|
import { shouldUseFallback, hashText, generateMockEmbedding, loadTransformersModule, isTransformersAvailable, checkTransformersAvailability, getTransformersLoadError, } from './embedding-utils.js';
|
|
13
13
|
// Re-export test utilities
|
|
14
14
|
export const testUtils = {
|
|
@@ -34,7 +34,7 @@ export class EmbeddingService {
|
|
|
34
34
|
const options = typeof optionsOrDbPath === 'string' ? { dbPath: optionsOrDbPath } : (optionsOrDbPath ?? {});
|
|
35
35
|
this.useFallback = shouldUseFallback(options.useFallback);
|
|
36
36
|
if (options.dbPath) {
|
|
37
|
-
this.db =
|
|
37
|
+
this.db = createDatabaseSync(options.dbPath);
|
|
38
38
|
this.initEmbeddingTable();
|
|
39
39
|
}
|
|
40
40
|
}
|