@mrclrchtr/supi-code-intelligence 3.2.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (556) hide show
  1. package/README.md +154 -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/package.json +2 -2
  10. package/node_modules/@mrclrchtr/supi-code-runtime/src/api.ts +10 -1
  11. package/node_modules/@mrclrchtr/supi-code-runtime/src/capability/types.ts +19 -29
  12. package/node_modules/@mrclrchtr/supi-code-runtime/src/index.ts +7 -1
  13. package/node_modules/@mrclrchtr/supi-code-runtime/src/query-result.ts +42 -0
  14. package/node_modules/@mrclrchtr/supi-code-runtime/src/types.ts +15 -10
  15. package/node_modules/@mrclrchtr/supi-core/package.json +2 -4
  16. package/node_modules/@mrclrchtr/supi-core/src/api.ts +0 -4
  17. package/node_modules/@mrclrchtr/supi-core/src/evidence-badge.ts +3 -2
  18. package/node_modules/@mrclrchtr/supi-core/src/index.ts +0 -4
  19. package/node_modules/@mrclrchtr/supi-core/src/llm.ts +0 -10
  20. package/node_modules/@mrclrchtr/supi-core/src/path-utils.ts +19 -15
  21. package/node_modules/@mrclrchtr/supi-lsp/README.md +72 -62
  22. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/README.md +8 -0
  23. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/package.json +2 -4
  24. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/api.ts +0 -4
  25. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/evidence-badge.ts +3 -2
  26. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/index.ts +0 -4
  27. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/llm.ts +0 -10
  28. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path-utils.ts +19 -15
  29. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/package.json +2 -2
  30. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/api.ts +10 -1
  31. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/capability/types.ts +19 -29
  32. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/index.ts +7 -1
  33. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/query-result.ts +42 -0
  34. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/types.ts +15 -10
  35. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/package.json +2 -4
  36. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/api.ts +0 -4
  37. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/evidence-badge.ts +3 -2
  38. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/index.ts +0 -4
  39. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/llm.ts +0 -10
  40. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/path-utils.ts +19 -15
  41. package/node_modules/@mrclrchtr/supi-lsp/package.json +4 -5
  42. package/node_modules/@mrclrchtr/supi-lsp/src/api.ts +9 -9
  43. package/node_modules/@mrclrchtr/supi-lsp/src/client/client.ts +70 -41
  44. package/node_modules/@mrclrchtr/supi-lsp/src/client/transport.ts +16 -13
  45. package/node_modules/@mrclrchtr/supi-lsp/src/config/config.ts +2 -2
  46. package/node_modules/@mrclrchtr/supi-lsp/src/config/lsp-settings.ts +0 -2
  47. package/node_modules/@mrclrchtr/supi-lsp/src/index.ts +6 -6
  48. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-diagnostics.ts +5 -95
  49. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-workspace-recovery.ts +4 -3
  50. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-workspace-symbol.ts +44 -6
  51. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager.ts +47 -65
  52. package/node_modules/@mrclrchtr/supi-lsp/src/provider/lsp-semantic-provider.ts +132 -79
  53. package/node_modules/@mrclrchtr/supi-lsp/src/provider/refactor-planning.ts +6 -14
  54. package/node_modules/@mrclrchtr/supi-lsp/src/session/readiness.ts +38 -0
  55. package/node_modules/@mrclrchtr/supi-lsp/src/session/runtime-controller.ts +87 -75
  56. package/node_modules/@mrclrchtr/supi-lsp/src/session/runtime-registration.ts +5 -5
  57. package/node_modules/@mrclrchtr/supi-lsp/src/session/{service-registry.ts → runtime-registry.ts} +163 -71
  58. package/node_modules/@mrclrchtr/supi-tree-sitter/README.md +4 -0
  59. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/README.md +8 -0
  60. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/package.json +2 -4
  61. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/api.ts +0 -4
  62. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/evidence-badge.ts +3 -2
  63. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/index.ts +0 -4
  64. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/llm.ts +0 -10
  65. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path-utils.ts +19 -15
  66. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/package.json +2 -2
  67. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/api.ts +10 -1
  68. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/capability/types.ts +19 -29
  69. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/index.ts +7 -1
  70. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/query-result.ts +42 -0
  71. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/types.ts +15 -10
  72. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/package.json +2 -4
  73. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/api.ts +0 -4
  74. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/evidence-badge.ts +3 -2
  75. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/index.ts +0 -4
  76. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/llm.ts +0 -10
  77. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/path-utils.ts +19 -15
  78. package/node_modules/@mrclrchtr/supi-tree-sitter/package.json +4 -21
  79. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/bash/tree-sitter-bash.wasm +0 -0
  80. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/bash/tree-sitter-bash.wasm.json +2 -2
  81. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/c/tree-sitter-c.wasm +0 -0
  82. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/c/tree-sitter-c.wasm.json +2 -2
  83. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/go/tree-sitter-go.wasm +0 -0
  84. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/go/tree-sitter-go.wasm.json +2 -2
  85. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/javascript/tree-sitter-javascript.wasm +0 -0
  86. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/javascript/tree-sitter-javascript.wasm.json +2 -2
  87. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/kotlin/tree-sitter-kotlin.wasm +0 -0
  88. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/kotlin/tree-sitter-kotlin.wasm.json +2 -2
  89. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/python/tree-sitter-python.wasm +0 -0
  90. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/python/tree-sitter-python.wasm.json +2 -2
  91. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/r/tree-sitter-r.wasm +0 -0
  92. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/r/tree-sitter-r.wasm.json +2 -2
  93. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/rust/tree-sitter-rust.wasm.json +1 -1
  94. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/sql/tree-sitter-sql.wasm +0 -0
  95. package/node_modules/@mrclrchtr/supi-tree-sitter/resources/grammars/sql/tree-sitter-sql.wasm.json +3 -3
  96. package/node_modules/@mrclrchtr/supi-tree-sitter/scripts/generate-kotlin-wasm.mjs +6 -0
  97. package/node_modules/@mrclrchtr/supi-tree-sitter/scripts/generate-sql-wasm.mjs +18 -4
  98. package/node_modules/@mrclrchtr/supi-tree-sitter/scripts/vendor-wasm.mjs +17 -1
  99. package/node_modules/@mrclrchtr/supi-tree-sitter/src/api.ts +2 -0
  100. package/node_modules/@mrclrchtr/supi-tree-sitter/src/coordinates.ts +20 -41
  101. package/node_modules/@mrclrchtr/supi-tree-sitter/src/index.ts +2 -0
  102. package/node_modules/@mrclrchtr/supi-tree-sitter/src/language.ts +7 -0
  103. package/node_modules/@mrclrchtr/supi-tree-sitter/src/operation-support.ts +40 -0
  104. package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/session.ts +9 -7
  105. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/call-sites.ts +6 -1
  106. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/callees.ts +76 -37
  107. package/node_modules/yaml/LICENSE +13 -0
  108. package/node_modules/yaml/README.md +172 -0
  109. package/node_modules/yaml/bin.mjs +11 -0
  110. package/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
  111. package/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
  112. package/node_modules/yaml/browser/dist/compose/compose-node.js +109 -0
  113. package/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
  114. package/node_modules/yaml/browser/dist/compose/composer.js +219 -0
  115. package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
  116. package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
  117. package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
  118. package/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
  119. package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
  120. package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +225 -0
  121. package/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
  122. package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
  123. package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
  124. package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
  125. package/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
  126. package/node_modules/yaml/browser/dist/doc/Document.js +335 -0
  127. package/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
  128. package/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
  129. package/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
  130. package/node_modules/yaml/browser/dist/doc/directives.js +176 -0
  131. package/node_modules/yaml/browser/dist/errors.js +57 -0
  132. package/node_modules/yaml/browser/dist/index.js +17 -0
  133. package/node_modules/yaml/browser/dist/log.js +11 -0
  134. package/node_modules/yaml/browser/dist/nodes/Alias.js +116 -0
  135. package/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
  136. package/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
  137. package/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
  138. package/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
  139. package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
  140. package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
  141. package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
  142. package/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
  143. package/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
  144. package/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
  145. package/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
  146. package/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
  147. package/node_modules/yaml/browser/dist/parse/cst.js +98 -0
  148. package/node_modules/yaml/browser/dist/parse/lexer.js +721 -0
  149. package/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
  150. package/node_modules/yaml/browser/dist/parse/parser.js +975 -0
  151. package/node_modules/yaml/browser/dist/public-api.js +102 -0
  152. package/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
  153. package/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
  154. package/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
  155. package/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
  156. package/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
  157. package/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
  158. package/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
  159. package/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
  160. package/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
  161. package/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
  162. package/node_modules/yaml/browser/dist/schema/tags.js +96 -0
  163. package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
  164. package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
  165. package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
  166. package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
  167. package/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +67 -0
  168. package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
  169. package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
  170. package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
  171. package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
  172. package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
  173. package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
  174. package/node_modules/yaml/browser/dist/stringify/stringify.js +129 -0
  175. package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +153 -0
  176. package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
  177. package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
  178. package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +25 -0
  179. package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
  180. package/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
  181. package/node_modules/yaml/browser/dist/util.js +11 -0
  182. package/node_modules/yaml/browser/dist/visit.js +233 -0
  183. package/node_modules/yaml/browser/index.js +5 -0
  184. package/node_modules/yaml/browser/package.json +3 -0
  185. package/node_modules/yaml/dist/cli.d.ts +8 -0
  186. package/node_modules/yaml/dist/cli.mjs +201 -0
  187. package/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
  188. package/node_modules/yaml/dist/compose/compose-collection.js +90 -0
  189. package/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
  190. package/node_modules/yaml/dist/compose/compose-doc.js +45 -0
  191. package/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
  192. package/node_modules/yaml/dist/compose/compose-node.js +112 -0
  193. package/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
  194. package/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
  195. package/node_modules/yaml/dist/compose/composer.d.ts +63 -0
  196. package/node_modules/yaml/dist/compose/composer.js +224 -0
  197. package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
  198. package/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
  199. package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
  200. package/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
  201. package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
  202. package/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
  203. package/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
  204. package/node_modules/yaml/dist/compose/resolve-end.js +39 -0
  205. package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
  206. package/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
  207. package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
  208. package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +227 -0
  209. package/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
  210. package/node_modules/yaml/dist/compose/resolve-props.js +148 -0
  211. package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
  212. package/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
  213. package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
  214. package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
  215. package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
  216. package/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
  217. package/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
  218. package/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
  219. package/node_modules/yaml/dist/doc/Document.d.ts +141 -0
  220. package/node_modules/yaml/dist/doc/Document.js +337 -0
  221. package/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
  222. package/node_modules/yaml/dist/doc/anchors.js +76 -0
  223. package/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
  224. package/node_modules/yaml/dist/doc/applyReviver.js +57 -0
  225. package/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
  226. package/node_modules/yaml/dist/doc/createNode.js +90 -0
  227. package/node_modules/yaml/dist/doc/directives.d.ts +49 -0
  228. package/node_modules/yaml/dist/doc/directives.js +178 -0
  229. package/node_modules/yaml/dist/errors.d.ts +21 -0
  230. package/node_modules/yaml/dist/errors.js +62 -0
  231. package/node_modules/yaml/dist/index.d.ts +25 -0
  232. package/node_modules/yaml/dist/index.js +50 -0
  233. package/node_modules/yaml/dist/log.d.ts +3 -0
  234. package/node_modules/yaml/dist/log.js +19 -0
  235. package/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
  236. package/node_modules/yaml/dist/nodes/Alias.js +118 -0
  237. package/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
  238. package/node_modules/yaml/dist/nodes/Collection.js +151 -0
  239. package/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
  240. package/node_modules/yaml/dist/nodes/Node.js +40 -0
  241. package/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
  242. package/node_modules/yaml/dist/nodes/Pair.js +39 -0
  243. package/node_modules/yaml/dist/nodes/Scalar.d.ts +47 -0
  244. package/node_modules/yaml/dist/nodes/Scalar.js +27 -0
  245. package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
  246. package/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
  247. package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
  248. package/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
  249. package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
  250. package/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
  251. package/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
  252. package/node_modules/yaml/dist/nodes/identity.js +53 -0
  253. package/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
  254. package/node_modules/yaml/dist/nodes/toJS.js +39 -0
  255. package/node_modules/yaml/dist/options.d.ts +350 -0
  256. package/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
  257. package/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
  258. package/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
  259. package/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
  260. package/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
  261. package/node_modules/yaml/dist/parse/cst-visit.js +99 -0
  262. package/node_modules/yaml/dist/parse/cst.d.ts +109 -0
  263. package/node_modules/yaml/dist/parse/cst.js +112 -0
  264. package/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
  265. package/node_modules/yaml/dist/parse/lexer.js +723 -0
  266. package/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
  267. package/node_modules/yaml/dist/parse/line-counter.js +41 -0
  268. package/node_modules/yaml/dist/parse/parser.d.ts +84 -0
  269. package/node_modules/yaml/dist/parse/parser.js +980 -0
  270. package/node_modules/yaml/dist/public-api.d.ts +44 -0
  271. package/node_modules/yaml/dist/public-api.js +107 -0
  272. package/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
  273. package/node_modules/yaml/dist/schema/Schema.js +39 -0
  274. package/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
  275. package/node_modules/yaml/dist/schema/common/map.js +19 -0
  276. package/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
  277. package/node_modules/yaml/dist/schema/common/null.js +17 -0
  278. package/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
  279. package/node_modules/yaml/dist/schema/common/seq.js +19 -0
  280. package/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
  281. package/node_modules/yaml/dist/schema/common/string.js +16 -0
  282. package/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
  283. package/node_modules/yaml/dist/schema/core/bool.js +21 -0
  284. package/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
  285. package/node_modules/yaml/dist/schema/core/float.js +47 -0
  286. package/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
  287. package/node_modules/yaml/dist/schema/core/int.js +42 -0
  288. package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
  289. package/node_modules/yaml/dist/schema/core/schema.js +25 -0
  290. package/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
  291. package/node_modules/yaml/dist/schema/json/schema.js +64 -0
  292. package/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
  293. package/node_modules/yaml/dist/schema/tags.d.ts +48 -0
  294. package/node_modules/yaml/dist/schema/tags.js +99 -0
  295. package/node_modules/yaml/dist/schema/types.d.ts +92 -0
  296. package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
  297. package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
  298. package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
  299. package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
  300. package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
  301. package/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
  302. package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
  303. package/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
  304. package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
  305. package/node_modules/yaml/dist/schema/yaml-1.1/merge.js +71 -0
  306. package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
  307. package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
  308. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
  309. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
  310. package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
  311. package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
  312. package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
  313. package/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
  314. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
  315. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
  316. package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
  317. package/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
  318. package/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
  319. package/node_modules/yaml/dist/stringify/stringify.js +132 -0
  320. package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
  321. package/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
  322. package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
  323. package/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
  324. package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
  325. package/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
  326. package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
  327. package/node_modules/yaml/dist/stringify/stringifyNumber.js +27 -0
  328. package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
  329. package/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
  330. package/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
  331. package/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
  332. package/node_modules/yaml/dist/test-events.d.ts +4 -0
  333. package/node_modules/yaml/dist/test-events.js +134 -0
  334. package/node_modules/yaml/dist/util.d.ts +16 -0
  335. package/node_modules/yaml/dist/util.js +28 -0
  336. package/node_modules/yaml/dist/visit.d.ts +102 -0
  337. package/node_modules/yaml/dist/visit.js +236 -0
  338. package/node_modules/yaml/package.json +97 -0
  339. package/node_modules/yaml/util.js +2 -0
  340. package/package.json +9 -8
  341. package/src/analysis/architecture/discovery.ts +213 -227
  342. package/src/analysis/architecture/manifest.ts +147 -0
  343. package/src/analysis/architecture/model.ts +119 -52
  344. package/src/analysis/architecture/workspace-config.ts +229 -0
  345. package/src/analysis/{coverage/coverage-warnings.ts → capability/capability-warnings.ts} +41 -78
  346. package/src/analysis/evidence.ts +22 -5
  347. package/src/analysis/health/diagnostics.ts +183 -0
  348. package/src/analysis/health/recovery.ts +39 -0
  349. package/src/analysis/health/signals.ts +20 -0
  350. package/src/analysis/instruction-files.ts +60 -48
  351. package/src/analysis/provider.ts +31 -12
  352. package/src/analysis/readiness.ts +29 -9
  353. package/src/{tool/refactor-apply → analysis/refactor}/apply.ts +120 -26
  354. package/src/analysis/refactor/position.ts +6 -0
  355. package/src/analysis/refactor/safety.ts +4 -11
  356. package/src/analysis/references/locations.ts +20 -0
  357. package/src/analysis/references/semantic-refs.ts +21 -11
  358. package/src/{tool/graph → analysis/relations}/implementations.ts +27 -23
  359. package/src/analysis/relations/provider-locations.ts +179 -0
  360. package/src/{tool/graph → analysis/relations}/references.ts +25 -21
  361. package/src/{tool/graph → analysis/relations}/types.ts +4 -19
  362. package/src/analysis/search/ast-scan.ts +376 -0
  363. package/src/analysis/search/call-name.ts +68 -0
  364. package/src/analysis/search/deadline.ts +84 -0
  365. package/src/analysis/search/paths.ts +88 -0
  366. package/src/analysis/search/pattern.ts +290 -246
  367. package/src/analysis/target/anchored.ts +72 -27
  368. package/src/analysis/target/file.ts +292 -132
  369. package/src/analysis/target/identity.ts +237 -0
  370. package/src/analysis/target/symbol.ts +169 -86
  371. package/src/analysis/target/types.ts +36 -4
  372. package/src/api.ts +21 -4
  373. package/src/app/app.ts +53 -46
  374. package/src/extension.ts +68 -66
  375. package/src/session/capability-adapter.ts +26 -118
  376. package/src/session/find-types.ts +38 -0
  377. package/src/session/find-workflow.ts +141 -0
  378. package/src/session/graph/collect.ts +181 -0
  379. package/src/session/graph-types.ts +77 -0
  380. package/src/session/graph-workflow.ts +152 -0
  381. package/src/session/health-types.ts +134 -0
  382. package/src/session/health-workflow.ts +341 -0
  383. package/src/session/input/common.ts +216 -0
  384. package/src/session/input/health-refactor.ts +169 -0
  385. package/src/session/input/workflows.ts +211 -0
  386. package/src/session/inspect/collect.ts +304 -0
  387. package/src/session/inspect/file-point.ts +69 -0
  388. package/src/session/inspect-types.ts +78 -0
  389. package/src/session/inspect-workflow.ts +157 -0
  390. package/src/session/orientation/collect.ts +718 -0
  391. package/src/session/orientation/context-facts.ts +319 -0
  392. package/src/session/orientation/context-sections.ts +352 -0
  393. package/src/session/orientation-types.ts +97 -0
  394. package/src/session/orientation-workflow.ts +307 -0
  395. package/src/session/refactor-plans.ts +1 -1
  396. package/src/session/refactor-types.ts +51 -0
  397. package/src/session/refactor-workflow.ts +263 -0
  398. package/src/session/session.ts +263 -234
  399. package/src/session/target-candidates.ts +60 -0
  400. package/src/session/target-input.ts +98 -0
  401. package/src/session/target-store.ts +132 -29
  402. package/src/session/target-workflow.ts +254 -302
  403. package/src/session/workflow-control.ts +35 -0
  404. package/src/substrate/lsp/lifecycle.ts +9 -22
  405. package/src/substrate/lsp/maintenance.ts +75 -0
  406. package/src/substrate/lsp/recovery.ts +41 -25
  407. package/src/substrate/lsp/settings.ts +1 -10
  408. package/src/substrate/lsp/state.ts +2 -13
  409. package/src/tool/find/ast-kinds.ts +35 -0
  410. package/src/tool/find/execute.ts +22 -113
  411. package/src/tool/find/markdown.ts +85 -221
  412. package/src/tool/find/modes.ts +5 -0
  413. package/src/tool/find/render.ts +57 -0
  414. package/src/tool/find/tui.ts +1 -1
  415. package/src/tool/graph/calls-md.ts +17 -30
  416. package/src/tool/graph/execute.ts +42 -103
  417. package/src/tool/graph/implementations-md.ts +32 -54
  418. package/src/tool/graph/markdown-base.ts +73 -196
  419. package/src/tool/graph/provider-location-md.ts +9 -0
  420. package/src/tool/graph/references-md.ts +34 -27
  421. package/src/tool/graph/tui.ts +8 -26
  422. package/src/tool/guidance.ts +31 -48
  423. package/src/tool/health/execute.ts +15 -56
  424. package/src/tool/health/markdown.ts +199 -148
  425. package/src/tool/health/semantic-state.ts +24 -0
  426. package/src/tool/health/tui.ts +262 -36
  427. package/src/tool/infra/error-results.ts +0 -2
  428. package/src/tool/infra/progress.ts +2 -2
  429. package/src/tool/infra/workflow-control.ts +11 -0
  430. package/src/tool/inspect/execute.ts +23 -63
  431. package/src/tool/inspect/markdown.ts +114 -95
  432. package/src/tool/inspect/tui.ts +7 -7
  433. package/src/tool/orientation/execute.ts +50 -37
  434. package/src/tool/orientation/markdown.ts +26 -31
  435. package/src/tool/orientation/tui.ts +41 -39
  436. package/src/tool/refactor-apply/execute.ts +23 -9
  437. package/src/tool/refactor-apply/tui.ts +7 -3
  438. package/src/tool/refactor-plan/execute.ts +44 -61
  439. package/src/tool/refactor-plan/markdown.ts +33 -56
  440. package/src/tool/refactor-plan/tui.ts +10 -11
  441. package/src/tool/register.ts +6 -5
  442. package/src/tool/resolve/execute.ts +23 -69
  443. package/src/tool/resolve/markdown.ts +125 -114
  444. package/src/tool/resolve/tui.ts +11 -9
  445. package/src/tool/result/assembly.ts +125 -0
  446. package/src/tool/result/errors.ts +20 -34
  447. package/src/tool/result/find.ts +107 -21
  448. package/src/tool/result/graph.ts +163 -64
  449. package/src/tool/result/health.ts +170 -73
  450. package/src/tool/result/inspect.ts +183 -41
  451. package/src/tool/result/orientation.ts +118 -16
  452. package/src/tool/result/refactor.ts +101 -21
  453. package/src/tool/result/resolve.ts +243 -80
  454. package/src/tool/result/types.ts +100 -56
  455. package/src/tool/schemas.ts +160 -231
  456. package/src/tool/specs.ts +57 -168
  457. package/src/types/details.ts +2 -4
  458. package/src/types/execution.ts +6 -15
  459. package/src/types/index.ts +2 -4
  460. package/src/types/tool-names.ts +1 -2
  461. package/src/ui/footer.ts +3 -3
  462. package/src/ui/markdown/gather.ts +17 -65
  463. package/src/ui/markdown/overview-data.ts +143 -21
  464. package/src/ui/markdown/overview.ts +27 -8
  465. package/src/ui/markdown/types.ts +12 -16
  466. package/src/ui/status-command.ts +39 -31
  467. package/src/ui/status-overlay.ts +23 -15
  468. package/src/ui/tui/common.ts +121 -74
  469. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/abort-utils.ts +0 -31
  470. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +0 -11
  471. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/types.ts +0 -2
  472. package/node_modules/@mrclrchtr/supi-core/src/abort-utils.ts +0 -31
  473. package/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +0 -11
  474. package/node_modules/@mrclrchtr/supi-core/src/types.ts +0 -2
  475. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/abort-utils.ts +0 -31
  476. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +0 -11
  477. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/types.ts +0 -2
  478. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/abort-utils.ts +0 -31
  479. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +0 -11
  480. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/types.ts +0 -2
  481. package/node_modules/@mrclrchtr/supi-lsp/src/diagnostics/diagnostic-augmentation.ts +0 -82
  482. package/node_modules/@mrclrchtr/supi-lsp/src/diagnostics/diagnostic-context.ts +0 -116
  483. package/node_modules/@mrclrchtr/supi-lsp/src/diagnostics/diagnostic-display.ts +0 -69
  484. package/node_modules/@mrclrchtr/supi-lsp/src/manager/capability-index.ts +0 -24
  485. package/node_modules/@mrclrchtr/supi-lsp/src/manager/client-pool.ts +0 -33
  486. package/node_modules/@mrclrchtr/supi-lsp/src/manager/diagnostic-store.ts +0 -51
  487. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-stale-resync.ts +0 -47
  488. package/node_modules/@mrclrchtr/supi-lsp/src/manager/recovery-coordinator.ts +0 -37
  489. package/node_modules/@mrclrchtr/supi-lsp/src/manager/workspace-router.ts +0 -44
  490. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/abort-utils.ts +0 -31
  491. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +0 -11
  492. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/types.ts +0 -2
  493. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/abort-utils.ts +0 -31
  494. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +0 -11
  495. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/types.ts +0 -2
  496. package/src/analysis/brief/directory.ts +0 -324
  497. package/src/analysis/brief/enrich.ts +0 -157
  498. package/src/analysis/brief/file.ts +0 -84
  499. package/src/analysis/brief/inventory.ts +0 -177
  500. package/src/analysis/brief/main.ts +0 -176
  501. package/src/analysis/brief/models.ts +0 -75
  502. package/src/analysis/brief/public-brief.ts +0 -179
  503. package/src/analysis/brief/summarize.ts +0 -208
  504. package/src/analysis/brief/types.ts +0 -27
  505. package/src/analysis/brief/use-case.ts +0 -264
  506. package/src/analysis/search/ripgrep.ts +0 -558
  507. package/src/analysis/signals/git.ts +0 -89
  508. package/src/analysis/signals/project.ts +0 -189
  509. package/src/analysis/target/bridge.ts +0 -152
  510. package/src/analysis/target/file-resolution.ts +0 -125
  511. package/src/analysis/target/planner.ts +0 -92
  512. package/src/analysis/target/query.ts +0 -74
  513. package/src/analysis/target/resolve-common.ts +0 -115
  514. package/src/analysis/target/service.ts +0 -229
  515. package/src/analysis/tests/likely-tests.ts +0 -174
  516. package/src/analysis/tests/test-discovery.ts +0 -540
  517. package/src/analysis/tests/vitest.ts +0 -87
  518. package/src/app/manager.ts +0 -65
  519. package/src/substrate/lsp/diagnostic-injection.ts +0 -203
  520. package/src/substrate/lsp/overrides.ts +0 -132
  521. package/src/tool/find/orchestrate.ts +0 -317
  522. package/src/tool/find/semantic-search.ts +0 -128
  523. package/src/tool/graph/collect-relation.ts +0 -372
  524. package/src/tool/graph/orchestrate.ts +0 -259
  525. package/src/tool/health/orchestrate.ts +0 -151
  526. package/src/tool/health/sections/diagnostics.ts +0 -182
  527. package/src/tool/health/sections/recovery.ts +0 -89
  528. package/src/tool/health/sections/signals.ts +0 -89
  529. package/src/tool/impact/analysis.ts +0 -220
  530. package/src/tool/impact/change-set-impact.ts +0 -152
  531. package/src/tool/impact/execute.ts +0 -125
  532. package/src/tool/impact/file-level-impact.ts +0 -82
  533. package/src/tool/impact/markdown.ts +0 -283
  534. package/src/tool/impact/orchestrate.ts +0 -97
  535. package/src/tool/impact/result.ts +0 -2
  536. package/src/tool/impact/single-impact.ts +0 -90
  537. package/src/tool/impact/tui.ts +0 -39
  538. package/src/tool/impact/types.ts +0 -34
  539. package/src/tool/infra/cross-field.ts +0 -335
  540. package/src/tool/infra/pipeline.ts +0 -334
  541. package/src/tool/infra/readiness-message.ts +0 -5
  542. package/src/tool/inspect/orchestrate.ts +0 -154
  543. package/src/tool/orientation/deps.ts +0 -63
  544. package/src/tool/orientation/mode.ts +0 -139
  545. package/src/tool/orientation/orchestrate.ts +0 -475
  546. package/src/tool/orientation/precise-target.ts +0 -253
  547. package/src/tool/params.ts +0 -15
  548. package/src/tool/refactor-apply/markdown.ts +0 -118
  549. package/src/tool/refactor-apply/orchestrate.ts +0 -84
  550. package/src/tool/refactor-plan/orchestrate.ts +0 -355
  551. package/src/tool/resolve/orchestrate.ts +0 -38
  552. package/src/tool/result/impact.ts +0 -50
  553. package/src/ui/markdown/brief.ts +0 -218
  554. package/src/ui/message-renderer.ts +0 -121
  555. package/src/ui/tui/index.ts +0 -37
  556. /package/src/{tool/graph → analysis/relations}/callees.ts +0 -0
