@mrclrchtr/supi-code-intelligence 1.7.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. package/README.md +30 -3
  2. package/node_modules/@mrclrchtr/supi-code-runtime/README.md +13 -0
  3. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/README.md +97 -0
  4. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/package.json +53 -0
  5. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/api.ts +30 -0
  6. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config-settings.ts +76 -0
  7. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config.ts +186 -0
  8. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
  9. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-messages.ts +119 -0
  10. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-provider-registry.ts +36 -0
  11. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-tag.ts +31 -0
  12. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
  13. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/debug-registry.ts +255 -0
  14. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/index.ts +30 -0
  15. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path-utils.ts +40 -0
  16. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
  17. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/project-roots.ts +170 -0
  18. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
  19. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/registry-utils.ts +86 -0
  20. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/session-utils.ts +29 -0
  21. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
  22. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-command.ts +15 -0
  23. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +41 -0
  24. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-ui.ts +226 -0
  25. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
  26. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
  27. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
  28. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/terminal.ts +60 -0
  29. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/tool-framework.ts +116 -0
  30. package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
  31. package/node_modules/@mrclrchtr/supi-code-runtime/package.json +40 -0
  32. package/node_modules/@mrclrchtr/supi-code-runtime/src/api.ts +35 -0
  33. package/node_modules/@mrclrchtr/supi-code-runtime/src/capability/types.ts +68 -0
  34. package/node_modules/@mrclrchtr/supi-code-runtime/src/index.ts +31 -0
  35. package/node_modules/@mrclrchtr/supi-code-runtime/src/types.ts +110 -0
  36. package/node_modules/@mrclrchtr/supi-code-runtime/src/workspace/context.ts +41 -0
  37. package/node_modules/@mrclrchtr/supi-code-runtime/src/workspace/runtime.ts +170 -0
  38. package/node_modules/@mrclrchtr/supi-core/README.md +3 -13
  39. package/node_modules/@mrclrchtr/supi-core/package.json +13 -8
  40. package/node_modules/@mrclrchtr/supi-core/src/api.ts +26 -92
  41. package/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
  42. package/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
  43. package/node_modules/@mrclrchtr/supi-core/src/index.ts +26 -92
  44. package/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
  45. package/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
  46. package/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
  47. package/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
  48. package/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
  49. package/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
  50. package/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
  51. package/node_modules/@mrclrchtr/supi-lsp/README.md +33 -10
  52. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/README.md +13 -0
  53. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/README.md +97 -0
  54. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/package.json +57 -0
  55. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/api.ts +30 -0
  56. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config-settings.ts +76 -0
  57. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config.ts +186 -0
  58. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
  59. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-messages.ts +119 -0
  60. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-provider-registry.ts +36 -0
  61. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-tag.ts +31 -0
  62. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
  63. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/debug-registry.ts +255 -0
  64. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/index.ts +30 -0
  65. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path-utils.ts +40 -0
  66. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
  67. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/project-roots.ts +170 -0
  68. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
  69. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/registry-utils.ts +86 -0
  70. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/session-utils.ts +29 -0
  71. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
  72. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-command.ts +15 -0
  73. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +41 -0
  74. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-ui.ts +226 -0
  75. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
  76. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
  77. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
  78. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/terminal.ts +60 -0
  79. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/tool-framework.ts +116 -0
  80. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
  81. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/package.json +40 -0
  82. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/api.ts +35 -0
  83. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/capability/types.ts +68 -0
  84. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/index.ts +31 -0
  85. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/types.ts +110 -0
  86. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/workspace/context.ts +41 -0
  87. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/workspace/runtime.ts +170 -0
  88. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/README.md +3 -13
  89. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/package.json +13 -8
  90. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/api.ts +26 -92
  91. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
  92. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
  93. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/index.ts +26 -92
  94. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
  95. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
  96. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
  97. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
  98. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
  99. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
  100. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
  101. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/License.txt +11 -0
  102. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/README.md +69 -0
  103. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/browser.d.ts +6 -0
  104. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/browser.js +7 -0
  105. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/browser/main.d.ts +17 -0
  106. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/browser/main.js +76 -0
  107. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/browser/ril.d.ts +12 -0
  108. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/browser/ril.js +156 -0
  109. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/api.d.ts +14 -0
  110. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/api.js +81 -0
  111. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts +32 -0
  112. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/cancellation.js +96 -0
  113. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/connection.d.ts +358 -0
  114. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/connection.js +1214 -0
  115. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/disposable.d.ts +9 -0
  116. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/disposable.js +16 -0
  117. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/encoding.d.ts +52 -0
  118. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/encoding.js +70 -0
  119. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/events.d.ts +39 -0
  120. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/events.js +128 -0
  121. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/is.d.ts +7 -0
  122. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/is.js +35 -0
  123. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/linkedMap.d.ts +53 -0
  124. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/linkedMap.js +398 -0
  125. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageBuffer.d.ts +18 -0
  126. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js +152 -0
  127. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageReader.d.ts +77 -0
  128. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageReader.js +197 -0
  129. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageWriter.d.ts +60 -0
  130. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageWriter.js +115 -0
  131. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messages.d.ts +369 -0
  132. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messages.js +306 -0
  133. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/ral.d.ts +74 -0
  134. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/ral.js +23 -0
  135. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/semaphore.d.ts +10 -0
  136. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/semaphore.js +68 -0
  137. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.d.ts +15 -0
  138. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js +76 -0
  139. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/node/main.d.ts +63 -0
  140. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/node/main.js +257 -0
  141. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/node/ril.d.ts +13 -0
  142. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/node/ril.js +161 -0
  143. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/node.cmd +5 -0
  144. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/node.d.ts +6 -0
  145. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/node.js +7 -0
  146. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/package.json +45 -0
  147. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/thirdpartynotices.txt +16 -0
  148. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/typings/thenable.d.ts +5 -0
  149. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/License.txt +11 -0
  150. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/README.md +16 -0
  151. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/browser.d.ts +6 -0
  152. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/browser.js +7 -0
  153. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/browser/main.d.ts +4 -0
  154. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/browser/main.js +28 -0
  155. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/api.d.ts +58 -0
  156. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/api.js +77 -0
  157. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/connection.d.ts +187 -0
  158. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/connection.js +15 -0
  159. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/messages.d.ts +51 -0
  160. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/messages.js +44 -0
  161. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.$.d.ts +1 -0
  162. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.$.js +43 -0
  163. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.d.ts +86 -0
  164. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js +42 -0
  165. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.d.ts +66 -0
  166. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js +32 -0
  167. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.d.ts +35 -0
  168. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js +24 -0
  169. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.d.ts +3252 -0
  170. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.d.ts +37 -0
  171. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js +22 -0
  172. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.d.ts +341 -0
  173. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js +74 -0
  174. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.d.ts +306 -0
  175. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js +101 -0
  176. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.d.ts +109 -0
  177. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js +30 -0
  178. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.d.ts +38 -0
  179. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js +21 -0
  180. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.d.ts +110 -0
  181. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js +43 -0
  182. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.d.ts +57 -0
  183. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js +22 -0
  184. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.d.ts +86 -0
  185. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js +30 -0
  186. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.js +943 -0
  187. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.d.ts +52 -0
  188. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js +19 -0
  189. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.d.ts +106 -0
  190. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js +68 -0
  191. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.d.ts +400 -0
  192. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js +214 -0
  193. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.d.ts +107 -0
  194. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js +37 -0
  195. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.d.ts +41 -0
  196. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js +20 -0
  197. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.d.ts +223 -0
  198. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js +57 -0
  199. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.d.ts +72 -0
  200. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js +22 -0
  201. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.d.ts +38 -0
  202. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js +21 -0
  203. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.d.ts +83 -0
  204. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js +42 -0
  205. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.d.ts +74 -0
  206. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js +27 -0
  207. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/utils/is.d.ts +9 -0
  208. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js +46 -0
  209. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/node/main.d.ts +6 -0
  210. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/node/main.js +28 -0
  211. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/metaModel.schema.json +783 -0
  212. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node.cmd +5 -0
  213. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node.d.ts +6 -0
  214. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node.js +7 -0
  215. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/License.txt +11 -0
  216. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/README.md +69 -0
  217. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/browser.d.ts +6 -0
  218. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/browser.js +7 -0
  219. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/browser/main.d.ts +17 -0
  220. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/browser/main.js +76 -0
  221. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/browser/ril.d.ts +12 -0
  222. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/browser/ril.js +156 -0
  223. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/api.d.ts +14 -0
  224. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/api.js +81 -0
  225. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts +32 -0
  226. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/cancellation.js +96 -0
  227. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/connection.d.ts +358 -0
  228. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/connection.js +1212 -0
  229. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/disposable.d.ts +9 -0
  230. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/disposable.js +16 -0
  231. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/encoding.d.ts +52 -0
  232. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/encoding.js +70 -0
  233. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/events.d.ts +39 -0
  234. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/events.js +128 -0
  235. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/is.d.ts +7 -0
  236. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/is.js +35 -0
  237. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/linkedMap.d.ts +53 -0
  238. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/linkedMap.js +398 -0
  239. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageBuffer.d.ts +18 -0
  240. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js +152 -0
  241. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageReader.d.ts +77 -0
  242. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageReader.js +197 -0
  243. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageWriter.d.ts +60 -0
  244. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageWriter.js +115 -0
  245. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messages.d.ts +369 -0
  246. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messages.js +306 -0
  247. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/ral.d.ts +74 -0
  248. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/ral.js +23 -0
  249. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/semaphore.d.ts +10 -0
  250. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/semaphore.js +68 -0
  251. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.d.ts +15 -0
  252. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js +76 -0
  253. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/node/main.d.ts +63 -0
  254. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/node/main.js +257 -0
  255. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/node/ril.d.ts +13 -0
  256. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/node/ril.js +161 -0
  257. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/node.cmd +5 -0
  258. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/node.d.ts +6 -0
  259. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/node.js +7 -0
  260. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/package.json +45 -0
  261. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/thirdpartynotices.txt +16 -0
  262. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/typings/thenable.d.ts +5 -0
  263. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/package.json +45 -0
  264. package/node_modules/@mrclrchtr/{supi-tree-sitter/node_modules/web-tree-sitter/LICENSE → supi-lsp/node_modules/vscode-languageserver-protocol/thirdpartynotices.txt} +16 -6
  265. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/License.txt +11 -0
  266. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/README.md +17 -0
  267. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/esm/main.d.ts +3139 -0
  268. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/esm/main.js +2222 -0
  269. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/esm/package.json +3 -0
  270. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/umd/main.d.ts +3139 -0
  271. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/umd/main.js +2272 -0
  272. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/package.json +38 -0
  273. package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/thirdpartynotices.txt +16 -0
  274. package/node_modules/@mrclrchtr/supi-lsp/package.json +9 -6
  275. package/node_modules/@mrclrchtr/supi-lsp/src/config/config.ts +1 -1
  276. package/node_modules/@mrclrchtr/supi-lsp/src/handlers/diagnostic-injection.ts +182 -0
  277. package/node_modules/@mrclrchtr/supi-lsp/src/handlers/session-lifecycle.ts +149 -0
  278. package/node_modules/@mrclrchtr/supi-lsp/src/handlers/status-command.ts +38 -0
  279. package/node_modules/@mrclrchtr/supi-lsp/src/handlers/workspace-recovery.ts +92 -0
  280. package/node_modules/@mrclrchtr/supi-lsp/src/lsp.ts +18 -414
  281. package/node_modules/@mrclrchtr/supi-lsp/src/manager/capability-index.ts +24 -0
  282. package/node_modules/@mrclrchtr/supi-lsp/src/manager/client-pool.ts +33 -0
  283. package/node_modules/@mrclrchtr/supi-lsp/src/manager/diagnostic-store.ts +51 -0
  284. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-helpers.ts +1 -1
  285. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-workspace-symbol.ts +1 -1
  286. package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager.ts +1 -1
  287. package/node_modules/@mrclrchtr/supi-lsp/src/manager/recovery-coordinator.ts +37 -0
  288. package/node_modules/@mrclrchtr/supi-lsp/src/manager/workspace-router.ts +44 -0
  289. package/node_modules/@mrclrchtr/supi-lsp/src/provider/lsp-semantic-provider.ts +156 -0
  290. package/node_modules/@mrclrchtr/supi-lsp/src/session/runtime-registration.ts +39 -0
  291. package/node_modules/@mrclrchtr/supi-lsp/src/session/scanner.ts +1 -1
  292. package/node_modules/@mrclrchtr/supi-lsp/src/session/service-registry.ts +1 -1
  293. package/node_modules/@mrclrchtr/supi-lsp/src/session/settings-registration.ts +1 -1
  294. package/node_modules/@mrclrchtr/supi-lsp/src/tool/guidance.ts +5 -14
  295. package/node_modules/@mrclrchtr/supi-lsp/src/tool/names.ts +12 -4
  296. package/node_modules/@mrclrchtr/supi-lsp/src/tool/register-tools.ts +2 -4
  297. package/node_modules/@mrclrchtr/supi-lsp/src/tool/service-actions.ts +141 -0
  298. package/node_modules/@mrclrchtr/supi-lsp/src/tool/tool-specs.ts +93 -93
  299. package/node_modules/@mrclrchtr/supi-lsp/src/utils.ts +1 -1
  300. package/node_modules/@mrclrchtr/supi-lsp/src/workspace-change.ts +40 -0
  301. package/node_modules/@mrclrchtr/supi-tree-sitter/README.md +44 -16
  302. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/README.md +13 -0
  303. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/README.md +97 -0
  304. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/package.json +57 -0
  305. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/api.ts +30 -0
  306. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config-settings.ts +76 -0
  307. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config.ts +186 -0
  308. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
  309. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-messages.ts +119 -0
  310. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-provider-registry.ts +36 -0
  311. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-tag.ts +31 -0
  312. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
  313. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/debug-registry.ts +255 -0
  314. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/index.ts +30 -0
  315. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path-utils.ts +40 -0
  316. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
  317. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/project-roots.ts +170 -0
  318. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
  319. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/registry-utils.ts +86 -0
  320. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/session-utils.ts +29 -0
  321. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
  322. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-command.ts +15 -0
  323. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +41 -0
  324. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-ui.ts +226 -0
  325. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
  326. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
  327. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
  328. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/terminal.ts +60 -0
  329. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/tool-framework.ts +116 -0
  330. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
  331. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/package.json +40 -0
  332. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/api.ts +35 -0
  333. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/capability/types.ts +68 -0
  334. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/index.ts +31 -0
  335. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/types.ts +110 -0
  336. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/workspace/context.ts +41 -0
  337. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/workspace/runtime.ts +170 -0
  338. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/README.md +3 -13
  339. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/package.json +13 -8
  340. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/api.ts +26 -92
  341. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
  342. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
  343. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/index.ts +26 -92
  344. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
  345. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
  346. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
  347. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
  348. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
  349. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
  350. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
  351. package/node_modules/@mrclrchtr/supi-tree-sitter/package.json +9 -6
  352. package/node_modules/@mrclrchtr/supi-tree-sitter/src/provider/tree-sitter-provider.ts +144 -0
  353. package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/runtime-registration.ts +37 -0
  354. package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/runtime.ts +1 -1
  355. package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/service-registry.ts +1 -1
  356. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/guidance.ts +29 -25
  357. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/handlers.ts +196 -0
  358. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/register-tools.ts +107 -0
  359. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/tool-specs.ts +117 -0
  360. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tree-sitter.ts +21 -307
  361. package/package.json +8 -6
  362. package/src/api.ts +35 -5
  363. package/src/brief-focused.ts +2 -2
  364. package/src/brief.ts +11 -55
  365. package/src/code-intelligence.ts +19 -3
  366. package/src/index.ts +33 -5
  367. package/src/{architecture.ts → model.ts} +21 -62
  368. package/src/pattern-structured.ts +26 -26
  369. package/src/presentation/markdown/affected.ts +170 -0
  370. package/src/presentation/markdown/brief.ts +174 -0
  371. package/src/presentation/markdown/map.ts +54 -0
  372. package/src/presentation/markdown/overview.ts +59 -0
  373. package/src/presentation/markdown/pattern.ts +239 -0
  374. package/src/presentation/markdown/relations.ts +121 -0
  375. package/src/prioritization-signals.ts +1 -1
  376. package/src/resolve-target.ts +58 -40
  377. package/src/search-helpers.ts +17 -4
  378. package/src/substrates/types.ts +30 -0
  379. package/src/target-resolution.ts +35 -416
  380. package/src/targeting/query.ts +60 -0
  381. package/src/targeting/resolve-anchored.ts +80 -0
  382. package/src/targeting/resolve-file.ts +194 -0
  383. package/src/targeting/resolve-symbol.ts +110 -0
  384. package/src/targeting/types.ts +111 -0
  385. package/src/tool/execute-affected.ts +27 -3
  386. package/src/tool/execute-brief.ts +30 -3
  387. package/src/tool/execute-map.ts +5 -2
  388. package/src/tool/execute-pattern.ts +6 -3
  389. package/src/tool/execute-relations.ts +36 -23
  390. package/src/tool/guidance.ts +30 -1
  391. package/src/tool/tool-specs.ts +29 -48
  392. package/src/types.ts +101 -3
  393. package/src/use-case/build-overview.ts +36 -0
  394. package/src/use-case/generate-affected.ts +297 -0
  395. package/src/use-case/generate-brief.ts +341 -0
  396. package/src/{actions/map-action.ts → use-case/generate-map.ts} +30 -60
  397. package/src/use-case/generate-pattern.ts +270 -0
  398. package/src/use-case/generate-relations.ts +438 -0
  399. package/src/use-case/support/semantic-references.ts +114 -0
  400. package/src/use-case/types.ts +43 -0
  401. package/src/workspace/request-context.ts +139 -0
  402. package/node_modules/@mrclrchtr/supi-core/src/extension.ts +0 -1
  403. package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/extension.ts +0 -1
  404. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/extension.ts +0 -1
  405. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/README.md +0 -265
  406. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.cjs +0 -4661
  407. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.cjs.map +0 -7
  408. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.js +0 -4605
  409. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.js.map +0 -7
  410. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.wasm +0 -0
  411. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.wasm.map +0 -57
  412. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/package.json +0 -100
  413. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.cjs +0 -4063
  414. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.cjs.map +0 -7
  415. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.cts +0 -1025
  416. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.cts.map +0 -58
  417. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.ts +0 -1025
  418. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.ts.map +0 -58
  419. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.js +0 -4007
  420. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.js.map +0 -7
  421. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.wasm +0 -0
  422. package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.wasm.map +0 -55
  423. package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/action-specs.ts +0 -92
  424. package/src/actions/affected-action.ts +0 -452
  425. package/src/actions/brief-action.ts +0 -378
  426. package/src/actions/callees-action.ts +0 -155
  427. package/src/actions/callers-action.ts +0 -253
  428. package/src/actions/implementations-action.ts +0 -172
  429. package/src/actions/pattern-action.ts +0 -392
  430. package/src/providers/semantic-provider.ts +0 -34
  431. package/src/providers/structural-provider.ts +0 -26
