pi-shazam 0.15.3 → 0.17.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 (158) hide show
  1. package/README.md +1 -1
  2. package/dist/core/audit-log.d.ts +5 -5
  3. package/dist/core/audit-log.d.ts.map +1 -1
  4. package/dist/core/audit-log.js +11 -9
  5. package/dist/core/audit-log.js.map +1 -1
  6. package/dist/core/baseline.d.ts +1 -1
  7. package/dist/core/baseline.js +2 -2
  8. package/dist/core/cache.d.ts +1 -1
  9. package/dist/core/cache.js +4 -4
  10. package/dist/core/encoding.d.ts +3 -3
  11. package/dist/core/encoding.js +11 -11
  12. package/dist/core/encoding.js.map +1 -1
  13. package/dist/core/filter.d.ts +4 -4
  14. package/dist/core/filter.js +12 -12
  15. package/dist/core/filter.js.map +1 -1
  16. package/dist/core/formatters.d.ts +1 -1
  17. package/dist/core/formatters.js +2 -2
  18. package/dist/core/formatters.js.map +1 -1
  19. package/dist/core/git-hooks.d.ts +1 -1
  20. package/dist/core/git-hooks.js +13 -13
  21. package/dist/core/git-hooks.js.map +1 -1
  22. package/dist/core/git-utils.d.ts +36 -34
  23. package/dist/core/git-utils.d.ts.map +1 -1
  24. package/dist/core/git-utils.js +49 -46
  25. package/dist/core/git-utils.js.map +1 -1
  26. package/dist/core/graph.d.ts +2 -2
  27. package/dist/core/graph.d.ts.map +1 -1
  28. package/dist/core/graph.js +5 -5
  29. package/dist/core/output.d.ts +5 -5
  30. package/dist/core/output.d.ts.map +1 -1
  31. package/dist/core/output.js +12 -11
  32. package/dist/core/output.js.map +1 -1
  33. package/dist/core/pagerank.d.ts +1 -1
  34. package/dist/core/pagerank.js +1 -1
  35. package/dist/core/redact.d.ts +2 -2
  36. package/dist/core/redact.d.ts.map +1 -1
  37. package/dist/core/redact.js +7 -3
  38. package/dist/core/redact.js.map +1 -1
  39. package/dist/core/risk.d.ts +17 -17
  40. package/dist/core/risk.d.ts.map +1 -1
  41. package/dist/core/risk.js +20 -20
  42. package/dist/core/risk.js.map +1 -1
  43. package/dist/core/scanner.d.ts +1 -1
  44. package/dist/core/scanner.js +21 -21
  45. package/dist/core/scanner.js.map +1 -1
  46. package/dist/core/treesitter-queries.d.ts +1 -1
  47. package/dist/core/treesitter-queries.js +2 -2
  48. package/dist/core/treesitter-queries.js.map +1 -1
  49. package/dist/core/treesitter.d.ts +20 -17
  50. package/dist/core/treesitter.d.ts.map +1 -1
  51. package/dist/core/treesitter.js +42 -41
  52. package/dist/core/treesitter.js.map +1 -1
  53. package/dist/hooks/_bash-utils.d.ts +2 -2
  54. package/dist/hooks/_bash-utils.js +6 -6
  55. package/dist/hooks/_bash-utils.js.map +1 -1
  56. package/dist/hooks/agent-context-guard.d.ts +1 -1
  57. package/dist/hooks/agent-context-guard.js +3 -3
  58. package/dist/hooks/agent-context-guard.js.map +1 -1
  59. package/dist/hooks/before-start.d.ts +1 -1
  60. package/dist/hooks/before-start.d.ts.map +1 -1
  61. package/dist/hooks/before-start.js +14 -12
  62. package/dist/hooks/before-start.js.map +1 -1
  63. package/dist/hooks/failure-recovery.d.ts +1 -1
  64. package/dist/hooks/failure-recovery.js +2 -2
  65. package/dist/hooks/failure-recovery.js.map +1 -1
  66. package/dist/hooks/impact-state.d.ts +2 -2
  67. package/dist/hooks/impact-state.js +5 -5
  68. package/dist/hooks/impact-state.js.map +1 -1
  69. package/dist/hooks/issue-guard.d.ts +1 -1
  70. package/dist/hooks/issue-guard.js +1 -1
  71. package/dist/hooks/pre-edit.d.ts +1 -1
  72. package/dist/hooks/pre-edit.js +2 -2
  73. package/dist/hooks/pre-edit.js.map +1 -1
  74. package/dist/hooks/safety.d.ts +3 -3
  75. package/dist/hooks/safety.d.ts.map +1 -1
  76. package/dist/hooks/safety.js +14 -14
  77. package/dist/hooks/safety.js.map +1 -1
  78. package/dist/hooks/shazam-guide.d.ts.map +1 -1
  79. package/dist/hooks/shazam-guide.js +11 -10
  80. package/dist/hooks/shazam-guide.js.map +1 -1
  81. package/dist/hooks/stop-verify.d.ts +1 -1
  82. package/dist/hooks/stop-verify.d.ts.map +1 -1
  83. package/dist/hooks/stop-verify.js +6 -2
  84. package/dist/hooks/stop-verify.js.map +1 -1
  85. package/dist/hooks/tool-logger.d.ts.map +1 -1
  86. package/dist/hooks/tool-logger.js +5 -3
  87. package/dist/hooks/tool-logger.js.map +1 -1
  88. package/dist/hooks/verify-state.d.ts +13 -2
  89. package/dist/hooks/verify-state.d.ts.map +1 -1
  90. package/dist/hooks/verify-state.js +31 -4
  91. package/dist/hooks/verify-state.js.map +1 -1
  92. package/dist/index.d.ts +3 -3
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js +21 -21
  95. package/dist/index.js.map +1 -1
  96. package/dist/lsp/client.d.ts +17 -15
  97. package/dist/lsp/client.d.ts.map +1 -1
  98. package/dist/lsp/client.js +74 -65
  99. package/dist/lsp/client.js.map +1 -1
  100. package/dist/lsp/manager.d.ts +1 -1
  101. package/dist/lsp/manager.d.ts.map +1 -1
  102. package/dist/lsp/manager.js +51 -25
  103. package/dist/lsp/manager.js.map +1 -1
  104. package/dist/lsp/servers.d.ts +2 -2
  105. package/dist/lsp/servers.d.ts.map +1 -1
  106. package/dist/lsp/servers.js +13 -13
  107. package/dist/lsp/servers.js.map +1 -1
  108. package/dist/lsp/setup.d.ts +1 -1
  109. package/dist/lsp/setup.js +4 -4
  110. package/dist/mcp/entry.js +7 -5
  111. package/dist/mcp/entry.js.map +1 -1
  112. package/dist/mcp/tools.d.ts +2 -2
  113. package/dist/mcp/tools.d.ts.map +1 -1
  114. package/dist/mcp/tools.js +38 -6
  115. package/dist/mcp/tools.js.map +1 -1
  116. package/dist/tools/_context.d.ts +7 -2
  117. package/dist/tools/_context.d.ts.map +1 -1
  118. package/dist/tools/_context.js +12 -5
  119. package/dist/tools/_context.js.map +1 -1
  120. package/dist/tools/_factory.d.ts +4 -4
  121. package/dist/tools/_factory.d.ts.map +1 -1
  122. package/dist/tools/_factory.js +11 -9
  123. package/dist/tools/_factory.js.map +1 -1
  124. package/dist/tools/changes.d.ts +1 -1
  125. package/dist/tools/changes.js +3 -3
  126. package/dist/tools/definitions.d.ts +2 -2
  127. package/dist/tools/definitions.js +10 -10
  128. package/dist/tools/find_tests.js +2 -2
  129. package/dist/tools/format.d.ts +3 -3
  130. package/dist/tools/format.d.ts.map +1 -1
  131. package/dist/tools/format.js +116 -102
  132. package/dist/tools/format.js.map +1 -1
  133. package/dist/tools/impact.d.ts +1 -1
  134. package/dist/tools/impact.d.ts.map +1 -1
  135. package/dist/tools/impact.js +18 -12
  136. package/dist/tools/impact.js.map +1 -1
  137. package/dist/tools/lookup.d.ts +1 -1
  138. package/dist/tools/lookup.d.ts.map +1 -1
  139. package/dist/tools/lookup.js +99 -72
  140. package/dist/tools/lookup.js.map +1 -1
  141. package/dist/tools/lsp_enrich.d.ts +3 -1
  142. package/dist/tools/lsp_enrich.d.ts.map +1 -1
  143. package/dist/tools/lsp_enrich.js +54 -28
  144. package/dist/tools/lsp_enrich.js.map +1 -1
  145. package/dist/tools/overview.d.ts +1 -1
  146. package/dist/tools/overview.d.ts.map +1 -1
  147. package/dist/tools/overview.js +25 -20
  148. package/dist/tools/overview.js.map +1 -1
  149. package/dist/tools/rename_symbol.d.ts +1 -1
  150. package/dist/tools/rename_symbol.d.ts.map +1 -1
  151. package/dist/tools/rename_symbol.js +29 -18
  152. package/dist/tools/rename_symbol.js.map +1 -1
  153. package/dist/tools/safe_delete.d.ts +1 -1
  154. package/dist/tools/safe_delete.js +1 -1
  155. package/dist/tools/verify.d.ts +4 -4
  156. package/dist/tools/verify.js +33 -33
  157. package/dist/tools/verify.js.map +1 -1
  158. package/package.json +1 -1
