@deksden-com/dd-flow-cli 0.9.0-beta.79 → 0.9.0-beta.80
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/build-info.json +6 -6
- package/dist/storage/database.js +11 -0
- package/package.json +1 -1
package/dist/build-info.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"cli_package": "@deksden-com/dd-flow-cli",
|
|
3
|
-
"cli_version": "0.9.0-beta.
|
|
4
|
-
"cli_commit": "
|
|
5
|
-
"built_at": "2026-09-
|
|
3
|
+
"cli_version": "0.9.0-beta.80",
|
|
4
|
+
"cli_commit": "258058b332954cc3760d11838a3a8a55de4bb0dd",
|
|
5
|
+
"built_at": "2026-09-19T22:32:15.901Z",
|
|
6
6
|
"built_with_canon": {
|
|
7
7
|
"version": "4.1.1",
|
|
8
8
|
"commit": "97f811d33c212ae3497020178b1ed825c7c3ebac",
|
|
9
9
|
"flow_contract": "dd-flow-canonical-2026-08",
|
|
10
|
-
"repo_root": "/
|
|
11
|
-
"memorybank_root": "/
|
|
12
|
-
"flow_root": "/
|
|
10
|
+
"repo_root": "/home/runner/work/dd-flow-cli/dd-flow-cli/dd-memorybank",
|
|
11
|
+
"memorybank_root": "/home/runner/work/dd-flow-cli/dd-flow-cli/dd-memorybank/.memory-bank",
|
|
12
|
+
"flow_root": "/home/runner/work/dd-flow-cli/dd-flow-cli/dd-memorybank/.memory-bank/dd-flow",
|
|
13
13
|
"layout": "dot_memory_bank"
|
|
14
14
|
}
|
|
15
15
|
}
|
package/dist/storage/database.js
CHANGED
|
@@ -336,6 +336,13 @@ export function withResourceReadSnapshot(resourceHome, read) {
|
|
|
336
336
|
try {
|
|
337
337
|
if (!cached)
|
|
338
338
|
db.exec("PRAGMA busy_timeout = 4000; PRAGMA query_only = ON");
|
|
339
|
+
// A second process can observe SQLite's file before the initializing
|
|
340
|
+
// transaction publishes its schema. Treat that pre-commit view exactly
|
|
341
|
+
// like an absent registry; the writer path remains the serialization
|
|
342
|
+
// boundary and will reopen the committed schema.
|
|
343
|
+
if (!cached && !db.prepare("SELECT 1 FROM sqlite_schema WHERE type = 'table' AND name NOT LIKE 'sqlite_%' LIMIT 1").get()) {
|
|
344
|
+
return read(emptyReadOnlyDatabase(dbPath));
|
|
345
|
+
}
|
|
339
346
|
const reader = cached
|
|
340
347
|
? { ...emptyReadOnlyDatabase(dbPath), get: cached.get, all: cached.all }
|
|
341
348
|
: databaseFacade(dbPath, false, db);
|
|
@@ -370,6 +377,10 @@ export function getResourceDatabase(resourceHome, mode = "initialize") {
|
|
|
370
377
|
const db = new DatabaseSync(dbPath, { readOnly: true });
|
|
371
378
|
try {
|
|
372
379
|
db.exec("PRAGMA busy_timeout = 4000; PRAGMA query_only = ON");
|
|
380
|
+
if (!db.prepare("SELECT 1 FROM sqlite_schema WHERE type = 'table' AND name NOT LIKE 'sqlite_%' LIMIT 1").get()) {
|
|
381
|
+
db.close();
|
|
382
|
+
return emptyReadOnlyDatabase(dbPath);
|
|
383
|
+
}
|
|
373
384
|
}
|
|
374
385
|
catch (error) {
|
|
375
386
|
db.close();
|