skillwiki 0.9.52 → 0.9.55

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
  TypedKnowledgeSchema,
8
8
  appendLastOp,
9
9
  assessSourceIdentity,
10
+ buildDegradedReasons,
10
11
  buildRemoteObjectPath,
11
12
  clearLastOp,
12
13
  configPath,
@@ -28,6 +29,7 @@ import {
28
29
  parseDotenvFile,
29
30
  parseDotenvText,
30
31
  planAndMaybePruneRemoteObjects,
32
+ probeRemoteHealth,
31
33
  profileKey,
32
34
  readCliPackageJson,
33
35
  readLastOp,
@@ -71,11 +73,12 @@ import {
71
73
  satelliteLatestRunPath,
72
74
  scanSensitiveContent,
73
75
  scanVault,
76
+ snapshotterAliasForLocalHost,
74
77
  splitFrontmatter,
75
78
  triggerAutoUpdate,
76
79
  writeCache,
77
80
  writeDotenv
78
- } from "./chunk-D6T7GSHK.js";
81
+ } from "./chunk-4BT3HY4K.js";
79
82
  import {
80
83
  normalizeDistTag
81
84
  } from "./chunk-E6UWZ3S3.js";
@@ -3660,6 +3663,24 @@ function runSyncStatus(input) {
3660
3663
  if (stashes !== void 0) {
3661
3664
  output.stashes = stashes;
3662
3665
  }
3666
+ if (input.includeRemoteHealth) {
3667
+ const home = input.home ?? process.env.HOME ?? "";
3668
+ const remote_health = probeRemoteHealth({
3669
+ vaultPath: vault,
3670
+ home,
3671
+ s3Remote: input.s3Remote,
3672
+ snapshotterAlias: input.snapshotterAlias,
3673
+ checkSnapshotter: input.checkSnapshotter,
3674
+ exec: input.execProbe
3675
+ });
3676
+ output.remote_health = remote_health;
3677
+ const degraded = buildDegradedReasons(remote_health);
3678
+ if (degraded.length > 0) {
3679
+ output.degraded_reasons = degraded;
3680
+ hintLines.push(`degraded_reasons: ${degraded.join(", ")}`);
3681
+ output.humanHint = hintLines.join("\n");
3682
+ }
3683
+ }
3663
3684
  return {
3664
3685
  exitCode,
3665
3686
  result: ok(output)
@@ -5243,12 +5264,13 @@ configCmd.command("get <key>").description("print the value of a config key").ac
5243
5264
  configCmd.command("set <key> <value>").description("set a config key value").action(async (key, value) => emit(await runConfigSet({ key, value, home: process.env.HOME ?? "" })));
5244
5265
  configCmd.command("list").option("--profiles", "show wiki profiles summary", false).description("list all config key=value pairs").action(async (opts) => emit(await runConfigList({ home: process.env.HOME ?? "", profiles: !!opts.profiles })));
5245
5266
  configCmd.command("path").description("print the config file path").action(async () => emit(await runConfigPath({ home: process.env.HOME ?? "" })));
5246
- program.command("doctor").description("diagnose skillwiki setup issues").action(async () => emit(await runDoctor({
5267
+ program.command("doctor").description("diagnose skillwiki setup issues").option("--check-snapshotter", "SSH-probe fleet snapshotter (short timeout)", false).action(async (opts) => emit(await runDoctor({
5247
5268
  home: process.env.HOME ?? "",
5248
5269
  envValue: process.env.WIKI_PATH,
5249
5270
  argv: process.argv,
5250
5271
  currentVersion: pkg.version,
5251
- cwd: process.cwd()
5272
+ cwd: process.cwd(),
5273
+ checkSnapshotter: !!opts.checkSnapshotter
5252
5274
  })));
5253
5275
  program.command("status [vault]").description("output vault diagnostics").option("--wiki <name>", "wiki profile name").action(async (vault, opts) => {
5254
5276
  const v = await resolveVaultArg(vault, opts.wiki);
@@ -5403,10 +5425,29 @@ program.command("tag-sync [vault]").description("mirror frontmatter enum values
5403
5425
  );
5404
5426
  });
5405
5427
  var syncCmd = program.command("sync").description("manage vault sync");
5406
- syncCmd.command("status [vault]").description("check vault git sync status").option("--wiki <name>", "wiki profile name").option("--include-stashes", "enumerate all stashes in output", false).action(async (vault, opts) => {
5428
+ syncCmd.command("status [vault]").description("check vault git sync status").option("--wiki <name>", "wiki profile name").option("--include-stashes", "enumerate all stashes in output", false).option("--include-remote-health", "probe GitHub/S3 reachability (opt-in; adds network latency)", false).option("--check-snapshotter", "with --include-remote-health, also SSH-probe fleet snapshotter alias", false).action(async (vault, opts) => {
5407
5429
  const v = await resolveVaultArg(vault, opts.wiki);
5408
5430
  if (!v.ok) emit({ exitCode: v.exitCode, result: v.payload });
5409
- else emit(runSyncStatus({ vault: v.vault, includeStashes: !!opts.includeStashes }));
5431
+ else {
5432
+ const home = process.env.HOME ?? "";
5433
+ let snapshotterAlias;
5434
+ if (opts.checkSnapshotter) {
5435
+ const fleetLoad = await loadFleetManifestAndHost({
5436
+ vault: v.vault,
5437
+ home,
5438
+ cwd: process.cwd()
5439
+ });
5440
+ snapshotterAlias = snapshotterAliasForLocalHost(fleetLoad);
5441
+ }
5442
+ emit(runSyncStatus({
5443
+ vault: v.vault,
5444
+ includeStashes: !!opts.includeStashes,
5445
+ includeRemoteHealth: !!opts.includeRemoteHealth,
5446
+ home,
5447
+ checkSnapshotter: !!opts.checkSnapshotter,
5448
+ snapshotterAlias
5449
+ }));
5450
+ }
5410
5451
  });
5411
5452
  syncCmd.command("push [vault]").description("lint, commit, and push vault changes to remote").option("--wiki <name>", "wiki profile name").action(async (vault, opts) => {
5412
5453
  const v = await resolveVaultArg(vault, opts.wiki);
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runSkillwikiMcpStdio
4
- } from "./chunk-D6T7GSHK.js";
4
+ } from "./chunk-4BT3HY4K.js";
5
5
  import "./chunk-E6UWZ3S3.js";
6
6
 
7
7
  // src/mcp-entry.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skillwiki",
3
- "version": "0.9.52",
3
+ "version": "0.9.55",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "skillwiki": "dist/cli.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skillwiki",
3
- "version": "0.9.52",
3
+ "version": "0.9.55",
4
4
  "skills": "./",
5
5
  "description": "Project-aware Karpathy-style knowledge base for Claude Code: 18 prompt-only skills (wiki-*, proj-*, using-skillwiki) backed by the deterministic `skillwiki` CLI.",
6
6
  "author": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skillwiki",
3
- "version": "0.9.52",
3
+ "version": "0.9.55",
4
4
  "description": "Project-aware Karpathy-style knowledge base for Codex with 18 prompt-only skills backed by the deterministic skillwiki CLI.",
5
5
  "author": {
6
6
  "name": "karlorz",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skillwiki/skills",
3
- "version": "0.9.52",
3
+ "version": "0.9.55",
4
4
  "private": true,
5
5
  "files": [
6
6
  "wiki-*",