@mrclrchtr/supi-code-intelligence 1.16.0 → 2.0.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 (348) hide show
  1. package/README.md +373 -63
  2. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/package.json +6 -1
  3. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/abort-utils.ts +31 -0
  4. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/api.ts +8 -0
  5. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config-settings.ts +10 -4
  6. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config.ts +1 -0
  7. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/footer-registry.ts +1 -1
  8. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/index.ts +6 -0
  9. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/model-selection.ts +134 -0
  10. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +9 -2
  11. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-ui.ts +109 -4
  12. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +5 -1
  13. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/spinner-frames.ts +11 -0
  14. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/status-spinner.ts +68 -0
  15. package/node_modules/@mrclrchtr/supi-code-runtime/package.json +3 -2
  16. package/node_modules/@mrclrchtr/supi-code-runtime/src/api.ts +7 -0
  17. package/node_modules/@mrclrchtr/supi-code-runtime/src/capability/types.ts +56 -2
  18. package/node_modules/@mrclrchtr/supi-code-runtime/src/evidence-badge.ts +40 -0
  19. package/node_modules/@mrclrchtr/supi-code-runtime/src/index.ts +5 -0
  20. package/node_modules/@mrclrchtr/supi-code-runtime/src/types.ts +76 -3
  21. package/node_modules/@mrclrchtr/supi-code-runtime/src/workspace/runtime.ts +37 -2
  22. package/node_modules/@mrclrchtr/supi-core/package.json +6 -1
  23. package/node_modules/@mrclrchtr/supi-core/src/abort-utils.ts +31 -0
  24. package/node_modules/@mrclrchtr/supi-core/src/api.ts +8 -0
  25. package/node_modules/@mrclrchtr/supi-core/src/config/config-settings.ts +10 -4
  26. package/node_modules/@mrclrchtr/supi-core/src/config.ts +1 -0
  27. package/node_modules/@mrclrchtr/supi-core/src/footer-registry.ts +1 -1
  28. package/node_modules/@mrclrchtr/supi-core/src/index.ts +6 -0
  29. package/node_modules/@mrclrchtr/supi-core/src/model-selection.ts +134 -0
  30. package/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +9 -2
  31. package/node_modules/@mrclrchtr/supi-core/src/settings/settings-ui.ts +109 -4
  32. package/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +5 -1
  33. package/node_modules/@mrclrchtr/supi-core/src/spinner-frames.ts +11 -0
  34. package/node_modules/@mrclrchtr/supi-core/src/status-spinner.ts +68 -0
  35. package/node_modules/@mrclrchtr/supi-lsp/README.md +44 -56
  36. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/package.json +6 -1
  37. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/abort-utils.ts +31 -0
  38. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/api.ts +8 -0
  39. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config-settings.ts +10 -4
  40. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config.ts +1 -0
  41. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/footer-registry.ts +1 -1
  42. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/index.ts +6 -0
  43. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/model-selection.ts +134 -0
  44. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +9 -2
  45. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-ui.ts +109 -4
  46. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +5 -1
  47. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/spinner-frames.ts +11 -0
  48. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/status-spinner.ts +68 -0
  49. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/package.json +3 -2
  50. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/api.ts +7 -0
  51. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/capability/types.ts +56 -2
  52. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/evidence-badge.ts +40 -0
  53. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/index.ts +5 -0
  54. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/types.ts +76 -3
  55. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/workspace/runtime.ts +37 -2
  56. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/package.json +6 -1
  57. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/abort-utils.ts +31 -0
  58. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/api.ts +8 -0
  59. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/config/config-settings.ts +10 -4
  60. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/config.ts +1 -0
  61. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/footer-registry.ts +1 -1
  62. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/index.ts +6 -0
  63. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/model-selection.ts +134 -0
  64. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +9 -2
  65. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings/settings-ui.ts +109 -4
  66. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +5 -1
  67. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/spinner-frames.ts +11 -0
  68. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/status-spinner.ts +68 -0
  69. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.d.ts +21 -2
  70. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js +1 -0
  71. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.d.ts +2 -1
  72. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/package.json +1 -1
  73. package/node_modules/@mrclrchtr/supi-lsp/package.json +4 -31
  74. package/node_modules/@mrclrchtr/supi-lsp/src/api.ts +27 -0
  75. package/node_modules/@mrclrchtr/supi-lsp/src/client/client-refresh.ts +5 -0
  76. package/node_modules/@mrclrchtr/supi-lsp/src/client/client.ts +246 -1
  77. package/node_modules/@mrclrchtr/supi-lsp/src/client/transport.ts +4 -0
  78. package/node_modules/@mrclrchtr/supi-lsp/src/config/capabilities.ts +3 -0
  79. package/node_modules/@mrclrchtr/supi-lsp/src/config/config.ts +4 -2
  80. package/node_modules/@mrclrchtr/supi-lsp/src/config/lsp-settings.ts +102 -0
  81. package/node_modules/@mrclrchtr/supi-lsp/src/config/server-actions.ts +59 -0
  82. package/node_modules/@mrclrchtr/supi-lsp/src/config/server-config.ts +4 -0
  83. package/node_modules/@mrclrchtr/supi-lsp/src/index.ts +11 -0
  84. package/node_modules/@mrclrchtr/supi-lsp/src/manager/capability-index.ts +1 -1
  85. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-project-info.ts +2 -1
  86. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager.ts +115 -26
  87. package/node_modules/@mrclrchtr/supi-lsp/src/provider/lsp-semantic-provider.ts +177 -134
  88. package/node_modules/@mrclrchtr/supi-lsp/src/provider/refactor-planning.ts +214 -0
  89. package/node_modules/@mrclrchtr/supi-lsp/src/session/runtime-controller.ts +320 -0
  90. package/node_modules/@mrclrchtr/supi-lsp/src/session/runtime-registration.ts +26 -5
  91. package/node_modules/@mrclrchtr/supi-lsp/src/session/service-registry.ts +81 -4
  92. package/node_modules/@mrclrchtr/supi-lsp/src/summary.ts +2 -0
  93. package/node_modules/@mrclrchtr/supi-tree-sitter/README.md +18 -37
  94. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/package.json +6 -1
  95. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/abort-utils.ts +31 -0
  96. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/api.ts +8 -0
  97. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config-settings.ts +10 -4
  98. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config.ts +1 -0
  99. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/footer-registry.ts +1 -1
  100. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/index.ts +6 -0
  101. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/model-selection.ts +134 -0
  102. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +9 -2
  103. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-ui.ts +109 -4
  104. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +5 -1
  105. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/spinner-frames.ts +11 -0
  106. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/status-spinner.ts +68 -0
  107. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/package.json +3 -2
  108. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/api.ts +7 -0
  109. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/capability/types.ts +56 -2
  110. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/evidence-badge.ts +40 -0
  111. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/index.ts +5 -0
  112. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/types.ts +76 -3
  113. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/workspace/runtime.ts +37 -2
  114. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/package.json +6 -1
  115. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/abort-utils.ts +31 -0
  116. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/api.ts +8 -0
  117. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/config/config-settings.ts +10 -4
  118. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/config.ts +1 -0
  119. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/footer-registry.ts +1 -1
  120. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/index.ts +6 -0
  121. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/model-selection.ts +134 -0
  122. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +9 -2
  123. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings/settings-ui.ts +109 -4
  124. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +5 -1
  125. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/spinner-frames.ts +11 -0
  126. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/status-spinner.ts +68 -0
  127. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/LICENSE +21 -0
  128. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/README.md +265 -0
  129. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.cjs +4661 -0
  130. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.cjs.map +7 -0
  131. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.js +4605 -0
  132. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.js.map +7 -0
  133. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.wasm +0 -0
  134. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.wasm.map +57 -0
  135. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/package.json +100 -0
  136. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.cjs +4063 -0
  137. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.cjs.map +7 -0
  138. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.cts +1025 -0
  139. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.cts.map +58 -0
  140. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.ts +1025 -0
  141. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.ts.map +58 -0
  142. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.js +4007 -0
  143. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.js.map +7 -0
  144. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.wasm +0 -0
  145. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.wasm.map +55 -0
  146. package/node_modules/@mrclrchtr/supi-tree-sitter/package.json +6 -12
  147. package/node_modules/@mrclrchtr/supi-tree-sitter/src/api.ts +29 -0
  148. package/node_modules/@mrclrchtr/supi-tree-sitter/src/index.ts +28 -0
  149. package/node_modules/@mrclrchtr/supi-tree-sitter/src/language.ts +5 -0
  150. package/node_modules/@mrclrchtr/supi-tree-sitter/src/provider/tree-sitter-provider.ts +14 -2
  151. package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/runtime-controller.ts +157 -0
  152. package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/session.ts +8 -1
  153. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/call-sites.ts +86 -0
  154. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/callees.ts +35 -16
  155. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/structure.ts +1 -0
  156. package/node_modules/@mrclrchtr/supi-tree-sitter/src/types.ts +10 -0
  157. package/package.json +14 -9
  158. package/src/{model.ts → analysis/architecture/discovery.ts} +15 -72
  159. package/src/analysis/architecture/model.ts +76 -0
  160. package/src/analysis/brief/directory.ts +324 -0
  161. package/src/analysis/brief/enrich.ts +157 -0
  162. package/src/analysis/brief/file.ts +84 -0
  163. package/src/analysis/brief/inventory.ts +177 -0
  164. package/src/analysis/brief/main.ts +176 -0
  165. package/src/analysis/brief/models.ts +75 -0
  166. package/src/{brief.ts → analysis/brief/public-brief.ts} +21 -26
  167. package/src/analysis/brief/summarize.ts +208 -0
  168. package/src/analysis/brief/types.ts +27 -0
  169. package/src/{use-case/generate-brief.ts → analysis/brief/use-case.ts} +67 -144
  170. package/src/analysis/coverage/coverage-warnings.ts +224 -0
  171. package/src/analysis/evidence.ts +91 -0
  172. package/src/{semantic-action-helpers.ts → analysis/helpers.ts} +4 -4
  173. package/src/analysis/provider.ts +186 -0
  174. package/src/analysis/read-next.ts +126 -0
  175. package/src/analysis/readiness.ts +73 -0
  176. package/src/{refactor → analysis/refactor}/safety.ts +1 -1
  177. package/src/{use-case/support/semantic-references.ts → analysis/references/semantic-refs.ts} +58 -26
  178. package/src/analysis/search/pattern.ts +345 -0
  179. package/src/analysis/search/ripgrep.ts +473 -0
  180. package/src/{git-context.ts → analysis/signals/git.ts} +20 -7
  181. package/src/{prioritization-signals.ts → analysis/signals/project.ts} +33 -19
  182. package/src/analysis/target/anchored.ts +349 -0
  183. package/src/analysis/target/bridge.ts +152 -0
  184. package/src/analysis/target/file-resolution.ts +125 -0
  185. package/src/{targeting/resolve-file.ts → analysis/target/file.ts} +40 -20
  186. package/src/{planner → analysis/target}/planner.ts +30 -20
  187. package/src/{targeting → analysis/target}/query.ts +17 -3
  188. package/src/analysis/target/resolve-common.ts +115 -0
  189. package/src/analysis/target/service.ts +229 -0
  190. package/src/analysis/target/symbol.ts +196 -0
  191. package/src/{targeting → analysis/target}/types.ts +17 -1
  192. package/src/analysis/tests/likely-tests.ts +174 -0
  193. package/src/analysis/tests/test-discovery.ts +540 -0
  194. package/src/analysis/tests/vitest.ts +87 -0
  195. package/src/api.ts +34 -41
  196. package/src/app/app.ts +125 -0
  197. package/src/app/manager.ts +65 -0
  198. package/src/extension.ts +132 -1
  199. package/src/index.ts +1 -57
  200. package/src/session/refactor-plans.ts +82 -0
  201. package/src/session/session.ts +300 -0
  202. package/src/session/target-store.ts +293 -0
  203. package/src/substrate/lsp/diagnostic-injection.ts +218 -0
  204. package/src/substrate/lsp/lifecycle.ts +66 -0
  205. package/src/substrate/lsp/overrides.ts +132 -0
  206. package/src/substrate/lsp/recovery.ts +55 -0
  207. package/src/substrate/lsp/settings.ts +286 -0
  208. package/src/substrate/lsp/state.ts +46 -0
  209. package/src/substrate/lsp/utils.ts +17 -0
  210. package/src/substrate/tree-sitter/lifecycle.ts +52 -0
  211. package/src/tool/find/execute.ts +118 -0
  212. package/src/{presentation/markdown/pattern.ts → tool/find/markdown.ts} +102 -53
  213. package/src/{use-case/generate-pattern.ts → tool/find/orchestrate.ts} +67 -33
  214. package/src/tool/find/semantic-search.ts +114 -0
  215. package/src/tool/find/tui.ts +39 -0
  216. package/src/tool/graph/callees.ts +87 -0
  217. package/src/tool/graph/calls-md.ts +54 -0
  218. package/src/tool/graph/collect-relation.ts +371 -0
  219. package/src/tool/graph/execute.ts +95 -0
  220. package/src/tool/graph/implementations-md.ts +79 -0
  221. package/src/tool/graph/implementations.ts +76 -0
  222. package/src/tool/graph/markdown-base.ts +243 -0
  223. package/src/tool/graph/orchestrate.ts +285 -0
  224. package/src/tool/graph/references-md.ts +34 -0
  225. package/src/tool/graph/references.ts +81 -0
  226. package/src/tool/graph/tui.ts +120 -0
  227. package/src/tool/graph/types.ts +97 -0
  228. package/src/tool/guidance.ts +96 -49
  229. package/src/tool/health/execute.ts +76 -0
  230. package/src/tool/health/markdown.ts +280 -0
  231. package/src/tool/health/orchestrate.ts +159 -0
  232. package/src/tool/health/sections/diagnostics.ts +182 -0
  233. package/src/tool/health/sections/recovery.ts +89 -0
  234. package/src/tool/health/sections/signals.ts +89 -0
  235. package/src/tool/health/tui.ts +137 -0
  236. package/src/tool/impact/analysis.ts +247 -0
  237. package/src/tool/impact/change-set-impact.ts +151 -0
  238. package/src/tool/impact/execute.ts +98 -0
  239. package/src/tool/impact/file-level-impact.ts +81 -0
  240. package/src/tool/impact/markdown.ts +283 -0
  241. package/src/tool/impact/orchestrate.ts +97 -0
  242. package/src/tool/impact/result.ts +21 -0
  243. package/src/tool/impact/single-impact.ts +89 -0
  244. package/src/tool/impact/tui.ts +39 -0
  245. package/src/tool/impact/types.ts +34 -0
  246. package/src/tool/infra/cross-field.ts +335 -0
  247. package/src/tool/infra/error-results.ts +199 -0
  248. package/src/tool/infra/pipeline.ts +311 -0
  249. package/src/tool/infra/progress.ts +21 -0
  250. package/src/tool/infra/readiness-message.ts +5 -0
  251. package/src/tool/infra/truncate.ts +49 -0
  252. package/src/tool/inspect/execute.ts +76 -0
  253. package/src/tool/inspect/markdown.ts +169 -0
  254. package/src/tool/inspect/orchestrate.ts +156 -0
  255. package/src/tool/inspect/tui.ts +36 -0
  256. package/src/tool/orientation/deps.ts +63 -0
  257. package/src/tool/orientation/execute.ts +50 -0
  258. package/src/tool/orientation/markdown.ts +35 -0
  259. package/src/tool/orientation/mode.ts +88 -0
  260. package/src/tool/orientation/orchestrate.ts +478 -0
  261. package/src/tool/orientation/precise-target.ts +257 -0
  262. package/src/tool/orientation/tui.ts +131 -0
  263. package/src/{refactor/apply-workspace-edit.ts → tool/refactor-apply/apply.ts} +39 -16
  264. package/src/tool/refactor-apply/execute.ts +20 -0
  265. package/src/tool/refactor-apply/markdown.ts +118 -0
  266. package/src/tool/refactor-apply/orchestrate.ts +89 -0
  267. package/src/tool/refactor-apply/tui.ts +51 -0
  268. package/src/tool/refactor-plan/execute.ts +73 -0
  269. package/src/tool/refactor-plan/markdown.ts +118 -0
  270. package/src/tool/refactor-plan/orchestrate.ts +363 -0
  271. package/src/tool/refactor-plan/tui.ts +42 -0
  272. package/src/tool/register.ts +123 -0
  273. package/src/tool/resolve/execute.ts +82 -0
  274. package/src/tool/resolve/markdown.ts +150 -0
  275. package/src/tool/resolve/orchestrate.ts +134 -0
  276. package/src/tool/resolve/tui.ts +40 -0
  277. package/src/tool/schemas.ts +337 -0
  278. package/src/tool/specs.ts +257 -0
  279. package/src/types/details.ts +188 -0
  280. package/src/types/execution.ts +60 -0
  281. package/src/types/index.ts +28 -0
  282. package/src/{intent/types.ts → types/tool-names.ts} +15 -14
  283. package/src/ui/footer.ts +52 -0
  284. package/src/ui/markdown/brief.ts +218 -0
  285. package/src/ui/markdown/gather.ts +177 -0
  286. package/src/{use-case/build-overview.ts → ui/markdown/overview-data.ts} +2 -2
  287. package/src/{presentation → ui}/markdown/overview.ts +2 -2
  288. package/src/ui/markdown/types.ts +80 -0
  289. package/{node_modules/@mrclrchtr/supi-lsp/src/ui/renderer.ts → src/ui/message-renderer.ts} +11 -10
  290. package/src/ui/status-command.ts +260 -0
  291. package/src/ui/status-overlay.ts +500 -0
  292. package/src/ui/tui/common.ts +220 -0
  293. package/src/ui/tui/index.ts +37 -0
  294. package/node_modules/@mrclrchtr/supi-lsp/src/extension.ts +0 -1
  295. package/node_modules/@mrclrchtr/supi-lsp/src/format.ts +0 -373
  296. package/node_modules/@mrclrchtr/supi-lsp/src/handlers/diagnostic-injection.ts +0 -182
  297. package/node_modules/@mrclrchtr/supi-lsp/src/handlers/session-lifecycle.ts +0 -149
  298. package/node_modules/@mrclrchtr/supi-lsp/src/handlers/status-command.ts +0 -38
  299. package/node_modules/@mrclrchtr/supi-lsp/src/handlers/workspace-recovery.ts +0 -92
  300. package/node_modules/@mrclrchtr/supi-lsp/src/lsp.ts +0 -37
  301. package/node_modules/@mrclrchtr/supi-lsp/src/session/lsp-state.ts +0 -93
  302. package/node_modules/@mrclrchtr/supi-lsp/src/session/settings-registration.ts +0 -296
  303. package/node_modules/@mrclrchtr/supi-lsp/src/session/tree-persist.ts +0 -75
  304. package/node_modules/@mrclrchtr/supi-lsp/src/tool/guidance.ts +0 -69
  305. package/node_modules/@mrclrchtr/supi-lsp/src/tool/names.ts +0 -27
  306. package/node_modules/@mrclrchtr/supi-lsp/src/tool/overrides.ts +0 -204
  307. package/node_modules/@mrclrchtr/supi-lsp/src/tool/register-tools.ts +0 -69
  308. package/node_modules/@mrclrchtr/supi-lsp/src/tool/service-actions.ts +0 -399
  309. package/node_modules/@mrclrchtr/supi-lsp/src/tool/tool-specs.ts +0 -248
  310. package/node_modules/@mrclrchtr/supi-lsp/src/ui/ui.ts +0 -360
  311. package/node_modules/@mrclrchtr/supi-lsp/src/workspace-change.ts +0 -40
  312. package/node_modules/@mrclrchtr/supi-tree-sitter/src/extension.ts +0 -1
  313. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/formatting.ts +0 -104
  314. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/guidance.ts +0 -35
  315. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/handlers.ts +0 -196
  316. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/register-tools.ts +0 -107
  317. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/tool-specs.ts +0 -117
  318. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tree-sitter.ts +0 -47
  319. package/src/brief-focused.ts +0 -563
  320. package/src/code-intelligence.ts +0 -70
  321. package/src/pattern-structured.ts +0 -194
  322. package/src/presentation/markdown/affected.ts +0 -170
  323. package/src/presentation/markdown/brief.ts +0 -174
  324. package/src/presentation/markdown/map.ts +0 -54
  325. package/src/presentation/markdown/refactor.ts +0 -27
  326. package/src/presentation/markdown/relations.ts +0 -121
  327. package/src/resolve-target.ts +0 -130
  328. package/src/search-helpers.ts +0 -303
  329. package/src/substrates/types.ts +0 -30
  330. package/src/target-resolution.ts +0 -122
  331. package/src/targeting/resolve-anchored.ts +0 -80
  332. package/src/targeting/resolve-symbol.ts +0 -110
  333. package/src/tool/execute-affected.ts +0 -71
  334. package/src/tool/execute-brief.ts +0 -59
  335. package/src/tool/execute-map.ts +0 -35
  336. package/src/tool/execute-pattern.ts +0 -29
  337. package/src/tool/execute-refactor.ts +0 -101
  338. package/src/tool/execute-relations.ts +0 -79
  339. package/src/tool/register-tools.ts +0 -32
  340. package/src/tool/tool-specs.ts +0 -190
  341. package/src/tool/validation.ts +0 -43
  342. package/src/types.ts +0 -169
  343. package/src/use-case/generate-affected.ts +0 -297
  344. package/src/use-case/generate-map.ts +0 -176
  345. package/src/use-case/generate-relations.ts +0 -438
  346. package/src/use-case/types.ts +0 -43
  347. package/src/workspace/request-context.ts +0 -139
  348. /package/src/{query-params.ts → tool/params.ts} +0 -0
