@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
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "vscode-languageserver-types",
3
+ "description": "Types used by the Language server for node",
4
+ "version": "3.17.5",
5
+ "author": "Microsoft Corporation",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/Microsoft/vscode-languageserver-node.git",
10
+ "directory": "types"
11
+ },
12
+ "bugs": {
13
+ "url": "https://github.com/Microsoft/vscode-languageserver-node/issues"
14
+ },
15
+ "main": "./lib/umd/main.js",
16
+ "typings": "./lib/umd/main",
17
+ "exports": {
18
+ ".": {
19
+ "browser": "./lib/esm/main.js",
20
+ "import": "./lib/esm/main.js",
21
+ "default": "./lib/umd/main.js"
22
+ }
23
+ },
24
+ "scripts": {
25
+ "prepublishOnly": "echo \"⛔ Can only publish from a secure pipeline ⛔\" && node ../build/npm/fail",
26
+ "prepack": "npm run all:publish",
27
+ "compile": "node ../build/bin/tsc -b ./tsconfig.json",
28
+ "clean": "node ../node_modules/.bin/rimraf lib",
29
+ "watch": "node ../build/bin/tsc -b ./tsconfig.watch.json -w",
30
+ "lint": "node ../node_modules/eslint/bin/eslint.js --ext ts src",
31
+ "test": "node ../node_modules/mocha/bin/_mocha",
32
+ "all": "npm run clean && npm run compile && npm run lint && npm run test",
33
+ "compile:esm": "node ../build/bin/tsc -b ./tsconfig.esm.publish.json && node ../build/bin/fix-esm",
34
+ "compile:umd": "node ../build/bin/tsc -b ./tsconfig.umd.publish.json",
35
+ "all:publish": "git clean -xfd . && npm install && npm run compile:esm && npm run compile:umd && npm run lint && npm run test",
36
+ "preversion": "npm test"
37
+ }
38
+ }
@@ -0,0 +1,16 @@
1
+ NOTICES AND INFORMATION
2
+ Do Not Translate or Localize
3
+
4
+ This software incorporates material from third parties.
5
+ Microsoft makes certain open source code available at https://3rdpartysource.microsoft.com,
6
+ or you may send a check or money order for US $5.00, including the product name,
7
+ the open source component name, platform, and version number, to:
8
+
9
+ Source Code Compliance Team
10
+ Microsoft Corporation
11
+ One Microsoft Way
12
+ Redmond, WA 98052
13
+ USA
14
+
15
+ Notwithstanding any other terms, you may reverse engineer this software to the extent
16
+ required to debug changes to any libraries licensed under the GNU Lesser General Public License.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mrclrchtr/supi-lsp",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "SuPi LSP extension — Language Server Protocol integration for pi",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -26,7 +26,7 @@
26
26
  "vscode-jsonrpc": "^8.2.1",
27
27
  "vscode-languageserver-protocol": "^3.17.5",
28
28
  "vscode-languageserver-types": "^3.17.5",
29
- "@mrclrchtr/supi-core": "1.7.0"
29
+ "@mrclrchtr/supi-core": "1.8.0"
30
30
  },
