@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
@@ -128,6 +128,147 @@ export async function executeLookup(
128
128
  }
129
129
  }
130
130
 
131
+ // ---------------------------------------------------------------------------
132
+ // Focused lookup tools (replacing the old multiplexed executeLookup)
133
+ // ---------------------------------------------------------------------------
134
+
135
+ export interface LspPositionToolParams {
136
+ file: string;
137
+ line: number;
138
+ character: number;
139
+ }
140
+
141
+ export interface LspRenameToolParams {
142
+ file: string;
143
+ line: number;
144
+ character: number;
145
+ newName: string;
146
+ }
147
+
148
+ export async function executeHover(
149
+ service: SessionLspService,
150
+ cwd: string,
151
+ params: LspPositionToolParams,
152
+ ): Promise<string> {
153
+ try {
154
+ const positionError = validatePositivePosition(params.line, params.character);
155
+ if (positionError) return positionError;
156
+ const fileError = validateFile(service, cwd, params.file);
157
+ if (fileError) return fileError;
158
+ const position = toZeroBased(params.line, params.character);
159
+ const hover = await service.hover(params.file, position);
160
+ return hover ? formatHover(hover) : "No hover information available at this position.";
161
+ } catch (error) {
162
+ return formatUnexpectedFailure("hover", error);
163
+ }
164
+ }
165
+
166
+ export async function executeDefinition(
167
+ service: SessionLspService,
168
+ cwd: string,
169
+ params: LspPositionToolParams,
170
+ ): Promise<string> {
171
+ try {
172
+ const positionError = validatePositivePosition(params.line, params.character);
173
+ if (positionError) return positionError;
174
+ const fileError = validateFile(service, cwd, params.file);
175
+ if (fileError) return fileError;
176
+ const position = toZeroBased(params.line, params.character);
177
+ const result = await service.definition(params.file, position);
178
+ if (!result) return "No definition found.";
179
+ const locations = normalizeLocations(result);
180
+ return locations.length > 0
181
+ ? formatLocations("Definition", locations, cwd)
182
+ : "No definition found.";
183
+ } catch (error) {
184
+ return formatUnexpectedFailure("definition", error);
185
+ }
186
+ }
187
+
188
+ export async function executeReferences(
189
+ service: SessionLspService,
190
+ cwd: string,
191
+ params: LspPositionToolParams,
192
+ ): Promise<string> {
193
+ try {
194
+ const positionError = validatePositivePosition(params.line, params.character);
195
+ if (positionError) return positionError;
196
+ const fileError = validateFile(service, cwd, params.file);
197
+ if (fileError) return fileError;
198
+ const position = toZeroBased(params.line, params.character);
199
+ const references = await service.references(params.file, position);
200
+ return references && references.length > 0
201
+ ? formatLocations("References", references, cwd)
202
+ : "No references found.";
203
+ } catch (error) {
204
+ return formatUnexpectedFailure("references", error);
205
+ }
206
+ }
207
+
208
+ export async function executeImplementation(
209
+ service: SessionLspService,
210
+ cwd: string,
211
+ params: LspPositionToolParams,
212
+ ): Promise<string> {
213
+ try {
214
+ const positionError = validatePositivePosition(params.line, params.character);
215
+ if (positionError) return positionError;
216
+ const fileError = validateFile(service, cwd, params.file);
217
+ if (fileError) return fileError;
218
+ const position = toZeroBased(params.line, params.character);
219
+ const result = await service.implementation(params.file, position);
220
+ if (!result) return "No implementation found.";
221
+ const locations = normalizeLocations(result);
222
+ return locations.length > 0
223
+ ? formatLocations("Implementation", locations, cwd)
224
+ : "No implementation found.";
225
+ } catch (error) {
226
+ return formatUnexpectedFailure("implementation", error);
227
+ }
228
+ }
229
+
230
+ export async function executeRename(
231
+ service: SessionLspService,
232
+ cwd: string,
233
+ params: LspRenameToolParams,
234
+ ): Promise<string> {
235
+ try {
236
+ const positionError = validatePositivePosition(params.line, params.character);
237
+ if (positionError) return positionError;
238
+ const fileError = validateFile(service, cwd, params.file);
239
+ if (fileError) return fileError;
240
+ const newName = params.newName?.trim();
241
+ if (!newName) {
242
+ return "Validation error: `newName` is required for rename.";
243
+ }
244
+ const position = toZeroBased(params.line, params.character);
245
+ const edit = await service.rename(params.file, position, newName);
246
+ return edit ? formatWorkspaceEdit(edit, cwd) : "Rename not available at this position.";
247
+ } catch (error) {
248
+ return formatUnexpectedFailure("rename", error);
249
+ }
250
+ }
251
+
252
+ export async function executeCodeActions(
253
+ service: SessionLspService,
254
+ cwd: string,
255
+ params: LspPositionToolParams,
256
+ ): Promise<string> {
257
+ try {
258
+ const positionError = validatePositivePosition(params.line, params.character);
259
+ if (positionError) return positionError;
260
+ const fileError = validateFile(service, cwd, params.file);
261
+ if (fileError) return fileError;
262
+ const position = toZeroBased(params.line, params.character);
263
+ const actions = await service.codeActions(params.file, position);
264
+ return actions && actions.length > 0
265
+ ? formatCodeActions(actions)
266
+ : "No code actions available at this position.";
267
+ } catch (error) {
268
+ return formatUnexpectedFailure("code actions", error);
269
+ }
270
+ }
271
+
131
272
  export async function executeDocumentSymbols(
132
273
  service: SessionLspService,
133
274
  cwd: string,
@@ -1,81 +1,59 @@
1
- import { StringEnum } from "@earendil-works/pi-ai";
2
1
  import { type TSchema, Type } from "typebox";
3
2
  import type { ServerCapabilities } from "../config/types.ts";
4
3
  import type { SessionLspService } from "../session/service-registry.ts";
5
4
  import {
5
+ LSP_CODE_ACTIONS_TOOL,
6
+ LSP_DEFINITION_TOOL,
6
7
  LSP_DIAGNOSTICS_TOOL,
7
8
  LSP_DOCUMENT_SYMBOLS_TOOL,
8
- LSP_LOOKUP_TOOL,
9
+ LSP_HOVER_TOOL,
10
+ LSP_IMPLEMENTATION_TOOL,
9
11
  LSP_RECOVER_TOOL,
10
- LSP_REFACTOR_TOOL,
12
+ LSP_REFERENCES_TOOL,
13
+ LSP_RENAME_TOOL,
11
14
  LSP_WORKSPACE_SYMBOLS_TOOL,
12
15
  type LspToolName,
13
16
  } from "./names.ts";
14
17
  import {
18
+ executeCodeActions,
19
+ executeDefinition,
15
20
  executeDiagnostics,
16
21
  executeDocumentSymbols,
17
- executeLookup,
22
+ executeHover,
23
+ executeImplementation,
18
24
  executeRecover,
19
- executeRefactor,
25
+ executeReferences,
26
+ executeRename,
20
27
  executeWorkspaceSymbols,
21
28
  } from "./service-actions.ts";
22
29
 
23
- const FileParam = Type.String({ description: "File path (relative or absolute)" });
24
- const LineParam = Type.Number({ description: "1-based line number", minimum: 1 });
25
- const CharacterParam = Type.Number({ description: "1-based column number", minimum: 1 });
26
- const QueryParam = Type.String({ description: "Symbol query string" });
27
- const NewNameParam = Type.String({ description: "New name for rename" });
30
+ // Shared parameter builders
31
+ const FileParam = Type.String({ description: "File path" });
32
+ const LineParam = Type.Number({ description: "1-based line", minimum: 1 });
33
+ const CharacterParam = Type.Number({ description: "1-based column", minimum: 1 });
34
+ const QueryParam = Type.String({ description: "Symbol query" });
35
+ const NewNameParam = Type.String({ description: "New name" });
28
36
 
29
- export const LSP_LOOKUP_KIND_NAMES = [
30
- "hover",
31
- "definition",
32
- "references",
33
- "implementation",
34
- ] as const;
35
- export const LSP_REFACTOR_KIND_NAMES = ["rename", "code_actions"] as const;
36
-
37
- const LookupKindEnum = StringEnum(LSP_LOOKUP_KIND_NAMES);
38
- const RefactorKindEnum = StringEnum(LSP_REFACTOR_KIND_NAMES);
39
-
40
- const LookupParameters = Type.Object(
41
- {
42
- kind: LookupKindEnum,
43
- file: FileParam,
44
- line: LineParam,
45
- character: CharacterParam,
46
- },
37
+ // Parameter schemas
38
+ const PositionParams = Type.Object(
39
+ { file: FileParam, line: LineParam, character: CharacterParam },
47
40
  { additionalProperties: false },
48
41
  );
49
42
 
50
- const DocumentSymbolsParameters = Type.Object(
51
- {
52
- file: FileParam,
53
- },
43
+ const RenameParams = Type.Object(
44
+ { file: FileParam, line: LineParam, character: CharacterParam, newName: NewNameParam },
54
45
  { additionalProperties: false },
55
46
  );
56
47
 
48
+ const DocumentSymbolsParameters = Type.Object({ file: FileParam }, { additionalProperties: false });
49
+
57
50
  const WorkspaceSymbolsParameters = Type.Object(
58
- {
59
- query: QueryParam,
60
- },
51
+ { query: QueryParam },
61
52
  { additionalProperties: false },
62
53
  );
63
54
 
64
55
  const DiagnosticsParameters = Type.Object(
65
- {
66
- file: Type.Optional(FileParam),
67
- },
68
- { additionalProperties: false },
69
- );
70
-
71
- const RefactorParameters = Type.Object(
72
- {
73
- kind: RefactorKindEnum,
74
- file: FileParam,
75
- line: LineParam,
76
- character: CharacterParam,
77
- newName: Type.Optional(NewNameParam),
78
- },
56
+ { file: Type.Optional(FileParam) },
79
57
  { additionalProperties: false },
80
58
  );
81
59
 
@@ -89,36 +67,57 @@ export interface LspToolDefinitionSpec {
89
67
  basePromptGuidelines: string[];
90
68
  parameters: TSchema;
91
69
  run: (service: SessionLspService, cwd: string, params: unknown) => Promise<string>;
92
- includeCoverageGuidelines?: boolean;
93
70
  }
94
71
 
95
72
  export const LSP_TOOL_DEFINITION_SPECS = [
96
73
  {
97
- name: LSP_LOOKUP_TOOL,
98
- label: "LSP Lookup",
99
- description:
100
- "Language Server Protocol lookup tool semantic hover, definition, references, and implementation for supported files. Use lsp_lookup when you know the file and 1-based line/character position and need semantic drill-down rather than text search.",
101
- promptSnippet:
102
- "lsp_lookup — semantic hover/definition/references/implementation at a known file position",
74
+ name: LSP_HOVER_TOOL,
75
+ label: "LSP Hover",
76
+ description: "Semantic hover/type info at a file position.",
77
+ promptSnippet: "lsp_hover — hover/type info",
78
+ basePromptGuidelines: ["Use lsp_hover(file,line,character) for semantic hover/type info."],
79
+ parameters: PositionParams,
80
+ run: (service, cwd, params) =>
81
+ executeHover(service, cwd, params as Parameters<typeof executeHover>[2]),
82
+ },
83
+ {
84
+ name: LSP_DEFINITION_TOOL,
85
+ label: "LSP Definition",
86
+ description: "Jump to a symbol definition at a file position.",
87
+ promptSnippet: "lsp_definition — jump to definition",
103
88
  basePromptGuidelines: [
104
- 'Use lsp_lookup with `kind: "hover"` for semantic type or symbol information at a known `file`, `line`, and `character`.',
105
- 'Use lsp_lookup with `kind: "definition"`, `"references"`, or `"implementation"` for semantic navigation at a known position.',
106
- "Use lsp_lookup after code_brief, code_map, or tree_sitter has already narrowed the target file and position.",
89
+ "Use lsp_definition(file,line,character) to jump to a symbol definition.",
107
90
  ],
108
- parameters: LookupParameters,
91
+ parameters: PositionParams,
92
+ run: (service, cwd, params) =>
93
+ executeDefinition(service, cwd, params as Parameters<typeof executeDefinition>[2]),
94
+ },
95
+ {
96
+ name: LSP_REFERENCES_TOOL,
97
+ label: "LSP References",
98
+ description: "Find semantic references to a symbol at a file position.",
99
+ promptSnippet: "lsp_references — semantic references",
100
+ basePromptGuidelines: ["Use lsp_references(file,line,character) for semantic references."],
101
+ parameters: PositionParams,
109
102
  run: (service, cwd, params) =>
110
- executeLookup(service, cwd, params as Parameters<typeof executeLookup>[2]),
111
- includeCoverageGuidelines: true,
103
+ executeReferences(service, cwd, params as Parameters<typeof executeReferences>[2]),
104
+ },
105
+ {
106
+ name: LSP_IMPLEMENTATION_TOOL,
107
+ label: "LSP Implementation",
108
+ description: "Find implementations from a file position.",
109
+ promptSnippet: "lsp_implementation — implementations",
110
+ basePromptGuidelines: ["Use lsp_implementation(file,line,character) for implementations."],
111
+ parameters: PositionParams,
112
+ run: (service, cwd, params) =>
113
+ executeImplementation(service, cwd, params as Parameters<typeof executeImplementation>[2]),
112
114
  },
113
115
  {
114
116
  name: LSP_DOCUMENT_SYMBOLS_TOOL,
115
117
  label: "LSP Document Symbols",
116
- description:
117
- "Language Server Protocol document symbols tool list semantic declarations in one supported file. Use lsp_document_symbols when you need a symbol-aware outline rather than raw text structure.",
118
- promptSnippet: "lsp_document_symbols — semantic declarations for one supported file",
119
- basePromptGuidelines: [
120
- "Use lsp_document_symbols(file) for semantic declarations in one supported file.",
121
- ],
118
+ description: "List semantic declarations in one file.",
119
+ promptSnippet: "lsp_document_symbols — one-file semantic outline",
120
+ basePromptGuidelines: ["Use lsp_document_symbols(file) for one-file semantic declarations."],
122
121
  parameters: DocumentSymbolsParameters,
123
122
  run: (service, cwd, params) =>
124
123
  executeDocumentSymbols(service, cwd, params as Parameters<typeof executeDocumentSymbols>[2]),
@@ -126,12 +125,9 @@ export const LSP_TOOL_DEFINITION_SPECS = [
126
125
  {
127
126
  name: LSP_WORKSPACE_SYMBOLS_TOOL,
128
127
  label: "LSP Workspace Symbols",
129
- description:
130
- "Language Server Protocol workspace symbols tool semantic symbol-name lookup across the current project. Use lsp_workspace_symbols to find declarations by name before opening a specific file.",
131
- promptSnippet: "lsp_workspace_symbols semantic symbol-name lookup across the project",
132
- basePromptGuidelines: [
133
- "Use lsp_workspace_symbols(query) for semantic symbol-name lookup across the current project.",
134
- ],
128
+ description: "Find symbol declarations by name across the project.",
129
+ promptSnippet: "lsp_workspace_symbolsproject symbol lookup",
130
+ basePromptGuidelines: ["Use lsp_workspace_symbols(query) to find declarations by name."],
135
131
  parameters: WorkspaceSymbolsParameters,
136
132
  run: (service, cwd, params) =>
137
133
  executeWorkspaceSymbols(
@@ -143,38 +139,42 @@ export const LSP_TOOL_DEFINITION_SPECS = [
143
139
  {
144
140
  name: LSP_DIAGNOSTICS_TOOL,
145
141
  label: "LSP Diagnostics",
146
- description:
147
- "Language Server Protocol diagnostics tool current diagnostics for one file or a workspace summary. Use lsp_diagnostics for semantic compiler or language-server issues instead of guessing from text alone.",
148
- promptSnippet: "lsp_diagnostics current diagnostics for one file or the workspace",
149
- basePromptGuidelines: [
150
- "Use lsp_diagnostics(file?) when you need current diagnostics for one file or a workspace-level summary.",
151
- ],
142
+ description: "Show semantic diagnostics for one file or the workspace.",
143
+ promptSnippet: "lsp_diagnosticssemantic diagnostics",
144
+ basePromptGuidelines: ["Use lsp_diagnostics(file?) for semantic diagnostics."],
152
145
  parameters: DiagnosticsParameters,
153
146
  run: (service, cwd, params) =>
154
147
  executeDiagnostics(service, cwd, params as Parameters<typeof executeDiagnostics>[2]),
155
148
  },
156
149
  {
157
- name: LSP_REFACTOR_TOOL,
158
- label: "LSP Refactor",
159
- description:
160
- "Language Server Protocol refactor tool — semantic rename planning and code actions at a known file position. Use lsp_refactor when you need language-server-backed edits or quick-fix suggestions.",
161
- promptSnippet: "lsp_refactor — semantic rename planning and code actions at a known position",
150
+ name: LSP_RENAME_TOOL,
151
+ label: "LSP Rename",
152
+ description: "Plan a semantic rename from a file position.",
153
+ promptSnippet: "lsp_rename — semantic rename plan",
162
154
  basePromptGuidelines: [
163
- 'Use lsp_refactor with `kind: "rename"` for semantic rename planning at a known `file`, `line`, and `character`.',
164
- 'Use lsp_refactor with `kind: "code_actions"` for semantic fixes or refactors at a known position.',
155
+ "Use lsp_rename(file,line,character,newName) to plan a semantic rename.",
165
156
  ],
166
- parameters: RefactorParameters,
157
+ parameters: RenameParams,
158
+ run: (service, cwd, params) =>
159
+ executeRename(service, cwd, params as Parameters<typeof executeRename>[2]),
160
+ },
161
+ {
162
+ name: LSP_CODE_ACTIONS_TOOL,
163
+ label: "LSP Code Actions",
164
+ description: "List code fixes/refactors at a file position.",
165
+ promptSnippet: "lsp_code_actions — quick fixes/refactors",
166
+ basePromptGuidelines: ["Use lsp_code_actions(file,line,character) for quick fixes/refactors."],
167
+ parameters: PositionParams,
167
168
  run: (service, cwd, params) =>
168
- executeRefactor(service, cwd, params as Parameters<typeof executeRefactor>[2]),
169
+ executeCodeActions(service, cwd, params as Parameters<typeof executeCodeActions>[2]),
169
170
  },
170
171
  {
171
172
  name: LSP_RECOVER_TOOL,
172
173
  label: "LSP Recover",
173
- description:
174
- "Language Server Protocol recover tool — refresh diagnostics after workspace changes and stale language-server state. Use lsp_recover when new files, generated types, or config updates leave diagnostics out of sync.",
175
- promptSnippet: "lsp_recover — refresh stale diagnostics after workspace changes",
174
+ description: "Refresh LSP diagnostics after workspace changes.",
175
+ promptSnippet: "lsp_recover — refresh stale diagnostics",
176
176
  basePromptGuidelines: [
177
- "Use lsp_recover() when diagnostics look stale after workspace-level changes or generated-file updates.",
177
+ "Use lsp_recover() when diagnostics look stale after workspace changes.",
178
178
  ],
179
179
  parameters: RecoverParameters,
180
180
  run: (service) => executeRecover(service),
@@ -7,7 +7,7 @@ export {
7
7
  fileToUri,
8
8
  resolveToolPath as resolveSessionPath,
9
9
  uriToFile,
10
- } from "@mrclrchtr/supi-core/api";
10
+ } from "@mrclrchtr/supi-core/path";
11
11
 
12
12
  // ── Language ID Detection ─────────────────────────────────────────────
13
13
 
@@ -0,0 +1,40 @@
1
+ // Workspace change tracking helpers shared by handlers/session-lifecycle.ts,
2
+ // handlers/diagnostic-injection.ts, and handlers/workspace-recovery.ts.
3
+
4
+ import * as path from "node:path";
5
+ import { clearTsconfigCache } from "./config/tsconfig-scope.ts";
6
+ import type { FileEvent } from "./config/types.ts";
7
+ import { syncWorkspaceSentinelSnapshot } from "./diagnostics/workspace-sentinels.ts";
8
+ import type { LspRuntimeState } from "./session/lsp-state.ts";
9
+
10
+ /** Update the state's workspace-change tracking fields after a file modification. */
11
+ export function markWorkspaceChange(state: LspRuntimeState): void {
12
+ state.lastWorkspaceChangeAt = Date.now();
13
+ state.staleSuspected = true;
14
+ state.lastDiagnosticsFingerprint = null;
15
+ state.currentContextToken = null;
16
+ }
17
+
18
+ /** Notify the LSP manager about file changes and reset pull-diagnostic state. */
19
+ export function softRecoverWorkspaceChanges(state: LspRuntimeState, changes: FileEvent[]): boolean {
20
+ if (!state.manager || changes.length === 0) return false;
21
+
22
+ clearTsconfigCache();
23
+ state.manager.clearAllPullResultIds();
24
+ state.manager.notifyWorkspaceFileChanges(changes);
25
+ markWorkspaceChange(state);
26
+ return true;
27
+ }
28
+
29
+ /** Sync the sentinel-file snapshot and recover from any detected changes. */
30
+ export function refreshWorkspaceSentinels(state: LspRuntimeState, cwd: string): boolean {
31
+ const { snapshot, changes } = syncWorkspaceSentinelSnapshot(cwd, state.sentinelSnapshot);
32
+ state.sentinelSnapshot = snapshot;
33
+ return softRecoverWorkspaceChanges(state, changes);
34
+ }
35
+
36
+ /** Check whether a given file path's extension suggests tsconfig-scope invalidation. */
37
+ export function shouldInvalidateTsconfigScopeCache(filePath: string): boolean {
38
+ const ext = path.extname(filePath).toLowerCase();
39
+ return ext === ".json" || ext === ".jsonc";
40
+ }
@@ -1,6 +1,6 @@
1
1
  # @mrclrchtr/supi-tree-sitter
2
2
 
3
- Adds a `tree_sitter` tool to the [pi coding agent](https://github.com/earendil-works/pi) for parser-based structural code analysis.
3
+ Adds focused structural code analysis tools to the [pi coding agent](https://github.com/earendil-works/pi) using Tree-sitter parsers.
4
4
 
5
5
  ## Install
6
6
 
@@ -18,27 +18,35 @@ After editing the source, run `/reload`.
18
18
 
19
19
  ## What you get
20
20
 
21
- After install, pi gets one tool:
21
+ After install, pi gets **6 focused tools** for parser-based structural analysis:
22
22
 
23
- - `tree_sitter` — inspect code structure through Tree-sitter parsers instead of plain text search
23
+ - `tree_sitter_outline` — shallow structural outline of declarations in JavaScript/TypeScript files
24
+ - `tree_sitter_imports` — list imports in JavaScript/TypeScript files
25
+ - `tree_sitter_exports` — list exports in JavaScript/TypeScript files
26
+ - `tree_sitter_node_at` — find the exact syntax node and ancestry at a position (any supported grammar)
27
+ - `tree_sitter_query` — run a custom Tree-sitter query against a file (any supported grammar)
28
+ - `tree_sitter_callees` — find outgoing calls from the enclosing function or method at a position (most grammars)
24
29
 
25
- ## `tree_sitter` actions
30
+ ### Outline, imports, exports
26
31
 
27
- | Action | What it is for | Current language coverage |
28
- | --- | --- | --- |
29
- | `outline` | List structural declarations such as functions, classes, interfaces, and methods | JavaScript / TypeScript only |
30
- | `imports` | List import statements | JavaScript / TypeScript only |
31
- | `exports` | List export declarations, re-exports, and export assignments | JavaScript / TypeScript only |
32
- | `node_at` | Show the syntax node at a position, including ancestry | Any supported grammar |
33
- | `query` | Run a custom Tree-sitter query against a file | Any supported grammar |
34
- | `callees` | Find outgoing calls from the enclosing function or method at a position | Supported for most grammars, but not all |
32
+ These three tools work on JavaScript, TypeScript, JSX, and TSX files. They provide parser-level structural information without needing a language server:
33
+
34
+ - `tree_sitter_outline` top-level declarations plus class/interface/enum members
35
+ - `tree_sitter_imports` module specifiers and source locations for each import
36
+ - `tree_sitter_exports` kind, name, and module specifier (for re-exports) of each export
37
+
38
+ ### Node-at, query, callees
39
+
40
+ These tools work across all or most supported grammars:
41
+
42
+ - `tree_sitter_node_at` — exact syntax node type and ancestry at a given file position
43
+ - `tree_sitter_query` — custom Tree-sitter query pattern matching on any supported grammar
44
+ - `tree_sitter_callees` — outgoing calls from the enclosing function or method at a given position
35
45
 
36
46
  Coordinates use **1-based** line and character columns. Character positions use UTF-16 code units. Relative paths resolve from the session cwd, and a leading `@` on file paths is stripped.
37
47
 
38
48
  ## Supported file families
39
49
 
40
- The current tool description covers:
41
-
42
50
  - JavaScript / TypeScript (`.js`, `.jsx`, `.ts`, `.tsx`, `.mjs`, `.cjs`, `.mts`, `.cts`)
43
51
  - Python (`.py`, `.pyi`)
44
52
  - Rust (`.rs`)
@@ -84,7 +92,10 @@ if (state.kind === "ready") {
84
92
 
85
93
  ## Source
86
94
 
87
- - `src/tree-sitter.ts` — tool registration and action handling
95
+ - `src/tool/tool-specs.ts` — single source of truth for the public tool surface
96
+ - `src/tool/guidance.ts` — prompt surfaces derived from tool specs
97
+ - `src/tool/register-tools.ts` — focused tool registration driven by tool specs
98
+ - `src/tree-sitter.ts` — extension entrypoint (thin wire-up)
88
99
  - `src/session/runtime.ts` — parser and query runtime
89
100
  - `src/session/session.ts` — runtime-backed service helpers and owned session API
90
101
  - `src/session/service-registry.ts` — shared session-scoped structural service registry
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mrclrchtr/supi-core",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "SuPi core — shared infrastructure for SuPi extensions (XML context tags, config system)",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -37,8 +37,19 @@
37
37
  "main": "src/api.ts",
38
38
  "exports": {
39
39
  "./api": "./src/api.ts",
40
+ "./config": "./src/config.ts",
41
+ "./context": "./src/context.ts",
42
+ "./debug": "./src/debug-registry.ts",
40
43
  "./extension": "./src/extension.ts",
41
- "./package.json": "./package.json"
44
+ "./package.json": "./package.json",
45
+ "./path": "./src/path.ts",
46
+ "./project": "./src/project.ts",
47
+ "./session": "./src/session.ts",
48
+ "./settings": "./src/settings.ts",
49
+ "./settings-ui": "./src/settings-ui.ts",
50
+ "./terminal": "./src/terminal.ts",
51
+ "./tool-framework": "./src/tool-framework.ts",
52
+ "./types": "./src/types.ts"
42
53
  },
43
54
  "pi": {
44
55
  "extensions": [