@mrclrchtr/supi-code-intelligence 1.7.0 → 1.9.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 (431) hide show
  1. package/README.md +30 -3
  2. package/node_modules/@mrclrchtr/supi-code-runtime/README.md +13 -0
  3. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/README.md +97 -0
  4. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/package.json +53 -0
  5. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/api.ts +30 -0
  6. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config-settings.ts +76 -0
  7. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config.ts +186 -0
  8. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
  9. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-messages.ts +119 -0
  10. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-provider-registry.ts +36 -0
  11. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-tag.ts +31 -0
  12. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
  13. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/debug-registry.ts +255 -0
  14. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/index.ts +30 -0
  15. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path-utils.ts +40 -0
  16. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
  17. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/project-roots.ts +170 -0
  18. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
  19. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/registry-utils.ts +86 -0
  20. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/session-utils.ts +29 -0
  21. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
  22. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-command.ts +15 -0
  23. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +41 -0
  24. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-ui.ts +226 -0
  25. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
  26. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
  27. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
  28. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/terminal.ts +60 -0
  29. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/tool-framework.ts +116 -0
  30. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
  31. package/node_modules/@mrclrchtr/supi-code-runtime/package.json +40 -0
  32. package/node_modules/@mrclrchtr/supi-code-runtime/src/api.ts +35 -0
  33. package/node_modules/@mrclrchtr/supi-code-runtime/src/capability/types.ts +68 -0
  34. package/node_modules/@mrclrchtr/supi-code-runtime/src/index.ts +31 -0
  35. package/node_modules/@mrclrchtr/supi-code-runtime/src/types.ts +110 -0
  36. package/node_modules/@mrclrchtr/supi-code-runtime/src/workspace/context.ts +41 -0
  37. package/node_modules/@mrclrchtr/supi-code-runtime/src/workspace/runtime.ts +170 -0
  38. package/node_modules/@mrclrchtr/supi-core/README.md +3 -13
  39. package/node_modules/@mrclrchtr/supi-core/package.json +13 -8
  40. package/node_modules/@mrclrchtr/supi-core/src/api.ts +26 -92
  41. package/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
  42. package/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
  43. package/node_modules/@mrclrchtr/supi-core/src/index.ts +26 -92
  44. package/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
  45. package/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
  46. package/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
  47. package/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
  48. package/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
  49. package/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
  50. package/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
  51. package/node_modules/@mrclrchtr/supi-lsp/README.md +33 -10
  52. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/README.md +13 -0
  53. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/README.md +97 -0
  54. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/package.json +57 -0
  55. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/api.ts +30 -0
  56. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config-settings.ts +76 -0
  57. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config.ts +186 -0
  58. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
  59. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-messages.ts +119 -0
  60. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-provider-registry.ts +36 -0
  61. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-tag.ts +31 -0
  62. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
  63. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/debug-registry.ts +255 -0
  64. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/index.ts +30 -0
  65. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path-utils.ts +40 -0
  66. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
  67. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/project-roots.ts +170 -0
  68. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
  69. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/registry-utils.ts +86 -0
  70. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/session-utils.ts +29 -0
  71. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
  72. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-command.ts +15 -0
  73. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +41 -0
  74. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-ui.ts +226 -0
  75. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
  76. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
  77. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
  78. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/terminal.ts +60 -0
  79. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/tool-framework.ts +116 -0
  80. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
  81. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/package.json +40 -0
  82. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/api.ts +35 -0
  83. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/capability/types.ts +68 -0
  84. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/index.ts +31 -0
  85. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/types.ts +110 -0
  86. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/workspace/context.ts +41 -0
  87. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/workspace/runtime.ts +170 -0
  88. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/README.md +3 -13
  89. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/package.json +13 -8
  90. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/api.ts +26 -92
  91. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
  92. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
  93. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/index.ts +26 -92
  94. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
  95. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
  96. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
  97. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
  98. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
  99. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
  100. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
  101. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/License.txt +11 -0
  102. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/README.md +69 -0
  103. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/browser.d.ts +6 -0
  104. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/browser.js +7 -0
  105. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/browser/main.d.ts +17 -0
  106. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/browser/main.js +76 -0
  107. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/browser/ril.d.ts +12 -0
  108. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/browser/ril.js +156 -0
  109. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/api.d.ts +14 -0
  110. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/api.js +81 -0
  111. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts +32 -0
  112. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/cancellation.js +96 -0
  113. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/connection.d.ts +358 -0
  114. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/connection.js +1214 -0
  115. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/disposable.d.ts +9 -0
  116. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/disposable.js +16 -0
  117. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/encoding.d.ts +52 -0
  118. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/encoding.js +70 -0
  119. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/events.d.ts +39 -0
  120. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/events.js +128 -0
  121. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/is.d.ts +7 -0
  122. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/is.js +35 -0
  123. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/linkedMap.d.ts +53 -0
  124. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/linkedMap.js +398 -0
  125. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageBuffer.d.ts +18 -0
  126. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js +152 -0
  127. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageReader.d.ts +77 -0
  128. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageReader.js +197 -0
  129. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageWriter.d.ts +60 -0
  130. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageWriter.js +115 -0
  131. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messages.d.ts +369 -0
  132. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messages.js +306 -0
  133. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/ral.d.ts +74 -0
  134. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/ral.js +23 -0
  135. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/semaphore.d.ts +10 -0
  136. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/semaphore.js +68 -0
  137. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.d.ts +15 -0
  138. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js +76 -0
  139. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/node/main.d.ts +63 -0
  140. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/node/main.js +257 -0
  141. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/node/ril.d.ts +13 -0
  142. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/node/ril.js +161 -0
  143. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/node.cmd +5 -0
  144. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/node.d.ts +6 -0
  145. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/node.js +7 -0
  146. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/package.json +45 -0
  147. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/thirdpartynotices.txt +16 -0
  148. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/typings/thenable.d.ts +5 -0
  149. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/License.txt +11 -0
  150. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/README.md +16 -0
  151. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/browser.d.ts +6 -0
  152. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/browser.js +7 -0
  153. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/browser/main.d.ts +4 -0
  154. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/browser/main.js +28 -0
  155. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/api.d.ts +58 -0
  156. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/api.js +77 -0
  157. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/connection.d.ts +187 -0
  158. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/connection.js +15 -0
  159. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/messages.d.ts +51 -0
  160. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/messages.js +44 -0
  161. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.$.d.ts +1 -0
  162. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.$.js +43 -0
  163. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.d.ts +86 -0
  164. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js +42 -0
  165. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.d.ts +66 -0
  166. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js +32 -0
  167. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.d.ts +35 -0
  168. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js +24 -0
  169. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.d.ts +3252 -0
  170. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.d.ts +37 -0
  171. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js +22 -0
  172. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.d.ts +341 -0
  173. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js +74 -0
  174. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.d.ts +306 -0
  175. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js +101 -0
  176. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.d.ts +109 -0
  177. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js +30 -0
  178. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.d.ts +38 -0
  179. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js +21 -0
  180. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.d.ts +110 -0
  181. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js +43 -0
  182. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.d.ts +57 -0
  183. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js +22 -0
  184. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.d.ts +86 -0
  185. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js +30 -0
  186. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.js +943 -0
  187. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.d.ts +52 -0
  188. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js +19 -0
  189. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.d.ts +106 -0
  190. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js +68 -0
  191. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.d.ts +400 -0
  192. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js +214 -0
  193. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.d.ts +107 -0
  194. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js +37 -0
  195. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.d.ts +41 -0
  196. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js +20 -0
  197. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.d.ts +223 -0
  198. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js +57 -0
  199. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.d.ts +72 -0
  200. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js +22 -0
  201. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.d.ts +38 -0
  202. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js +21 -0
  203. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.d.ts +83 -0
  204. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js +42 -0
  205. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.d.ts +74 -0
  206. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js +27 -0
  207. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/utils/is.d.ts +9 -0
  208. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js +46 -0
  209. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/node/main.d.ts +6 -0
  210. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/node/main.js +28 -0
  211. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/metaModel.schema.json +783 -0
  212. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node.cmd +5 -0
  213. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node.d.ts +6 -0
  214. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node.js +7 -0
  215. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/License.txt +11 -0
  216. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/README.md +69 -0
  217. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/browser.d.ts +6 -0
  218. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/browser.js +7 -0
  219. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/browser/main.d.ts +17 -0
  220. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/browser/main.js +76 -0
  221. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/browser/ril.d.ts +12 -0
  222. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/browser/ril.js +156 -0
  223. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/api.d.ts +14 -0
  224. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/api.js +81 -0
  225. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts +32 -0
  226. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/cancellation.js +96 -0
  227. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/connection.d.ts +358 -0
  228. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/connection.js +1212 -0
  229. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/disposable.d.ts +9 -0
  230. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/disposable.js +16 -0
  231. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/encoding.d.ts +52 -0
  232. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/encoding.js +70 -0
  233. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/events.d.ts +39 -0
  234. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/events.js +128 -0
  235. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/is.d.ts +7 -0
  236. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/is.js +35 -0
  237. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/linkedMap.d.ts +53 -0
  238. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/linkedMap.js +398 -0
  239. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageBuffer.d.ts +18 -0
  240. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js +152 -0
  241. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageReader.d.ts +77 -0
  242. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageReader.js +197 -0
  243. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageWriter.d.ts +60 -0
  244. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageWriter.js +115 -0
  245. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messages.d.ts +369 -0
  246. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messages.js +306 -0
  247. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/ral.d.ts +74 -0
  248. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/ral.js +23 -0
  249. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/semaphore.d.ts +10 -0
  250. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/semaphore.js +68 -0
  251. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.d.ts +15 -0
  252. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js +76 -0
  253. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/node/main.d.ts +63 -0
  254. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/node/main.js +257 -0
  255. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/node/ril.d.ts +13 -0
  256. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/node/ril.js +161 -0
  257. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/node.cmd +5 -0
  258. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/node.d.ts +6 -0
  259. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/node.js +7 -0
  260. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/package.json +45 -0
  261. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/thirdpartynotices.txt +16 -0
  262. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/typings/thenable.d.ts +5 -0
  263. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/package.json +45 -0
  264. package/node_modules/@mrclrchtr/{supi-tree-sitter/node_modules/web-tree-sitter/LICENSE → supi-lsp/node_modules/vscode-languageserver-protocol/thirdpartynotices.txt} +16 -6
  265. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/License.txt +11 -0
  266. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/README.md +17 -0
  267. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/esm/main.d.ts +3139 -0
  268. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/esm/main.js +2222 -0
  269. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/esm/package.json +3 -0
  270. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/umd/main.d.ts +3139 -0
  271. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/umd/main.js +2272 -0
  272. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/package.json +38 -0
  273. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/thirdpartynotices.txt +16 -0
  274. package/node_modules/@mrclrchtr/supi-lsp/package.json +9 -6
  275. package/node_modules/@mrclrchtr/supi-lsp/src/config/config.ts +1 -1
  276. package/node_modules/@mrclrchtr/supi-lsp/src/handlers/diagnostic-injection.ts +182 -0
  277. package/node_modules/@mrclrchtr/supi-lsp/src/handlers/session-lifecycle.ts +149 -0
  278. package/node_modules/@mrclrchtr/supi-lsp/src/handlers/status-command.ts +38 -0
  279. package/node_modules/@mrclrchtr/supi-lsp/src/handlers/workspace-recovery.ts +92 -0
  280. package/node_modules/@mrclrchtr/supi-lsp/src/lsp.ts +18 -414
  281. package/node_modules/@mrclrchtr/supi-lsp/src/manager/capability-index.ts +24 -0
  282. package/node_modules/@mrclrchtr/supi-lsp/src/manager/client-pool.ts +33 -0
  283. package/node_modules/@mrclrchtr/supi-lsp/src/manager/diagnostic-store.ts +51 -0
  284. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-helpers.ts +1 -1
  285. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-workspace-symbol.ts +1 -1
  286. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager.ts +1 -1
  287. package/node_modules/@mrclrchtr/supi-lsp/src/manager/recovery-coordinator.ts +37 -0
  288. package/node_modules/@mrclrchtr/supi-lsp/src/manager/workspace-router.ts +44 -0
  289. package/node_modules/@mrclrchtr/supi-lsp/src/provider/lsp-semantic-provider.ts +156 -0
  290. package/node_modules/@mrclrchtr/supi-lsp/src/session/runtime-registration.ts +39 -0
  291. package/node_modules/@mrclrchtr/supi-lsp/src/session/scanner.ts +1 -1
  292. package/node_modules/@mrclrchtr/supi-lsp/src/session/service-registry.ts +1 -1
  293. package/node_modules/@mrclrchtr/supi-lsp/src/session/settings-registration.ts +1 -1
  294. package/node_modules/@mrclrchtr/supi-lsp/src/tool/guidance.ts +5 -14
  295. package/node_modules/@mrclrchtr/supi-lsp/src/tool/names.ts +12 -4
  296. package/node_modules/@mrclrchtr/supi-lsp/src/tool/register-tools.ts +2 -4
  297. package/node_modules/@mrclrchtr/supi-lsp/src/tool/service-actions.ts +141 -0
  298. package/node_modules/@mrclrchtr/supi-lsp/src/tool/tool-specs.ts +93 -93
  299. package/node_modules/@mrclrchtr/supi-lsp/src/utils.ts +1 -1
  300. package/node_modules/@mrclrchtr/supi-lsp/src/workspace-change.ts +40 -0
  301. package/node_modules/@mrclrchtr/supi-tree-sitter/README.md +44 -16
  302. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/README.md +13 -0
  303. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/README.md +97 -0
  304. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/package.json +57 -0
  305. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/api.ts +30 -0
  306. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config-settings.ts +76 -0
  307. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config.ts +186 -0
  308. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
  309. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-messages.ts +119 -0
  310. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-provider-registry.ts +36 -0
  311. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-tag.ts +31 -0
  312. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
  313. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/debug-registry.ts +255 -0
  314. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/index.ts +30 -0
  315. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path-utils.ts +40 -0
  316. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
  317. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/project-roots.ts +170 -0
  318. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
  319. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/registry-utils.ts +86 -0
  320. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/session-utils.ts +29 -0
  321. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
  322. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-command.ts +15 -0
  323. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +41 -0
  324. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-ui.ts +226 -0
  325. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
  326. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
  327. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
  328. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/terminal.ts +60 -0
  329. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/tool-framework.ts +116 -0
  330. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
  331. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/package.json +40 -0
  332. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/api.ts +35 -0
  333. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/capability/types.ts +68 -0
  334. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/index.ts +31 -0
  335. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/types.ts +110 -0
  336. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/workspace/context.ts +41 -0
  337. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/workspace/runtime.ts +170 -0
  338. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/README.md +3 -13
  339. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/package.json +13 -8
  340. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/api.ts +26 -92
  341. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
  342. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
  343. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/index.ts +26 -92
  344. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
  345. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
  346. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
  347. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
  348. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
  349. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
  350. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
  351. package/node_modules/@mrclrchtr/supi-tree-sitter/package.json +9 -6
  352. package/node_modules/@mrclrchtr/supi-tree-sitter/src/provider/tree-sitter-provider.ts +144 -0
  353. package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/runtime-registration.ts +37 -0
  354. package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/runtime.ts +1 -1
  355. package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/service-registry.ts +1 -1
  356. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/guidance.ts +29 -25
  357. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/handlers.ts +196 -0
  358. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/register-tools.ts +107 -0
  359. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/tool-specs.ts +117 -0
  360. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tree-sitter.ts +21 -307
  361. package/package.json +8 -6
  362. package/src/api.ts +35 -5
  363. package/src/brief-focused.ts +2 -2
  364. package/src/brief.ts +11 -55
  365. package/src/code-intelligence.ts +19 -3
  366. package/src/index.ts +33 -5
  367. package/src/{architecture.ts → model.ts} +21 -62
  368. package/src/pattern-structured.ts +26 -26
  369. package/src/presentation/markdown/affected.ts +170 -0
  370. package/src/presentation/markdown/brief.ts +174 -0
  371. package/src/presentation/markdown/map.ts +54 -0
  372. package/src/presentation/markdown/overview.ts +59 -0
  373. package/src/presentation/markdown/pattern.ts +239 -0
  374. package/src/presentation/markdown/relations.ts +121 -0
  375. package/src/prioritization-signals.ts +1 -1
  376. package/src/resolve-target.ts +58 -40
  377. package/src/search-helpers.ts +17 -4
  378. package/src/substrates/types.ts +30 -0
  379. package/src/target-resolution.ts +35 -416
  380. package/src/targeting/query.ts +60 -0
  381. package/src/targeting/resolve-anchored.ts +80 -0
  382. package/src/targeting/resolve-file.ts +194 -0
  383. package/src/targeting/resolve-symbol.ts +110 -0
  384. package/src/targeting/types.ts +111 -0
  385. package/src/tool/execute-affected.ts +27 -3
  386. package/src/tool/execute-brief.ts +30 -3
  387. package/src/tool/execute-map.ts +5 -2
  388. package/src/tool/execute-pattern.ts +6 -3
  389. package/src/tool/execute-relations.ts +36 -23
  390. package/src/tool/guidance.ts +30 -1
  391. package/src/tool/tool-specs.ts +29 -48
  392. package/src/types.ts +101 -3
  393. package/src/use-case/build-overview.ts +36 -0
  394. package/src/use-case/generate-affected.ts +297 -0
  395. package/src/use-case/generate-brief.ts +341 -0
  396. package/src/{actions/map-action.ts → use-case/generate-map.ts} +30 -60
  397. package/src/use-case/generate-pattern.ts +270 -0
  398. package/src/use-case/generate-relations.ts +438 -0
  399. package/src/use-case/support/semantic-references.ts +114 -0
  400. package/src/use-case/types.ts +43 -0
  401. package/src/workspace/request-context.ts +139 -0
  402. package/node_modules/@mrclrchtr/supi-core/src/extension.ts +0 -1
  403. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/extension.ts +0 -1
  404. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/extension.ts +0 -1
  405. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/README.md +0 -265
  406. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.cjs +0 -4661
  407. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.cjs.map +0 -7
  408. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.js +0 -4605
  409. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.js.map +0 -7
  410. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.wasm +0 -0
  411. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.wasm.map +0 -57
  412. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/package.json +0 -100
  413. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.cjs +0 -4063
  414. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.cjs.map +0 -7
  415. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.cts +0 -1025
  416. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.cts.map +0 -58
  417. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.ts +0 -1025
  418. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.ts.map +0 -58
  419. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.js +0 -4007
  420. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.js.map +0 -7
  421. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.wasm +0 -0
  422. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.wasm.map +0 -55
  423. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/action-specs.ts +0 -92
  424. package/src/actions/affected-action.ts +0 -452
  425. package/src/actions/brief-action.ts +0 -378
  426. package/src/actions/callees-action.ts +0 -155
  427. package/src/actions/callers-action.ts +0 -253
  428. package/src/actions/implementations-action.ts +0 -172
  429. package/src/actions/pattern-action.ts +0 -392
  430. package/src/providers/semantic-provider.ts +0 -34
  431. package/src/providers/structural-provider.ts +0 -26
