@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
@@ -7,26 +7,19 @@ import { executeMapTool } from "./execute-map.ts";
7
7
  import { executePatternTool } from "./execute-pattern.ts";
8
8
  import { executeRelationsTool } from "./execute-relations.ts";
9
9
 
10
- const PathParam = Type.String({ description: "Scope or focus path (package, directory, or file)" });
11
- const FileParam = Type.String({
12
- description:
13
- "Anchored target file (use with line/character) or a file-level semantic target where supported",
14
- });
15
- const LineParam = Type.Number({ description: "1-based line number for anchored target" });
16
- const CharacterParam = Type.Number({
17
- description: "1-based character column (UTF-16) for anchored target",
18
- });
19
- const SymbolParam = Type.String({ description: "Symbol name for discovery-based resolution" });
20
- const PatternParam = Type.String({ description: "Text search pattern" });
21
- const RegexParam = Type.Boolean({ description: "Use regex semantics instead of literal matching" });
22
- const ExportedOnlyParam = Type.Boolean({ description: "Limit discovery to exported symbols" });
23
- const MaxResultsParam = Type.Number({ description: "Maximum results to return" });
24
- const ContextLinesParam = Type.Number({ description: "Context lines around matches" });
25
- const SummaryParam = Type.Boolean({
26
- description: "Aggregate counts by directory instead of line-level matches",
27
- });
10
+ const PathParam = Type.String({ description: "Scope path" });
11
+ const FileParam = Type.String({ description: "Target file" });
12
+ const LineParam = Type.Number({ description: "1-based line" });
13
+ const CharacterParam = Type.Number({ description: "1-based UTF-16 column" });
14
+ const SymbolParam = Type.String({ description: "Symbol name" });
15
+ const PatternParam = Type.String({ description: "Search pattern" });
16
+ const RegexParam = Type.Boolean({ description: "Regex search" });
17
+ const ExportedOnlyParam = Type.Boolean({ description: "Exported symbols only" });
18
+ const MaxResultsParam = Type.Number({ description: "Max results" });
19
+ const ContextLinesParam = Type.Number({ description: "Context lines" });
20
+ const SummaryParam = Type.Boolean({ description: "Summarize by directory" });
28
21
  const StructuredPatternKindParam = Type.String({
29
- description: "Structured pattern kind (`definition` | `export` | `import`)",
22
+ description: "Structured kind: definition | export | import",
30
23
  });
31
24
 
