skillwiki 0.10.96 → 0.10.97

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.
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  renderRootIndex,
8
8
  writeRootIndexProjection
9
- } from "./chunk-3KEMRVWR.js";
9
+ } from "./chunk-XYXTV2YD.js";
10
10
  import {
11
11
  CONFIG_KEYS,
12
12
  VAULT_HYGIENE_GENERATED_COMMIT_PATHS,
@@ -40,11 +40,11 @@ import {
40
40
  snapshotterAliasForLocalHost,
41
41
  toUndirectedWeighted,
42
42
  writeDotenv
43
- } from "./chunk-OTESAW36.js";
43
+ } from "./chunk-MRYWP5HY.js";
44
44
  import {
45
45
  atomicWriteText,
46
46
  prepareTypedPage
47
- } from "./chunk-C5WOEVX3.js";
47
+ } from "./chunk-KDH352MC.js";
48
48
  import {
49
49
  applySourceCompileClaim,
50
50
  applySourceCompilePublished,
@@ -57,11 +57,11 @@ import {
57
57
  planSourceCompileRelease,
58
58
  planSourceReview,
59
59
  runSourcesPending
60
- } from "./chunk-UDOZKMCN.js";
60
+ } from "./chunk-H42EY6E7.js";
61
61
  import {
62
62
  eventPathFor,
63
63
  writeLogEvent
64
- } from "./chunk-LTSIHHKD.js";
64
+ } from "./chunk-F5GFUYPF.js";
65
65
  import {
66
66
  CompoundSchema,
67
67
  ExitCode,
@@ -82,7 +82,7 @@ import {
82
82
  scanVault,
83
83
  splitFrontmatter,
84
84
  systemdPropertyFor
85
- } from "./chunk-SXNKZGNM.js";
85
+ } from "./chunk-QM64LUEY.js";
86
86
 
87
87
  // src/commands/log-append.ts
88
88
  import { readFile, stat } from "fs/promises";
@@ -6485,7 +6485,7 @@ async function runQuery(input) {
6485
6485
  }
6486
6486
  let pendingSources;
6487
6487
  if (input.includePending) {
6488
- const { runSourcesPending: runSourcesPending2 } = await import("./sources-4KCCBNCO.js");
6488
+ const { runSourcesPending: runSourcesPending2 } = await import("./sources-OSGKH6KN.js");
6489
6489
  const pending = await runSourcesPending2({
6490
6490
  vault: input.vault,
6491
6491
  match: input.text,
@@ -6,7 +6,7 @@ import {
6
6
  readPage,
7
7
  scanSensitiveContent,
8
8
  splitFrontmatter
9
- } from "./chunk-SXNKZGNM.js";
9
+ } from "./chunk-QM64LUEY.js";
10
10
 
11
11
  // src/utils/vault-path-safety.ts
12
12
  import { lstatSync, realpathSync } from "fs";
@@ -8,7 +8,7 @@ import {
8
8
  readLogEvents,
9
9
  resolveExistingRegularFileInsideVault,
10
10
  writeLogEvent
11
- } from "./chunk-LTSIHHKD.js";
11
+ } from "./chunk-F5GFUYPF.js";
12
12
  import {
13
13
  ExitCode,
14
14
  RawSourceSchema,
@@ -19,7 +19,7 @@ import {
19
19
  scanSensitiveContent,
20
20
  scanVault,
21
21
  splitFrontmatter
22
- } from "./chunk-SXNKZGNM.js";
22
+ } from "./chunk-QM64LUEY.js";
23
23
 
24
24
  // src/commands/sources.ts
25
25
  import { readFile as readFile4 } from "fs/promises";
@@ -8,7 +8,7 @@ import {
8
8
  ok,
9
9
  scanSensitiveContent,
10
10
  scanVault
11
- } from "./chunk-SXNKZGNM.js";
11
+ } from "./chunk-QM64LUEY.js";
12
12
 
13
13
  // src/utils/atomic-write.ts
14
14
  import { randomBytes } from "crypto";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  atomicWriteText,
4
4
  buildRootIndexUniverse
