@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
@@ -1,92 +0,0 @@
1
- /**
2
- * Single source of truth for the public `tree_sitter` action surface.
3
- *
4
- * Tool registration, validation, and prompt guidance should derive from these
5
- * specs so the action list and per-action requirements do not drift apart.
6
- */
7
- export const TREE_SITTER_ACTION_SPECS = [
8
- {
9
- name: "outline",
10
- guidanceGroup: "js-ts-structure",
11
- languageScope: "js-ts-only",
12
- requiresPosition: false,
13
- requiresQuery: false,
14
- },
15
- {
16
- name: "imports",
17
- guidanceGroup: "js-ts-structure",
18
- languageScope: "js-ts-only",
19
- requiresPosition: false,
20
- requiresQuery: false,
21
- },
22
- {
23
- name: "exports",
24
- guidanceGroup: "js-ts-structure",
25
- languageScope: "js-ts-only",
26
- requiresPosition: false,
27
- requiresQuery: false,
28
- },
29
- {
30
- name: "node_at",
31
- guidanceGroup: "node-at",
32
- languageScope: "all-supported",
33
- requiresPosition: true,
34
- requiresQuery: false,
35
- },
36
- {
37
- name: "query",
38
- guidanceGroup: "query",
39
- languageScope: "all-supported",
40
- requiresPosition: false,
41
- requiresQuery: true,
42
- },
43
- {
44
- name: "callees",
45
- guidanceGroup: "callees",
46
- languageScope: "many-supported",
47
- requiresPosition: true,
48
- requiresQuery: false,
49
- },
50
- ] as const;
51
-
52
- export type TreeSitterAction = (typeof TREE_SITTER_ACTION_SPECS)[number]["name"];
53
- export type TreeSitterActionSpec = (typeof TREE_SITTER_ACTION_SPECS)[number];
54
- export type TreeSitterGuidanceGroup = TreeSitterActionSpec["guidanceGroup"];
55
-
56
- /** Ordered action names for schemas, validation messages, and docs. */
57
- export const TREE_SITTER_ACTION_NAMES = TREE_SITTER_ACTION_SPECS.map(
58
- (spec) => spec.name,
59
- ) as readonly TreeSitterAction[];
60
-
61
- const TREE_SITTER_ACTION_NAME_SET = new Set<string>(TREE_SITTER_ACTION_NAMES);
62
- const TREE_SITTER_ACTION_SPEC_MAP = new Map<TreeSitterAction, TreeSitterActionSpec>(
63
- TREE_SITTER_ACTION_SPECS.map((spec) => [spec.name, spec]),
64
- );
65
-
66
- /** Check whether a runtime string is a supported `tree_sitter` action. */
67
- export function isTreeSitterAction(action: string): action is TreeSitterAction {
68
- return TREE_SITTER_ACTION_NAME_SET.has(action);
69
- }
70
-
71
- /** Look up the spec for one supported `tree_sitter` action. */
72
- export function getTreeSitterActionSpec(action: TreeSitterAction): TreeSitterActionSpec {
73
- const spec = TREE_SITTER_ACTION_SPEC_MAP.get(action);
74
- if (!spec) {
75
- throw new Error(`Unknown tree_sitter action: ${action}`);
76
- }
77
- return spec;
78
- }
79
-
80
- /** Get the ordered action names that belong to one prompt-guidance group. */
81
- export function getTreeSitterActionNamesByGuidanceGroup(
82
- group: TreeSitterGuidanceGroup,
83
- ): TreeSitterAction[] {
84
- return TREE_SITTER_ACTION_SPECS.filter((spec) => spec.guidanceGroup === group).map(
85
- (spec) => spec.name,
86
- );
87
- }
88
-
89
- /** Format the public action list for validation messages and docs. */
90
- export function formatTreeSitterActionList(): string {
91
- return TREE_SITTER_ACTION_NAMES.join(", ");
92
- }
@@ -1,452 +0,0 @@
1
- // Affected action — blast-radius analysis for a symbol change.
2
- // biome-ignore-all lint/nursery/noExcessiveLinesPerFile: file-level and single-target affected flows share helpers to keep the blast-radius logic in one place
3
-
4
- import * as path from "node:path";
5
- import { buildArchitectureModel, findModuleForPath, getDependents } from "../architecture.ts";
6
- import {
7
- appendPrioritySignalsSection,
8
- summarizePrioritySignalsForFiles,
9
- } from "../prioritization-signals.ts";
10
- import { getSemanticService } from "../providers/semantic-provider.ts";
11
- import type { CodeQueryParams as ActionParams } from "../query-params.ts";
12
- import { resolveTarget } from "../resolve-target.ts";
13
- import { filterOutDeclaration, isInProjectPath, uriToFile } 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 { AffectedDetails, CodeIntelResult, ConfidenceMode } from "../types.ts";
21
-
22
- export async function executeAffectedAction(
23
- params: ActionParams,
24
- cwd: string,
25
- ): Promise<CodeIntelResult> {
26
- const target = await resolveTarget(params, cwd);
27
- if (typeof target === "string") {
28
- return {
29
- content: target,
30
- details: {
31
- type: "affected" as const,
32
- data: {
33
- confidence: "unavailable",
34
- directCount: 0,
35
- downstreamCount: 0,
36
- riskLevel: "low",
37
- checkNext: [],
38
- likelyTests: [],
39
- omittedCount: 0,
40
- nextQueries: ["Provide `file`, `line`, `character` or a `symbol` to resolve the target"],
41
- },
42
- },
43
- };
44
- }
45
-
46
- if (isResolvedTargetGroup(target)) {
47
- return executeFileLevelAffected(target, params, cwd);
48
- }
49
-
50
- const symbolName =
51
- target.name ?? `symbol at ${path.relative(cwd, target.file)}:${target.displayLine}`;
52
- return executeSingleAffected(target, symbolName, params, cwd);
53
- }
54
-
55
- interface GatheredRef {
56
- file: string;
57
- line: number;
58
- }
59
-
60
- interface ImpactAnalysis {
61
- confidence: ConfidenceMode;
62
- affectedFiles: Set<string>;
63
- affectedModules: Set<string>;
64
- downstreamCount: number;
65
- checkNext: string[];
66
- likelyTests: string[];
67
- riskLevel: "low" | "medium" | "high";
68
- externalRefs: number;
69
- }
70
-
71
- async function executeSingleAffected(
72
- target: ResolvedTarget,
73
- symbolName: string,
74
- params: ActionParams,
75
- cwd: string,
76
- ): Promise<CodeIntelResult> {
77
- const refs = await gatherReferences(target, params, cwd);
78
- const model = await buildArchitectureModel(cwd);
79
- const analysis = analyzeImpact(refs, model, target.name, cwd);
80
-
81
- const prioritySignals = summarizePrioritySignalsForFiles(
82
- cwd,
83
- analysis.affectedFiles.size > 0 ? [...analysis.affectedFiles] : [target.file],
84
- );
85
- const content = formatAffectedOutput(
86
- symbolName,
87
- refs,
88
- analysis,
89
- params,
90
- prioritySignals,
91
- target,
92
- cwd,
93
- );
94
- const details: AffectedDetails = {
95
- confidence: analysis.confidence,
96
- directCount: refs.refs.length,
97
- downstreamCount: analysis.downstreamCount,
98
- riskLevel: analysis.riskLevel,
99
- checkNext: analysis.checkNext,
100
- likelyTests: analysis.likelyTests,
101
- omittedCount: computeOmittedCount(analysis.externalRefs, analysis.affectedFiles.size, params),
102
- nextQueries: buildAffectedNextQueries(target, symbolName, cwd),
103
- prioritySignals,
104
- };
105
- return { content, details: { type: "affected" as const, data: details } };
106
- }
107
-
108
- async function executeFileLevelAffected(
109
- targetGroup: ResolvedTargetGroup,
110
- params: ActionParams,
111
- cwd: string,
112
- ): Promise<CodeIntelResult> {
113
- const perTarget = await Promise.all(
114
- targetGroup.targets.map(async (target) => ({
115
- target,
116
- refs: await gatherReferences(target, params, cwd),
117
- })),
118
- );
119
-
120
- const combinedRefs = dedupeFileLineRefs(perTarget.flatMap((entry) => entry.refs.refs));
121
- const combinedExternal = perTarget.reduce((sum, entry) => sum + entry.refs.externalCount, 0);
122
- const combinedConfidence = highestConfidence(perTarget.map((entry) => entry.refs.confidence));
123
- const model = await buildArchitectureModel(cwd);
124
- const analysis = analyzeImpact(
125
- { refs: combinedRefs, confidence: combinedConfidence, externalCount: combinedExternal },
126
- model,
127
- null,
128
- cwd,
129
- );
130
-
131
- const prioritySignals = summarizePrioritySignalsForFiles(
132
- cwd,
133
- analysis.affectedFiles.size > 0 ? [...analysis.affectedFiles] : [targetGroup.file],
134
- );
135
-
136
- const lines: string[] = [];
137
- lines.push(`# Affected: \`${targetGroup.displayName}\``);
138
- lines.push("");
139
- const totalRefs = combinedRefs.length + combinedExternal;
140
- const refSummary =
141
- combinedExternal > 0
142
- ? `${totalRefs} refs (${combinedRefs.length} direct + ${combinedExternal} external)`
143
- : `${totalRefs} ref${totalRefs !== 1 ? "s" : ""}`;
144
- lines.push(formatFileLevelAffectedHeader(targetGroup.targets.length, refSummary, analysis));
145
- lines.push("");
146
-
147
- lines.push("## Exported Targets");
148
- for (const entry of perTarget) {
149
- lines.push(
150
- `- \`${entry.target.name ?? "symbol"}\` — ${entry.refs.refs.length} ref${entry.refs.refs.length !== 1 ? "s" : ""}`,
151
- );
152
- }
153
- lines.push("");
154
-
155
- addRiskSection(lines, analysis, totalRefs);
156
- addReferencesSection(lines, combinedRefs, params.maxResults ?? 8);
157
- appendPrioritySignalsSection(lines, prioritySignals);
158
- addCheckNextSection(lines, analysis.checkNext);
159
- addTestsSection(lines, analysis.likelyTests);
160
- lines.push("## Next");
161
- lines.push("- `code_brief` on the most-affected module for deeper context");
162
- lines.push("- Use `file` + coordinates to inspect one exported target precisely");
163
- lines.push("");
164
-
165
- const details: AffectedDetails = {
166
- confidence: analysis.confidence,
167
- directCount: combinedRefs.length,
168
- downstreamCount: analysis.downstreamCount,
169
- riskLevel: analysis.riskLevel,
170
- checkNext: analysis.checkNext,
171
- likelyTests: analysis.likelyTests,
172
- omittedCount: computeOmittedCount(analysis.externalRefs, analysis.affectedFiles.size, params),
173
- nextQueries: [
174
- "`code_brief` on the most-affected module for deeper context",
175
- "Use `file` + coordinates to inspect one exported target precisely",
176
- ],
177
- prioritySignals,
178
- };
179
-
180
- return { content: lines.join("\n"), details: { type: "affected" as const, data: details } };
181
- }
182
-
183
- async function gatherReferences(
184
- target: ResolvedTarget,
185
- _params: ActionParams,
186
- cwd: string,
187
- ): Promise<{ refs: GatheredRef[]; confidence: ConfidenceMode; externalCount: number }> {
188
- const lsp = await getSemanticService(cwd, { waitForReady: true });
189
- if (!lsp) {
190
- return { refs: [], confidence: "unavailable", externalCount: 0 };
191
- }
192
-
193
- const lspRefs = await lsp.references(target.file, target.position);
194
- if (lspRefs === null) {
195
- return { refs: [], confidence: "unavailable", externalCount: 0 };
196
- }
197
-
198
- const refs: GatheredRef[] = [];
199
- let externalCount = 0;
200
- const filtered = filterOutDeclaration(lspRefs, target.file, target.position);
201
-
202
- for (const ref of lspRefs) {
203
- const filePath = uriToFile(ref.uri);
204
- if (!isInProjectPath(filePath, cwd)) {
205
- externalCount++;
206
- }
207
- }
208
-
209
- for (const ref of filtered) {
210
- const filePath = uriToFile(ref.uri);
211
- if (isInProjectPath(filePath, cwd)) {
212
- refs.push({ file: path.relative(cwd, filePath), line: ref.range.start.line + 1 });
213
- }
214
- }
215
-
216
- return { refs, confidence: "semantic", externalCount };
217
- }
218
-
219
- // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: impact analysis with downstream module traversal
220
- function analyzeImpact(
221
- result: { refs: GatheredRef[]; confidence: ConfidenceMode; externalCount: number },
222
- model: Awaited<ReturnType<typeof buildArchitectureModel>>,
223
- symbolName: string | null,
224
- cwd: string,
225
- ): ImpactAnalysis {
226
- const affectedFiles = new Set(result.refs.map((r) => r.file));
227
- const affectedModules = new Set<string>();
228
- const checkNext: string[] = [];
229
- let downstreamCount = 0;
230
-
231
- if (model) {
232
- for (const file of affectedFiles) {
233
- const mod = findModuleForPath(model, path.resolve(cwd, file));
234
- if (mod) affectedModules.add(mod.name);
235
- }
236
-
237
- const downstreamModules = new Set<string>();
238
- const queue = [...affectedModules];
239
- while (queue.length > 0) {
240
- const modName = queue.shift() as string;
241
- for (const dep of getDependents(model, modName)) {
242
- if (!affectedModules.has(dep.name) && !downstreamModules.has(dep.name)) {
243
- downstreamModules.add(dep.name);
244
- queue.push(dep.name);
245
- }
246
- }
247
- }
248
- downstreamCount = downstreamModules.size;
249
-
250
- for (const modName of [...affectedModules, ...downstreamModules].slice(0, 3)) {
251
- const mod = model.modules.find((m) => m.name === modName);
252
- if (mod) checkNext.push(`${mod.name.replace(/^@[^/]+\//, "")} (\`${mod.relativePath}\`)`);
253
- }
254
- }
255
-
256
- const likelyTests = findLikelyTests(affectedFiles, symbolName);
257
- const totalRefs = result.refs.length + result.externalCount;
258
- const riskLevel = assessRisk(totalRefs, affectedModules.size, downstreamCount);
259
-
260
- return {
261
- confidence: result.confidence,
262
- affectedFiles,
263
- affectedModules,
264
- downstreamCount,
265
- checkNext,
266
- likelyTests,
267
- riskLevel,
268
- externalRefs: result.externalCount,
269
- };
270
- }
271
-
272
- function findLikelyTests(affectedFiles: Set<string>, _symbolName: string | null): string[] {
273
- const tests: string[] = [];
274
- for (const file of affectedFiles) {
275
- if (file.includes("test") || file.includes("spec") || file.includes("__tests__")) {
276
- tests.push(file);
277
- }
278
- }
279
- return tests.slice(0, 3);
280
- }
281
-
282
- function assessRisk(
283
- directCount: number,
284
- moduleCount: number,
285
- downstreamCount: number,
286
- ): "low" | "medium" | "high" {
287
- if (directCount > 10 || moduleCount > 3 || downstreamCount > 1) return "high";
288
- if (directCount > 3 || moduleCount > 1 || downstreamCount >= 1) return "medium";
289
- return "low";
290
- }
291
-
292
- // biome-ignore lint/complexity/useMaxParams: affected formatting keeps related inputs explicit for readability
293
- function formatAffectedOutput(
294
- symbolName: string,
295
- result: { refs: GatheredRef[]; confidence: ConfidenceMode; externalCount: number },
296
- analysis: ImpactAnalysis,
297
- params: ActionParams,
298
- prioritySignals: import("../prioritization-signals.ts").PrioritySignalsSummary | null,
299
- target: ResolvedTarget,
300
- cwd: string,
301
- ): string {
302
- const totalRefs = result.refs.length + analysis.externalRefs;
303
- const lines: string[] = [];
304
-
305
- lines.push(`# Affected: \`${symbolName}\``);
306
- lines.push("");
307
- const refSummary =
308
- analysis.externalRefs > 0
309
- ? `${totalRefs} refs (${result.refs.length} direct + ${analysis.externalRefs} external)`
310
- : `${totalRefs} ref${totalRefs !== 1 ? "s" : ""}`;
311
- lines.push(
312
- `**Risk: ${analysis.riskLevel.toUpperCase()}** | ${refSummary} | ${analysis.affectedFiles.size} file${analysis.affectedFiles.size !== 1 ? "s" : ""} | ${analysis.affectedModules.size} module${analysis.affectedModules.size !== 1 ? "s" : ""} | ${analysis.downstreamCount} downstream (${analysis.confidence})`,
313
- );
314
- if (analysis.externalRefs > 0) {
315
- lines.push(
316
- "_External references are not listed individually (node_modules, .pnpm, or out-of-tree)_",
317
- );
318
- }
319
- lines.push("");
320
-
321
- addRiskSection(lines, analysis, totalRefs);
322
- addReferencesSection(lines, result.refs, params.maxResults ?? 8);
323
- appendPrioritySignalsSection(lines, prioritySignals);
324
- addCheckNextSection(lines, analysis.checkNext);
325
- addTestsSection(lines, analysis.likelyTests);
326
- addAffectedNextQueries(lines, {
327
- target,
328
- symbolName,
329
- showBriefQuery: analysis.checkNext.length > 0,
330
- cwd,
331
- });
332
-
333
- return lines.join("\n");
334
- }
335
-
336
- // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: risk level formatting with conditional branching
337
- function addRiskSection(lines: string[], analysis: ImpactAnalysis, directCount: number): void {
338
- lines.push("## Risk Assessment");
339
- const { riskLevel, affectedFiles, affectedModules, downstreamCount } = analysis;
340
- if (riskLevel === "low") {
341
- lines.push(
342
- `\`low\` — ${directCount} ref${directCount !== 1 ? "s" : ""}, local, no downstream dependents.`,
343
- );
344
- } else if (riskLevel === "medium") {
345
- lines.push(
346
- `\`medium\` — ${directCount} ref${directCount !== 1 ? "s" : ""} across ${affectedFiles.size} file${affectedFiles.size !== 1 ? "s" : ""}${downstreamCount > 0 ? `, ${downstreamCount} downstream` : ""}.`,
347
- );
348
- } else {
349
- lines.push(
350
- `\`high\` — ${directCount} ref${directCount !== 1 ? "s" : ""} across ${affectedFiles.size} file${affectedFiles.size !== 1 ? "s" : ""} in ${affectedModules.size} module${affectedModules.size !== 1 ? "s" : ""}${downstreamCount > 0 ? `, ${downstreamCount} downstream` : ""}.`,
351
- );
352
- }
353
- lines.push("");
354
- }
355
-
356
- function addReferencesSection(lines: string[], refs: GatheredRef[], maxFiles: number): void {
357
- if (refs.length === 0) return;
358
- lines.push("## Direct References");
359
- const byFile = new Map<string, number[]>();
360
- for (const ref of refs) {
361
- const fileLines = byFile.get(ref.file) ?? [];
362
- fileLines.push(ref.line);
363
- byFile.set(ref.file, fileLines);
364
- }
365
-
366
- let shown = 0;
367
- for (const [file, fileLines] of byFile) {
368
- if (shown >= maxFiles) break;
369
- const lineStr = fileLines
370
- .slice(0, 5)
371
- .map((l) => `L${l}`)
372
- .join(", ");
373
- const extra = fileLines.length > 5 ? ` +${fileLines.length - 5} more` : "";
374
- lines.push(`- \`${file}\` ${lineStr}${extra}`);
375
- shown++;
376
- }
377
- if (byFile.size > maxFiles) {
378
- lines.push(`- _+${byFile.size - maxFiles} more files omitted_`);
379
- }
380
- lines.push("");
381
- }
382
-
383
- function addCheckNextSection(lines: string[], checkNext: string[]): void {
384
- if (checkNext.length === 0) return;
385
- lines.push("## Check Next");
386
- for (const item of checkNext.slice(0, 3)) {
387
- lines.push(`- ${item}`);
388
- }
389
- lines.push("");
390
- }
391
-
392
- function addTestsSection(lines: string[], tests: string[]): void {
393
- if (tests.length === 0) return;
394
- lines.push("## Likely Tests");
395
- for (const t of tests.slice(0, 3)) {
396
- lines.push(`- \`${t}\``);
397
- }
398
- lines.push("");
399
- }
400
-
401
- function computeOmittedCount(
402
- externalRefs: number,
403
- affectedFileCount: number,
404
- params: ActionParams,
405
- ): number {
406
- return externalRefs + Math.max(0, affectedFileCount - (params.maxResults ?? 8));
407
- }
408
-
409
- function formatFileLevelAffectedHeader(
410
- targetCount: number,
411
- refSummary: string,
412
- analysis: ImpactAnalysis,
413
- ): string {
414
- return `**Risk: ${analysis.riskLevel.toUpperCase()}** | ${targetCount} exported target${targetCount !== 1 ? "s" : ""} | ${refSummary} | ${analysis.affectedFiles.size} file${analysis.affectedFiles.size !== 1 ? "s" : ""} | ${analysis.affectedModules.size} module${analysis.affectedModules.size !== 1 ? "s" : ""} | ${analysis.downstreamCount} downstream (${analysis.confidence})`;
415
- }
416
-
417
- function addAffectedNextQueries(
418
- lines: string[],
419
- options: {
420
- target: ResolvedTarget;
421
- symbolName: string;
422
- showBriefQuery: boolean;
423
- cwd: string;
424
- },
425
- ): void {
426
- lines.push("## Next");
427
- const nextQueries = buildAffectedNextQueries(options.target, options.symbolName, options.cwd);
428
- if (options.showBriefQuery) {
429
- lines.push(`- ${nextQueries[0]}`);
430
- }
431
- lines.push(`- ${nextQueries[1]}`);
432
- lines.push("");
433
- }
434
-
435
- function buildAffectedNextQueries(
436
- target: ResolvedTarget,
437
- symbolName: string,
438
- cwd: string,
439
- ): [string, string] {
440
- const briefQuery = "`code_brief` on the most-affected module for deeper context";
441
- if (target.name) {
442
- return [
443
- briefQuery,
444
- `\`code_relations\` with \`kind: "callers"\` and \`symbol: "${symbolName}"\` for grouped call-site detail`,
445
- ];
446
- }
447
-
448
- return [
449
- briefQuery,
450
- `\`code_relations\` with \`kind: "callers"\`, \`file: "${path.relative(cwd, target.file)}"\`, \`line: ${target.displayLine}\`, and \`character: ${target.displayCharacter}\` for grouped call-site detail`,
451
- ];
452
- }