@@ -1,32 +0,0 @@
1
- import type { ExtensionAPI, ExtensionContext } from "@earendil-works/pi-coding-agent";
2
- import {
3
- CODE_INTELLIGENCE_TOOL_PROMPT_SURFACES,
4
- type CodeIntelligenceToolPromptSurfaceMap,
5
- } from "./guidance.ts";
6
- import { CODE_INTELLIGENCE_TOOL_SPECS } from "./tool-specs.ts";
7
-
8
- /** Register the focused code-intelligence tool surface from shared specs. */
9
- export function registerCodeIntelligenceTools(
10
- pi: ExtensionAPI,
11
- promptSurfaces: CodeIntelligenceToolPromptSurfaceMap = CODE_INTELLIGENCE_TOOL_PROMPT_SURFACES,
12
- ): void {
13
- for (const spec of CODE_INTELLIGENCE_TOOL_SPECS) {
14
- const surface = promptSurfaces[spec.name];
15
- pi.registerTool({
16
- name: spec.name,
17
- label: spec.label,
18
- description: surface.description,
19
- promptSnippet: surface.promptSnippet,
20
- promptGuidelines: surface.promptGuidelines,
21
- parameters: spec.parameters,
22
- // biome-ignore lint/complexity/useMaxParams: pi ToolDefinition.execute signature
23
- execute: async (_toolCallId, params, _signal, _onUpdate, ctx: ExtensionContext) => {
24
- const { content, details } = await spec.run(params, { cwd: ctx.cwd });
25
- return {
26
- content: [{ type: "text" as const, text: content }],
27
- details,
28
- };
29
- },
30
- });
31
- }
32
- }
@@ -1,190 +0,0 @@
1
- import { StringEnum } from "@earendil-works/pi-ai";
2
- import { type TSchema, Type } from "typebox";
3
- import type { CodeIntelResult } from "../types.ts";
4
- import { executeAffectedTool } from "./execute-affected.ts";
5
- import { executeBriefTool } from "./execute-brief.ts";
6
- import { executeMapTool } from "./execute-map.ts";
7
- import { executePatternTool } from "./execute-pattern.ts";
8
- import { executeRefactorTool } from "./execute-refactor.ts";
9
- import { executeRelationsTool } from "./execute-relations.ts";
10
-
11
- const PathParam = Type.String({ description: "Scope path" });
12
- const FileParam = Type.String({ description: "Target file" });
13
- const LineParam = Type.Number({ description: "1-based line" });
14
- const CharacterParam = Type.Number({ description: "1-based UTF-16 column" });
15
- const SymbolParam = Type.String({ description: "Symbol name" });
16
- const PatternParam = Type.String({ description: "Search pattern" });
17
- const RegexParam = Type.Boolean({ description: "Regex search" });
18
- const ExportedOnlyParam = Type.Boolean({ description: "Exported symbols only" });
19
- const MaxResultsParam = Type.Number({ description: "Max results" });
20
- const ContextLinesParam = Type.Number({ description: "Context lines" });
21
- const SummaryParam = Type.Boolean({ description: "Summarize by directory" });
22
- const StructuredPatternKindParam = Type.String({
23
- description: "Structured kind: definition | export | import",
24
- });
25
-
26
- export const CODE_INTELLIGENCE_TOOL_NAMES = [
27
- "code_brief",
28
- "code_map",
29
- "code_relations",
30
- "code_affected",
31
- "code_pattern",
32
- "code_refactor",
33
- ] as const;
34
- export type CodeIntelligenceToolName = (typeof CODE_INTELLIGENCE_TOOL_NAMES)[number];
35
-
36
- export const CODE_RELATION_KIND_NAMES = ["callers", "callees", "implementations"] as const;
37
- export type CodeRelationsKind = (typeof CODE_RELATION_KIND_NAMES)[number];
38
-
39
- const CodeRelationsKindEnum = StringEnum(CODE_RELATION_KIND_NAMES);
40
-
41
- const CodeBriefParameters = Type.Object(
42
- {
43
- path: Type.Optional(PathParam),
44
- file: Type.Optional(FileParam),
45
- line: Type.Optional(LineParam),
46
- character: Type.Optional(CharacterParam),
47
- symbol: Type.Optional(SymbolParam),
48
- maxResults: Type.Optional(MaxResultsParam),
49
- },
50
- { additionalProperties: false },
51
- );
52
-
53
- const CodeMapParameters = Type.Object(
54
- {
55
- path: Type.Optional(Type.String({ description: "Project/package/dir path" })),
56
- },
57
- { additionalProperties: false },
58
- );
59
-
60
- const CodeRelationsParameters = Type.Object(
61
- {
62
- kind: CodeRelationsKindEnum,
63
- path: Type.Optional(PathParam),
64
- file: Type.Optional(FileParam),
65
- line: Type.Optional(LineParam),
66
- character: Type.Optional(CharacterParam),
67
- symbol: Type.Optional(SymbolParam),
68
- exportedOnly: Type.Optional(ExportedOnlyParam),
69
- maxResults: Type.Optional(MaxResultsParam),
70
- },
71
- { additionalProperties: false },
72
- );
73
-
74
- const CodeAffectedParameters = Type.Object(
75
- {
76
- file: Type.Optional(FileParam),
77
- line: Type.Optional(LineParam),
78
- character: Type.Optional(CharacterParam),
79
- symbol: Type.Optional(SymbolParam),
80
- exportedOnly: Type.Optional(ExportedOnlyParam),
81
- maxResults: Type.Optional(MaxResultsParam),
82
- },
83
- { additionalProperties: false },
84
- );
85
-
86
- const CodePatternParameters = Type.Object(
87
- {
88
- path: Type.Optional(PathParam),
89
- pattern: PatternParam,
90
- regex: Type.Optional(RegexParam),
91
- kind: Type.Optional(StructuredPatternKindParam),
92
- maxResults: Type.Optional(MaxResultsParam),
93
- contextLines: Type.Optional(ContextLinesParam),
94
- summary: Type.Optional(SummaryParam),
95
- },
96
- { additionalProperties: false },
97
- );
98
-
99
- const CodeRefactorParameters = Type.Object(
100
- {
101
- operation: Type.String({ description: "Refactor operation: rename" }),
102
- file: FileParam,
103
- line: LineParam,
104
- character: CharacterParam,
105
- newName: Type.String({ description: "New name for rename operation" }),
106
- },
107
- { additionalProperties: false },
108
- );
109
-
110
- export interface CodeIntelligenceToolDefinitionSpec {
111
- name: CodeIntelligenceToolName;
112
- label: string;
113
- description: string;
114
- promptSnippet: string;
115
- basePromptGuidelines: string[];
116
- parameters: TSchema;
117
- run: (params: unknown, ctx: { cwd: string }) => Promise<CodeIntelResult> | CodeIntelResult;
118
- }
119
-
120
- export const CODE_INTELLIGENCE_TOOL_SPECS = [
121
- {
122
- name: "code_brief",
123
- label: "Code Brief",
124
- description: "Prioritized brief for a project, package, directory, file, or symbol.",
125
- promptSnippet: "code_brief — prioritized code orientation",
126
- basePromptGuidelines: [
127
- "Use code_brief for prioritized orientation on a project, package, file, or symbol.",
128
- "Use code_brief before deeper drill-down when you need a start-here recommendation.",
129
- ],
130
- parameters: CodeBriefParameters,
131
- run: (params, ctx) => executeBriefTool(params as Parameters<typeof executeBriefTool>[0], ctx),
132
- },
133
- {
134
- name: "code_map",
135
- label: "Code Map",
136
- description: "Factual map of a repo, package, or directory.",
137
- promptSnippet: "code_map — factual repo or directory map",
138
- basePromptGuidelines: ["Use code_map for counts, directories, language mix, and landmarks."],
139
- parameters: CodeMapParameters,
140
- run: (params, ctx) => executeMapTool(params as Parameters<typeof executeMapTool>[0], ctx),
141
- },
142
- {
143
- name: "code_relations",
144
- label: "Code Relations",
145
- description: "Trace callers, callees, or implementations for a resolved target.",
146
- promptSnippet: "code_relations — callers, callees, or implementations",
147
- basePromptGuidelines: [
148
- "Use code_relations(kind) for `callers`, `callees`, or `implementations`.",
149
- ],
150
- parameters: CodeRelationsParameters,
151
- run: (params, ctx) =>
152
- executeRelationsTool(params as Parameters<typeof executeRelationsTool>[0], ctx),
153
- },
154
- {
155
- name: "code_affected",
156
- label: "Code Affected",
157
- description: "Estimate blast radius and downstream impact for a target.",
158
- promptSnippet: "code_affected — blast radius and impact",
159
- basePromptGuidelines: [
160
- "Use code_affected before edits to estimate blast radius and follow-up checks.",
161
- ],
162
- parameters: CodeAffectedParameters,
163
- run: (params, ctx) =>
164
- executeAffectedTool(params as Parameters<typeof executeAffectedTool>[0], ctx),
165
- },
166
- {
167
- name: "code_pattern",
168
- label: "Code Pattern",
169
- description: "Run explicit search with literal, regex, or structured matching.",
170
- promptSnippet: "code_pattern — explicit code search",
171
- basePromptGuidelines: [
172
- "Use code_pattern for literal, regex, or structured search in a bounded path.",
173
- ],
174
- parameters: CodePatternParameters,
175
- run: (params, ctx) =>
176
- executePatternTool(params as Parameters<typeof executePatternTool>[0], ctx),
177
- },
178
- {
179
- name: "code_refactor",
180
- label: "Code Refactor",
181
- description: "Apply a precise semantic refactor (rename) with direct-apply safety checks.",
182
- promptSnippet: "code_refactor — semantic refactor with direct apply",
183
- basePromptGuidelines: [
184
- "Use code_refactor for safe semantic rename operations with precise workspace edits.",
185
- ],
186
- parameters: CodeRefactorParameters,
187
- run: (params, ctx) =>
188
- executeRefactorTool(params as Parameters<typeof executeRefactorTool>[0], ctx),
189
- },
190
- ] as const satisfies readonly CodeIntelligenceToolDefinitionSpec[];
@@ -1,43 +0,0 @@
1
- import * as fs from "node:fs";
2
- import type { CodeQueryParams } from "../query-params.ts";
3
- import { normalizePath } from "../search-helpers.ts";
4
-
5
- const STRUCTURED_PATTERN_KINDS = new Set(["definition", "export", "import"]);
6
-
7
- /** Shared validation for focused tool inputs that can anchor into files. */
8
- export function validateFocusedToolParams(
9
- params: Pick<CodeQueryParams, "path" | "file" | "line" | "character">,
10
- cwd: string,
11
- ): string | null {
12
- if (params.path && (params.line != null || params.character != null)) {
13
- return "**Error:** `line` and `character` require `file`, not `path`. Use `path` to scope/focus; use `file` to anchor a position.";
14
- }
15
-
16
- if (params.file) {
17
- const resolvedFile = normalizePath(params.file, cwd);
18
- if (fs.existsSync(resolvedFile) && fs.statSync(resolvedFile).isDirectory()) {
19
- return "**Error:** `file` points to a directory. Use `path` to scope a directory; use `file` to anchor a position in a file.";
20
- }
21
- }
22
-
23
- if ((params.line != null || params.character != null) && !params.file) {
24
- return "**Error:** `line` and `character` require `file`.";
25
- }
26
-
27
- return null;
28
- }
29
-
30
- /** Shared validation for explicit pattern-tool input. */
31
- export function validatePatternToolParams(
32
- params: Pick<CodeQueryParams, "path" | "file" | "line" | "character" | "kind">,
33
- cwd: string,
34
- ): string | null {
35
- const commonError = validateFocusedToolParams(params, cwd);
36
- if (commonError) return commonError;
37
-
38
- if (params.kind && !STRUCTURED_PATTERN_KINDS.has(params.kind)) {
39
- return "**Error:** `code_pattern` `kind` must be one of `definition`, `export`, or `import`.";
40
- }
41
-
42
- return null;
43
- }
package/src/types.ts DELETED
@@ -1,169 +0,0 @@
1
- // ── Canonical shared types for the code-understanding stack ─────────────
2
-
3
- /** 0-based LSP position. */
4
- export interface CodePosition {
5
- line: number;
6
- character: number;
7
- }
8
-
9
- /** A source range spanning two CodePositions. */
10
- export interface SourceRange {
11
- start: CodePosition;
12
- end: CodePosition;
13
- }
14
-
15
- /** A code location (file URI + range). */
16
- export interface CodeLocation {
17
- uri: string;
18
- range: SourceRange;
19
- }
20
-
21
- /** A discovered symbol / declaration. */
22
- export interface CodeSymbol {
23
- name: string;
24
- kind: string;
25
- file: string;
26
- line: number;
27
- character: number;
28
- container?: string | null;
29
- }
30
-
31
- /** Discriminated result union for provider operations. */
32
- export type CodeResult<T> =
33
- | { kind: "success"; data: T }
34
- | { kind: "unsupported-language"; file: string; message: string }
35
- | { kind: "file-access-error"; file: string; message: string }
36
- | { kind: "validation-error"; message: string }
37
- | { kind: "runtime-error"; message: string }
38
- | { kind: "unavailable"; message: string };
39
-
40
- /** Result confidence classification. */
41
- export type ConfidenceMode = "semantic" | "structural" | "heuristic" | "unavailable";
42
-
43
- /** Provider availability states. */
44
- export type ProviderAvailability =
45
- | { kind: "pending" }
46
- | { kind: "ready" }
47
- | { kind: "disabled" }
48
- | { kind: "inactive" }
49
- | { kind: "unavailable"; reason: string };
50
-
51
- // ── Structural data shapes (value types, range-flattened) ──────────────
52
-
53
- export interface OutlineData {
54
- name: string;
55
- kind: string;
56
- startLine: number;
57
- startCharacter: number;
58
- endLine: number;
59
- endCharacter: number;
60
- children?: OutlineData[];
61
- }
62
-
63
- export interface ExportData {
64
- name: string;
65
- kind: string;
66
- startLine: number;
67
- startCharacter: number;
68
- endLine: number;
69
- endCharacter: number;
70
- moduleSpecifier?: string;
71
- }
72
-
73
- export interface ImportData {
74
- moduleSpecifier: string;
75
- startLine: number;
76
- startCharacter: number;
77
- endLine: number;
78
- endCharacter: number;
79
- }
80
-
81
- export interface NodeAtData {
82
- type: string;
83
- startLine: number;
84
- startCharacter: number;
85
- endLine: number;
86
- endCharacter: number;
87
- text: string;
88
- ancestry: Array<{
89
- type: string;
90
- startLine: number;
91
- startCharacter: number;
92
- endLine: number;
93
- endCharacter: number;
94
- }>;
95
- }
96
-
97
- export interface CalleesData {
98
- enclosingScope: { name: string; startLine: number; endLine: number };
99
- callees: Array<{ name: string; startLine: number }>;
100
- }
101
-
102
- // ── Existing code-intelligence types ──────────────────────────────────
103
-
104
- import type { PrioritySignalsSummary } from "./prioritization-signals.ts";
105
-
106
- /** Structured details metadata returned alongside markdown brief content. */
107
- export interface BriefDetails {
108
- confidence: ConfidenceMode;
109
- focusTarget: string | null;
110
- startHere: Array<{ target: string; reason: string }>;
111
- publicSurfaces: string[];
112
- dependencySummary: { moduleCount: number; edgeCount: number } | null;
113
- omittedCount: number;
114
- nextQueries: string[];
115
- prioritySignals?: PrioritySignalsSummary | null;
116
- }
117
-
118
- /** Structured details metadata for factual map results. */
119
- export interface MapDetails {
120
- scope: string | null;
121
- totalFiles: number;
122
- childDirectoryCount: number;
123
- landmarkCount: number;
124
- nextQueries: string[];
125
- }
126
-
127
- /** Structured details metadata for relationship and pattern results. */
128
- export interface SearchDetails {
129
- confidence: ConfidenceMode;
130
- scope: string | null;
131
- candidateCount: number;
132
- omittedCount: number;
133
- nextQueries: string[];
134
- }
135
-
136
- /** Structured details metadata for affected analysis results. */
137
- export interface AffectedDetails {
138
- confidence: ConfidenceMode;
139
- directCount: number;
140
- downstreamCount: number;
141
- riskLevel: "low" | "medium" | "high";
142
- checkNext: string[];
143
- likelyTests: string[];
144
- omittedCount: number;
145
- nextQueries: string[];
146
- prioritySignals?: PrioritySignalsSummary | null;
147
- }
148
-
149
- /** Disambiguation candidate for ambiguous symbol resolution. */
150
- export interface DisambiguationCandidate {
151
- name: string;
152
- kind: string | null;
153
- container: string | null;
154
- file: string;
155
- line: number;
156
- character: number;
157
- reason: string;
158
- rank: number;
159
- }
160
-
161
- /** Tool result shape returned by executeAction. */
162
- export interface CodeIntelResult {
163
- content: string;
164
- details?:
165
- | { type: "brief"; data: BriefDetails }
166
- | { type: "map"; data: MapDetails }
167
- | { type: "search"; data: SearchDetails }
168
- | { type: "affected"; data: AffectedDetails };
169
- }