package/README.md CHANGED
@@ -43,7 +43,7 @@ Use this only if you are **not** using Pi agent. The MCP interface provides the
43
43
  "mcpServers": {
44
44
  "pi-shazam": {
45
45
  "command": "npx",
46
- "args": ["-y", "-p", "pi-shazam", "pi-shazam-mcp"]
46
+ "args": ["-y", "-p", "pi-shazam@latest", "pi-shazam-mcp"]
47
47
  }
48
48
  }
49
49
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pi-shazam core/audit-log Unified audit log rotation.
2
+ * pi-shazam core/audit-log -- Unified audit log rotation.
3
3
  *
4
4
  * Single source of truth for audit log retention policy.
5
5
  * Both mcp/tools.ts and hooks/tool-logger.ts delegate to rotateAuditLog().
@@ -8,7 +8,7 @@
8
8
  * - Max 10 MB per log file before rotation
9
9
  * - Keep up to 5 archived copies (shazam-calls.log.1 through .5)
10
10
  * - Max 30 days age for any single log file
11
- * - On rotation: cascade-rename .4→.5, .3→.4, …, .log→.log.1
11
+ * - On rotation: cascade-rename .4->.5, .3->.4, …, .log->.log.1
12
12
  * - On age: delete the entire log file (content older than 30 days is stale)
