@remnic/cli 10.0.11 → 10.0.12
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/index.js +54 -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:
|
|
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:
|
|
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.
|
|
3
|
+
"version": "10.0.12",
|
|
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/
|
|
30
|
-
"@remnic/
|
|
31
|
-
"@remnic/core": "^10.0.
|
|
29
|
+
"@remnic/server": "^10.0.12",
|
|
30
|
+
"@remnic/plugin-pi": "^10.0.12",
|
|
31
|
+
"@remnic/core": "^10.0.12"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
34
|
-
"@remnic/bench": "^10.0.
|
|
35
|
-
"@remnic/plugin-openclaw": "^10.0.
|
|
36
|
-
"@remnic/export-weclone": "^10.0.
|
|
37
|
-
"@remnic/import-weclone": "^10.0.
|
|
38
|
-
"@remnic/import-chatgpt": "^10.0.
|
|
39
|
-
"@remnic/import-claude": "^10.0.
|
|
40
|
-
"@remnic/import-gemini": "^10.0.
|
|
41
|
-
"@remnic/import-lossless-claw": "^10.0.
|
|
42
|
-
"@remnic/import-mem0": "^10.0.
|
|
43
|
-
"@remnic/import-supermemory": "^10.0.
|
|
44
|
-
"@remnic/import-okf": "^10.0.
|
|
45
|
-
"@remnic/connector-limitless": "^10.0.
|
|
46
|
-
"@remnic/connector-bee": "^10.0.
|
|
47
|
-
"@remnic/connector-omi": "^10.0.
|
|
48
|
-
"@remnic/capture-audio": "^10.0.
|
|
34
|
+
"@remnic/bench": "^10.0.12",
|
|
35
|
+
"@remnic/plugin-openclaw": "^10.0.12",
|
|
36
|
+
"@remnic/export-weclone": "^10.0.12",
|
|
37
|
+
"@remnic/import-weclone": "^10.0.12",
|
|
38
|
+
"@remnic/import-chatgpt": "^10.0.12",
|
|
39
|
+
"@remnic/import-claude": "^10.0.12",
|
|
40
|
+
"@remnic/import-gemini": "^10.0.12",
|
|
41
|
+
"@remnic/import-lossless-claw": "^10.0.12",
|
|
42
|
+
"@remnic/import-mem0": "^10.0.12",
|
|
43
|
+
"@remnic/import-supermemory": "^10.0.12",
|
|
44
|
+
"@remnic/import-okf": "^10.0.12",
|
|
45
|
+
"@remnic/connector-limitless": "^10.0.12",
|
|
46
|
+
"@remnic/connector-bee": "^10.0.12",
|
|
47
|
+
"@remnic/connector-omi": "^10.0.12",
|
|
48
|
+
"@remnic/capture-audio": "^10.0.12"
|
|
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.
|
|
101
|
-
"@remnic/plugin-openclaw": "10.0.
|
|
102
|
-
"@remnic/
|
|
103
|
-
"@remnic/import-
|
|
104
|
-
"@remnic/import-chatgpt": "10.0.
|
|
105
|
-
"@remnic/import-gemini": "10.0.
|
|
106
|
-
"@remnic/import-
|
|
107
|
-
"@remnic/import-
|
|
108
|
-
"@remnic/import-mem0": "10.0.
|
|
109
|
-
"@remnic/
|
|
110
|
-
"@remnic/connector-
|
|
111
|
-
"@remnic/
|
|
112
|
-
"@remnic/connector-
|
|
100
|
+
"@remnic/bench": "10.0.12",
|
|
101
|
+
"@remnic/plugin-openclaw": "10.0.12",
|
|
102
|
+
"@remnic/import-weclone": "10.0.12",
|
|
103
|
+
"@remnic/import-claude": "10.0.12",
|
|
104
|
+
"@remnic/import-chatgpt": "10.0.12",
|
|
105
|
+
"@remnic/import-gemini": "10.0.12",
|
|
106
|
+
"@remnic/import-lossless-claw": "10.0.12",
|
|
107
|
+
"@remnic/import-supermemory": "10.0.12",
|
|
108
|
+
"@remnic/import-mem0": "10.0.12",
|
|
109
|
+
"@remnic/connector-limitless": "10.0.12",
|
|
110
|
+
"@remnic/connector-omi": "10.0.12",
|
|
111
|
+
"@remnic/export-weclone": "10.0.12",
|
|
112
|
+
"@remnic/connector-bee": "10.0.12"
|
|
113
113
|
},
|
|
114
114
|
"license": "MIT",
|
|
115
115
|
"repository": {
|