pi-shazam 0.14.1 → 0.15.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 (87) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +28 -42
  3. package/dist/core/output.d.ts.map +1 -1
  4. package/dist/core/output.js +44 -185
  5. package/dist/core/output.js.map +1 -1
  6. package/dist/hooks/agent-context-guard.js +2 -2
  7. package/dist/hooks/agent-context-guard.js.map +1 -1
  8. package/dist/hooks/before-start.d.ts.map +1 -1
  9. package/dist/hooks/before-start.js +9 -13
  10. package/dist/hooks/before-start.js.map +1 -1
  11. package/dist/hooks/failure-recovery.d.ts.map +1 -1
  12. package/dist/hooks/failure-recovery.js +109 -17
  13. package/dist/hooks/failure-recovery.js.map +1 -1
  14. package/dist/hooks/rename-state.d.ts +4 -4
  15. package/dist/hooks/rename-state.js +4 -4
  16. package/dist/hooks/shazam-guide.d.ts +3 -3
  17. package/dist/hooks/shazam-guide.js +9 -9
  18. package/dist/hooks/shazam-guide.js.map +1 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +6 -16
  21. package/dist/index.js.map +1 -1
  22. package/dist/mcp/entry.js +1 -1
  23. package/dist/mcp/tools.d.ts +2 -0
  24. package/dist/mcp/tools.d.ts.map +1 -1
  25. package/dist/mcp/tools.js +73 -130
  26. package/dist/mcp/tools.js.map +1 -1
  27. package/dist/tools/changes.d.ts +14 -0
  28. package/dist/tools/changes.d.ts.map +1 -0
  29. package/dist/tools/changes.js +123 -0
  30. package/dist/tools/changes.js.map +1 -0
  31. package/dist/tools/definitions.d.ts +4 -0
  32. package/dist/tools/definitions.d.ts.map +1 -1
  33. package/dist/tools/definitions.js +71 -146
  34. package/dist/tools/definitions.js.map +1 -1
  35. package/dist/tools/format.d.ts +28 -0
  36. package/dist/tools/format.d.ts.map +1 -0
  37. package/dist/tools/{fix.js → format.js} +15 -13
  38. package/dist/tools/format.js.map +1 -0
  39. package/dist/tools/impact.d.ts +15 -1
  40. package/dist/tools/impact.d.ts.map +1 -1
  41. package/dist/tools/impact.js +218 -4
  42. package/dist/tools/impact.js.map +1 -1
  43. package/dist/tools/lookup.d.ts +23 -0
  44. package/dist/tools/lookup.d.ts.map +1 -0
  45. package/dist/tools/lookup.js +787 -0
  46. package/dist/tools/lookup.js.map +1 -0
  47. package/dist/tools/overview.d.ts +2 -0
  48. package/dist/tools/overview.d.ts.map +1 -1
  49. package/dist/tools/overview.js +81 -5
  50. package/dist/tools/overview.js.map +1 -1
  51. package/dist/tools/rename_symbol.d.ts.map +1 -1
  52. package/dist/tools/rename_symbol.js +17 -7
  53. package/dist/tools/rename_symbol.js.map +1 -1
  54. package/dist/tools/safe_delete.js +1 -1
  55. package/dist/tools/safe_delete.js.map +1 -1
  56. package/package.json +1 -1
  57. package/dist/tools/call_chain.d.ts +0 -19
  58. package/dist/tools/call_chain.d.ts.map +0 -1
  59. package/dist/tools/call_chain.js +0 -263
  60. package/dist/tools/call_chain.js.map +0 -1
  61. package/dist/tools/codesearch.d.ts +0 -33
  62. package/dist/tools/codesearch.d.ts.map +0 -1
  63. package/dist/tools/codesearch.js +0 -786
  64. package/dist/tools/codesearch.js.map +0 -1
  65. package/dist/tools/file_detail.d.ts +0 -6
  66. package/dist/tools/file_detail.d.ts.map +0 -1
  67. package/dist/tools/file_detail.js +0 -321
  68. package/dist/tools/file_detail.js.map +0 -1
  69. package/dist/tools/fix.d.ts +0 -26
  70. package/dist/tools/fix.d.ts.map +0 -1
  71. package/dist/tools/fix.js.map +0 -1
  72. package/dist/tools/hotspots.d.ts +0 -9
  73. package/dist/tools/hotspots.d.ts.map +0 -1
  74. package/dist/tools/hotspots.js +0 -120
  75. package/dist/tools/hotspots.js.map +0 -1
  76. package/dist/tools/hover.d.ts +0 -27
  77. package/dist/tools/hover.d.ts.map +0 -1
  78. package/dist/tools/hover.js +0 -374
  79. package/dist/tools/hover.js.map +0 -1
  80. package/dist/tools/symbol.d.ts +0 -36
  81. package/dist/tools/symbol.d.ts.map +0 -1
  82. package/dist/tools/symbol.js +0 -268
  83. package/dist/tools/symbol.js.map +0 -1
  84. package/dist/tools/type_hierarchy.d.ts +0 -29
  85. package/dist/tools/type_hierarchy.d.ts.map +0 -1
  86. package/dist/tools/type_hierarchy.js +0 -255
  87. package/dist/tools/type_hierarchy.js.map +0 -1
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 gjczone
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,16 +1,16 @@
1
1
  # pi-shazam
