pi-shazam 0.9.5 → 0.10.1

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 (58) hide show
  1. package/README.md +11 -4
  2. package/dist/core/filter.d.ts.map +1 -1
  3. package/dist/core/filter.js +82 -7
  4. package/dist/core/filter.js.map +1 -1
  5. package/dist/core/treesitter.d.ts.map +1 -1
  6. package/dist/core/treesitter.js +8 -0
  7. package/dist/core/treesitter.js.map +1 -1
  8. package/dist/hooks/agent-context-guard.d.ts +19 -0
  9. package/dist/hooks/agent-context-guard.d.ts.map +1 -0
  10. package/dist/hooks/agent-context-guard.js +86 -0
  11. package/dist/hooks/agent-context-guard.js.map +1 -0
  12. package/dist/hooks/impact-state.d.ts +29 -0
  13. package/dist/hooks/impact-state.d.ts.map +1 -0
  14. package/dist/hooks/impact-state.js +38 -0
  15. package/dist/hooks/impact-state.js.map +1 -0
  16. package/dist/hooks/issue-guard.d.ts +19 -0
  17. package/dist/hooks/issue-guard.d.ts.map +1 -0
  18. package/dist/hooks/issue-guard.js +52 -0
  19. package/dist/hooks/issue-guard.js.map +1 -0
  20. package/dist/hooks/pre-edit.d.ts.map +1 -1
  21. package/dist/hooks/pre-edit.js +9 -0
  22. package/dist/hooks/pre-edit.js.map +1 -1
  23. package/dist/hooks/safety.d.ts.map +1 -1
  24. package/dist/hooks/safety.js +10 -3
  25. package/dist/hooks/safety.js.map +1 -1
  26. package/dist/hooks/stop-verify.d.ts.map +1 -1
  27. package/dist/hooks/stop-verify.js +8 -1
  28. package/dist/hooks/stop-verify.js.map +1 -1
  29. package/dist/hooks/verify-state.d.ts +8 -2
  30. package/dist/hooks/verify-state.d.ts.map +1 -1
  31. package/dist/hooks/verify-state.js +30 -2
  32. package/dist/hooks/verify-state.js.map +1 -1
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +4 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/mcp/entry.js +1 -1
  37. package/dist/mcp/entry.js.map +1 -1
  38. package/dist/mcp/tools.d.ts.map +1 -1
  39. package/dist/mcp/tools.js +19 -7
  40. package/dist/mcp/tools.js.map +1 -1
  41. package/dist/tools/call_chain.d.ts +3 -3
  42. package/dist/tools/call_chain.d.ts.map +1 -1
  43. package/dist/tools/call_chain.js +82 -65
  44. package/dist/tools/call_chain.js.map +1 -1
  45. package/dist/tools/codesearch.d.ts +1 -1
  46. package/dist/tools/codesearch.d.ts.map +1 -1
  47. package/dist/tools/codesearch.js +151 -11
  48. package/dist/tools/codesearch.js.map +1 -1
  49. package/dist/tools/definitions.d.ts.map +1 -1
  50. package/dist/tools/definitions.js +15 -7
  51. package/dist/tools/definitions.js.map +1 -1
  52. package/dist/tools/impact.d.ts.map +1 -1
  53. package/dist/tools/impact.js +5 -4
  54. package/dist/tools/impact.js.map +1 -1
  55. package/dist/tools/verify.d.ts.map +1 -1
  56. package/dist/tools/verify.js +26 -13
  57. package/dist/tools/verify.js.map +1 -1
  58. package/package.json +1 -1
