@mrclrchtr/supi-code-intelligence 3.2.0 → 4.1.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 (577) hide show
  1. package/README.md +157 -435
  2. package/node_modules/@mrclrchtr/supi-code-runtime/README.md +8 -0
  3. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/package.json +2 -4
  4. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/api.ts +0 -4
  5. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/evidence-badge.ts +3 -2
  6. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/index.ts +0 -4
  7. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/llm.ts +0 -10
  8. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path-utils.ts +19 -15
  9. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-action-menu.ts +1 -0
  10. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-schema.ts +9 -0
  11. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings.ts +1 -0
  12. package/node_modules/@mrclrchtr/supi-code-runtime/package.json +2 -2
  13. package/node_modules/@mrclrchtr/supi-code-runtime/src/api.ts +10 -1
  14. package/node_modules/@mrclrchtr/supi-code-runtime/src/capability/types.ts +19 -29
  15. package/node_modules/@mrclrchtr/supi-code-runtime/src/index.ts +7 -1
  16. package/node_modules/@mrclrchtr/supi-code-runtime/src/query-result.ts +42 -0
  17. package/node_modules/@mrclrchtr/supi-code-runtime/src/types.ts +15 -10
  18. package/node_modules/@mrclrchtr/supi-core/package.json +2 -4
  19. package/node_modules/@mrclrchtr/supi-core/src/api.ts +0 -4
  20. package/node_modules/@mrclrchtr/supi-core/src/evidence-badge.ts +3 -2
  21. package/node_modules/@mrclrchtr/supi-core/src/index.ts +0 -4
  22. package/node_modules/@mrclrchtr/supi-core/src/llm.ts +0 -10
  23. package/node_modules/@mrclrchtr/supi-core/src/path-utils.ts +19 -15
  24. package/node_modules/@mrclrchtr/supi-core/src/settings/settings-action-menu.ts +1 -0
  25. package/node_modules/@mrclrchtr/supi-core/src/settings/settings-schema.ts +9 -0
  26. package/node_modules/@mrclrchtr/supi-core/src/settings.ts +1 -0
  27. package/node_modules/@mrclrchtr/supi-lsp/README.md +72 -62
  28. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/README.md +8 -0
  29. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/package.json +2 -8
  30. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/api.ts +0 -4
  31. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/evidence-badge.ts +3 -2
  32. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/index.ts +0 -4
  33. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/llm.ts +0 -10
  34. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path-utils.ts +19 -15
  35. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-action-menu.ts +1 -0
  36. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-schema.ts +9 -0
  37. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings.ts +1 -0
  38. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/package.json +2 -2
  39. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/api.ts +10 -1
  40. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/capability/types.ts +19 -29
  41. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/index.ts +7 -1
  42. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/query-result.ts +42 -0
  43. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/types.ts +15 -10
  44. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/package.json +2 -4
  45. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/api.ts +0 -4
  46. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/evidence-badge.ts +3 -2
  47. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/index.ts +0 -4
  48. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/llm.ts +0 -10
  49. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/path-utils.ts +19 -15
  50. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings/settings-action-menu.ts +1 -0
  51. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings/settings-schema.ts +9 -0
  52. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings.ts +1 -0
  53. package/node_modules/@mrclrchtr/supi-lsp/package.json +4 -5
  54. package/node_modules/@mrclrchtr/supi-lsp/src/api.ts +9 -9
  55. package/node_modules/@mrclrchtr/supi-lsp/src/client/client.ts +70 -41
  56. package/node_modules/@mrclrchtr/supi-lsp/src/client/transport.ts +16 -13
  57. package/node_modules/@mrclrchtr/supi-lsp/src/config/config.ts +2 -2
  58. package/node_modules/@mrclrchtr/supi-lsp/src/config/lsp-settings.ts +0 -2
  59. package/node_modules/@mrclrchtr/supi-lsp/src/index.ts +6 -6
  60. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-diagnostics.ts +5 -95
  61. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-workspace-recovery.ts +4 -3
  62. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-workspace-symbol.ts +44 -6
  63. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager.ts +47 -65
  64. package/node_modules/@mrclrchtr/supi-lsp/src/provider/lsp-semantic-provider.ts +132 -79
  65. package/node_modules/@mrclrchtr/supi-lsp/src/provider/refactor-planning.ts +6 -14
  66. package/node_modules/@mrclrchtr/supi-lsp/src/session/readiness.ts +38 -0
  67. package/node_modules/@mrclrchtr/supi-lsp/src/session/runtime-controller.ts +87 -75
  68. package/node_modules/@mrclrchtr/supi-lsp/src/session/runtime-registration.ts +5 -5
  69. package/node_modules/@mrclrchtr/supi-lsp/src/session/{service-registry.ts → runtime-registry.ts} +163 -71
  70. package/node_modules/@mrclrchtr/supi-tree-sitter/README.md +4 -0
  71. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/README.md +8 -0
  72. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/package.json +2 -8
  73. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/api.ts +0 -4
  74. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/evidence-badge.ts +3 -2
  75. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/index.ts +0 -4
  76. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/llm.ts +0 -10
  77. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path-utils.ts +19 -15
  78. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-action-menu.ts +1 -0
  79. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-schema.ts +9 -0
  80. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings.ts +1 -0
  81. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/package.json +2 -2
  82. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/api.ts +10 -1
  83. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/capability/types.ts +19 -29
  84. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/index.ts +7 -1
  85. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/query-result.ts +42 -0
  86. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/types.ts +15 -10
  87. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/package.json +2 -4
  88. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/api.ts +0 -4
  89. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/evidence-badge.ts +3 -2
  90. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/index.ts +0 -4
  91. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/llm.ts +0 -10
  92. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/path-utils.ts +19 -15
  93. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings/settings-action-menu.ts +1 -0
  94. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings/settings-schema.ts +9 -0
  95. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings.ts +1 -0
  96. package/node_modules/@mrclrchtr/supi-tree-sitter/package.json +4 -21
  97. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/bash/tree-sitter-bash.wasm +0 -0
  98. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/bash/tree-sitter-bash.wasm.json +2 -2
  99. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/c/tree-sitter-c.wasm +0 -0
  100. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/c/tree-sitter-c.wasm.json +2 -2
  101. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/go/tree-sitter-go.wasm +0 -0
  102. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/go/tree-sitter-go.wasm.json +2 -2
  103. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/javascript/tree-sitter-javascript.wasm +0 -0
  104. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/javascript/tree-sitter-javascript.wasm.json +2 -2
  105. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/kotlin/tree-sitter-kotlin.wasm +0 -0
  106. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/kotlin/tree-sitter-kotlin.wasm.json +2 -2
  107. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/python/tree-sitter-python.wasm +0 -0
  108. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/python/tree-sitter-python.wasm.json +2 -2
  109. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/r/tree-sitter-r.wasm +0 -0
  110. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/r/tree-sitter-r.wasm.json +2 -2
  111. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/rust/tree-sitter-rust.wasm.json +1 -1
  112. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/sql/tree-sitter-sql.wasm +0 -0
  113. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/sql/tree-sitter-sql.wasm.json +3 -3
  114. package/node_modules/@mrclrchtr/supi-tree-sitter/scripts/generate-kotlin-wasm.mjs +6 -0
  115. package/node_modules/@mrclrchtr/supi-tree-sitter/scripts/generate-sql-wasm.mjs +18 -4
  116. package/node_modules/@mrclrchtr/supi-tree-sitter/scripts/vendor-wasm.mjs +17 -1
  117. package/node_modules/@mrclrchtr/supi-tree-sitter/src/api.ts +2 -0
  118. package/node_modules/@mrclrchtr/supi-tree-sitter/src/coordinates.ts +20 -41
  119. package/node_modules/@mrclrchtr/supi-tree-sitter/src/index.ts +2 -0
  120. package/node_modules/@mrclrchtr/supi-tree-sitter/src/language.ts +7 -0
  121. package/node_modules/@mrclrchtr/supi-tree-sitter/src/operation-support.ts +40 -0
  122. package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/session.ts +9 -7
  123. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/call-sites.ts +6 -1
  124. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/callees.ts +76 -37
  125. package/node_modules/yaml/LICENSE +13 -0
  126. package/node_modules/yaml/README.md +172 -0
  127. package/node_modules/yaml/bin.mjs +11 -0
  128. package/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
  129. package/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
  130. package/node_modules/yaml/browser/dist/compose/compose-node.js +109 -0
  131. package/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
  132. package/node_modules/yaml/browser/dist/compose/composer.js +219 -0
  133. package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
  134. package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
  135. package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
  136. package/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
  137. package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
  138. package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +225 -0
  139. package/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
  140. package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
  141. package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
  142. package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
  143. package/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
  144. package/node_modules/yaml/browser/dist/doc/Document.js +335 -0
  145. package/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
  146. package/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
  147. package/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
  148. package/node_modules/yaml/browser/dist/doc/directives.js +176 -0
  149. package/node_modules/yaml/browser/dist/errors.js +57 -0
  150. package/node_modules/yaml/browser/dist/index.js +17 -0
  151. package/node_modules/yaml/browser/dist/log.js +11 -0
  152. package/node_modules/yaml/browser/dist/nodes/Alias.js +116 -0
  153. package/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
  154. package/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
  155. package/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
  156. package/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
  157. package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
  158. package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
  159. package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
  160. package/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
  161. package/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
  162. package/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
  163. package/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
  164. package/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
  165. package/node_modules/yaml/browser/dist/parse/cst.js +98 -0
  166. package/node_modules/yaml/browser/dist/parse/lexer.js +721 -0
  167. package/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
  168. package/node_modules/yaml/browser/dist/parse/parser.js +975 -0
  169. package/node_modules/yaml/browser/dist/public-api.js +102 -0
  170. package/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
  171. package/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
  172. package/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
  173. package/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
  174. package/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
  175. package/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
  176. package/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
  177. package/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
  178. package/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
  179. package/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
  180. package/node_modules/yaml/browser/dist/schema/tags.js +96 -0
  181. package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
  182. package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
  183. package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
  184. package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
  185. package/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +67 -0
  186. package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
  187. package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
  188. package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
  189. package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
  190. package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
  191. package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
  192. package/node_modules/yaml/browser/dist/stringify/stringify.js +129 -0
  193. package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +153 -0
  194. package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
  195. package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
  196. package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +25 -0
  197. package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
  198. package/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
  199. package/node_modules/yaml/browser/dist/util.js +11 -0
  200. package/node_modules/yaml/browser/dist/visit.js +233 -0
  201. package/node_modules/yaml/browser/index.js +5 -0
  202. package/node_modules/yaml/browser/package.json +3 -0
  203. package/node_modules/yaml/dist/cli.d.ts +8 -0
  204. package/node_modules/yaml/dist/cli.mjs +201 -0
  205. package/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
  206. package/node_modules/yaml/dist/compose/compose-collection.js +90 -0
  207. package/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
  208. package/node_modules/yaml/dist/compose/compose-doc.js +45 -0
  209. package/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
  210. package/node_modules/yaml/dist/compose/compose-node.js +112 -0
  211. package/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
  212. package/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
  213. package/node_modules/yaml/dist/compose/composer.d.ts +63 -0
  214. package/node_modules/yaml/dist/compose/composer.js +224 -0
  215. package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
  216. package/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
  217. package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
  218. package/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
  219. package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
  220. package/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
  221. package/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
  222. package/node_modules/yaml/dist/compose/resolve-end.js +39 -0
  223. package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
  224. package/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
  225. package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
  226. package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +227 -0
  227. package/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
  228. package/node_modules/yaml/dist/compose/resolve-props.js +148 -0
  229. package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
  230. package/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
  231. package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
  232. package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
  233. package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
  234. package/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
  235. package/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
  236. package/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
  237. package/node_modules/yaml/dist/doc/Document.d.ts +141 -0
  238. package/node_modules/yaml/dist/doc/Document.js +337 -0
  239. package/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
  240. package/node_modules/yaml/dist/doc/anchors.js +76 -0
  241. package/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
  242. package/node_modules/yaml/dist/doc/applyReviver.js +57 -0
  243. package/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
  244. package/node_modules/yaml/dist/doc/createNode.js +90 -0
  245. package/node_modules/yaml/dist/doc/directives.d.ts +49 -0
  246. package/node_modules/yaml/dist/doc/directives.js +178 -0
  247. package/node_modules/yaml/dist/errors.d.ts +21 -0
  248. package/node_modules/yaml/dist/errors.js +62 -0
  249. package/node_modules/yaml/dist/index.d.ts +25 -0
  250. package/node_modules/yaml/dist/index.js +50 -0
  251. package/node_modules/yaml/dist/log.d.ts +3 -0
  252. package/node_modules/yaml/dist/log.js +19 -0
  253. package/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
  254. package/node_modules/yaml/dist/nodes/Alias.js +118 -0
  255. package/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
  256. package/node_modules/yaml/dist/nodes/Collection.js +151 -0
  257. package/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
  258. package/node_modules/yaml/dist/nodes/Node.js +40 -0
  259. package/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
  260. package/node_modules/yaml/dist/nodes/Pair.js +39 -0
  261. package/node_modules/yaml/dist/nodes/Scalar.d.ts +47 -0
  262. package/node_modules/yaml/dist/nodes/Scalar.js +27 -0
  263. package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
  264. package/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
  265. package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
  266. package/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
  267. package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
  268. package/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
  269. package/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
  270. package/node_modules/yaml/dist/nodes/identity.js +53 -0
  271. package/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
  272. package/node_modules/yaml/dist/nodes/toJS.js +39 -0
  273. package/node_modules/yaml/dist/options.d.ts +350 -0
  274. package/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
  275. package/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
  276. package/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
  277. package/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
  278. package/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
  279. package/node_modules/yaml/dist/parse/cst-visit.js +99 -0
  280. package/node_modules/yaml/dist/parse/cst.d.ts +109 -0
  281. package/node_modules/yaml/dist/parse/cst.js +112 -0
  282. package/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
  283. package/node_modules/yaml/dist/parse/lexer.js +723 -0
  284. package/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
  285. package/node_modules/yaml/dist/parse/line-counter.js +41 -0
  286. package/node_modules/yaml/dist/parse/parser.d.ts +84 -0
  287. package/node_modules/yaml/dist/parse/parser.js +980 -0
  288. package/node_modules/yaml/dist/public-api.d.ts +44 -0
  289. package/node_modules/yaml/dist/public-api.js +107 -0
  290. package/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
  291. package/node_modules/yaml/dist/schema/Schema.js +39 -0
  292. package/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
  293. package/node_modules/yaml/dist/schema/common/map.js +19 -0
  294. package/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
  295. package/node_modules/yaml/dist/schema/common/null.js +17 -0
  296. package/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
  297. package/node_modules/yaml/dist/schema/common/seq.js +19 -0
  298. package/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
  299. package/node_modules/yaml/dist/schema/common/string.js +16 -0
  300. package/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
  301. package/node_modules/yaml/dist/schema/core/bool.js +21 -0
  302. package/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
  303. package/node_modules/yaml/dist/schema/core/float.js +47 -0
  304. package/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
  305. package/node_modules/yaml/dist/schema/core/int.js +42 -0
  306. package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
  307. package/node_modules/yaml/dist/schema/core/schema.js +25 -0
  308. package/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
  309. package/node_modules/yaml/dist/schema/json/schema.js +64 -0
  310. package/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
  311. package/node_modules/yaml/dist/schema/tags.d.ts +48 -0
  312. package/node_modules/yaml/dist/schema/tags.js +99 -0
  313. package/node_modules/yaml/dist/schema/types.d.ts +92 -0
  314. package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
  315. package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
  316. package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
  317. package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
  318. package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
  319. package/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
  320. package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
  321. package/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
  322. package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
  323. package/node_modules/yaml/dist/schema/yaml-1.1/merge.js +71 -0
  324. package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
  325. package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
  326. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
  327. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
  328. package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
  329. package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
  330. package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
  331. package/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
  332. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
  333. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
  334. package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
  335. package/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
  336. package/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
  337. package/node_modules/yaml/dist/stringify/stringify.js +132 -0
  338. package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
  339. package/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
  340. package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
  341. package/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
  342. package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
  343. package/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
  344. package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
  345. package/node_modules/yaml/dist/stringify/stringifyNumber.js +27 -0
  346. package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
  347. package/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
  348. package/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
  349. package/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
  350. package/node_modules/yaml/dist/test-events.d.ts +4 -0
  351. package/node_modules/yaml/dist/test-events.js +134 -0
  352. package/node_modules/yaml/dist/util.d.ts +16 -0
  353. package/node_modules/yaml/dist/util.js +28 -0
  354. package/node_modules/yaml/dist/visit.d.ts +102 -0
  355. package/node_modules/yaml/dist/visit.js +236 -0
  356. package/node_modules/yaml/package.json +97 -0
  357. package/node_modules/yaml/util.js +2 -0
  358. package/package.json +10 -8
  359. package/src/analysis/architecture/discovery.ts +213 -227
  360. package/src/analysis/architecture/manifest.ts +147 -0
  361. package/src/analysis/architecture/model.ts +119 -52
  362. package/src/analysis/architecture/workspace-config.ts +229 -0
  363. package/src/analysis/{coverage/coverage-warnings.ts → capability/capability-warnings.ts} +41 -78
  364. package/src/analysis/evidence.ts +22 -5
  365. package/src/analysis/health/diagnostics.ts +183 -0
  366. package/src/analysis/health/recovery.ts +39 -0
  367. package/src/analysis/health/signals.ts +20 -0
  368. package/src/analysis/instruction-files.ts +60 -48
  369. package/src/analysis/provider.ts +31 -12
  370. package/src/analysis/readiness.ts +29 -9
  371. package/src/{tool/refactor-apply → analysis/refactor}/apply.ts +120 -26
  372. package/src/analysis/refactor/position.ts +6 -0
  373. package/src/analysis/refactor/safety.ts +4 -11
  374. package/src/analysis/references/locations.ts +20 -0
  375. package/src/analysis/references/semantic-refs.ts +21 -11
  376. package/src/{tool/graph → analysis/relations}/implementations.ts +27 -23
  377. package/src/analysis/relations/provider-locations.ts +179 -0
  378. package/src/{tool/graph → analysis/relations}/references.ts +25 -21
  379. package/src/{tool/graph → analysis/relations}/types.ts +4 -19
  380. package/src/analysis/search/ast-scan.ts +376 -0
  381. package/src/analysis/search/call-name.ts +68 -0
  382. package/src/analysis/search/deadline.ts +84 -0
  383. package/src/analysis/search/paths.ts +88 -0
  384. package/src/analysis/search/pattern.ts +290 -246
  385. package/src/analysis/target/anchored.ts +72 -27
  386. package/src/analysis/target/file.ts +292 -132
  387. package/src/analysis/target/identity.ts +237 -0
  388. package/src/analysis/target/symbol.ts +169 -86
  389. package/src/analysis/target/types.ts +36 -4
  390. package/src/api.ts +21 -4
  391. package/src/app/app.ts +54 -44
  392. package/src/extension.ts +21 -97
  393. package/src/headless.ts +41 -0
  394. package/src/session/capability-adapter.ts +26 -118
  395. package/src/session/find-types.ts +38 -0
  396. package/src/session/find-workflow.ts +141 -0
  397. package/src/session/graph/collect.ts +181 -0
  398. package/src/session/graph-types.ts +77 -0
  399. package/src/session/graph-workflow.ts +152 -0
  400. package/src/session/health-types.ts +134 -0
  401. package/src/session/health-workflow.ts +341 -0
  402. package/src/session/input/common.ts +216 -0
  403. package/src/session/input/health-refactor.ts +169 -0
  404. package/src/session/input/workflows.ts +211 -0
  405. package/src/session/inspect/collect.ts +304 -0
  406. package/src/session/inspect/file-point.ts +69 -0
  407. package/src/session/inspect-types.ts +78 -0
  408. package/src/session/inspect-workflow.ts +157 -0
  409. package/src/session/orientation/collect.ts +718 -0
  410. package/src/session/orientation/context-facts.ts +319 -0
  411. package/src/session/orientation/context-sections.ts +352 -0
  412. package/src/session/orientation-types.ts +97 -0
  413. package/src/session/orientation-workflow.ts +307 -0
  414. package/src/session/refactor-plans.ts +1 -1
  415. package/src/session/refactor-types.ts +51 -0
  416. package/src/session/refactor-workflow.ts +263 -0
  417. package/src/session/session.ts +263 -234
  418. package/src/session/target-candidates.ts +60 -0
  419. package/src/session/target-input.ts +98 -0
  420. package/src/session/target-store.ts +132 -29
  421. package/src/session/target-workflow.ts +254 -302
  422. package/src/session/workflow-control.ts +35 -0
  423. package/src/substrate/lsp/lifecycle.ts +26 -53
  424. package/src/substrate/lsp/maintenance.ts +75 -0
  425. package/src/substrate/lsp/recovery.ts +41 -25
  426. package/src/substrate/lsp/settings.ts +1 -10
  427. package/src/substrate/lsp/state.ts +5 -13
  428. package/src/substrate/workspace-provider-host.ts +129 -0
  429. package/src/tool/find/ast-kinds.ts +35 -0
  430. package/src/tool/find/execute.ts +22 -113
  431. package/src/tool/find/markdown.ts +85 -221
  432. package/src/tool/find/modes.ts +5 -0
  433. package/src/tool/find/render.ts +57 -0
  434. package/src/tool/find/tui.ts +1 -1
  435. package/src/tool/graph/calls-md.ts +17 -30
  436. package/src/tool/graph/execute.ts +42 -103
  437. package/src/tool/graph/implementations-md.ts +32 -54
  438. package/src/tool/graph/markdown-base.ts +73 -196
  439. package/src/tool/graph/provider-location-md.ts +9 -0
  440. package/src/tool/graph/references-md.ts +34 -27
  441. package/src/tool/graph/tui.ts +8 -26
  442. package/src/tool/guidance.ts +31 -48
  443. package/src/tool/health/execute.ts +15 -56
  444. package/src/tool/health/markdown.ts +199 -148
  445. package/src/tool/health/semantic-state.ts +24 -0
  446. package/src/tool/health/tui.ts +262 -36
  447. package/src/tool/infra/error-results.ts +0 -2
  448. package/src/tool/infra/progress.ts +2 -2
  449. package/src/tool/infra/workflow-control.ts +11 -0
  450. package/src/tool/inspect/execute.ts +23 -63
  451. package/src/tool/inspect/markdown.ts +114 -95
  452. package/src/tool/inspect/tui.ts +7 -7
  453. package/src/tool/orientation/execute.ts +50 -37
  454. package/src/tool/orientation/markdown.ts +26 -31
  455. package/src/tool/orientation/tui.ts +41 -39
  456. package/src/tool/refactor-apply/execute.ts +23 -9
  457. package/src/tool/refactor-apply/tui.ts +7 -3
  458. package/src/tool/refactor-plan/execute.ts +44 -61
  459. package/src/tool/refactor-plan/markdown.ts +33 -56
  460. package/src/tool/refactor-plan/tui.ts +10 -11
  461. package/src/tool/register.ts +6 -5
  462. package/src/tool/resolve/execute.ts +23 -69
  463. package/src/tool/resolve/markdown.ts +125 -114
  464. package/src/tool/resolve/tui.ts +11 -9
  465. package/src/tool/result/assembly.ts +125 -0
  466. package/src/tool/result/errors.ts +20 -34
  467. package/src/tool/result/find.ts +107 -21
  468. package/src/tool/result/graph.ts +163 -64
  469. package/src/tool/result/health.ts +170 -73
  470. package/src/tool/result/inspect.ts +183 -41
  471. package/src/tool/result/orientation.ts +118 -16
  472. package/src/tool/result/refactor.ts +101 -21
  473. package/src/tool/result/resolve.ts +243 -80
  474. package/src/tool/result/types.ts +100 -56
  475. package/src/tool/schemas.ts +160 -231
  476. package/src/tool/specs.ts +57 -168
  477. package/src/types/details.ts +2 -4
  478. package/src/types/execution.ts +6 -15
  479. package/src/types/index.ts +2 -4
  480. package/src/types/tool-names.ts +1 -2
  481. package/src/ui/footer.ts +3 -3
  482. package/src/ui/markdown/gather.ts +17 -65
  483. package/src/ui/markdown/overview-data.ts +143 -21
  484. package/src/ui/markdown/overview.ts +27 -8
  485. package/src/ui/markdown/types.ts +12 -16
  486. package/src/ui/status-command.ts +39 -31
  487. package/src/ui/status-overlay.ts +23 -15
  488. package/src/ui/tui/common.ts +121 -74
  489. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/abort-utils.ts +0 -31
  490. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +0 -11
  491. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/types.ts +0 -2
  492. package/node_modules/@mrclrchtr/supi-core/src/abort-utils.ts +0 -31
  493. package/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +0 -11
  494. package/node_modules/@mrclrchtr/supi-core/src/types.ts +0 -2
  495. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/abort-utils.ts +0 -31
  496. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +0 -11
  497. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/types.ts +0 -2
  498. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/abort-utils.ts +0 -31
  499. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +0 -11
  500. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/types.ts +0 -2
  501. package/node_modules/@mrclrchtr/supi-lsp/src/diagnostics/diagnostic-augmentation.ts +0 -82
  502. package/node_modules/@mrclrchtr/supi-lsp/src/diagnostics/diagnostic-context.ts +0 -116
  503. package/node_modules/@mrclrchtr/supi-lsp/src/diagnostics/diagnostic-display.ts +0 -69
  504. package/node_modules/@mrclrchtr/supi-lsp/src/manager/capability-index.ts +0 -24
  505. package/node_modules/@mrclrchtr/supi-lsp/src/manager/client-pool.ts +0 -33
  506. package/node_modules/@mrclrchtr/supi-lsp/src/manager/diagnostic-store.ts +0 -51
  507. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-stale-resync.ts +0 -47
  508. package/node_modules/@mrclrchtr/supi-lsp/src/manager/recovery-coordinator.ts +0 -37
  509. package/node_modules/@mrclrchtr/supi-lsp/src/manager/workspace-router.ts +0 -44
  510. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/abort-utils.ts +0 -31
  511. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +0 -11
  512. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/types.ts +0 -2
  513. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/abort-utils.ts +0 -31
  514. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +0 -11
  515. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/types.ts +0 -2
  516. package/src/analysis/brief/directory.ts +0 -324
  517. package/src/analysis/brief/enrich.ts +0 -157
  518. package/src/analysis/brief/file.ts +0 -84
  519. package/src/analysis/brief/inventory.ts +0 -177
  520. package/src/analysis/brief/main.ts +0 -176
  521. package/src/analysis/brief/models.ts +0 -75
  522. package/src/analysis/brief/public-brief.ts +0 -179
  523. package/src/analysis/brief/summarize.ts +0 -208
  524. package/src/analysis/brief/types.ts +0 -27
  525. package/src/analysis/brief/use-case.ts +0 -264
  526. package/src/analysis/search/ripgrep.ts +0 -558
  527. package/src/analysis/signals/git.ts +0 -89
  528. package/src/analysis/signals/project.ts +0 -189
  529. package/src/analysis/target/bridge.ts +0 -152
  530. package/src/analysis/target/file-resolution.ts +0 -125
  531. package/src/analysis/target/planner.ts +0 -92
  532. package/src/analysis/target/query.ts +0 -74
  533. package/src/analysis/target/resolve-common.ts +0 -115
  534. package/src/analysis/target/service.ts +0 -229
  535. package/src/analysis/tests/likely-tests.ts +0 -174
  536. package/src/analysis/tests/test-discovery.ts +0 -540
  537. package/src/analysis/tests/vitest.ts +0 -87
  538. package/src/app/manager.ts +0 -65
  539. package/src/substrate/lsp/diagnostic-injection.ts +0 -203
  540. package/src/substrate/lsp/overrides.ts +0 -132
  541. package/src/substrate/tree-sitter/lifecycle.ts +0 -52
  542. package/src/tool/find/orchestrate.ts +0 -317
  543. package/src/tool/find/semantic-search.ts +0 -128
  544. package/src/tool/graph/collect-relation.ts +0 -372
  545. package/src/tool/graph/orchestrate.ts +0 -259
  546. package/src/tool/health/orchestrate.ts +0 -151
  547. package/src/tool/health/sections/diagnostics.ts +0 -182
  548. package/src/tool/health/sections/recovery.ts +0 -89
  549. package/src/tool/health/sections/signals.ts +0 -89
  550. package/src/tool/impact/analysis.ts +0 -220
  551. package/src/tool/impact/change-set-impact.ts +0 -152
  552. package/src/tool/impact/execute.ts +0 -125
  553. package/src/tool/impact/file-level-impact.ts +0 -82
  554. package/src/tool/impact/markdown.ts +0 -283
  555. package/src/tool/impact/orchestrate.ts +0 -97
  556. package/src/tool/impact/result.ts +0 -2
  557. package/src/tool/impact/single-impact.ts +0 -90
  558. package/src/tool/impact/tui.ts +0 -39
  559. package/src/tool/impact/types.ts +0 -34
  560. package/src/tool/infra/cross-field.ts +0 -335
  561. package/src/tool/infra/pipeline.ts +0 -334
  562. package/src/tool/infra/readiness-message.ts +0 -5
  563. package/src/tool/inspect/orchestrate.ts +0 -154
  564. package/src/tool/orientation/deps.ts +0 -63
  565. package/src/tool/orientation/mode.ts +0 -139
  566. package/src/tool/orientation/orchestrate.ts +0 -475
  567. package/src/tool/orientation/precise-target.ts +0 -253
  568. package/src/tool/params.ts +0 -15
  569. package/src/tool/refactor-apply/markdown.ts +0 -118
  570. package/src/tool/refactor-apply/orchestrate.ts +0 -84
  571. package/src/tool/refactor-plan/orchestrate.ts +0 -355
  572. package/src/tool/resolve/orchestrate.ts +0 -38
  573. package/src/tool/result/impact.ts +0 -50
  574. package/src/ui/markdown/brief.ts +0 -218
  575. package/src/ui/message-renderer.ts +0 -121
  576. package/src/ui/tui/index.ts +0 -37
  577. /package/src/{tool/graph → analysis/relations}/callees.ts +0 -0
