brains-mcp 1.76.3 → 1.78.0

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.
Files changed (49) hide show
  1. package/dist/httpServer.d.ts.map +1 -1
  2. package/dist/httpServer.js +9 -1
  3. package/dist/httpServer.js.map +1 -1
  4. package/dist/search/postgresIndex.d.ts +34 -3
  5. package/dist/search/postgresIndex.d.ts.map +1 -1
  6. package/dist/search/postgresIndex.js +51 -4
  7. package/dist/search/postgresIndex.js.map +1 -1
  8. package/dist/server.d.ts.map +1 -1
  9. package/dist/server.js +12 -1
  10. package/dist/server.js.map +1 -1
  11. package/dist/storage/client.d.ts +10 -0
  12. package/dist/storage/client.d.ts.map +1 -1
  13. package/dist/storage/client.js +42 -4
  14. package/dist/storage/client.js.map +1 -1
  15. package/dist/tools/createPage.d.ts.map +1 -1
  16. package/dist/tools/createPage.js +4 -3
  17. package/dist/tools/createPage.js.map +1 -1
  18. package/dist/tools/deletePage.d.ts.map +1 -1
  19. package/dist/tools/deletePage.js +13 -1
  20. package/dist/tools/deletePage.js.map +1 -1
  21. package/dist/tools/importWikiZip.d.ts +5 -0
  22. package/dist/tools/importWikiZip.d.ts.map +1 -1
  23. package/dist/tools/importWikiZip.js +9 -0
  24. package/dist/tools/importWikiZip.js.map +1 -1
  25. package/dist/tools/pageHistory.d.ts +8 -2
  26. package/dist/tools/pageHistory.d.ts.map +1 -1
  27. package/dist/tools/pageHistory.js +21 -3
  28. package/dist/tools/pageHistory.js.map +1 -1
  29. package/dist/tools/patchPage.d.ts.map +1 -1
  30. package/dist/tools/patchPage.js +7 -6
  31. package/dist/tools/patchPage.js.map +1 -1
  32. package/dist/tools/pushSessionBundle.js +5 -5
  33. package/dist/tools/pushSessionBundle.js.map +1 -1
  34. package/dist/tools/stalePages.d.ts +29 -0
  35. package/dist/tools/stalePages.d.ts.map +1 -0
  36. package/dist/tools/stalePages.js +91 -0
  37. package/dist/tools/stalePages.js.map +1 -0
  38. package/dist/tools/updatePage.d.ts.map +1 -1
  39. package/dist/tools/updatePage.js +6 -5
  40. package/dist/tools/updatePage.js.map +1 -1
  41. package/dist/webhooks/dispatch.d.ts +6 -4
  42. package/dist/webhooks/dispatch.d.ts.map +1 -1
  43. package/dist/webhooks/dispatch.js +11 -4
  44. package/dist/webhooks/dispatch.js.map +1 -1
  45. package/dist/wiki/log.d.ts +4 -1
  46. package/dist/wiki/log.d.ts.map +1 -1
  47. package/dist/wiki/log.js +5 -1
  48. package/dist/wiki/log.js.map +1 -1
  49. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"httpServer.d.ts","sourceRoot":"","sources":["../src/httpServer.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAQxB,OAAO,EAAsD,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAkH7G,wBAAgB,8BAA8B,IAAI,IAAI,CAErD;AAu7BD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAI9D;AAgsBD,wBAAsB,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAkrF9F"}
1
+ {"version":3,"file":"httpServer.d.ts","sourceRoot":"","sources":["../src/httpServer.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAQxB,OAAO,EAAsD,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAmH7G,wBAAgB,8BAA8B,IAAI,IAAI,CAErD;AA+7BD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAI9D;AAgsBD,wBAAsB,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAmrF9F"}
@@ -527,6 +527,9 @@ async function scanImportDiffFromBuffer(drive, buffer, opts) {
527
527
  folderScope = scope.folderScope;
528
528
  }
529
529
  const diff = [];
530
+ // GH #366: per-file tolerance — record why each file was skipped instead of
531
+ // only exposing an opaque count.
532
+ const skipped = [];
530
533
  let newCount = 0;
531
534
  let modifiedCount = 0;
532
535
  let unchangedCount = 0;
@@ -544,16 +547,19 @@ async function scanImportDiffFromBuffer(drive, buffer, opts) {
544
547
  // Reject path-traversal and absolute-path entries before any filesystem access.
545
548
  if (name.startsWith("/") || name.split("/").some((segment) => segment === "..")) {
546
549
  diff.push({ name, status: "skipped" });
550
+ skipped.push({ path: name, reason: "path traversal (absolute path or '..' segment)" });
547
551
  skippedCount++;
548
552
  continue;
549
553
  }
550
554
  if (!opts.includeSystem && systemFiles.has(name)) {
551
555
  diff.push({ name, status: "skipped" });
556
+ skipped.push({ path: name, reason: "system file (pass includeSystem: true to include)" });
552
557
  skippedCount++;
553
558
  continue;
554
559
  }
555
560
  if (!isValidWikiFilename(name)) {
556
561
  diff.push({ name, status: "skipped" });
562
+ skipped.push({ path: name, reason: "unsupported file type (only lowercase .md wiki pages are supported)" });
557
563
  skippedCount++;
558
564
  continue;
559
565
  }
@@ -574,6 +580,7 @@ async function scanImportDiffFromBuffer(drive, buffer, opts) {
574
580
  }
575
581
  if (effectiveConflictStrategy === "skip") {
576
582
  diff.push({ name, status: "skipped" });
583
+ skipped.push({ path: name, reason: "already exists and conflictStrategy is 'skip'" });
577
584
  skippedCount++;
578
585
  continue;
579
586
  }
@@ -599,7 +606,7 @@ async function scanImportDiffFromBuffer(drive, buffer, opts) {
599
606
  }
600
607
  }
601
608
  }
602
- return { totalEntries: entries.length, newCount, modifiedCount, unchangedCount, skippedCount, deletedCount, diff, folderScope };
609
+ return { totalEntries: entries.length, newCount, modifiedCount, unchangedCount, skippedCount, deletedCount, diff, skipped, folderScope };
603
610
  }
604
611
  /** Thrown by scanImportDiffFromBuffer when an unscoped replace is refused (GH #695 phase 4). */
605
612
  class ImportScopeRefusedError extends Error {
@@ -3499,6 +3506,7 @@ export async function startHttpServer(drive, port) {
3499
3506
  skippedCount: preview.skippedCount,
3500
3507
  deletedCount: preview.deletedCount,
3501
3508
  diff: preview.diff,
3509
+ skipped: preview.skipped,
3502
3510
  },
3503
3511
  });
3504
3512
  }