quilltap 3.2.0-dev.38 → 3.2.1
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/bin/quilltap.js +18 -10
- package/package.json +2 -2
package/bin/quilltap.js
CHANGED
|
@@ -131,20 +131,21 @@ function resolveModuleDir(moduleName) {
|
|
|
131
131
|
function ensureNativeModules() {
|
|
132
132
|
const needsRebuild = [];
|
|
133
133
|
|
|
134
|
-
// Check better-sqlite3
|
|
135
|
-
//
|
|
134
|
+
// Check better-sqlite3-multiple-ciphers (provides SQLCipher encryption support).
|
|
135
|
+
// The main app depends on this via an npm alias as 'better-sqlite3', so we must
|
|
136
|
+
// ensure the SQLCipher-capable version is available and link it as 'better-sqlite3'.
|
|
136
137
|
// We must load the native binding directly to detect NODE_MODULE_VERSION mismatches.
|
|
137
|
-
// Use require.resolve to find it regardless of npm hoisting.
|
|
138
138
|
try {
|
|
139
|
-
const modDir = resolveModuleDir('better-sqlite3')
|
|
139
|
+
const modDir = resolveModuleDir('better-sqlite3-multiple-ciphers')
|
|
140
|
+
|| resolveModuleDir('better-sqlite3');
|
|
140
141
|
if (!modDir) throw Object.assign(new Error('not found'), { code: 'MODULE_NOT_FOUND' });
|
|
141
142
|
const bindingsPath = path.join(modDir, 'build', 'Release', 'better_sqlite3.node');
|
|
142
143
|
require(bindingsPath);
|
|
143
144
|
} catch (err) {
|
|
144
145
|
if (err.message && err.message.includes('NODE_MODULE_VERSION')) {
|
|
145
|
-
needsRebuild.push('better-sqlite3');
|
|
146
|
+
needsRebuild.push('better-sqlite3-multiple-ciphers');
|
|
146
147
|
} else if (err.code === 'MODULE_NOT_FOUND') {
|
|
147
|
-
needsRebuild.push('better-sqlite3');
|
|
148
|
+
needsRebuild.push('better-sqlite3-multiple-ciphers');
|
|
148
149
|
}
|
|
149
150
|
}
|
|
150
151
|
|
|
@@ -223,8 +224,10 @@ function linkNativeModules(standaloneDir) {
|
|
|
223
224
|
}
|
|
224
225
|
}
|
|
225
226
|
|
|
226
|
-
// Link better-sqlite3
|
|
227
|
-
|
|
227
|
+
// Link better-sqlite3-multiple-ciphers as 'better-sqlite3' (the app imports it
|
|
228
|
+
// via npm alias). Prefer the SQLCipher build; fall back to plain better-sqlite3.
|
|
229
|
+
const betterSqlite3Dir = resolveModuleDir('better-sqlite3-multiple-ciphers')
|
|
230
|
+
|| resolveModuleDir('better-sqlite3');
|
|
228
231
|
linkModule('better-sqlite3', betterSqlite3Dir);
|
|
229
232
|
|
|
230
233
|
// Link sharp
|
|
@@ -514,8 +517,13 @@ async function dbCommand(args) {
|
|
|
514
517
|
process.exit(1);
|
|
515
518
|
}
|
|
516
519
|
|
|
517
|
-
// Open database
|
|
518
|
-
|
|
520
|
+
// Open database — prefer SQLCipher-capable build
|
|
521
|
+
let Database;
|
|
522
|
+
try {
|
|
523
|
+
Database = require('better-sqlite3-multiple-ciphers');
|
|
524
|
+
} catch {
|
|
525
|
+
Database = require('better-sqlite3');
|
|
526
|
+
}
|
|
519
527
|
const db = new Database(dbPath, { readonly: !repl });
|
|
520
528
|
|
|
521
529
|
if (pepper) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "quilltap",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.1",
|
|
4
4
|
"description": "Self-hosted AI workspace for writers, worldbuilders, and roleplayers. Run with npx quilltap.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Charles Sebold",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"README.md"
|
|
34
34
|
],
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"better-sqlite3": "
|
|
36
|
+
"better-sqlite3-multiple-ciphers": "^12.6.2",
|
|
37
37
|
"sharp": "^0.34.5",
|
|
38
38
|
"tar": "^7.4.3"
|
|
39
39
|
},
|