@mrclrchtr/supi-code-intelligence 1.6.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 (310) hide show
  1. package/README.md +53 -24
  2. package/node_modules/@mrclrchtr/supi-core/package.json +18 -3
  3. package/node_modules/@mrclrchtr/supi-core/src/api.ts +27 -82
  4. package/node_modules/@mrclrchtr/supi-core/src/config/config.ts +1 -1
  5. package/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
  6. package/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
  7. package/node_modules/@mrclrchtr/supi-core/src/index.ts +27 -82
  8. package/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
  9. package/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
  10. package/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
  11. package/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
  12. package/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
  13. package/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
  14. package/node_modules/@mrclrchtr/supi-core/src/tool-framework.ts +116 -0
  15. package/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
  16. package/node_modules/@mrclrchtr/supi-lsp/README.md +13 -8
  17. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/package.json +18 -3
  18. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/api.ts +27 -82
  19. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/config/config.ts +1 -1
  20. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
  21. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
  22. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/index.ts +27 -82
  23. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
  24. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
  25. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
  26. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
  27. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
  28. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
  29. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/tool-framework.ts +116 -0
  30. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
  31. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/License.txt +11 -0
  32. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/README.md +69 -0
  33. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/browser.d.ts +6 -0
  34. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/browser.js +7 -0
  35. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/browser/main.d.ts +17 -0
  36. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/browser/main.js +76 -0
  37. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/browser/ril.d.ts +12 -0
  38. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/browser/ril.js +156 -0
  39. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/api.d.ts +14 -0
  40. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/api.js +81 -0
  41. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts +32 -0
  42. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/cancellation.js +96 -0
  43. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/connection.d.ts +358 -0
  44. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/connection.js +1214 -0
  45. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/disposable.d.ts +9 -0
  46. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/disposable.js +16 -0
  47. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/encoding.d.ts +52 -0
  48. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/encoding.js +70 -0
  49. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/events.d.ts +39 -0
  50. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/events.js +128 -0
  51. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/is.d.ts +7 -0
  52. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/is.js +35 -0
  53. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/linkedMap.d.ts +53 -0
  54. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/linkedMap.js +398 -0
  55. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageBuffer.d.ts +18 -0
  56. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js +152 -0
  57. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageReader.d.ts +77 -0
  58. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageReader.js +197 -0
  59. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageWriter.d.ts +60 -0
  60. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageWriter.js +115 -0
  61. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messages.d.ts +369 -0
  62. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messages.js +306 -0
  63. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/ral.d.ts +74 -0
  64. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/ral.js +23 -0
  65. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/semaphore.d.ts +10 -0
  66. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/semaphore.js +68 -0
  67. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.d.ts +15 -0
  68. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js +76 -0
  69. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/node/main.d.ts +63 -0
  70. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/node/main.js +257 -0
  71. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/node/ril.d.ts +13 -0
  72. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/node/ril.js +161 -0
  73. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/node.cmd +5 -0
  74. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/node.d.ts +6 -0
  75. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/node.js +7 -0
  76. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/package.json +45 -0
  77. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/thirdpartynotices.txt +16 -0
  78. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/typings/thenable.d.ts +5 -0
  79. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/License.txt +11 -0
  80. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/README.md +16 -0
  81. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/browser.d.ts +6 -0
  82. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/browser.js +7 -0
  83. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/browser/main.d.ts +4 -0
  84. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/browser/main.js +28 -0
  85. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/api.d.ts +58 -0
  86. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/api.js +77 -0
  87. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/connection.d.ts +187 -0
  88. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/connection.js +15 -0
  89. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/messages.d.ts +51 -0
  90. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/messages.js +44 -0
  91. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.$.d.ts +1 -0
  92. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.$.js +43 -0
  93. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.d.ts +86 -0
  94. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js +42 -0
  95. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.d.ts +66 -0
  96. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js +32 -0
  97. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.d.ts +35 -0
  98. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js +24 -0
  99. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.d.ts +3252 -0
  100. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.d.ts +37 -0
  101. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js +22 -0
  102. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.d.ts +341 -0
  103. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js +74 -0
  104. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.d.ts +306 -0
  105. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js +101 -0
  106. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.d.ts +109 -0
  107. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js +30 -0
  108. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.d.ts +38 -0
  109. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js +21 -0
  110. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.d.ts +110 -0
  111. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js +43 -0
  112. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.d.ts +57 -0
  113. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js +22 -0
  114. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.d.ts +86 -0
  115. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js +30 -0
  116. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.js +943 -0
  117. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.d.ts +52 -0
  118. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js +19 -0
  119. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.d.ts +106 -0
  120. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js +68 -0
  121. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.d.ts +400 -0
  122. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js +214 -0
  123. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.d.ts +107 -0
  124. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js +37 -0
  125. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.d.ts +41 -0
  126. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js +20 -0
  127. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.d.ts +223 -0
  128. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js +57 -0
  129. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.d.ts +72 -0
  130. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js +22 -0
  131. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.d.ts +38 -0
  132. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js +21 -0
  133. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.d.ts +83 -0
  134. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js +42 -0
  135. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.d.ts +74 -0
  136. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js +27 -0
  137. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/utils/is.d.ts +9 -0
  138. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js +46 -0
  139. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/node/main.d.ts +6 -0
  140. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/node/main.js +28 -0
  141. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/metaModel.schema.json +783 -0
  142. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node.cmd +5 -0
  143. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node.d.ts +6 -0
  144. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node.js +7 -0
  145. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/License.txt +11 -0
  146. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/README.md +69 -0
  147. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/browser.d.ts +6 -0
  148. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/browser.js +7 -0
  149. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/browser/main.d.ts +17 -0
  150. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/browser/main.js +76 -0
  151. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/browser/ril.d.ts +12 -0
  152. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/browser/ril.js +156 -0
  153. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/api.d.ts +14 -0
  154. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/api.js +81 -0
  155. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts +32 -0
  156. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/cancellation.js +96 -0
  157. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/connection.d.ts +358 -0
  158. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/connection.js +1212 -0
  159. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/disposable.d.ts +9 -0
  160. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/disposable.js +16 -0
  161. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/encoding.d.ts +52 -0
  162. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/encoding.js +70 -0
  163. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/events.d.ts +39 -0
  164. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/events.js +128 -0
  165. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/is.d.ts +7 -0
  166. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/is.js +35 -0
  167. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/linkedMap.d.ts +53 -0
  168. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/linkedMap.js +398 -0
  169. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageBuffer.d.ts +18 -0
  170. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js +152 -0
  171. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageReader.d.ts +77 -0
  172. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageReader.js +197 -0
  173. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageWriter.d.ts +60 -0
  174. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageWriter.js +115 -0
  175. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messages.d.ts +369 -0
  176. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messages.js +306 -0
  177. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/ral.d.ts +74 -0
  178. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/ral.js +23 -0
  179. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/semaphore.d.ts +10 -0
  180. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/semaphore.js +68 -0
  181. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.d.ts +15 -0
  182. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js +76 -0
  183. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/node/main.d.ts +63 -0
  184. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/node/main.js +257 -0
  185. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/node/ril.d.ts +13 -0
  186. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/node/ril.js +161 -0
  187. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/node.cmd +5 -0
  188. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/node.d.ts +6 -0
  189. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/node.js +7 -0
  190. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/package.json +45 -0
  191. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/thirdpartynotices.txt +16 -0
  192. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/typings/thenable.d.ts +5 -0
  193. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/package.json +45 -0
  194. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/thirdpartynotices.txt +31 -0
  195. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/License.txt +11 -0
  196. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/README.md +17 -0
  197. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/esm/main.d.ts +3139 -0
  198. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/esm/main.js +2222 -0
  199. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/esm/package.json +3 -0
  200. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/umd/main.d.ts +3139 -0
  201. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/umd/main.js +2272 -0
  202. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/package.json +38 -0
  203. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/thirdpartynotices.txt +16 -0
  204. package/node_modules/@mrclrchtr/supi-lsp/package.json +9 -3
  205. package/node_modules/@mrclrchtr/supi-lsp/src/client/client.ts +8 -5
  206. package/node_modules/@mrclrchtr/supi-lsp/src/client/transport.ts +79 -190
  207. package/node_modules/@mrclrchtr/supi-lsp/src/config/config.ts +1 -1
  208. package/node_modules/@mrclrchtr/supi-lsp/src/config/server-config.ts +38 -0
  209. package/node_modules/@mrclrchtr/supi-lsp/src/config/types.ts +61 -387
  210. package/node_modules/@mrclrchtr/supi-lsp/src/format.ts +16 -8
  211. package/node_modules/@mrclrchtr/supi-lsp/src/handlers/diagnostic-injection.ts +182 -0
  212. package/node_modules/@mrclrchtr/supi-lsp/src/handlers/session-lifecycle.ts +139 -0
  213. package/node_modules/@mrclrchtr/supi-lsp/src/handlers/status-command.ts +38 -0
  214. package/node_modules/@mrclrchtr/supi-lsp/src/handlers/workspace-recovery.ts +92 -0
  215. package/node_modules/@mrclrchtr/supi-lsp/src/lsp.ts +15 -413
  216. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-helpers.ts +1 -1
  217. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-project-info.ts +1 -1
  218. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-workspace-symbol.ts +1 -1
  219. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager.ts +1 -1
  220. package/node_modules/@mrclrchtr/supi-lsp/src/session/lsp-state.ts +1 -1
  221. package/node_modules/@mrclrchtr/supi-lsp/src/session/scanner.ts +1 -1
  222. package/node_modules/@mrclrchtr/supi-lsp/src/session/service-registry.ts +1 -1
  223. package/node_modules/@mrclrchtr/supi-lsp/src/session/settings-registration.ts +1 -1
  224. package/node_modules/@mrclrchtr/supi-lsp/src/tool/guidance.ts +6 -15
  225. package/node_modules/@mrclrchtr/supi-lsp/src/tool/names.ts +12 -4
  226. package/node_modules/@mrclrchtr/supi-lsp/src/tool/register-tools.ts +2 -3
  227. package/node_modules/@mrclrchtr/supi-lsp/src/tool/service-actions.ts +141 -0
  228. package/node_modules/@mrclrchtr/supi-lsp/src/tool/tool-specs.ts +93 -93
  229. package/node_modules/@mrclrchtr/supi-lsp/src/utils.ts +1 -1
  230. package/node_modules/@mrclrchtr/supi-lsp/src/workspace-change.ts +40 -0
  231. package/node_modules/@mrclrchtr/supi-tree-sitter/README.md +26 -15
  232. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/package.json +18 -3
  233. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/api.ts +27 -82
  234. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/config/config.ts +1 -1
  235. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
  236. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
  237. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/index.ts +27 -82
  238. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
  239. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
  240. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
  241. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
  242. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
  243. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
  244. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/tool-framework.ts +116 -0
  245. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
  246. package/node_modules/@mrclrchtr/supi-tree-sitter/package.json +2 -2
  247. package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/runtime.ts +1 -1
  248. package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/service-registry.ts +1 -1
  249. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/guidance.ts +29 -25
  250. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/handlers.ts +196 -0
  251. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/register-tools.ts +107 -0
  252. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/tool-specs.ts +117 -0
  253. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tree-sitter.ts +4 -300
  254. package/package.json +4 -4
  255. package/src/api.ts +16 -0
  256. package/src/architecture.ts +1 -1
  257. package/src/brief-focused.ts +5 -5
  258. package/src/brief.ts +11 -55
  259. package/src/code-intelligence.ts +12 -77
  260. package/src/index.ts +16 -0
  261. package/src/pattern-structured.ts +27 -27
  262. package/src/presentation/markdown/affected.ts +170 -0
  263. package/src/presentation/markdown/brief.ts +174 -0
  264. package/src/presentation/markdown/map.ts +54 -0
  265. package/src/presentation/markdown/overview.ts +59 -0
  266. package/src/presentation/markdown/pattern.ts +239 -0
  267. package/src/presentation/markdown/relations.ts +121 -0
  268. package/src/prioritization-signals.ts +13 -26
  269. package/src/query-params.ts +15 -0
  270. package/src/resolve-target.ts +60 -42
  271. package/src/search-helpers.ts +19 -6
  272. package/src/substrates/lsp-adapter.ts +197 -0
  273. package/src/substrates/tree-sitter-adapter.ts +173 -0
  274. package/src/substrates/types.ts +113 -0
  275. package/src/target-resolution.ts +37 -493
  276. package/src/targeting/query.ts +60 -0
  277. package/src/targeting/resolve-anchored.ts +80 -0
  278. package/src/targeting/resolve-file.ts +197 -0
  279. package/src/targeting/resolve-symbol.ts +110 -0
  280. package/src/targeting/types.ts +111 -0
  281. package/src/tool/execute-affected.ts +25 -0
  282. package/src/tool/execute-brief.ts +51 -0
  283. package/src/tool/execute-map.ts +35 -0
  284. package/src/tool/execute-pattern.ts +28 -0
  285. package/src/tool/execute-relations.ts +40 -0
  286. package/src/tool/guidance.ts +52 -12
  287. package/src/tool/register-tools.ts +32 -0
  288. package/src/tool/tool-specs.ts +165 -0
  289. package/src/tool/validation.ts +43 -0
  290. package/src/types.ts +10 -0
  291. package/src/use-case/build-overview.ts +36 -0
  292. package/src/use-case/generate-affected.ts +279 -0
  293. package/src/use-case/generate-brief.ts +324 -0
  294. package/src/use-case/generate-map.ts +176 -0
  295. package/src/use-case/generate-pattern.ts +270 -0
  296. package/src/use-case/generate-relations.ts +392 -0
  297. package/src/use-case/support/semantic-references.ts +114 -0
  298. package/src/use-case/types.ts +43 -0
  299. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/action-specs.ts +0 -92
  300. package/src/actions/affected-action.ts +0 -439
  301. package/src/actions/brief-action.ts +0 -241
  302. package/src/actions/callees-action.ts +0 -155
  303. package/src/actions/callers-action.ts +0 -282
  304. package/src/actions/implementations-action.ts +0 -208
  305. package/src/actions/index-action.ts +0 -187
  306. package/src/actions/pattern-action.ts +0 -392
  307. package/src/providers/semantic-provider.ts +0 -34
  308. package/src/providers/structural-provider.ts +0 -26
  309. package/src/tool/action-specs.ts +0 -66
  310. package/src/tool-actions.ts +0 -100
