skillwiki 0.10.10 → 0.10.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/{chunk-U34B2XQJ.js → chunk-NMUYMNNB.js} +2 -0
- package/dist/{chunk-ZFEZZQFM.js → chunk-YYWGP7DN.js} +26 -10
- package/dist/cli.js +441 -154
- package/dist/{index-projection-VNJ3TLEK.js → index-projection-MHXG7QO2.js} +5 -1
- package/dist/skillwiki-mcp.js +2 -2
- package/dist/vault-sync/scripts/lib/delete-intent.sh +27 -0
- package/dist/vault-sync/scripts/wiki-snapshot.sh +246 -43
- package/package.json +1 -1
- package/skills/.claude-plugin/plugin.json +1 -1
- package/skills/.codex-plugin/plugin.json +1 -1
- package/skills/package.json +1 -1
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
splitFrontmatter,
|
|
20
20
|
vaultIoConcurrency,
|
|
21
21
|
writeRootIndexProjection
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-NMUYMNNB.js";
|
|
23
23
|
import {
|
|
24
24
|
CONFIG_KEYS,
|
|
25
25
|
git,
|
|
@@ -4652,7 +4652,7 @@ async function runSyncLintDelta(input) {
|
|
|
4652
4652
|
const { mkdtempSync, rmSync, existsSync: fsExists } = await import("fs");
|
|
4653
4653
|
const { join: pathJoin } = await import("path");
|
|
4654
4654
|
const { tmpdir } = await import("os");
|
|
4655
|
-
const { execFileSync:
|
|
4655
|
+
const { execFileSync: execFileSync3 } = await import("child_process");
|
|
4656
4656
|
const vault = input.vault;
|
|
4657
4657
|
const baseRef = input.baseRef ?? "origin/main";
|
|
4658
4658
|
const days = input.days ?? 90;
|
|
@@ -4665,7 +4665,7 @@ async function runSyncLintDelta(input) {
|
|
|
4665
4665
|
};
|
|
4666
4666
|
}
|
|
4667
4667
|
try {
|
|
4668
|
-
|
|
4668
|
+
execFileSync3("git", ["rev-parse", "--verify", baseRef], {
|
|
4669
4669
|
cwd: vault,
|
|
4670
4670
|
stdio: ["pipe", "pipe", "pipe"]
|
|
4671
4671
|
});
|
|
@@ -4695,12 +4695,12 @@ async function runSyncLintDelta(input) {
|
|
|
4695
4695
|
const fullFps = collectLintErrorFingerprints(fullOutput);
|
|
4696
4696
|
const tmpRoot = mkdtempSync(pathJoin(tmpdir(), "skillwiki-lint-delta-"));
|
|
4697
4697
|
try {
|
|
4698
|
-
const archive =
|
|
4698
|
+
const archive = execFileSync3("git", ["archive", "--format=tar", baseRef], {
|
|
4699
4699
|
cwd: vault,
|
|
4700
4700
|
stdio: ["pipe", "pipe", "pipe"],
|
|
4701
4701
|
maxBuffer: 256 * 1024 * 1024
|
|
4702
4702
|
});
|
|
4703
|
-
|
|
4703
|
+
execFileSync3("tar", ["-xf", "-"], {
|
|
4704
4704
|
cwd: tmpRoot,
|
|
4705
4705
|
input: archive,
|
|
4706
4706
|
stdio: ["pipe", "pipe", "pipe"]
|
|
@@ -7127,6 +7127,7 @@ function readCliPackageJson(baseUrl = import.meta.url) {
|
|
|
7127
7127
|
}
|
|
7128
7128
|
|
|
7129
7129
|
// src/utils/vault-write-gates.ts
|
|
7130
|
+
import { execFileSync as execFileSync2 } from "child_process";
|
|
7130
7131
|
import { existsSync as existsSync14, readdirSync as readdirSync4, readFileSync as readFileSync12, statSync as statSync3 } from "fs";
|
|
7131
7132
|
import { join as join26, relative as relative3 } from "path";
|
|
7132
7133
|
var DEFAULT_DIRTY_VOLUME_THRESHOLD = 50;
|
|
@@ -7157,6 +7158,7 @@ var HYGIENE_COMMANDS = /* @__PURE__ */ new Set([
|
|
|
7157
7158
|
"log migrate-legacy",
|
|
7158
7159
|
"index rebuild",
|
|
7159
7160
|
"projections materialize",
|
|
7161
|
+
"projections repair-legacy",
|
|
7160
7162
|
"doctor",
|
|
7161
7163
|
"health",
|
|
7162
7164
|
"lint",
|
|
@@ -7195,8 +7197,17 @@ function measureDirtyVolume(vault) {
|
|
|
7195
7197
|
if (!gitDir) {
|
|
7196
7198
|
return empty({ is_git_repo: false });
|
|
7197
7199
|
}
|
|
7198
|
-
|
|
7199
|
-
|
|
7200
|
+
let porcelain = "";
|
|
7201
|
+
try {
|
|
7202
|
+
porcelain = execFileSync2("git", ["status", "--porcelain"], {
|
|
7203
|
+
cwd: vault,
|
|
7204
|
+
encoding: "utf8",
|
|
7205
|
+
stdio: ["pipe", "pipe", "pipe"]
|
|
7206
|
+
});
|
|
7207
|
+
} catch {
|
|
7208
|
+
porcelain = "";
|
|
7209
|
+
}
|
|
7210
|
+
const lines = porcelain.replace(/\n+$/, "").split("\n").filter((l) => l.length > 0);
|
|
7200
7211
|
let modified = 0;
|
|
7201
7212
|
let untracked = 0;
|
|
7202
7213
|
let expanded = 0;
|
|
@@ -7206,12 +7217,14 @@ function measureDirtyVolume(vault) {
|
|
|
7206
7217
|
bucketMap.set(top, (bucketMap.get(top) ?? 0) + n);
|
|
7207
7218
|
};
|
|
7208
7219
|
for (const line of lines) {
|
|
7209
|
-
const
|
|
7210
|
-
|
|
7220
|
+
const match = line.match(/^(.{2}) (.*)$/);
|
|
7221
|
+
if (!match) continue;
|
|
7222
|
+
const code = match[1];
|
|
7223
|
+
let pathPart = match[2] ?? "";
|
|
7211
7224
|
if (pathPart.includes(" -> ")) {
|
|
7212
7225
|
pathPart = pathPart.split(" -> ").pop() ?? pathPart;
|
|
7213
7226
|
}
|
|
7214
|
-
const rel = pathPart.replace(/^"
|
|
7227
|
+
const rel = pathPart.replace(/^"(.*)"$/, "$1").trim();
|
|
7215
7228
|
if (!rel) continue;
|
|
7216
7229
|
if (code === "??") {
|
|
7217
7230
|
untracked += 1;
|
|
@@ -9841,6 +9854,9 @@ export {
|
|
|
9841
9854
|
readLastOp,
|
|
9842
9855
|
appendLastOp,
|
|
9843
9856
|
clearLastOp,
|
|
9857
|
+
eventPathFor,
|
|
9858
|
+
validateLogEvent,
|
|
9859
|
+
canonicalEventJson,
|
|
9844
9860
|
writeLogEvent,
|
|
9845
9861
|
readLogEvents,
|
|
9846
9862
|
runLogAppend,
|