@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/api.ts CHANGED
@@ -7,6 +7,7 @@ export type {
7
7
  CapabilityState,
8
8
  CodeLocation,
9
9
  CodePosition,
10
+ CodeQueryResult,
10
11
  CodeResult,
11
12
  CodeSymbol,
12
13
  ConfidenceMode,
@@ -24,8 +25,16 @@ export type {
24
25
  // Architecture model types.
25
26
  export type {
26
27
  ArchitectureModel,
28
+ ArchitectureObservationStatus,
27
29
  DependencyEdge,
30
+ ManifestDependency,
31
+ ManifestDependencyField,
32
+ ManifestDependencySection,
33
+ ManifestField,
28
34
  ModuleInfo,
35
+ PackageManifestObservation,
36
+ WorkspaceTopology,
37
+ WorkspaceTopologySource,
29
38
  } from "./analysis/architecture/model.ts";
30
39
  // Code provider types.
31
40
  export type { CodeProvider, CodeProviderState } from "./analysis/provider.ts";
@@ -34,18 +43,26 @@ export type {
34
43
  ResolvedTargetData,
35
44
  ResolvedTargetGroupData,
36
45
  TargetOutcome,
46
+ TargetProviderProvenance,
37
47
  } from "./analysis/target/types.ts";
48
+ export type {
49
+ HealthDiagnosticObservation,
50
+ HealthDiagnosticScope,
51
+ HealthRefreshAttempt,
52
+ HealthRefreshState,
53
+ HealthStaleAssessment,
54
+ SemanticHealthState,
55
+ } from "./session/health-types.ts";
56
+ export type { TargetSymbolKind } from "./session/target-input.ts";
38
57
  // Code-intelligence-specific result types.
39
58
  export type {
40
- AffectedDetails,
41
- BriefDetails,
42
59
  CodeIntelResult,
43
60
  ContextDetails,
44
61
  DisambiguationCandidate,
45
62
  HealthDetails,
46
- ImpactDetails,
63
+ HealthSectionDetails,
47
64
  InspectDetails,
65
+ OrientationSectionDetails,
48
66
  ResolveDetails,
49
67
  SearchDetails,
50
- TestSurfaceDetails,
51
68
  } from "./types/index.ts";
package/src/app/app.ts CHANGED
@@ -8,7 +8,6 @@
8
8
 
9
9
  import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
10
10
  import { WorkspaceCodeIntelligenceSession } from "../session/session.ts";
11
- import { WorkspaceManager } from "./manager.ts";
12
11
 
13
12
  /**
14
13
  * The code-intelligence app object.
@@ -34,6 +33,19 @@ export interface CodeIntelligenceApp {
34
33
  shutdown(): void;
35
34
  }
36
35
 
36
+ /** Get or create a session in a Map-based cache. */
37
+ export function getOrCreateSession(
38
+ sessions: Map<string, WorkspaceCodeIntelligenceSession>,
39
+ cwd: string,
40
+ ): WorkspaceCodeIntelligenceSession {
41
+ let session = sessions.get(cwd);
42
+ if (!session) {
43
+ session = new WorkspaceCodeIntelligenceSession(cwd);
44
+ sessions.set(cwd, session);
45
+ }
46
+ return session;
47
+ }
48
+
37
49
  /**
38
50
  * Create a simple session cache for tests and ad-hoc usage.
39
51
  *
@@ -48,15 +60,9 @@ export function createSessionCache(): {
48
60
  } {
49
61
  const sessions = new Map<string, WorkspaceCodeIntelligenceSession>();
50
62
  return {
51
- getOrCreate(cwd: string): WorkspaceCodeIntelligenceSession {
52
- let session = sessions.get(cwd);
53
- if (!session) {
54
- session = new WorkspaceCodeIntelligenceSession(cwd);
55
- sessions.set(cwd, session);
56
- }
57
- return session;
58
- },
59
- clear(): void {
63
+ getOrCreate: (cwd) => getOrCreateSession(sessions, cwd),
64
+ clear: () => {
65
+ for (const session of sessions.values()) session.clearStores();
60
66
  sessions.clear();
61
67
  },
62
68
  };
@@ -71,60 +77,64 @@ export function createSessionCache(): {
71
77
  * - `session_shutdown` — releases all sessions and clears per-session stores
72
78
  */
73
79
  export function createCodeIntelligenceApp(pi: ExtensionAPI): CodeIntelligenceApp {
74
- const manager = new WorkspaceManager();
80
+ const sessions = new Map<string, WorkspaceCodeIntelligenceSession>();
75
81
  const OVERVIEW_CUSTOM_TYPE = "code-intelligence-overview";
76
82
 
77
83
  pi.on("session_start", (_event, ctx) => {
78
- const session = manager.getOrCreateSession(ctx.cwd);
84
+ const session = getOrCreateSession(sessions, ctx.cwd);
85
+ restoreBranchOverviewState(session, ctx.sessionManager.getBranch());
86
+ });
79
87
 
80
- // Check if the branch already contains an overview and restore branch-local instruction state.
81
- const branch = ctx.sessionManager.getBranch();
82
- session.reconstructInstructionState(branch);
83
- for (const entry of branch) {
84
- if (
85
- entry.type === "custom_message" &&
86
- (entry as { customType?: string }).customType === OVERVIEW_CUSTOM_TYPE
87
- ) {
88
- session.hasInjectedOverview = true;
89
- break;
90
- }
91
- }
88
+ pi.on("session_tree", (_event, ctx) => {
89
+ const session = sessions.get(ctx.cwd);
90
+ if (!session) return;
91
+ restoreBranchOverviewState(session, ctx.sessionManager.getBranch());
92
92
  });
93
93
 
94
94
  pi.on("session_compact", (_event, ctx) => {
95
- manager.getSession(ctx.cwd)?.resetSurfacedInstructionDirs();
95
+ sessions.get(ctx.cwd)?.resetSurfacedInstructionDirs();
96
96
  });
97
97
 
98
98
  pi.on("session_shutdown", () => {
99
- // Clear per-session stores before releasing sessions
100
- for (const session of manager.allSessions()) {
99
+ for (const session of sessions.values()) {
101
100
  session.clearStores();
102
101
  }
103
- manager.shutdown();
102
+ sessions.clear();
104
103
  });
105
104
 
106
- return {
107
- getSession(cwd: string): WorkspaceCodeIntelligenceSession | undefined {
108
- return manager.getSession(cwd);
109
- },
110
-
111
- createSession(cwd: string): WorkspaceCodeIntelligenceSession {
112
- return manager.getOrCreateSession(cwd);
113
- },
105
+ /**
106
+ * Restore overview injection state from a branch.
107
+ *
108
+ * Reconstructs instruction-file state and checks whether this branch
109
+ * already contains a code-intelligence-overview custom message.
110
+ */
111
+ function restoreBranchOverviewState(
112
+ session: WorkspaceCodeIntelligenceSession,
113
+ branch: unknown[],
114
+ ): void {
115
+ session.reconstructInstructionState(
116
+ branch as Parameters<typeof session.reconstructInstructionState>[0],
117
+ );
118
+ for (const entry of branch as Array<{ type?: string; customType?: string }>) {
119
+ if (entry.type === "custom_message" && entry.customType === OVERVIEW_CUSTOM_TYPE) {
120
+ session.restoreOverviewInjection();
121
+ return;
122
+ }
123
+ }
124
+ }
114
125
 
126
+ return {
127
+ getSession: (cwd) => sessions.get(cwd),
128
+ createSession: (cwd) => getOrCreateSession(sessions, cwd),
115
129
  releaseSession(cwd: string): void {
116
- const session = manager.getSession(cwd);
117
- if (session) {
118
- session.clearStores();
119
- }
120
- manager.releaseSession(cwd);
130
+ sessions.get(cwd)?.clearStores();
131
+ sessions.delete(cwd);
121
132
  },
122
-
123
133
  shutdown(): void {
124
- for (const session of manager.allSessions()) {
134
+ for (const session of sessions.values()) {
125
135
  session.clearStores();
126
136
  }
127
- manager.shutdown();
137
+ sessions.clear();
128
138
  },
129
139
  };
130
140
  }
package/src/extension.ts CHANGED
@@ -1,126 +1,63 @@
1
1
  // Code Intelligence extension entry point — registers the focused code-intelligence tools,
2
- // the LSP adapter with diagnostics, overrides, and settings, and the unified /supi-ci-status command.
2
+ // shared provider lifecycle, settings, UI, and the unified /supi-ci-status command.
3
3
 
4
4
  import type { BeforeAgentStartEventResult, ExtensionAPI } from "@earendil-works/pi-coding-agent";
5
5
  import { buildArchitectureModel } from "./analysis/architecture/discovery.ts";
6
- import {
7
- evaluateCoverageWarnings,
8
- gatherCoverageEvalInput,
9
- } from "./analysis/coverage/coverage-warnings.ts";
10
6
  import { createCodeIntelligenceApp } from "./app/app.ts";
11
7
  import { registerCodeIntelligenceSettings } from "./config.ts";
12
8
  import type { WorkspaceCodeIntelligenceSession } from "./session/session.ts";
13
- import { registerDiagnosticInjectionHandlers } from "./substrate/lsp/diagnostic-injection.ts";
14
9
  import { registerLspSessionLifecycle } from "./substrate/lsp/lifecycle.ts";
15
- import { registerLspAwareToolOverrides } from "./substrate/lsp/overrides.ts";
16
10
  import { registerWorkspaceRecoveryHandler } from "./substrate/lsp/recovery.ts";
17
11
  import { registerLspSettings } from "./substrate/lsp/settings.ts";
18
12
  import { createLspAdapterState } from "./substrate/lsp/state.ts";
19
- import {
20
- createTsAdapterState,
21
- registerTsSessionLifecycle,
22
- } from "./substrate/tree-sitter/lifecycle.ts";
23
13
  import { registerCodeIntelligenceTools } from "./tool/register.ts";
24
14
  import { registerLspFooterContribution } from "./ui/footer.ts";
25
- import { renderOverview } from "./ui/markdown/overview.ts";
15
+ import { estimateTokens, OVERVIEW_TOKEN_BUDGET, renderOverview } from "./ui/markdown/overview.ts";
26
16
  import { buildOverviewData } from "./ui/markdown/overview-data.ts";
27
- import { registerLspMessageRenderer } from "./ui/message-renderer.ts";
28
17
  import { registerCiStatusCommand } from "./ui/status-command.ts";
29
18
 
30
19
  const OVERVIEW_CUSTOM_TYPE = "code-intelligence-overview";
31
20
 
21
+ /** Register the full interactive Code Intelligence profile. */
32
22
  export default function codeIntelligenceExtension(
33
23
  pi: ExtensionAPI,
34
24
  getOrCreateSession?: (cwd: string) => WorkspaceCodeIntelligenceSession,
35
25
  ) {
36
26
  const app = createCodeIntelligenceApp(pi);
37
-
38
27
  const lspState = createLspAdapterState();
39
- const tsState = createTsAdapterState();
40
28
 
41
- // ── Substrate wiring ──────────────────────────────────────────────
42
29
  registerCodeIntelligenceSettings(pi);
43
30
  registerLspSettings(pi);
44
- registerLspSessionLifecycle(pi, lspState);
45
- registerLspAwareToolOverrides(pi, lspState);
46
- registerDiagnosticInjectionHandlers(pi, lspState);
47
- registerWorkspaceRecoveryHandler(pi, lspState);
48
- registerTsSessionLifecycle(pi, tsState);
49
-
50
- // ── Attach controller refs to sessions on startup (ADR 0008) ──────
51
- pi.on("session_start", (_event, ctx) => {
31
+ registerLspSessionLifecycle(pi, lspState, (ctx) => {
52
32
  const session = app.getSession(ctx.cwd);
53
33
  if (!session) return;
54
- if (lspState.controller) session.lspController = lspState.controller;
55
- if (tsState.controller) session.tsController = tsState.controller;
34
+ session.attachLspController(lspState.controller);
35
+ session.seedSentinelSnapshot(lspState.sentinelSnapshot);
36
+ session.setProjectTrusted(ctx.isProjectTrusted());
56
37
  });
38
+ registerWorkspaceRecoveryHandler(pi, lspState);
57
39
 
58
- // ── Tool registration ─────────────────────────────────────────────
59
40
  registerCodeIntelligenceTools(
60
41
  pi,
61
42
  getOrCreateSession ?? ((cwd) => app.getSession(cwd) ?? app.createSession(cwd)),
62
43
  );
63
44
 
64
- // ── UI registration ───────────────────────────────────────────────
65
- registerLspMessageRenderer(pi);
66
45
  registerCiStatusCommand(pi);
67
46
  registerLspFooterContribution(lspState);
68
47
 
69
- // ── Native context path capture for instruction-file dedup ─────────
70
48
  pi.on("before_agent_start", (event, ctx) => {
71
49
  const session = app.getSession(ctx.cwd) ?? app.createSession(ctx.cwd);
72
50
  session.captureNativeInstructionPaths(event.systemPromptOptions.contextFiles ?? []);
73
51
  });
74
52
 
75
- // ── Coverage warning emission ─────────────────────────────────────
76
53
  pi.on(
77
54
  "before_agent_start",
78
55
  async (_event, ctx): Promise<BeforeAgentStartEventResult | undefined> => {
79
56
  const session = app.getSession(ctx.cwd);
80
- if (!session) return;
81
-
82
- const report = evaluateCoverageWarnings(
83
- gatherCoverageEvalInput(ctx.cwd, session.lspController),
84
- );
85
- const pending = session.coverageWarningState.getPendingWarnings(report);
86
- if (pending.length === 0) return;
87
-
88
- const lines = [
89
- '<extension-context source="supi-code-intelligence">',
90
- "Code intelligence coverage is degraded:",
91
- ];
92
- for (const w of pending) {
93
- const lang = w.language ? `[${w.language}] ` : "";
94
- const detail = w.detail ? ` — ${w.detail}` : "";
95
- lines.push(`- ${lang}${w.message}${detail}`);
96
- }
97
- lines.push("</extension-context>");
98
- const warningContext = lines.join("\n");
99
-
100
- return {
101
- message: {
102
- customType: "code-intelligence-coverage",
103
- display: true,
104
- content: warningContext,
105
- },
106
- systemPrompt:
107
- (await ctx.getSystemPrompt()) +
108
- `\n\nThe code intelligence stack has degraded coverage. This means some code-understanding tools (code_* tools) may return limited or structural-only information. The agent should still attempt using them, but be aware that semantic coverage for some languages may be unavailable.`,
109
- };
110
- },
111
- );
112
-
113
- // ── Overview injection — uses the app-managed session state ────────
114
- pi.on(
115
- "before_agent_start",
116
- async (_event, ctx): Promise<BeforeAgentStartEventResult | undefined> => {
117
- const session = app.getSession(ctx.cwd);
118
- if (!session) return;
119
- if (session.hasInjectedOverview) return;
120
- session.hasInjectedOverview = true;
57
+ if (!session?.claimOverviewInjection()) return;
121
58
 
122
59
  const model = await buildArchitectureModel(ctx.cwd);
123
- if (!model || model.modules.length === 0) return;
60
+ if (model.modules.length === 0) return;
124
61
 
125
62
  const data = buildOverviewData(model);
126
63
  if (!data) return;
@@ -128,32 +65,19 @@ export default function codeIntelligenceExtension(
128
65
  const overview = renderOverview(data);
129
66
  if (!overview) return;
130
67
 
68
+ const estimatedTokens = estimateTokens(overview);
69
+ if (estimatedTokens > OVERVIEW_TOKEN_BUDGET) {
70
+ pi.events.emit("supi:debug", {
71
+ source: "supi-code-intelligence",
72
+ level: "warning",
73
+ category: "overview",
74
+ message: `Overview exceeds soft token budget: ${estimatedTokens} tokens (budget: ${OVERVIEW_TOKEN_BUDGET})`,
75
+ });
76
+ }
77
+
131
78
  return {
132
- message: {
133
- customType: OVERVIEW_CUSTOM_TYPE,
134
- display: false,
135
- content: overview,
136
- },
79
+ message: { customType: OVERVIEW_CUSTOM_TYPE, display: false, content: overview },
137
80
  };
138
81
  },
139
82
  );
140
-
141
- // ── Process-exit safety net ─────────────────────────────────────────
142
- //
143
- // If the Node process exits without `session_shutdown` firing (crash,
144
- // unhandled rejection, SIGINT), make a best-effort synchronous attempt
145
- // to terminate the LSP and Tree-sitter controller trees.
146
- //
147
- // `process.on("exit")` handlers are synchronous — we cannot await
148
- // controller shutdown, but `process.kill(-pid, "SIGTERM")` fires
149
- // synchronously and the SIGKILL escalation in LspClient is handled
150
- // by the kernel after process termination.
151
- let cleaningUp = false;
152
- process.once("exit", () => {
153
- if (cleaningUp) return;
154
- cleaningUp = true;
155
- // Fire and forget — the critical kill calls are synchronous.
156
- void lspState.controller?.shutdown();
157
- void tsState.controller?.shutdown();
158
- });
159
83
  }
@@ -0,0 +1,41 @@
1
+ import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
+ import { createSessionCache } from "./app/app.ts";
3
+ import { registerLspSessionLifecycle } from "./substrate/lsp/lifecycle.ts";
4
+ import { createLspAdapterState } from "./substrate/lsp/state.ts";
5
+ import { registerCodeIntelligenceTools } from "./tool/register.ts";
6
+ import { CODE_INTELLIGENCE_TOOL_SPECS } from "./tool/specs.ts";
7
+
8
+ /** Exact Code Intelligence tool surface available to managed Reviewer Sessions. */
9
+ export const HEADLESS_INSPECTION_TOOL_NAMES = [
10
+ "code_resolve",
11
+ "code_inspect",
12
+ "code_orientation",
13
+ "code_graph",
14
+ "code_find",
15
+ "code_health",
16
+ ] as const;
17
+
18
+ const inspectionToolNames = new Set<string>(HEADLESS_INSPECTION_TOOL_NAMES);
19
+
20
+ /**
21
+ * Register the managed-child profile: six inspection tools backed by the shared
22
+ * Workspace provider host, without refactors, settings, UI, or overview state.
23
+ */
24
+ export default function headlessInspectionProfile(pi: ExtensionAPI): void {
25
+ const sessions = createSessionCache();
26
+ const lspState = createLspAdapterState();
27
+ registerLspSessionLifecycle(pi, lspState, (ctx) => {
28
+ const session = sessions.getOrCreate(ctx.cwd);
29
+ session.attachLspController(lspState.controller);
30
+ session.seedSentinelSnapshot(lspState.sentinelSnapshot);
31
+ session.setProjectTrusted(ctx.isProjectTrusted());
32
+ });
33
+ pi.on("session_shutdown", () => sessions.clear());
34
+
35
+ registerCodeIntelligenceTools(
36
+ pi,
37
+ sessions.getOrCreate,
38
+ undefined,
39
+ CODE_INTELLIGENCE_TOOL_SPECS.filter((spec) => inspectionToolNames.has(spec.name)),
40
+ );
41
+ }
@@ -2,15 +2,18 @@
2
2
  * Capability adapter — injected dependency for WorkspaceCodeIntelligenceSession.
3
3
  *
4
4
  * Encapsulates provider access and readiness so the session target
5
- * workflow can be tested with an in-memory adapter. Two adapters
6
- * (production and test) justify the seam.
5
+ * workflow can be tested with an in-memory adapter.
7
6
  *
8
7
  * @mrclrchtr/supi-code-intelligence — internal, not exported via api.ts
9
8
  */
10
9
 
11
- import type { SemanticProvider, StructuralProvider } from "@mrclrchtr/supi-code-runtime/api";
12
- import { getDefaultWorkspaceRuntime } from "@mrclrchtr/supi-code-runtime/api";
13
- import type { SessionLspServiceState } from "@mrclrchtr/supi-lsp/api";
10
+ import {
11
+ type CapabilityState,
12
+ getDefaultWorkspaceRuntime,
13
+ type SemanticProvider,
14
+ type StructuralProvider,
15
+ } from "@mrclrchtr/supi-code-runtime/api";
16
+ import { getWorkspaceLspRuntime, type WorkspaceLspRuntimeState } from "@mrclrchtr/supi-lsp/api";
14
17
  import {
15
18
  type CodeProvider,
16
19
  type CodeProviderState,
@@ -35,8 +38,7 @@ export type ReadinessOutcome =
35
38
  /**
36
39
  * Injected capability adapter.
37
40
  *
38
- * Production adapter reads the global workspace runtime. Test adapter
39
- * provides semantic/structural providers in memory without global state.
41
+ * Production adapter reads the global workspace runtime.
40
42
  */
41
43
  export interface CapabilityAdapter {
42
44
  /** Get the composite code provider state for a workspace. */
@@ -51,6 +53,15 @@ export interface CapabilityAdapter {
51
53
  /** Get the raw structural provider, or null. */
52
54
  getStructuralProvider(cwd: string): StructuralProvider | null;
53
55
 
56
+ /** Get the workspace LSP operational state for diagnostics and recovery workflows. */
57
+ getLspRuntimeState(cwd: string): WorkspaceLspRuntimeState;
58
+
59
+ /** Get semantic and structural capability states without exposing providers. */
60
+ getCapabilityStates(cwd: string): {
61
+ semantic: CapabilityState;
62
+ structural: CapabilityState;
63
+ };
64
+
54
65
  /**
55
66
  * Wait for semantic (LSP) readiness. Returns a typed outcome so
56
67
  * the target workflow can decide whether to proceed, return a
@@ -101,118 +112,15 @@ export class WorkspaceCapabilityAdapter implements CapabilityAdapter {
101
112
  return result;
102
113
  }
103
114
 
104
- /** Convenience: LSP service state for impact/health consumers still using it directly. */
105
- getLspService(cwd: string): SessionLspServiceState {
106
- const state = this.getProviderState(cwd);
107
- return state.kind === "ready"
108
- ? state.lspService
109
- : { kind: "unavailable" as const, reason: "No provider" };
110
- }
111
- }
112
-
113
- // ── Test adapter ──────────────────────────────────────────────────────
114
-
115
- /**
116
- * In-memory capability adapter for tests.
117
- *
118
- * Pass explicit providers and readiness outcomes without touching
119
- * the global workspace runtime.
120
- */
121
- export class TestCapabilityAdapter implements CapabilityAdapter {
122
- readonly #semantic: SemanticProvider | null;
123
- readonly #structural: StructuralProvider | null;
124
- readonly #readiness: ReadinessOutcome;
125
- readonly #lspService: SessionLspServiceState;
126
-
127
- constructor(options: {
128
- semantic?: SemanticProvider | null;
129
- structural?: StructuralProvider | null;
130
- readiness?: ReadinessOutcome;
131
- lspService?: SessionLspServiceState;
132
- }) {
133
- this.#semantic = options.semantic ?? null;
134
- this.#structural = options.structural ?? null;
135
- this.#readiness = options.readiness ?? { kind: "ready" };
136
- this.#lspService = options.lspService ?? {
137
- kind: "unavailable" as const,
138
- reason: "no test LSP",
139
- };
140
- }
141
-
142
- getProviderState(_cwd: string): CodeProviderState {
143
- if (!this.#semantic && !this.#structural) {
144
- return { kind: "unavailable", reason: "No providers in test adapter" };
145
- }
146
- return {
147
- kind: "ready",
148
- provider: this.getProvider(_cwd) as CodeProvider,
149
- lspService: this.#lspService,
150
- };
151
- }
152
-
153
- // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: adapter maps many provider methods; splitting would degrade readability
154
- getProvider(_cwd: string): CodeProvider | null {
155
- if (!this.#semantic && !this.#structural) return null;
156
- return {
157
- // Semantic pass-through
158
- references: this.#semantic?.references
159
- ? (...args: Parameters<SemanticProvider["references"]>) =>
160
- this.#semantic?.references?.(...args)
161
- : async () => null,
162
- implementation: this.#semantic?.implementation
163
- ? (...args) => this.#semantic?.implementation?.(...args)
164
- : async () => null,
165
- documentSymbols: this.#semantic?.documentSymbols
166
- ? (...args) => this.#semantic?.documentSymbols?.(...args)
167
- : async () => [],
168
- workspaceSymbols: this.#semantic?.workspaceSymbols
169
- ? (...args) => this.#semantic?.workspaceSymbols?.(...args)
170
- : async () => [],
171
- hover: this.#semantic?.hover ? (...args) => this.#semantic?.hover?.(...args) : undefined,
172
- definition: this.#semantic?.definition
173
- ? (...args) => this.#semantic?.definition?.(...args)
174
- : undefined,
175
- codeActions: this.#semantic?.codeActions
176
- ? (...args) => this.#semantic?.codeActions?.(...args)
177
- : undefined,
178
- codeActionTitles: this.#semantic?.codeActionTitles
179
- ? (...args) => this.#semantic?.codeActionTitles?.(...args)
180
- : undefined,
181
- rename: this.#semantic?.rename ? (...args) => this.#semantic?.rename?.(...args) : undefined,
182
- refactor: this.#semantic?.refactor
183
- ? (...args) => this.#semantic?.refactor?.(...args)
184
- : undefined,
185
- // Structural pass-through
186
- calleesAt: this.#structural?.calleesAt
187
- ? (...args) => this.#structural?.calleesAt?.(...args)
188
- : async () => ({ kind: "unavailable" as const, message: "no test structural" }),
189
- exports: this.#structural?.exports
190
- ? (...args) => this.#structural?.exports?.(...args)
191
- : async () => ({ kind: "unavailable" as const, message: "no test structural" }),
192
- outline: this.#structural?.outline
193
- ? (...args) => this.#structural?.outline?.(...args)
194
- : async () => ({ kind: "unavailable" as const, message: "no test structural" }),
195
- imports: this.#structural?.imports
196
- ? (...args) => this.#structural?.imports?.(...args)
197
- : async () => ({ kind: "unavailable" as const, message: "no test structural" }),
198
- nodeAt: this.#structural?.nodeAt
199
- ? (...args) => this.#structural?.nodeAt?.(...args)
200
- : async () => ({ kind: "unavailable" as const, message: "no test structural" }),
201
- callSites: this.#structural?.callSites
202
- ? (...args) => this.#structural?.callSites?.(...args)
203
- : async () => ({ kind: "unavailable" as const, message: "no test structural" }),
204
- } as CodeProvider;
205
- }
206
-
207
- getSemanticProvider(_cwd: string): SemanticProvider | null {
208
- return this.#semantic;
209
- }
210
-
211
- getStructuralProvider(_cwd: string): StructuralProvider | null {
212
- return this.#structural;
115
+ getCapabilityStates(cwd: string): {
116
+ semantic: CapabilityState;
117
+ structural: CapabilityState;
118
+ } {
119
+ const workspace = getDefaultWorkspaceRuntime().getWorkspace(cwd);
120
+ return { semantic: workspace.semantic.state, structural: workspace.structural.state };
213
121
  }
214
122
 
215
- async ensureSemanticReadiness(_cwd: string, _scope: ReadinessScope): Promise<ReadinessOutcome> {
216
- return this.#readiness;
123
+ getLspRuntimeState(cwd: string): WorkspaceLspRuntimeState {
124
+ return getWorkspaceLspRuntime(cwd);
217
125
  }
218
126
  }
@@ -0,0 +1,38 @@
1
+ import type { CodeSymbol } from "@mrclrchtr/supi-code-runtime/api";
2
+ import type { StructuredPatternResult } from "../analysis/search/pattern.ts";
3
+ import type { CodeFindAstKind } from "../tool/find/ast-kinds.ts";
4
+ import type { CodeFindMode } from "../tool/find/modes.ts";
5
+
6
+ export type FindMode = CodeFindMode;
7
+
8
+ export interface FindWorkflowInput {
9
+ readonly query: string;
10
+ readonly scope?: readonly string[];
11
+ readonly mode: FindMode;
12
+ readonly kind?: CodeFindAstKind;
13
+ readonly maxResults?: number;
14
+ }
15
+
16
+ export type FindWorkflowData =
17
+ | {
18
+ readonly kind: "ast";
19
+ readonly astKind: CodeFindAstKind;
20
+ readonly result: Readonly<StructuredPatternResult>;
21
+ }
22
+ | {
23
+ readonly kind: "semantic";
24
+ readonly symbols: readonly CodeSymbol[];
25
+ readonly partialReason: string | null;
26
+ };
27
+
28
+ export type FindWorkflowOutcome =
29
+ | {
30
+ readonly kind: "completed";
31
+ readonly query: string;
32
+ readonly mode: FindMode;
33
+ readonly scopeLabel: string;
34
+ readonly maxResults: number;
35
+ readonly data: FindWorkflowData;
36
+ }
37
+ | { readonly kind: "invalid-input"; readonly message: string }
38
+ | { readonly kind: "unavailable"; readonly reason: string };