5
- } from "./chunk-C5WOEVX3.js";
5
+ } from "./chunk-KDH352MC.js";
6
6
  import {
7
7
  authorizeRawOperation,
8
8
  buildSourceReferenceIndex,
@@ -22,7 +22,7 @@ import {
22
22
  resolveExistingRegularFileInsideVault,
23
23
  stripFencedBlocks,
24
24
  writeLogEvent
25
- } from "./chunk-LTSIHHKD.js";
25
+ } from "./chunk-F5GFUYPF.js";
26
26
  import {
27
27
  ExitCode,
28
28
  FleetManifestSchema,
@@ -41,7 +41,7 @@ import {
41
41
  scanVault,
42
42
  splitFrontmatter,
43
43
  vaultIoConcurrency
44
- } from "./chunk-SXNKZGNM.js";
44
+ } from "./chunk-QM64LUEY.js";
45
45
 
46
46
  // src/utils/managed-write-preflight.ts
47
47
  import { existsSync as existsSync11 } from "fs";
@@ -564,7 +564,7 @@ var MATCHERS = [
564
564
  },
565
565
  {
566
566
  kind: "password",
567
- re: /\b(?:password|passwd)["']?\s*[:=]\s*["']?([^\s`"']{8,})["']?/gi,
567
+ re: /\b(?:password|passwd)["']?\s*[:=]\s*[`"']?([^\s`"']{8,})[`"']?/gi,
568
568
  valueGroup: 1
569
569
  },
570
570
  {
@@ -590,12 +590,35 @@ function redactMarker(kind, value) {
590
590
  function isSyntheticPlaceholder(value) {
591
591
  return REDACTED_RE.test(value) || SYNTHETIC_RE.test(value.trim());
592
592
  }
593
+ function isInsideRedactedMarker(text, start, end) {
594
+ for (const marker of text.matchAll(new RegExp(REDACTED_RE.source, "gi"))) {
595
+ const markerStart = marker.index ?? 0;
596
+ const markerEnd = markerStart + marker[0].length;
597
+ if (start >= markerStart && end <= markerEnd) return true;
598
+ }
599
+ return false;
600
+ }
593
601
  function isNonSecretTokenCapture(value) {
594
602
  if (value.startsWith("//")) return true;
595
603
  if (value.includes("/")) return true;
596
604
  if (/^[a-z0-9.]+(?:-[a-z0-9.]+)+$/.test(value) && !/^[0-9a-f]+(?:-[0-9a-f]+)+$/.test(value)) return true;
597
605
  return false;
598
606
  }
607
+ var PASSWORD_PROSE_SENTINELS = /* @__PURE__ */ new Set([
608
+ "generated",
609
+ "configured",
610
+ "required",
611
+ "optional",
612
+ "provided",
613
+ "disabled",
614
+ "enabled",
615
+ "undefined",
616
+ "unspecified",
617
+ "unknown"
618
+ ]);
619
+ function isNonSecretPasswordCapture(value) {
620
+ return PASSWORD_PROSE_SENTINELS.has(value.toLowerCase());
621
+ }
599
622
  function collectMatches(text) {
600
623
  const matches = [];
601
624
  for (const matcher of MATCHERS) {
@@ -603,10 +626,11 @@ function collectMatches(text) {
603
626
  for (const m of text.matchAll(matcher.re)) {
604
627
  const whole = m[0];
605
628
  const start = m.index ?? 0;
606
- if (REDACTED_RE.test(whole)) continue;
629
+ if (REDACTED_RE.test(whole) || isInsideRedactedMarker(text, start, start + whole.length)) continue;
607
630
  const value = matcher.valueGroup ? m[matcher.valueGroup] : whole;
608
631
  if (isSyntheticPlaceholder(value)) continue;
609
632
  if (matcher.kind === "token" && isNonSecretTokenCapture(value)) continue;
633
+ if (matcher.kind === "password" && isNonSecretPasswordCapture(value)) continue;
610
634
  const valueOffset = whole.lastIndexOf(value);
611
635
  const valueStart = start + Math.max(0, valueOffset);
612
636
  matches.push({
@@ -3,11 +3,11 @@ import {
3
3
  ROOT_INDEX_SECTION_ORDER,
4
4
  atomicWriteText,
5
5
  buildRootIndexUniverse
6
- } from "./chunk-C5WOEVX3.js";
6
+ } from "./chunk-KDH352MC.js";
7
7
  import {
8
8
  err,
9
9
  ok
10
- } from "./chunk-SXNKZGNM.js";
10
+ } from "./chunk-QM64LUEY.js";
11
11
 
12
12
  // src/utils/index-projection.ts
13
13
  import { readFile } from "fs/promises";
package/dist/cli.js CHANGED
@@ -55,7 +55,7 @@ import {
55
55
  snapshotterHealthChecks,
56
56
  upsertIndexEntry,
57
57
  vectorIndexStatus
58
- } from "./chunk-BXEG5OWD.js";
58
+ } from "./chunk-EEO2YDPX.js";
59
59
  import {
60
60
  normalizeDistTag,
61
61
  readCache,
@@ -68,7 +68,7 @@ import {
68
68
  UNMANAGED_START,
69
69
  renderRootIndex,
70
70
  writeRootIndexProjection
71
- } from "./chunk-3KEMRVWR.js";
71
+ } from "./chunk-XYXTV2YD.js";
72
72
  import {
73
73
  FLEET_REL_PATH,
74
74
  REDACTED_MALFORMED_REFERENCE,
@@ -160,12 +160,12 @@ import {
160
160
  supersedeStaleReviewRequiredJournals,
161
161
  taxonomyCommentForPage,
162
162
  writeDotenv
163
- } from "./chunk-OTESAW36.js";
163
+ } from "./chunk-MRYWP5HY.js";
164
164
  import {
165
165
  assertTargetInsideVault,
166
166
  atomicWriteText,
167
167
  prepareTypedPage
168
- } from "./chunk-C5WOEVX3.js";
168
+ } from "./chunk-KDH352MC.js";
169
169
  import {
170
170
  applySourceDisposition,
171
171
  decodeSourceActionApproval,
@@ -173,7 +173,7 @@ import {
173
173
  inventorySources,
174
174
  planSourceDisposition,
175
175
  runSourcesPending
176
- } from "./chunk-UDOZKMCN.js";
176
+ } from "./chunk-H42EY6E7.js";
177
177
  import {
178
178
  authorizeRawOperation,
179
179
  buildSourceReferenceIndex,
@@ -190,7 +190,7 @@ import {
190
190
  resolveExistingRegularFileInsideVault,
191
191
  validateLogEvent,
192
192
  writeLogEvent
193
- } from "./chunk-LTSIHHKD.js";
193
+ } from "./chunk-F5GFUYPF.js";
194
194
  import {
195
195
  ExitCode,
196
196
  MetaSchema,
@@ -211,7 +211,7 @@ import {
211
211
  scanVault,
212
212
  splitFrontmatter,
213
213
  vaultIoConcurrency
214
- } from "./chunk-SXNKZGNM.js";
214
+ } from "./chunk-QM64LUEY.js";
215
215
 
216
216
  // src/cli.ts
217
217
  import { join as join44 } from "path";
@@ -3788,7 +3788,7 @@ ${fmRewritten}
3788
3788
  }
3789
3789
  let indexUpdated = false;
3790
3790
  if (!isRaw) {
3791
- const { renderRootIndex: renderRootIndex2, writeRootIndexProjection: writeRootIndexProjection2 } = await import("./index-projection-3ZMM53WL.js");
3791
+ const { renderRootIndex: renderRootIndex2, writeRootIndexProjection: writeRootIndexProjection2 } = await import("./index-projection-6OHDINHT.js");
3792
3792
  const before = await readFile7(join19(input.vault, "index.md"), "utf8").catch(() => "");
3793
3793
  const fullTarget = relPath.replace(/\.md$/, "");
3794
3794
  const bare = fullTarget.split("/").pop() ?? fullTarget;
@@ -3911,7 +3911,7 @@ async function runRemove(input) {
3911
3911
  if (relPath.endsWith(".md") && !relPath.startsWith("raw/")) {
3912
3912
  const { readFile: readFile23 } = await import("fs/promises");
3913
3913
  const { join: pathJoin } = await import("path");
3914
- const { renderRootIndex: renderRootIndex2, writeRootIndexProjection: writeRootIndexProjection2 } = await import("./index-projection-3ZMM53WL.js");
3914
+ const { renderRootIndex: renderRootIndex2, writeRootIndexProjection: writeRootIndexProjection2 } = await import("./index-projection-6OHDINHT.js");
3915
3915
  const before = await readFile23(pathJoin(input.vault, "index.md"), "utf8").catch(() => "");
3916
3916
  const fullTarget = relPath.replace(/\.md$/, "");
3917
3917
  const bare = fullTarget.split("/").pop() ?? fullTarget;
@@ -10888,7 +10888,7 @@ async function emitManagedVaultWrite(vault, command, mutate, opts) {
10888
10888
  if (dirty) {
10889
10889
  return emit(dirty, void 0, { postCommit: false });
10890
10890
  }
10891
- const { runManagedWriteTransaction: runManagedWriteTransaction2 } = await import("./managed-write-preflight-T4WOM52R.js");
10891
+ const { runManagedWriteTransaction: runManagedWriteTransaction2 } = await import("./managed-write-preflight-THGIM2U7.js");
10892
10892
  const run = await runManagedWriteTransaction2({
10893
10893
  vault,
10894
10894
  command,
@@ -4,9 +4,9 @@ import {
4
4
  UNMANAGED_START,
5
5
  renderRootIndex,
6
6
  writeRootIndexProjection
7
- } from "./chunk-3KEMRVWR.js";
8
- import "./chunk-C5WOEVX3.js";
9
- import "./chunk-SXNKZGNM.js";
7
+ } from "./chunk-XYXTV2YD.js";
8
+ import "./chunk-KDH352MC.js";
9
+ import "./chunk-QM64LUEY.js";
10
10
  export {
11
11
  UNMANAGED_END,
12
12
  UNMANAGED_START,
@@ -6,10 +6,10 @@ import {
6
6
  runManagedWritePeerGate,
7
7
  runManagedWritePreflight,
8
8
  runManagedWriteTransaction
9
- } from "./chunk-OTESAW36.js";
10
- import "./chunk-C5WOEVX3.js";
11
- import "./chunk-LTSIHHKD.js";
12
- import "./chunk-SXNKZGNM.js";
9
+ } from "./chunk-MRYWP5HY.js";
10
+ import "./chunk-KDH352MC.js";
11
+ import "./chunk-F5GFUYPF.js";
12
+ import "./chunk-QM64LUEY.js";
13
13
  export {
14
14
  DEFAULT_MANAGED_WRITE_WAIT_MS,
15
15
  MANAGED_WRITE_POLL_INTERVAL_MS,
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runSkillwikiMcpStdio
4
- } from "./chunk-BXEG5OWD.js";
4
+ } from "./chunk-EEO2YDPX.js";
5
5
  import "./chunk-7I2TPIV5.js";
6
- import "./chunk-3KEMRVWR.js";
7
- import "./chunk-OTESAW36.js";
8
- import "./chunk-C5WOEVX3.js";
9
- import "./chunk-UDOZKMCN.js";
10
- import "./chunk-LTSIHHKD.js";
11
- import "./chunk-SXNKZGNM.js";
6
+ import "./chunk-XYXTV2YD.js";
7
+ import "./chunk-MRYWP5HY.js";
8
+ import "./chunk-KDH352MC.js";
9
+ import "./chunk-H42EY6E7.js";
10
+ import "./chunk-F5GFUYPF.js";
11
+ import "./chunk-QM64LUEY.js";
12
12
 
13
13
  // src/mcp-entry.ts
14
14
  runSkillwikiMcpStdio().catch((error) => {
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ runSourcesPending
4
+ } from "./chunk-H42EY6E7.js";
5
+ import "./chunk-F5GFUYPF.js";
6
+ import "./chunk-QM64LUEY.js";
7
+ export {
8
+ runSourcesPending
9
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skillwiki",
3
- "version": "0.10.96",
3
+ "version": "0.10.97",
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.10.96",
3
+ "version": "0.10.97",
4
4
  "skills": "./",
5
5
  "description": "Project-aware Karpathy-style knowledge base for Claude Code: 21 prompt-only skills (wiki-*, proj-*, using-skillwiki, skillwiki-mcp) backed by the deterministic `skillwiki` CLI.",
6
6
  "author": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skillwiki",
3
- "version": "0.10.96",
3
+ "version": "0.10.97",
4
4
  "description": "Project-aware Karpathy-style knowledge base for Codex with 21 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",
3
- "version": "0.10.96",
3
+ "version": "0.10.97",
4
4
  "description": "Project-aware Karpathy-style knowledge base: 21 prompt-only skills (wiki-*, proj-*, using-skillwiki, skillwiki-mcp) backed by HTTP MCP wiki_capture.",
5
5
  "author": {
6
6
  "name": "karlorz"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skillwiki/skills",
3
- "version": "0.10.96",
3
+ "version": "0.10.97",
4
4
  "private": true,
5
5
  "files": [
6
6
  "wiki-*",
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- runSourcesPending
4
- } from "./chunk-UDOZKMCN.js";
5
- import "./chunk-LTSIHHKD.js";
6
- import "./chunk-SXNKZGNM.js";
7
- export {
8
- runSourcesPending
9
- };