@remnic/cli 9.3.699 → 9.3.701

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.
Files changed (2) hide show
  1. package/dist/index.js +38 -3
  2. package/package.json +28 -28
package/dist/index.js CHANGED
@@ -6762,7 +6762,7 @@ async function cmdCurate(targetPath, json) {
6762
6762
  console.log(`Written: ${result.written.length}`);
6763
6763
  console.log(`Duration: ${result.durationMs}ms`);
6764
6764
  }
6765
- function cmdReview(action, rest) {
6765
+ async function cmdReview(action, rest) {
6766
6766
  const memoryDir = resolveMemoryDir();
6767
6767
  if (action === "list") {
6768
6768
  const result = listReviewItems({ memoryDir });
@@ -6783,7 +6783,42 @@ function cmdReview(action, rest) {
6783
6783
  console.error("Usage: remnic review <approve|dismiss|flag> <id>");
6784
6784
  process.exit(1);
6785
6785
  }
6786
- const result = performReview(memoryDir, id, action);
6786
+ const storage = new StorageManager(memoryDir);
6787
+ const configPath = resolveConfigPath();
6788
+ let tombstonesConfig = null;
6789
+ try {
6790
+ const rawCfg = fs7.existsSync(configPath) ? JSON.parse(fs7.readFileSync(configPath, "utf8")) : {};
6791
+ const remnicCfg = rawCfg.remnic ?? rawCfg.engram ?? rawCfg;
6792
+ const config = parseConfig(remnicCfg);
6793
+ tombstonesConfig = {
6794
+ enabled: config.tombstonesEnabled,
6795
+ semanticMatch: config.tombstonesSemanticMatch,
6796
+ semanticThreshold: config.tombstonesSemanticThreshold,
6797
+ namespace: config.defaultNamespace
6798
+ };
6799
+ } catch {
6800
+ console.error(
6801
+ "review: failed to load the Remnic config \u2014 run `remnic doctor` and check the config file for errors"
6802
+ );
6803
+ }
6804
+ if (tombstonesConfig) {
6805
+ storage.setTombstonesConfig(tombstonesConfig);
6806
+ }
6807
+ const result = performReview(memoryDir, id, action, {
6808
+ onApproveBlockedMemory: (tombstoneId) => {
6809
+ void storage.revokeTombstone(tombstoneId, "user_correction").catch(() => void 0);
6810
+ }
6811
+ });
6812
+ if (result.clearedTombstoneId) {
6813
+ try {
6814
+ await storage.revokeTombstone(result.clearedTombstoneId, "user_correction");
6815
+ } catch {
6816
+ }
6817
+ try {
6818
+ await storage.restoreFactHashAfterApproval(id);
6819
+ } catch {
6820
+ }
6821
+ }
6787
6822
  console.log(result.message);
6788
6823
  } else {
6789
6824
  console.log("Usage: remnic review <list|approve|dismiss|flag> [id]");
@@ -11371,7 +11406,7 @@ Options:
11371
11406
  }
11372
11407
  case "review": {
11373
11408
  const action = rest[0] ?? "list";
11374
- cmdReview(action, rest.slice(1));
11409
+ await cmdReview(action, rest.slice(1));
11375
11410
  break;
11376
11411
  }
11377
11412
  case "sync": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnic/cli",
3
- "version": "9.3.699",
3
+ "version": "9.3.701",
4
4
  "description": "CLI for Remnic memory — init, query, doctor, daemon management",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -26,23 +26,23 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "yaml": "^2.4.2",
29
- "@remnic/plugin-pi": "^9.3.699",
30
- "@remnic/server": "^9.3.699",
31
- "@remnic/core": "^9.3.699"
29
+ "@remnic/plugin-pi": "^9.3.701",
30
+ "@remnic/server": "^9.3.701",
31
+ "@remnic/core": "^9.3.701"
32
32
  },
33
33
  "peerDependencies": {
34
- "@remnic/bench": "^9.3.699",
35
- "@remnic/export-weclone": "^9.3.699",
36
- "@remnic/import-weclone": "^9.3.699",
37
- "@remnic/import-chatgpt": "^9.3.699",
38
- "@remnic/import-claude": "^9.3.699",
39
- "@remnic/import-gemini": "^9.3.699",
40
- "@remnic/import-lossless-claw": "^9.3.699",
41
- "@remnic/import-mem0": "^9.3.699",
42
- "@remnic/import-supermemory": "^9.3.699",
43
- "@remnic/connector-limitless": "^9.3.699",
44
- "@remnic/connector-bee": "^9.3.699",
45
- "@remnic/connector-omi": "^9.3.699"
34
+ "@remnic/bench": "^9.3.701",
35
+ "@remnic/export-weclone": "^9.3.701",
36
+ "@remnic/import-weclone": "^9.3.701",
37
+ "@remnic/import-chatgpt": "^9.3.701",
38
+ "@remnic/import-claude": "^9.3.701",
39
+ "@remnic/import-gemini": "^9.3.701",
40
+ "@remnic/import-lossless-claw": "^9.3.701",
41
+ "@remnic/import-mem0": "^9.3.701",
42
+ "@remnic/import-supermemory": "^9.3.701",
43
+ "@remnic/connector-limitless": "^9.3.701",
44
+ "@remnic/connector-bee": "^9.3.701",
45
+ "@remnic/connector-omi": "^9.3.701"
46
46
  },
47
47
  "peerDependenciesMeta": {
48
48
  "@remnic/bench": {
@@ -85,18 +85,18 @@
85
85
  "devDependencies": {
86
86
  "tsup": "^8.5.1",
87
87
  "typescript": "^5.9.3",
88
- "@remnic/bench": "9.3.699",
89
- "@remnic/export-weclone": "9.3.699",
90
- "@remnic/import-weclone": "9.3.699",
91
- "@remnic/import-chatgpt": "9.3.699",
92
- "@remnic/import-lossless-claw": "9.3.699",
93
- "@remnic/import-supermemory": "9.3.699",
94
- "@remnic/connector-limitless": "9.3.699",
95
- "@remnic/connector-omi": "9.3.699",
96
- "@remnic/import-mem0": "9.3.699",
97
- "@remnic/connector-bee": "9.3.699",
98
- "@remnic/import-gemini": "9.3.699",
99
- "@remnic/import-claude": "9.3.699"
88
+ "@remnic/bench": "9.3.701",
89
+ "@remnic/export-weclone": "9.3.701",
90
+ "@remnic/import-weclone": "9.3.701",
91
+ "@remnic/import-chatgpt": "9.3.701",
92
+ "@remnic/import-gemini": "9.3.701",
93
+ "@remnic/import-mem0": "9.3.701",
94
+ "@remnic/import-claude": "9.3.701",
95
+ "@remnic/import-lossless-claw": "9.3.701",
96
+ "@remnic/import-supermemory": "9.3.701",
97
+ "@remnic/connector-omi": "9.3.701",
98
+ "@remnic/connector-bee": "9.3.701",
99
+ "@remnic/connector-limitless": "9.3.701"
100
100
  },
101
101
  "license": "MIT",
102
102
  "repository": {