@@ -1,241 +0,0 @@
1
- // Brief action — architecture overviews and focused briefs.
2
-
3
- import * as fs from "node:fs";
4
- import * as path from "node:path";
5
- import type { TreeSitterService } from "@mrclrchtr/supi-tree-sitter/api";
6
- import { buildArchitectureModel, findModuleForPath } from "../architecture.ts";
7
- import { generateFocusedBrief, generateProjectBrief } from "../brief.ts";
8
- import { withStructuralSession } from "../providers/structural-provider.ts";
9
- import { normalizePath } from "../search-helpers.ts";
10
- import type { ActionParams } from "../tool-actions.ts";
11
- import type { CodeIntelResult } from "../types.ts";
12
-
13
- export async function executeBriefAction(
14
- params: ActionParams,
15
- cwd: string,
16
- ): Promise<CodeIntelResult> {
17
- const model = await buildArchitectureModel(cwd);
18
- if (!model) {
19
- return {
20
- content:
21
- "No project structure detected. This directory has no recognizable project metadata or source files.",
22
- details: {
23
- type: "brief" as const,
24
- data: {
25
- confidence: "unavailable",
26
- focusTarget: null,
27
- startHere: [],
28
- publicSurfaces: [],
29
- dependencySummary: null,
30
- omittedCount: 0,
31
- nextQueries: [
32
- "Add a package.json or pnpm-workspace.yaml to enable architecture analysis",
33
- ],
34
- },
35
- },
36
- };
37
- }
38
-
39
- if (params.file && params.line != null && params.character != null) {
40
- const content = await executeAnchoredBrief(params, cwd, model);
41
- const relPath = path.relative(cwd, normalizePath(params.file ?? "", cwd));
42
- const mod = findModuleForPath(model, path.resolve(cwd, relPath));
43
- return {
44
- content,
45
- details: {
46
- type: "brief" as const,
47
- data: {
48
- confidence: "structural",
49
- focusTarget: `${relPath}:${params.line}:${params.character}`,
50
- startHere: [],
51
- publicSurfaces: [],
52
- dependencySummary: mod && model ? { moduleCount: 1, edgeCount: 0 } : null,
53
- omittedCount: 0,
54
- nextQueries: [
55
- `\`code_intel callers\` with \`file: "${relPath}", line: ${params.line}, character: ${params.character}\` for call sites`,
56
- `\`code_intel affected\` with \`file: "${relPath}", line: ${params.line}, character: ${params.character}\` for impact analysis`,
57
- ],
58
- },
59
- },
60
- };
61
- }
62
-
63
- if (params.path) {
64
- const result = generateFocusedBrief(model, normalizePath(params.path, cwd));
65
- return { content: result.content, details: { type: "brief" as const, data: result.details } };
66
- }
67
-
68
- if (params.file) {
69
- const result = generateFocusedBrief(model, normalizePath(params.file, cwd));
70
- return { content: result.content, details: { type: "brief" as const, data: result.details } };
71
- }
72
-
73
- const result = generateProjectBrief(model);
74
- return { content: result.content, details: { type: "brief" as const, data: result.details } };
75
- }
76
-
77
- async function executeAnchoredBrief(
78
- params: ActionParams,
79
- cwd: string,
80
- model: NonNullable<Awaited<ReturnType<typeof buildArchitectureModel>>>,
81
- ): Promise<string> {
82
- const file = normalizePath(params.file ?? "", cwd);
83
- const line1 = params.line ?? 1;
84
- const char1 = params.character ?? 1;
85
- const relPath = path.relative(cwd, file);
86
-
87
- if (!fs.existsSync(file)) {
88
- return `**Error:** File not found: \`${params.file}\``;
89
- }
90
-
91
- const lines: string[] = [];
92
- lines.push(`# Anchored Brief: ${relPath}:${line1}:${char1}`);
93
- lines.push("");
94
-
95
- await addTreeSitterContext({ lines, relPath, line1, char1, cwd });
96
- addModuleContext(lines, model, file);
97
- addNextQueries(lines, relPath, line1, char1);
98
-
99
- return lines.join("\n");
100
- }
101
-
102
- interface TreeSitterContextInput {
103
- lines: string[];
104
- relPath: string;
105
- line1: number;
106
- char1: number;
107
- cwd: string;
108
- }
109
-
110
- async function addTreeSitterContext(input: TreeSitterContextInput): Promise<void> {
111
- const { lines, relPath, line1, char1, cwd } = input;
112
- try {
113
- await withStructuralSession(cwd, async (tsSession) => {
114
- await addNodeContext(lines, tsSession, relPath, { line: line1, char: char1 });
115
- await addOutlineContext(lines, tsSession, relPath, line1);
116
- await addImportsContext(lines, tsSession, relPath);
117
- await addExportsContext(lines, tsSession, relPath);
118
- });
119
- } catch {
120
- // Tree-sitter not available
121
- }
122
- }
123
-
124
- async function addNodeContext(
125
- lines: string[],
126
- ts: TreeSitterService,
127
- relPath: string,
128
- pos: { line: number; char: number },
129
- ): Promise<void> {
130
- const result = await ts.nodeAt(relPath, pos.line, pos.char);
131
- if (result.kind !== "success") return;
132
- const node = result.data;
133
- lines.push(
134
- `**Node:** \`${node.type}\` at ${relPath}:${node.range.startLine}:${node.range.startCharacter}`,
135
- );
136
- if (node.text && node.text.length <= 200) {
137
- lines.push("```");
138
- lines.push(node.text);
139
- lines.push("```");
140
- }
141
- lines.push("");
142
- }
143
-
144
- async function addOutlineContext(
145
- lines: string[],
146
- ts: TreeSitterService,
147
- relPath: string,
148
- line1: number,
149
- ): Promise<void> {
150
- const result = await ts.outline(relPath);
151
- if (result.kind !== "success") return;
152
- const outline = result.data;
153
-
154
- const enclosing = outline.find(
155
- (item) => item.range.startLine <= line1 && item.range.endLine >= line1,
156
- );
157
- if (enclosing) {
158
- lines.push(`**Enclosing symbol:** \`${enclosing.name}\` (${enclosing.kind})`);
159
- lines.push(`- Range: ${relPath}:${enclosing.range.startLine}–${enclosing.range.endLine}`);
160
- lines.push("");
161
- }
162
-
163
- if (outline.length > 0) {
164
- lines.push("## File Outline");
165
- const shown = outline.slice(0, 15);
166
- for (const item of shown) {
167
- const prefix = getOutlinePrefix(item.kind);
168
- lines.push(`- ${prefix} \`${item.name}\` (${item.kind}) L${item.range.startLine}`);
169
- }
170
- if (outline.length > 15) {
171
- lines.push(`- _+${outline.length - 15} more declarations_`);
172
- }
173
- lines.push("");
174
- }
175
- }
176
-
177
- function getOutlinePrefix(kind: string): string {
178
- if (kind === "function" || kind === "method") return "ƒ";
179
- if (kind === "class") return "◆";
180
- return "·";
181
- }
182
-
183
- async function addImportsContext(
184
- lines: string[],
185
- ts: TreeSitterService,
186
- relPath: string,
187
- ): Promise<void> {
188
- const result = await ts.imports(relPath);
189
- if (result.kind !== "success" || result.data.length === 0) return;
190
- lines.push("## Imports");
191
- const shown = result.data.slice(0, 10);
192
- for (const imp of shown) {
193
- lines.push(`- \`${imp.moduleSpecifier}\``);
194
- }
195
- if (result.data.length > 10) {
196
- lines.push(`- _+${result.data.length - 10} more_`);
197
- }
198
- lines.push("");
199
- }
200
-
201
- async function addExportsContext(
202
- lines: string[],
203
- ts: TreeSitterService,
204
- relPath: string,
205
- ): Promise<void> {
206
- const result = await ts.exports(relPath);
207
- if (result.kind !== "success" || result.data.length === 0) return;
208
- lines.push("## Exports");
209
- const shown = result.data.slice(0, 10);
210
- for (const exp of shown) {
211
- lines.push(`- \`${exp.name}\` (${exp.kind})`);
212
- }
213
- if (result.data.length > 10) {
214
- lines.push(`- _+${result.data.length - 10} more_`);
215
- }
216
- lines.push("");
217
- }
218
-
219
- function addModuleContext(
220
- lines: string[],
221
- model: NonNullable<Awaited<ReturnType<typeof buildArchitectureModel>>>,
222
- file: string,
223
- ): void {
224
- const mod = findModuleForPath(model, file);
225
- if (mod) {
226
- const shortName = mod.name.replace(/^@[^/]+\//, "");
227
- lines.push(`_Module: ${shortName} (\`${mod.relativePath}\`)_`);
228
- lines.push("");
229
- }
230
- }
231
-
232
- function addNextQueries(lines: string[], relPath: string, line1: number, char1: number): void {
233
- lines.push("## Next");
234
- lines.push(
235
- `- \`code_intel callers\` with \`file: "${relPath}", line: ${line1}, character: ${char1}\` for call sites`,
236
- );
237
- lines.push(
238
- `- \`code_intel affected\` with \`file: "${relPath}", line: ${line1}, character: ${char1}\` for impact analysis`,
239
- );
240
- lines.push("");
241
- }
@@ -1,155 +0,0 @@
1
- // Callees action — structural outgoing call map via Tree-sitter.
2
- // Orchestrates target resolution and formatting; delegates grammar-aware
3
- // extraction to @mrclrchtr/supi-tree-sitter/api.
4
-
5
- import * as path from "node:path";
6
- import { withStructuralSession } from "../providers/structural-provider.ts";
7
- import { resolveTarget } from "../resolve-target.ts";
8
- import { isResolvedTargetGroup } from "../semantic-action-helpers.ts";
9
- import type { ActionParams } from "../tool-actions.ts";
10
- import type { CodeIntelResult, SearchDetails } from "../types.ts";
11
-
12
- export async function executeCalleesAction(
13
- params: ActionParams,
14
- cwd: string,
15
- ): Promise<CodeIntelResult> {
16
- const target = await resolveTarget(params, cwd);
17
- if (typeof target === "string") {
18
- return {
19
- content: target,
20
- details: {
21
- type: "search" as const,
22
- data: {
23
- confidence: "unavailable",
24
- scope: null,
25
- candidateCount: 0,
26
- omittedCount: 0,
27
- nextQueries: ["Provide `file`, `line`, `character` or a `symbol` to resolve the target"],
28
- },
29
- },
30
- };
31
- }
32
-
33
- if (isResolvedTargetGroup(target)) {
34
- return {
35
- content: `**Error:** File-level callee discovery is not available for \`${path.relative(cwd, target.file)}\`.\n\nProvide \`line\` and \`character\`, or a \`symbol\` for discovery.`,
36
- details: {
37
- type: "search" as const,
38
- data: {
39
- confidence: "unavailable",
40
- scope: params.path ?? null,
41
- candidateCount: 0,
42
- omittedCount: 0,
43
- nextQueries: ["Use `file` + coordinates or `symbol` for callee lookup"],
44
- },
45
- },
46
- };
47
- }
48
-
49
- const relPath = path.relative(cwd, target.file);
50
-
51
- try {
52
- const result = await withStructuralSession(cwd, (tsSession) =>
53
- tsSession.calleesAt(relPath, target.displayLine, target.displayCharacter),
54
- );
55
-
56
- if (result.kind !== "success") {
57
- return {
58
- content: noCalleesMessage(relPath, target.displayLine, target.displayCharacter),
59
- details: {
60
- type: "search" as const,
61
- data: {
62
- confidence: "unavailable",
63
- scope: null,
64
- candidateCount: 0,
65
- omittedCount: 0,
66
- nextQueries: [
67
- 'Use `lsp_lookup` with `kind: "hover"` for type-aware analysis on this file',
68
- ],
69
- },
70
- },
71
- };
72
- }
73
-
74
- const { enclosingScope, callees } = result.data;
75
-
76
- if (callees.length === 0) {
77
- return {
78
- content: noCalleesMessage(relPath, target.displayLine, target.displayCharacter),
79
- details: {
80
- type: "search" as const,
81
- data: {
82
- confidence: "structural",
83
- scope: null,
84
- candidateCount: 0,
85
- omittedCount: 0,
86
- nextQueries: [
87
- 'Use `tree_sitter` with `action: "outline"` to explore the enclosing function',
88
- ],
89
- },
90
- },
91
- };
92
- }
93
-
94
- const content = formatCallees(callees, enclosingScope.name, relPath, params.maxResults ?? 8);
95
- const details: SearchDetails = {
96
- confidence: "structural",
97
- scope: null,
98
- candidateCount: callees.length,
99
- omittedCount: Math.max(0, callees.length - (params.maxResults ?? 8)),
100
- nextQueries: [
101
- 'Use `lsp_lookup` with `kind: "hover"` for precise type information on callees',
102
- ],
103
- };
104
- return { content, details: { type: "search" as const, data: details } };
105
- } catch {
106
- return {
107
- content: noCalleesMessage(relPath, target.displayLine, target.displayCharacter),
108
- details: {
109
- type: "search" as const,
110
- data: {
111
- confidence: "unavailable",
112
- scope: null,
113
- candidateCount: 0,
114
- omittedCount: 0,
115
- nextQueries: [
116
- 'Use `lsp_lookup` with `kind: "hover"` for type-aware analysis on this file',
117
- ],
118
- },
119
- },
120
- };
121
- }
122
- }
123
-
124
- function formatCallees(
125
- callees: Array<{ name: string; range: { startLine: number } }>,
126
- enclosingName: string,
127
- relPath: string,
128
- maxResults: number,
129
- ): string {
130
- const lines: string[] = [];
131
- lines.push(`# Callees of \`${enclosingName}\` (structural)`);
132
- lines.push("");
133
- lines.push(
134
- `**${callees.length} outgoing call${callees.length > 1 ? "s" : ""}** from \`${enclosingName}\` in \`${relPath}\``,
135
- );
136
- lines.push("");
137
-
138
- const shown = callees.slice(0, maxResults);
139
- for (const c of shown) {
140
- lines.push(`- \`${c.name}\` (L${c.range.startLine})`);
141
- }
142
- if (callees.length > maxResults) {
143
- lines.push(`- _+${callees.length - maxResults} more_`);
144
- }
145
- lines.push("");
146
- lines.push(
147
- '_Structural analysis — may include unresolved or qualified names. Use `lsp_lookup` with `kind: "hover"` for precise type information._',
148
- );
149
- lines.push("");
150
- return lines.join("\n");
151
- }
152
-
153
- function noCalleesMessage(relPath: string, line: number, char: number): string {
154
- return `No callee data available for ${relPath}:${line}:${char}.\n\nUse \`tree_sitter\` with \`action: "callees"\` for structural drill-down.`;
155
- }
@@ -1,282 +0,0 @@
1
- // Callers action — find call sites for a symbol.
2
-
3
- import * as path from "node:path";
4
- import { getSemanticService } from "../providers/semantic-provider.ts";
5
- import { resolveTarget } from "../resolve-target.ts";
6
- import {
7
- escapeRegex,
8
- filterOutDeclaration,
9
- isInProjectPath,
10
- normalizePath,
11
- runRipgrep,
12
- uriToFile,
13
- } from "../search-helpers.ts";
14
- import {
15
- dedupeFileLineRefs,
16
- highestConfidence,
17
- isResolvedTargetGroup,
18
- } from "../semantic-action-helpers.ts";
19
- import type { ResolvedTarget, ResolvedTargetGroup } from "../target-resolution.ts";
20
- import type { ActionParams } from "../tool-actions.ts";
21
- import type { CodeIntelResult, ConfidenceMode, SearchDetails } from "../types.ts";
22
-
23
- export async function executeCallersAction(
24
- params: ActionParams,
25
- cwd: string,
26
- ): Promise<CodeIntelResult> {
27
- const target = await resolveTarget(params, cwd);
28
- if (typeof target === "string") {
29
- return {
30
- content: target,
31
- details: {
32
- type: "search" as const,
33
- data: {
34
- confidence: "unavailable",
35
- scope: null,
36
- candidateCount: 0,
37
- omittedCount: 0,
38
- nextQueries: ["Provide `file`, `line`, `character` or a `symbol` to resolve the target"],
39
- },
40
- },
41
- };
42
- }
43
-
44
- if (isResolvedTargetGroup(target)) {
45
- return executeFileLevelCallers(target, params, cwd);
46
- }
47
-
48
- const result = await collectCallerRefs(target, params, cwd);
49
- if (result.refs.length > 0) {
50
- const content = formatTargetCallers(
51
- `Callers of \`${target.name ?? "symbol"}\``,
52
- result,
53
- cwd,
54
- params,
55
- );
56
- const details: SearchDetails = {
57
- confidence: result.confidence,
58
- scope: params.path ?? null,
59
- candidateCount: result.candidateCount,
60
- omittedCount: result.externalCount,
61
- nextQueries: [
62
- "`code_intel affected` for impact analysis",
63
- "`code_intel pattern` with broader scope for additional matches",
64
- ],
65
- };
66
- return { content, details: { type: "search" as const, data: details } };
67
- }
68
-
69
- if (target.name) {
70
- return {
71
- content: `No references found for \`${target.name}\` (${result.confidence}).`,
72
- details: {
73
- type: "search" as const,
74
- data: {
75
- confidence: result.confidence,
76
- scope: params.path ?? null,
77
- candidateCount: 0,
78
- omittedCount: 0,
79
- nextQueries: ["Enable LSP for `semantic` caller accuracy"],
80
- },
81
- },
82
- };
83
- }
84
-
85
- const relPath = path.relative(cwd, target.file);
86
- return {
87
- content: `No caller data available for ${relPath}:${target.displayLine}:${target.displayCharacter}. LSP may not be active.\n\nTry \`code_intel pattern\` with the symbol name for text-search matches.`,
88
- details: {
89
- type: "search" as const,
90
- data: {
91
- confidence: "unavailable",
92
- scope: params.path ?? null,
93
- candidateCount: 0,
94
- omittedCount: 0,
95
- nextQueries: ["Enable LSP for semantic caller resolution, or try `code_intel pattern`"],
96
- },
97
- },
98
- };
99
- }
100
-
101
- interface CallerRef {
102
- file: string;
103
- line: number;
104
- }
105
-
106
- interface CallerCollection {
107
- refs: CallerRef[];
108
- confidence: ConfidenceMode;
109
- externalCount: number;
110
- candidateCount: number;
111
- }
112
-
113
- async function executeFileLevelCallers(
114
- targetGroup: ResolvedTargetGroup,
115
- params: ActionParams,
116
- cwd: string,
117
- ): Promise<CodeIntelResult> {
118
- const perTarget = await Promise.all(
119
- targetGroup.targets.map(async (target) => ({
120
- target,
121
- result: await collectCallerRefs(target, params, cwd),
122
- })),
123
- );
124
-
125
- const withRefs = perTarget.filter((entry) => entry.result.refs.length > 0);
126
- const uniqueRefs = dedupeFileLineRefs(withRefs.flatMap((entry) => entry.result.refs));
127
- const confidence = highestConfidence(withRefs.map((entry) => entry.result.confidence));
128
- const externalCount = withRefs.reduce((sum, entry) => sum + entry.result.externalCount, 0);
129
-
130
- const lines: string[] = [];
131
- lines.push(`# Callers in \`${targetGroup.displayName}\``);
132
- lines.push("");
133
- lines.push(
134
- `**${targetGroup.targets.length} exported target${targetGroup.targets.length !== 1 ? "s" : ""}** | **${uniqueRefs.length} reference${uniqueRefs.length !== 1 ? "s" : ""}** (${confidence})`,
135
- );
136
- if (externalCount > 0) {
137
- lines.push(`_+${externalCount} external reference${externalCount !== 1 ? "s" : ""}_`);
138
- }
139
- lines.push("");
140
-
141
- for (const entry of withRefs) {
142
- lines.push(`## \`${entry.target.name ?? "symbol"}\``);
143
- addRefList(lines, entry.result.refs, cwd, params.maxResults ?? 5);
144
- lines.push("");
145
- }
146
-
147
- if (withRefs.length === 0) {
148
- lines.push("No caller references found for the discovered file-level targets.");
149
- lines.push("");
150
- }
151
-
152
- const details: SearchDetails = {
153
- confidence,
154
- scope: params.path ?? null,
155
- candidateCount: uniqueRefs.length,
156
- omittedCount: externalCount,
157
- nextQueries: [
158
- "`code_intel affected` for impact analysis",
159
- "Use `file` + coordinates to drill into one symbol precisely",
160
- ],
161
- };
162
-
163
- return { content: lines.join("\n"), details: { type: "search" as const, data: details } };
164
- }
165
-
166
- // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: LSP-first caller collection with fallback and declaration filtering is clearest in one helper
167
- async function collectCallerRefs(
168
- target: ResolvedTarget,
169
- params: ActionParams,
170
- cwd: string,
171
- ): Promise<CallerCollection> {
172
- const lsp = await getSemanticService(cwd, { waitForReady: true });
173
-
174
- if (lsp) {
175
- const refs = await lsp.references(target.file, target.position);
176
- if (refs && refs.length > 0) {
177
- const filtered = filterOutDeclaration(refs, target.file, target.position);
178
- const projectRefs: CallerRef[] = [];
179
- let externalCount = 0;
180
- for (const ref of refs) {
181
- const filePath = uriToFile(ref.uri);
182
- if (!isInProjectPath(filePath, cwd)) {
183
- externalCount++;
184
- }
185
- }
186
- for (const ref of filtered) {
187
- const filePath = uriToFile(ref.uri);
188
- if (isInProjectPath(filePath, cwd)) {
189
- projectRefs.push({ file: path.relative(cwd, filePath), line: ref.range.start.line + 1 });
190
- }
191
- }
192
- if (projectRefs.length > 0) {
193
- return {
194
- refs: projectRefs,
195
- confidence: "semantic",
196
- externalCount,
197
- candidateCount: projectRefs.length,
198
- };
199
- }
200
- }
201
- }
202
-
203
- if (!target.name) {
204
- return { refs: [], confidence: "unavailable", externalCount: 0, candidateCount: 0 };
205
- }
206
-
207
- const scopePath = params.path ? normalizePath(params.path, cwd) : cwd;
208
- const pattern = `\\b${escapeRegex(target.name)}\\b`;
209
- const matches = runRipgrep(pattern, scopePath, cwd, { maxMatches: (params.maxResults ?? 8) * 3 });
210
- const refs = matches
211
- .filter((match) => !isDeclarationMatch(match.file, match.line, target, cwd))
212
- .map((match) => ({
213
- file: path.relative(cwd, path.resolve(cwd, match.file)),
214
- line: match.line,
215
- }));
216
-
217
- return { refs, confidence: "heuristic", externalCount: 0, candidateCount: refs.length };
218
- }
219
-
220
- function formatTargetCallers(
221
- title: string,
222
- result: CallerCollection,
223
- cwd: string,
224
- params: ActionParams,
225
- ): string {
226
- const lines: string[] = [];
227
- lines.push(`# ${title}`);
228
- lines.push("");
229
- lines.push(
230
- `**${result.candidateCount} reference${result.candidateCount !== 1 ? "s" : ""}** (${result.confidence})`,
231
- );
232
- if (result.externalCount > 0) {
233
- lines.push(
234
- `_+${result.externalCount} external reference${result.externalCount !== 1 ? "s" : ""}_`,
235
- );
236
- }
237
- lines.push("");
238
- addRefList(lines, result.refs, cwd, params.maxResults ?? 5);
239
- return lines.join("\n");
240
- }
241
-
242
- function addRefList(lines: string[], refs: CallerRef[], cwd: string, maxResults: number): void {
243
- const byFile = groupRefsByFile(refs, cwd);
244
- let shown = 0;
245
- for (const [file, locations] of byFile) {
246
- if (shown >= maxResults) break;
247
- lines.push(`### ${file}`);
248
- for (const loc of locations.slice(0, 5)) {
249
- lines.push(`- L${loc}`);
250
- }
251
- if (locations.length > 5) {
252
- lines.push(`- _+${locations.length - 5} more in this file_`);
253
- }
254
- lines.push("");
255
- shown++;
256
- }
257
-
258
- if (byFile.size > maxResults) {
259
- lines.push(
260
- `_+${byFile.size - maxResults} more files omitted. Narrow with \`path\` or increase \`maxResults\`._`,
261
- );
262
- }
263
- }
264
-
265
- function groupRefsByFile(refs: CallerRef[], _cwd: string): Map<string, number[]> {
266
- const byFile = new Map<string, number[]>();
267
- for (const ref of refs) {
268
- const group = byFile.get(ref.file) ?? [];
269
- group.push(ref.line);
270
- byFile.set(ref.file, group);
271
- }
272
- return byFile;
273
- }
274
-
275
- function isDeclarationMatch(
276
- file: string,
277
- line: number,
278
- target: ResolvedTarget,
279
- cwd: string,
280
- ): boolean {
281
- return path.resolve(cwd, file) === target.file && line === target.displayLine;
282
- }