@swarmvaultai/cli 0.1.30 → 0.1.32
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/README.md +7 -3
- package/dist/index.js +13 -6
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -135,7 +135,8 @@ Measure graph-guided context reduction against a naive full-corpus read.
|
|
|
135
135
|
Inspect and resolve staged approval bundles created by `swarmvault compile --approve`.
|
|
136
136
|
|
|
137
137
|
- `review list` shows pending, accepted, and rejected entry counts per bundle
|
|
138
|
-
- `review show <approvalId>` shows each staged entry plus its current and staged content
|
|
138
|
+
- `review show <approvalId>` shows each staged entry plus its current and staged content, including a section-level change summary when available
|
|
139
|
+
- `review show <approvalId> --diff` adds a unified diff between current and staged content
|
|
139
140
|
- `review accept <approvalId> [targets...]` applies pending entries to the live wiki
|
|
140
141
|
- `review reject <approvalId> [targets...]` marks pending entries as rejected without mutating active wiki paths
|
|
141
142
|
|
|
@@ -179,13 +180,14 @@ Each step:
|
|
|
179
180
|
|
|
180
181
|
The command also writes a hub page linking the root question, saved step pages, and generated follow-up questions.
|
|
181
182
|
|
|
182
|
-
### `swarmvault lint [--deep] [--web]`
|
|
183
|
+
### `swarmvault lint [--deep] [--web] [--conflicts]`
|
|
183
184
|
|
|
184
|
-
Run anti-drift and vault health checks such as stale pages, missing graph artifacts, and other structural issues.
|
|
185
|
+
Run anti-drift and vault health checks such as stale pages, missing graph artifacts, contradiction findings, and other structural issues.
|
|
185
186
|
|
|
186
187
|
`--deep` adds an LLM-powered advisory pass that can report:
|
|
187
188
|
|
|
188
189
|
- `coverage_gap`
|
|
190
|
+
- `contradiction`
|
|
189
191
|
- `contradiction_candidate`
|
|
190
192
|
- `missing_citation`
|
|
191
193
|
- `candidate_page`
|
|
@@ -193,6 +195,8 @@ Run anti-drift and vault health checks such as stale pages, missing graph artifa
|
|
|
193
195
|
|
|
194
196
|
`--web` can only be used with `--deep`. It enriches deep-lint findings with external evidence snippets and URLs from a configured web-search provider.
|
|
195
197
|
|
|
198
|
+
`--conflicts` filters the results down to contradiction-focused findings so you can audit conflicting claims without the rest of the lint output.
|
|
199
|
+
|
|
196
200
|
### `swarmvault watch [--lint] [--repo] [--once] [--debounce <ms>]`
|
|
197
201
|
|
|
198
202
|
Watch the inbox directory and trigger import and compile cycles when files change. With `--repo`, each cycle also refreshes tracked repo roots that were previously ingested through directory ingest. With `--once`, SwarmVault runs one refresh cycle immediately instead of starting a long-running watcher. With `--lint`, each cycle also runs linting. Each cycle writes a canonical session artifact to `state/sessions/`, and compatibility run metadata is still appended to `state/jobs.ndjson`.
|
package/dist/index.js
CHANGED
|
@@ -217,9 +217,9 @@ program.name("swarmvault").description("SwarmVault is a local-first LLM wiki com
|
|
|
217
217
|
function readCliVersion() {
|
|
218
218
|
try {
|
|
219
219
|
const packageJson = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8"));
|
|
220
|
-
return typeof packageJson.version === "string" && packageJson.version.trim() ? packageJson.version : "0.1.
|
|
220
|
+
return typeof packageJson.version === "string" && packageJson.version.trim() ? packageJson.version : "0.1.32";
|
|
221
221
|
} catch {
|
|
222
|
-
return "0.1.
|
|
222
|
+
return "0.1.32";
|
|
223
223
|
}
|
|
224
224
|
}
|
|
225
225
|
function parsePositiveInt(value, fallback) {
|
|
@@ -397,10 +397,11 @@ program.command("benchmark").description("Measure graph-guided context reduction
|
|
|
397
397
|
log(`Reduction ratio: ${(result.reductionRatio * 100).toFixed(1)}%`);
|
|
398
398
|
}
|
|
399
399
|
});
|
|
400
|
-
program.command("lint").description("Run anti-drift and wiki-health checks.").option("--deep", "Run LLM-powered advisory lint", false).option("--web", "Augment deep lint with configured web search", false).action(async (options) => {
|
|
400
|
+
program.command("lint").description("Run anti-drift and wiki-health checks.").option("--deep", "Run LLM-powered advisory lint", false).option("--web", "Augment deep lint with configured web search", false).option("--conflicts", "Filter to contradiction findings only", false).action(async (options) => {
|
|
401
401
|
const findings = await lintVault(process2.cwd(), {
|
|
402
402
|
deep: options.deep ?? false,
|
|
403
|
-
web: options.web ?? false
|
|
403
|
+
web: options.web ?? false,
|
|
404
|
+
conflicts: options.conflicts ?? false
|
|
404
405
|
});
|
|
405
406
|
if (isJson()) {
|
|
406
407
|
emitJson(findings);
|
|
@@ -542,8 +543,8 @@ review.command("list").description("List staged approval bundles and their resol
|
|
|
542
543
|
);
|
|
543
544
|
}
|
|
544
545
|
});
|
|
545
|
-
review.command("show").description("Show the entries inside a staged approval bundle.").argument("<approvalId>", "Approval bundle identifier").action(async (approvalId) => {
|
|
546
|
-
const approval = await readApproval(process2.cwd(), approvalId);
|
|
546
|
+
review.command("show").description("Show the entries inside a staged approval bundle.").argument("<approvalId>", "Approval bundle identifier").option("--diff", "Show unified diff for each entry", false).action(async (approvalId, options) => {
|
|
547
|
+
const approval = await readApproval(process2.cwd(), approvalId, { diff: options.diff });
|
|
547
548
|
if (isJson()) {
|
|
548
549
|
emitJson(approval);
|
|
549
550
|
return;
|
|
@@ -551,6 +552,12 @@ review.command("show").description("Show the entries inside a staged approval bu
|
|
|
551
552
|
log(`${approval.approvalId} pending=${approval.pendingCount} accepted=${approval.acceptedCount} rejected=${approval.rejectedCount}`);
|
|
552
553
|
for (const entry of approval.entries) {
|
|
553
554
|
log(`- ${entry.status} ${entry.changeType} ${entry.pageId} ${entry.nextPath ?? entry.previousPath ?? ""}`.trim());
|
|
555
|
+
if (entry.changeSummary) log(` Summary: ${entry.changeSummary}`);
|
|
556
|
+
if (entry.diff) {
|
|
557
|
+
log("");
|
|
558
|
+
log(entry.diff);
|
|
559
|
+
log("");
|
|
560
|
+
}
|
|
554
561
|
}
|
|
555
562
|
});
|
|
556
563
|
review.command("accept").description("Accept all pending entries, or selected entries, from a staged approval bundle.").argument("<approvalId>", "Approval bundle identifier").argument("[targets...]", "Optional page ids or paths to accept").action(async (approvalId, targets) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@swarmvaultai/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.32",
|
|
4
4
|
"description": "Global CLI for SwarmVault.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"typecheck": "tsc --noEmit"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@swarmvaultai/engine": "0.1.
|
|
46
|
+
"@swarmvaultai/engine": "0.1.32",
|
|
47
47
|
"commander": "^14.0.1"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|