32
25
  export const CODE_INTELLIGENCE_TOOL_NAMES = [
@@ -57,7 +50,7 @@ const CodeBriefParameters = Type.Object(
57
50
 
58
51
  const CodeMapParameters = Type.Object(
59
52
  {
60
- path: Type.Optional(Type.String({ description: "Project, package, or directory path to map" })),
53
+ path: Type.Optional(Type.String({ description: "Project/package/dir path" })),
61
54
  },
62
55
  { additionalProperties: false },
63
56
  );
@@ -115,12 +108,11 @@ export const CODE_INTELLIGENCE_TOOL_SPECS = [
115
108
  {
116
109
  name: "code_brief",
117
110
  label: "Code Brief",
118
- description:
119
- "Code brief tool interpretive orientation for a project, package, directory, file, or symbol. Use code_brief when you need prioritized context and start-here guidance rather than raw search output.",
120
- promptSnippet: "code_brief — interpretive orientation and start-here guidance",
111
+ description: "Prioritized brief for a project, package, directory, file, or symbol.",
112
+ promptSnippet: "code_brief — prioritized code orientation",
121
113
  basePromptGuidelines: [
122
- "Use code_brief for a project, package, directory, file, or symbol overview when you need prioritized context.",
123
- "Use code_brief before deeper drill-down when you want a start-here recommendation instead of raw inventory output.",
114
+ "Use code_brief for prioritized orientation on a project, package, file, or symbol.",
115
+ "Use code_brief before deeper drill-down when you need a start-here recommendation.",
124
116
  ],
125
117
  parameters: CodeBriefParameters,
126
118
  run: (params, ctx) => executeBriefTool(params as Parameters<typeof executeBriefTool>[0], ctx),
@@ -128,26 +120,19 @@ export const CODE_INTELLIGENCE_TOOL_SPECS = [
128
120
  {
129
121
  name: "code_map",
130
122
  label: "Code Map",
131
- description:
132
- "Code map tool — factual inventory for a repo, package, or directory. Use code_map when you want counts, child directories, language mix, and landmark files without interpretive guidance.",
133
- promptSnippet: "code_map factual project, package, or directory inventory",
134
- basePromptGuidelines: [
135
- "Use code_map for a factual repo, package, or directory map when you need counts, landmark files, and local structure without interpretation.",
136
- "Use code_map with `path` for any directory path you want to inventory; code_map should stay factual rather than prioritized.",
137
- ],
123
+ description: "Factual map of a repo, package, or directory.",
124
+ promptSnippet: "code_map — factual repo or directory map",
125
+ basePromptGuidelines: ["Use code_map for counts, directories, language mix, and landmarks."],
138
126
  parameters: CodeMapParameters,
139
127
  run: (params, ctx) => executeMapTool(params as Parameters<typeof executeMapTool>[0], ctx),
140
128
  },
141
129
  {
142
130
  name: "code_relations",
143
131
  label: "Code Relations",
144
- description:
145
- 'Code relations tool trace callers, callees, or implementations for a resolved target. Use code_relations with `kind: "callers" | "callees" | "implementations"` when you need semantic or structural relationships rather than broad search.',
146
- promptSnippet: "code_relations — callers, callees, or implementations for a resolved target",
132
+ description: "Trace callers, callees, or implementations for a resolved target.",
133
+ promptSnippet: "code_relations — callers, callees, or implementations",
147
134
  basePromptGuidelines: [
148
- 'Use code_relations with `kind: "callers"` to find who invokes a symbol or file-level surface.',
149
- 'Use code_relations with `kind: "callees"` to inspect outgoing calls from a function or method at a known position.',
150
- 'Use code_relations with `kind: "implementations"` to find which concrete types implement a declaration.',
135
+ "Use code_relations(kind) for `callers`, `callees`, or `implementations`.",
151
136
  ],
152
137
  parameters: CodeRelationsParameters,
153
138
  run: (params, ctx) =>
@@ -156,12 +141,10 @@ export const CODE_INTELLIGENCE_TOOL_SPECS = [
156
141
  {
157
142
  name: "code_affected",
158
143
  label: "Code Affected",
159
- description:
160
- "Code affected tool estimate blast radius, downstream impact, and risk for a target. Use code_affected before edits when you need an impact-oriented view rather than a plain relationship list.",
161
- promptSnippet: "code_affected — blast radius, downstream impact, and risk",
144
+ description: "Estimate blast radius and downstream impact for a target.",
145
+ promptSnippet: "code_affected — blast radius and impact",
162
146
  basePromptGuidelines: [
163
- "Use code_affected before edits when you need blast radius, downstream impact, and likely follow-up checks.",
164
- "Use code_affected after you have a concrete file/position or symbol target to estimate change risk.",
147
+ "Use code_affected before edits to estimate blast radius and follow-up checks.",
165
148
  ],
166
149
  parameters: CodeAffectedParameters,
167
150
  run: (params, ctx) =>
@@ -170,12 +153,10 @@ export const CODE_INTELLIGENCE_TOOL_SPECS = [
170
153
  {
171
154
  name: "code_pattern",
172
155
  label: "Code Pattern",
173
- description:
174
- "Code pattern tool — explicit literal, regex, or structured search within a bounded scope. Use code_pattern when you intentionally want search behavior rather than semantic or structural relationships.",
175
- promptSnippet: "code_pattern — explicit literal, regex, or structured search",
156
+ description: "Run explicit search with literal, regex, or structured matching.",
157
+ promptSnippet: "code_pattern — explicit code search",
176
158
  basePromptGuidelines: [
177
- "Use code_pattern for explicit literal or regex search within a bounded path.",
178
- 'Use code_pattern with `kind: "definition" | "export" | "import"` for structured search instead of plain text matching.',
159
+ "Use code_pattern for literal, regex, or structured search in a bounded path.",
179
160
  ],
180
161
  parameters: CodePatternParameters,
181
162
  run: (params, ctx) =>
@@ -0,0 +1,36 @@
1
+ // Typed overview data builder from ArchitectureModel.
2
+
3
+ import type { ArchitectureModel } from "../architecture.ts";
4
+ import { formatGitContext, gatherGitContext } from "../git-context.ts";
5
+ import type { OverviewData, OverviewModule } from "./types.ts";
6
+
7
+ /**
8
+ * Build structured overview data from an architecture model.
9
+ * No markdown rendering — callers pass the result to a presentation renderer.
10
+ */
11
+ export function buildOverviewData(model: ArchitectureModel): OverviewData | null {
12
+ if (model.modules.length === 0) return null;
13
+
14
+ const dependedOn = new Set(model.edges.map((e) => e.to));
15
+
16
+ const modules: OverviewModule[] = model.modules.slice(0, 8).map((mod) => ({
17
+ name: mod.name,
18
+ shortName: mod.name.replace(/^@[^/]+\//, ""),
19
+ description: mod.description,
20
+ isLeaf: !dependedOn.has(mod.name),
21
+ internalDeps: mod.internalDeps,
22
+ }));
23
+
24
+ const omittedModuleCount = Math.max(0, model.modules.length - 8);
25
+
26
+ const gitCtx = gatherGitContext(model.root);
27
+ const gitContextOverview = gitCtx ? formatGitContext(gitCtx) : null;
28
+
29
+ return {
30
+ projectName: model.name,
31
+ projectDescription: model.description,
32
+ modules,
33
+ omittedModuleCount,
34
+ gitContextOverview,
35
+ };
36
+ }
@@ -0,0 +1,279 @@
1
+ // Affected orchestration use-case — blast-radius analysis for a symbol change.
2
+ // Coordinates target resolution, reference collection, architecture analysis, and
3
+ // returns fully rendered content + details metadata.
4
+
5
+ import * as path from "node:path";
6
+ import { buildArchitectureModel, findModuleForPath, getDependents } from "../architecture.ts";
7
+ import {
8
+ renderAffectedFileLevel,
9
+ renderAffectedSingle,
10
+ } from "../presentation/markdown/affected.ts";
11
+ import { summarizePrioritySignalsForFiles } from "../prioritization-signals.ts";
12
+ import { resolveTarget } from "../resolve-target.ts";
13
+ import { isResolvedTargetGroup } from "../semantic-action-helpers.ts";
14
+ import type { SemanticSubstrate } from "../substrates/types.ts";
15
+ import type { ResolvedTarget, ResolvedTargetGroup } from "../target-resolution.ts";
16
+ import type { AffectedDetails, CodeIntelResult, ConfidenceMode } from "../types.ts";
17
+ import {
18
+ aggregatePerTarget,
19
+ collectReferences,
20
+ type ReferenceCollection,
21
+ } from "./support/semantic-references.ts";
22
+
23
+ export interface AffectedInput {
24
+ file?: string;
25
+ line?: number;
26
+ character?: number;
27
+ symbol?: string;
28
+ exportedOnly?: boolean;
29
+ maxResults?: number;
30
+ }
31
+
32
+ export interface AffectedDeps {
33
+ cwd: string;
34
+ }
35
+
36
+ /** Execute the affected use-case — target resolution, reference collection, analysis, and rendering. */
37
+ export async function executeAffected(
38
+ input: AffectedInput,
39
+ deps: AffectedDeps,
40
+ ): Promise<CodeIntelResult> {
41
+ const semantic: SemanticSubstrate = await import("../substrates/lsp-adapter.ts").then((m) =>
42
+ m.createSemanticSubstrate(deps.cwd),
43
+ );
44
+ const target = await resolveTarget(input, deps.cwd, semantic);
45
+
46
+ if (typeof target === "string") {
47
+ return {
48
+ content: target,
49
+ details: {
50
+ type: "affected" as const,
51
+ data: {
52
+ confidence: "unavailable",
53
+ directCount: 0,
54
+ downstreamCount: 0,
55
+ riskLevel: "low",
56
+ checkNext: [],
57
+ likelyTests: [],
58
+ omittedCount: 0,
59
+ nextQueries: ["Provide `file`, `line`, `character` or a `symbol` to resolve the target"],
60
+ },
61
+ },
62
+ };
63
+ }
64
+
65
+ if (isResolvedTargetGroup(target)) {
66
+ return executeFileLevelAffected(target, input, deps.cwd, semantic);
67
+ }
68
+
69
+ const symbolName =
70
+ target.name ?? `symbol at ${path.relative(deps.cwd, target.file)}:${target.displayLine}`;
71
+ return executeSingleAffected(target, symbolName, input, deps.cwd, semantic);
72
+ }
73
+
74
+ // ── Single target ────────────────────────────────────────────────────
75
+
76
+ interface ImpactAnalysis {
77
+ confidence: ConfidenceMode;
78
+ affectedFiles: Set<string>;
79
+ affectedModules: Set<string>;
80
+ downstreamCount: number;
81
+ checkNext: string[];
82
+ likelyTests: string[];
83
+ riskLevel: "low" | "medium" | "high";
84
+ externalRefs: number;
85
+ }
86
+
87
+ // biome-ignore lint/complexity/useMaxParams: substrate injection and analysis inputs keep related parameters explicit
88
+ async function executeSingleAffected(
89
+ target: ResolvedTarget,
90
+ symbolName: string,
91
+ input: AffectedInput,
92
+ cwd: string,
93
+ semantic: SemanticSubstrate,
94
+ ): Promise<CodeIntelResult> {
95
+ const refs = await collectReferences(target, cwd, semantic);
96
+ const model = await buildArchitectureModel(cwd);
97
+ const analysis = analyzeImpact(refs, model, target.name, cwd);
98
+
99
+ const prioritySignals = summarizePrioritySignalsForFiles(
100
+ cwd,
101
+ analysis.affectedFiles.size > 0 ? [...analysis.affectedFiles] : [target.file],
102
+ );
103
+
104
+ const content = renderAffectedSingle({
105
+ symbolName,
106
+ refs,
107
+ analysis,
108
+ maxResults: input.maxResults ?? 8,
109
+ prioritySignals,
110
+ target,
111
+ cwd,
112
+ });
113
+
114
+ const details: AffectedDetails = {
115
+ confidence: analysis.confidence,
116
+ directCount: refs.refs.length,
117
+ downstreamCount: analysis.downstreamCount,
118
+ riskLevel: analysis.riskLevel,
119
+ checkNext: analysis.checkNext,
120
+ likelyTests: analysis.likelyTests,
121
+ omittedCount: computeOmittedCount(analysis.externalRefs, analysis.affectedFiles.size, input),
122
+ nextQueries: buildAffectedNextQueries(target, symbolName, cwd),
123
+ prioritySignals,
124
+ };
125
+
126
+ return { content, details: { type: "affected" as const, data: details } };
127
+ }
128
+
129
+ // ── File-level target group ──────────────────────────────────────────
130
+
131
+ async function executeFileLevelAffected(
132
+ targetGroup: ResolvedTargetGroup,
133
+ input: AffectedInput,
134
+ cwd: string,
135
+ semantic: SemanticSubstrate,
136
+ ): Promise<CodeIntelResult> {
137
+ const perTarget = await Promise.all(
138
+ targetGroup.targets.map(async (t) => ({
139
+ target: t,
140
+ refs: await collectReferences(t, cwd, semantic),
141
+ })),
142
+ );
143
+
144
+ const aggregated = await aggregatePerTarget(targetGroup.targets, (t) =>
145
+ collectReferences(t, cwd, semantic),
146
+ );
147
+
148
+ const model = await buildArchitectureModel(cwd);
149
+ const analysis = analyzeImpact(aggregated, model, null, cwd);
150
+
151
+ const prioritySignals = summarizePrioritySignalsForFiles(
152
+ cwd,
153
+ analysis.affectedFiles.size > 0 ? [...analysis.affectedFiles] : [targetGroup.file],
154
+ );
155
+
156
+ const content = renderAffectedFileLevel({
157
+ targetGroup,
158
+ perTarget,
159
+ aggregated,
160
+ analysis,
161
+ maxResults: input.maxResults ?? 8,
162
+ prioritySignals,
163
+ });
164
+
165
+ const details: AffectedDetails = {
166
+ confidence: analysis.confidence,
167
+ directCount: aggregated.refs.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, input),
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, details: { type: "affected" as const, data: details } };
181
+ }
182
+
183
+ // ── Impact analysis ──────────────────────────────────────────────────
184
+
185
+ // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: impact analysis with downstream module traversal and multiple risk dimensions is clearer as one function
186
+ function analyzeImpact(
187
+ result: ReferenceCollection,
188
+ model: Awaited<ReturnType<typeof buildArchitectureModel>>,
189
+ _symbolName: string | null,
190
+ cwd: string,
191
+ ): ImpactAnalysis {
192
+ const affectedFiles = new Set(result.refs.map((r) => r.file));
193
+ const affectedModules = new Set<string>();
194
+ const checkNext: string[] = [];
195
+ let downstreamCount = 0;
196
+
197
+ if (model) {
198
+ for (const file of affectedFiles) {
199
+ const mod = findModuleForPath(model, path.resolve(cwd, file));
200
+ if (mod) affectedModules.add(mod.name);
201
+ }
202
+
203
+ const downstreamModules = new Set<string>();
204
+ const queue = [...affectedModules];
205
+ while (queue.length > 0) {
206
+ const modName = queue.shift() as string;
207
+ for (const dep of getDependents(model, modName)) {
208
+ if (!affectedModules.has(dep.name) && !downstreamModules.has(dep.name)) {
209
+ downstreamModules.add(dep.name);
210
+ queue.push(dep.name);
211
+ }
212
+ }
213
+ }
214
+ downstreamCount = downstreamModules.size;
215
+
216
+ for (const modName of [...affectedModules, ...downstreamModules].slice(0, 3)) {
217
+ const mod = model.modules.find((m) => m.name === modName);
218
+ if (mod) checkNext.push(`${mod.name.replace(/^@[^/]+\//, "")} (\`${mod.relativePath}\`)`);
219
+ }
220
+ }
221
+
222
+ const likelyTests = findLikelyTests(affectedFiles);
223
+ const riskLevel = assessRisk(
224
+ result.refs.length + result.externalCount,
225
+ affectedModules.size,
226
+ downstreamCount,
227
+ );
228
+
229
+ return {
230
+ confidence: result.confidence,
231
+ affectedFiles,
232
+ affectedModules,
233
+ downstreamCount,
234
+ checkNext,
235
+ likelyTests,
236
+ riskLevel,
237
+ externalRefs: result.externalCount,
238
+ };
239
+ }
240
+
241
+ function findLikelyTests(affectedFiles: Set<string>): string[] {
242
+ const tests: string[] = [];
243
+ for (const file of affectedFiles) {
244
+ if (file.includes("test") || file.includes("spec") || file.includes("__tests__")) {
245
+ tests.push(file);
246
+ }
247
+ }
248
+ return tests.slice(0, 3);
249
+ }
250
+
251
+ function assessRisk(
252
+ totalRefs: number,
253
+ moduleCount: number,
254
+ downstreamCount: number,
255
+ ): "low" | "medium" | "high" {
256
+ if (totalRefs > 10 || moduleCount > 3 || downstreamCount > 1) return "high";
257
+ if (totalRefs > 3 || moduleCount > 1 || downstreamCount >= 1) return "medium";
258
+ return "low";
259
+ }
260
+
261
+ function computeOmittedCount(
262
+ externalRefs: number,
263
+ affectedFileCount: number,
264
+ input: AffectedInput,
265
+ ): number {
266
+ return externalRefs + Math.max(0, affectedFileCount - (input.maxResults ?? 8));
267
+ }
268
+
269
+ function buildAffectedNextQueries(
270
+ target: ResolvedTarget,
271
+ symbolName: string,
272
+ cwd: string,
273
+ ): string[] {
274
+ const relPath = path.relative(cwd, target.file);
275
+ return [
276
+ `\`code_brief\` with \`file: "${relPath}"\`, \`line: ${target.displayLine}\`, and \`character: ${target.displayCharacter}\` for deeper context around ${symbolName}`,
277
+ `\`code_relations\` with \`kind: "callers"\`, \`file: "${relPath}"\`, \`line: ${target.displayLine}\`, and \`character: ${target.displayCharacter}\` for call sites`,
278
+ ];
279
+ }