@mrclrchtr/supi-code-intelligence 1.7.0 → 1.8.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 (307) hide show
  1. package/README.md +13 -2
  2. package/node_modules/@mrclrchtr/supi-core/package.json +13 -2
  3. package/node_modules/@mrclrchtr/supi-core/src/api.ts +26 -92
  4. package/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
  5. package/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
  6. package/node_modules/@mrclrchtr/supi-core/src/index.ts +26 -92
  7. package/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
  8. package/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
  9. package/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
  10. package/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
  11. package/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
  12. package/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
  13. package/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
  14. package/node_modules/@mrclrchtr/supi-lsp/README.md +13 -8
  15. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/package.json +13 -2
  16. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/api.ts +26 -92
  17. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
  18. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
  19. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/index.ts +26 -92
  20. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
  21. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
  22. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
  23. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
  24. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
  25. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
  26. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
  27. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/License.txt +11 -0
  28. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/README.md +69 -0
  29. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/browser.d.ts +6 -0
  30. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/browser.js +7 -0
  31. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/browser/main.d.ts +17 -0
  32. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/browser/main.js +76 -0
  33. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/browser/ril.d.ts +12 -0
  34. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/browser/ril.js +156 -0
  35. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/api.d.ts +14 -0
  36. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/api.js +81 -0
  37. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts +32 -0
  38. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/cancellation.js +96 -0
  39. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/connection.d.ts +358 -0
  40. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/connection.js +1214 -0
  41. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/disposable.d.ts +9 -0
  42. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/disposable.js +16 -0
  43. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/encoding.d.ts +52 -0
  44. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/encoding.js +70 -0
  45. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/events.d.ts +39 -0
  46. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/events.js +128 -0
  47. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/is.d.ts +7 -0
  48. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/is.js +35 -0
  49. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/linkedMap.d.ts +53 -0
  50. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/linkedMap.js +398 -0
  51. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageBuffer.d.ts +18 -0
  52. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js +152 -0
  53. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageReader.d.ts +77 -0
  54. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageReader.js +197 -0
  55. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageWriter.d.ts +60 -0
  56. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageWriter.js +115 -0
  57. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messages.d.ts +369 -0
  58. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messages.js +306 -0
  59. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/ral.d.ts +74 -0
  60. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/ral.js +23 -0
  61. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/semaphore.d.ts +10 -0
  62. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/semaphore.js +68 -0
  63. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.d.ts +15 -0
  64. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js +76 -0
  65. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/node/main.d.ts +63 -0
  66. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/node/main.js +257 -0
  67. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/node/ril.d.ts +13 -0
  68. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/node/ril.js +161 -0
  69. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/node.cmd +5 -0
  70. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/node.d.ts +6 -0
  71. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/node.js +7 -0
  72. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/package.json +45 -0
  73. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/thirdpartynotices.txt +16 -0
  74. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/typings/thenable.d.ts +5 -0
  75. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/License.txt +11 -0
  76. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/README.md +16 -0
  77. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/browser.d.ts +6 -0
  78. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/browser.js +7 -0
  79. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/browser/main.d.ts +4 -0
  80. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/browser/main.js +28 -0
  81. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/api.d.ts +58 -0
  82. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/api.js +77 -0
  83. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/connection.d.ts +187 -0
  84. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/connection.js +15 -0
  85. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/messages.d.ts +51 -0
  86. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/messages.js +44 -0
  87. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.$.d.ts +1 -0
  88. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.$.js +43 -0
  89. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.d.ts +86 -0
  90. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js +42 -0
  91. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.d.ts +66 -0
  92. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js +32 -0
  93. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.d.ts +35 -0
  94. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js +24 -0
  95. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.d.ts +3252 -0
  96. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.d.ts +37 -0
  97. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js +22 -0
  98. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.d.ts +341 -0
  99. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js +74 -0
  100. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.d.ts +306 -0
  101. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js +101 -0
  102. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.d.ts +109 -0
  103. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js +30 -0
  104. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.d.ts +38 -0
  105. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js +21 -0
  106. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.d.ts +110 -0
  107. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js +43 -0
  108. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.d.ts +57 -0
  109. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js +22 -0
  110. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.d.ts +86 -0
  111. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js +30 -0
  112. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.js +943 -0
  113. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.d.ts +52 -0
  114. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js +19 -0
  115. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.d.ts +106 -0
  116. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js +68 -0
  117. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.d.ts +400 -0
  118. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js +214 -0
  119. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.d.ts +107 -0
  120. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js +37 -0
  121. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.d.ts +41 -0
  122. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js +20 -0
  123. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.d.ts +223 -0
  124. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js +57 -0
  125. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.d.ts +72 -0
  126. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js +22 -0
  127. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.d.ts +38 -0
  128. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js +21 -0
  129. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.d.ts +83 -0
  130. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js +42 -0
  131. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.d.ts +74 -0
  132. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js +27 -0
  133. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/utils/is.d.ts +9 -0
  134. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js +46 -0
  135. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/node/main.d.ts +6 -0
  136. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/node/main.js +28 -0
  137. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/metaModel.schema.json +783 -0
  138. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node.cmd +5 -0
  139. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node.d.ts +6 -0
  140. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node.js +7 -0
  141. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/License.txt +11 -0
  142. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/README.md +69 -0
  143. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/browser.d.ts +6 -0
  144. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/browser.js +7 -0
  145. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/browser/main.d.ts +17 -0
  146. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/browser/main.js +76 -0
  147. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/browser/ril.d.ts +12 -0
  148. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/browser/ril.js +156 -0
  149. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/api.d.ts +14 -0
  150. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/api.js +81 -0
  151. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts +32 -0
  152. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/cancellation.js +96 -0
  153. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/connection.d.ts +358 -0
  154. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/connection.js +1212 -0
  155. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/disposable.d.ts +9 -0
  156. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/disposable.js +16 -0
  157. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/encoding.d.ts +52 -0
  158. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/encoding.js +70 -0
  159. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/events.d.ts +39 -0
  160. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/events.js +128 -0
  161. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/is.d.ts +7 -0
  162. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/is.js +35 -0
  163. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/linkedMap.d.ts +53 -0
  164. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/linkedMap.js +398 -0
  165. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageBuffer.d.ts +18 -0
  166. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js +152 -0
  167. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageReader.d.ts +77 -0
  168. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageReader.js +197 -0
  169. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageWriter.d.ts +60 -0
  170. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageWriter.js +115 -0
  171. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messages.d.ts +369 -0
  172. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messages.js +306 -0
  173. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/ral.d.ts +74 -0
  174. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/ral.js +23 -0
  175. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/semaphore.d.ts +10 -0
  176. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/semaphore.js +68 -0
  177. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.d.ts +15 -0
  178. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js +76 -0
  179. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/node/main.d.ts +63 -0
  180. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/node/main.js +257 -0
  181. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/node/ril.d.ts +13 -0
  182. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/node/ril.js +161 -0
  183. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/node.cmd +5 -0
  184. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/node.d.ts +6 -0
  185. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/node.js +7 -0
  186. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/package.json +45 -0
  187. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/thirdpartynotices.txt +16 -0
  188. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/typings/thenable.d.ts +5 -0
  189. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/package.json +45 -0
  190. package/node_modules/@mrclrchtr/{supi-tree-sitter/node_modules/web-tree-sitter/LICENSE → supi-lsp/node_modules/vscode-languageserver-protocol/thirdpartynotices.txt} +16 -6
  191. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/License.txt +11 -0
  192. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/README.md +17 -0
  193. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/esm/main.d.ts +3139 -0
  194. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/esm/main.js +2222 -0
  195. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/esm/package.json +3 -0
  196. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/umd/main.d.ts +3139 -0
  197. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/umd/main.js +2272 -0
  198. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/package.json +38 -0
  199. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/thirdpartynotices.txt +16 -0
  200. package/node_modules/@mrclrchtr/supi-lsp/package.json +2 -2
  201. package/node_modules/@mrclrchtr/supi-lsp/src/config/config.ts +1 -1
  202. package/node_modules/@mrclrchtr/supi-lsp/src/handlers/diagnostic-injection.ts +182 -0
  203. package/node_modules/@mrclrchtr/supi-lsp/src/handlers/session-lifecycle.ts +139 -0
  204. package/node_modules/@mrclrchtr/supi-lsp/src/handlers/status-command.ts +38 -0
  205. package/node_modules/@mrclrchtr/supi-lsp/src/handlers/workspace-recovery.ts +92 -0
  206. package/node_modules/@mrclrchtr/supi-lsp/src/lsp.ts +15 -413
  207. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-helpers.ts +1 -1
  208. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-workspace-symbol.ts +1 -1
  209. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager.ts +1 -1
  210. package/node_modules/@mrclrchtr/supi-lsp/src/session/scanner.ts +1 -1
  211. package/node_modules/@mrclrchtr/supi-lsp/src/session/service-registry.ts +1 -1
  212. package/node_modules/@mrclrchtr/supi-lsp/src/session/settings-registration.ts +1 -1
  213. package/node_modules/@mrclrchtr/supi-lsp/src/tool/guidance.ts +5 -14
  214. package/node_modules/@mrclrchtr/supi-lsp/src/tool/names.ts +12 -4
  215. package/node_modules/@mrclrchtr/supi-lsp/src/tool/register-tools.ts +2 -3
  216. package/node_modules/@mrclrchtr/supi-lsp/src/tool/service-actions.ts +141 -0
  217. package/node_modules/@mrclrchtr/supi-lsp/src/tool/tool-specs.ts +93 -93
  218. package/node_modules/@mrclrchtr/supi-lsp/src/utils.ts +1 -1
  219. package/node_modules/@mrclrchtr/supi-lsp/src/workspace-change.ts +40 -0
  220. package/node_modules/@mrclrchtr/supi-tree-sitter/README.md +26 -15
  221. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/package.json +13 -2
  222. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/api.ts +26 -92
  223. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
  224. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
  225. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/index.ts +26 -92
  226. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
  227. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
  228. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
  229. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
  230. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
  231. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
  232. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
  233. package/node_modules/@mrclrchtr/supi-tree-sitter/package.json +2 -2
  234. package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/runtime.ts +1 -1
  235. package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/service-registry.ts +1 -1
  236. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/guidance.ts +29 -25
  237. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/handlers.ts +196 -0
  238. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/register-tools.ts +107 -0
  239. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/tool-specs.ts +117 -0
  240. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tree-sitter.ts +4 -300
  241. package/package.json +4 -4
  242. package/src/api.ts +15 -0
  243. package/src/architecture.ts +1 -1
  244. package/src/brief.ts +9 -53
  245. package/src/code-intelligence.ts +6 -2
  246. package/src/index.ts +15 -0
  247. package/src/pattern-structured.ts +26 -26
  248. package/src/presentation/markdown/affected.ts +170 -0
  249. package/src/presentation/markdown/brief.ts +174 -0
  250. package/src/presentation/markdown/map.ts +54 -0
  251. package/src/presentation/markdown/overview.ts +59 -0
  252. package/src/presentation/markdown/pattern.ts +239 -0
  253. package/src/presentation/markdown/relations.ts +121 -0
  254. package/src/prioritization-signals.ts +1 -1
  255. package/src/resolve-target.ts +58 -40
  256. package/src/search-helpers.ts +17 -4
  257. package/src/substrates/lsp-adapter.ts +197 -0
  258. package/src/substrates/tree-sitter-adapter.ts +173 -0
  259. package/src/substrates/types.ts +113 -0
  260. package/src/target-resolution.ts +35 -416
  261. package/src/targeting/query.ts +60 -0
  262. package/src/targeting/resolve-anchored.ts +80 -0
  263. package/src/targeting/resolve-file.ts +197 -0
  264. package/src/targeting/resolve-symbol.ts +110 -0
  265. package/src/targeting/types.ts +111 -0
  266. package/src/tool/execute-affected.ts +3 -3
  267. package/src/tool/execute-brief.ts +29 -3
  268. package/src/tool/execute-map.ts +5 -2
  269. package/src/tool/execute-pattern.ts +5 -3
  270. package/src/tool/execute-relations.ts +15 -23
  271. package/src/tool/guidance.ts +30 -1
  272. package/src/tool/tool-specs.ts +29 -48
  273. package/src/use-case/build-overview.ts +36 -0
  274. package/src/use-case/generate-affected.ts +279 -0
  275. package/src/use-case/generate-brief.ts +324 -0
  276. package/src/{actions/map-action.ts → use-case/generate-map.ts} +30 -60
  277. package/src/use-case/generate-pattern.ts +270 -0
  278. package/src/use-case/generate-relations.ts +392 -0
  279. package/src/use-case/support/semantic-references.ts +114 -0
  280. package/src/use-case/types.ts +43 -0
  281. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/README.md +0 -265
  282. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.cjs +0 -4661
  283. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.cjs.map +0 -7
  284. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.js +0 -4605
  285. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.js.map +0 -7
  286. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.wasm +0 -0
  287. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.wasm.map +0 -57
  288. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/package.json +0 -100
  289. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.cjs +0 -4063
  290. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.cjs.map +0 -7
  291. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.cts +0 -1025
  292. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.cts.map +0 -58
  293. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.ts +0 -1025
  294. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.ts.map +0 -58
  295. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.js +0 -4007
  296. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.js.map +0 -7
  297. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.wasm +0 -0
  298. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.wasm.map +0 -55
  299. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/action-specs.ts +0 -92
  300. package/src/actions/affected-action.ts +0 -452
  301. package/src/actions/brief-action.ts +0 -378
  302. package/src/actions/callees-action.ts +0 -155
  303. package/src/actions/callers-action.ts +0 -253
  304. package/src/actions/implementations-action.ts +0 -172
  305. package/src/actions/pattern-action.ts +0 -392
  306. package/src/providers/semantic-provider.ts +0 -34
  307. package/src/providers/structural-provider.ts +0 -26
