@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
@@ -1,8 +1,9 @@
1
1
  /**
2
- * Workspace code-intelligence session facade.
2
+ * Workspace code-intelligence session.
3
3
  *
4
- * Per-workspace facade that owns session-scoped state (targets, plans,
5
- * coverage warnings) and provides typed workflow methods for all
4
+ *
5
+ * Per-workspace module that owns session-scoped state (targets, plans,
6
+ * Capability Warnings) and provides typed workflow methods for all
6
7
  * public code_* tools. Tool executors receive this session explicitly
7
8
  * through their execution context; the session centralizes provider
8
9
  * access, target resolution, plan management, and readiness policy.
@@ -15,19 +16,35 @@
15
16
  * @mrclrchtr/supi-code-intelligence — internal, not exported via api.ts
16
17
  */
17
18
 
19
+ import { realpathSync } from "node:fs";
18
20
  import * as path from "node:path";
19
21
  import type { SessionEntry } from "@earendil-works/pi-coding-agent";
20
- import {
21
- getDefaultWorkspaceRuntime,
22
- type SemanticProvider,
23
- type StructuralProvider,
24
- } from "@mrclrchtr/supi-code-runtime/api";
25
22
  import type { LspRuntimeController } from "@mrclrchtr/supi-lsp/api";
26
- import { CoverageWarningState } from "../analysis/coverage/coverage-warnings.ts";
27
- import type { CodeProvider } from "../analysis/provider.ts";
28
- import { getCodeProvider } from "../analysis/provider.ts";
29
23
  import { type CapabilityAdapter, WorkspaceCapabilityAdapter } from "./capability-adapter.ts";
24
+ import type { FindWorkflowInput, FindWorkflowOutcome } from "./find-types.ts";
25
+ import { runFindWorkflow } from "./find-workflow.ts";
26
+ import type { GraphWorkflowInput, GraphWorkflowOutcome } from "./graph-types.ts";
27
+ import { runGraphWorkflow } from "./graph-workflow.ts";
28
+ import type {
29
+ HealthRefreshAttempt,
30
+ HealthWorkflowInput,
31
+ HealthWorkflowOutcome,
32
+ } from "./health-types.ts";
33
+ import { runHealthWorkflow } from "./health-workflow.ts";
34
+ import { parseResolveRequest } from "./input/common.ts";
35
+ import type { InspectWorkflowInput, InspectWorkflowOutcome } from "./inspect-types.ts";
36
+ import { runInspectWorkflow } from "./inspect-workflow.ts";
37
+ import type { OrientationWorkflowInput, OrientationWorkflowOutcome } from "./orientation-types.ts";
38
+ import { runOrientationWorkflow } from "./orientation-workflow.ts";
30
39
  import { getPlan, type RefactorPlan, removePlan, storePlan } from "./refactor-plans.ts";