31
31
  "bundledDependencies": [
32
32
  "@mrclrchtr/supi-core",
@@ -2,7 +2,7 @@
2
2
 
3
3
  import * as fs from "node:fs";
4
4
  import * as path from "node:path";
5
- import { loadSupiConfigForScope } from "@mrclrchtr/supi-core/api";
5
+ import { loadSupiConfigForScope } from "@mrclrchtr/supi-core/config";
6
6
  import type { LspConfig, ServerConfig } from "./types.ts";
7
7
 
8
8
  // Load defaults at module level — resolve relative to this file.
@@ -0,0 +1,182 @@
1
+ // Diagnostic injection handlers — before_agent_start and context.
2
+ //
3
+ // Extracted from lsp.ts to keep each orchestration concern in its own module.
4
+
5
+ import type {
6
+ BeforeAgentStartEvent,
7
+ BeforeAgentStartEventResult,
8
+ ContextEvent,
9
+ ExtensionAPI,
10
+ ExtensionContext,
11
+ } from "@earendil-works/pi-coding-agent";
12
+ import { pruneAndReorderContextMessages, restorePromptContent } from "@mrclrchtr/supi-core/context";
13
+ import type { Diagnostic } from "../config/types.ts";
14
+ import {
15
+ diagnosticsContextFingerprint,
16
+ formatDiagnosticsContext,
17
+ MAX_DETAILED_DIAGNOSTICS,
18
+ } from "../diagnostics/diagnostic-context.ts";
19
+ import { formatDiagnosticsDisplayContent } from "../diagnostics/diagnostic-display.ts";
20
+ import { assessStaleDiagnostics } from "../diagnostics/stale-diagnostics.ts";
21
+ // Force re-open files with module-resolution errors
22
+ import { forceResyncStaleModuleFiles } from "../manager/manager-stale-resync.ts";
23
+ import type { OutstandingDiagnosticSummaryEntry } from "../manager/manager-types.ts";
24
+ import {
25
+ ensureLspToolsActive,
26
+ type LspRuntimeState,
27
+ refreshProjectServers,
28
+ removeLspTools,
29
+ } from "../session/lsp-state.ts";
30
+ import { persistLspInactiveState } from "../session/tree-persist.ts";
31
+ import { updateLspUi } from "../ui/ui.ts";
32
+ import { refreshWorkspaceSentinels } from "../workspace-change.ts";
33
+
34
+ /**
35
+ * Register handlers for before_agent_start (diagnostic injection) and context
36
+ * (lsp-context message pruning / prompt-content restoration).
37
+ */
38
+ export function registerDiagnosticInjectionHandlers(
39
+ pi: ExtensionAPI,
40
+ state: LspRuntimeState,
41
+ ): void {
42
+ // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: before_agent_start coordinates sentinel recovery, pruning, refresh, and diagnostic injection.
43
+ pi.on("before_agent_start", async (_event: BeforeAgentStartEvent, ctx: ExtensionContext) => {
44
+ if (!state.manager || !state.lspActive) {
45
+ removeLspTools(pi);
46
+ if (!state.manager && state.lspActive) {
47
+ persistLspInactiveState(pi, state);
48
+ }
49
+ return;
50
+ }
51
+
52
+ ensureLspToolsActive(pi);
53
+
54
+ refreshWorkspaceSentinels(state, ctx.cwd);
55
+
56
+ /**
57
+ * Two-pass prune/refresh pattern:
58
+ *
59
+ * 1. Prune files deleted since the last turn and send didClose.
60
+ * 2. Re-sync remaining open docs and wait for diagnostics to settle.
61
+ * 3. Prune *again* — late publishDiagnostics notifications (already
62
+ * in-flight when step 1 ran) may have re-created stale entries for
63
+ * files that no longer exist. `getAllDiagnostics()` also filters
64
+ * by existence, so this second pass is belt-and-suspenders.
65
+ */
66
+ state.manager.pruneMissingFiles();
67
+ try {
68
+ await state.manager.refreshOpenDiagnostics();
69
+ } catch {
70
+ // Refresh failures must not prevent agent startup
71
+ }
72
+ state.manager.pruneMissingFiles();
73
+
74
+ try {
75
+ await forceResyncStaleModuleFiles(state.manager, ctx.cwd);
76
+ } catch {
77
+ // Best-effort: don't fail the agent turn
78
+ }
79
+
80
+ refreshProjectServers(state);
81
+ updateLspUi(ctx, state.manager, state.inlineSeverity, state.projectServers);
82
+
83
+ const diagnostics = state.manager.getOutstandingDiagnosticSummary(state.inlineSeverity);
84
+ const totalDiags = diagnostics.reduce((sum, d) => sum + d.total, 0);
85
+ const detailed =
86
+ totalDiags <= MAX_DETAILED_DIAGNOSTICS
87
+ ? state.manager.getOutstandingDiagnostics(state.inlineSeverity)
88
+ : undefined;
89
+ const staleAssessment = state.staleSuspected
90
+ ? assessStaleDiagnostics(state.manager.getOutstandingDiagnostics(4))
91
+ : { suspected: false, matchedFiles: [], warning: null };
92
+ state.staleSuspected = staleAssessment.suspected;
93
+
94
+ const staleWarning = staleAssessment.suspected ? staleAssessment.warning : null;
95
+ const content = formatDiagnosticsContext(diagnostics, 3, detailed, staleWarning);
96
+ const fingerprint = diagnosticsContextFingerprint(content);
97
+
98
+ if (!content) {
99
+ state.lastDiagnosticsFingerprint = null;
100
+ state.currentContextToken = null;
101
+ return;
102
+ }
103
+
104
+ if (fingerprint === state.lastDiagnosticsFingerprint) {
105
+ state.currentContextToken = null;
106
+ return;
107
+ }
108
+
109
+ state.lastDiagnosticsFingerprint = fingerprint;
110
+ state.currentContextToken = `lsp-context-${++state.contextCounter}`;
111
+
112
+ return buildDiagnosticResult(
113
+ diagnostics,
114
+ detailed,
115
+ state.inlineSeverity,
116
+ state.currentContextToken,
117
+ staleWarning,
118
+ );
119
+ });
120
+
121
+ pi.on("context", (event: ContextEvent) => {
122
+ const messages = pruneAndReorderContextMessages(
123
+ event.messages as Array<{
124
+ role?: string;
125
+ customType?: string;
126
+ content?: unknown;
127
+ details?: unknown;
128
+ }>,
129
+ "lsp-context",
130
+ state.currentContextToken,
131
+ );
132
+ const contextMessages = restorePromptContent(
133
+ messages,
134
+ "lsp-context",
135
+ state.currentContextToken,
136
+ ) as typeof event.messages;
137
+
138
+ if (
139
+ contextMessages.length === event.messages.length &&
140
+ contextMessages.every((message, index) => message === event.messages[index])
141
+ ) {
142
+ return;
143
+ }
144
+ return { messages: contextMessages };
145
+ });
146
+ }
147
+
148
+ /** Build the `lsp-context` custom message used to surface outstanding diagnostics. */
149
+ // biome-ignore lint/complexity/useMaxParams: wrapper groups the prompt payload fields in one place.
150
+ function buildDiagnosticResult(
151
+ diagnostics: OutstandingDiagnosticSummaryEntry[],
152
+ detailed:
153
+ | {
154
+ file: string;
155
+ diagnostics: Diagnostic[];
156
+ }[]
157
+ | undefined,
158
+ severity: number,
159
+ token: string,
160
+ staleWarning?: string | null,
161
+ ): BeforeAgentStartEventResult {
162
+ return {
163
+ message: {
164
+ customType: "lsp-context",
165
+ content: formatDiagnosticsDisplayContent(diagnostics, detailed),
166
+ display: true,
167
+ details: {
168
+ contextToken: token,
169
+ promptContent: formatDiagnosticsContext(diagnostics, 3, detailed, staleWarning),
170
+ inlineSeverity: severity,
171
+ ...(staleWarning ? { staleWarning } : {}),
172
+ diagnostics: diagnostics.map((d) => ({
173
+ file: d.file,
174
+ errors: d.errors,
175
+ warnings: d.warnings,
176
+ information: d.information,
177
+ hints: d.hints,
178
+ })),
179
+ },
180
+ },
181
+ };
182
+ }
@@ -0,0 +1,139 @@
1
+ // Session lifecycle handlers — session_start, session_shutdown, and agent_end.
2
+ //
3
+ // Extracted from lsp.ts to keep each orchestration concern in its own module.
4
+
5
+ import type {
6
+ AgentEndEvent,
7
+ ExtensionAPI,
8
+ ExtensionContext,
9
+ SessionStartEvent,
10
+ } from "@earendil-works/pi-coding-agent";
11
+ import { loadConfig, resolveLanguageAlias } from "../config/config.ts";
12
+ import { clearTsconfigCache } from "../config/tsconfig-scope.ts";
13
+ import { scanWorkspaceSentinels } from "../diagnostics/workspace-sentinels.ts";
14
+ import { LspManager } from "../manager/manager.ts";
15
+ import {
16
+ disableLspState,
17
+ ensureLspToolsActive,
18
+ type LspRuntimeState,
19
+ refreshProjectServers,
20
+ } from "../session/lsp-state.ts";
21
+ import {
22
+ scanMissingServers,
23
+ scanProjectCapabilities,
24
+ startDetectedServers,
25
+ } from "../session/scanner.ts";
26
+ import {
27
+ clearSessionLspService,
28
+ SessionLspService,
29
+ setSessionLspServiceState,
30
+ } from "../session/service-registry.ts";
31
+ import { loadLspSettings } from "../session/settings-registration.ts";
32
+ import { persistLspActiveState, persistLspInactiveState } from "../session/tree-persist.ts";
33
+ import { buildLspToolPromptSurfaces } from "../tool/guidance.ts";
34
+ import { registerLspTools } from "../tool/register-tools.ts";
35
+ import { updateLspUi } from "../ui/ui.ts";
36
+
37
+ /**
38
+ * Register session lifecycle handlers (start, shutdown, and agent-end cleanup).
39
+ *
40
+ * - `session_start`: initialises the LspManager, starts detected servers, wires
41
+ * dynamic tool guidance, and syncs UI state.
42
+ * - `session_shutdown`: tears down the manager and clears runtime state.
43
+ * - `agent_end`: refreshes project-server info and updates the LSP status UI.
44
+ */
45
+ export function registerSessionLifecycleHandlers(pi: ExtensionAPI, state: LspRuntimeState): void {
46
+ // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: session_start orchestrates setup, server detection, settings, and persistence.
47
+ pi.on("session_start", async (_event: SessionStartEvent, ctx: ExtensionContext) => {
48
+ if (state.manager) {
49
+ clearSessionLspService(state.manager.getCwd());
50
+ await state.manager.shutdownAll();
51
+ }
52
+
53
+ const cwd = ctx.cwd;
54
+ clearTsconfigCache();
55
+ const lspSettings = loadLspSettings(cwd);
56
+
57
+ if (!lspSettings.enabled) {
58
+ clearSessionLspService(cwd);
59
+ disableLspState(pi, state);
60
+ persistLspInactiveState(pi, state);
61
+ setSessionLspServiceState(cwd, { kind: "disabled" });
62
+ return;
63
+ }
64
+
65
+ state.inlineSeverity = lspSettings.severity;
66
+
67
+ const config = loadConfig(cwd);
68
+
69
+ // Apply server allowlist filter from supi shared config
70
+ if (lspSettings.active.length > 0) {
71
+ const allowList = new Set(lspSettings.active.map(resolveLanguageAlias));
72
+ for (const name of Object.keys(config.servers)) {
73
+ if (!allowList.has(name)) {
74
+ delete config.servers[name];
75
+ }
76
+ }
77
+ }
78
+
79
+ clearSessionLspService(cwd);
80
+ state.manager = new LspManager(config, cwd);
81
+ state.manager.setExcludePatterns(lspSettings.exclude ?? []);
82
+ setSessionLspServiceState(cwd, { kind: "pending" });
83
+ state.detectedServers = scanProjectCapabilities(config, cwd);
84
+ state.manager.registerDetectedServers(state.detectedServers);
85
+ await startDetectedServers(state.manager, state.detectedServers);
86
+
87
+ const missing = scanMissingServers(config, cwd);
88
+ if (missing.length > 0) {
89
+ const parts = missing.map((m) => `${m.name} (${m.command})`);
90
+ ctx.ui.notify(
91
+ `LSP server not found for: ${parts.join(", ")}. Install the server to enable language intelligence.`,
92
+ "warning",
93
+ );
94
+ }
95
+
96
+ state.sentinelSnapshot = scanWorkspaceSentinels(cwd);
97
+ state.lastWorkspaceChangeAt = 0;
98
+ state.staleSuspected = false;
99
+ refreshProjectServers(state);
100
+ state.lastDiagnosticsFingerprint = null;
101
+ state.currentContextToken = null;
102
+ state.lspActive = true;
103
+ setSessionLspServiceState(cwd, {
104
+ kind: "ready",
105
+ service: new SessionLspService(state.manager),
106
+ });
107
+ registerLspTools(pi, buildLspToolPromptSurfaces(state.projectServers, cwd));
108
+ ensureLspToolsActive(pi);
109
+ persistLspActiveState(pi, state);
110
+ updateLspUi(ctx, state.manager, state.inlineSeverity, state.projectServers);
111
+ });
112
+
113
+ pi.on("session_shutdown", async () => {
114
+ clearTsconfigCache();
115
+ if (state.manager) {
116
+ clearSessionLspService(state.manager.getCwd());
117
+ await state.manager.shutdownAll();
118
+ state.manager = null;
119
+ }
120
+
121
+ state.inspector.close?.();
122
+ state.detectedServers = [];
123
+ state.projectServers = [];
124
+ state.lastDiagnosticsFingerprint = null;
125
+ state.currentContextToken = null;
126
+ state.staleSuspected = false;
127
+ state.lastWorkspaceChangeAt = 0;
128
+ state.sentinelSnapshot = new Map();
129
+ });
130
+
131
+ pi.on("agent_end", async (_event: AgentEndEvent, ctx: ExtensionContext) => {
132
+ state.currentContextToken = null;
133
+ refreshProjectServers(state);
134
+
135
+ if (state.manager) {
136
+ updateLspUi(ctx, state.manager, state.inlineSeverity, state.projectServers);
137
+ }
138
+ });
139
+ }
@@ -0,0 +1,38 @@
1
+ // LSP status command — /lsp-status overlay.
2
+ //
3
+ // Extracted from lsp.ts to keep each orchestration concern in its own module.
4
+
5
+ import type { ExtensionAPI, ExtensionContext } from "@earendil-works/pi-coding-agent";
6
+ import { type LspRuntimeState, refreshProjectServers } from "../session/lsp-state.ts";
7
+ import { getLspDisabledMessage, loadLspSettings } from "../session/settings-registration.ts";
8
+ import { toggleLspStatusOverlay } from "../ui/ui.ts";
9
+
10
+ /**
11
+ * Register the /lsp-status command that opens an LSP inspector overlay.
12
+ */
13
+ export function registerLspStatusCommand(pi: ExtensionAPI, state: LspRuntimeState): void {
14
+ pi.registerCommand("lsp-status", {
15
+ description: "Show detected LSP servers, roots, open files, and diagnostics",
16
+ handler: async (_args: string, ctx: ExtensionContext) => {
17
+ const lspSettings = loadLspSettings(ctx.cwd);
18
+ if (!lspSettings.enabled) {
19
+ ctx.ui.notify(getLspDisabledMessage(ctx.cwd), "warning");
20
+ return;
21
+ }
22
+
23
+ if (!state.manager) {
24
+ ctx.ui.notify("LSP not initialized", "warning");
25
+ return;
26
+ }
27
+
28
+ refreshProjectServers(state);
29
+ toggleLspStatusOverlay(
30
+ ctx,
31
+ state.manager,
32
+ state.inlineSeverity,
33
+ state.inspector,
34
+ state.projectServers,
35
+ );
36
+ },
37
+ });
38
+ }
@@ -0,0 +1,92 @@
1
+ // Workspace recovery handler — tool_result event.
2
+ //
3
+ // Extracted from lsp.ts to keep each orchestration concern in its own module.
4
+
5
+ import type {
6
+ ExtensionAPI,
7
+ ExtensionContext,
8
+ ToolResultEvent,
9
+ } from "@earendil-works/pi-coding-agent";
10
+ import { clearTsconfigCache } from "../config/tsconfig-scope.ts";
11
+ import { FileChangeType, type FileEvent } from "../config/types.ts";
12
+ import {
13
+ isWorkspaceRecoveryTrigger,
14
+ syncWorkspaceSentinelSnapshot,
15
+ } from "../diagnostics/workspace-sentinels.ts";
16
+ import {
17
+ isLspAwareTool,
18
+ type LspRuntimeState,
19
+ refreshProjectServers,
20
+ } from "../session/lsp-state.ts";
21
+ import { updateLspUi } from "../ui/ui.ts";
22
+ import { fileToUri, resolveSessionPath } from "../utils.ts";
23
+ import {
24
+ shouldInvalidateTsconfigScopeCache,
25
+ softRecoverWorkspaceChanges,
26
+ } from "../workspace-change.ts";
27
+
28
+ /**
29
+ * Register the tool_result handler that detects workspace changes from
30
+ * write / edit tool results and recovers LSP state accordingly.
31
+ */
32
+ export function registerWorkspaceRecoveryHandler(pi: ExtensionAPI, state: LspRuntimeState): void {
33
+ pi.on("tool_result", async (event: ToolResultEvent, ctx: ExtensionContext) => {
34
+ if (!state.manager) return;
35
+
36
+ const recoveryTriggered = recoverWorkspaceChangesFromToolResult(state, ctx.cwd, {
37
+ toolName: event.toolName,
38
+ isError: event.isError,
39
+ input: (event as { input?: unknown }).input,
40
+ });
41
+
42
+ if (recoveryTriggered || isLspAwareTool(event.toolName)) {
43
+ refreshProjectServers(state);
44
+ updateLspUi(ctx, state.manager, state.inlineSeverity, state.projectServers);
45
+ }
46
+ });
47
+ }
48
+
49
+ /**
50
+ * Determine whether a tool result (write/edit) should trigger workspace recovery.
51
+ *
52
+ * Returns true and recovers when the file is:
53
+ * - a sentinel file (package.json, tsconfig, lockfile, .d.ts)
54
+ * - a source file whose extension matches an active language server's file types
55
+ * - a .json / .jsonc file (tsconfig cache invalidation)
56
+ */
57
+ function recoverWorkspaceChangesFromToolResult(
58
+ state: LspRuntimeState,
59
+ cwd: string,
60
+ event: { toolName: string; isError: boolean; input?: unknown },
61
+ ): boolean {
62
+ if (!state.manager || event.isError) return false;
63
+ if (event.toolName !== "write" && event.toolName !== "edit") return false;
64
+ if (!event.input || typeof event.input !== "object") return false;
65
+
66
+ const pathValue = (event.input as { path?: unknown }).path;
67
+ if (typeof pathValue !== "string") return false;
68
+
69
+ const resolvedPath = resolveSessionPath(cwd, pathValue);
70
+ if (shouldInvalidateTsconfigScopeCache(resolvedPath)) {
71
+ clearTsconfigCache();
72
+ }
73
+ const fileEvent: FileEvent = { uri: fileToUri(resolvedPath), type: FileChangeType.Changed };
74
+
75
+ // Sentinel files (package.json, tsconfig.json, lockfiles, .d.ts)
76
+ if (isWorkspaceRecoveryTrigger(resolvedPath, cwd)) {
77
+ if (resolvedPath.endsWith(".d.ts")) {
78
+ return softRecoverWorkspaceChanges(state, [fileEvent]);
79
+ }
80
+
81
+ const { snapshot, changes } = syncWorkspaceSentinelSnapshot(cwd, state.sentinelSnapshot);
82
+ state.sentinelSnapshot = snapshot;
83
+ return softRecoverWorkspaceChanges(state, changes.length > 0 ? changes : [fileEvent]);
84
+ }
85
+
86
+ // Source files matching an active language server's file types
87
+ if (state.manager.hasServerForExtension(resolvedPath)) {
88
+ return softRecoverWorkspaceChanges(state, [fileEvent]);
89
+ }
90
+
91
+ return false;
92
+ }