@@ -0,0 +1,197 @@
1
+ /**
2
+ * File-surface target resolution — discovers actionable targets within a file
3
+ * using injected semantic (LSP document symbols) and structural (Tree-sitter exports)
4
+ * substrates with explicit fallback policy.
5
+ *
6
+ * Policy: LSP document symbols preferred (semantic). Falls back to Tree-sitter
7
+ * exports (structural) when LSP is unavailable or returns no results.
8
+ */
9
+
10
+ import * as fs from "node:fs";
11
+ import * as path from "node:path";
12
+ import { normalizePath } from "../search-helpers.ts";
13
+ import { highestConfidence } from "../semantic-action-helpers.ts";
14
+ import { createStructuralSubstrate } from "../substrates/tree-sitter-adapter.ts";
15
+ import type { SemanticSubstrate, StructuralSubstrate } from "../substrates/types.ts";
16
+ import type { ResolvedTargetData, ResolvedTargetGroupData } from "./types.ts";
17
+
18
+ const BINARY_EXTENSIONS = new Set([
19
+ ".png",
20
+ ".jpg",
21
+ ".jpeg",
22
+ ".gif",
23
+ ".webp",
24
+ ".bmp",
25
+ ".ico",
26
+ ".woff",
27
+ ".woff2",
28
+ ".ttf",
29
+ ".eot",
30
+ ".zip",
31
+ ".tar",
32
+ ".gz",
33
+ ".bz2",
34
+ ".pdf",
35
+ ".doc",
36
+ ".docx",
37
+ ".exe",
38
+ ".dll",
39
+ ".so",
40
+ ".dylib",
41
+ ".wasm",
42
+ ".node",
43
+ ]);
44
+
45
+ function isBinaryFile(filePath: string): boolean {
46
+ return BINARY_EXTENSIONS.has(path.extname(filePath).toLowerCase());
47
+ }
48
+
49
+ /**
50
+ * Resolve a file into a group of discoverable targets.
51
+ *
52
+ * @param file - the file path (absolute or cwd-relative)
53
+ * @param cwd - session working directory
54
+ * @param deps - injected substrates (both optional)
55
+ * @returns typed group outcome or error
56
+ */
57
+ export async function resolveFileTargetGroup(
58
+ file: string,
59
+ cwd: string,
60
+ deps: {
61
+ semantic?: SemanticSubstrate;
62
+ structural?: StructuralSubstrate;
63
+ } = {},
64
+ ): Promise<
65
+ { kind: "resolved"; group: ResolvedTargetGroupData } | { kind: "error"; message: string }
66
+ > {
67
+ const resolvedFile = normalizePath(file, cwd);
68
+
69
+ if (!fs.existsSync(resolvedFile)) {
70
+ return { kind: "error", message: `File not found: \`${file}\`` };
71
+ }
72
+
73
+ if (isBinaryFile(resolvedFile)) {
74
+ return {
75
+ kind: "error",
76
+ message: `File type not supported for semantic analysis: \`${file}\`. Use \`code_pattern\` for explicit text search.`,
77
+ };
78
+ }
79
+
80
+ const relPath = path.relative(cwd, resolvedFile);
81
+
82
+ // Try structure-based discovery first (faster, no LSP needed)
83
+ const structuralTargets = await resolveViaStructral(relPath, resolvedFile, cwd, deps.structural);
84
+
85
+ // Try semantic discovery (richer), preferring it over structural
86
+ const semanticTargets = await resolveViaSemantic(resolvedFile, deps.semantic, structuralTargets);
87
+
88
+ const targets = semanticTargets ?? structuralTargets;
89
+
90
+ if (!targets || targets.length === 0) {
91
+ return {
92
+ kind: "error",
93
+ message:
94
+ `**Error:** File-level semantic exploration is not available for \`${file}\`. ` +
95
+ "Provide `line` and `character`, or a `symbol` for discovery.",
96
+ };
97
+ }
98
+
99
+ return {
100
+ kind: "resolved",
101
+ group: {
102
+ file: resolvedFile,
103
+ displayName: relPath,
104
+ targets,
105
+ confidence: highestConfidence(targets.map((t) => t.confidence)),
106
+ },
107
+ };
108
+ }
109
+
110
+ // ── Resolution helpers ───────────────────────────────────────────────
111
+
112
+ async function resolveViaSemantic(
113
+ resolvedFile: string,
114
+ semantic?: SemanticSubstrate,
115
+ structuralTargets: ResolvedTargetData[] | null = null,
116
+ ): Promise<ResolvedTargetData[] | null> {
117
+ if (!semantic) return structuralTargets;
118
+
119
+ try {
120
+ const symbols = await semantic.documentSymbols(resolvedFile);
121
+ if (!symbols || symbols.length === 0) return structuralTargets;
122
+
123
+ const topLevel = symbols
124
+ .filter((s) => !s.container)
125
+ .map((s) => ({
126
+ file: resolvedFile,
127
+ position: { line: s.line - 1, character: s.character - 1 },
128
+ displayLine: s.line,
129
+ displayCharacter: s.character,
130
+ name: s.name,
131
+ kind: s.kind,
132
+ confidence: "semantic" as const,
133
+ }));
134
+
135
+ if (topLevel.length === 0) return structuralTargets;
136
+ if (!structuralTargets || structuralTargets.length === 0) return dedupeTargets(topLevel);
137
+
138
+ const matched = structuralTargets.map((target) => {
139
+ const byName = topLevel.find((candidate) => candidate.name === target.name);
140
+ return byName ?? target;
141
+ });
142
+
143
+ return dedupeTargets(matched);
144
+ } catch {
145
+ return structuralTargets;
146
+ }
147
+ }
148
+
149
+ async function resolveViaStructral(
150
+ relPath: string,
151
+ resolvedFile: string,
152
+ cwd: string,
153
+ structural?: StructuralSubstrate,
154
+ ): Promise<ResolvedTargetData[] | null> {
155
+ // Resolve a substrate to use — prefer injected, fall back to auto-created
156
+ const substrate = structural ?? createFallbackSubstrate(cwd);
157
+ if (!substrate) return null;
158
+
159
+ try {
160
+ const exportsResult = await substrate.exports(relPath);
161
+ if (exportsResult.kind !== "success" || exportsResult.data.length === 0) return null;
162
+
163
+ return dedupeTargets(
164
+ exportsResult.data.map((record) => ({
165
+ file: resolvedFile,
166
+ position: { line: record.startLine - 1, character: record.startCharacter - 1 },
167
+ displayLine: record.startLine,
168
+ displayCharacter: record.startCharacter,
169
+ name: record.name,
170
+ kind: record.kind,
171
+ confidence: "structural" as const,
172
+ })),
173
+ );
174
+ } catch {
175
+ return null;
176
+ }
177
+ }
178
+
179
+ /** Create a fallback structural substrate from a working directory. */
180
+ function createFallbackSubstrate(dir: string): StructuralSubstrate | null {
181
+ try {
182
+ return createStructuralSubstrate(dir);
183
+ } catch {
184
+ return null;
185
+ }
186
+ }
187
+
188
+ function dedupeTargets(targets: ResolvedTargetData[]): ResolvedTargetData[] {
189
+ const deduped = new Map<string, ResolvedTargetData>();
190
+ for (const target of targets) {
191
+ const key = `${target.name ?? ""}:${target.displayLine}:${target.displayCharacter}`;
192
+ if (!deduped.has(key)) {
193
+ deduped.set(key, target);
194
+ }
195
+ }
196
+ return [...deduped.values()];
197
+ }
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Symbol target resolution — discovers symbols via the semantic substrate
3
+ * and returns typed outcomes (resolved, disambiguation, or error).
4
+ *
5
+ * This resolver is semantic-only: it does not fall back to text search
6
+ * or heuristic guessing. Ambiguous matches produce explicit disambiguation.
7
+ */
8
+
9
+ import * as path from "node:path";
10
+ import { isWithinOrEqual } from "@mrclrchtr/supi-core/project";
11
+ import type { SemanticSubstrate } from "../substrates/types.ts";
12
+ import type { DisambiguationCandidateData, TargetOutcome } from "./types.ts";
13
+
14
+ const MAX_CANDIDATES = 8;
15
+ const NON_EXPORTED_KINDS = new Set(["Variable", "Field", "Property"]);
16
+
17
+ /**
18
+ * Resolve a symbol via the semantic substrate.
19
+ *
20
+ * @param symbol - the symbol name to search for
21
+ * @param cwd - session working directory
22
+ * @param semantic - the semantic substrate (LSP-backed)
23
+ * @param options - optional filters: path scope, kind filter, exported-only
24
+ * @returns Typed outcome: resolved, disambiguation, or error
25
+ */
26
+ export async function resolveSymbolTarget(
27
+ symbol: string,
28
+ cwd: string,
29
+ semantic: SemanticSubstrate,
30
+ options?: {
31
+ path?: string;
32
+ kind?: string;
33
+ exportedOnly?: boolean;
34
+ },
35
+ ): Promise<TargetOutcome> {
36
+ const results = await semantic.workspaceSymbols(symbol);
37
+ if (results === null) {
38
+ return {
39
+ kind: "error",
40
+ message: `Symbol discovery for \`${symbol}\` requires active LSP. Use \`file\` + coordinates, or enable LSP and retry.`,
41
+ };
42
+ }
43
+ if (results.length === 0) {
44
+ return { kind: "error", message: `Symbol not found: \`${symbol}\`` };
45
+ }
46
+
47
+ // Filter by path scope
48
+ const scopePath = options?.path ? path.resolve(cwd, options.path) : null;
49
+ let candidates = results.filter((s) => {
50
+ if (scopePath && !isWithinOrEqual(scopePath, s.file)) return false;
51
+ return true;
52
+ });
53
+
54
+ // Filter by kind
55
+ if (options?.kind) {
56
+ const kindLower = options.kind.toLowerCase();
57
+ candidates = candidates.filter((s) => s.kind.toLowerCase().includes(kindLower));
58
+ }
59
+
60
+ // Filter to exported symbols only
61
+ if (options?.exportedOnly) {
62
+ candidates = candidates.filter((s) => !NON_EXPORTED_KINDS.has(s.kind));
63
+ }
64
+
65
+ // Range-less candidates (line=0,char=0) come from URI-only workspace symbols.
66
+ // Keep them for disambiguation but don't promote to single-match resolution.
67
+ const ranged = candidates.filter((s) => s.line > 0 || s.character > 0);
68
+
69
+ if (ranged.length === 1) {
70
+ const c = ranged[0];
71
+ return {
72
+ kind: "resolved",
73
+ target: {
74
+ file: c.file,
75
+ position: { line: c.line - 1, character: c.character - 1 },
76
+ displayLine: c.line,
77
+ displayCharacter: c.character,
78
+ name: c.name,
79
+ kind: c.kind,
80
+ confidence: "semantic",
81
+ },
82
+ };
83
+ }
84
+
85
+ // All candidates lost or only rangeless
86
+ if (candidates.length === 0) {
87
+ return {
88
+ kind: "error",
89
+ message: `Symbol not found: \`${symbol}\`${scopePath ? ` in path \`${options?.path}\`` : ""}`,
90
+ };
91
+ }
92
+
93
+ // Multiple candidates — return disambiguation
94
+ const candidatesOut = candidates.slice(0, MAX_CANDIDATES).map((c, idx) => ({
95
+ name: c.name,
96
+ kind: c.kind,
97
+ container: c.container ?? null,
98
+ file: path.relative(cwd, c.file),
99
+ line: c.line,
100
+ character: c.character,
101
+ reason: path.relative(cwd, c.file),
102
+ rank: idx + 1,
103
+ })) satisfies DisambiguationCandidateData[];
104
+
105
+ return {
106
+ kind: "disambiguation",
107
+ candidates: candidatesOut,
108
+ omittedCount: Math.max(0, candidates.length - MAX_CANDIDATES),
109
+ };
110
+ }
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Targeting types — normalized query and typed outcomes for the
3
+ * target-resolution pipeline.
4
+ *
5
+ * These types decouple request normalization from resolution implementation
6
+ * and keep action-facing code focused on routing, not string building.
7
+ */
8
+
9
+ import type { SemanticSubstrate, StructuralSubstrate } from "../substrates/types.ts";
10
+
11
+ // ── Normalized query ──────────────────────────────────────────────────
12
+
13
+ /**
14
+ * A pre-classified target request extracted from tool/action parameters.
15
+ *
16
+ * The pipeline normalizes incoming params into one of these shapes
17
+ * so each resolver phase can operate on an already-disambiguated query.
18
+ */
19
+ export type NormalizedQuery =
20
+ | {
21
+ kind: "anchored";
22
+ file: string;
23
+ line: number;
24
+ character: number;
25
+ }
26
+ | {
27
+ kind: "file";
28
+ file: string;
29
+ }
30
+ | {
31
+ kind: "symbol";
32
+ symbol: string;
33
+ path?: string;
34
+ symbolKind?: string;
35
+ exportedOnly?: boolean;
36
+ }
37
+ | {
38
+ kind: "invalid";
39
+ reason: string;
40
+ };
41
+
42
+ // ── Resolver dependency injection ─────────────────────────────────────
43
+
44
+ /**
45
+ * Substrates and context injected into the resolution pipeline.
46
+ *
47
+ * Passed from the action/tool entrypoint rather than constructed
48
+ * inside resolver internals, so fallback policy is explicit.
49
+ */
50
+ export interface ResolverDeps {
51
+ cwd: string;
52
+ semantic?: SemanticSubstrate;
53
+ structural?: StructuralSubstrate;
54
+ }
55
+
56
+ // ── Typed resolution outcomes ─────────────────────────────────────────
57
+
58
+ /**
59
+ * A successfully resolved anchored target with 0-/1-based positions.
60
+ */
61
+ export interface ResolvedTargetData {
62
+ file: string;
63
+ /** 0-based position for LSP calls */
64
+ position: { line: number; character: number };
65
+ /** 1-based position for user display */
66
+ displayLine: number;
67
+ displayCharacter: number;
68
+ name: string | null;
69
+ kind: string | null;
70
+ confidence: "semantic" | "structural" | "heuristic" | "unavailable";
71
+ }
72
+
73
+ /**
74
+ * A file-level target group with one or more discoverable targets.
75
+ */
76
+ export interface ResolvedTargetGroupData {
77
+ file: string;
78
+ displayName: string;
79
+ targets: ResolvedTargetData[];
80
+ confidence: "semantic" | "structural" | "heuristic" | "unavailable";
81
+ }
82
+
83
+ /**
84
+ * A disambiguation candidate for symbol searches with multiple matches.
85
+ */
86
+ export interface DisambiguationCandidateData {
87
+ name: string;
88
+ kind: string | null;
89
+ container: string | null;
90
+ file: string;
91
+ line: number;
92
+ character: number;
93
+ reason: string;
94
+ rank: number;
95
+ }
96
+
97
+ /**
98
+ * Typed outcome of a resolution attempt.
99
+ *
100
+ * Actions consume these to produce user-facing strings/details;
101
+ * the resolution pipeline itself stays presentation-agnostic.
102
+ */
103
+ export type TargetOutcome =
104
+ | { kind: "resolved"; target: ResolvedTargetData }
105
+ | { kind: "group"; group: ResolvedTargetGroupData }
106
+ | {
107
+ kind: "disambiguation";
108
+ candidates: DisambiguationCandidateData[];
109
+ omittedCount: number;
110
+ }
111
+ | { kind: "error"; message: string };
@@ -1,5 +1,5 @@
1
- import { executeAffectedAction } from "../actions/affected-action.ts";
2
1
  import type { CodeIntelResult } from "../types.ts";
2
+ import { executeAffected } from "../use-case/generate-affected.ts";
3
3
  import { validateFocusedToolParams } from "./validation.ts";
4
4
 
5
5
  export interface CodeAffectedToolParams {
@@ -11,7 +11,7 @@ export interface CodeAffectedToolParams {
11
11
  maxResults?: number;
12
12
  }
13
13
 
14
- /** Execute the public code_affected tool through the substrate-only affected action. */
14
+ /** Execute the public code_affected tool through the affected use-case. */
15
15
  export async function executeAffectedTool(
16
16
  params: CodeAffectedToolParams,
17
17
  ctx: { cwd: string },
@@ -21,5 +21,5 @@ export async function executeAffectedTool(
21
21
  return { content: error, details: undefined };
22
22
  }
23
23
 
24
- return executeAffectedAction(params, ctx.cwd);
24
+ return executeAffected(params, { cwd: ctx.cwd });
25
25
  }
@@ -1,5 +1,8 @@
1
- import { executeBriefAction } from "../actions/brief-action.ts";
1
+ import { buildArchitectureModel } from "../architecture.ts";
2
+ import { createStructuralSubstrate } from "../substrates/tree-sitter-adapter.ts";
2
3
  import type { CodeIntelResult } from "../types.ts";
4
+ import { executeBrief } from "../use-case/generate-brief.ts";
5
+ import type { BriefInput } from "../use-case/types.ts";
3
6
  import { validateFocusedToolParams } from "./validation.ts";
4
7
 
5
8
  export interface CodeBriefToolParams {
@@ -11,7 +14,7 @@ export interface CodeBriefToolParams {
11
14
  maxResults?: number;
12
15
  }
13
16
 
14
- /** Execute the public code_brief tool through the existing brief action. */
17
+ /** Execute the public code_brief tool through the use-case/presentation layers. */
15
18
  export async function executeBriefTool(
16
19
  params: CodeBriefToolParams,
17
20
  ctx: { cwd: string },
@@ -21,5 +24,28 @@ export async function executeBriefTool(
21
24
  return { content: error, details: undefined };
22
25
  }
23
26
 
24
- return executeBriefAction(params, ctx.cwd);
27
+ const structural = createStructuralSubstrate(ctx.cwd);
28
+ const model = await buildArchitectureModel(ctx.cwd);
29
+
30
+ const input: BriefInput = determineInput(params);
31
+ const deps = { model, structural, cwd: ctx.cwd };
32
+
33
+ const result = await executeBrief(input, deps);
34
+ return { content: result.content, details: { type: "brief", data: result.details } };
35
+ }
36
+
37
+ function determineInput(params: CodeBriefToolParams): BriefInput {
38
+ if (params.file && params.line != null && params.character != null) {
39
+ return { kind: "anchored", file: params.file, line: params.line, character: params.character };
40
+ }
41
+ if (params.symbol) {
42
+ return { kind: "symbol", symbol: params.symbol, path: params.path };
43
+ }
44
+ if (params.path) {
45
+ return { kind: "path", path: params.path };
46
+ }
47
+ if (params.file) {
48
+ return { kind: "file", file: params.file };
49
+ }
50
+ return { kind: "project" };
25
51
  }
@@ -1,7 +1,8 @@
1
1
  import * as fs from "node:fs";
2
- import { executeMapAction } from "../actions/map-action.ts";
2
+ import { renderMap } from "../presentation/markdown/map.ts";
3
3
  import { normalizePath } from "../search-helpers.ts";
4
4
  import type { CodeIntelResult } from "../types.ts";
5
+ import { buildMapData } from "../use-case/generate-map.ts";
5
6
 
6
7
  export interface CodeMapToolParams {
7
8
  path?: string;
@@ -28,5 +29,7 @@ export async function executeMapTool(
28
29
  };
29
30
  }
30
31
 
31
- return executeMapAction(scopePath, ctx.cwd);
32
+ const data = buildMapData(scopePath, ctx.cwd);
33
+ const rendered = renderMap(data);
34
+ return { content: rendered.content, details: { type: "map", data: rendered.details } };
32
35
  }
@@ -1,5 +1,6 @@
1
- import { executePatternAction } from "../actions/pattern-action.ts";
1
+ import { createStructuralSubstrate } from "../substrates/tree-sitter-adapter.ts";
2
2
  import type { CodeIntelResult } from "../types.ts";
3
+ import { executePattern } from "../use-case/generate-pattern.ts";
3
4
  import { validatePatternToolParams } from "./validation.ts";
4
5
 
5
6
  export interface CodePatternToolParams {
@@ -12,7 +13,7 @@ export interface CodePatternToolParams {
12
13
  summary?: boolean;
13
14
  }
14
15
 
15
- /** Execute the public code_pattern tool as the sole heuristic/structured search surface. */
16
+ /** Execute the public code_pattern tool through the pattern use-case. */
16
17
  export async function executePatternTool(
17
18
  params: CodePatternToolParams,
18
19
  ctx: { cwd: string },
@@ -22,5 +23,6 @@ export async function executePatternTool(
22
23
  return { content: error, details: undefined };
23
24
  }
24
25
 
25
- return executePatternAction(params, ctx.cwd);
26
+ const structural = createStructuralSubstrate(ctx.cwd);
27
+ return executePattern(params, { cwd: ctx.cwd, structural });
26
28
  }
@@ -1,7 +1,6 @@
1
- import { executeCalleesAction } from "../actions/callees-action.ts";
2
- import { executeCallersAction } from "../actions/callers-action.ts";
3
- import { executeImplementationsAction } from "../actions/implementations-action.ts";
4
1
  import type { CodeIntelResult } from "../types.ts";
2
+ import type { RelationsInput } from "../use-case/generate-relations.ts";
3
+ import { executeRelations } from "../use-case/generate-relations.ts";
5
4
  import type { CodeRelationsKind } from "./tool-specs.ts";
6
5
  import { validateFocusedToolParams } from "./validation.ts";
7
6
 
@@ -16,13 +15,7 @@ export interface CodeRelationsToolParams {
16
15
  maxResults?: number;
17
16
  }
18
17
 
19
- const RELATION_HANDLERS = {
20
- callers: executeCallersAction,
21
- callees: executeCalleesAction,
22
- implementations: executeImplementationsAction,
23
- } as const;
24
-
25
- /** Execute the public code_relations tool by dispatching to the selected substrate-backed relation action. */
18
+ /** Execute the public code_relations tool through the relations use-case. */
26
19
  export async function executeRelationsTool(
27
20
  params: CodeRelationsToolParams,
28
21
  ctx: { cwd: string },
@@ -32,17 +25,16 @@ export async function executeRelationsTool(
32
25
  return { content: error, details: undefined };
33
26
  }
34
27
 
35
- const handler = RELATION_HANDLERS[params.kind];
36
- return handler(
37
- {
38
- path: params.path,
39
- file: params.file,
40
- line: params.line,
41
- character: params.character,
42
- symbol: params.symbol,
43
- exportedOnly: params.exportedOnly,
44
- maxResults: params.maxResults,
45
- },
46
- ctx.cwd,
47
- );
28
+ const input: RelationsInput = {
29
+ kind: params.kind,
30
+ path: params.path,
31
+ file: params.file,
32
+ line: params.line,
33
+ character: params.character,
34
+ symbol: params.symbol,
35
+ exportedOnly: params.exportedOnly,
36
+ maxResults: params.maxResults,
37
+ };
38
+
39
+ return executeRelations(input, { cwd: ctx.cwd });
48
40
  }
@@ -1,4 +1,8 @@
1
1
  // Prompt guidance and tool descriptions for the focused code-intelligence tool surface.
2
+ //
3
+ // Each code_* tool owns its base prompt guidelines (describing its own surface).
4
+ // Additional cross-family orchestration guidelines are appended to help the
5
+ // model choose between code_*, lsp_*, and tree_sitter_* tools.
2
6
 
3
7
  import { CODE_INTELLIGENCE_TOOL_SPECS, type CodeIntelligenceToolName } from "./tool-specs.ts";
4
8
 
@@ -13,6 +17,31 @@ export type CodeIntelligenceToolPromptSurfaceMap = Record<
13
17
  CodeIntelligenceToolPromptSurface
14
18
  >;
15
19
 
20
+ // ── Cross-family orchestration guidelines ──────────────────────────────
21
+ //
22
+ // These are appended to the appropriate code_* tools so the model sees a
23
+ // coherent strategy for choosing between code_*, lsp_*, and tree_sitter_*
24
+ // tools. They do not re-own substrate metadata — each of the other packages
25
+ // describes and documents its own tools independently.
26
+
27
+ const ORCHESTRATION_GUIDELINES: Record<CodeIntelligenceToolName, string[]> = {
28
+ code_brief: [
29
+ "After code_brief, use lsp_hover/lsp_definition/lsp_references for semantic detail or tree_sitter_* for quick structure.",
30
+ ],
31
+ code_map: ["Use code_brief instead when you need prioritized guidance."],
32
+ code_relations: [
33
+ "Follow caller results with lsp_references/lsp_definition; use tree_sitter_callees for structural outgoing calls.",
34
+ ],
35
+ code_affected: [
36
+ "Use lsp_references instead when you need a plain reference list, not impact analysis.",
37
+ ],
38
+ code_pattern: [
39
+ "Use tree_sitter_query or lsp_hover/lsp_definition when you need structure or semantic precision.",
40
+ ],
41
+ };
42
+
43
+ // ── Surface builder ────────────────────────────────────────────────────
44
+
16
45
  export function buildCodeIntelligenceToolPromptSurfaces(): CodeIntelligenceToolPromptSurfaceMap {
17
46
  return Object.fromEntries(
18
47
  CODE_INTELLIGENCE_TOOL_SPECS.map((spec) => [
@@ -20,7 +49,7 @@ export function buildCodeIntelligenceToolPromptSurfaces(): CodeIntelligenceToolP
20
49
  {
21
50
  description: spec.description,
22
51
  promptSnippet: spec.promptSnippet,
23
- promptGuidelines: [...spec.basePromptGuidelines],
52
+ promptGuidelines: [...spec.basePromptGuidelines, ...ORCHESTRATION_GUIDELINES[spec.name]],
24
53
  } satisfies CodeIntelligenceToolPromptSurface,
25
54
  ]),
26
55
  ) as CodeIntelligenceToolPromptSurfaceMap;