@@ -0,0 +1,174 @@
1
+ // Brief markdown renderer — consumes use-case data and produces markdown content + details metadata.
2
+
3
+ import * as path from "node:path";
4
+ import type { ArchitectureModel } from "../../model.ts";
5
+ import { findModuleForPath } from "../../model.ts";
6
+ import type { BriefDetails } from "../../types.ts";
7
+
8
+ // ── Anchored brief ───────────────────────────────────────────────────
9
+
10
+ interface TreeSitterContext {
11
+ nodeInfo: { type: string; text: string; startLine: number; startCharacter: number } | null;
12
+ outline: Array<{ name: string; kind: string; startLine: number; endLine: number }>;
13
+ imports: Array<{ moduleSpecifier: string }>;
14
+ exports: Array<{ name: string; kind: string }>;
15
+ }
16
+
17
+ export function renderAnchoredBrief(params: {
18
+ relPath: string;
19
+ line: number;
20
+ character: number;
21
+ context: TreeSitterContext;
22
+ model: ArchitectureModel | null;
23
+ details: BriefDetails;
24
+ cwd: string;
25
+ }): { content: string; details: BriefDetails } {
26
+ const lines: string[] = [];
27
+ lines.push(`# Anchored Brief: ${params.relPath}:${params.line}:${params.character}`);
28
+ lines.push("");
29
+
30
+ appendTreeSitterContext(lines, params.context, params.relPath, params.line, params.cwd);
31
+
32
+ if (params.model) {
33
+ const resolvedFile = path.resolve(params.cwd, params.relPath);
34
+ const mod = findModuleForPath(params.model, resolvedFile);
35
+ if (mod) {
36
+ const shortName = mod.name.replace(/^@[^/]+\//, "");
37
+ lines.push(`_Module: ${shortName} (\`${mod.relativePath}\`)_`);
38
+ lines.push("");
39
+ }
40
+ }
41
+
42
+ appendNextQueries(lines, params.relPath, params.line, params.character);
43
+
44
+ return { content: lines.join("\n"), details: params.details };
45
+ }
46
+
47
+ // ── Symbol brief ──────────────────────────────────────────────────────
48
+
49
+ export function renderSymbolBrief(params: {
50
+ relPath: string;
51
+ symbolName: string;
52
+ targetLine: number;
53
+ targetCharacter: number;
54
+ targetKind: string | null;
55
+ context: TreeSitterContext;
56
+ model: ArchitectureModel | null;
57
+ details: BriefDetails;
58
+ cwd: string;
59
+ }): { content: string; details: BriefDetails } {
60
+ const lines: string[] = [];
61
+ lines.push(`# Symbol Brief: ${params.symbolName || params.relPath}`);
62
+ lines.push("");
63
+ lines.push(
64
+ `**Resolved to:** \`${params.relPath}:${params.targetLine}:${params.targetCharacter}\`${params.targetKind ? ` (${params.targetKind})` : ""}`,
65
+ );
66
+ lines.push("");
67
+
68
+ appendTreeSitterContext(lines, params.context, params.relPath, params.targetLine, params.cwd);
69
+
70
+ if (params.model) {
71
+ const resolvedFile = path.resolve(params.cwd, params.relPath);
72
+ const mod = findModuleForPath(params.model, resolvedFile);
73
+ if (mod) {
74
+ const shortName = mod.name.replace(/^@[^/]+\//, "");
75
+ lines.push(`_Module: ${shortName} (\`${mod.relativePath}\`)_`);
76
+ lines.push("");
77
+ }
78
+ }
79
+
80
+ appendNextQueries(lines, params.relPath, params.targetLine, params.targetCharacter);
81
+
82
+ return { content: lines.join("\n"), details: params.details };
83
+ }
84
+
85
+ // ── Tree-sitter context rendering ─────────────────────────────────────
86
+
87
+ // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: tree-sitter context rendering with node/outline/imports/exports sections kept together for readability
88
+ // biome-ignore lint/complexity/useMaxParams: options-object refactor would reduce clarity for this rendering helper
89
+ function appendTreeSitterContext(
90
+ lines: string[],
91
+ context: TreeSitterContext,
92
+ relPath: string,
93
+ line: number,
94
+ _cwd: string,
95
+ ): void {
96
+ if (context.nodeInfo) {
97
+ const node = context.nodeInfo;
98
+ lines.push(`**Node:** \`${node.type}\` at ${relPath}:${node.startLine}:${node.startCharacter}`);
99
+ if (node.text && node.text.length <= 200) {
100
+ lines.push("```");
101
+ lines.push(node.text);
102
+ lines.push("```");
103
+ }
104
+ lines.push("");
105
+ }
106
+
107
+ if (context.outline.length > 0) {
108
+ const enclosing = context.outline.find(
109
+ (item) => item.startLine <= line && item.endLine >= line,
110
+ );
111
+ if (enclosing) {
112
+ lines.push(`**Enclosing symbol:** \`${enclosing.name}\` (${enclosing.kind})`);
113
+ lines.push(`- Range: ${relPath}:${enclosing.startLine}–${enclosing.endLine}`);
114
+ lines.push("");
115
+ }
116
+
117
+ lines.push("## File Outline");
118
+ const shown = context.outline.slice(0, 15);
119
+ for (const item of shown) {
120
+ const prefix = getOutlinePrefix(item.kind);
121
+ lines.push(`- ${prefix} \`${item.name}\` (${item.kind}) L${item.startLine}`);
122
+ }
123
+ if (context.outline.length > 15) {
124
+ lines.push(`- _+${context.outline.length - 15} more declarations_`);
125
+ }
126
+ lines.push("");
127
+ }
128
+
129
+ if (context.imports.length > 0) {
130
+ lines.push("## Imports");
131
+ const shown = context.imports.slice(0, 10);
132
+ for (const imp of shown) {
133
+ lines.push(`- \`${imp.moduleSpecifier}\``);
134
+ }
135
+ if (context.imports.length > 10) {
136
+ lines.push(`- _+${context.imports.length - 10} more_`);
137
+ }
138
+ lines.push("");
139
+ }
140
+
141
+ if (context.exports.length > 0) {
142
+ lines.push("## Exports");
143
+ const shown = context.exports.slice(0, 10);
144
+ for (const exp of shown) {
145
+ lines.push(`- \`${exp.name}\` (${exp.kind})`);
146
+ }
147
+ if (context.exports.length > 10) {
148
+ lines.push(`- _+${context.exports.length - 10} more_`);
149
+ }
150
+ lines.push("");
151
+ }
152
+ }
153
+
154
+ function getOutlinePrefix(kind: string): string {
155
+ if (kind === "function" || kind === "method") return "ƒ";
156
+ if (kind === "class") return "◆";
157
+ return "·";
158
+ }
159
+
160
+ function appendNextQueries(
161
+ lines: string[],
162
+ relPath: string,
163
+ line: number,
164
+ character: number,
165
+ ): void {
166
+ lines.push("## Next");
167
+ lines.push(
168
+ `- \`code_relations\` with \`kind: "callers"\`, \`file: "${relPath}"\`, \`line: ${line}\`, and \`character: ${character}\` for call sites`,
169
+ );
170
+ lines.push(
171
+ `- \`code_affected\` with \`file: "${relPath}"\`, \`line: ${line}\`, and \`character: ${character}\` for impact analysis`,
172
+ );
173
+ lines.push("");
174
+ }
@@ -0,0 +1,54 @@
1
+ // Map markdown renderer — consumes MapData and produces markdown content + details metadata.
2
+
3
+ import type { MapDetails } from "../../types.ts";
4
+ import type { MapData, MapStats } from "../../use-case/generate-map.ts";
5
+ import { SOURCE_EXTENSIONS } from "../../use-case/generate-map.ts";
6
+
7
+ export function renderMap(data: MapData): { content: string; details: MapDetails } {
8
+ const content = formatMap(data.scope, data.stats);
9
+ const details: MapDetails = {
10
+ scope: data.scope,
11
+ totalFiles: data.stats.total,
12
+ childDirectoryCount: data.stats.byChildDir.size,
13
+ landmarkCount: data.stats.landmarkFiles.length,
14
+ nextQueries: ["`code_brief` for prioritized context on this scope"],
15
+ };
16
+
17
+ return { content, details };
18
+ }
19
+
20
+ function formatMap(scope: string, stats: MapStats): string {
21
+ const lines: string[] = [];
22
+
23
+ lines.push(`# Code Map: ${scope}`);
24
+ lines.push("");
25
+ lines.push(`**Files:** ${stats.total} total`);
26
+ for (const [ext, count] of [...stats.byExtension.entries()]
27
+ .sort((a, b) => b[1] - a[1])
28
+ .slice(0, 10)) {
29
+ const label = SOURCE_EXTENSIONS.get(ext) ?? (ext || "(no extension)");
30
+ lines.push(`- ${label}: ${count}`);
31
+ }
32
+ if (stats.byExtension.size > 10) {
33
+ lines.push(`- _+${stats.byExtension.size - 10} more extensions_`);
34
+ }
35
+ lines.push("");
36
+
37
+ if (stats.byChildDir.size > 0) {
38
+ lines.push("**Child directories:**");
39
+ for (const [dir, count] of [...stats.byChildDir.entries()].sort((a, b) => b[1] - a[1])) {
40
+ lines.push(`- ${dir}/ (${count} file${count !== 1 ? "s" : ""})`);
41
+ }
42
+ lines.push("");
43
+ }
44
+
45
+ if (stats.landmarkFiles.length > 0) {
46
+ lines.push("**Landmark files:**");
47
+ for (const file of stats.landmarkFiles) {
48
+ lines.push(`- \`${file}\``);
49
+ }
50
+ lines.push("");
51
+ }
52
+
53
+ return lines.join("\n");
54
+ }
@@ -0,0 +1,59 @@
1
+ // Hidden overview markdown renderer for the first-turn session injection.
2
+ // Consumes OverviewData produced by the overview use-case.
3
+
4
+ import type { OverviewData } from "../../use-case/types.ts";
5
+
6
+ /**
7
+ * Render the compact architecture overview for first-turn session injection.
8
+ * Targets roughly 500 tokens.
9
+ */
10
+ // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: module-edge overview rendering with multiple formatting paths is clearer as one function
11
+ export function renderOverview(data: OverviewData): string {
12
+ const lines: string[] = [];
13
+
14
+ lines.push("# Project: Code Intelligence Overview");
15
+ lines.push("");
16
+
17
+ if (data.projectName) {
18
+ lines.push(
19
+ `**${data.projectName}**${data.projectDescription ? ` — ${data.projectDescription}` : ""}`,
20
+ );
21
+ lines.push("");
22
+ }
23
+
24
+ lines.push("## Modules");
25
+ lines.push("");
26
+
27
+ for (const mod of data.modules) {
28
+ const deps = mod.internalDeps.filter((d) =>
29
+ data.modules.some((m) => m.name === d || m.shortName === d),
30
+ );
31
+
32
+ if (deps.length === 0) {
33
+ lines.push(
34
+ `- **${mod.shortName}**${mod.isLeaf ? " (leaf)" : ""}${mod.description ? ` — ${mod.description}` : ""}`,
35
+ );
36
+ } else {
37
+ const depNames = deps.slice(0, 4).map((d) => d.replace(/^@[^/]+\//, ""));
38
+ const depStr = depNames.join(", ");
39
+ const suffix = deps.length > 4 ? ` +${deps.length - 4} more` : "";
40
+ lines.push(
41
+ `- **${mod.shortName}** → ${depStr}${suffix}${mod.description ? ` — ${mod.description}` : ""}`,
42
+ );
43
+ }
44
+ }
45
+
46
+ if (data.omittedModuleCount > 0) {
47
+ lines.push(`- _+${data.omittedModuleCount} more modules omitted_`);
48
+ }
49
+
50
+ lines.push("");
51
+
52
+ if (data.gitContextOverview) {
53
+ lines.push(data.gitContextOverview);
54
+ }
55
+
56
+ lines.push("_Use `code_brief` for deeper context on any module or file._");
57
+
58
+ return lines.join("\n");
59
+ }
@@ -0,0 +1,239 @@
1
+ // Pattern search markdown renderer — all formatting for literal, regex, and structured search results.
2
+
3
+ import type { StructuredMatch, StructuredPatternResult } from "../../pattern-structured.ts";
4
+ import type { RgMatch } from "../../search-helpers.ts";
5
+ import { groupByFile } from "../../search-helpers.ts";
6
+ import type { StructuralSubstrate } from "../../substrates/types.ts";
7
+
8
+ // ── Structured search formatting ─────────────────────────────────────
9
+
10
+ // biome-ignore lint/complexity/useMaxParams: structured empty-state with optional result parameter keeps partial-warning logic together
11
+ export function renderStructuredEmptyState(
12
+ pattern: string,
13
+ kind: "definition" | "export" | "import",
14
+ relScope: string,
15
+ _structural?: StructuralSubstrate,
16
+ result?: StructuredPatternResult,
17
+ ): string {
18
+ const lines = [`No ${kind} matches found for \`${pattern}\` in \`${relScope}\`.`];
19
+ if (result && result.omittedCount > 0 && result.partialReason) {
20
+ lines.push("");
21
+ if (result.partialReason === "timeout") {
22
+ lines.push(
23
+ `_Partial structured results — scan timed out with +${result.omittedCount} file${result.omittedCount !== 1 ? "s" : ""} omitted. Narrow \`path\` or \`pattern\` for complete coverage._`,
24
+ );
25
+ } else {
26
+ lines.push(
27
+ `_Partial structured results — +${result.omittedCount} file${result.omittedCount !== 1 ? "s" : ""} omitted after reaching the structured scan cap. Narrow \`path\` or \`pattern\` for complete coverage._`,
28
+ );
29
+ }
30
+ }
31
+ return lines.join("\n");
32
+ }
33
+
34
+ export function renderStructuredMatches(
35
+ pattern: string,
36
+ kind: "definition" | "export" | "import",
37
+ relScope: string,
38
+ result: StructuredPatternResult,
39
+ ): string {
40
+ const grouped = new Map<string, StructuredMatch[]>();
41
+ for (const match of result.matches) {
42
+ const group = grouped.get(match.file) ?? [];
43
+ group.push(match);
44
+ grouped.set(match.file, group);
45
+ }
46
+
47
+ const kindLabel =
48
+ kind === "definition" ? "Definitions" : kind === "export" ? "Exports" : "Imports";
49
+ const lines: string[] = [];
50
+ lines.push(`# Pattern ${kindLabel}: \`${pattern}\``);
51
+ lines.push("");
52
+ lines.push(
53
+ `**${result.matches.length} match${result.matches.length !== 1 ? "es" : ""}** across **${grouped.size} file${grouped.size !== 1 ? "s" : ""}** in \`${relScope}\``,
54
+ );
55
+ const partialWarning = formatPartialStructuredWarning(result);
56
+ if (partialWarning) {
57
+ lines.push(partialWarning);
58
+ }
59
+ lines.push("");
60
+
61
+ if (kind === "definition" || kind === "export") {
62
+ addDuplicateSummary(lines, result.matches);
63
+ }
64
+
65
+ for (const [file, fileMatches] of grouped) {
66
+ lines.push(`### ${file}`);
67
+ for (const match of fileMatches.slice(0, 8)) {
68
+ lines.push(`- \`${match.name}\` (${match.kind}) L${match.line}`);
69
+ }
70
+ if (fileMatches.length > 8) {
71
+ lines.push(`- _+${fileMatches.length - 8} more in this file_`);
72
+ }
73
+ lines.push("");
74
+ }
75
+
76
+ return lines.join("\n");
77
+ }
78
+
79
+ function formatPartialStructuredWarning(result: StructuredPatternResult): string | null {
80
+ if (!result.partialReason || result.omittedCount <= 0) return null;
81
+
82
+ if (result.partialReason === "timeout") {
83
+ return `_Partial structured results — scan timed out with +${result.omittedCount} file${result.omittedCount !== 1 ? "s" : ""} omitted. Narrow \`path\` or \`pattern\` for complete coverage._`;
84
+ }
85
+
86
+ return `_Partial structured results — +${result.omittedCount} file${result.omittedCount !== 1 ? "s" : ""} omitted after reaching the structured scan cap. Narrow \`path\` or \`pattern\` for complete coverage._`;
87
+ }
88
+
89
+ function addDuplicateSummary(lines: string[], matches: StructuredMatch[]): void {
90
+ const byName = new Map<string, Set<string>>();
91
+ for (const match of matches) {
92
+ const files = byName.get(match.name) ?? new Set<string>();
93
+ files.add(match.file);
94
+ byName.set(match.name, files);
95
+ }
96
+
97
+ const duplicates = [...byName.entries()]
98
+ .map(([name, files]) => ({ name, files: [...files].sort((a, b) => a.localeCompare(b)) }))
99
+ .filter((entry) => entry.files.length > 1)
100
+ .sort((a, b) => b.files.length - a.files.length || a.name.localeCompare(b.name));
101
+
102
+ if (duplicates.length === 0) return;
103
+
104
+ lines.push("## Duplicate Definitions");
105
+ for (const duplicate of duplicates.slice(0, 8)) {
106
+ lines.push(
107
+ `- \`${duplicate.name}\` — defined in ${duplicate.files.length} files: ${duplicate.files
108
+ .map((file) => `\`${file}\``)
109
+ .join(", ")}`,
110
+ );
111
+ }
112
+ if (duplicates.length > 8) {
113
+ lines.push(`- _+${duplicates.length - 8} more duplicates_`);
114
+ }
115
+ lines.push("");
116
+ }
117
+
118
+ // ── Text search formatting ──────────────────────────────────────────
119
+
120
+ export function renderRegexError(pattern: string, error: string): string {
121
+ const errLines = error
122
+ .split("\n")
123
+ .map((line) => line.trim())
124
+ .filter(Boolean);
125
+ const detail =
126
+ [...errLines]
127
+ .reverse()
128
+ .find((line) => line.startsWith("error:"))
129
+ ?.replace(/^error:\s*/, "") ??
130
+ errLines.at(-1) ??
131
+ "ripgrep rejected the regex.";
132
+ return `**Error:** Invalid regex pattern \`${pattern}\`: ${detail}`;
133
+ }
134
+
135
+ export function renderPatternResults(
136
+ pattern: string,
137
+ relScope: string,
138
+ matches: RgMatch[],
139
+ maxResults: number,
140
+ ): string {
141
+ const lines: string[] = [];
142
+ lines.push(`# Pattern: \`${pattern}\``);
143
+ lines.push("");
144
+ lines.push(`**${matches.length} match${matches.length > 1 ? "es" : ""}** in \`${relScope}\``);
145
+ lines.push("");
146
+
147
+ const byFile = groupByFile(matches);
148
+ let shown = 0;
149
+ for (const [file, fileMatches] of byFile) {
150
+ if (shown >= maxResults) break;
151
+ lines.push(`### ${file}`);
152
+ const renderedLines = new Set<number>();
153
+ const matchLines = new Set(fileMatches.map((match) => match.line));
154
+ for (const m of fileMatches.slice(0, 5)) {
155
+ renderMatchWithContext(lines, m, renderedLines, matchLines, pattern);
156
+ }
157
+ if (fileMatches.length > 5) {
158
+ lines.push(`- _+${fileMatches.length - 5} more in this file_`);
159
+ }
160
+ lines.push("");
161
+ shown++;
162
+ }
163
+
164
+ if (byFile.size > maxResults) {
165
+ lines.push(
166
+ `_+${byFile.size - maxResults} more files omitted. Narrow \`path\` or increase \`maxResults\`._`,
167
+ );
168
+ }
169
+ lines.push("");
170
+ lines.push("_Text search — results may include comments, strings, or unrelated matches._");
171
+ lines.push("");
172
+
173
+ return lines.join("\n");
174
+ }
175
+
176
+ // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: context-line rendering with before/after/skip logic is clearer as one function
177
+ // biome-ignore lint/complexity/useMaxParams: options-object refactor would reduce readability for this rendering helper
178
+ function renderMatchWithContext(
179
+ lines: string[],
180
+ m: RgMatch,
181
+ renderedLines: Set<number>,
182
+ matchLines: Set<number>,
183
+ _pattern: string,
184
+ ): void {
185
+ if (m.context) {
186
+ for (const c of m.context.filter((cx) => cx.line < m.line)) {
187
+ if (renderedLines.has(c.line) || matchLines.has(c.line)) continue;
188
+ lines.push(` L${c.line}: ${c.text.slice(0, 120)}`);
189
+ renderedLines.add(c.line);
190
+ }
191
+ }
192
+ if (!renderedLines.has(m.line)) {
193
+ lines.push(`- L${m.line}: \`${(m.text || "").slice(0, 120)}\``);
194
+ renderedLines.add(m.line);
195
+ }
196
+ if (m.context) {
197
+ for (const c of m.context.filter((cx) => cx.line > m.line)) {
198
+ if (renderedLines.has(c.line) || matchLines.has(c.line)) continue;
199
+ lines.push(` L${c.line}: ${c.text.slice(0, 120)}`);
200
+ renderedLines.add(c.line);
201
+ }
202
+ }
203
+ }
204
+
205
+ export function renderPatternSummary(
206
+ pattern: string,
207
+ relScope: string,
208
+ matches: RgMatch[],
209
+ maxResults: number,
210
+ ): string {
211
+ const byFile = groupByFile(matches);
212
+ const sorted = [...byFile.entries()].sort((a, b) => b[1].length - a[1].length);
213
+
214
+ const lines: string[] = [];
215
+ lines.push(`# Pattern Summary: \`${pattern}\``);
216
+ lines.push("");
217
+ lines.push(
218
+ `**${matches.length} match${matches.length > 1 ? "es" : ""}** across **${byFile.size} file${byFile.size > 1 ? "s" : ""}** in \`${relScope}\``,
219
+ );
220
+ lines.push("");
221
+
222
+ for (const [file, fileMatches] of sorted.slice(0, maxResults)) {
223
+ const lineNums = [...new Set(fileMatches.map((m) => m.line))].sort((a, b) => a - b).slice(0, 3);
224
+ const extra = fileMatches.length > 3 ? ` (+${fileMatches.length - 3} more)` : "";
225
+ const linesStr = lineNums.join(", ");
226
+ lines.push(
227
+ `- \`${file}\` — ${fileMatches.length} match${fileMatches.length > 1 ? "es" : ""}${linesStr ? ` at L${linesStr}` : ""}${extra}`,
228
+ );
229
+ }
230
+
231
+ if (sorted.length > maxResults) {
232
+ lines.push(`- _+${sorted.length - maxResults} more files omitted_`);
233
+ }
234
+ lines.push("");
235
+ lines.push("_Text search — results may include comments, strings, or unrelated matches._");
236
+ lines.push("");
237
+
238
+ return lines.join("\n");
239
+ }
@@ -0,0 +1,121 @@
1
+ // Relations markdown renderer — consumes use-case data and produces markdown content.
2
+
3
+ import { isInProjectPath, uriToFile } from "../../search-helpers.ts";
4
+ import type { ReferenceCollection } from "../../use-case/support/semantic-references.ts";
5
+ import { formatReferenceList } from "../../use-case/support/semantic-references.ts";
6
+
7
+ // ── Callers ──────────────────────────────────────────────────────────
8
+
9
+ export function renderCallersResult(
10
+ symbolName: string,
11
+ result: ReferenceCollection,
12
+ cwd: string,
13
+ maxResults: number,
14
+ ): string {
15
+ const lines: string[] = [];
16
+ lines.push(`# Callers of \`${symbolName}\``);
17
+ lines.push("");
18
+ lines.push(
19
+ `**${result.refs.length} reference${result.refs.length !== 1 ? "s" : ""}** (${result.confidence})`,
20
+ );
21
+ if (result.externalCount > 0) {
22
+ lines.push(
23
+ `_+${result.externalCount} external reference${result.externalCount !== 1 ? "s" : ""}_`,
24
+ );
25
+ }
26
+ lines.push("");
27
+
28
+ formatReferenceList(lines, result.refs, maxResults, cwd);
29
+ return lines.join("\n");
30
+ }
31
+
32
+ // ── Implementations ──────────────────────────────────────────────────
33
+
34
+ // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: implementation rendering with project/external splitting and formatting is clearer as one function
35
+ export function renderImplementationsResult(
36
+ locations: Array<{
37
+ uri?: string;
38
+ targetUri?: string;
39
+ range?: { start: { line: number } };
40
+ targetRange?: { start: { line: number } };
41
+ targetSelectionRange?: { start: { line: number } };
42
+ }>,
43
+ cwd: string,
44
+ maxResults: number,
45
+ ): string {
46
+ const projectLocs = locations.filter((loc) => {
47
+ const uri = loc.uri ?? loc.targetUri ?? "";
48
+ const filePath = uriToFile(uri);
49
+ return filePath && isInProjectPath(filePath, cwd);
50
+ });
51
+ const externalLocs = locations.filter((loc) => {
52
+ const uri = loc.uri ?? loc.targetUri ?? "";
53
+ const filePath = uriToFile(uri);
54
+ return !filePath || !isInProjectPath(filePath, cwd);
55
+ });
56
+
57
+ const lines: string[] = [];
58
+ lines.push("# Implementations (semantic)");
59
+ lines.push("");
60
+ if (projectLocs.length > 0) {
61
+ lines.push(
62
+ `**${projectLocs.length} implementation${projectLocs.length !== 1 ? "s" : ""}** in the project`,
63
+ );
64
+ lines.push("");
65
+ for (const loc of projectLocs.slice(0, maxResults)) {
66
+ const uri = loc.uri ?? loc.targetUri ?? "";
67
+ const filePath = uriToFile(uri);
68
+ const range = loc.targetSelectionRange ?? loc.targetRange ?? loc.range;
69
+ if (filePath && range) {
70
+ lines.push(`- \`${filePath}:${(range as { start: { line: number } }).start.line + 1}\``);
71
+ } else if (filePath) {
72
+ lines.push(`- \`${filePath}\``);
73
+ }
74
+ }
75
+ lines.push("");
76
+ }
77
+
78
+ if (externalLocs.length > 0) {
79
+ lines.push(
80
+ `_+${externalLocs.length} external location${externalLocs.length !== 1 ? "s" : ""} (outside this project)_`,
81
+ );
82
+ lines.push("");
83
+ }
84
+
85
+ lines.push(
86
+ "_Semantic analysis. Use `code_pattern` only when you explicitly want text-search hints for likely implementations._",
87
+ );
88
+ lines.push("");
89
+
90
+ return lines.join("\n");
91
+ }
92
+
93
+ // ── Callees ──────────────────────────────────────────────────────────
94
+
95
+ export function renderCalleesResult(
96
+ data: { enclosingScope: { name: string }; callees: Array<{ name: string; startLine: number }> },
97
+ relPath: string,
98
+ maxResults: number,
99
+ ): string {
100
+ const lines: string[] = [];
101
+ lines.push(`# Callees of \`${data.enclosingScope.name}\` (structural)`);
102
+ lines.push("");
103
+ lines.push(
104
+ `**${data.callees.length} outgoing call${data.callees.length > 1 ? "s" : ""}** from \`${data.enclosingScope.name}\` in \`${relPath}\``,
105
+ );
106
+ lines.push("");
107
+
108
+ const shown = data.callees.slice(0, maxResults);
109
+ for (const c of shown) {
110
+ lines.push(`- \`${c.name}\` (L${c.startLine})`);
111
+ }
112
+ if (data.callees.length > maxResults) {
113
+ lines.push(`- _+${data.callees.length - maxResults} more_`);
114
+ }
115
+ lines.push("");
116
+ lines.push(
117
+ "_Structural analysis — may include unresolved or qualified names. Use `lsp_hover` with `file`, `line`, and `character` for precise type information._",
118
+ );
119
+ lines.push("");
120
+ return lines.join("\n");
121
+ }
@@ -1,5 +1,5 @@
1
1
  import * as path from "node:path";
2
- import { readJsonFile } from "@mrclrchtr/supi-core/api";
2
+ import { readJsonFile } from "@mrclrchtr/supi-core/config";
3
3
  import { getSessionLspService } from "@mrclrchtr/supi-lsp/api";
4
4
 
5
5
  export interface PrioritySignalsSummary {