@@ -4,6 +4,7 @@
4
4
  * tree-sitter) advertise what they can do.
5
5
  */
6
6
 
7
+ import type { CodeQueryResult } from "../query-result.ts";
7
8
  import type {
8
9
  CalleeDepth,
9
10
  CalleesData,
@@ -12,6 +13,7 @@ import type {
12
13
  CodePosition,
13
14
  CodeResult,
14
15
  CodeSymbol,
16
+ DocumentCodeSymbol,
15
17
  ExportData,
16
18
  ImportData,
17
19
  NodeAtData,
@@ -44,32 +46,30 @@ export type CapabilityState =
44
46
  /**
45
47
  * Semantic analysis capability backed by a language server (LSP).
46
48
  *
47
- * Methods return `null` to signal absence (unavailable / inactive) and
48
- * an array to signal a successful query (possibly empty).
49
+ * Every read query preserves whether collection completed, completed only
50
+ * partially, or was unavailable. Successful empty arrays and protocol-level
51
+ * null values are completed observations rather than capability failures.
49
52
  */
50
53
  export interface SemanticProvider {
51
- references(filePath: string, position: CodePosition): Promise<CodeLocation[] | null>;
52
- implementation(filePath: string, position: CodePosition): Promise<CodeLocation[] | null>;
53
- documentSymbols(filePath: string): Promise<CodeSymbol[] | null>;
54
- workspaceSymbols(query: string): Promise<CodeSymbol[] | null>;
54
+ references(filePath: string, position: CodePosition): Promise<CodeQueryResult<CodeLocation[]>>;
55
+ implementation(
56
+ filePath: string,
57
+ position: CodePosition,
58
+ ): Promise<CodeQueryResult<CodeLocation[]>>;
59
+ documentSymbols(filePath: string): Promise<CodeQueryResult<DocumentCodeSymbol[]>>;
60
+ workspaceSymbols(query: string): Promise<CodeQueryResult<CodeSymbol[]>>;
55
61
 
56
- /**
57
- * Optional definition capability. Returns the definition location(s) for
58
- * the symbol at the given position. When the provider cannot produce
59
- * definition info, returns `null`.
60
- */
61
- definition?(filePath: string, position: CodePosition): Promise<CodeLocation[] | null>;
62
+ /** Optional definition capability with explicit completed-empty semantics. */
63
+ definition?(filePath: string, position: CodePosition): Promise<CodeQueryResult<CodeLocation[]>>;
62
64
 
63
65
  /**
64
- * Optional hover capability. Returns a simplified type/signature info
65
- * shape that does not depend on vscode-languageserver-types. When the
66
- * provider cannot produce hover info (unavailable, unsupported file,
67
- * no result at the given position), returns `null`.
66
+ * Optional hover capability. A completed `null` data value means the
67
+ * provider successfully found no hover at the requested point.
68
68
  */
69
69
  hover?(
70
70
  filePath: string,
71
71
  position: CodePosition,
72
- ): Promise<{ contents: string; range?: SourceRange } | null>;
72
+ ): Promise<CodeQueryResult<{ contents: string; range?: SourceRange } | null>>;
73
73
 
74
74
  /**
75
75
  * Optional operation-aware refactor capability.
@@ -85,8 +85,8 @@ export interface SemanticProvider {
85
85
  * Optional rename capability. When present, the provider supports
86
86
  * precise semantic symbol-rename operations.
87
87
  *
88
- * Kept as a low-level substrate helper for compatibility while the public
89
- * tool surface still exposes a legacy `rename` alias.
88
+ * This remains a lower-level substrate helper for providers that expose
89
+ * symbol rename independently of their general refactor planner.
90
90
  */
91
91
  rename?(file: string, position: CodePosition, newName: string): Promise<RefactorResult>;
92
92
 
@@ -97,16 +97,6 @@ export interface SemanticProvider {
97
97
  * Kept as a low-level substrate helper and for lightweight introspection.
98
98
  */
99
99
  codeActions?(file: string, position: CodePosition): Promise<RefactorResult[]>;
100
-
101
- /**
102
- * Optional lightweight code action titles for display purposes.
103
- * Returns simplified title/kind pairs at the given position.
104
- * When the provider cannot produce code actions, returns `null`.
105
- */
106
- codeActionTitles?(
107
- file: string,
108
- position: CodePosition,
109
- ): Promise<Array<{ title: string; kind?: string }> | null>;
110
100
  }
111
101
 
112
102
  /**
@@ -12,9 +12,12 @@ export type {
12
12
  CapabilityState,
13
13
  CodeLocation,
14
14
  CodePosition,
15
+ CodeQueryResult,
15
16
  CodeResult,
16
17
  CodeSymbol,
17
18
  ConfidenceMode,
19
+ DeclarationNesting,
20
+ DocumentCodeSymbol,
18
21
  ExportData,
19
22
  ImportData,
20
23
  NodeAtData,
@@ -29,8 +32,11 @@ export type {
29
32
  WorkspaceContext,
30
33
  } from "./api.ts";
31
34
  export {
35
+ completedCodeQuery,
32
36
  createWorkspaceContext,
33
37
  getDefaultWorkspaceRuntime,
34
- normalizeRefactorOperation,
38
+ mapCodeQueryResult,
39
+ partialCodeQuery,
40
+ unavailableCodeQuery,
35
41
  WorkspaceRuntime,
36
42
  } from "./api.ts";
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Result of a read-only code-provider query.
3
+ *
4
+ * `completed` includes successful empty observations, such as an empty
5
+ * reference list or a protocol-level null hover. `partial` preserves usable
6
+ * data when a multi-provider query could not complete every branch.
7
+ * `unavailable` means the query did not establish a result.
8
+ */
9
+ export type CodeQueryResult<T> =
10
+ | { readonly kind: "completed"; readonly data: T }
11
+ | { readonly kind: "partial"; readonly data: T; readonly reason: string }
12
+ | { readonly kind: "unavailable"; readonly reason: string };
13
+
14
+ /** Construct a successfully completed code-query result, including empty data. */
15
+ export function completedCodeQuery<T>(data: T): CodeQueryResult<T> {
16
+ return { kind: "completed", data };
17
+ }
18
+
19
+ /** Construct a usable but incomplete code-query result. */
20
+ export function partialCodeQuery<T>(data: T, reason: string): CodeQueryResult<T> {
21
+ return { kind: "partial", data, reason };
22
+ }
23
+
24
+ /** Construct a code-query result that could not be established. */
25
+ export function unavailableCodeQuery<T = never>(reason: string): CodeQueryResult<T> {
26
+ return { kind: "unavailable", reason };
27
+ }
28
+
29
+ /** Map completed or partial query data while preserving its availability state. */
30
+ export function mapCodeQueryResult<T, U>(
31
+ result: CodeQueryResult<T>,
32
+ map: (data: T) => U,
33
+ ): CodeQueryResult<U> {
34
+ switch (result.kind) {
35
+ case "completed":
36
+ return completedCodeQuery(map(result.data));
37
+ case "partial":
38
+ return partialCodeQuery(map(result.data), result.reason);
39
+ case "unavailable":
40
+ return unavailableCodeQuery(result.reason);
41
+ }
42
+ }
@@ -34,6 +34,9 @@ export interface SymbolAnchor {
34
34
  character: number;
35
35
  }
36
36
 
37
+ /** Provider-backed nesting evidence for a declaration reported within one document. */
38
+ export type DeclarationNesting = "top-level" | "nested" | "unknown";
39
+
37
40
  /**
38
41
  * A discovered symbol / declaration.
39
42
  *
@@ -51,9 +54,21 @@ export interface CodeSymbol {
51
54
  file: string;
52
55
  declarationAnchor: SymbolAnchor;
53
56
  nameAnchor?: SymbolAnchor;
57
+ /** Named symbolic container when reported; absence does not prove top-level nesting. */
54
58
  container?: string | null;
55
59
  }
56
60
 
61
+ /**
62
+ * A document-scoped declaration with explicit hierarchy evidence.
63
+ *
64
+ * `unknown` means the provider returned a flat observation without an actual
65
+ * hierarchy. A reported container name remains metadata and does not promote
66
+ * a flat observation to known nesting.
67
+ */
68
+ export interface DocumentCodeSymbol extends CodeSymbol {
69
+ nesting: DeclarationNesting;
70
+ }
71
+
57
72
  // ── Result types ───────────────────────────────────────────────────────
58
73
 
59
74
  /**
@@ -143,11 +158,8 @@ export interface WorkspaceEdit {
143
158
 
144
159
  /**
145
160
  * Supported refactor operation names for the current semantic planning path.
146
- *
147
- * `rename` is kept as a legacy alias for the public rename-only surface.
148
161
  */
149
162
  export type RefactorOperation =
150
- | "rename"
151
163
  | "rename_symbol"
152
164
  | "extract_function"
153
165
  | "extract_variable"
@@ -156,13 +168,6 @@ export type RefactorOperation =
156
168
  | "update_imports"
157
169
  | "delete_dead_code";
158
170
 
159
- /** Normalize legacy refactor aliases to their canonical operation names. */
160
- export function normalizeRefactorOperation(
161
- operation: RefactorOperation,
162
- ): Exclude<RefactorOperation, "rename"> {
163
- return operation === "rename" ? "rename_symbol" : operation;
164
- }
165
-
166
171
  /**
167
172
  * Operation-aware refactor planning request.
168
173
  *
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mrclrchtr/supi-core",
3
- "version": "3.2.0",
3
+ "version": "4.0.0",
4
4
  "description": "SuPi core — shared infrastructure for SuPi extensions (XML context tags, config system)",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -50,7 +50,6 @@
50
50
  },
51
51
  "main": "src/api.ts",
52
52
  "exports": {
53
- "./abort-utils": "./src/abort-utils.ts",
54
53
  "./api": "./src/api.ts",
55
54
  "./config": "./src/config.ts",
56
55
  "./context": "./src/context.ts",
@@ -71,7 +70,6 @@
71
70
  "./status-spinner": "./src/status-spinner.ts",
72
71
  "./terminal": "./src/terminal.ts",
73
72
  "./tool-framework": "./src/tool-framework.ts",
74
- "./prompt-surface": "./src/prompt-surface.ts",
75
- "./types": "./src/types.ts"
73
+ "./prompt-surface": "./src/prompt-surface.ts"
76
74
  }
77
75
  }
@@ -6,8 +6,6 @@
6
6
  // For lighter imports, use one of the domain subpaths directly
7
7
  // (e.g. @mrclrchtr/supi-core/config, @mrclrchtr/supi-core/context).
8
8
 
9
- // biome-ignore lint/performance/noReExportAll: intentional convenience barrel
10
- export * from "./abort-utils.ts";
11
9
  // biome-ignore lint/performance/noReExportAll: intentional convenience barrel
12
10
  export * from "./config.ts";
13
11
  // biome-ignore lint/performance/noReExportAll: intentional convenience barrel
@@ -42,5 +40,3 @@ export * from "./status-spinner.ts";
42
40
  export * from "./terminal.ts";
43
41
  // biome-ignore lint/performance/noReExportAll: intentional convenience barrel
44
42
  export * from "./tool-framework.ts";
45
- // biome-ignore lint/performance/noReExportAll: intentional convenience barrel
46
- export * from "./types.ts";
@@ -22,14 +22,15 @@ export interface EvidenceBadgeInput {
22
22
  * |------------------------------------------------------|---------------------------------------|
23
23
  * | shown=12, total=12, omitted=0, label="references" | `12 references` |
24
24
  * | shown=8, total=20, omitted=12, label="symbols" | `8 of 20 symbols (12 omitted)` |
25
- * | shown=5, total=null, reason="timeout", label="matches" | `5 matches — timeout` |
25
+ * | shown=5, total=null, omitted=2, reason="timeout" | `5 matches (2 collected omitted; more may exist — timeout)` |
26
26
  */
27
27
  export function formatEvidenceBadge(input: EvidenceBadgeInput): string {
28
28
  const { shownCount, totalCount, omittedCount, partialReason, label } = input;
29
29
 
30
30
  if (totalCount === null) {
31
31
  const reasonSuffix = partialReason ? ` — ${partialReason}` : "";
32
- return `${shownCount} ${label}${reasonSuffix}`;
32
+ const omittedPrefix = (omittedCount ?? 0) > 0 ? `${omittedCount} collected omitted; ` : "";
33
+ return `${shownCount} ${label} (${omittedPrefix}more may exist${reasonSuffix})`;
33
34
  }
34
35
 
35
36
  if (omittedCount !== null && omittedCount > 0) {
@@ -6,8 +6,6 @@
6
6
  // For lighter imports, use one of the domain subpaths directly
7
7
  // (e.g. @mrclrchtr/supi-core/config, @mrclrchtr/supi-core/context).
8
8
 
9
- // biome-ignore lint/performance/noReExportAll: intentional convenience barrel
10
- export * from "./abort-utils.ts";
11
9
  // biome-ignore lint/performance/noReExportAll: intentional convenience barrel
12
10
  export * from "./config.ts";
13
11
  // biome-ignore lint/performance/noReExportAll: intentional convenience barrel
@@ -36,5 +34,3 @@ export * from "./status-spinner.ts";
36
34
  export * from "./terminal.ts";
37
35
  // biome-ignore lint/performance/noReExportAll: intentional convenience barrel
38
36
  export * from "./tool-framework.ts";
39
- // biome-ignore lint/performance/noReExportAll: intentional convenience barrel
40
- export * from "./types.ts";
@@ -24,16 +24,6 @@ export interface WithRetryOptions {
24
24
  onRetry?: (attempt: number, delayMs: number) => void;
25
25
  }
26
26
 
27
- /**
28
- * Attempt an async operation with retries and exponential backoff.
29
- *
30
- * If the signal is already aborted on entry, the operation is skipped entirely.
31
- * If the signal aborts during a delay, the delay is cancelled immediately.
32
- *
33
- * @param fn - The async operation to retry.
34
- * @param options - Optional configuration for retries, backoff, signal, and callbacks.
35
- * @returns The result on success, or `null` if all attempts fail or the signal aborts.
36
- */
37
27
  /**
38
28
  * Create a promise that resolves after `ms` milliseconds, or rejects if
39
29
  * the signal fires before the timeout elapses.
@@ -1,4 +1,5 @@
1
1
  import * as path from "node:path";
2
+ import { fileURLToPath, pathToFileURL } from "node:url";
2
3
 
3
4
  /** Strip pi's optional leading `@` file-path prefix from a tool input. */
4
5
  export function stripToolPathPrefix(target: string): string {
@@ -16,25 +17,28 @@ export function resolveToolPath(cwd: string, target: string): string {
16
17
  return path.resolve(cwd, stripToolPathPrefix(target));
17
18
  }
18
19
 
19
- /** Convert a file path to a file:// URI. */
20
+ /**
21
+ * Convert a file path to a file:// URI.
22
+ *
23
+ * Uses Node's `pathToFileURL` to produce a standards-compliant URI with
24
+ * proper percent-encoding of spaces, hashes, and other special characters.
25
+ */
20
26
  export function fileToUri(filePath: string): string {
21
- const resolved = path.resolve(filePath);
22
- if (process.platform === "win32") {
23
- return `file:///${resolved.replace(/\\/g, "/")}`;
24
- }
25
- return `file://${resolved}`;
27
+ return pathToFileURL(filePath).href;
26
28
  }
27
29
 
28
- /** Convert a file:// URI to a file path. */
30
+ /**
31
+ * Convert a file:// URI to a file path.
32
+ *
33
+ * Uses Node's `fileURLToPath` for standards-compliant decoding. Non-file
34
+ * URIs are passed through unchanged so consumers (such as LSP diagnostic
35
+ * handling) remain compatible with non-file URI schemes.
36
+ */
29
37
  export function uriToFile(uri: string): string {
30
38
  if (!uri.startsWith("file://")) return uri;
31
- let filePath = decodeURIComponent(uri.slice(7));
32
- if (
33
- process.platform === "win32" &&
34
- filePath.startsWith("/") &&
35
- /^[A-Za-z]:/.test(filePath.slice(1))
36
- ) {
37
- filePath = filePath.slice(1);
39
+ try {
40
+ return fileURLToPath(uri);
41
+ } catch {
42
+ return uri;
38
43
  }
39
- return filePath;
40
44
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mrclrchtr/supi-tree-sitter",
3
- "version": "3.2.0",
4
- "description": "SuPi Tree-sitter extension — structural AST analysis for pi",
3
+ "version": "4.0.0",
4
+ "description": "SuPi Tree-sitter library — structural AST analysis for pi",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -18,7 +18,6 @@
18
18
  "keywords": [
19
19
  "pi",
20
20
  "pi-coding-agent",
21
- "pi-extension",
22
21
  "tree-sitter",
23
22
  "ast",
24
23
  "syntax-tree",
@@ -35,30 +34,14 @@
35
34
  ],
36
35
  "dependencies": {
37
36
  "web-tree-sitter": "^0.26.8",
38
- "@mrclrchtr/supi-code-runtime": "3.2.0",
39
- "@mrclrchtr/supi-core": "3.2.0"
37
+ "@mrclrchtr/supi-code-runtime": "4.0.0",
38
+ "@mrclrchtr/supi-core": "4.0.0"
40
39
  },
41
40
  "bundledDependencies": [
42
41
  "@mrclrchtr/supi-code-runtime",
43
42
  "@mrclrchtr/supi-core",
44
43
  "web-tree-sitter"
45
44
  ],
46
- "peerDependencies": {
47
- "@earendil-works/pi-ai": "*",
48
- "@earendil-works/pi-coding-agent": "*",
49
- "typebox": "*"
50
- },
51
- "peerDependenciesMeta": {
52
- "@earendil-works/pi-ai": {
53
- "optional": true
54
- },
55
- "@earendil-works/pi-coding-agent": {
56
- "optional": true
57
- },
58
- "typebox": {
59
- "optional": true
60
- }
61
- },
62
45
  "main": "src/api.ts",
63
46
  "exports": {
64
47
  "./api": "./src/api.ts",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "source": {
3
3
  "npmPackage": "tree-sitter-bash",
4
- "version": "0.23.3"
4
+ "version": "0.25.1"
5
5
  },
6
- "sha256": "d1844429a58620f306b6f42aebe92298243ca8120cd833a3ab5d87c7a2e7b9fd"
6
+ "sha256": "8292919c88a0f7d3fb31d0cd0253ca5a9531bc1ede82b0537f2c63dd8abe6a7a"
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "source": {
3
3
  "npmPackage": "tree-sitter-c",
4
- "version": "0.23.6"
4
+ "version": "0.24.1"
5
5
  },
6
- "sha256": "146f85977800935f18b06940518b16ded13cf4007ef0e3190573b969a98b9adc"
6
+ "sha256": "c852c2a85ebf2beb636aa3b0ef7f7e70458684d74f6741b20dcb296885bed9f9"
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "source": {
3
3
  "npmPackage": "tree-sitter-go",
4
- "version": "0.23.4"
4
+ "version": "0.25.0"
5
5
  },
6
- "sha256": "6dfc8eacdad0a54d0cad0d888851bd19cdd14d82582f110f888bbf6f9e5e2d64"
6
+ "sha256": "9504573f352b20be7f2f1911754d710622aedc15afff16d5ed8fb5645681aee7"
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "source": {
3
3
  "npmPackage": "tree-sitter-javascript",
4
- "version": "0.23.1"
4
+ "version": "0.25.0"
5
5
  },
6
- "sha256": "4a378293fe7853cbee2836023be072dafa0e53b3b5edb245920838ca834ed121"
6
+ "sha256": "5fb488d0cabb4775a594bab85682de5ad6ce83c0d6ac997a9f82dd084d571240"
7
7
  }
@@ -6,7 +6,7 @@
6
6
  "releaseAsset": "https://github.com/fwcd/tree-sitter-kotlin/releases/download/0.3.8/tree-sitter-kotlin.wasm"
7
7
  },
8
8
  "generatedWith": {
9
- "treeSitterCli": "0.22.6"
9
+ "treeSitterCli": "0.26.11"
10
10
  },
11
- "sha256": "c624e7443b371c28adc5d81674e73067564c12555ebe3ed96a6c8db814b7602d"
11
+ "sha256": "e08447e36ad5d86f39f91f13defce0636aea1490b8d65dafde6fa72649422061"
12
12
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "source": {
3
3
  "npmPackage": "tree-sitter-python",
4
- "version": "0.23.6"
4
+ "version": "0.25.0"
5
5
  },
6
- "sha256": "8c93692fb368e288a5824cee55773c9b3602804f513bda48c97661e52e9c2da2"
6
+ "sha256": "16108b50df4ee9a30168794252ab55e7c93bfc5765d7fa0aa3e335752c515f47"
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "source": {
3
3
  "npmPackage": "@davisvaughan/tree-sitter-r",
4
- "version": "1.2.0"
4
+ "version": "1.3.0"
5
5
  },
6
- "sha256": "2a8f5acd1c53d91e0ec5c01a6830d8ac7f5a7f96f0ac4b3768c016c8e9d07711"
6
+ "sha256": "a39d2e71bd39c29bb7f144a03f41d6d9f0099fede4110c696dc0715a62c9fbe1"
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "source": {
3
3
  "npmPackage": "tree-sitter-rust",
4
- "version": "0.23.3"
4
+ "version": "0.24.0"
5
5
  },
6
6
  "sha256": "f65f354215611fd94ad34134b3427eb3d58cbb745df7b6509ba722184db73d57"
7
7
  }
@@ -5,11 +5,11 @@
5
5
  "repository": "https://github.com/derekstride/tree-sitter-sql"
6
6
  },
7
7
  "generatedWith": {
8
- "treeSitterCli": "0.22.6"
8
+ "treeSitterCli": "0.26.11"
9
9
  },
10
- "sha256": "0871a3bd488ed39f5a521484337f07a43bd6aa95dbdf1cdd24744deecafa58fc",
10
+ "sha256": "9b93a15dc3eade66df4347731f2687b939daf987c8382660d6118e863604ab09",
11
11
  "trust": {
12
- "note": "The @derekstride/tree-sitter-sql npm package is a devDependency only. It is never resolved at runtime the vendored WASM above is the sole runtime artifact. The npm package's install script uses 'npx --yes' which some package managers flag as a supply-chain risk; pnpm ignores build scripts by default, so this script never runs during install. The WASM was built locally from the package source (not downloaded from npm). See scripts/generate-sql-wasm.mjs for the rebuild procedure.",
12
+ "note": "The @derekstride/tree-sitter-sql npm package is a devDependency only. It is never resolved at runtime; the vendored WASM above is the sole runtime artifact. This workspace explicitly disables the package's npx-based install script via pnpm allowBuilds. The WASM was built locally from the installed package source. See scripts/generate-sql-wasm.mjs for the rebuild procedure.",
13
13
  "alternativesConsidered": [
14
14
  "tree-sitter-sql (m-novikov, 2021, stale)",
15
15
  "tree-sitter-sql-bigquery (BigQuery-specific)",
@@ -38,6 +38,7 @@ function expectedReleaseAsset(version) {
38
38
 
39
39
  function assertKotlinWasmCurrent() {
40
40
  const kotlinPackage = readPackage("tree-sitter-kotlin");
41
+ const cliPackage = readPackage("tree-sitter-cli");
41
42
  const metadata = readMetadata();
42
43
  const actualSha = sha256(wasmPath);
43
44
  const errors = [];
@@ -55,6 +56,11 @@ function assertKotlinWasmCurrent() {
55
56
  "metadata release asset URL does not match the installed tree-sitter-kotlin version",
56
57
  );
57
58
  }
59
+ if (metadata.generatedWith?.treeSitterCli !== cliPackage.json.version) {
60
+ errors.push(
61
+ `metadata pins tree-sitter-cli ${metadata.generatedWith?.treeSitterCli}, but installed CLI is ${cliPackage.json.version}`,
62
+ );
63
+ }
58
64
  if (metadata.sha256 !== actualSha) {
59
65
  errors.push(`metadata sha256 ${metadata.sha256} does not match vendored file ${actualSha}`);
60
66
  }
@@ -8,10 +8,10 @@
8
8
  *
9
9
  * Trust considerations:
10
10
  * - The @derekstride/tree-sitter-sql install script uses "npx --yes", which
11
- * some package managers flag as a supply-chain risk. pnpm ignores build
12
- * scripts by default, so this script never runs during install.
11
+ * some package managers flag as a supply-chain risk. This workspace disables
12
+ * that package's build script explicitly via pnpm `allowBuilds`.
13
13
  * - The WASM is built locally from the installed package source (not downloaded
14
- * from npm). The build uses tree-sitter-cli 0.22.6 with Emscripten/Docker.
14
+ * from npm). The build uses tree-sitter-cli with Emscripten/Docker.
15
15
  * - Alternatives considered: tree-sitter-sql (m-novikov, stale since 2021),
16
16
  * tree-sitter-sql-bigquery (dialect-specific), and dialect-specific grammars.
17
17
  * derekstride/tree-sitter-sql is the most mature general-purpose SQL grammar.
@@ -55,6 +55,7 @@ function readMetadata() {
55
55
 
56
56
  function assertSqlWasmCurrent() {
57
57
  const sqlPackage = readPackage("@derekstride/tree-sitter-sql");
58
+ const cliPackage = readPackage("tree-sitter-cli");
58
59
  const metadata = readMetadata();
59
60
  const actualSha = sha256(wasmPath);
60
61
  const errors = [];
@@ -67,6 +68,11 @@ function assertSqlWasmCurrent() {
67
68
  `metadata pins @derekstride/tree-sitter-sql ${metadata.source?.version}, but installed package is ${sqlPackage.json.version}`,
68
69
  );
69
70
  }
71
+ if (metadata.generatedWith?.treeSitterCli !== cliPackage.json.version) {
72
+ errors.push(
73
+ `metadata pins tree-sitter-cli ${metadata.generatedWith?.treeSitterCli}, but installed CLI is ${cliPackage.json.version}`,
74
+ );
75
+ }
70
76
  if (metadata.sha256 !== actualSha) {
71
77
  errors.push(`metadata sha256 ${metadata.sha256} does not match vendored file ${actualSha}`);
72
78
  }
@@ -92,7 +98,7 @@ function generateSqlWasm() {
92
98
  try {
93
99
  fs.cpSync(sqlPackage.dir, grammarDir, { recursive: true });
94
100
 
95
- // tree-sitter-cli 0.22.6 requires a "tree-sitter" section in package.json
101
+ // tree-sitter-cli requires a "tree-sitter" section in package.json
96
102
  const grammarPackageJsonPath = path.join(grammarDir, "package.json");
97
103
  const grammarPackageJson = JSON.parse(fs.readFileSync(grammarPackageJsonPath, "utf-8"));
98
104
  grammarPackageJson["tree-sitter"] = [{ scope: "source.sql" }];
@@ -128,6 +134,14 @@ function generateSqlWasm() {
128
134
  treeSitterCli: cliPackage.json.version,
129
135
  },
130
136
  sha256: checksum,
137
+ trust: {
138
+ note: "The @derekstride/tree-sitter-sql npm package is a devDependency only. It is never resolved at runtime; the vendored WASM above is the sole runtime artifact. This workspace explicitly disables the package's npx-based install script via pnpm allowBuilds. The WASM was built locally from the installed package source. See scripts/generate-sql-wasm.mjs for the rebuild procedure.",
139
+ alternativesConsidered: [
140
+ "tree-sitter-sql (m-novikov, 2021, stale)",
141
+ "tree-sitter-sql-bigquery (BigQuery-specific)",
142
+ "dialect-specific grammars (too narrow)",
143
+ ],
144
+ },
131
145
  };
132
146
  fs.writeFileSync(metadataPath, `${JSON.stringify(metadata, null, 2)}\n`);
133
147
  process.stdout.write(`Generated ${wasmPath}\n`);