13
13
  */
14
14
  /** Default directory for shazam audit logs. */
@@ -22,9 +22,9 @@ export declare const MAX_AUDIT_LOG_AGE_MS: number;
22
22
  /**
23
23
  * Rotate the audit log at `logPath`.
24
24
  *
25
- * - If file size exceeds MAX_AUDIT_LOG_SIZE cascade-rename archived copies
26
- * (log.4log.5, …, loglog.1) and let a new log file be created on next write.
27
- * - If file age exceeds MAX_AUDIT_LOG_AGE_MS delete the file (it will be
25
+ * - If file size exceeds MAX_AUDIT_LOG_SIZE -> cascade-rename archived copies
26
+ * (log.4->log.5, …, log->log.1) and let a new log file be created on next write.
27
+ * - If file age exceeds MAX_AUDIT_LOG_AGE_MS -> delete the file (it will be
28
28
  * recreated on next write with fresh content).
29
29
  */
30
30
  export declare function rotateAuditLog(logPath: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"audit-log.d.ts","sourceRoot":"","sources":["../../core/audit-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,+CAA+C;AAC/C,eAAO,MAAM,aAAa,QAA2C,CAAC;AAEtE,iDAAiD;AACjD,eAAO,MAAM,kBAAkB,QAAmB,CAAC;AAEnD,mDAAmD;AACnD,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,sEAAsE;AACtE,eAAO,MAAM,oBAAoB,QAA2B,CAAC;AAE7D;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BnE"}
1
+ {"version":3,"file":"audit-log.d.ts","sourceRoot":"","sources":["../../core/audit-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,+CAA+C;AAC/C,eAAO,MAAM,aAAa,QAA2C,CAAC;AAEtE,iDAAiD;AACjD,eAAO,MAAM,kBAAkB,QAAmB,CAAC;AAEnD,mDAAmD;AACnD,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,sEAAsE;AACtE,eAAO,MAAM,oBAAoB,QAA2B,CAAC;AAE7D;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BnE"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pi-shazam core/audit-log Unified audit log rotation.
2
+ * pi-shazam core/audit-log -- Unified audit log rotation.
3
3
  *
4
4
  * Single source of truth for audit log retention policy.
5
5
  * Both mcp/tools.ts and hooks/tool-logger.ts delegate to rotateAuditLog().
@@ -8,7 +8,7 @@
8
8
  * - Max 10 MB per log file before rotation
9
9
  * - Keep up to 5 archived copies (shazam-calls.log.1 through .5)
10
10
  * - Max 30 days age for any single log file
11
- * - On rotation: cascade-rename .4→.5, .3→.4, …, .log→.log.1
11
+ * - On rotation: cascade-rename .4->.5, .3->.4, …, .log->.log.1
12
12
  * - On age: delete the entire log file (content older than 30 days is stale)
13
13
  */
14
14
  import { stat, rename, unlink } from "node:fs/promises";
@@ -25,9 +25,9 @@ export const MAX_AUDIT_LOG_AGE_MS = 30 * 24 * 60 * 60 * 1000;
25
25
  /**
26
26
  * Rotate the audit log at `logPath`.
27
27
  *
28
- * - If file size exceeds MAX_AUDIT_LOG_SIZE cascade-rename archived copies
29
- * (log.4log.5, …, loglog.1) and let a new log file be created on next write.
30
- * - If file age exceeds MAX_AUDIT_LOG_AGE_MS delete the file (it will be
28
+ * - If file size exceeds MAX_AUDIT_LOG_SIZE -> cascade-rename archived copies
29
+ * (log.4->log.5, …, log->log.1) and let a new log file be created on next write.
30
+ * - If file age exceeds MAX_AUDIT_LOG_AGE_MS -> delete the file (it will be
31
31
  * recreated on next write with fresh content).
32
32
  */
33
33
  export async function rotateAuditLog(logPath) {
@@ -43,20 +43,22 @@ export async function rotateAuditLog(logPath) {
43
43
  try {
44
44
  await rename(src, dst);
45
45
  }
46
- catch {
46
+ catch (err) {
47
47
  // file may not exist yet
48
+ console.warn(`[pi-shazam] rotateAuditLog: rename ${src} -> ${dst} failed`, err);
48
49
  }
49
50
  }
50
51
  // Move current log to .1
51
52
  await rename(logPath, `${logPath}.1`);
52
53
  }
53
54
  else if (tooOld) {
54
- // Delete the entire log it will be recreated on next write
55
+ // Delete the entire log -- it will be recreated on next write
55
56
  await unlink(logPath);
56
57
  }
57
58
  }
58
- catch {
59
- // File may not exist yet first write creates it
59
+ catch (err) {
60
+ // File may not exist yet -- first write creates it
61
+ console.warn(`[pi-shazam] rotateAuditLog: stat/unlink failed for ${logPath}`, err);
60
62
  }
61
63
  }
62
64
  //# sourceMappingURL=audit-log.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"audit-log.js","sourceRoot":"","sources":["../../core/audit-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,+CAA+C;AAC/C,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAEtE,iDAAiD;AACjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEnD,mDAAmD;AACnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC,sEAAsE;AACtE,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAe;IACnD,IAAI,CAAC;QACJ,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,GAAG,oBAAoB,CAAC;QAE9D,IAAI,MAAM,EAAE,CAAC;YACZ,2CAA2C;YAC3C,KAAK,IAAI,CAAC,GAAG,mBAAmB,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnD,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,CAAC,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACJ,MAAM,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACxB,CAAC;gBAAC,MAAM,CAAC;oBACR,yBAAyB;gBAC1B,CAAC;YACF,CAAC;YACD,yBAAyB;YACzB,MAAM,MAAM,CAAC,OAAO,EAAE,GAAG,OAAO,IAAI,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YACnB,6DAA6D;YAC7D,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,kDAAkD;IACnD,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"audit-log.js","sourceRoot":"","sources":["../../core/audit-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,+CAA+C;AAC/C,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAEtE,iDAAiD;AACjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEnD,mDAAmD;AACnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC,sEAAsE;AACtE,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAe;IACnD,IAAI,CAAC;QACJ,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,GAAG,oBAAoB,CAAC;QAE9D,IAAI,MAAM,EAAE,CAAC;YACZ,2CAA2C;YAC3C,KAAK,IAAI,CAAC,GAAG,mBAAmB,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnD,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,CAAC,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACJ,MAAM,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACxB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,yBAAyB;oBACzB,OAAO,CAAC,IAAI,CAAC,sCAAsC,GAAG,OAAO,GAAG,SAAS,EAAE,GAAG,CAAC,CAAC;gBACjF,CAAC;YACF,CAAC;YACD,yBAAyB;YACzB,MAAM,MAAM,CAAC,OAAO,EAAE,GAAG,OAAO,IAAI,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YACnB,8DAA8D;YAC9D,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;IACF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,mDAAmD;QACnD,OAAO,CAAC,IAAI,CAAC,sDAAsD,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;IACpF,CAAC;AACF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pi-shazam core/baseline In-memory session baseline for diff-aware verify.
2
+ * pi-shazam core/baseline -- In-memory session baseline for diff-aware verify.
3
3
  *
4
4
  * Captures project health at session start (LSP errors/warnings, orphan
5
5
  * symbols, graph edges) so post-edit verify output can show what changed
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pi-shazam core/baseline In-memory session baseline for diff-aware verify.
2
+ * pi-shazam core/baseline -- In-memory session baseline for diff-aware verify.
3
3
  *
4
4
  * Captures project health at session start (LSP errors/warnings, orphan
5
5
  * symbols, graph edges) so post-edit verify output can show what changed
@@ -11,7 +11,7 @@
11
11
  */
12
12
  import { getGraphEdgeCount } from "./graph.js";
13
13
  import { findOrphans } from "./filter.js";
14
- // ── Session baseline state (in-memory) ────────────────────────────────────────
14
+ // -- Session baseline state (in-memory) ----------------------------------------
15
15
  let _baseline = null;
16
16
  let _previousOrphans = new Map();
17
17
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pi-shazam core/cache Graph baseline save/diff for incremental analysis.
2
+ * pi-shazam core/cache -- Graph baseline save/diff for incremental analysis.
3
3
  *
4
4
  * Provides persistent graph caching with mtime-based invalidation.
5
5
  * Stores cache under ~/.cache/repomap/<project-slug> for process-isolated
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pi-shazam core/cache Graph baseline save/diff for incremental analysis.
2
+ * pi-shazam core/cache -- Graph baseline save/diff for incremental analysis.
3
3
  *
4
4
  * Provides persistent graph caching with mtime-based invalidation.
5
5
  * Stores cache under ~/.cache/repomap/<project-slug> for process-isolated
@@ -10,7 +10,7 @@ import { join, dirname } from "node:path";
10
10
  import { homedir } from "node:os";
11
11
  import { createHash } from "node:crypto";
12
12
  import { serializeGraphV2, deserializeGraphV2 } from "./graph.js";
13
- // ── Cache directory management ───────────────────────────────────────────────
13
+ // -- Cache directory management -----------------------------------------------
14
14
  const CACHE_ROOT = join(homedir(), ".cache", "repomap");
15
15
  /**
16
16
  * Get the cache directory for a specific project.
@@ -24,9 +24,9 @@ export function getProjectCacheDir(projectPath) {
24
24
  mkdirSync(cacheDir, { recursive: true });
25
25
  return cacheDir;
26
26
  }
27
- // ── Persistent graph cache (V2) ──────────────────────────────────────────────
27
+ // -- Persistent graph cache (V2) ----------------------------------------------
28
28
  /** Max age for a cached graph file before it is considered stale. */
29
- const CACHE_MAX_AGE_MS = 24 * 60 * 60 * 1000; // 1 day prevents stale cache in active projects (fixes #100)
29
+ const CACHE_MAX_AGE_MS = 24 * 60 * 60 * 1000; // 1 day - prevents stale cache in active projects (fixes #100)
30
30
  /**
31
31
  * Atomically rename a temp file to a target path, handling Windows EPERM/EBUSY
32
32
  * by unlinking the target first and retrying.
@@ -1,7 +1,7 @@
1
1
  /**
2
- * pi-shazam core/encoding Adaptive file encoding reader.
2
+ * pi-shazam core/encoding -- Adaptive file encoding reader.
3
3
  *
4
- * Reads files with UTF-8 GBK GB2312 fallback.
4
+ * Reads files with UTF-8 -> GBK -> GB2312 fallback.
5
5
  * Includes OOM protection via file size limits (2MB max) and
6
6
  * encoding validation on first 64KB chunk to reduce memory pressure.
7
7
  */
@@ -30,7 +30,7 @@ export declare class FileTooLargeError extends Error {
30
30
  export declare function readFileAdaptive(filePath: string): string;
31
31
  /**
32
32
  * Async variant of readFileAdaptive using fs.promises.
33
- * Same encoding fallback logic (UTF-8 GBK GB2312) but non-blocking.
33
+ * Same encoding fallback logic (UTF-8 -> GBK -> GB2312) but non-blocking.
34
34
  * Use this in async contexts (e.g., LSP enrichment) to avoid blocking the event loop.
35
35
  */
36
36
  export declare function readFileAdaptiveAsync(filePath: string): Promise<string>;
@@ -1,14 +1,14 @@
1
1
  /**
2
- * pi-shazam core/encoding Adaptive file encoding reader.
2
+ * pi-shazam core/encoding -- Adaptive file encoding reader.
3
3
  *
4
- * Reads files with UTF-8 GBK GB2312 fallback.
4
+ * Reads files with UTF-8 -> GBK -> GB2312 fallback.
5
5
  * Includes OOM protection via file size limits (2MB max) and
6
6
  * encoding validation on first 64KB chunk to reduce memory pressure.
7
7
  */
8
8
  import { readFileSync, statSync } from "node:fs";
9
9
  import { readFile as readFileAsync, stat as statAsync } from "node:fs/promises";
10
10
  import iconv from "iconv-lite";
11
- // Tree-sitter's MAX_PARSE_SIZE skip files larger than 2MB
11
+ // Tree-sitter's MAX_PARSE_SIZE -- skip files larger than 2MB
12
12
  // Lowered from 10MB to reduce OOM risk on resource-constrained environments
13
13
  // (fixes #131, #148)
14
14
  const MAX_FILE_SIZE = 2 * 1024 * 1024;
@@ -29,10 +29,10 @@ export class FileTooLargeError extends Error {
29
29
  this.limit = limit;
30
30
  }
31
31
  }
32
- // Chunk size for encoding validation only validate first 64KB
32
+ // Chunk size for encoding validation -- only validate first 64KB
33
33
  // to avoid allocating huge strings for large files
34
34
  const VALIDATION_CHUNK_SIZE = 64 * 1024;
35
- // ── Encoding detection and reading ───────────────────────────────────────────
35
+ // -- Encoding detection and reading -------------------------------------------
36
36
  /**
37
37
  * Read a file with adaptive encoding fallback:
38
38
  * 1. Try UTF-8
@@ -59,7 +59,7 @@ export function readFileAdaptive(filePath) {
59
59
  throw err; // re-throw our size error
60
60
  }
61
61
  console.warn(`[pi-shazam] readFileAdaptive: stat failed for ${filePath}: ${err}`);
62
- // stat failed (permission, missing) fall through to readFileSync which will error with a clearer message
62
+ // stat failed (permission, missing) -- fall through to readFileSync which will error with a clearer message
63
63
  }
64
64
  const buffer = readFileSync(filePath);
65
65
  // For small files (<64KB), validate full buffer
@@ -68,7 +68,7 @@ export function readFileAdaptive(filePath) {
68
68
  // Try UTF-8 first
69
69
  const utf8Result = tryDecode(validationBuffer, "utf-8");
70
70
  if (utf8Result !== null) {
71
- // UTF-8 validation passed on chunk decode full buffer
71
+ // UTF-8 validation passed on chunk -- decode full buffer
72
72
  return buffer.length > VALIDATION_CHUNK_SIZE ? buffer.toString("utf-8") : utf8Result;
73
73
  }
74
74
  // Try GBK
@@ -86,7 +86,7 @@ export function readFileAdaptive(filePath) {
86
86
  }
87
87
  /**
88
88
  * Async variant of readFileAdaptive using fs.promises.
89
- * Same encoding fallback logic (UTF-8 GBK GB2312) but non-blocking.
89
+ * Same encoding fallback logic (UTF-8 -> GBK -> GB2312) but non-blocking.
90
90
  * Use this in async contexts (e.g., LSP enrichment) to avoid blocking the event loop.
91
91
  */
92
92
  export async function readFileAdaptiveAsync(filePath) {
@@ -102,7 +102,7 @@ export async function readFileAdaptiveAsync(filePath) {
102
102
  throw err;
103
103
  }
104
104
  console.warn(`[pi-shazam] readFileAdaptiveAsync: stat failed for ${filePath}: ${err}`);
105
- // stat failed fall through to readFile which will error with a clearer message
105
+ // stat failed -- fall through to readFile which will error with a clearer message
106
106
  }
107
107
  const buffer = await readFileAsync(filePath);
108
108
  // For small files (<64KB), validate full buffer
@@ -126,7 +126,7 @@ export async function readFileAdaptiveAsync(filePath) {
126
126
  // Last resort: UTF-8 with replacement
127
127
  return buffer.toString("utf-8");
128
128
  }
129
- // ── Internal helpers ─────────────────────────────────────────────────────────
129
+ // -- Internal helpers ---------------------------------------------------------
130
130
  /**
131
131
  * Validate that a buffer contains only valid UTF-8 byte sequences.
132
132
  * Performs byte-level validation: rejects overlong encodings, lone continuation
@@ -219,7 +219,7 @@ function tryDecode(buffer, encoding) {
219
219
  return null;
220
220
  // Replacement-character ratio check (#368): iconv-lite emits U+FFFD for
221
221
  // unmappable bytes. If >5% of decoded characters are replacements,
222
- // the encoding is wrong reject to try the next fallback.
222
+ // the encoding is wrong -- reject to try the next fallback.
223
223
  let replacementCount = 0;
224
224
  for (const ch of str) {
225
225
  if (ch === "�")
@@ -1 +1 @@
1
- {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../core/encoding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../core/encoding.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pi-shazam core/filter Shared file filtering utilities.
2
+ * pi-shazam core/filter -- Shared file filtering utilities.
3
3
  *
4
4
  * Centralises the "is this a source file?" logic used by hotspots, orphan,
5
5
  * verify, overview, and check tools. Keeps filtering consistent across the
@@ -26,13 +26,13 @@ export declare function isTrackableEditedPath(normalizedPath: string): boolean;
26
26
  * Returns symbols with zero incoming references, excluding:
27
27
  * - Non-source files (config, lockfiles, node_modules, dist)
28
28
  * - ALL exported symbols (consumers are external to the scanned graph)
29
- * - .d.ts ambient declaration files (issue #244 ambient types are consumed
29
+ * - .d.ts ambient declaration files (issue #244 -- ambient types are consumed
30
30
  * via global scope or type-only imports invisible to symbol-level refs)
31
31
  * - Files imported purely for side effects (no named/namespace binding from
32
- * any importer issue #243). Files with bindings retain full detection
32
+ * any importer -- issue #243). Files with bindings retain full detection
33
33
  * so unused internals in namespace-imported modules still surface (#246).
34
34
  * - PascalCase functions/classes in .tsx/.jsx files (React components
35
- * consumed via JSX, which does not create a symbol-level ref #249)
35
+ * consumed via JSX, which does not create a symbol-level ref -- #249)
36
36
  * - Anonymous functions (no name to reference)
37
37
  * - Test files
38
38
  * - Registration functions (register*, createTool) called by MCP/extension frameworks
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pi-shazam core/filter Shared file filtering utilities.
2
+ * pi-shazam core/filter -- Shared file filtering utilities.
3
3
  *
4
4
  * Centralises the "is this a source file?" logic used by hotspots, orphan,
5
5
  * verify, overview, and check tools. Keeps filtering consistent across the
@@ -45,7 +45,7 @@ function moduleMatchesFile(resolvedModule, targetFile) {
45
45
  return false;
46
46
  }
47
47
  /**
48
- * Config files, generated files, and lockfiles excluded from source-file
48
+ * Config files, generated files, and lockfiles -- excluded from source-file
49
49
  * analysis (hotspots, orphan detection, overview, check).
50
50
  *
51
51
  * The list is deliberately narrow: it covers *non-source* files that
@@ -169,7 +169,7 @@ function isEntryPointSymbol(name, kind) {
169
169
  return true;
170
170
  if (name === "Drop" && kind === "trait")
171
171
  return true;
172
- // Rust standard trait implementations these are dispatched by the
172
+ // Rust standard trait implementations -- these are dispatched by the
173
173
  // compiler or standard library, never called by name in user code.
174
174
  // Without this, every `impl Clone for Foo` etc. is a false orphan.
175
175
  if (kind === "impl" || kind === "trait") {
@@ -213,7 +213,7 @@ function isEntryPointSymbol(name, kind) {
213
213
  return true;
214
214
  if (name === "init" && kind === "function")
215
215
  return true;
216
- // Rust module declarations are structural they namespace items but
216
+ // Rust module declarations are structural -- they namespace items but
217
217
  // are never referenced by name at runtime.
218
218
  if (kind === "module")
219
219
  return true;
@@ -261,13 +261,13 @@ function isFrameworkHandler(name, file, kind) {
261
261
  * Returns symbols with zero incoming references, excluding:
262
262
  * - Non-source files (config, lockfiles, node_modules, dist)
263
263
  * - ALL exported symbols (consumers are external to the scanned graph)
264
- * - .d.ts ambient declaration files (issue #244 ambient types are consumed
264
+ * - .d.ts ambient declaration files (issue #244 -- ambient types are consumed
265
265
  * via global scope or type-only imports invisible to symbol-level refs)
266
266
  * - Files imported purely for side effects (no named/namespace binding from
267
- * any importer issue #243). Files with bindings retain full detection
267
+ * any importer -- issue #243). Files with bindings retain full detection
268
268
  * so unused internals in namespace-imported modules still surface (#246).
269
269
  * - PascalCase functions/classes in .tsx/.jsx files (React components
270
- * consumed via JSX, which does not create a symbol-level ref #249)
270
+ * consumed via JSX, which does not create a symbol-level ref -- #249)
271
271
  * - Anonymous functions (no name to reference)
272
272
  * - Test files
273
273
  * - Registration functions (register*, createTool) called by MCP/extension frameworks
@@ -287,7 +287,7 @@ export function findOrphans(graph) {
287
287
  // create file-level edges but no symbol-level bindings, so their
288
288
  // symbols would otherwise be reported as orphans.
289
289
  //
290
- // Files imported via named/namespace imports are NOT in this set
290
+ // Files imported via named/namespace imports are NOT in this set --
291
291
  // they have bindings and their unused internal symbols should still be
292
292
  // reported (issue #246).
293
293
  const sideEffectOnlyFiles = new Set();
@@ -305,19 +305,19 @@ export function findOrphans(graph) {
305
305
  for (const sym of graph.symbols.values()) {
306
306
  if (isNonSourceFile(sym.file))
307
307
  continue;
308
- // Skip .d.ts ambient declaration files by design, their symbols
308
+ // Skip .d.ts ambient declaration files -- by design, their symbols
309
309
  // are consumed via global scope or type-only imports, neither of
310
310
  // which produces a symbol-level reference in the graph (issue #244).
311
311
  if (sym.file.endsWith(".d.ts"))
312
312
  continue;
313
- // Skip ALL exported symbols external consumers are invisible to
313
+ // Skip ALL exported symbols -- external consumers are invisible to
314
314
  // tree-sitter scan, so zero internal refs does not mean dead code.
315
315
  if (sym.visibility === "exported")
316
316
  continue;
317
317
  // Skip symbols in side-effect-only imported modules (issue #243).
318
318
  if (sideEffectOnlyFiles.has(sym.file))
319
319
  continue;
320
- // Skip PascalCase functions/classes in .tsx/.jsx files they are
320
+ // Skip PascalCase functions/classes in .tsx/.jsx files -- they are
321
321
  // almost certainly React components consumed via `<Component />`
322
322
  // JSX syntax, which does not create a symbol-level reference
323
323
  // in the graph (issue #249).
@@ -339,7 +339,7 @@ export function findOrphans(graph) {
339
339
  // Skip anonymous functions
340
340
  if (sym.kind === "anonymous_function")
341
341
  continue;
342
- // Skip impl blocks they are structural declarations (impl Foo { ... })
342
+ // Skip impl blocks -- they are structural declarations (impl Foo { ... })
343
343
  // and are never referenced by name in the call graph (fixes #252).
344
344
  if (sym.kind === "impl")
345
345
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../core/filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../core/filter.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pi-shazam core/formatters Shared formatter detection.
2
+ * pi-shazam core/formatters -- Shared formatter detection.
3
3
  *
4
4
  * Single source of truth for detecting which formatters/linters are
5
5
  * configured in a project. Consumed by tools/fix.ts and hooks/shazam-guide.ts.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pi-shazam core/formatters Shared formatter detection.
2
+ * pi-shazam core/formatters -- Shared formatter detection.
3
3
  *
4
4
  * Single source of truth for detecting which formatters/linters are
5
5
  * configured in a project. Consumed by tools/fix.ts and hooks/shazam-guide.ts.
@@ -45,7 +45,7 @@ export function detectFormatters(projectRoot) {
45
45
  }
46
46
  catch {
47
47
  console.warn("[pi-shazam] detectFormatters: package.json not found or invalid");
48
- // package.json not found or invalid continue
48
+ // package.json not found or invalid -- continue
49
49
  }
50
50
  // .editorconfig
51
51
  if (existsSync(join(projectRoot, ".editorconfig"))) {
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../core/formatters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../core/formatters.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pi-shazam core/git-hooks Git pre-commit hook integration.
2
+ * pi-shazam core/git-hooks -- Git pre-commit hook integration.
3
3
  *
4
4
  * Installs a pre-commit hook that runs shazam_verify --preCommit
5
5
  * before allowing a commit. Blocks commit on FAIL verdict.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pi-shazam core/git-hooks Git pre-commit hook integration.
2
+ * pi-shazam core/git-hooks -- Git pre-commit hook integration.
3
3
  *
4
4
  * Installs a pre-commit hook that runs shazam_verify --preCommit
5
5
  * before allowing a commit. Blocks commit on FAIL verdict.
@@ -22,7 +22,7 @@ import { execFileSync } from "node:child_process";
22
22
  * Use 'git commit --no-verify' to bypass.
23
23
  */
24
24
  const PRE_COMMIT_HOOK_CONTENT = `#!/bin/bash
25
- # shazam pre-commit hook auto-installed by pi-shazam
25
+ # shazam pre-commit hook - auto-installed by pi-shazam
26
26
  # Detects project language and runs appropriate checks.
27
27
  # Use 'git commit --no-verify' to bypass.
28
28
 
@@ -44,7 +44,7 @@ echo "[shazam] Checking $CHANGED_FILES changed file(s)..."
44
44
 
45
45
  ERRORS=0
46
46
 
47
- # ── TypeScript/JavaScript ──────────────────────────────────────────────
47
+ # -- TypeScript/JavaScript ----------------------------------------------
48
48
  if [ -f "tsconfig.json" ] || [ -f "package.json" ]; then
49
49
  # Type check
50
50
  if command -v npx &>/dev/null; then
@@ -73,7 +73,7 @@ if [ -f "tsconfig.json" ] || [ -f "package.json" ]; then
73
73
  fi
74
74
  fi
75
75
 
76
- # ── Rust ───────────────────────────────────────────────────────────────
76
+ # -- Rust ---------------------------------------------------------------
77
77
  if [ -f "Cargo.toml" ]; then
78
78
  if command -v cargo &>/dev/null; then
79
79
  echo "[shazam] Running cargo check..."
@@ -93,7 +93,7 @@ if [ -f "Cargo.toml" ]; then
93
93
  fi
94
94
  fi
95
95
 
96
- # ── Go ─────────────────────────────────────────────────────────────────
96
+ # -- Go -----------------------------------------------------------------
97
97
  if [ -f "go.mod" ]; then
98
98
  if command -v go &>/dev/null; then
99
99
  echo "[shazam] Running go vet..."
@@ -113,7 +113,7 @@ if [ -f "go.mod" ]; then
113
113
  fi
114
114
  fi
115
115
 
116
- # ── Python ─────────────────────────────────────────────────────────────
116
+ # -- Python -------------------------------------------------------------
117
117
  if [ -f "pyproject.toml" ] || [ -f "setup.py" ] || [ -f "requirements.txt" ]; then
118
118
  # Type check (pyright or mypy)
119
119
  if command -v pyright &>/dev/null; then
@@ -140,7 +140,7 @@ if [ -f "pyproject.toml" ] || [ -f "setup.py" ] || [ -f "requirements.txt" ]; th
140
140
  fi
141
141
  fi
142
142
 
143
- # ── Summary ────────────────────────────────────────────────────────────
143
+ # -- Summary ------------------------------------------------------------
144
144
  if [ $ERRORS -gt 0 ]; then
145
145
  echo "[shazam] FAIL: $ERRORS check(s) failed."
146
146
  echo "[shazam] Fix errors or use 'git commit --no-verify' to bypass."
@@ -291,7 +291,7 @@ export function runPreCommitVerify(projectRoot) {
291
291
  }
292
292
  const changedFiles = changedOutput.split("\n").filter(Boolean);
293
293
  const errors = [];
294
- // ── TypeScript/JavaScript ──────────────────────────────────────────
294
+ // -- TypeScript/JavaScript ------------------------------------------
295
295
  if (existsSync(join(projectRoot, "tsconfig.json"))) {
296
296
  try {
297
297
  execFileSync("npx", ["--no-install", "tsc", "--noEmit"], {
@@ -306,7 +306,7 @@ export function runPreCommitVerify(projectRoot) {
306
306
  errors.push(`TypeScript typecheck failed: ${String(stderr).slice(0, 500)}`);
307
307
  }
308
308
  }
309
- // ── Rust ───────────────────────────────────────────────────────────
309
+ // -- Rust -----------------------------------------------------------
310
310
  if (existsSync(join(projectRoot, "Cargo.toml"))) {
311
311
  try {
312
312
  execFileSync("cargo", ["check"], {
@@ -321,7 +321,7 @@ export function runPreCommitVerify(projectRoot) {
321
321
  errors.push(`cargo check failed: ${String(stderr).slice(0, 500)}`);
322
322
  }
323
323
  }
324
- // ── Go ─────────────────────────────────────────────────────────────
324
+ // -- Go -------------------------------------------------------------
325
325
  if (existsSync(join(projectRoot, "go.mod"))) {
326
326
  try {
327
327
  execFileSync("go", ["vet", "./..."], {
@@ -336,7 +336,7 @@ export function runPreCommitVerify(projectRoot) {
336
336
  errors.push(`go vet failed: ${String(stderr).slice(0, 500)}`);
337
337
  }
338
338
  }
339
- // ── Python ─────────────────────────────────────────────────────────
339
+ // -- Python ---------------------------------------------------------
340
340
  if (existsSync(join(projectRoot, "pyproject.toml")) || existsSync(join(projectRoot, "setup.py"))) {
341
341
  // Try pyright first, then mypy
342
342
  let pyrightAvailable = false;
@@ -353,7 +353,7 @@ export function runPreCommitVerify(projectRoot) {
353
353
  const errnoErr = err;
354
354
  const stderr = errnoErr?.stderr ?? "";
355
355
  if (errnoErr.code === "ENOENT" || errnoErr.status === 127) {
356
- // pyright not installed try mypy
356
+ // pyright not installed -- try mypy
357
357
  }
358
358
  else {
359
359
  // pyright found type errors
@@ -376,7 +376,7 @@ export function runPreCommitVerify(projectRoot) {
376
376
  }
377
377
  }
378
378
  }
379
- // ── Summary ────────────────────────────────────────────────────────
379
+ // -- Summary --------------------------------------------------------
380
380
  if (errors.length > 0) {
381
381
  return {
382
382
  verdict: "FAIL",