@remnic/cli 10.0.11 → 10.0.13

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 +54 -2
  2. package/package.json +32 -32
package/dist/index.js CHANGED
@@ -6364,6 +6364,7 @@ var BENCH_VALUE_FLAGS = Object.freeze([
6364
6364
  "--limit",
6365
6365
  "--trial-limit",
6366
6366
  "--trial-concurrency",
6367
+ "--replay-extraction-mode",
6367
6368
  "--ingest-concurrency",
6368
6369
  "--task-filter",
6369
6370
  "--seed",
@@ -6464,6 +6465,7 @@ var RUN_VALUE_FLAGS = Object.freeze([
6464
6465
  "--limit",
6465
6466
  "--trial-limit",
6466
6467
  "--trial-concurrency",
6468
+ "--replay-extraction-mode",
6467
6469
  "--ingest-concurrency",
6468
6470
  "--task-filter",
6469
6471
  "--seed",
@@ -6742,6 +6744,51 @@ function parseBenchResearchArgs(action, args) {
6742
6744
  };
6743
6745
  }
6744
6746
 
6747
+ // src/bench-args-replay-extraction.ts
6748
+ var LOCOMO_REPLAY_EXTRACTION_MODES = Object.freeze(["skip", "await"]);
6749
+ function isLoCoMoReplayExtractionMode(value) {
6750
+ return LOCOMO_REPLAY_EXTRACTION_MODES.includes(value);
6751
+ }
6752
+ function resolveLoCoMoReplayExtractionMode(args) {
6753
+ return args.locomoReplayExtractionMode ?? "skip";
6754
+ }
6755
+ var EXTRACTION_CAPABLE_RUNTIME_PROFILES = Object.freeze([
6756
+ "real",
6757
+ "openclaw-chain"
6758
+ ]);
6759
+ function parseLoCoMoReplayExtractionArgs(args, ctx) {
6760
+ const { action, publishedName, benchmarks } = ctx;
6761
+ const flag = "--replay-extraction-mode";
6762
+ const occurrences = args.filter(
6763
+ (arg) => arg === flag || arg.startsWith(`${flag}=`)
6764
+ ).length;
6765
+ if (occurrences > 1) {
6766
+ throw new Error("ERROR: --replay-extraction-mode may be given only once.");
6767
+ }
6768
+ const raw = readBenchOptionValue(args, flag);
6769
+ if (raw === void 0) return {};
6770
+ if (!isLoCoMoReplayExtractionMode(raw)) {
6771
+ throw new Error("ERROR: --replay-extraction-mode must be one of: skip, await.");
6772
+ }
6773
+ const targetsLoCoMo = publishedName === "locomo" || publishedName === void 0 && action !== "published" && !args.includes("--all") && benchmarks.length === 1 && benchmarks[0] === "locomo";
6774
+ if (!targetsLoCoMo) {
6775
+ throw new Error(
6776
+ "ERROR: --replay-extraction-mode is currently supported only for a single LoCoMo run."
6777
+ );
6778
+ }
6779
+ if (raw === "await") {
6780
+ const capable = ctx.adapter !== "mcp" && ctx.matrixProfiles === void 0 && !args.includes("--quick") && EXTRACTION_CAPABLE_RUNTIME_PROFILES.includes(
6781
+ ctx.runtimeProfile ?? "baseline"
6782
+ );
6783
+ if (!capable) {
6784
+ throw new Error(
6785
+ "ERROR: --replay-extraction-mode await requires the remnic adapter with --runtime-profile real or openclaw-chain (no --matrix or --quick); other setups cannot run extraction."
6786
+ );
6787
+ }
6788
+ }
6789
+ return { locomoReplayExtractionMode: raw };
6790
+ }
6791
+
6745
6792
  // src/bench-args.ts
6746
6793
  function createBenchWorkItems(benchmarks, runtimeProfiles) {
6747
6794
  return benchmarks.flatMap(
@@ -7574,6 +7621,7 @@ function parseBenchArgs(argv) {
7574
7621
  resume,
7575
7622
  retryFailed,
7576
7623
  ...research,
7624
+ ...parseLoCoMoReplayExtractionArgs(args, { action, publishedName, benchmarks, runtimeProfile, matrixProfiles, adapter }),
7577
7625
  driftGenAction,
7578
7626
  driftGenDir
7579
7627
  };
@@ -11360,6 +11408,10 @@ Options:
11360
11408
  --threshold <value> Regression threshold for compare (default: 0.05);
11361
11409
  gold-memory similarity threshold for attribute (default: 0.6)
11362
11410
  --trial-limit <n> Cap scored LoCoMo or MemoryAgentBench QA trials for staged published runs
11411
+ --replay-extraction-mode <skip|await>
11412
+ LoCoMo only: memory extraction during replay ingest
11413
+ (default: skip; await compares extractor models and
11414
+ needs --runtime-profile real|openclaw-chain)
11363
11415
  --task-ids-file <path> Select an explicit JSON array of LoCoMo task IDs
11364
11416
  --expected-task-id-list-sha256 <sha256>
11365
11417
  Pin the selected LoCoMo task-ID list
@@ -12628,7 +12680,7 @@ function buildPublishedBenchmarkOptions(benchmarkId, args, taskSelector) {
12628
12680
  return {
12629
12681
  ...trialLimitOptions ?? {},
12630
12682
  ...trialConcurrencyOptions ?? {},
12631
- replayExtractionMode: "skip",
12683
+ replayExtractionMode: resolveLoCoMoReplayExtractionMode(args),
12632
12684
  ...taskSelector ? { taskSelector } : {}
12633
12685
  };
12634
12686
  }
@@ -12906,7 +12958,7 @@ async function runBenchViaPackage(parsed, benchmarkId, runtimeProfile, benchStat
12906
12958
  );
12907
12959
  system = benchmarkId === "memcorrect-v1" && parsed.adapter === "mcp" ? await createPackageMcpMemCorrectAdapter(benchModule, parsed) : await plan.createAdapter({
12908
12960
  ...plan.runtime.adapterOptions,
12909
- ...benchmarkId === "locomo" ? { replayExtractionMode: "skip" } : {},
12961
+ ...benchmarkId === "locomo" ? { replayExtractionMode: resolveLoCoMoReplayExtractionMode(parsed) } : {},
12910
12962
  ...amaBenchProtocol.primaryJudge ? { judge: amaBenchProtocol.primaryJudge } : {}
12911
12963
  });
12912
12964
  if (benchmarkId === "memcorrect-v1" && parsed.adapter === "mcp") {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnic/cli",
3
- "version": "10.0.11",
3
+ "version": "10.0.13",
4
4
  "description": "CLI for Remnic memory — init, query, doctor, daemon management",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -26,26 +26,26 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "yaml": "^2.4.2",
29
- "@remnic/plugin-pi": "^10.0.11",
30
- "@remnic/server": "^10.0.11",
31
- "@remnic/core": "^10.0.11"
29
+ "@remnic/server": "^10.0.13",
30
+ "@remnic/plugin-pi": "^10.0.13",
31
+ "@remnic/core": "^10.0.13"
32
32
  },
33
33
  "peerDependencies": {
34
- "@remnic/bench": "^10.0.11",
35
- "@remnic/plugin-openclaw": "^10.0.11",
36
- "@remnic/export-weclone": "^10.0.11",
37
- "@remnic/import-weclone": "^10.0.11",
38
- "@remnic/import-chatgpt": "^10.0.11",
39
- "@remnic/import-claude": "^10.0.11",
40
- "@remnic/import-gemini": "^10.0.11",
41
- "@remnic/import-lossless-claw": "^10.0.11",
42
- "@remnic/import-mem0": "^10.0.11",
43
- "@remnic/import-supermemory": "^10.0.11",
44
- "@remnic/import-okf": "^10.0.11",
45
- "@remnic/connector-limitless": "^10.0.11",
46
- "@remnic/connector-bee": "^10.0.11",
47
- "@remnic/connector-omi": "^10.0.11",
48
- "@remnic/capture-audio": "^10.0.11"
34
+ "@remnic/bench": "^10.0.13",
35
+ "@remnic/plugin-openclaw": "^10.0.13",
36
+ "@remnic/export-weclone": "^10.0.13",
37
+ "@remnic/import-weclone": "^10.0.13",
38
+ "@remnic/import-chatgpt": "^10.0.13",
39
+ "@remnic/import-claude": "^10.0.13",
40
+ "@remnic/import-gemini": "^10.0.13",
41
+ "@remnic/import-lossless-claw": "^10.0.13",
42
+ "@remnic/import-mem0": "^10.0.13",
43
+ "@remnic/import-supermemory": "^10.0.13",
44
+ "@remnic/import-okf": "^10.0.13",
45
+ "@remnic/connector-limitless": "^10.0.13",
46
+ "@remnic/connector-bee": "^10.0.13",
47
+ "@remnic/connector-omi": "^10.0.13",
48
+ "@remnic/capture-audio": "^10.0.13"
49
49
  },
50
50
  "peerDependenciesMeta": {
51
51
  "@remnic/bench": {
@@ -97,19 +97,19 @@
97
97
  "devDependencies": {
98
98
  "tsup": "^8.5.1",
99
99
  "typescript": "^5.9.3",
100
- "@remnic/bench": "10.0.11",
101
- "@remnic/plugin-openclaw": "10.0.11",
102
- "@remnic/export-weclone": "10.0.11",
103
- "@remnic/import-weclone": "10.0.11",
104
- "@remnic/import-chatgpt": "10.0.11",
105
- "@remnic/import-gemini": "10.0.11",
106
- "@remnic/import-claude": "10.0.11",
107
- "@remnic/import-lossless-claw": "10.0.11",
108
- "@remnic/import-mem0": "10.0.11",
109
- "@remnic/import-supermemory": "10.0.11",
110
- "@remnic/connector-limitless": "10.0.11",
111
- "@remnic/connector-bee": "10.0.11",
112
- "@remnic/connector-omi": "10.0.11"
100
+ "@remnic/bench": "10.0.13",
101
+ "@remnic/plugin-openclaw": "10.0.13",
102
+ "@remnic/export-weclone": "10.0.13",
103
+ "@remnic/import-chatgpt": "10.0.13",
104
+ "@remnic/import-weclone": "10.0.13",
105
+ "@remnic/import-claude": "10.0.13",
106
+ "@remnic/import-gemini": "10.0.13",
107
+ "@remnic/import-mem0": "10.0.13",
108
+ "@remnic/import-supermemory": "10.0.13",
109
+ "@remnic/connector-omi": "10.0.13",
110
+ "@remnic/connector-limitless": "10.0.13",
111
+ "@remnic/import-lossless-claw": "10.0.13",
112
+ "@remnic/connector-bee": "10.0.13"
113
113
  },
114
114
  "license": "MIT",
115
115
  "repository": {