@@ -0,0 +1,114 @@
1
+ // Shared low-level helpers for reference collection, aggregation, and formatting.
2
+ // Moved from src/actions/semantic-references.ts into the use-case support layer.
3
+
4
+ import * as path from "node:path";
5
+ import { filterOutDeclaration, isInProjectPath, uriToFile } from "../../search-helpers.ts";
6
+ import { dedupeFileLineRefs, highestConfidence } from "../../semantic-action-helpers.ts";
7
+ import type { SemanticSubstrate } from "../../substrates/types.ts";
8
+ import type { ResolvedTarget } from "../../target-resolution.ts";
9
+ import type { ConfidenceMode } from "../../types.ts";
10
+
11
+ export interface FileLineRef {
12
+ file: string;
13
+ line: number;
14
+ }
15
+
16
+ export interface ReferenceCollection {
17
+ refs: FileLineRef[];
18
+ confidence: ConfidenceMode;
19
+ externalCount: number;
20
+ }
21
+
22
+ /**
23
+ * Collect semantic references for a target, filtering out the declaration itself
24
+ * and partitioning project vs external (node_modules/out-of-tree) references.
25
+ */
26
+ export async function collectReferences(
27
+ target: ResolvedTarget,
28
+ cwd: string,
29
+ semantic: SemanticSubstrate,
30
+ ): Promise<ReferenceCollection> {
31
+ const locs = await semantic.references(target.file, target.position);
32
+ if (!locs) {
33
+ return { refs: [], confidence: "unavailable", externalCount: 0 };
34
+ }
35
+
36
+ let externalCount = 0;
37
+ for (const ref of locs) {
38
+ const filePath = uriToFile(ref.uri);
39
+ if (!isInProjectPath(filePath, cwd)) {
40
+ externalCount++;
41
+ }
42
+ }
43
+
44
+ const filtered = filterOutDeclaration(locs, target.file, target.position);
45
+ const projectRefs: FileLineRef[] = [];
46
+ for (const ref of filtered) {
47
+ const filePath = uriToFile(ref.uri);
48
+ if (isInProjectPath(filePath, cwd)) {
49
+ projectRefs.push({ file: path.relative(cwd, filePath), line: ref.range.start.line + 1 });
50
+ }
51
+ }
52
+
53
+ return { refs: projectRefs, confidence: "semantic", externalCount };
54
+ }
55
+
56
+ /**
57
+ * Run a collection function across multiple targets and aggregate the results.
58
+ * Deduplicates refs by file:line, merges confidence, and sums external counts.
59
+ */
60
+ export async function aggregatePerTarget<T extends ReferenceCollection>(
61
+ targets: ResolvedTarget[],
62
+ collectFn: (target: ResolvedTarget) => Promise<T>,
63
+ ): Promise<ReferenceCollection> {
64
+ if (targets.length === 0) {
65
+ return { refs: [], confidence: "unavailable", externalCount: 0 };
66
+ }
67
+
68
+ const results = await Promise.all(targets.map(collectFn));
69
+ const combinedRefs = dedupeFileLineRefs(results.flatMap((r) => r.refs));
70
+ const combinedConfidence = highestConfidence(results.map((r) => r.confidence));
71
+ const combinedExternal = results.reduce((sum, r) => sum + r.externalCount, 0);
72
+
73
+ return { refs: combinedRefs, confidence: combinedConfidence, externalCount: combinedExternal };
74
+ }
75
+
76
+ /**
77
+ * Append a formatted reference list to a lines array.
78
+ * Groups refs by file, caps per-file lines at 5, and caps total files at maxResults.
79
+ */
80
+ export function formatReferenceList(
81
+ lines: string[],
82
+ refs: FileLineRef[],
83
+ maxResults: number,
84
+ _cwd: string,
85
+ ): void {
86
+ if (refs.length === 0) return;
87
+
88
+ const byFile = new Map<string, number[]>();
89
+ for (const ref of refs) {
90
+ const group = byFile.get(ref.file) ?? [];
91
+ group.push(ref.line);
92
+ byFile.set(ref.file, group);
93
+ }
94
+
95
+ let shown = 0;
96
+ for (const [file, locations] of byFile) {
97
+ if (shown >= maxResults) break;
98
+ lines.push(`### ${file}`);
99
+ for (const loc of locations.slice(0, 5)) {
100
+ lines.push(`- L${loc}`);
101
+ }
102
+ if (locations.length > 5) {
103
+ lines.push(`- _+${locations.length - 5} more in this file_`);
104
+ }
105
+ lines.push("");
106
+ shown++;
107
+ }
108
+
109
+ if (byFile.size > maxResults) {
110
+ lines.push(
111
+ `_+${byFile.size - maxResults} more files omitted. Narrow with \`path\` or increase \`maxResults\`._`,
112
+ );
113
+ }
114
+ }
@@ -0,0 +1,43 @@
1
+ // Shared typed data interfaces between use-case and presentation layers.
2
+
3
+ import type { ArchitectureModel } from "../model.ts";
4
+ import type { BriefDetails } from "../types.ts";
5
+ import type { CodeProvider } from "../workspace/request-context.ts";
6
+
7
+ // ── Overview use-case ────────────────────────────────────────────────
8
+
9
+ export interface OverviewModule {
10
+ name: string;
11
+ shortName: string;
12
+ description: string | null;
13
+ isLeaf: boolean;
14
+ internalDeps: string[];
15
+ }
16
+
17
+ export interface OverviewData {
18
+ projectName: string | null;
19
+ projectDescription: string | null;
20
+ modules: OverviewModule[];
21
+ omittedModuleCount: number;
22
+ gitContextOverview: string | null;
23
+ }
24
+
25
+ // ── Brief use-case ───────────────────────────────────────────────────
26
+
27
+ export type BriefInput =
28
+ | { kind: "project" }
29
+ | { kind: "path"; path: string }
30
+ | { kind: "file"; file: string }
31
+ | { kind: "anchored"; file: string; line: number; character: number }
32
+ | { kind: "symbol"; symbol: string; path?: string };
33
+
34
+ export interface BriefDeps {
35
+ model: ArchitectureModel | null;
36
+ provider: CodeProvider | null;
37
+ cwd: string;
38
+ }
39
+
40
+ export interface BriefUseCaseResult {
41
+ content: string;
42
+ details: BriefDetails;
43
+ }
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Central access point for code-intelligence to read shared workspace
3
+ * runtime capability state from @mrclrchtr/supi-code-runtime.
4
+ *
5
+ * Replaces the old local provider registry/wiring layer. The substrate
6
+ * packages (supi-lsp, supi-tree-sitter) publish their capabilities into
7
+ * the shared runtime via getDefaultWorkspaceRuntime(). This module reads
8
+ * that same singleton to provide per-cwd capability state to the
9
+ * code_* tool use-cases.
10
+ */
11
+
12
+ import {
13
+ type CodeLocation,
14
+ type CodePosition,
15
+ type CodeResult,
16
+ type CodeSymbol,
17
+ getDefaultWorkspaceRuntime,
18
+ type SemanticProvider,
19
+ type StructuralProvider,
20
+ } from "@mrclrchtr/supi-code-runtime/api";
21
+ import type { CalleesData, ExportData, ImportData, NodeAtData, OutlineData } from "../types.ts";
22
+
23
+ /**
24
+ * Unified code analysis provider combining semantic (LSP-backed) and
25
+ * structural (tree-sitter-backed) operations.
26
+ *
27
+ * This is the same shape as the old CodeProvider interface, now backed
28
+ * by the shared workspace runtime instead of a local registry.
29
+ */
30
+ export interface CodeProvider extends SemanticProvider, StructuralProvider {}
31
+
32
+ /** Availability state for the code provider in a workspace. */
33
+ export type CodeProviderState =
34
+ | { kind: "ready"; provider: CodeProvider }
35
+ | { kind: "unavailable"; reason: string };
36
+
37
+ /**
38
+ * Get the code provider state for a workspace cwd from the shared runtime.
39
+ *
40
+ * Returns `ready` if at least one capability (semantic or structural) is
41
+ * available. The provider object delegates to whichever capability is
42
+ * present — null / unsupported-language for the missing ones.
43
+ *
44
+ * Returns `unavailable` if no capabilities are registered.
45
+ */
46
+ export function getCodeProvider(cwd: string): CodeProviderState {
47
+ const runtime = getDefaultWorkspaceRuntime();
48
+ const ws = runtime.getWorkspace(cwd);
49
+
50
+ const hasSemantic = ws.semantic.state.kind === "ready" && ws.semantic.provider !== null;
51
+ const hasStructural = ws.structural.state.kind === "ready" && ws.structural.provider !== null;
52
+
53
+ if (!hasSemantic && !hasStructural) {
54
+ return {
55
+ kind: "unavailable",
56
+ reason: "No code provider initialized for this workspace",
57
+ };
58
+ }
59
+
60
+ return {
61
+ kind: "ready",
62
+ provider: createCompositeProvider(
63
+ (hasSemantic ? ws.semantic.provider : null) as SemanticProvider | null,
64
+ (hasStructural ? ws.structural.provider : null) as StructuralProvider | null,
65
+ ),
66
+ };
67
+ }
68
+
69
+ /**
70
+ * Create a single CodeProvider that delegates semantic methods to the
71
+ * semantic (LSP) provider and structural methods to the structural
72
+ * (tree-sitter) provider.
73
+ */
74
+ function createCompositeProvider(
75
+ semantic: SemanticProvider | null,
76
+ structural: StructuralProvider | null,
77
+ ): CodeProvider {
78
+ return {
79
+ // Semantic methods
80
+ async references(filePath: string, position: CodePosition): Promise<CodeLocation[] | null> {
81
+ return semantic?.references(filePath, position) ?? null;
82
+ },
83
+ async implementation(filePath: string, position: CodePosition): Promise<CodeLocation[] | null> {
84
+ return semantic?.implementation(filePath, position) ?? null;
85
+ },
86
+ async documentSymbols(filePath: string): Promise<CodeSymbol[] | null> {
87
+ return semantic?.documentSymbols(filePath) ?? null;
88
+ },
89
+ async workspaceSymbols(query: string): Promise<CodeSymbol[] | null> {
90
+ return semantic?.workspaceSymbols(query) ?? null;
91
+ },
92
+
93
+ // Structural methods
94
+ async calleesAt(
95
+ file: string,
96
+ line: number,
97
+ character: number,
98
+ ): Promise<CodeResult<CalleesData>> {
99
+ return (
100
+ structural?.calleesAt(file, line, character) ?? {
101
+ kind: "unavailable",
102
+ message: "Structural analysis not available. Use tree_sitter_callees.",
103
+ }
104
+ );
105
+ },
106
+ async exports(file: string): Promise<CodeResult<ExportData[]>> {
107
+ return (
108
+ structural?.exports(file) ?? {
109
+ kind: "unavailable",
110
+ message: "Structural analysis not available. Use tree_sitter_exports.",
111
+ }
112
+ );
113
+ },
114
+ async outline(file: string): Promise<CodeResult<OutlineData[]>> {
115
+ return (
116
+ structural?.outline(file) ?? {
117
+ kind: "unavailable",
118
+ message: "Structural analysis not available. Use tree_sitter_outline.",
119
+ }
120
+ );
121
+ },
122
+ async imports(file: string): Promise<CodeResult<ImportData[]>> {
123
+ return (
124
+ structural?.imports(file) ?? {
125
+ kind: "unavailable",
126
+ message: "Structural analysis not available. Use tree_sitter_imports.",
127
+ }
128
+ );
129
+ },
130
+ async nodeAt(file: string, line: number, character: number): Promise<CodeResult<NodeAtData>> {
131
+ return (
132
+ structural?.nodeAt(file, line, character) ?? {
133
+ kind: "unavailable",
134
+ message: "Structural analysis not available. Use tree_sitter_node_at.",
135
+ }
136
+ );
137
+ },
138
+ };
139
+ }
@@ -1 +0,0 @@
1
- export { registerSettingsCommand as default } from "./settings/settings-command.ts";
@@ -1 +0,0 @@
1
- export { registerSettingsCommand as default } from "./settings/settings-command.ts";
@@ -1 +0,0 @@
1
- export { registerSettingsCommand as default } from "./settings/settings-command.ts";
@@ -1,265 +0,0 @@
1
- # Web Tree-sitter
2
-
3
- [![npmjs.com badge]][npmjs.com]
4
-
5
- [npmjs.com]: https://www.npmjs.org/package/web-tree-sitter
6
- [npmjs.com badge]: https://img.shields.io/npm/v/web-tree-sitter.svg?color=%23BF4A4A
7
-
8
- WebAssembly bindings to the [Tree-sitter](https://github.com/tree-sitter/tree-sitter) parsing library.
9
-
10
- ## Setup
11
-
12
- You can download the `web-tree-sitter.js` and `web-tree-sitter.wasm` files from [the latest GitHub release][gh release] and load
13
- them using a standalone script:
14
-
15
- ```html
16
- <script src="/the/path/to/web-tree-sitter.js"></script>
17
-
18
- <script>
19
- const { Parser } = window.TreeSitter;
20
- Parser.init().then(() => { /* the library is ready */ });
21
- </script>
22
- ```
23
-
24
- You can also install [the `web-tree-sitter` module][npm module] from NPM and load it using a system like Webpack:
25
-
26
- ```js
27
- const { Parser } = require('web-tree-sitter');
28
- Parser.init().then(() => { /* the library is ready */ });
29
- ```
30
-
31
- or Vite:
32
-
33
- ```js
34
- import { Parser } from 'web-tree-sitter';
35
- Parser.init().then(() => { /* the library is ready */ });
36
- ```
37
-
38
- With Vite, you also need to make sure your server provides the `tree-sitter.wasm`
39
- file to your `public` directory. You can do this automatically with a `postinstall`
40
- [script](https://docs.npmjs.com/cli/v10/using-npm/scripts) in your `package.json`:
41
-
42
- ```js
43
- "postinstall": "cp node_modules/web-tree-sitter/tree-sitter.wasm public"
44
- ```
45
-
46
- You can also use this module with [deno](https://deno.land/):
47
-
48
- ```js
49
- import { Parser } from "npm:web-tree-sitter";
50
- await Parser.init();
51
- // the library is ready
52
- ```
53
-
54
- To use the debug version of the library, replace your import of `web-tree-sitter` with `web-tree-sitter/debug`:
55
-
56
- ```js
57
- import { Parser } from 'web-tree-sitter/debug'; // or require('web-tree-sitter/debug')
58
-
59
- Parser.init().then(() => { /* the library is ready */ });
60
- ```
61
-
62
- This will load the debug version of the `.js` and `.wasm` file, which includes debug symbols and assertions.
63
-
64
- > [!NOTE]
65
- > The `web-tree-sitter.js` file on GH releases is an ES6 module. If you are interested in using a pure CommonJS library, such
66
- > as for Electron, you should use the `web-tree-sitter.cjs` file instead.
67
-
68
- ### Basic Usage
69
-
70
- First, create a parser:
71
-
72
- ```js
73
- const parser = new Parser();
74
- ```
75
-
76
- Then assign a language to the parser. Tree-sitter languages are packaged as individual `.wasm` files (more on this below):
77
-
78
- ```js
79
- const { Language } = require('web-tree-sitter');
80
- const JavaScript = await Language.load('/path/to/tree-sitter-javascript.wasm');
81
- parser.setLanguage(JavaScript);
82
- ```
83
-
84
- Now you can parse source code:
85
-
86
- ```js
87
- const sourceCode = 'let x = 1; console.log(x);';
88
- const tree = parser.parse(sourceCode);
89
- ```
90
-
91
- and inspect the syntax tree.
92
-
93
- ```javascript
94
- console.log(tree.rootNode.toString());
95
-
96
- // (program
97
- // (lexical_declaration
98
- // (variable_declarator (identifier) (number)))
99
- // (expression_statement
100
- // (call_expression
101
- // (member_expression (identifier) (property_identifier))
102
- // (arguments (identifier)))))
103
-
104
- const callExpression = tree.rootNode.child(1).firstChild;
105
- console.log(callExpression);
106
-
107
- // { type: 'call_expression',
108
- // startPosition: {row: 0, column: 16},
109
- // endPosition: {row: 0, column: 30},
110
- // startIndex: 0,
111
- // endIndex: 30 }
112
- ```
113
-
114
- ### Editing
115
-
116
- If your source code *changes*, you can update the syntax tree. This will take less time than the first parse.
117
-
118
- ```javascript
119
- // Replace 'let' with 'const'
120
- const newSourceCode = 'const x = 1; console.log(x);';
121
-
122
- tree.edit({
123
- startIndex: 0,
124
- oldEndIndex: 3,
125
- newEndIndex: 5,
126
- startPosition: {row: 0, column: 0},
127
- oldEndPosition: {row: 0, column: 3},
128
- newEndPosition: {row: 0, column: 5},
129
- });
130
-
131
- const newTree = parser.parse(newSourceCode, tree);
132
- ```
133
-
134
- ### Parsing Text From a Custom Data Structure
135
-
136
- If your text is stored in a data structure other than a single string, you can parse it by supplying a callback to `parse`
137
- instead of a string:
138
-
139
- ```javascript
140
- const sourceLines = [
141
- 'let x = 1;',
142
- 'console.log(x);'
143
- ];
144
-
145
- const tree = parser.parse((index, position) => {
146
- let line = sourceLines[position.row];
147
- if (line) return line.slice(position.column);
148
- });
149
- ```
150
-
151
- ### Getting the `.wasm` language files
152
-
153
- There are several options on how to get the `.wasm` files for the languages you want to parse.
154
-
155
- #### From npmjs.com
156
-
157
- The recommended way is to just install the package from npm. For example, to parse JavaScript, you can install the `tree-sitter-javascript`
158
- package:
159
-
160
- ```sh
161
- npm install tree-sitter-javascript
162
- ```
163
-
164
- Then you can find the `.wasm` file in the `node_modules/tree-sitter-javascript` directory.
165
-
166
- #### From GitHub
167
-
168
- You can also download the `.wasm` files from GitHub releases, so long as the repository uses our reusable workflow to publish
169
- them.
170
- For example, you can download the JavaScript `.wasm` file from the tree-sitter-javascript [releases page][gh release js].
171
-
172
- #### Generating `.wasm` files
173
-
174
- You can also generate the `.wasm` file for your desired grammar. Shown below is an example of how to generate the `.wasm`
175
- file for the JavaScript grammar.
176
-
177
- **IMPORTANT**: [Emscripten][emscripten], [Docker][docker], or [Podman][podman] need to be installed.
178
-
179
- First install `tree-sitter-cli`, and the tree-sitter language for which to generate `.wasm`
180
- (`tree-sitter-javascript` in this example):
181
-
182
- ```sh
183
- npm install --save-dev tree-sitter-cli tree-sitter-javascript
184
- ```
185
-
186
- Then just use tree-sitter cli tool to generate the `.wasm`.
187
-
188
- ```sh
189
- npx tree-sitter build --wasm node_modules/tree-sitter-javascript
190
- ```
191
-
192
- If everything is fine, file `tree-sitter-javascript.wasm` should be generated in current directory.
193
-
194
- ### Running .wasm in Node.js
195
-
196
- Notice that executing `.wasm` files in Node.js is considerably slower than running [Node.js bindings][node bindings].
197
- However, this could be useful for testing purposes:
198
-
199
- ```javascript
200
- const Parser = require('web-tree-sitter');
201
-
202
- (async () => {
203
- await Parser.init();
204
- const parser = new Parser();
205
- const Lang = await Parser.Language.load('tree-sitter-javascript.wasm');
206
- parser.setLanguage(Lang);
207
- const tree = parser.parse('let x = 1;');
208
- console.log(tree.rootNode.toString());
209
- })();
210
- ```
211
-
212
- ### Running .wasm in browser
213
-
214
- `web-tree-sitter` can run in the browser, but there are some common pitfalls.
215
-
216
- #### Loading the .wasm file
217
-
218
- `web-tree-sitter` needs to load the `tree-sitter.wasm` file. By default, it assumes that this file is available in the
219
- same path as the JavaScript code. Therefore, if the code is being served from `http://localhost:3000/bundle.js`, then
220
- the Wasm file should be at `http://localhost:3000/tree-sitter.wasm`.
221
-
222
- For server side frameworks like NextJS, this can be tricky as pages are often served from a path such as
223
- `http://localhost:3000/_next/static/chunks/pages/index.js`. The loader will therefore look for the Wasm file at
224
- `http://localhost:3000/_next/static/chunks/pages/tree-sitter.wasm`. The solution is to pass a `locateFile` function in
225
- the `moduleOptions` argument to `Parser.init()`:
226
-
227
- ```javascript
228
- await Parser.init({
229
- locateFile(scriptName: string, scriptDirectory: string) {
230
- return scriptName;
231
- },
232
- });
233
- ```
234
-
235
- `locateFile` takes in two parameters, `scriptName`, i.e. the Wasm file name, and `scriptDirectory`, i.e. the directory
236
- where the loader expects the script to be. It returns the path where the loader will look for the Wasm file. In the NextJS
237
- case, we want to return just the `scriptName` so that the loader will look at `http://localhost:3000/tree-sitter.wasm`
238
- and not `http://localhost:3000/_next/static/chunks/pages/tree-sitter.wasm`.
239
-
240
- For more information on the module options you can pass in, see the [emscripten documentation][emscripten-module-options].
241
-
242
- #### "Can't resolve 'fs' in 'node_modules/web-tree-sitter"
243
-
244
- Most bundlers will notice that the `web-tree-sitter.js` file is attempting to import `fs`, i.e. node's file system library.
245
- Since this doesn't exist in the browser, the bundlers will get confused. For Webpack, you can fix this by adding the
246
- following to your webpack config:
247
-
248
- ```javascript
249
- {
250
- resolve: {
251
- fallback: {
252
- fs: false
253
- }
254
- }
255
- }
256
- ```
257
-
258
- [docker]: https://www.docker.com
259
- [emscripten]: https://emscripten.org
260
- [emscripten-module-options]: https://emscripten.org/docs/api_reference/module.html#affecting-execution
261
- [gh release]: https://github.com/tree-sitter/tree-sitter/releases/latest
262
- [gh release js]: https://github.com/tree-sitter/tree-sitter-javascript/releases/latest
263
- [node bindings]: https://github.com/tree-sitter/node-tree-sitter
264
- [npm module]: https://www.npmjs.com/package/web-tree-sitter
265
- [podman]: https://podman.io