package/src/tool/specs.ts CHANGED
@@ -1,4 +1,8 @@
1
1
  import type { TSchema } from "typebox";
2
+ import {
3
+ DEFAULT_AST_SCAN_MAX_FILES,
4
+ DEFAULT_AST_SCAN_TIMEOUT_MS,
5
+ } from "../analysis/search/ast-scan.ts";
2
6
  import type {
3
7
  CodeIntelligenceToolName,
4
8
  CodeIntelResult,
@@ -7,8 +11,6 @@ import type {
7
11
  import { executeFindTool } from "./find/execute.ts";
8
12
  import { executeGraphTool } from "./graph/execute.ts";
9
13
  import { executeHealthTool } from "./health/execute.ts";
10
- import { executeImpactTool } from "./impact/execute.ts";
11
- import { emitToolProgress } from "./infra/progress.ts";
12
14
  import { executeInspectTool } from "./inspect/execute.ts";
13
15
  import { executeOrientationTool } from "./orientation/execute.ts";
14
16
  import { executeRefactorApplyTool } from "./refactor-apply/execute.ts";
@@ -19,7 +21,6 @@ import {
19
21
  CodeFindParameters,
20
22
  CodeGraphParameters,
21
23
  CodeHealthParameters,
22
- CodeImpactParameters,
23
24
  CodeInspectParameters,
24
25
  CodeOrientationParameters,
25
26
  CodeRefactorParameters,
@@ -27,49 +28,23 @@ import {
27
28
  } from "./schemas.ts";
28
29
 
29
30
  /** Substrate families that power a tool's implementation. */
30
- export type ToolSubstrate = "semantic" | "structural" | "search" | "git" | "diagnostics";
31
-
32
- /** Deployment phase for a tool. */
33
- export type ToolPhase = "phase-1" | "phase-2" | "phase-3" | "phase-4" | "phase-5" | "phase-6";
31
+ export type ToolSubstrate = "semantic" | "structural" | "search" | "diagnostics";
34
32
 
35
- /** Canonical spec for one code-intelligence tool — runtime registration config. */
33
+ /** Canonical registration spec for one public code-intelligence tool. */
36
34
  export interface CodeIntelligenceToolDefinitionSpec {
37
35
  name: CodeIntelligenceToolName;
38
36
  label: string;
39
37
  parameters: TSchema;
40
- /** Per-spec line-limit override for the adapter's head truncation. */
41
38
  maxLines?: number;
42
- /** Per-spec byte-limit override for the adapter's head truncation. */
43
39
  maxBytes?: number;
44
- /** When true, oversized truncated output spills to a temp file. */
45
- spillToTempFile?: boolean;
46
40
  run: (params: unknown, ctx: CodeIntelToolExecCtx) => Promise<CodeIntelResult> | CodeIntelResult;
47
-
48
- // ── Design metadata ────────────────────────────────────────────────
49
-
50
- /** One-line purpose summary for docs and tests. */
51
- purpose?: string;
52
- /** Key into CODE_INTELLIGENCE_TOOL_SCHEMAS. */
53
- schemaKey?: CodeIntelligenceToolName;
54
- /** Concise schema summary for future maintainers. */
55
- schemaDocs?: string;
56
- /** Legacy tools this tool absorbed (empty for new tools). */
57
- absorbsTools?: string[];
58
- /** Legacy behaviors this tool absorbed. */
59
- absorbsBehaviors?: string[];
60
- /** Substrate families that power the implementation. */
61
- substrates?: ToolSubstrate[];
62
- /** Deployment phase. */
63
- phase?: ToolPhase;
64
- /** Explicit non-goals — what the tool intentionally does NOT do. */
65
- nonGoals?: string[];
41
+ purpose: string;
42
+ schemaDocs: string;
43
+ substrates: ToolSubstrate[];
44
+ nonGoals: string[];
66
45
  }
67
46
 
68
- /**
69
- * Canonical code-intelligence tool specs — runtime registration data.
70
- *
71
- * Prompt descriptions and guidelines live in {@link ./guidance.ts}.
72
- */
47
+ /** Single source of truth for the surviving eight-tool family. */
73
48
  export const CODE_INTELLIGENCE_TOOL_SPECS = [
74
49
  {
75
50
  name: "code_resolve",
@@ -78,15 +53,13 @@ export const CODE_INTELLIGENCE_TOOL_SPECS = [
78
53
  run: (params, ctx) =>
79
54
  executeResolveTool(params as Parameters<typeof executeResolveTool>[0], ctx),
80
55
  purpose:
81
- "Resolve human or code references into precise file/range/symbol targets and stable target handles.",
82
- schemaKey: "code_resolve",
83
- schemaDocs:
84
- "Accepts a query or file-based anchor plus optional scope/kind/maxResults. Later phases validate that line/character require file.",
85
- absorbsTools: [],
86
- absorbsBehaviors: [],
87
- substrates: ["semantic", "search"],
88
- phase: "phase-1",
89
- nonGoals: ["Target handles do not persist across sessions."],
56
+ "Resolve an anchor/symbol into handles or enumerate a file's declarations as a Target group.",
57
+ schemaDocs: "Requires one exact target selector: anchor, symbol, or file.",
58
+ substrates: ["semantic", "structural"],
59
+ nonGoals: [
60
+ "Handles do not persist across sessions.",
61
+ "No text-search or structural-only target creation fallback.",
62
+ ],
90
63
  },
91
64
  {
92
65
  name: "code_inspect",
@@ -94,19 +67,10 @@ export const CODE_INTELLIGENCE_TOOL_SPECS = [
94
67
  parameters: CodeInspectParameters,
95
68
  run: (params, ctx) =>
96
69
  executeInspectTool(params as Parameters<typeof executeInspectTool>[0], ctx),
97
- purpose:
98
- "Inspect one precise point in code with best-effort syntax, symbol, hover, definition, diagnostics, and code-action facts.",
99
- schemaKey: "code_inspect",
100
- schemaDocs:
101
- "Requires file, line, and character plus optional maxResults. It is the explicit point-inspection surface; code_orientation handles broader orientation.",
102
- absorbsTools: [],
103
- absorbsBehaviors: ["anchored orientation inspection"],
70
+ purpose: "Inspect one exact source point with semantic, structural, and diagnostic facts.",
71
+ schemaDocs: "Requires point.file, point.line, and point.character.",
104
72
  substrates: ["semantic", "structural", "diagnostics"],
105
- phase: "phase-2",
106
- nonGoals: [
107
- "Does not accept targetId in this first pass; inspection stays point-based.",
108
- "Does not apply code actions.",
109
- ],
73
+ nonGoals: ["Does not apply code actions."],
110
74
  },
111
75
  {
112
76
  name: "code_orientation",
@@ -114,107 +78,59 @@ export const CODE_INTELLIGENCE_TOOL_SPECS = [
114
78
  parameters: CodeOrientationParameters,
115
79
  run: (params, ctx) =>
116
80
  executeOrientationTool(params as Parameters<typeof executeOrientationTool>[0], ctx),
117
- purpose:
118
- "Orient around a project, discovered module, directory, file, or precise symbol before choosing surgical follow-up tools.",
119
- schemaKey: "code_orientation",
120
- schemaDocs:
121
- "Accepts optional focus, targetId, line, character, and maxResults. Omitted focus returns workspace orientation; focus is path-first with discovered-module lookup; focus+line+character resolves a symbol; targetId wins over focus/coordinates.",
122
- absorbsTools: ["code_brief", "code_context"],
123
- absorbsBehaviors: [],
81
+ purpose: "Orient around the workspace or one exact path, module, or target focus.",
82
+ schemaDocs: "Omitted focus means workspace; otherwise focus is an exact-one selector.",
124
83
  substrates: ["semantic", "structural", "diagnostics"],
125
- phase: "phase-2",
126
- nonGoals: [
127
- "Does not provide relation, tests, or impact sections; use code_graph and code_impact.",
128
- "Does not resolve bare symbol names; use code_resolve first.",
129
- ],
84
+ nonGoals: ["Relation evidence belongs to code_graph.", "Health belongs to code_health."],
130
85
  },
131
86
  {
132
87
  name: "code_graph",
133
88
  label: "Code Graph",
134
89
  parameters: CodeGraphParameters,
135
- spillToTempFile: true,
136
90
  run: (params, ctx) => executeGraphTool(params as Parameters<typeof executeGraphTool>[0], ctx),
137
- purpose:
138
- "Show the graph of relationships touching a target, including references, callees, imports, exports, implementations, and tests.",
139
- schemaKey: "code_graph",
91
+ purpose: "Collect references, structural callees, and implementations for one exact target.",
140
92
  schemaDocs:
141
- "Accepts targetId plus relations and maxResults (per-relation result cap). Uses references rather than misleading callers labels.",
142
- absorbsTools: ["code_references", "code_calls", "code_implementations"],
143
- absorbsBehaviors: [],
144
- substrates: ["semantic", "structural", "search"],
145
- phase: "phase-3",
146
- nonGoals: [
147
- "Does not claim true incoming caller support until a real call hierarchy exists.",
148
- "Does not collapse unrelated impact or search concerns into the graph surface.",
149
- ],
150
- },
151
- {
152
- name: "code_impact",
153
- label: "Code Impact",
154
- parameters: CodeImpactParameters,
155
- spillToTempFile: true,
156
- run: (params, ctx) => executeImpactTool(params as Parameters<typeof executeImpactTool>[0], ctx),
157
- purpose:
158
- "Estimate blast radius for a target, user-supplied change set, or proposed change description, including likely tests and docs.",
159
- schemaKey: "code_impact",
160
- schemaDocs:
161
- "Accepts targetId, change, or changeSetFiles plus includeTests/maxResults. Runtime validation later requires at least one primary subject.",
162
- absorbsTools: [],
163
- absorbsBehaviors: [],
164
- substrates: ["semantic", "structural", "search", "diagnostics"],
165
- phase: "phase-4",
166
- nonGoals: [
167
- "Does not guarantee perfect downstream impact inference without substrate evidence.",
168
- ],
93
+ "Target is handle, anchor, or symbol; all expands to the three surviving relations.",
94
+ substrates: ["semantic", "structural"],
95
+ nonGoals: ["No inferred tests.", "No file-level import/export inventories."],
169
96
  },
170
97
  {
171
98
  name: "code_find",
172
99
  label: "Code Find",
173
100
  parameters: CodeFindParameters,
174
- spillToTempFile: true,
175
101
  run: (params, ctx) => executeFindTool(params as Parameters<typeof executeFindTool>[0], ctx),
176
- purpose:
177
- "Run unified ranked search across literal text, regex, AST, and semantic modes with one intent-level surface.",
178
- schemaKey: "code_find",
179
- schemaDocs:
180
- "Requires query and supports scope, mode, kind, contextLines, and maxResults. Excludes speculative natural-language mode.",
181
- absorbsTools: ["code_pattern"],
182
- absorbsBehaviors: [],
183
- substrates: ["semantic", "structural", "search"],
184
- phase: "phase-2",
102
+ purpose: "Search structural source shape or semantic workspace symbols explicitly.",
103
+ schemaDocs: `Requires query and ast/semantic mode; scope is optional and AST mode requires kind. AST enumeration uses a shared ${DEFAULT_AST_SCAN_TIMEOUT_MS / 1_000}-second deadline, a ${DEFAULT_AST_SCAN_MAX_FILES}-file cap, and canonical scope deduplication.`,
104
+ substrates: ["semantic", "structural"],
185
105
  nonGoals: [
186
- "Does not activate natural-language retrieval without a real implementation.",
187
- "Removed code_pattern in Phase 2b (TNDM-057XHJ).",
106
+ "No literal or regex text search; use PI grep when active.",
107
+ "No natural-language retrieval.",
108
+ "No silent mode fallback.",
109
+ ],
110
+ },
111
+ {
112
+ name: "code_health",
113
+ label: "Code Health",
114
+ parameters: CodeHealthParameters,
115
+ run: (params, ctx) => executeHealthTool(params as Parameters<typeof executeHealthTool>[0], ctx),
116
+ purpose: "Report live diagnostic, runtime, and structural health observations.",
117
+ schemaDocs: "Optional scope, refresh, include, and level; diagnostics and servers are default.",
118
+ substrates: ["semantic", "structural", "diagnostics"],
119
+ nonGoals: [
120
+ "Does not run tests or verification commands.",
121
+ "Does not load precomputed coverage or unused-code reports.",
188
122
  ],
189
123
  },
190
124
  {
191
125
  name: "code_refactor_plan",
192
126
  label: "Code Refactor Plan",
193
127
  parameters: CodeRefactorParameters,
194
- run: async (params, ctx) => {
195
- emitToolProgress(
196
- ctx.onUpdate,
197
- `code_refactor_plan: requesting ${(params as Record<string, unknown>).operation} plan from LSP...`,
198
- );
199
- return executeRefactorPlanTool(
200
- params as Parameters<typeof executeRefactorPlanTool>[0],
201
- ctx,
202
- "code_refactor_plan",
203
- );
204
- },
205
- purpose:
206
- "Create precise refactor plans for named operations such as rename and extract refactors.",
207
- schemaKey: "code_refactor_plan",
208
- schemaDocs:
209
- "Uses a scoped operation enum with target/file coordinates, optional selected range, and operation-specific options. This is the only intentional operation-style schema.",
210
- absorbsTools: [],
211
- absorbsBehaviors: [],
212
- substrates: ["semantic", "structural", "search"],
213
- phase: "phase-5",
214
- nonGoals: [
215
- "Does not introduce a broad action mega-tool.",
216
- "code_refactor_plan is a pure planner; use code_refactor_apply to execute stored plans.",
217
- ],
128
+ run: (params, ctx) =>
129
+ executeRefactorPlanTool(params as Parameters<typeof executeRefactorPlanTool>[0], ctx),
130
+ purpose: "Create a precise, non-mutating semantic refactor plan.",
131
+ schemaDocs: "Requires one handle/anchor target and one exact operation payload.",
132
+ substrates: ["semantic"],
133
+ nonGoals: ["Never mutates files.", "No heuristic text edits."],
218
134
  },
219
135
  {
220
136
  name: "code_refactor_apply",
@@ -222,36 +138,9 @@ export const CODE_INTELLIGENCE_TOOL_SPECS = [
222
138
  parameters: CodeApplyParameters,
223
139
  run: (params, ctx) =>
224
140
  executeRefactorApplyTool(params as Parameters<typeof executeRefactorApplyTool>[0], ctx),
225
- purpose: "Apply a previously stored plan through explicit, fingerprint-checked mutation.",
226
- schemaKey: "code_refactor_apply",
227
- schemaDocs:
228
- "Requires a planId. Enforces stale-plan rejection, validation, and fingerprint checks before mutation.",
229
- absorbsTools: [],
230
- absorbsBehaviors: [],
231
- substrates: ["semantic", "search", "git"],
232
- phase: "phase-5",
233
- nonGoals: [
234
- "Does not bypass plan validation or fingerprint checks.",
235
- "Format/verify modes are not implemented; they return explicit unavailable outcomes when added later.",
236
- ],
237
- },
238
- {
239
- name: "code_health",
240
- label: "Code Health",
241
- parameters: CodeHealthParameters,
242
- run: (params, ctx) => executeHealthTool(params as Parameters<typeof executeHealthTool>[0], ctx),
243
- purpose:
244
- "Summarize diagnostics, provider state, dirty workspace signals, and maintenance cues from one workflow-oriented health surface.",
245
- schemaKey: "code_health",
246
- schemaDocs:
247
- "Accepts scope, refresh, include sections, and detail level. It is the planned replacement for direct public diagnostic and recovery substrate access.",
248
- absorbsTools: ["lsp_diagnostics", "lsp_recover"],
249
- absorbsBehaviors: ["ci-status summary"],
250
- substrates: ["semantic", "search", "git", "diagnostics"],
251
- phase: "phase-6",
252
- nonGoals: [
253
- "Public lsp_* and tree_sitter_* tools were removed; only code_* tools remain on the public surface.",
254
- "Does not act as a generic verification/test runner.",
255
- ],
141
+ purpose: "Apply one stored, fingerprint-checked refactor plan.",
142
+ schemaDocs: "Requires the planId returned by code_refactor_plan.",
143
+ substrates: ["structural"],
144
+ nonGoals: ["Does not compose plans.", "Does not bypass freshness checks."],
256
145
  },
257
146
  ] as const satisfies readonly CodeIntelligenceToolDefinitionSpec[];
@@ -5,16 +5,14 @@
5
5
  * Import new result assembly code from `../tool/result/types.ts` directly.
6
6
  */
7
7
  export type {
8
- AffectedDetails,
9
8
  AnchoredResolutionMetadata,
10
9
  AnchoredResolutionSource,
11
- BriefDetails,
12
10
  ContextDetails,
13
11
  DisambiguationCandidate,
14
12
  HealthDetails,
15
- ImpactDetails,
13
+ HealthSectionDetails,
16
14
  InspectDetails,
15
+ OrientationSectionDetails,
17
16
  ResolveDetails,
18
17
  SearchDetails,
19
- TestSurfaceDetails,
20
18
  } from "../tool/result/types.ts";
@@ -1,10 +1,8 @@
1
1
  import type { AgentToolUpdateCallback } from "@earendil-works/pi-coding-agent";
2
2
  import type { WorkspaceCodeIntelligenceSession } from "../session/session.ts";
3
3
  import type {
4
- BriefDetails,
5
4
  ContextDetails,
6
5
  HealthDetails,
7
- ImpactDetails,
8
6
  InspectDetails,
9
7
  ResolveDetails,
10
8
  SearchDetails,
@@ -22,9 +20,9 @@ import type {
22
20
  * to subprocesses / emit coarse `onUpdate` beats.
23
21
  *
24
22
  * The `session` property carries the per-workspace
25
- * `WorkspaceCodeIntelligenceSession` facade (ADR 0008) for centralized
26
- * provider access, target resolution, and plan management. Executors
27
- * must prefer `ctx.session` over ad-hoc session factories.
23
+ * `WorkspaceCodeIntelligenceSession` seam (ADR 0015) for workflow policy,
24
+ * target resolution, and plan management. Executors must prefer
25
+ * `ctx.session` over ad-hoc session factories.
28
26
  */
29
27
  export interface CodeIntelToolExecCtx {
30
28
  cwd: string;
@@ -33,15 +31,10 @@ export interface CodeIntelToolExecCtx {
33
31
  /** Progress callback; long-running executors emit coarse beats, not chatty ones. */
34
32
  onUpdate?: AgentToolUpdateCallback;
35
33
  /**
36
- * Per-workspace code-intelligence session facade.
34
+ * Per-workspace code-intelligence session.
37
35
  *
38
- * Provides centralized access to:
39
- * - Provider state: {@link WorkspaceCodeIntelligenceSession.getProviders}
40
- * - Target resolution: {@link WorkspaceCodeIntelligenceSession.expandTargetId}
41
- * - Plan management: {@link WorkspaceCodeIntelligenceSession.storePlan}
42
- *
43
- * Present on every execution. Executors that need it should destructure
44
- * `{ cwd, session }` from their ctx parameter.
36
+ * Exposes typed intent workflows while keeping providers, mutable targets,
37
+ * plans, and runtime policy internal. Present on every execution.
45
38
  */
46
39
  session: WorkspaceCodeIntelligenceSession;
47
40
  }
@@ -50,11 +43,9 @@ export interface CodeIntelToolExecCtx {
50
43
  export interface CodeIntelResult {
51
44
  content: string;
52
45
  details?:
53
- | { type: "brief"; data: BriefDetails }
54
46
  | { type: "context"; data: ContextDetails }
55
47
  | { type: "inspect"; data: InspectDetails }
56
48
  | { type: "search"; data: SearchDetails }
57
- | { type: "impact"; data: ImpactDetails }
58
49
  | { type: "resolve"; data: ResolveDetails }
59
50
  | { type: "health"; data: HealthDetails };
60
51
  }
@@ -13,16 +13,14 @@ export type { CodeIntelResult, CodeIntelToolExecCtx } from "./execution.ts";
13
13
  // ── Detail types ────────────────────────────────────────────────────────
14
14
 
15
15
  export type {
16
- AffectedDetails,
17
16
  AnchoredResolutionMetadata,
18
17
  AnchoredResolutionSource,
19
- BriefDetails,
20
18
  ContextDetails,
21
19
  DisambiguationCandidate,
22
20
  HealthDetails,
23
- ImpactDetails,
21
+ HealthSectionDetails,
24
22
  InspectDetails,
23
+ OrientationSectionDetails,
25
24
  ResolveDetails,
26
25
  SearchDetails,
27
- TestSurfaceDetails,
28
26
  } from "./details.ts";
@@ -5,7 +5,6 @@ export const CODE_INTELLIGENCE_TOOL_NAMES = [
5
5
  "code_orientation",
6
6
  "code_find",
7
7
  "code_graph",
8
- "code_impact",
9
8
  "code_refactor_plan",
10
9
  "code_refactor_apply",
11
10
  "code_health",
@@ -28,7 +27,7 @@ export interface PlannerRoute {
28
27
  * The preferred execution strategy for this intent.
29
28
  * - `semantic`: use LSP first
30
29
  * - `structural`: use tree-sitter first
31
- * - `search`: use explicit text/heuristic search
30
+ * - `search`: use an explicit code-aware search workflow
32
31
  * - `unavailable`: no capability can satisfy this intent
33
32
  */
34
33
  preferred: "semantic" | "structural" | "search" | "unavailable";
package/src/ui/footer.ts CHANGED
@@ -12,10 +12,10 @@ import type { LspAdapterState } from "../substrate/lsp/state.ts";
12
12
  /** Build the LSP status text: "λ lsp • 2 servers • 5 open files" */
13
13
  export function buildLspStatusText(lspState: LspAdapterState): string | undefined {
14
14
  const controller = lspState.controller;
15
- const service = controller?.service;
16
- if (!service) return undefined;
15
+ const runtime = controller?.workspaceRuntime;
16
+ if (!runtime) return undefined;
17
17
 
18
- const servers = service.getProjectServers();
18
+ const servers = runtime.getProjectServers();
19
19
  const runningServers = servers.filter((s) => s.status === "running").length;
20
20
  const openFiles = servers.reduce((sum, s) => sum + s.openFiles.length, 0);
21
21
 
@@ -5,11 +5,17 @@
5
5
  * noExcessiveLinesPerFile threshold.
6
6
  */
7
7
 
8
- import { resolve } from "node:path";
9
- import type { SourceRange } from "@mrclrchtr/supi-code-runtime/api";
10
- import type { SessionLspServiceState } from "@mrclrchtr/supi-lsp/api";
11
- import type { CodeProvider } from "../../analysis/provider.ts";
12
- import { diagnosticMessageString } from "../../substrate/lsp/utils.ts";
8
+ import type {
9
+ SemanticProvider,
10
+ SourceRange,
11
+ StructuralProvider,
12
+ } from "@mrclrchtr/supi-code-runtime/api";
13
+
14
+ export type ContextGatherProvider = Pick<
15
+ StructuralProvider,
16
+ "nodeAt" | "outline" | "imports" | "exports"
17
+ > &
18
+ Partial<Pick<SemanticProvider, "hover" | "definition">>;
13
19
 
14
20
  export interface TreeSitterContext {
15
21
  nodeInfo: {
@@ -32,13 +38,11 @@ export interface TreeSitterContext {
32
38
  hover: { contents: string; range?: SourceRange } | null;
33
39
  /** Best-effort LSP definition targets at the anchored position. `null` when unavailable. */
34
40
  definition: Array<{ uri: string; range: SourceRange }> | null;
35
- /** Best-effort code action titles at the anchored position. `null` when unavailable. */
36
- codeActions: Array<{ title: string; kind?: string }> | null;
37
41
  }
38
42
 
39
43
  // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: best-effort substrate gathering with independent try/catch blocks kept together for readability
40
44
  export async function gatherTreeSitterContext(
41
- provider: CodeProvider | null,
45
+ provider: ContextGatherProvider | null,
42
46
  relPath: string,
43
47
  line: number,
44
48
  character: number,
@@ -49,10 +53,8 @@ export async function gatherTreeSitterContext(
49
53
  let exports: TreeSitterContext["exports"] = [];
50
54
  let hover: TreeSitterContext["hover"] = null;
51
55
  let definition: TreeSitterContext["definition"] = null;
52
- let codeActions: TreeSitterContext["codeActions"] = null;
53
56
 
54
- if (!provider)
55
- return { nodeInfo, outline, imports, exports, hover, definition: null, codeActions: null };
57
+ if (!provider) return { nodeInfo, outline, imports, exports, hover, definition: null };
56
58
 
57
59
  try {
58
60
  const nodeResult = await provider.nodeAt(relPath, line, character);
@@ -96,7 +98,7 @@ export async function gatherTreeSitterContext(
96
98
  line: line - 1,
97
99
  character: character - 1,
98
100
  });
99
- if (hoverResult) hover = hoverResult;
101
+ if (hoverResult.kind !== "unavailable" && hoverResult.data) hover = hoverResult.data;
100
102
  } catch {
101
103
  // hover failed — continue without it
102
104
  }
@@ -109,8 +111,8 @@ export async function gatherTreeSitterContext(
109
111
  line: line - 1,
110
112
  character: character - 1,
111
113
  });
112
- if (defResult && defResult.length > 0) {
113
- definition = defResult.map((loc) => ({
114
+ if (defResult.kind !== "unavailable" && defResult.data.length > 0) {
115
+ definition = defResult.data.map((loc) => ({
114
116
  uri: loc.uri,
115
117
  range: loc.range,
116
118
  }));
@@ -119,59 +121,9 @@ export async function gatherTreeSitterContext(
119
121
  // definition failed — continue without it
120
122
  }
121
123
  }
122
-
123
- // Best-effort code actions — LSP expects 0-based coordinates
124
- if (provider.codeActionTitles) {
125
- try {
126
- const titles = await provider.codeActionTitles(relPath, {
127
- line: line - 1,
128
- character: character - 1,
129
- });
130
- if (titles && titles.length > 0) {
131
- codeActions = titles.map((a) => ({
132
- title: a.title,
133
- kind: a.kind,
134
- }));
135
- }
136
- } catch {
137
- // code actions failed — continue without it
138
- }
139
- }
140
124
  } catch {
141
125
  // Provider not available
142
126
  }
143
127
 
144
- return { nodeInfo, outline, imports, exports, hover, definition, codeActions };
145
- }
146
-
147
- export interface NearbyDiagnostic {
148
- line: number;
149
- severity: number;
150
- message: string;
151
- }
152
-
153
- // biome-ignore lint/complexity/useMaxParams: lspService is a DI seam, not a logic parameter
154
- export async function gatherNearbyDiagnostics(
155
- cwd: string,
156
- file: string,
157
- line: number,
158
- maxResults: number,
159
- lspService: SessionLspServiceState,
160
- ): Promise<NearbyDiagnostic[]> {
161
- if (lspService.kind !== "ready") return [];
162
-
163
- try {
164
- const diagnostics = await lspService.service.fileDiagnostics(resolve(cwd, file), 4);
165
- if (!diagnostics || diagnostics.length === 0) return [];
166
-
167
- const nearby = diagnostics.filter((d) => Math.abs(d.range.start.line + 1 - line) <= 2);
168
- const chosen = nearby.length > 0 ? nearby : diagnostics;
169
- return chosen.slice(0, maxResults).map((d) => ({
170
- line: d.range.start.line + 1,
171
- severity: d.severity ?? 1,
172
- message: diagnosticMessageString(d),
173
- }));
174
- } catch {
175
- return [];
176
- }
128
+ return { nodeInfo, outline, imports, exports, hover, definition };
177
129
  }