40
+ import type {
41
+ RefactorApplyWorkflowInput,
42
+ RefactorApplyWorkflowOutcome,
43
+ RefactorPlanWorkflowInput,
44
+ RefactorPlanWorkflowOutcome,
45
+ } from "./refactor-types.ts";
46
+ import { runRefactorApplyWorkflow, runRefactorPlanWorkflow } from "./refactor-workflow.ts";
47
+ import type { ResolveTargetInput, TargetInput } from "./target-input.ts";
31
48
  import {
32
49
  getWorkflowTarget,
33
50
  registerWorkflowTarget,
@@ -38,43 +55,70 @@ import {
38
55
  } from "./target-store.ts";
39
56
  import {
40
57
  resolveTargetWorkflow,
41
- type TargetWorkflowInput,
42
58
  type TargetWorkflowOutcome,
43
59
  type TargetWorkflowPolicy,
44
60
  } from "./target-workflow.ts";
61
+ import { reportProgress, throwIfAborted, type WorkflowControl } from "./workflow-control.ts";
45
62
 
46
63
  // ── Re-export types consumed by callers ───────────────────────────────
47
64
 
48
- export type { CoverageWarningState } from "../analysis/coverage/coverage-warnings.ts";
49
- export type { CodeProvider, CodeProviderState } from "../analysis/provider.ts";
50
65
  export type { CapabilityAdapter } from "./capability-adapter.ts";
66
+ export type {
67
+ FindMode,
68
+ FindWorkflowData,
69
+ FindWorkflowInput,
70
+ FindWorkflowOutcome,
71
+ } from "./find-types.ts";
72
+ export type {
73
+ GraphRelationKind,
74
+ GraphSection,
75
+ GraphWorkflowInput,
76
+ GraphWorkflowOutcome,
77
+ RequestedGraphRelation,
78
+ } from "./graph-types.ts";
79
+ export type {
80
+ HealthData,
81
+ HealthSection,
82
+ HealthWorkflowInput,
83
+ HealthWorkflowOutcome,
84
+ } from "./health-types.ts";
85
+ export type {
86
+ InspectResultData,
87
+ InspectWorkflowInput,
88
+ InspectWorkflowOutcome,
89
+ } from "./inspect-types.ts";
90
+ export type {
91
+ OrientationFocusInput,
92
+ OrientationWorkflowInput,
93
+ OrientationWorkflowOutcome,
94
+ } from "./orientation-types.ts";
51
95
  export type { RefactorPlan } from "./refactor-plans.ts";
96
+ export type {
97
+ PublicSourceRange,
98
+ RefactorApplyWorkflowInput,
99
+ RefactorApplyWorkflowOutcome,
100
+ RefactorOperationInput,
101
+ RefactorPlanWorkflowInput,
102
+ RefactorPlanWorkflowOutcome,
103
+ } from "./refactor-types.ts";
104
+ export type {
105
+ GraphTargetInput,
106
+ OrientationTargetInput,
107
+ RefactorTargetInput,
108
+ ResolveTargetInput,
109
+ SourcePointInput,
110
+ SymbolTargetInput,
111
+ TargetInput,
112
+ TargetSymbolKind,
113
+ } from "./target-input.ts";
52
114
  export type {
53
115
  TargetLookupResult,
54
116
  TargetRegistrationInput,
55
117
  TargetRegistrationOutput,
56
118
  TargetStoreEntry,
57
119
  } from "./target-store.ts";
58
- export type {
59
- TargetWorkflowInput,
60
- TargetWorkflowOutcome,
61
- TargetWorkflowPolicy,
62
- } from "./target-workflow.ts";
63
-
64
- // ── Target ID expansion result ────────────────────────────────────────
65
-
66
- export type TargetIdExpansionResult =
67
- | {
68
- kind: "ok";
69
- file: string;
70
- line: number;
71
- character: number;
72
- targetName: string | null;
73
- targetKind: string | null;
74
- entry: TargetStoreEntry;
75
- }
76
- | { kind: "not-provided" }
77
- | { kind: "error"; message: string };
120
+ export type { TargetWorkflowOutcome, TargetWorkflowPolicy } from "./target-workflow.ts";
121
+ export type { WorkflowControl, WorkflowProgressEvent } from "./workflow-control.ts";
78
122
 
79
123
  // ── Session class ─────────────────────────────────────────────────────
80
124
 
@@ -93,7 +137,10 @@ export class WorkspaceCodeIntelligenceSession {
93
137
  readonly #capability: CapabilityAdapter;
94
138
 
95
139
  /** Whether the hidden architecture overview has been injected. */
96
- hasInjectedOverview = false;
140
+ #hasInjectedOverview = false;
141
+
142
+ /** Most recent explicit diagnostic refresh attempt, including its established outcome. */
143
+ #lastHealthRefreshAttempt: HealthRefreshAttempt | null = null;
97
144
 
98
145
  /** Session-scoped workflow target storage (targetId → entry). */
99
146
  readonly #workflowTargets = new Map<string, TargetStoreEntry>();
@@ -101,53 +148,189 @@ export class WorkspaceCodeIntelligenceSession {
101
148
  /** Session-scoped refactor plan storage (planId → plan). */
102
149
  readonly #refactorPlans = new Map<string, RefactorPlan>();
103
150
 
104
- /**
105
- * Coverage warning state for deduplication and grace-period timing.
106
- */
107
- readonly coverageWarningState = new CoverageWarningState();
108
-
109
151
  /** Absolute instruction files already loaded by PI's native context-file mechanism. */
110
- readonly nativeInstructionPaths = new Set<string>();
152
+ readonly #nativeInstructionPaths = new Set<string>();
111
153
 
112
154
  /** Absolute directories whose instruction files were already surfaced by code_orientation. */
113
- readonly surfacedInstructionDirs = new Set<string>();
155
+ readonly #surfacedInstructionDirs = new Set<string>();
114
156
 
115
157
  /**
116
158
  * Optional LSP controller reference — attached by LSP lifecycle module
117
- * for coverage evaluation and server management.
159
+ * for Capability Warning evaluation and server management.
118
160
  */
119
- lspController: LspRuntimeController | null = null;
161
+ #lspController: LspRuntimeController | null = null;
120
162
 
121
- /**
122
- * Optional Tree-sitter controller reference — attached by TS lifecycle
123
- * module for structural provider lifecycle management.
124
- */
125
- tsController: import("@mrclrchtr/supi-tree-sitter/api").TreeSitterRuntimeController | null = null;
163
+ /** Workspace sentinel snapshot for change detection across explicit queries. */
164
+ #sentinelSnapshot: Map<string, number> = new Map();
165
+
166
+ /** Whether the project owning this session is trusted for config loading. */
167
+ #projectTrusted = false;
126
168
 
127
169
  constructor(cwd: string, capability?: CapabilityAdapter) {
128
170
  this.cwd = cwd;
129
171
  this.#capability = capability ?? new WorkspaceCapabilityAdapter();
130
172
  }
131
173
 
174
+ /** Record whether project-local configuration may be read for this session. */
175
+ setProjectTrusted(trusted: boolean): void {
176
+ this.#projectTrusted = trusted;
177
+ }
178
+
179
+ /** Attach lifecycle-owned LSP state without exposing it to Tool adapters. */
180
+ attachLspController(controller: LspRuntimeController | null): void {
181
+ this.#lspController = controller;
182
+ }
183
+
184
+ /**
185
+ * Seed the sentinel snapshot from lifecycle-owned state after session start.
186
+ * Called by the extension entry point after LSP initialization.
187
+ */
188
+ seedSentinelSnapshot(snapshot: Map<string, number>): void {
189
+ this.#sentinelSnapshot = snapshot;
190
+ }
191
+
192
+ /** Restore overview state from the active session branch. */
193
+ restoreOverviewInjection(): void {
194
+ this.#hasInjectedOverview = true;
195
+ }
196
+
197
+ /** Atomically claim first-turn overview injection for this workspace session. */
198
+ claimOverviewInjection(): boolean {
199
+ if (this.#hasInjectedOverview) return false;
200
+ this.#hasInjectedOverview = true;
201
+ return true;
202
+ }
203
+
132
204
  // ── Target workflow (deep seam) ───────────────────────────────────
133
205
 
134
206
  /**
135
207
  * Resolve target input into an immutable resolved target.
136
208
  *
137
- * This is the deep module interface. Tool executors call this instead
138
- * of `expandTargetId` or direct `resolveTarget`/`resolveAnchoredSymbolTarget`
139
- * calls. Returns typed outcomes — no markdown, no mutated params.
209
+ * This is the deep module interface. Tool executors use it instead of
210
+ * bypassing session policy through one-off target adapters. Returns typed
211
+ * outcomes — no markdown and no mutated parameters.
140
212
  */
141
213
  async resolveTarget(
142
- input: TargetWorkflowInput,
214
+ input: TargetInput,
143
215
  policy: TargetWorkflowPolicy,
144
216
  ): Promise<TargetWorkflowOutcome> {
145
- return resolveTargetWorkflow(input, policy, {
217
+ return resolveTargetWorkflow(input, policy, this.targetWorkflowDeps());
218
+ }
219
+
220
+ /** Resolve one public target source and register its session-scoped handle. */
221
+ async resolve(
222
+ input: { readonly target: ResolveTargetInput; readonly maxResults?: number },
223
+ control?: WorkflowControl,
224
+ ): Promise<TargetWorkflowOutcome> {
225
+ const parsed = parseResolveRequest(input);
226
+ if (parsed.kind === "invalid-input") return parsed;
227
+ const request = parsed.value;
228
+ throwIfAborted(control);
229
+ reportProgress(control, {
230
+ intent: "resolve",
231
+ phase: "target",
232
+ message: "Resolving target evidence",
233
+ });
234
+ return resolveTargetWorkflow(
235
+ request.target,
236
+ {
237
+ fileLevelAllowed: true,
238
+ nameAnchorRequired: false,
239
+ maxResults: request.maxResults,
240
+ },
241
+ this.targetWorkflowDeps(),
242
+ );
243
+ }
244
+
245
+ /** Collect evidence-backed workspace health facts. */
246
+ async health(
247
+ input: HealthWorkflowInput,
248
+ control?: WorkflowControl,
249
+ ): Promise<HealthWorkflowOutcome> {
250
+ return runHealthWorkflow(
251
+ input,
252
+ {
253
+ cwd: this.cwd,
254
+ capability: this.#capability,
255
+ lspController: this.#lspController,
256
+ lastRefreshAttempt: this.#lastHealthRefreshAttempt,
257
+ trackRefreshAttempt: (attempt) => {
258
+ this.#lastHealthRefreshAttempt = attempt;
259
+ },
260
+ sentinelSnapshot: this.#sentinelSnapshot,
261
+ },
262
+ control,
263
+ );
264
+ }
265
+
266
+ /** Search one explicit structural or semantic substrate. */
267
+ async find(input: FindWorkflowInput, control?: WorkflowControl): Promise<FindWorkflowOutcome> {
268
+ return runFindWorkflow(input, { cwd: this.cwd, capability: this.#capability }, control);
269
+ }
270
+
271
+ /** Orient around the workspace or one exact focus. */
272
+ async orient(
273
+ input: OrientationWorkflowInput,
274
+ control?: WorkflowControl,
275
+ ): Promise<OrientationWorkflowOutcome> {
276
+ return runOrientationWorkflow(
277
+ input,
278
+ {
279
+ ...this.targetWorkflowDeps(),
280
+ nativeInstructionPaths: this.#nativeInstructionPaths,
281
+ surfacedInstructionDirs: this.#surfacedInstructionDirs,
282
+ markInstructionDirsSurfaced: (directories) => this.markInstructionDirsSurfaced(directories),
283
+ projectTrusted: this.#projectTrusted,
284
+ },
285
+ control,
286
+ );
287
+ }
288
+
289
+ /** Plan one precise semantic refactor without mutating files. */
290
+ async planRefactor(
291
+ input: RefactorPlanWorkflowInput,
292
+ control?: WorkflowControl,
293
+ ): Promise<RefactorPlanWorkflowOutcome> {
294
+ return runRefactorPlanWorkflow(input, this.refactorWorkflowDeps(), control);
295
+ }
296
+
297
+ /** Revalidate and apply one stored refactor plan. */
298
+ async applyRefactor(
299
+ input: RefactorApplyWorkflowInput,
300
+ control?: WorkflowControl,
301
+ ): Promise<RefactorApplyWorkflowOutcome> {
302
+ return runRefactorApplyWorkflow(input, this.refactorWorkflowDeps(), control);
303
+ }
304
+
305
+ /** Inspect one exact source point with available semantic and structural evidence. */
306
+ async inspect(
307
+ input: InspectWorkflowInput,
308
+ control?: WorkflowControl,
309
+ ): Promise<InspectWorkflowOutcome> {
310
+ return runInspectWorkflow(input, { cwd: this.cwd, capability: this.#capability }, control);
311
+ }
312
+
313
+ /** Collect evidence-backed relations for one exact target. */
314
+ async graph(input: GraphWorkflowInput, control?: WorkflowControl): Promise<GraphWorkflowOutcome> {
315
+ return runGraphWorkflow(input, this.targetWorkflowDeps(), control);
316
+ }
317
+
318
+ private refactorWorkflowDeps() {
319
+ return {
320
+ ...this.targetWorkflowDeps(),
321
+ storePlan: (plan: RefactorPlan) => this.#storePlan(plan),
322
+ getPlan: (id: string) => this.#getPlan(id),
323
+ removePlan: (id: string) => this.#removePlan(id),
324
+ };
325
+ }
326
+
327
+ private targetWorkflowDeps() {
328
+ return {
146
329
  cwd: this.cwd,
147
330
  capability: this.#capability,
148
- lookupTargetId: (id) => this.lookupTargetId(id),
149
- registerTarget: (inp) => this.registerTarget(inp),
150
- });
331
+ lookupTargetId: (id: string) => this.#lookupTargetId(id),
332
+ registerTarget: (input: TargetRegistrationInput) => this.#registerTarget(input),
333
+ };
151
334
  }
152
335
 
153
336
  // ── Instruction-file state ───────────────────────────────────────
@@ -155,183 +338,73 @@ export class WorkspaceCodeIntelligenceSession {
155
338
  /** Remember instruction/context file paths already loaded by PI natively. */
156
339
  captureNativeInstructionPaths(files: Array<{ path: string }>): void {
157
340
  for (const file of files) {
158
- this.nativeInstructionPaths.add(path.resolve(this.cwd, file.path));
341
+ const resolved = path.resolve(this.cwd, file.path);
342
+ // Resolve to real path so dedup aligns with the realpath-aware
343
+ // instruction-file lookup in findInstructionFilesForDirectory.
344
+ try {
345
+ this.#nativeInstructionPaths.add(path.resolve(realpathSync(resolved)));
346
+ } catch {
347
+ this.#nativeInstructionPaths.add(resolved);
348
+ }
159
349
  }
160
350
  }
161
351
 
162
352
  /** Mark directory-local instruction files as surfaced after a successful orientation render. */
163
353
  markInstructionDirsSurfaced(directories: string[]): void {
164
354
  for (const directory of directories) {
165
- this.surfacedInstructionDirs.add(path.resolve(this.cwd, directory));
355
+ this.#surfacedInstructionDirs.add(path.resolve(this.cwd, directory));
166
356
  }
167
357
  }
168
358
 
169
359
  /** Clear instruction-file dedup state after compaction. */
170
360
  resetSurfacedInstructionDirs(): void {
171
- this.surfacedInstructionDirs.clear();
361
+ this.#surfacedInstructionDirs.clear();
172
362
  }
173
363
 
174
364
  /** Reconstruct surfaced instruction directories from branch tool-result details after compaction. */
175
365
  reconstructInstructionState(branch: SessionEntry[]): void {
176
- this.surfacedInstructionDirs.clear();
366
+ this.#surfacedInstructionDirs.clear();
177
367
  const entries = entriesAfterLatestCompaction(branch);
178
368
  for (const entry of entries) {
179
369
  for (const directory of extractInstructionDirectories(entry)) {
180
- this.surfacedInstructionDirs.add(path.resolve(this.cwd, directory));
370
+ this.#surfacedInstructionDirs.add(path.resolve(this.cwd, directory));
181
371
  }
182
372
  }
183
373
  }
184
374
 
185
- // ── Provider access ───────────────────────────────────────────────
375
+ // ── Private session stores ───────────────────────────────────────
186
376
 
187
- /**
188
- * Get the composite code provider state for this workspace.
189
- * Combines semantic (LSP) and structural (tree-sitter) capabilities
190
- * along with LSP service state.
191
- */
192
- getProviders(): import("../analysis/provider.ts").CodeProviderState {
193
- return getCodeProvider(this.cwd);
194
- }
195
-
196
- /**
197
- * Get the ready composite code provider, or null if unavailable.
198
- */
199
- getProvider(): CodeProvider | null {
200
- const state = this.getProviders();
201
- return state.kind === "ready" ? state.provider : null;
202
- }
203
-
204
- /**
205
- * Get the semantic provider from the shared runtime.
206
- */
207
- getSemanticProvider(): SemanticProvider | null {
208
- const ws = getDefaultWorkspaceRuntime().getWorkspace(this.cwd);
209
- if (
210
- (ws.semantic.state.kind === "ready" || ws.semantic.state.kind === "pending") &&
211
- ws.semantic.provider !== null
212
- ) {
213
- return ws.semantic.provider as SemanticProvider;
214
- }
215
- return null;
216
- }
217
-
218
- /**
219
- * Get the structural provider from the shared runtime.
220
- */
221
- getStructuralProvider(): StructuralProvider | null {
222
- const ws = getDefaultWorkspaceRuntime().getWorkspace(this.cwd);
223
- if (ws.structural.state.kind === "ready" && ws.structural.provider !== null) {
224
- return ws.structural.provider as StructuralProvider;
225
- }
226
- return null;
227
- }
228
-
229
- /**
230
- * Get the raw workspace state from the shared runtime.
231
- *
232
- * Exposes semantic/structural state and provider refs for tools
233
- * that need detailed status (e.g. code_health). Prefer higher-level
234
- * methods (`getProvider()`, `getSemanticProvider()`) when you only
235
- * need a ready provider reference.
236
- */
237
- getWorkspaceState() {
238
- return getDefaultWorkspaceRuntime().getWorkspace(this.cwd);
239
- }
240
-
241
- // ── Target resolution ─────────────────────────────────────────────
242
-
243
- /**
244
- * Look up a stored target by targetId in this session's store.
245
- */
246
- lookupTargetId(targetId: string): TargetLookupResult {
377
+ #lookupTargetId(targetId: string): TargetLookupResult {
247
378
  return getWorkflowTarget(this.#workflowTargets, targetId);
248
379
  }
249
380
 
250
- /**
251
- * Register a resolved target in this session's store and return
252
- * stable session-scoped handles.
253
- */
254
- registerTarget(input: TargetRegistrationInput): TargetRegistrationOutput {
381
+ #registerTarget(input: TargetRegistrationInput): TargetRegistrationOutput {
255
382
  return registerWorkflowTarget(this.#workflowTargets, this.cwd, input);
256
383
  }
257
384
 
258
- /**
259
- * Expand an optional targetId from tool params into anchored
260
- * file/line/character.
261
- *
262
- * Usage at the top of each target-oriented executor:
263
- *
264
- * ```ts
265
- * const expansion = session.expandTargetId(params);
266
- * if (expansion.kind === "error") return errorResult(expansion.message);
267
- * if (expansion.kind === "ok") {
268
- * params.file = expansion.file;
269
- * params.line = expansion.line;
270
- * params.character = expansion.character;
271
- * }
272
- * ```
273
- */
274
- expandTargetId(params: {
275
- targetId?: string;
276
- file?: string;
277
- line?: number;
278
- character?: number;
279
- symbol?: string;
280
- }): TargetIdExpansionResult {
281
- return expandSessionTargetId(this, params);
282
- }
283
-
284
- /**
285
- * Look up a targetId without expanding into file/line/character.
286
- * Returns the raw store entry or an error.
287
- */
288
- lookupTargetEntry(targetId: string): TargetLookupResult {
289
- return getWorkflowTarget(this.#workflowTargets, targetId);
290
- }
291
-
292
- // ── Plan store ────────────────────────────────────────────────────
293
-
294
- /**
295
- * Store a refactor plan and return its planId.
296
- */
297
- storePlan(plan: RefactorPlan): string {
385
+ #storePlan(plan: RefactorPlan): string {
298
386
  return storePlan(this.#refactorPlans, plan);
299
387
  }
300
388
 
301
- /**
302
- * Retrieve a plan by id, or undefined.
303
- */
304
- getPlan(id: string): RefactorPlan | undefined {
389
+ #getPlan(id: string): RefactorPlan | undefined {
305
390
  return getPlan(this.#refactorPlans, id);
306
391
  }
307
392
 
308
- /**
309
- * Remove a plan after successful apply.
310
- */
311
- removePlan(id: string): void {
393
+ #removePlan(id: string): void {
312
394
  removePlan(this.#refactorPlans, id);
313
395
  }
314
396
 
315
- // ── Introspection (for tests / debugging) ───────────────────────
316
-
317
- /** Number of stored targets (for test isolation checks). */
318
- get targetCount(): number {
319
- return this.#workflowTargets.size;
320
- }
321
-
322
- /** Number of stored refactor plans (for test isolation checks). */
323
- get planCount(): number {
324
- return this.#refactorPlans.size;
325
- }
326
-
327
397
  // ── Cleanup ───────────────────────────────────────────────────────
328
398
 
329
399
  /** Clear all session-scoped stores. */
330
400
  clearStores(): void {
331
401
  this.#refactorPlans.clear();
332
402
  this.#workflowTargets.clear();
333
- this.surfacedInstructionDirs.clear();
334
- this.nativeInstructionPaths.clear();
403
+ this.#surfacedInstructionDirs.clear();
404
+ this.#nativeInstructionPaths.clear();
405
+ this.#sentinelSnapshot.clear();
406
+ this.#lspController = null;
407
+ this.#projectTrusted = false;
335
408
  }
336
409
  }
337
410
 
@@ -359,47 +432,3 @@ function extractInstructionDirectories(entry: SessionEntry): string[] {
359
432
  .map((file) => file.directory)
360
433
  .filter((directory): directory is string => typeof directory === "string");
361
434
  }
362
-
363
- // ── Standalone target-id expansion helper ─────────────────────────────
364
-
365
- /**
366
- * Expand an optional targetId into anchored file/line/character params
367
- * using the given session's store.
368
- *
369
- * Exported separately so executors that already hold a session ref
370
- * can call it directly, without going through an ad-hoc session factory.
371
- */
372
- export function expandSessionTargetId(
373
- session: WorkspaceCodeIntelligenceSession,
374
- params: {
375
- targetId?: string;
376
- file?: string;
377
- line?: number;
378
- character?: number;
379
- symbol?: string;
380
- },
381
- ): TargetIdExpansionResult {
382
- const targetId = params.targetId;
383
- if (targetId === undefined || targetId === null) {
384
- return { kind: "not-provided" };
385
- }
386
-
387
- const result = session.lookupTargetEntry(targetId);
388
- if (result.kind === "unavailable") {
389
- return {
390
- kind: "error",
391
- message: `**Error:** ${result.reason}`,
392
- };
393
- }
394
-
395
- const { entry } = result;
396
- return {
397
- kind: "ok",
398
- file: entry.file,
399
- line: entry.displayLine,
400
- character: entry.displayCharacter,
401
- targetName: entry.name,
402
- targetKind: entry.kind,
403
- entry,
404
- };
405
- }
@@ -0,0 +1,60 @@
1
+ import { canonicalDeclarationKind } from "../analysis/target/identity.ts";
2
+ import type { TargetOutcome } from "../analysis/target/types.ts";
3
+ import type {
4
+ AnchorKind,
5
+ TargetRegistrationInput,
6
+ TargetRegistrationOutput,
7
+ } from "./target-store.ts";
8
+
9
+ /** Registered candidate returned when target selection remains unresolved. */
10
+ export interface TargetWorkflowCandidate {
11
+ readonly targetId: string;
12
+ readonly name: string;
13
+ readonly kind: string | null;
14
+ readonly container: string | null;
15
+ readonly file: string;
16
+ readonly line: number;
17
+ readonly character: number;
18
+ readonly rank: number;
19
+ readonly anchorKind: AnchorKind;
20
+ }
21
+
22
+ /** Materialize only the bounded candidates already selected by the resolver. */
23
+ export function registerTargetCandidates(
24
+ candidates: Extract<TargetOutcome, { kind: "disambiguation" | "kind-mismatch" }>["candidates"],
25
+ registerTarget: (input: TargetRegistrationInput) => TargetRegistrationOutput,
26
+ ): ReadonlyArray<TargetWorkflowCandidate> {
27
+ return Object.freeze(
28
+ candidates.map((candidate) => {
29
+ const registered = registerTarget({
30
+ file: candidate.file,
31
+ position: { line: candidate.line - 1, character: candidate.character - 1 },
32
+ declarationPosition: {
33
+ line: candidate.declarationAnchor.line - 1,
34
+ character: candidate.declarationAnchor.character - 1,
35
+ },
36
+ declarationOccurrence: candidate.declarationOccurrence,
37
+ displayLine: candidate.line,
38
+ displayCharacter: candidate.character,
39
+ name: candidate.name,
40
+ kind: candidate.kind,
41
+ identityKind: candidate.identityKind ?? canonicalDeclarationKind(candidate.kind),
42
+ confidence: "semantic",
43
+ provenance: candidate.provenance ?? ["semantic"],
44
+ anchorKind: candidate.anchorKind,
45
+ container: candidate.container,
46
+ });
47
+ return Object.freeze({
48
+ targetId: registered.targetId,
49
+ name: candidate.name,
50
+ kind: candidate.kind,
51
+ container: candidate.container,
52
+ file: candidate.file,
53
+ line: candidate.line,
54
+ character: candidate.character,
55
+ rank: candidate.rank,
56
+ anchorKind: candidate.anchorKind,
57
+ });
58
+ }),
59
+ );
60
+ }