skillwiki 0.10.37 → 0.10.39
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/cli.js
CHANGED
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
GateError,
|
|
8
8
|
SATELLITE_STALE_MS,
|
|
9
9
|
configPath,
|
|
10
|
+
detectFuseMount,
|
|
10
11
|
evaluateDirtyVolumeGate,
|
|
11
12
|
evaluateSatelliteRunHealth,
|
|
12
13
|
findPlugin,
|
|
@@ -38,7 +39,7 @@ import {
|
|
|
38
39
|
scanConflictMarkerBlocksInText,
|
|
39
40
|
snapshotterHealthChecks,
|
|
40
41
|
upsertIndexEntry
|
|
41
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-NDR2OY4K.js";
|
|
42
43
|
import {
|
|
43
44
|
normalizeDistTag,
|
|
44
45
|
readCache,
|
|
@@ -168,6 +169,7 @@ import {
|
|
|
168
169
|
ok,
|
|
169
170
|
readPage,
|
|
170
171
|
redactSensitiveContent,
|
|
172
|
+
resolveReadOnlyVaultRoot,
|
|
171
173
|
scanSensitiveContent,
|
|
172
174
|
scanVault,
|
|
173
175
|
splitFrontmatter
|
|
@@ -4471,7 +4473,8 @@ import { mkdir as mkdir8, readFile as readFile11, writeFile as writeFile7 } from
|
|
|
4471
4473
|
import { join as join24, relative, sep } from "path";
|
|
4472
4474
|
var MAX_WORDS = 900;
|
|
4473
4475
|
async function runSessionBrief(input) {
|
|
4474
|
-
const
|
|
4476
|
+
const { root: scanRoot } = resolveReadOnlyVaultRoot(input.vault);
|
|
4477
|
+
const scan = await scanVault(scanRoot);
|
|
4475
4478
|
if (!scan.ok) {
|
|
4476
4479
|
return { exitCode: ExitCode.VAULT_PATH_INVALID, result: scan };
|
|
4477
4480
|
}
|
|
@@ -4497,7 +4500,7 @@ async function runSessionBrief(input) {
|
|
|
4497
4500
|
loadSatelliteHealth(input.vault),
|
|
4498
4501
|
loadSessionPins(input.vault, project),
|
|
4499
4502
|
project ? loadMemoryTopics(input.vault, project) : Promise.resolve([]),
|
|
4500
|
-
loadPendingSources(
|
|
4503
|
+
loadPendingSources(scanRoot, today)
|
|
4501
4504
|
]);
|
|
4502
4505
|
const healthWarnings = [
|
|
4503
4506
|
...baseHealthWarnings,
|
|
@@ -8404,11 +8407,23 @@ async function runBackupRestore(input) {
|
|
|
8404
8407
|
import { existsSync as existsSync10, statSync as statSync4 } from "fs";
|
|
8405
8408
|
import { readFile as readFile16 } from "fs/promises";
|
|
8406
8409
|
import { join as join32 } from "path";
|
|
8410
|
+
var FUSE_NO_MIRROR_NOTE = "FUSE vault with no read mirror - status scan may be slow";
|
|
8407
8411
|
async function runStatus(input) {
|
|
8408
8412
|
if (!existsSync10(input.vault)) {
|
|
8409
8413
|
return { exitCode: ExitCode.VAULT_PATH_INVALID, result: err("VAULT_PATH_INVALID", { vault: input.vault }) };
|
|
8410
8414
|
}
|
|
8411
|
-
const
|
|
8415
|
+
const { root: scanRoot, mirrored } = resolveReadOnlyVaultRoot(input.vault);
|
|
8416
|
+
let readSource = "live";
|
|
8417
|
+
if (mirrored) {
|
|
8418
|
+
readSource = "mirror";
|
|
8419
|
+
} else if (detectFuseMount(input.vault)) {
|
|
8420
|
+
readSource = "fuse-no-mirror";
|
|
8421
|
+
}
|
|
8422
|
+
if (readSource === "fuse-no-mirror") {
|
|
8423
|
+
process.stderr.write(`warning: ${FUSE_NO_MIRROR_NOTE}
|
|
8424
|
+
`);
|
|
8425
|
+
}
|
|
8426
|
+
const scan = await scanVault(scanRoot);
|
|
8412
8427
|
if (!scan.ok) {
|
|
8413
8428
|
return { exitCode: ExitCode.VAULT_PATH_INVALID, result: scan };
|
|
8414
8429
|
}
|
|
@@ -8430,7 +8445,7 @@ async function runStatus(input) {
|
|
|
8430
8445
|
const compound = scan.data.compound.length;
|
|
8431
8446
|
let schemaVersion = "v1";
|
|
8432
8447
|
try {
|
|
8433
|
-
const schemaContent = await readFile16(join32(
|
|
8448
|
+
const schemaContent = await readFile16(join32(scanRoot, "SCHEMA.md"), "utf8");
|
|
8434
8449
|
const versionMatch = schemaContent.match(/version:\s*["']?([^"'\s\n]+)/i);
|
|
8435
8450
|
if (versionMatch) schemaVersion = versionMatch[1];
|
|
8436
8451
|
} catch {
|
|
@@ -8467,14 +8482,20 @@ async function runStatus(input) {
|
|
|
8467
8482
|
};
|
|
8468
8483
|
const totalPages = Object.values(pageCounts).reduce((a, b) => a + b, 0);
|
|
8469
8484
|
const rawTotal = rawArticles + rawTranscripts;
|
|
8470
|
-
const
|
|
8485
|
+
const hintLines = [
|
|
8471
8486
|
`vault: ${input.vault}`,
|
|
8472
8487
|
`lang: ${langResult.value}`,
|
|
8473
8488
|
`total: ${totalPages} pages`,
|
|
8474
8489
|
` entities: ${pageCounts.entities} concepts: ${pageCounts.concepts} comparisons: ${pageCounts.comparisons} queries: ${pageCounts.queries} meta: ${pageCounts.meta}`,
|
|
8475
8490
|
` raw: ${rawTotal} work_items: ${workItems} compound: ${compound}`,
|
|
8476
8491
|
`last modified: ${lastModified.slice(0, 10)}`
|
|
8477
|
-
]
|
|
8492
|
+
];
|
|
8493
|
+
if (readSource === "mirror") {
|
|
8494
|
+
hintLines.push(`read source: mirror (${scanRoot}) - page counts may lag up to 30m`);
|
|
8495
|
+
} else if (readSource === "fuse-no-mirror") {
|
|
8496
|
+
hintLines.push(FUSE_NO_MIRROR_NOTE);
|
|
8497
|
+
}
|
|
8498
|
+
const humanHint = hintLines.join("\n");
|
|
8478
8499
|
return {
|
|
8479
8500
|
exitCode: ExitCode.OK,
|
|
8480
8501
|
result: ok({
|
|
@@ -8484,6 +8505,7 @@ async function runStatus(input) {
|
|
|
8484
8505
|
page_counts: pageCounts,
|
|
8485
8506
|
total_pages: totalPages,
|
|
8486
8507
|
last_modified: lastModified,
|
|
8508
|
+
read_source: readSource,
|
|
8487
8509
|
humanHint
|
|
8488
8510
|
})
|
|
8489
8511
|
};
|
package/dist/skillwiki-mcp.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skillwiki",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.39",
|
|
4
4
|
"skills": "./",
|
|
5
5
|
"description": "Project-aware Karpathy-style knowledge base for Claude Code: 19 prompt-only skills (wiki-*, proj-*, using-skillwiki) backed by the deterministic `skillwiki` CLI.",
|
|
6
6
|
"author": {
|