package/README.md CHANGED
@@ -16,7 +16,7 @@ For non-Pi agents, pi-shazam also exposes the same tools via **MCP (Model Contex
16
16
 
17
17
  - **Tree-sitter parsing** — 6 programming languages (Python, TypeScript, JavaScript, Go, Rust, JSON), full symbol dependency graph
18
18
  - **PageRank ranking** — Identify core files and key symbols
19
- - **LSP integration** — Type checking, diagnostics, type hierarchy (5 languages)
19
+ - **LSP integration** — Type checking, diagnostics, type hierarchy (6 languages)
20
20
  - **Incremental analysis** — Baseline comparison, focus on changes
21
21
  - **Smart verification** — Post-edit verification with PASS/WARN/FAIL verdict
22
22
 
@@ -57,7 +57,7 @@ Compatible with any MCP-capable client. Same analysis engine, JSON-based tool in
57
57
  | ----------------------- | ---------------------------------------------------------------------------------- |
58
58
  | `shazam_overview` | Project structure, top-10 core files by PageRank, key dependencies, recent commits |
59
59
  | `shazam_impact` | Change impact analysis: affected files, symbols, tests |
60
- | `shazam_codesearch` | BM25 symbol search — ranked alternative to grep |
60
+ | `shazam_codesearch` | BM25 symbol search + ripgrep full-text search (target=symbol/code) — ranked alternative to grep |
61
61
  | `shazam_symbol` | Symbol definition, signature, callers, callees |
62
62
  | `shazam_hover` | Type signatures, JSDoc, signatureHelp for function call context |
63
63
  | `shazam_file_detail` | File structure: symbols, PageRank, call counts, LSP hierarchy, codeLens refs |
@@ -88,10 +88,12 @@ Compatible with any MCP-capable client. Same analysis engine, JSON-based tool in
88
88
  | `failure-recovery` | `tool_result` | Detect consecutive failures (3x/5x) and suggest alternatives |
89
89
  | `pre-edit` | `tool_call` | Detect multi-file edits, warn about blast radius |
90
90
  | `tool-logger` | `tool_call` + `tool_result` | Log all shazam tool calls to `~/.pi/hooks/audit/shazam-calls.log` |
91
+ | `issue-guard` | `tool_call` (bash) + `tool_result` | Detects `gh issue create`, blocks edits until `shazam_impact` runs |
92
+ | `agent-context-guard` | `tool_call` (agent) | Blocks agent spawn without structural context for review tasks |
91
93
 
92
94
  **Auto-format support**: ruff (Python), prettier (JS/TS/JSON/MD), gofmt (Go), rustfmt (Rust), biome (JS/TS)
93
95
 
94
- Additional commands: `/shazam-setup`, `/shazam-doctor`, `/shazam-install-git-hooks`, etc.
96
+ Additional commands: `/shazam-setup`, `/shazam-doctor`, `/shazam-install-git-hooks`, `/shazam-remove-git-hooks`, `/shazam-pre-commit-verify`
95
97
 
96
98
  ### MCP Client Support
97
99
 
@@ -145,7 +147,11 @@ pi-shazam (npm package)
145
147
  │ ├── shazam-guide.ts Auto-format + tool usage guidance
146
148
  │ ├── stop-verify.ts Turn-end verification reminder
147
149
  │ ├── failure-recovery.ts Consecutive failure detection
148
- └── tool-logger.ts Usage analytics
150
+ ├── tool-logger.ts Usage analytics
151
+ │ ├── verify-state.ts Shared verify tracking state for safety + stop-verify
152
+ │ ├── impact-state.ts Shared impact tracking state for issue-guard + pre-edit
153
+ │ ├── issue-guard.ts Detect gh issue create, set pending impact flag
154
+ │ └── agent-context-guard.ts Block agent spawn without structural context
149
155
 
150
156
  ├── tools/ Pi tool wrappers (tools → core + lsp)
151
157
  │ ├── definitions.ts Shared tool definitions (names, descriptions, schemas)
@@ -205,6 +211,7 @@ npm run build # tsc → dist/
205
211
  | Go | gopls | Supported |
206
212
  | Rust | rust-analyzer | Supported |
207
213
  | YAML | yaml-language-server | Supported |
214
+ | JSON | vscode-json-languageserver | Supported |
208
215
 
209
216
  When LSP servers are unavailable, tools automatically fall back to tree-sitter mode.
210
217
 
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../core/filter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA2D5C;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,aA4BpB,CAAC;AAEH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAarE;AAyDD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG;IAC9C,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IACvF,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvE,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACvE,CAoEA"}
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../core/filter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA+D5C;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,aA4BpB,CAAC;AAEH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAarE;AA6GD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG;IAC9C,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IACvF,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvE,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACvE,CAmFA"}
@@ -63,6 +63,10 @@ const NON_SOURCE_FILE_PATTERNS = [
63
63
  /(?:^|\/)out(?:\/|$)/,
64
64
  /(?:^|\/)target(?:\/|$)/,
65
65
  /\.json$/,
66
+ /(?:^|\/)vendor(?:\/|$)/, // vendor directories
67
+ /\.min\.(?:js|css|mjs|cjs)$/, // minified files
68
+ /\.generated\./, // generated files
69
+ /\.bundle\.(?:js|css|mjs)$/, // bundle artifacts
66
70
  ];
67
71
  /**
68
72
  * Directories to skip during project scanning and LSP detection.
@@ -132,10 +136,7 @@ export function isTrackableEditedPath(normalizedPath) {
132
136
  * Registration functions are typically called dynamically by frameworks.
133
137
  */
134
138
  function isRegistrationSymbol(name) {
135
- return (name.startsWith("register") ||
136
- name.startsWith("createTool") ||
137
- name === "execute" ||
138
- name === "handler");
139
+ return name.startsWith("register") || name.startsWith("createTool") || name === "execute" || name === "handler";
139
140
  }
140
141
  function isEntryPointSymbol(name, kind) {
141
142
  // Python entry points
@@ -163,17 +164,60 @@ function isEntryPointSymbol(name, kind) {
163
164
  return true;
164
165
  if (name === "Drop" && kind === "trait")
165
166
  return true;
167
+ // Rust standard trait implementations — these are dispatched by the
168
+ // compiler or standard library, never called by name in user code.
169
+ // Without this, every `impl Clone for Foo` etc. is a false orphan.
170
+ if (kind === "impl" || kind === "trait") {
171
+ const RUST_STD_TRAITS = new Set([
172
+ "From",
173
+ "Into",
174
+ "TryFrom",
175
+ "TryInto",
176
+ "Display",
177
+ "Debug",
178
+ "Clone",
179
+ "Copy",
180
+ "Hash",
181
+ "Eq",
182
+ "PartialEq",
183
+ "Ord",
184
+ "PartialOrd",
185
+ "Serialize",
186
+ "Deserialize",
187
+ "Iterator",
188
+ "IntoIterator",
189
+ "FromStr",
190
+ "AsRef",
191
+ "AsMut",
192
+ "Deref",
193
+ "DerefMut",
194
+ "Fn",
195
+ "FnMut",
196
+ "FnOnce",
197
+ "Send",
198
+ "Sync",
199
+ "Error",
200
+ "Default",
201
+ "Drop",
202
+ ]);
203
+ if (RUST_STD_TRAITS.has(name))
204
+ return true;
205
+ }
166
206
  // Go entry points
167
207
  if (name === "main" && kind === "function")
168
208
  return true;
169
209
  if (name === "init" && kind === "function")
170
210
  return true;
211
+ // Rust module declarations are structural — they namespace items but
212
+ // are never referenced by name at runtime.
213
+ if (kind === "module")
214
+ return true;
171
215
  // Common framework entry points
172
216
  if (name.startsWith("test_") || name.startsWith("Test"))
173
217
  return true;
174
218
  return false;
175
219
  }
176
- function isFrameworkHandler(name) {
220
+ function isFrameworkHandler(name, file, kind) {
177
221
  // Flask/FastAPI/Django route handlers and middleware
178
222
  if (name.startsWith("test_") || name.startsWith("Test"))
179
223
  return true;
@@ -183,6 +227,23 @@ function isFrameworkHandler(name) {
183
227
  return true;
184
228
  if (name.endsWith("_handler") || name.endsWith("Handler"))
185
229
  return true;
230
+ // Rust framework entry points (axum, actix, tower, tonic, etc.)
231
+ // These are called by framework dispatch, not by name in user code.
232
+ if (file?.endsWith(".rs") && kind === "function") {
233
+ const RUST_FRAMEWORK_FNS = new Set([
234
+ "new",
235
+ "run",
236
+ "serve",
237
+ "from_request",
238
+ "into_response",
239
+ "call",
240
+ "poll_ready",
241
+ "handle",
242
+ "next",
243
+ ]);
244
+ if (RUST_FRAMEWORK_FNS.has(name))
245
+ return true;
246
+ }
186
247
  return false;
187
248
  }
188
249
  /**
@@ -265,8 +326,22 @@ export function findOrphans(graph) {
265
326
  // Skip anonymous functions
266
327
  if (sym.kind === "anonymous_function")
267
328
  continue;
329
+ // Skip impl blocks — they are structural declarations (impl Foo { ... })
330
+ // and are never referenced by name in the call graph (fixes #252).
331
+ if (sym.kind === "impl")
332
+ continue;
333
+ // Skip TypeScript interfaces and type aliases. These are structural
334
+ // type declarations consumed by the type system (type annotations,
335
+ // extends, implements, generics). They never produce runtime call
336
+ // edges in the symbol graph, so zero incoming refs is expected.
337
+ if (sym.kind === "interface" || sym.kind === "type_alias")
338
+ continue;
268
339
  // Skip test files
269
- if (sym.file.includes("tests/") || sym.file.includes(".test.") || sym.file.includes("test_") || sym.file.includes("_test.") || sym.file.includes("/test/"))
340
+ if (sym.file.includes("tests/") ||
341
+ sym.file.includes(".test.") ||
342
+ sym.file.includes("test_") ||
343
+ sym.file.includes("_test.") ||
344
+ sym.file.includes("/test/"))
270
345
  continue;
271
346
  // Skip registration functions called dynamically by frameworks
272
347
  if (isRegistrationSymbol(sym.name))
@@ -275,7 +350,7 @@ export function findOrphans(graph) {
275
350
  if (isEntryPointSymbol(sym.name, sym.kind))
276
351
  continue;
277
352
  // Skip framework handler patterns
278
- if (isFrameworkHandler(sym.name))
353
+ if (isFrameworkHandler(sym.name, sym.file, sym.kind))
279
354
  continue;
280
355
  const orphan = { name: sym.name, kind: sym.kind, file: sym.file, line: sym.line };
281
356
  all.push({ ...orphan, isExported: false });
@@ -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 +1 @@
1
- {"version":3,"file":"treesitter.d.ts","sourceRoot":"","sources":["../../core/treesitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAkBH,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAW1D,UAAU,IAAI;IACb,QAAQ,EAAE,UAAU,CAAC;CACrB;AAED,UAAU,UAAU;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,iBAAiB,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;CACpD;AAQD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAc9C,CAAC;AAIF,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,OAAO,CAAiD;IAChE,OAAO,CAAC,GAAG,CAAwB;gBAEvB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;IAOvC,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,kBAAkB;IA2B1B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIxD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IA6BhD,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAShE,OAAO,CAAC,uBAAuB;IAsF/B,OAAO,CAAC,mBAAmB;IAyC3B,OAAO,CAAC,kBAAkB;IAqC1B,OAAO,CAAC,mBAAmB;IAoC3B,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;IAgC5D,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;IA2BlE,yBAAyB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE;IAqEtE,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,OAAO;IAYf,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,UAAU;CAKlB"}
1
+ {"version":3,"file":"treesitter.d.ts","sourceRoot":"","sources":["../../core/treesitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAkBH,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAW1D,UAAU,IAAI;IACb,QAAQ,EAAE,UAAU,CAAC;CACrB;AAED,UAAU,UAAU;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,iBAAiB,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;CACpD;AAQD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAc9C,CAAC;AAIF,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,OAAO,CAAiD;IAChE,OAAO,CAAC,GAAG,CAAwB;gBAEvB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;IAOvC,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,kBAAkB;IA2B1B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIxD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IA6BhD,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAShE,OAAO,CAAC,uBAAuB;IAsF/B,OAAO,CAAC,mBAAmB;IAyC3B,OAAO,CAAC,kBAAkB;IAqC1B,OAAO,CAAC,mBAAmB;IAoC3B,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;IAgC5D,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;IA2BlE,yBAAyB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE;IAqEtE,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,OAAO;IAYf,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,UAAU;CAKlB"}
@@ -488,6 +488,14 @@ export class TreeSitterAdapter {
488
488
  if (ancestor.type.includes("export")) {
489
489
  return true;
490
490
  }
491
+ // Rust: check for visibility_modifier (pub, pub(crate), pub(super), etc.)
492
+ // The visibility_modifier is a sibling/child of the definition node in
493
+ // Rust's tree-sitter grammar, not an ancestor wrapper.
494
+ for (const child of ancestor.children) {
495
+ if (child.type === "visibility_modifier" && child.text.startsWith("pub")) {
496
+ return true;
497
+ }
498
+ }
491
499
  ancestor = ancestor.parent;
492
500
  }
493
501
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"treesitter.js","sourceRoot":"","sources":["../../core/treesitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"treesitter.js","sourceRoot":"","sources":["../../core/treesitter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * pi-shazam hooks/agent-context-guard — Agent prompt structural context checker.
3
+ *
4
+ * Intercepts agent-like tool calls (agent, agent_swarm, subagent) and checks
5
+ * whether the prompt contains sufficient structural context for the task type.
6
+ *
7
+ * For review/audit tasks: blocks if context score is below threshold.
8
+ * For coding tasks: warns (non-blocking) if context is insufficient.
9
+ * Short prompts (< 30 words) are always skipped.
10
+ */
11
+ import type { ExtensionAPI } from "../types/pi-extension.js";
12
+ /**
13
+ * Register the agent context guard hook.
14
+ *
15
+ * Blocks review tasks that lack structural context and warns on
16
+ * coding tasks with insufficient context.
17
+ */
18
+ export declare function registerAgentContextGuard(pi: ExtensionAPI): void;
19
+ //# sourceMappingURL=agent-context-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-context-guard.d.ts","sourceRoot":"","sources":["../../hooks/agent-context-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,0BAA0B,CAAC;AAiDlF;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAkChE"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * pi-shazam hooks/agent-context-guard — Agent prompt structural context checker.
3
+ *
4
+ * Intercepts agent-like tool calls (agent, agent_swarm, subagent) and checks
5
+ * whether the prompt contains sufficient structural context for the task type.
6
+ *
7
+ * For review/audit tasks: blocks if context score is below threshold.
8
+ * For coding tasks: warns (non-blocking) if context is insufficient.
9
+ * Short prompts (< 30 words) are always skipped.
10
+ */
11
+ /**
12
+ * Tool names that represent agent spawning (case-insensitive check).
13
+ */
14
+ const AGENT_TOOL_NAMES = new Set(["agent", "agent_swarm", "subagent"]);
15
+ /**
16
+ * Patterns that indicate a review/audit task.
17
+ */
18
+ const REVIEW_PATTERNS = /review|audit|security|integrity/i;
19
+ /**
20
+ * Patterns that indicate a coding/implementation task.
21
+ */
22
+ const CODING_PATTERNS = /implement|write|edit|create|fix|refactor/i;
23
+ /**
24
+ * Minimum word count for a prompt to be evaluated.
25
+ * Short prompts are typically simple queries that don't need context checks.
26
+ */
27
+ const MIN_WORD_COUNT = 30;
28
+ /**
29
+ * Minimum context score for review tasks to proceed.
30
+ */
31
+ const REVIEW_CONTEXT_THRESHOLD = 2;
32
+ /**
33
+ * Minimum context score for coding tasks (below this triggers a warning).
34
+ */
35
+ const CODING_CONTEXT_THRESHOLD = 1;
36
+ /**
37
+ * Compute a structural context score for a prompt.
38
+ * Each detected context marker adds 1 point:
39
+ * - File paths (e.g., src/foo.ts)
40
+ * - Inline code references (backtick-wrapped symbols)
41
+ * - Line number references (e.g., line 42, :42)
42
+ * - shazam_ tool references
43
+ */
44
+ function computeContextScore(prompt) {
45
+ const hasFilePaths = /[\w-]+\/[\w-]+|\.\w{1,4}$/.test(prompt);
46
+ const hasSymbols = prompt.includes("`");
47
+ const hasLineNums = /line\s+\d+|:\d+/.test(prompt);
48
+ const hasShazam = /shazam_/i.test(prompt);
49
+ return [hasFilePaths, hasSymbols, hasLineNums, hasShazam].filter(Boolean).length;
50
+ }
51
+ /**
52
+ * Register the agent context guard hook.
53
+ *
54
+ * Blocks review tasks that lack structural context and warns on
55
+ * coding tasks with insufficient context.
56
+ */
57
+ export function registerAgentContextGuard(pi) {
58
+ pi.on("tool_call", (event, ctx) => {
59
+ const toolName = event.toolName.toLowerCase();
60
+ if (!AGENT_TOOL_NAMES.has(toolName))
61
+ return;
62
+ const input = "input" in event ? event.input : {};
63
+ const prompt = input.prompt;
64
+ if (!prompt)
65
+ return;
66
+ // Skip trivial prompts
67
+ const wordCount = prompt.trim().split(/\s+/).length;
68
+ if (wordCount < MIN_WORD_COUNT)
69
+ return;
70
+ const isReview = REVIEW_PATTERNS.test(prompt);
71
+ const isCoding = CODING_PATTERNS.test(prompt);
72
+ const contextScore = computeContextScore(prompt);
73
+ // Block review tasks without sufficient context
74
+ if (isReview && contextScore < REVIEW_CONTEXT_THRESHOLD) {
75
+ return {
76
+ block: true,
77
+ reason: "Review task lacks structural context. Provide file paths and symbols from shazam_file_detail or shazam_codesearch first.",
78
+ };
79
+ }
80
+ // Warn coding tasks without context (non-blocking)
81
+ if (isCoding && contextScore < CODING_CONTEXT_THRESHOLD) {
82
+ ctx.ui?.notify?.("[shazam] Coding task lacks structural context. Consider running shazam_overview or shazam_codesearch first for better results.", "warning");
83
+ }
84
+ });
85
+ }
86
+ //# sourceMappingURL=agent-context-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-context-guard.js","sourceRoot":"","sources":["../../hooks/agent-context-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH;;GAEG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;AAEvE;;GAEG;AACH,MAAM,eAAe,GAAG,kCAAkC,CAAC;AAE3D;;GAEG;AACH,MAAM,eAAe,GAAG,2CAA2C,CAAC;AAEpE;;;GAGG;AACH,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B;;GAEG;AACH,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAEnC;;GAEG;AACH,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAEnC;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,MAAc;IAC1C,MAAM,YAAY,GAAG,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;AAClF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,EAAgB;IACzD,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,GAAG,EAA8B,EAAE;QAC7D,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO;QAE5C,MAAM,KAAK,GAAG,OAAO,IAAI,KAAK,CAAC,CAAC,CAAE,KAA4C,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,MAAM,MAAM,GAAI,KAAiC,CAAC,MAAgB,CAAC;QACnE,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,uBAAuB;QACvB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QACpD,IAAI,SAAS,GAAG,cAAc;YAAE,OAAO;QAEvC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAEjD,gDAAgD;QAChD,IAAI,QAAQ,IAAI,YAAY,GAAG,wBAAwB,EAAE,CAAC;YACzD,OAAO;gBACN,KAAK,EAAE,IAAI;gBACX,MAAM,EACL,0HAA0H;aAC3H,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,IAAI,QAAQ,IAAI,YAAY,GAAG,wBAAwB,EAAE,CAAC;YACzD,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,CACf,gIAAgI,EAChI,SAAS,CACT,CAAC;QACH,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * pi-shazam hooks/impact-state — Shared impact tracking state.
3
+ *
4
+ * Single source of truth for "was a GitHub issue created but shazam_impact
5
+ * not yet run?" Used by issue-guard.ts (sets/clears) and pre-edit.ts (checks).
6
+ *
7
+ * State machine:
8
+ * idle → pending (setPendingImpact) → idle (clearPendingImpact or resetImpactState)
9
+ */
10
+ /**
11
+ * Mark that a GitHub issue was created and impact analysis is needed
12
+ * before any file edits should proceed.
13
+ */
14
+ export declare function setPendingImpact(): void;
15
+ /**
16
+ * Clear the pending impact flag. Called when shazam_impact completes
17
+ * successfully.
18
+ */
19
+ export declare function clearPendingImpact(): void;
20
+ /**
21
+ * Check whether a pending impact analysis exists (issue created,
22
+ * shazam_impact not yet run).
23
+ */
24
+ export declare function hasPendingImpact(): boolean;
25
+ /**
26
+ * Reset all state. Called on session_start/session_shutdown and in tests.
27
+ */
28
+ export declare function resetImpactState(): void;
29
+ //# sourceMappingURL=impact-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"impact-state.d.ts","sourceRoot":"","sources":["../../hooks/impact-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * pi-shazam hooks/impact-state — Shared impact tracking state.
3
+ *
4
+ * Single source of truth for "was a GitHub issue created but shazam_impact
5
+ * not yet run?" Used by issue-guard.ts (sets/clears) and pre-edit.ts (checks).
6
+ *
7
+ * State machine:
8
+ * idle → pending (setPendingImpact) → idle (clearPendingImpact or resetImpactState)
9
+ */
10
+ let _pendingImpact = false;
11
+ /**
12
+ * Mark that a GitHub issue was created and impact analysis is needed
13
+ * before any file edits should proceed.
14
+ */
15
+ export function setPendingImpact() {
16
+ _pendingImpact = true;
17
+ }
18
+ /**
19
+ * Clear the pending impact flag. Called when shazam_impact completes
20
+ * successfully.
21
+ */
22
+ export function clearPendingImpact() {
23
+ _pendingImpact = false;
24
+ }
25
+ /**
26
+ * Check whether a pending impact analysis exists (issue created,
27
+ * shazam_impact not yet run).
28
+ */
29
+ export function hasPendingImpact() {
30
+ return _pendingImpact;
31
+ }
32
+ /**
33
+ * Reset all state. Called on session_start/session_shutdown and in tests.
34
+ */
35
+ export function resetImpactState() {
36
+ _pendingImpact = false;
37
+ }
38
+ //# sourceMappingURL=impact-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"impact-state.js","sourceRoot":"","sources":["../../hooks/impact-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,IAAI,cAAc,GAAG,KAAK,CAAC;AAE3B;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC/B,cAAc,GAAG,IAAI,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IACjC,cAAc,GAAG,KAAK,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC/B,OAAO,cAAc,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC/B,cAAc,GAAG,KAAK,CAAC;AACxB,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * pi-shazam hooks/issue-guard — GitHub issue creation detector.
3
+ *
4
+ * Intercepts bash tool_call events to detect `gh issue create` commands.
5
+ * When a serious issue (bug/crash/error) is created, sets a pending impact
6
+ * flag that blocks subsequent file edits until shazam_impact is run.
7
+ *
8
+ * Trivial issues (chore/docs/typo) do not trigger the flag.
9
+ */
10
+ import type { ExtensionAPI } from "../types/pi-extension.js";
11
+ /**
12
+ * Register the issue guard hook.
13
+ *
14
+ * On bash tool_call: detects `gh issue create` and classifies severity.
15
+ * On shazam_impact tool_result: clears the pending impact flag.
16
+ * On session_start: resets the pending impact flag.
17
+ */
18
+ export declare function registerIssueGuard(pi: ExtensionAPI): void;
19
+ //# sourceMappingURL=issue-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue-guard.d.ts","sourceRoot":"","sources":["../../hooks/issue-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAa7D;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA6BzD"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * pi-shazam hooks/issue-guard — GitHub issue creation detector.
3
+ *
4
+ * Intercepts bash tool_call events to detect `gh issue create` commands.
5
+ * When a serious issue (bug/crash/error) is created, sets a pending impact
6
+ * flag that blocks subsequent file edits until shazam_impact is run.
7
+ *
8
+ * Trivial issues (chore/docs/typo) do not trigger the flag.
9
+ */
10
+ import { setPendingImpact, clearPendingImpact } from "./impact-state.js";
11
+ /**
12
+ * Patterns that indicate a serious issue requiring impact analysis.
13
+ */
14
+ const SERIOUS_PATTERNS = /fix|bug|P0|P1|crash|error|broken|fail/i;
15
+ /**
16
+ * Patterns that indicate a trivial issue not requiring impact analysis.
17
+ */
18
+ const TRIVIAL_PATTERNS = /chore|docs|typo|readme/i;
19
+ /**
20
+ * Register the issue guard hook.
21
+ *
22
+ * On bash tool_call: detects `gh issue create` and classifies severity.
23
+ * On shazam_impact tool_result: clears the pending impact flag.
24
+ * On session_start: resets the pending impact flag.
25
+ */
26
+ export function registerIssueGuard(pi) {
27
+ pi.on("tool_call", (event) => {
28
+ if (event.toolName !== "bash")
29
+ return;
30
+ const input = "input" in event ? event.input : {};
31
+ const command = input.command || "";
32
+ if (!command.includes("gh issue create"))
33
+ return;
34
+ // Classify severity from title/body patterns in the command
35
+ const isSerious = SERIOUS_PATTERNS.test(command);
36
+ const isTrivial = TRIVIAL_PATTERNS.test(command);
37
+ if (isSerious && !isTrivial) {
38
+ setPendingImpact();
39
+ }
40
+ });
41
+ // Clear pending impact when shazam_impact completes
42
+ pi.on("tool_result", (event) => {
43
+ if (event.toolName === "shazam_impact") {
44
+ clearPendingImpact();
45
+ }
46
+ });
47
+ // Reset pending impact on session start
48
+ pi.on("session_start", () => {
49
+ clearPendingImpact();
50
+ });
51
+ }
52
+ //# sourceMappingURL=issue-guard.js.map