fivocell 6.0.3 → 6.2.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/__tests__/archive-versioning.test.d.ts +2 -0
- package/dist/__tests__/archive-versioning.test.d.ts.map +1 -0
- package/dist/__tests__/archive-versioning.test.js +131 -0
- package/dist/__tests__/archive-versioning.test.js.map +1 -0
- package/dist/__tests__/blob-vault.test.d.ts +2 -0
- package/dist/__tests__/blob-vault.test.d.ts.map +1 -0
- package/dist/__tests__/blob-vault.test.js +125 -0
- package/dist/__tests__/blob-vault.test.js.map +1 -0
- package/dist/__tests__/cell-mirror.test.d.ts +2 -0
- package/dist/__tests__/cell-mirror.test.d.ts.map +1 -0
- package/dist/__tests__/cell-mirror.test.js +122 -0
- package/dist/__tests__/cell-mirror.test.js.map +1 -0
- package/dist/__tests__/context-pipeline.test.d.ts +2 -0
- package/dist/__tests__/context-pipeline.test.d.ts.map +1 -0
- package/dist/__tests__/context-pipeline.test.js +119 -0
- package/dist/__tests__/context-pipeline.test.js.map +1 -0
- package/dist/__tests__/key-provider.test.d.ts +2 -0
- package/dist/__tests__/key-provider.test.d.ts.map +1 -0
- package/dist/__tests__/key-provider.test.js +74 -0
- package/dist/__tests__/key-provider.test.js.map +1 -0
- package/dist/walls/06-memory/archive/archive-versioning.d.ts +33 -0
- package/dist/walls/06-memory/archive/archive-versioning.d.ts.map +1 -0
- package/dist/walls/06-memory/archive/archive-versioning.js +201 -0
- package/dist/walls/06-memory/archive/archive-versioning.js.map +1 -0
- package/dist/walls/06-memory/archive/blob-vault.d.ts +47 -0
- package/dist/walls/06-memory/archive/blob-vault.d.ts.map +1 -0
- package/dist/walls/06-memory/archive/blob-vault.js +289 -0
- package/dist/walls/06-memory/archive/blob-vault.js.map +1 -0
- package/dist/walls/06-memory/archive/memory-archive.d.ts.map +1 -1
- package/dist/walls/06-memory/archive/memory-archive.js +29 -5
- package/dist/walls/06-memory/archive/memory-archive.js.map +1 -1
- package/dist/walls/06-memory/mirror/cell-mirror.d.ts +32 -0
- package/dist/walls/06-memory/mirror/cell-mirror.d.ts.map +1 -0
- package/dist/walls/06-memory/mirror/cell-mirror.js +380 -0
- package/dist/walls/06-memory/mirror/cell-mirror.js.map +1 -0
- package/dist/walls/06-memory/privacy/key-migration.d.ts +14 -0
- package/dist/walls/06-memory/privacy/key-migration.d.ts.map +1 -0
- package/dist/walls/06-memory/privacy/key-migration.js +124 -0
- package/dist/walls/06-memory/privacy/key-migration.js.map +1 -0
- package/dist/walls/06-memory/privacy/key-provider-file.d.ts +9 -0
- package/dist/walls/06-memory/privacy/key-provider-file.d.ts.map +1 -0
- package/dist/walls/06-memory/privacy/key-provider-file.js +129 -0
- package/dist/walls/06-memory/privacy/key-provider-file.js.map +1 -0
- package/dist/walls/06-memory/privacy/key-provider-os.d.ts +28 -0
- package/dist/walls/06-memory/privacy/key-provider-os.d.ts.map +1 -0
- package/dist/walls/06-memory/privacy/key-provider-os.js +225 -0
- package/dist/walls/06-memory/privacy/key-provider-os.js.map +1 -0
- package/dist/walls/06-memory/privacy/key-provider.d.ts +38 -0
- package/dist/walls/06-memory/privacy/key-provider.d.ts.map +1 -0
- package/dist/walls/06-memory/privacy/key-provider.js +135 -0
- package/dist/walls/06-memory/privacy/key-provider.js.map +1 -0
- package/dist/walls/06-memory/retrieval/context-pipeline.d.ts +36 -0
- package/dist/walls/06-memory/retrieval/context-pipeline.d.ts.map +1 -0
- package/dist/walls/06-memory/retrieval/context-pipeline.js +321 -0
- package/dist/walls/06-memory/retrieval/context-pipeline.js.map +1 -0
- package/dist/walls/06-memory/stores/memory-search.d.ts +12 -0
- package/dist/walls/06-memory/stores/memory-search.d.ts.map +1 -1
- package/dist/walls/06-memory/stores/memory-search.js +51 -2
- package/dist/walls/06-memory/stores/memory-search.js.map +1 -1
- package/dist/walls/06-memory/stores/sync-engine.d.ts.map +1 -1
- package/dist/walls/06-memory/stores/sync-engine.js +15 -0
- package/dist/walls/06-memory/stores/sync-engine.js.map +1 -1
- package/dist/walls/07-runtime/cli/cli.js +254 -0
- package/dist/walls/07-runtime/cli/cli.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-engine.d.ts","sourceRoot":"","sources":["../../../../src/walls/06-memory/stores/sync-engine.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,OAAO,CAAC;CACrD;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"sync-engine.d.ts","sourceRoot":"","sources":["../../../../src/walls/06-memory/stores/sync-engine.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,OAAO,CAAC;CACrD;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AA+CD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAwC9D;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,CAqD1F;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,GAAG,UAAU,CAqCxF;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,YAAY,EAAE,EACzB,QAAQ,EAAE,YAAY,GAAG,aAAa,GAAG,YAAY,GAAG,WAAW,GAClE,YAAY,EAAE,CAmBhB;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CA0BzD;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAKzD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAY,GAAG,GAAG,EAAE,CAI7E;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAWtD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAgBtE"}
|
|
@@ -51,6 +51,7 @@ const database_1 = require("../database/database");
|
|
|
51
51
|
function getArchiveKey() {
|
|
52
52
|
const globalKeyDir = path.join(os.homedir(), '.fivo', 'cell', 'keys');
|
|
53
53
|
const globalKeyPath = path.join(globalKeyDir, 'local.key');
|
|
54
|
+
// 1. Check global key file
|
|
54
55
|
if (fs.existsSync(globalKeyPath)) {
|
|
55
56
|
try {
|
|
56
57
|
const hex = fs.readFileSync(globalKeyPath, 'utf-8').trim();
|
|
@@ -58,6 +59,19 @@ function getArchiveKey() {
|
|
|
58
59
|
}
|
|
59
60
|
catch { /* regenerate */ }
|
|
60
61
|
}
|
|
62
|
+
// 2. Try key provider
|
|
63
|
+
try {
|
|
64
|
+
const { getOrCreateKey } = require('../privacy/key-provider');
|
|
65
|
+
const key = getOrCreateKey('fivocell-archive', 32);
|
|
66
|
+
if (key && key.length === 32) {
|
|
67
|
+
if (!fs.existsSync(globalKeyDir))
|
|
68
|
+
fs.mkdirSync(globalKeyDir, { recursive: true });
|
|
69
|
+
fs.writeFileSync(globalKeyPath, key.toString('hex'), 'utf-8');
|
|
70
|
+
return key;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch { /* fallback */ }
|
|
74
|
+
// 3. Fallback: project-local
|
|
61
75
|
const localKeyPath = path.join(process.cwd(), '.cell', 'private', '.archive.key');
|
|
62
76
|
if (fs.existsSync(localKeyPath)) {
|
|
63
77
|
try {
|
|
@@ -70,6 +84,7 @@ function getArchiveKey() {
|
|
|
70
84
|
}
|
|
71
85
|
catch { /* regenerate */ }
|
|
72
86
|
}
|
|
87
|
+
// 4. Create new
|
|
73
88
|
const key = crypto.randomBytes(32);
|
|
74
89
|
if (!fs.existsSync(globalKeyDir))
|
|
75
90
|
fs.mkdirSync(globalKeyDir, { recursive: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-engine.js","sourceRoot":"","sources":["../../../../src/walls/06-memory/stores/sync-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync-engine.js","sourceRoot":"","sources":["../../../../src/walls/06-memory/stores/sync-engine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6GA,oCAwCC;AAED,oCAqDC;AAED,kCAqCC;AAED,4CAsBC;AAED,sCA0BC;AAED,4CAKC;AAED,8CAIC;AAED,4CAWC;AAED,8CAgBC;AAnVD,+CAAiC;AACjC,2CAA6B;AAC7B,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,mDAA6C;AA2D7C,SAAS,aAAa;IACpB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAE3D,2BAA2B;IAC3B,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3D,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC9B,CAAC;IAED,sBAAsB;IACtB,IAAI,CAAC;QACH,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,cAAc,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;gBAAE,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClF,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;YAC9D,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;IAE1B,6BAA6B;IAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAClF,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;gBAAE,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClF,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YAC9C,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC9B,CAAC;IAED,gBAAgB;IAChB,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClF,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7D,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,YAAY,CAAC,OAAe;IAC1C,MAAM,EAAE,GAAG,IAAA,gBAAK,GAAE,CAAC;IACnB,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CACvB,2DAA2D,CAC5D,CAAC,GAAG,CAAC,OAAO,CAAU,CAAC;IAExB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1B,OAAO,EAAE,CAAC;QACV,OAAO;QACP,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvB,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO;YAC1D,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU;YAClD,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU;YACtD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;SACvE,CAAC,CAAC;KACJ,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IAE7D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAEhC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE9E,OAAO;QACL,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,aAAa;QACxB,OAAO;QACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,QAAQ;QACR,aAAa,EAAE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC3C,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACzB,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC3B,WAAW,EAAE,MAAM;QACnB,UAAU,EAAE,MAAM,CAAC,MAAM;KAC1B,CAAC;AACJ,CAAC;AAED,SAAgB,YAAY,CAAC,OAAyB,EAAE,aAAqB;IAC3E,MAAM,MAAM,GAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAEnH,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC/D,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAE/C,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAEzB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChF,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAExD,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnF,IAAI,cAAc,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YAChE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,EAAE,GAAG,IAAA,gBAAK,GAAE,CAAC;QAEnB,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YAC7B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CACzB,mFAAmF,CACpF,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;gBAEtD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,EAAE,CAAC,OAAO,CAAC;;;WAGV,CAAC,CAAC,GAAG,CACJ,aAAa,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,CAAC,IAAI,EAC/C,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI,EAC9D,KAAK,CAAC,UAAU,IAAI,IAAI,EAAE,KAAK,CAAC,UAAU,IAAI,CAAC,EAC/C,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,EAChE,KAAK,CAAC,UAAU,CACjB,CAAC;oBACF,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QACH,EAAE,EAAE,CAAC;IACP,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,WAAW,CAAC,OAAe,EAAE,aAA+B;IAC1E,MAAM,WAAW,GAAG,IAAI,GAAG,CACxB,IAAA,gBAAK,GAAE,CAAC,OAAO,CAAC,qEAAqE,CAAC,CAAC,GAAG,CAAC,OAAO,CAEhG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CACxB,CAAC;IAEF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;IAE/D,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,WAAW,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;YACrC,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC/E,SAAS,CAAC,IAAI,CAAC;oBACb,OAAO,EAAE,EAAE;oBACX,YAAY,EAAE,KAAK,CAAC,OAAO;oBAC3B,aAAa,EAAE,MAAM,CAAC,OAAO;oBAC7B,cAAc,EAAE,KAAK,CAAC,UAAU;oBAChC,eAAe,EAAE,MAAM,CAAC,UAAU;oBAClC,eAAe,EAAE,CAAC;oBAClB,gBAAgB,EAAE,CAAC;oBACnB,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/E,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AAC3D,CAAC;AAED,SAAgB,gBAAgB,CAC9B,SAAyB,EACzB,QAAmE;IAEnE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACvB,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,YAAY;gBACf,OAAO,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC5D,KAAK,aAAa;gBAChB,OAAO,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC7D,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,UAAU,GAAG,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAqB,CAAC,CAAC,CAAC,aAAsB,CAAC;gBAC5G,OAAO,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC9C,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAqB,CAAC,CAAC,CAAC,aAAsB,CAAC;gBAC9H,OAAO,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC9C,CAAC;YACD;gBACE,OAAO,CAAC,CAAC;QACb,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,aAAa,CAAC,OAAe;IAC3C,MAAM,EAAE,GAAG,IAAA,gBAAK,GAAE,CAAC;IAEnB,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CACzB,kEAAkE,CACnE,CAAC,GAAG,CAAC,OAAO,CAAsC,CAAC;IAEpD,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAC9B,8FAA8F,CAC/F,CAAC,GAAG,CAAC,OAAO,CAAkB,CAAC;IAEhC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC9E,MAAM,gBAAgB,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAEhD,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAC1B,6EAA6E,CAC9E,CAAC,GAAG,CAAC,OAAO,CAAkB,CAAC;IAEhC,OAAO;QACL,UAAU,EAAE,QAAQ,EAAE,EAAE,IAAI,IAAI;QAChC,aAAa,EAAE,aAAa,CAAC,CAAC;QAC9B,eAAe,EAAE,CAAC;QAClB,SAAS,EAAE,SAAS,CAAC,CAAC;QACtB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,QAAkB;IACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAClC,MAAM,EAAE,GAAG,IAAA,gBAAK,GAAE,CAAC;IACnB,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,EAAE,CAAC,OAAO,CAAC,oDAAoD,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;AACnG,CAAC;AAED,SAAgB,iBAAiB,CAAC,OAAe,EAAE,QAAgB,GAAG;IACpE,OAAO,IAAA,gBAAK,GAAE,CAAC,OAAO,CACpB,sGAAsG,CACvG,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAU,CAAC;AACjC,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,MAAM,EAAE,GAAG,IAAA,gBAAK,GAAE,CAAC;IACnB,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,4DAA4D,CAAC,CAAC,GAAG,CAAC,OAAO,CAA0B,CAAC;IAC9H,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtF,EAAE,CAAC,OAAO,CAAC;;;;GAIV,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC1F,CAAC;AAED,SAAgB,iBAAiB,CAAC,OAAe;IAC/C,MAAM,EAAE,GAAG,IAAA,gBAAK,GAAE,CAAC;IACnB,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CACpB,2FAA2F,CAC5F,CAAC,GAAG,CAAC,OAAO,CAA0D,CAAC;IAExE,IAAI,CAAC,GAAG,EAAE,EAAE;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,4DAA4D,CAAC,CAAC,GAAG,CAAC,OAAO,CAA0B,CAAC;IAE9H,OAAO;QACL,OAAO;QACP,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,SAAS,EAAE,GAAG,CAAC,EAAE;QACjB,QAAQ,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE;KACxB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAyB;IAClD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC/D,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAE/C,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAEzB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChF,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAExD,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACvG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -1740,6 +1740,135 @@ async function doDoctor() {
|
|
|
1740
1740
|
console.log(` ${C.dim('--')} First-run not completed yet`);
|
|
1741
1741
|
issues.push('first-run');
|
|
1742
1742
|
}
|
|
1743
|
+
// 12. Key provider health
|
|
1744
|
+
try {
|
|
1745
|
+
const { getProviderHealthCheck } = require('../../06-memory/privacy/key-provider');
|
|
1746
|
+
const health = getProviderHealthCheck();
|
|
1747
|
+
if (health.available) {
|
|
1748
|
+
console.log(` ${C.success('OK')} Key provider: ${health.name} (${health.health?.method || 'unknown'})`);
|
|
1749
|
+
passes.push('key-provider');
|
|
1750
|
+
}
|
|
1751
|
+
else {
|
|
1752
|
+
console.log(` ${C.warn('--')} Key provider not available — will fallback to file encryption`);
|
|
1753
|
+
issues.push('key-provider');
|
|
1754
|
+
}
|
|
1755
|
+
}
|
|
1756
|
+
catch {
|
|
1757
|
+
console.log(` ${C.dim('--')} Key provider check skipped (module not loaded)`);
|
|
1758
|
+
}
|
|
1759
|
+
// 13. Blob vault health
|
|
1760
|
+
try {
|
|
1761
|
+
const { getBlobStats } = require('../../06-memory/archive/blob-vault');
|
|
1762
|
+
const blobStats = getBlobStats(cwd);
|
|
1763
|
+
if (blobStats.totalBlobs > 0) {
|
|
1764
|
+
console.log(` ${C.success('OK')} Blob vault: ${blobStats.totalBlobs} blobs, ${blobStats.dedupSavingsPercent}% dedup savings`);
|
|
1765
|
+
}
|
|
1766
|
+
else {
|
|
1767
|
+
console.log(` ${C.dim('--')} Blob vault: empty (no large content stored yet)`);
|
|
1768
|
+
}
|
|
1769
|
+
passes.push('blob-vault');
|
|
1770
|
+
}
|
|
1771
|
+
catch {
|
|
1772
|
+
console.log(` ${C.dim('--')} Blob vault check skipped`);
|
|
1773
|
+
}
|
|
1774
|
+
// 14. FTS index health
|
|
1775
|
+
try {
|
|
1776
|
+
const dbPathCheck = path.join(os.homedir(), '.fivo', 'cell', 'cell.db');
|
|
1777
|
+
if (fs.existsSync(dbPathCheck)) {
|
|
1778
|
+
const Database = require('better-sqlite3');
|
|
1779
|
+
const db = new Database(dbPathCheck, { readonly: true });
|
|
1780
|
+
try {
|
|
1781
|
+
const eventCount = db.prepare('SELECT COUNT(*) as c FROM memory_events').get();
|
|
1782
|
+
let ftsCount = 0;
|
|
1783
|
+
try {
|
|
1784
|
+
const ftsRow = db.prepare('SELECT COUNT(*) as c FROM memory_events_fts').get();
|
|
1785
|
+
ftsCount = ftsRow?.c || 0;
|
|
1786
|
+
}
|
|
1787
|
+
catch { /* FTS might not exist */ }
|
|
1788
|
+
const ratio = eventCount.c > 0 ? Math.round(ftsCount / eventCount.c * 100) : 100;
|
|
1789
|
+
if (ratio >= 80) {
|
|
1790
|
+
console.log(` ${C.success('OK')} FTS index: ${ftsCount}/${eventCount.c} events indexed (${ratio}%)`);
|
|
1791
|
+
}
|
|
1792
|
+
else {
|
|
1793
|
+
console.log(` ${C.warn('--')} FTS index stale: ${ftsCount}/${eventCount.c} events indexed (${ratio}%) — run 'cell memory verify'`);
|
|
1794
|
+
}
|
|
1795
|
+
passes.push('fts');
|
|
1796
|
+
}
|
|
1797
|
+
catch {
|
|
1798
|
+
console.log(` ${C.dim('--')} FTS index check failed`);
|
|
1799
|
+
}
|
|
1800
|
+
finally {
|
|
1801
|
+
db.close();
|
|
1802
|
+
}
|
|
1803
|
+
}
|
|
1804
|
+
}
|
|
1805
|
+
catch {
|
|
1806
|
+
console.log(` ${C.dim('--')} FTS health check skipped`);
|
|
1807
|
+
}
|
|
1808
|
+
// 15. DB integrity
|
|
1809
|
+
try {
|
|
1810
|
+
const dbPathCheck = path.join(os.homedir(), '.fivo', 'cell', 'cell.db');
|
|
1811
|
+
if (fs.existsSync(dbPathCheck)) {
|
|
1812
|
+
const Database = require('better-sqlite3');
|
|
1813
|
+
const db = new Database(dbPathCheck, { readonly: true });
|
|
1814
|
+
try {
|
|
1815
|
+
const result = db.pragma('integrity_check');
|
|
1816
|
+
if (result[0]?.integrity_check === 'ok') {
|
|
1817
|
+
console.log(` ${C.success('OK')} Database integrity: OK`);
|
|
1818
|
+
}
|
|
1819
|
+
else {
|
|
1820
|
+
console.log(` ${C.warn('!!')} Database integrity: FAILED — ${result[0]?.integrity_check}`);
|
|
1821
|
+
issues.push('db-integrity');
|
|
1822
|
+
}
|
|
1823
|
+
passes.push('db-integrity');
|
|
1824
|
+
}
|
|
1825
|
+
catch {
|
|
1826
|
+
console.log(` ${C.dim('--')} Database integrity check failed`);
|
|
1827
|
+
}
|
|
1828
|
+
finally {
|
|
1829
|
+
db.close();
|
|
1830
|
+
}
|
|
1831
|
+
}
|
|
1832
|
+
}
|
|
1833
|
+
catch {
|
|
1834
|
+
console.log(` ${C.dim('--')} DB integrity check skipped`);
|
|
1835
|
+
}
|
|
1836
|
+
// 16. Key migration status
|
|
1837
|
+
try {
|
|
1838
|
+
const { getMigrationStatus } = require('../../06-memory/privacy/key-migration');
|
|
1839
|
+
const status = getMigrationStatus();
|
|
1840
|
+
if (status.needsMigration) {
|
|
1841
|
+
console.log(` ${C.warn('--')} Key migration needed — old global key exists, provider chain not populated`);
|
|
1842
|
+
issues.push('key-migration');
|
|
1843
|
+
}
|
|
1844
|
+
else if (status.newProviderHas) {
|
|
1845
|
+
console.log(` ${C.success('OK')} Key migration: provider has key`);
|
|
1846
|
+
passes.push('key-migration');
|
|
1847
|
+
}
|
|
1848
|
+
else {
|
|
1849
|
+
console.log(` ${C.dim('--')} Key migration: no existing key to migrate`);
|
|
1850
|
+
passes.push('key-migration');
|
|
1851
|
+
}
|
|
1852
|
+
}
|
|
1853
|
+
catch {
|
|
1854
|
+
console.log(` ${C.dim('--')} Key migration check skipped`);
|
|
1855
|
+
}
|
|
1856
|
+
// 17. Disk space
|
|
1857
|
+
try {
|
|
1858
|
+
const stats = fs.statfsSync(os.homedir());
|
|
1859
|
+
const freeGB = ((stats.bavail * stats.bsize) / (1024 * 1024 * 1024)).toFixed(1);
|
|
1860
|
+
if (Number(freeGB) > 1) {
|
|
1861
|
+
console.log(` ${C.success('OK')} Disk space: ${freeGB} GB free`);
|
|
1862
|
+
passes.push('disk');
|
|
1863
|
+
}
|
|
1864
|
+
else {
|
|
1865
|
+
console.log(` ${C.warn('!!')} Disk space low: ${freeGB} GB free — may affect archive writes`);
|
|
1866
|
+
issues.push('disk');
|
|
1867
|
+
}
|
|
1868
|
+
}
|
|
1869
|
+
catch {
|
|
1870
|
+
console.log(` ${C.dim('--')} Disk space check skipped`);
|
|
1871
|
+
}
|
|
1743
1872
|
// ─── Summary ──────────────────────────────────────────────────────────
|
|
1744
1873
|
console.log();
|
|
1745
1874
|
const total = passes.length + issues.length;
|
|
@@ -1761,6 +1890,10 @@ async function doDoctor() {
|
|
|
1761
1890
|
'first-run': 'cell setup',
|
|
1762
1891
|
'git': 'git init',
|
|
1763
1892
|
'node': 'npm init -y',
|
|
1893
|
+
'key-provider': 'Check ~/.fivo/cell/keys/ permissions',
|
|
1894
|
+
'key-migration': 'cell memory verify',
|
|
1895
|
+
'db-integrity': 'Restore from backup or re-run cell start',
|
|
1896
|
+
'disk': 'Free up disk space',
|
|
1764
1897
|
};
|
|
1765
1898
|
for (const issue of issues) {
|
|
1766
1899
|
const fix = recovery[issue];
|
|
@@ -3134,6 +3267,9 @@ function doHelp() {
|
|
|
3134
3267
|
console.log(` ${C.primary('cell why <topic>')} Search decisions by topic`);
|
|
3135
3268
|
console.log(` ${C.primary('cell handoff')} Show/update handoff context`);
|
|
3136
3269
|
console.log(` ${C.primary('cell memory')} Search/timeline/compact/verify/export memory`);
|
|
3270
|
+
console.log(` ${C.primary('cell memory doctor')} Full health check — .cell structure + archive + memory`);
|
|
3271
|
+
console.log(` ${C.primary('cell memory mirror')} Sync DB → .cell portable readable files`);
|
|
3272
|
+
console.log(` ${C.primary('cell memory context')} Show context (--short/--full/--topic <name>)`);
|
|
3137
3273
|
console.log(` ${C.primary('cell cross-project')} Share/list/insights from cross-project memory`);
|
|
3138
3274
|
console.log(` ${C.primary('cell dashboard')} Open web dashboard in browser`);
|
|
3139
3275
|
console.log(` ${C.primary('cell perf')} Show performance stats & cache info`);
|
|
@@ -3720,6 +3856,124 @@ function doMemory() {
|
|
|
3720
3856
|
console.log();
|
|
3721
3857
|
return;
|
|
3722
3858
|
}
|
|
3859
|
+
if (sub === 'doctor' || sub === 'd') {
|
|
3860
|
+
console.log(C.bold(' ── Memory Doctor ──\n'));
|
|
3861
|
+
try {
|
|
3862
|
+
const project = path.basename(cwd);
|
|
3863
|
+
const { verifyCellHealth } = require('../../06-memory/mirror/cell-mirror');
|
|
3864
|
+
const { verifyArchiveIntegrity } = require('../../06-memory/archive/archive-versioning');
|
|
3865
|
+
const { getMemoryStats } = require('../../06-memory/stores/memory-event-store');
|
|
3866
|
+
// Cell mirror health
|
|
3867
|
+
const cellHealth = verifyCellHealth(cwd);
|
|
3868
|
+
console.log(C.dim(' .cell Structure:'));
|
|
3869
|
+
const checks = [
|
|
3870
|
+
['handoff/current.md', cellHealth.handoffCurrent],
|
|
3871
|
+
['handoff/history/', cellHealth.handoffHistory],
|
|
3872
|
+
['summaries/daily/', cellHealth.summariesDaily],
|
|
3873
|
+
['summaries/weekly/', cellHealth.summariesWeekly],
|
|
3874
|
+
['summaries/monthly/', cellHealth.summariesMonthly],
|
|
3875
|
+
['patterns/code-patterns.json', cellHealth.patternsCode],
|
|
3876
|
+
['patterns/error-patterns.json', cellHealth.patternsError],
|
|
3877
|
+
['patterns/fix-patterns.json', cellHealth.patternsFix],
|
|
3878
|
+
['patterns/architecture-patterns.json', cellHealth.patternsArch],
|
|
3879
|
+
['style/developer-style.json', cellHealth.styleDeveloper],
|
|
3880
|
+
['style/project-style.json', cellHealth.styleProject],
|
|
3881
|
+
['style/communication.md', cellHealth.styleCommunication],
|
|
3882
|
+
['context/short.md', cellHealth.contextShort],
|
|
3883
|
+
['context/full.md', cellHealth.contextFull],
|
|
3884
|
+
['context/last-session.md', cellHealth.contextLastSession],
|
|
3885
|
+
['memory/archive/', cellHealth.archiveDir],
|
|
3886
|
+
['private/', cellHealth.privateDir],
|
|
3887
|
+
];
|
|
3888
|
+
for (const [name, ok] of checks) {
|
|
3889
|
+
console.log(` ${ok ? C.success('✓') : C.warn('✗')} ${name}`);
|
|
3890
|
+
}
|
|
3891
|
+
console.log(` Total .cell files: ${C.num(String(cellHealth.totalFiles))}`);
|
|
3892
|
+
// Archive integrity
|
|
3893
|
+
console.log(C.dim('\n Archive Integrity:'));
|
|
3894
|
+
const archiveHealth = verifyArchiveIntegrity(cwd);
|
|
3895
|
+
console.log(` Total chunks: ${archiveHealth.totalChunks}`);
|
|
3896
|
+
console.log(` Versioned: ${archiveHealth.versionedChunks}`);
|
|
3897
|
+
console.log(` Unversioned: ${archiveHealth.unversionedChunks}`);
|
|
3898
|
+
console.log(` Total events: ${archiveHealth.totalEvents}`);
|
|
3899
|
+
if (archiveHealth.issues.length > 0) {
|
|
3900
|
+
for (const issue of archiveHealth.issues) {
|
|
3901
|
+
console.log(` ${C.warn('⚠')} ${issue}`);
|
|
3902
|
+
}
|
|
3903
|
+
}
|
|
3904
|
+
else {
|
|
3905
|
+
console.log(` ${C.success('All chunks healthy')}`);
|
|
3906
|
+
}
|
|
3907
|
+
// Memory stats
|
|
3908
|
+
console.log(C.dim('\n Memory Stats:'));
|
|
3909
|
+
const stats = getMemoryStats();
|
|
3910
|
+
console.log(` Events: ${C.num(String(stats.total))}`);
|
|
3911
|
+
console.log(` Avg importance: ${stats.avgImportance}`);
|
|
3912
|
+
console.log(` Oldest: ${stats.oldestEvent || 'none'}`);
|
|
3913
|
+
console.log(` Newest: ${stats.newestEvent || 'none'}`);
|
|
3914
|
+
// Overall verdict
|
|
3915
|
+
const totalIssues = cellHealth.issues.length + archiveHealth.issues.length;
|
|
3916
|
+
console.log();
|
|
3917
|
+
if (totalIssues === 0) {
|
|
3918
|
+
console.log(C.success(' Doctor verdict: HEALTHY ✓'));
|
|
3919
|
+
}
|
|
3920
|
+
else {
|
|
3921
|
+
console.log(C.warn(` Doctor verdict: ${totalIssues} issue(s) found`));
|
|
3922
|
+
for (const issue of cellHealth.issues) {
|
|
3923
|
+
console.log(` ${C.warn('⚠')} ${issue}`);
|
|
3924
|
+
}
|
|
3925
|
+
}
|
|
3926
|
+
}
|
|
3927
|
+
catch (e) {
|
|
3928
|
+
console.log(C.warn(` Doctor failed: ${e?.message || String(e)}`));
|
|
3929
|
+
}
|
|
3930
|
+
console.log();
|
|
3931
|
+
return;
|
|
3932
|
+
}
|
|
3933
|
+
if (sub === 'mirror' || sub === 'm') {
|
|
3934
|
+
console.log(C.bold(' ── Cell Mirror Sync ──\n'));
|
|
3935
|
+
try {
|
|
3936
|
+
const project = path.basename(cwd);
|
|
3937
|
+
const { syncCellMirror } = require('../../06-memory/mirror/cell-mirror');
|
|
3938
|
+
syncCellMirror(cwd, project);
|
|
3939
|
+
console.log(C.success(' .cell mirror synced successfully'));
|
|
3940
|
+
console.log(` Project: ${project}`);
|
|
3941
|
+
console.log(` Location: ${path.join(cwd, '.cell')}`);
|
|
3942
|
+
const { verifyCellHealth } = require('../../06-memory/mirror/cell-mirror');
|
|
3943
|
+
const health = verifyCellHealth(cwd);
|
|
3944
|
+
console.log(` Files: ${health.totalFiles}`);
|
|
3945
|
+
if (health.issues.length > 0) {
|
|
3946
|
+
console.log(C.dim(` Note: ${health.issues.length} missing items`));
|
|
3947
|
+
}
|
|
3948
|
+
}
|
|
3949
|
+
catch (e) {
|
|
3950
|
+
console.log(C.warn(` Mirror sync failed: ${e?.message || String(e)}`));
|
|
3951
|
+
}
|
|
3952
|
+
console.log();
|
|
3953
|
+
return;
|
|
3954
|
+
}
|
|
3955
|
+
if (sub === 'context' || sub === 'ctx') {
|
|
3956
|
+
const ctxMode = args[0] || '--short';
|
|
3957
|
+
console.log(C.bold(` ── Context (${ctxMode}) ──\n`));
|
|
3958
|
+
try {
|
|
3959
|
+
const project = path.basename(cwd);
|
|
3960
|
+
const { buildContext } = require('../../06-memory/retrieval/context-pipeline');
|
|
3961
|
+
const topic = args[1];
|
|
3962
|
+
const result = buildContext({
|
|
3963
|
+
project,
|
|
3964
|
+
projectDir: cwd,
|
|
3965
|
+
mode: ctxMode === '--full' ? 'full' : ctxMode === '--topic' ? 'topic' : 'short',
|
|
3966
|
+
topic,
|
|
3967
|
+
});
|
|
3968
|
+
console.log(result.compactContext);
|
|
3969
|
+
console.log(C.dim(`\n Sources: ${result.stats.totalSources} | Events: ${result.stats.totalEvents} | Score: ${result.stats.relevanceScore.toFixed(1)}`));
|
|
3970
|
+
}
|
|
3971
|
+
catch (e) {
|
|
3972
|
+
console.log(C.warn(` Context failed: ${e?.message || String(e)}`));
|
|
3973
|
+
}
|
|
3974
|
+
console.log();
|
|
3975
|
+
return;
|
|
3976
|
+
}
|
|
3723
3977
|
if (sub === 'export' || sub === 'e') {
|
|
3724
3978
|
console.log(C.bold(' ── Memory Export ──\n'));
|
|
3725
3979
|
try {
|