2
2
 
3
- > **Pi coding agent native codebase awareness toolkit** — 14 structural analysis tools built natively for Pi agent. MCP support available for non-Pi agents (Cursor, Claude Code, Qoder, Trae, Codebuddy, etc.)
3
+ > **Pi coding agent native codebase awareness toolkit** — 9 structural analysis tools built natively for Pi agent. MCP support available for non-Pi agents (Cursor, Claude Code, Qoder, Trae, Codebuddy, etc.)
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/pi-shazam)](https://www.npmjs.com/package/pi-shazam)
6
6
  [![CI](https://github.com/gjczone/pi-shazam/actions/workflows/ci.yml/badge.svg)](https://github.com/gjczone/pi-shazam/actions/workflows/ci.yml)
7
7
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
8
 
9
- > **100% Vibe Coding** — This entire project (core analysis engine, 14 tools, hooks, LSP integration, MCP server, CI/CD, documentation) was built using [Pi coding agent](https://pi.dev) powered primarily by **DeepSeek-V4-Pro**. Zero hand-written code. Every line, every test, every architecture decision — generated and refined by AI, verified by automated CI.
9
+ > **100% Vibe Coding** — This entire project (core analysis engine, 9 tools, hooks, LSP integration, MCP server, CI/CD, documentation) was built using [Pi coding agent](https://pi.dev) powered primarily by **DeepSeek-V4-Pro**, **MiMo-V2.5-Pro**, and **Qwen3.7-Max**. Zero hand-written code. Every line, every test, every architecture decision — generated and refined by AI, verified by automated CI.
10
10
 
11
11
  ## What It Does
12
12
 
13
- **pi-shazam** is a native codebase analysis toolkit built for the **Pi coding agent**. It provides 14 structural analysis tools that help AI agents understand project architecture before reading code.
13
+ **pi-shazam** is a native codebase analysis toolkit built for the **Pi coding agent**. It provides 9 structural analysis tools that help AI agents understand project architecture before reading code.
14
14
 
15
15
  For non-Pi agents, pi-shazam also exposes the same tools via **MCP (Model Context Protocol)**. Supported MCP clients include Cursor, Claude Code, Qoder, Trae, Codebuddy, Kimi Code, and more. **Note: the MCP interface is a compatibility layer — the primary and recommended deployment model is as a native Pi extension.**
16
16
 
@@ -32,11 +32,11 @@ For non-Pi agents, pi-shazam also exposes the same tools via **MCP (Model Contex
32
32
  pi install npm:pi-shazam
33
33
  ```
34
34
 
35
- After installation, all 14 analysis tools register as native Pi tools alongside `read`, `write`, and `bash`. Automatic hooks inject project structure into system prompts, verify code after edits, and log tool usage. **Full hook lifecycle (before_agent_start, session_start, session_shutdown, tool_call, tool_result) available only in Pi mode.**
35
+ After installation, all 9 analysis tools register as native Pi tools alongside `read`, `write`, and `bash`. Automatic hooks inject project structure into system prompts, verify code after edits, and log tool usage. **Full hook lifecycle (before_agent_start, session_start, session_shutdown, tool_call, tool_result) available only in Pi mode.**
36
36
 
37
37
  ### MCP (For Non-Pi Agents Only)
38
38
 
39
- Use this only if you are **not** using Pi agent. The MCP interface provides the same 14 tools with LSP support but without Pi-specific hooks and lifecycle integration.
39
+ Use this only if you are **not** using Pi agent. The MCP interface provides the same 9 tools with LSP support but without Pi-specific hooks and lifecycle integration.
40
40
 
41
41
  ```json
42
42
  {
@@ -55,25 +55,20 @@ Compatible with any MCP-capable client. Same analysis engine, JSON-based tool in
55
55
 
56
56
  ### Query (Read-Only)
57
57
 
58
- | Tool | What It Does |
59
- | ----------------------- | ---------------------------------------------------------------------------------- |
60
- | `shazam_overview` | Project structure, top-10 core files by PageRank, key dependencies, recent commits |
61
- | `shazam_impact` | Change impact analysis (BFS depth tracking, default 3): affected files, symbols, tests |
62
- | `shazam_codesearch` | BM25 symbol search + ripgrep full-text search (target=symbol/code) ranked alternative to grep |
63
- | `shazam_symbol` | Symbol definition, signature, callers, callees |
64
- | `shazam_hover` | Type signatures, JSDoc, signatureHelp for function call context |
65
- | `shazam_file_detail` | File structure: symbols, PageRank, call counts, LSP hierarchy, codeLens refs |
66
- | `shazam_call_chain` | Full upstream/downstream call graph |
67
- | `shazam_find_tests` | Find test files covering a module |
68
- | `shazam_hotspots` | Files ranked by complexity — where bugs hurt most |
69
- | `shazam_type_hierarchy` | Class/interface inheritance chain + implementation locations |
58
+ | Tool | What It Does |
59
+ | ------------------- | ------------------------------------------------------------------------ |
60
+ | `shazam_overview` | Project structure + hotspots + deps + routes |
61
+ | `shazam_lookup` | Symbol/file lookup with type hierarchy, hover, LSP enrichment |
62
+ | `shazam_impact` | File impact + symbol call chain analysis (BFS depth tracking, default 3) |
63
+ | `shazam_changes` | Git change summary with risk level |
64
+ | `shazam_find_tests` | Find test files covering a module |
70
65
 
71
66
  ### Write & Verify
72
67
 
73
68
  | Tool | What It Does |
74
69
  | ---------------------- | --------------------------------------------------------------------------- |
75
70
  | `shazam_verify` | Post-edit verification: LSP diagnostics + codeAction fixes + risk + orphans |
76
- | `shazam_fix` | Auto-fix format issues (prettier, biome, eslint, ruff, gofmt) |
71
+ | `shazam_format` | Auto-format code (prettier, biome, eslint, ruff, gofmt) |
77
72
  | `shazam_rename_symbol` | Safe project-wide rename — verify references first |
78
73
  | `shazam_safe_delete` | Delete with zero-reference confirmation |
79
74
 
@@ -81,17 +76,17 @@ Compatible with any MCP-capable client. Same analysis engine, JSON-based tool in
81
76
 
82
77
  ### Pi Agent Hooks
83
78
 
84
- | Hook | Event | What It Does |
85
- | ------------------ | --------------------------- | -------------------------------------------------------------------------------------------- |
86
- | `before-start` | `before_agent_start` | Inject project structure overview + proactive recommendations into system prompt |
87
- | `safety` | `tool_call` (bash) | Destructive command confirmation dialog + Pre-commit gate (blocks git commit without verify) |
88
- | `shazam-guide` | `tool_result` | Auto-format files after write/edit + contextual tool suggestions |
89
- | `stop-verify` | `turn_end` | Remind to run `shazam_verify` before ending turn |
90
- | `failure-recovery` | `tool_result` | Detect consecutive failures (3x/5x) and suggest alternatives |
91
- | `pre-edit` | `tool_call` | Detect multi-file edits, warn about blast radius |
92
- | `tool-logger` | `tool_call` + `tool_result` | Log all shazam tool calls to `~/.pi/hooks/audit/shazam-calls.log` |
93
- | `issue-guard` | `tool_call` (bash) + `tool_result` | Detects `gh issue create`, blocks edits until `shazam_impact` runs |
94
- | `agent-context-guard` | `tool_call` (agent) | Blocks agent spawn without structural context for review tasks |
79
+ | Hook | Event | What It Does |
80
+ | --------------------- | ---------------------------------- | -------------------------------------------------------------------------------------------- |
81
+ | `before-start` | `before_agent_start` | Inject project structure overview + proactive recommendations into system prompt |
82
+ | `safety` | `tool_call` (bash) | Destructive command confirmation dialog + Pre-commit gate (blocks git commit without verify) |
83
+ | `shazam-guide` | `tool_result` | Auto-format files after write/edit + contextual tool suggestions |
84
+ | `stop-verify` | `turn_end` | Remind to run `shazam_verify` before ending turn |
85
+ | `failure-recovery` | `tool_result` | Detect consecutive failures (3x/5x) and suggest alternatives |
86
+ | `pre-edit` | `tool_call` | Detect multi-file edits, warn about blast radius |
87
+ | `tool-logger` | `tool_call` + `tool_result` | Log all shazam tool calls to `~/.pi/hooks/audit/shazam-calls.log` |
88
+ | `issue-guard` | `tool_call` (bash) + `tool_result` | Detects `gh issue create`, blocks edits until `shazam_impact` runs |
89
+ | `agent-context-guard` | `tool_call` (agent) | Blocks agent spawn without structural context for review tasks |
95
90
 
96
91
  **Auto-format support**: ruff (Python), prettier (JS/TS/JSON/MD), eslint (JS/TS), gofmt (Go), rustfmt (Rust), biome (JS/TS)
97
92
 
@@ -161,11 +156,9 @@ pi-shazam (npm package)
161
156
  │ ├── _factory.ts Tool registration factory
162
157
  │ ├── _context.ts Shared LSP manager holder
163
158
  │ ├── lsp_enrich.ts LSP enrichment wrappers
164
- │ ├── overview.ts ─── impact.ts ─── codesearch.ts
165
- │ ├── symbol.ts ─── hover.ts ─── file_detail.ts
166
- │ ├── call_chain.ts ─── verify.ts ─── fix.ts
167
- │ ├── hotspots.ts ─── find_tests.ts ─── type_hierarchy.ts
168
- │ ├── rename_symbol.ts ─── safe_delete.ts
159
+ │ ├── overview.ts ─── lookup.ts ─── impact.ts
160
+ │ ├── verify.ts ─── changes.ts ─── format.ts
161
+ │ ├── find_tests.ts ─── rename_symbol.ts ─── safe_delete.ts
169
162
  │ │
170
163
  │ └── Pi Extension (index.ts) MCP Server (mcp/entry.ts ── mcp/tools.ts)
171
164
  │ │ │
@@ -224,11 +217,4 @@ When LSP servers are unavailable, tools automatically fall back to tree-sitter m
224
217
 
225
218
  ## License
226
219
 
227
- MIT
228
-
229
- ## Links
230
-
231
- - [npm](https://www.npmjs.com/package/pi-shazam)
232
- - [GitHub](https://github.com/gjczone/pi-shazam)
233
- - [Pi Agent](https://pi.dev)
234
- - [MCP Protocol](https://modelcontextprotocol.io)
220
+ MIT — see [LICENSE](LICENSE) file.
@@ -1 +1 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../core/output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAM5C,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,MAAM,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,QAAQ;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC;IAC5D,cAAc,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,kBAAkB,GAAG,IAAI,CAAC;CAChE;AAYD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,CAQvD;AAID;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,CAM5D;AAID;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,QAAQ,EA2ShC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAazE;AAWD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,kBAAkB,EAAE,CAY/G;AAID;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,CAO7F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAIhG;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC9B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,GACxB,MAAM,CAKR;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAQ1C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAOnG;AAMD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AASD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAqCzE"}
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../core/output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAM5C,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,MAAM,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,QAAQ;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC;IAC5D,cAAc,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,kBAAkB,GAAG,IAAI,CAAC;CAChE;AAYD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,CAQvD;AAID;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,CAM5D;AAID;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,QAAQ,EAwJhC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAazE;AAWD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,kBAAkB,EAAE,CAY/G;AAID;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,CAO7F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAIhG;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC9B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,GACxB,MAAM,CAKR;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAQ1C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAOnG;AAMD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AASD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAqCzE"}
@@ -61,114 +61,12 @@ export const NEXT_RULES = [
61
61
  forTools: ["overview"],
62
62
  condition: (ctx) => Boolean(ctx.topFile),
63
63
  recommendation: (ctx) => ({
64
- tool: "file_detail",
65
- params: { file: ctx.topFile },
64
+ tool: "lookup",
65
+ params: { name: ctx.topFile },
66
66
  label: "Inspect top file",
67
67
  level: "recommended",
68
68
  }),
69
69
  },
70
- {
71
- forTools: ["overview"],
72
- condition: () => true,
73
- recommendation: () => ({
74
- tool: "codesearch",
75
- params: { query: "<keyword>" },
76
- label: "Search for related symbols",
77
- level: "also",
78
- }),
79
- },
80
- // hotspots
81
- {
82
- forTools: ["hotspots"],
83
- condition: (ctx) => Boolean(ctx.topFile),
84
- recommendation: (ctx) => ({
85
- tool: "file_detail",
86
- params: { file: ctx.topFile },
87
- label: "Inspect top hotspot",
88
- level: "recommended",
89
- }),
90
- },
91
- {
92
- forTools: ["hotspots"],
93
- condition: () => true,
94
- recommendation: () => ({
95
- tool: "overview",
96
- label: "Review project overview",
97
- level: "also",
98
- }),
99
- },
100
- // symbol
101
- {
102
- forTools: ["symbol"],
103
- condition: (ctx) => Boolean(ctx.topSymbol),
104
- recommendation: (ctx) => ({
105
- tool: "call_chain",
106
- params: { symbol: ctx.topSymbol },
107
- label: "Trace call chain",
108
- level: "recommended",
109
- }),
110
- },
111
- {
112
- forTools: ["symbol"],
113
- condition: (ctx) => Boolean(ctx.topSymbol),
114
- recommendation: (ctx) => ({
115
- tool: "hover",
116
- params: { name: ctx.topSymbol },
117
- label: "Get type info",
118
- level: "also",
119
- }),
120
- },
121
- // codesearch (find_tests suppressed when graph has no tests)
122
- {
123
- forTools: ["codesearch"],
124
- condition: (ctx) => Boolean(ctx.topSymbol),
125
- recommendation: (ctx) => ({
126
- tool: "symbol",
127
- params: { name: ctx.topSymbol },
128
- label: "View top result details",
129
- level: "recommended",
130
- }),
131
- },
132
- {
133
- forTools: ["codesearch"],
134
- condition: (_ctx, graph) => graph === undefined || hasTestFiles(graph),
135
- recommendation: () => ({
136
- tool: "find_tests",
137
- label: "Find related tests",
138
- level: "also",
139
- }),
140
- },
141
- // call_chain
142
- {
143
- forTools: ["call_chain"],
144
- condition: () => true,
145
- recommendation: () => ({
146
- tool: "impact",
147
- params: { files: "<caller-file>" },
148
- label: "Assess blast radius",
149
- level: "recommended",
150
- }),
151
- },
152
- {
153
- forTools: ["call_chain"],
154
- condition: (ctx) => Boolean(ctx.topSymbol),
155
- recommendation: (ctx) => ({
156
- tool: "hover",
157
- params: { name: ctx.topSymbol },
158
- label: "Inspect symbol type",
159
- level: "also",
160
- }),
161
- },
162
- {
163
- forTools: ["call_chain"],
164
- condition: (_ctx, graph) => graph === undefined || hasTestFiles(graph),
165
- recommendation: () => ({
166
- tool: "find_tests",
167
- label: "Find tests for affected modules",
168
- level: "also",
169
- }),
170
- },
171
- // overview (enhanced)
172
70
  {
173
71
  forTools: ["overview"],
174
72
  condition: (_ctx, graph) => graph === undefined || hasTestFiles(graph),
@@ -182,84 +80,33 @@ export const NEXT_RULES = [
182
80
  forTools: ["overview"],
183
81
  condition: (_ctx, graph) => graph === undefined || hasHierarchyKinds(graph),
184
82
  recommendation: () => ({
185
- tool: "type_hierarchy",
83
+ tool: "lookup",
84
+ params: { name: "<type-name>" },
186
85
  label: "Explore type hierarchy",
187
86
  level: "also",
188
87
  }),
189
88
  },
190
- // hover (type_hierarchy suppressed when graph has no class/interface)
89
+ // lookup (replaces symbol, file_detail, hover, type_hierarchy)
191
90
  {
192
- forTools: ["hover"],
91
+ forTools: ["lookup"],
193
92
  condition: (ctx) => Boolean(ctx.topSymbol),
194
93
  recommendation: (ctx) => ({
195
- tool: "symbol",
196
- params: { name: ctx.topSymbol },
197
- label: "View symbol graph info",
198
- level: "recommended",
199
- }),
200
- },
201
- {
202
- forTools: ["hover"],
203
- condition: (ctx, graph) => Boolean(ctx.topSymbol) && (graph === undefined || hasHierarchyKinds(graph)),
204
- recommendation: (ctx) => ({
205
- tool: "type_hierarchy",
206
- params: { name: ctx.topSymbol },
207
- label: "Explore type hierarchy",
208
- level: "also",
209
- }),
210
- },
211
- // file_detail (find_tests suppressed when graph has no tests)
212
- {
213
- forTools: ["file_detail"],
214
- condition: (ctx) => Boolean(ctx.topSymbol),
215
- recommendation: (ctx) => ({
216
- tool: "symbol",
217
- params: { name: ctx.topSymbol },
218
- label: "Inspect top symbol",
219
- level: "recommended",
220
- }),
221
- },
222
- {
223
- forTools: ["file_detail"],
224
- condition: (ctx, graph) => Boolean(ctx.topFile) && (graph === undefined || hasTestFiles(graph)),
225
- recommendation: (ctx) => ({
226
- tool: "find_tests",
227
- params: { sourceFile: ctx.topFile },
228
- label: "Find tests for this file",
229
- level: "also",
230
- }),
231
- },
232
- // find_tests
233
- {
234
- forTools: ["find_tests"],
235
- condition: (ctx) => Boolean(ctx.testFunc),
236
- recommendation: (ctx) => ({
237
- tool: "call_chain",
238
- params: { symbol: ctx.testFunc },
239
- label: "Trace test function",
94
+ tool: "impact",
95
+ params: { symbol: ctx.topSymbol },
96
+ label: "Trace call chain",
240
97
  level: "recommended",
241
98
  }),
242
99
  },
243
- // type_hierarchy
244
100
  {
245
- forTools: ["type_hierarchy"],
246
- condition: () => true,
101
+ forTools: ["lookup"],
102
+ condition: (_ctx, graph) => graph === undefined || hasTestFiles(graph),
247
103
  recommendation: () => ({
248
104
  tool: "find_tests",
249
- label: "Find tests for related types",
250
- level: "recommended",
251
- }),
252
- },
253
- {
254
- forTools: ["type_hierarchy"],
255
- condition: () => true,
256
- recommendation: () => ({
257
- tool: "hover",
258
- label: "Get hover info",
105
+ label: "Find related tests",
259
106
  level: "also",
260
107
  }),
261
108
  },
262
- // impact
109
+ // impact (replaces call_chain)
263
110
  {
264
111
  forTools: ["impact"],
265
112
  condition: () => true,
@@ -273,9 +120,9 @@ export const NEXT_RULES = [
273
120
  forTools: ["impact"],
274
121
  condition: (ctx) => Boolean(ctx.topSymbol),
275
122
  recommendation: (ctx) => ({
276
- tool: "call_chain",
277
- params: { symbol: ctx.topSymbol },
278
- label: "Trace top impacted symbol",
123
+ tool: "lookup",
124
+ params: { name: ctx.topSymbol },
125
+ label: "Inspect impacted symbol",
279
126
  level: "recommended",
280
127
  }),
281
128
  },
@@ -284,7 +131,7 @@ export const NEXT_RULES = [
284
131
  forTools: ["verify"],
285
132
  condition: (ctx) => Boolean(ctx.orphanCount && ctx.orphanCount > 0),
286
133
  recommendation: () => ({
287
- tool: "call_chain",
134
+ tool: "impact",
288
135
  params: { symbol: "<orphan>" },
289
136
  label: "Trace orphan symbols",
290
137
  level: "recommended",
@@ -294,47 +141,59 @@ export const NEXT_RULES = [
294
141
  forTools: ["verify"],
295
142
  condition: (ctx) => Boolean(ctx.hasErrors || ctx.hasFixes),
296
143
  recommendation: () => ({
297
- tool: "fix",
144
+ tool: "format",
298
145
  label: "Auto-fix format errors",
299
146
  level: "recommended",
300
147
  }),
301
148
  },
302
- // fix
149
+ // changes
150
+ {
151
+ forTools: ["changes"],
152
+ condition: () => true,
153
+ recommendation: () => ({
154
+ tool: "verify",
155
+ label: "Run full verification",
156
+ level: "required",
157
+ }),
158
+ },
159
+ // format (replaces fix)
303
160
  {
304
- forTools: ["fix"],
161
+ forTools: ["format"],
305
162
  condition: () => true,
306
163
  recommendation: () => ({
307
164
  tool: "verify",
308
- label: "Verify after fixing",
165
+ label: "Verify after formatting",
309
166
  level: "required",
310
167
  }),
311
168
  },
169
+ // find_tests
170
+ {
171
+ forTools: ["find_tests"],
172
+ condition: (ctx) => Boolean(ctx.testFunc),
173
+ recommendation: (ctx) => ({
174
+ tool: "impact",
175
+ params: { symbol: ctx.testFunc },
176
+ label: "Trace test function",
177
+ level: "recommended",
178
+ }),
179
+ },
312
180
  // rename_symbol
313
181
  {
314
182
  forTools: ["rename_symbol"],
315
183
  condition: (ctx) => Boolean(ctx.topSymbol),
316
184
  recommendation: (ctx) => ({
317
- tool: "call_chain",
185
+ tool: "impact",
318
186
  params: { symbol: ctx.topSymbol },
319
187
  label: "Verify blast radius before rename",
320
188
  level: "required",
321
189
  }),
322
190
  },
323
- {
324
- forTools: ["rename_symbol"],
325
- condition: () => true,
326
- recommendation: () => ({
327
- tool: "hover",
328
- label: "Inspect symbol type",
329
- level: "also",
330
- }),
331
- },
332
191
  // safe_delete
333
192
  {
334
193
  forTools: ["safe_delete"],
335
194
  condition: (ctx) => Boolean(ctx.topSymbol),
336
195
  recommendation: (ctx) => ({
337
- tool: "call_chain",
196
+ tool: "impact",
338
197
  params: { symbol: ctx.topSymbol },
339
198
  label: "Verify zero references before delete",
340
199
  level: "required",
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../core/output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../core/output.ts"],"names":[],"mappings":"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"}
@@ -84,12 +84,12 @@ export function registerAgentContextGuard(pi) {
84
84
  if (isReview && contextScore < reviewThreshold) {
85
85
  return {
86
86
  block: true,
87
- reason: "Review task lacks structural context. Provide file paths and symbols from shazam_file_detail or shazam_codesearch first.",
87
+ reason: "Review task lacks structural context. Provide file paths and symbols from shazam_lookup or shazam_impact first.",
88
88
  };
89
89
  }
90
90
  // Warn coding tasks without context (non-blocking)
91
91
  if (isCoding && contextScore < CODING_CONTEXT_THRESHOLD) {
92
- ctx.ui?.notify?.("[shazam] Coding task lacks structural context. Consider running shazam_overview or shazam_codesearch first for better results.", "warning");
92
+ ctx.ui?.notify?.("[shazam] Coding task lacks structural context. Consider running shazam_overview or shazam_lookup first for better results.", "warning");
93
93
  }
94
94
  });
95
95
  }
@@ -1 +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;;;;;;;;GAQG;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;QACjD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1C,2EAA2E;QAC3E,MAAM,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAEjE,+DAA+D;QAC/D,MAAM,iBAAiB,GAAG,SAAS,IAAI,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5E,IAAI,iBAAiB;YAAE,OAAO;QAE9B,gDAAgD;QAChD,IAAI,QAAQ,IAAI,YAAY,GAAG,eAAe,EAAE,CAAC;YAChD,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"}
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;;;;;;;;GAQG;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;QACjD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1C,2EAA2E;QAC3E,MAAM,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAEjE,+DAA+D;QAC/D,MAAM,iBAAiB,GAAG,SAAS,IAAI,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5E,IAAI,iBAAiB;YAAE,OAAO;QAE9B,gDAAgD;QAChD,IAAI,QAAQ,IAAI,YAAY,GAAG,eAAe,EAAE,CAAC;YAChD,OAAO;gBACN,KAAK,EAAE,IAAI;gBACX,MAAM,EACL,iHAAiH;aAClH,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,IAAI,QAAQ,IAAI,YAAY,GAAG,wBAAwB,EAAE,CAAC;YACzD,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,CACf,4HAA4H,EAC5H,SAAS,CACT,CAAC;QACH,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"before-start.d.ts","sourceRoot":"","sources":["../../hooks/before-start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAyK7D;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,UAAQ,GAAG,MAAM,CA4C7F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA0B9D"}
1
+ {"version":3,"file":"before-start.d.ts","sourceRoot":"","sources":["../../hooks/before-start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AA0K7D;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,UAAQ,GAAG,MAAM,CAyC7F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA4B9D"}
@@ -103,26 +103,25 @@ function buildProactiveRecommendations(projectRoot, graph) {
103
103
  lines.push(`- [REQUIRED] You have ${uncommitted} uncommitted change(s). Run \`shazam_verify --preCommit\` before committing.`);
104
104
  }
105
105
  // Always include the most critical workflow guidance
106
- lines.push("- Before editing a file for the first time: \`shazam_file_detail --file <path>\`");
107
- lines.push("- Before changing a shared/exported symbol: \`shazam_call_chain --symbol <name>\`");
106
+ lines.push("- Before editing a file for the first time: \`shazam_lookup --file <path>\`");
107
+ lines.push("- Before changing a shared/exported symbol: \`shazam_impact --symbol <name>\`");
108
108
  // Conditional: only mention if project has tests
109
109
  if (hasTests) {
110
110
  lines.push("- Find related tests: \`shazam_find_tests --sourceFile <file>\`");
111
111
  }
112
112
  // Conditional: only mention if project has OOP types
113
113
  if (hasHierarchy) {
114
- lines.push("- For OOP type hierarchies: \`shazam_type_hierarchy --name <class>\`");
114
+ lines.push("- For OOP type hierarchies: \`shazam_lookup --name <class>\`");
115
115
  }
116
116
  // Core workflow tools
117
117
  lines.push("- After every edit: \`shazam_verify\` to check for errors");
118
- lines.push("- Instead of grep: \`shazam_codesearch --query <keyword>\`");
119
118
  }
120
119
  catch {
121
120
  // If scan fails, provide minimal recommendations
122
121
  lines.push("### Recommendations");
123
122
  lines.push("");
124
123
  lines.push("- \`shazam_overview\` to understand project structure");
125
- lines.push("- \`shazam_file_detail --file <path>\` before editing any file");
124
+ lines.push("- \`shazam_lookup --file <path>\` before editing any file");
126
125
  lines.push("- \`shazam_verify\` after every edit");
127
126
  }
128
127
  return lines.join("\n");
@@ -166,7 +165,7 @@ function buildParserWarningSection(graph) {
166
165
  const suggestion = info.suggestion ? ` ${info.suggestion}` : "";
167
166
  lines.push(`- ${lang}: tree-sitter parser unavailable.${suggestion}`);
168
167
  }
169
- lines.push("For these languages, use `shazam_hover` and `shazam_verify` (LSP-based tools) instead of graph-based tools (call_chain, impact, hotspots).");
168
+ lines.push("For these languages, use `shazam_lookup` and `shazam_verify` (LSP-based tools) instead of graph-based tools (impact).");
170
169
  return lines.join("\n");
171
170
  }
172
171
  /**
@@ -213,12 +212,7 @@ export function generateOverviewForPrompt(projectRoot, isContinuation = false) {
213
212
  const recommendations = buildProactiveRecommendations(projectRoot, graph);
214
213
  const baselineSection = buildSessionBaselineSection(projectRoot, graph);
215
214
  const parserWarning = buildParserWarningSection(graph);
216
- const parts = [
217
- `[pi-shazam] Project Overview:\n${overview}`,
218
- recommendations,
219
- baselineSection,
220
- parserWarning,
221
- ].filter(Boolean);
215
+ const parts = [`[pi-shazam] Project Overview:\n${overview}`, recommendations, baselineSection, parserWarning].filter(Boolean);
222
216
  _hasShownOverview = true;
223
217
  return parts.join("\n\n");
224
218
  }
@@ -248,7 +242,9 @@ export function registerBeforeStartHook(pi) {
248
242
  const overviewText = generateOverviewForPrompt(projectRoot, _hasShownOverview);
249
243
  // Append overview to the existing system prompt (AGENTS.md, skills, etc.)
250
244
  // NOT replace — returning systemPrompt alone would wipe global rules and skill descriptions
251
- const existing = event.systemPrompt ?? [];
245
+ // event.systemPrompt is string[] in types but string at runtime (Pi API contract)
246
+ const raw = event.systemPrompt;
247
+ const existing = Array.isArray(raw) ? raw : raw ? [raw] : [];
252
248
  const merged = [...existing, overviewText].filter(Boolean);
253
249
  return {
254
250
  systemPrompt: merged.join("\n\n"),