@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.
- package/README.md +13 -2
- package/node_modules/@mrclrchtr/supi-core/package.json +13 -2
- package/node_modules/@mrclrchtr/supi-core/src/api.ts +26 -92
- package/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
- package/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
- package/node_modules/@mrclrchtr/supi-core/src/index.ts +26 -92
- package/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
- package/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
- package/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
- package/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
- package/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
- package/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
- package/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
- package/node_modules/@mrclrchtr/supi-lsp/README.md +13 -8
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/package.json +13 -2
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/api.ts +26 -92
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/index.ts +26 -92
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/License.txt +11 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/README.md +69 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/browser.d.ts +6 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/browser.js +7 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/browser/main.d.ts +17 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/browser/main.js +76 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/browser/ril.d.ts +12 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/browser/ril.js +156 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/api.d.ts +14 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/api.js +81 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts +32 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/cancellation.js +96 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/connection.d.ts +358 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/connection.js +1214 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/disposable.d.ts +9 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/disposable.js +16 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/encoding.d.ts +52 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/encoding.js +70 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/events.d.ts +39 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/events.js +128 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/is.d.ts +7 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/is.js +35 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/linkedMap.d.ts +53 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/linkedMap.js +398 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageBuffer.d.ts +18 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js +152 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageReader.d.ts +77 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageReader.js +197 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageWriter.d.ts +60 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messageWriter.js +115 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messages.d.ts +369 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/messages.js +306 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/ral.d.ts +74 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/ral.js +23 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/semaphore.d.ts +10 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/semaphore.js +68 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.d.ts +15 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js +76 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/node/main.d.ts +63 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/node/main.js +257 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/node/ril.d.ts +13 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/lib/node/ril.js +161 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/node.cmd +5 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/node.d.ts +6 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/node.js +7 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/package.json +45 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/thirdpartynotices.txt +16 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-jsonrpc/typings/thenable.d.ts +5 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/License.txt +11 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/README.md +16 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/browser.d.ts +6 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/browser.js +7 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/browser/main.d.ts +4 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/browser/main.js +28 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/api.d.ts +58 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/api.js +77 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/connection.d.ts +187 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/connection.js +15 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/messages.d.ts +51 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/messages.js +44 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.$.d.ts +1 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.$.js +43 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.d.ts +86 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js +42 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.d.ts +66 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js +32 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.d.ts +35 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js +24 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.d.ts +3252 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.d.ts +37 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js +22 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.d.ts +341 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js +74 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.d.ts +306 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js +101 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.d.ts +109 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js +30 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.d.ts +38 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js +21 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.d.ts +110 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js +43 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.d.ts +57 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js +22 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.d.ts +86 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js +30 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.js +943 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.d.ts +52 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js +19 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.d.ts +106 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js +68 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.d.ts +400 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js +214 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.d.ts +107 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js +37 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.d.ts +41 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js +20 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.d.ts +223 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js +57 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.d.ts +72 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js +22 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.d.ts +38 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js +21 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.d.ts +83 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js +42 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.d.ts +74 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js +27 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/utils/is.d.ts +9 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js +46 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/node/main.d.ts +6 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/lib/node/main.js +28 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/metaModel.schema.json +783 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node.cmd +5 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node.d.ts +6 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node.js +7 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/License.txt +11 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/README.md +69 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/browser.d.ts +6 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/browser.js +7 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/browser/main.d.ts +17 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/browser/main.js +76 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/browser/ril.d.ts +12 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/browser/ril.js +156 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/api.d.ts +14 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/api.js +81 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts +32 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/cancellation.js +96 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/connection.d.ts +358 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/connection.js +1212 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/disposable.d.ts +9 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/disposable.js +16 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/encoding.d.ts +52 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/encoding.js +70 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/events.d.ts +39 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/events.js +128 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/is.d.ts +7 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/is.js +35 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/linkedMap.d.ts +53 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/linkedMap.js +398 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageBuffer.d.ts +18 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js +152 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageReader.d.ts +77 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageReader.js +197 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageWriter.d.ts +60 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messageWriter.js +115 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messages.d.ts +369 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/messages.js +306 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/ral.d.ts +74 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/ral.js +23 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/semaphore.d.ts +10 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/semaphore.js +68 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.d.ts +15 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js +76 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/node/main.d.ts +63 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/node/main.js +257 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/node/ril.d.ts +13 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/lib/node/ril.js +161 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/node.cmd +5 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/node.d.ts +6 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/node.js +7 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/package.json +45 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/thirdpartynotices.txt +16 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc/typings/thenable.d.ts +5 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-protocol/package.json +45 -0
- package/node_modules/@mrclrchtr/{supi-tree-sitter/node_modules/web-tree-sitter/LICENSE → supi-lsp/node_modules/vscode-languageserver-protocol/thirdpartynotices.txt} +16 -6
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/License.txt +11 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/README.md +17 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/esm/main.d.ts +3139 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/esm/main.js +2222 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/esm/package.json +3 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/umd/main.d.ts +3139 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/lib/umd/main.js +2272 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/package.json +38 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/vscode-languageserver-types/thirdpartynotices.txt +16 -0
- package/node_modules/@mrclrchtr/supi-lsp/package.json +2 -2
- package/node_modules/@mrclrchtr/supi-lsp/src/config/config.ts +1 -1
- package/node_modules/@mrclrchtr/supi-lsp/src/handlers/diagnostic-injection.ts +182 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/handlers/session-lifecycle.ts +139 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/handlers/status-command.ts +38 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/handlers/workspace-recovery.ts +92 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/lsp.ts +15 -413
- package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-helpers.ts +1 -1
- package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-workspace-symbol.ts +1 -1
- package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager.ts +1 -1
- package/node_modules/@mrclrchtr/supi-lsp/src/session/scanner.ts +1 -1
- package/node_modules/@mrclrchtr/supi-lsp/src/session/service-registry.ts +1 -1
- package/node_modules/@mrclrchtr/supi-lsp/src/session/settings-registration.ts +1 -1
- package/node_modules/@mrclrchtr/supi-lsp/src/tool/guidance.ts +5 -14
- package/node_modules/@mrclrchtr/supi-lsp/src/tool/names.ts +12 -4
- package/node_modules/@mrclrchtr/supi-lsp/src/tool/register-tools.ts +2 -3
- package/node_modules/@mrclrchtr/supi-lsp/src/tool/service-actions.ts +141 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/tool/tool-specs.ts +93 -93
- package/node_modules/@mrclrchtr/supi-lsp/src/utils.ts +1 -1
- package/node_modules/@mrclrchtr/supi-lsp/src/workspace-change.ts +40 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/README.md +26 -15
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/package.json +13 -2
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/api.ts +26 -92
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/index.ts +26 -92
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/package.json +2 -2
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/runtime.ts +1 -1
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/service-registry.ts +1 -1
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/guidance.ts +29 -25
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/handlers.ts +196 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/register-tools.ts +107 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/tool-specs.ts +117 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/tree-sitter.ts +4 -300
- package/package.json +4 -4
- package/src/api.ts +15 -0
- package/src/architecture.ts +1 -1
- package/src/brief.ts +9 -53
- package/src/code-intelligence.ts +6 -2
- package/src/index.ts +15 -0
- package/src/pattern-structured.ts +26 -26
- package/src/presentation/markdown/affected.ts +170 -0
- package/src/presentation/markdown/brief.ts +174 -0
- package/src/presentation/markdown/map.ts +54 -0
- package/src/presentation/markdown/overview.ts +59 -0
- package/src/presentation/markdown/pattern.ts +239 -0
- package/src/presentation/markdown/relations.ts +121 -0
- package/src/prioritization-signals.ts +1 -1
- package/src/resolve-target.ts +58 -40
- package/src/search-helpers.ts +17 -4
- package/src/substrates/lsp-adapter.ts +197 -0
- package/src/substrates/tree-sitter-adapter.ts +173 -0
- package/src/substrates/types.ts +113 -0
- package/src/target-resolution.ts +35 -416
- package/src/targeting/query.ts +60 -0
- package/src/targeting/resolve-anchored.ts +80 -0
- package/src/targeting/resolve-file.ts +197 -0
- package/src/targeting/resolve-symbol.ts +110 -0
- package/src/targeting/types.ts +111 -0
- package/src/tool/execute-affected.ts +3 -3
- package/src/tool/execute-brief.ts +29 -3
- package/src/tool/execute-map.ts +5 -2
- package/src/tool/execute-pattern.ts +5 -3
- package/src/tool/execute-relations.ts +15 -23
- package/src/tool/guidance.ts +30 -1
- package/src/tool/tool-specs.ts +29 -48
- package/src/use-case/build-overview.ts +36 -0
- package/src/use-case/generate-affected.ts +279 -0
- package/src/use-case/generate-brief.ts +324 -0
- package/src/{actions/map-action.ts → use-case/generate-map.ts} +30 -60
- package/src/use-case/generate-pattern.ts +270 -0
- package/src/use-case/generate-relations.ts +392 -0
- package/src/use-case/support/semantic-references.ts +114 -0
- package/src/use-case/types.ts +43 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/README.md +0 -265
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.cjs +0 -4661
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.cjs.map +0 -7
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.js +0 -4605
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.js.map +0 -7
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.wasm +0 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/debug/web-tree-sitter.wasm.map +0 -57
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/package.json +0 -100
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.cjs +0 -4063
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.cjs.map +0 -7
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.cts +0 -1025
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.cts.map +0 -58
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.ts +0 -1025
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.d.ts.map +0 -58
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.js +0 -4007
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.js.map +0 -7
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.wasm +0 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/web-tree-sitter/web-tree-sitter.wasm.map +0 -55
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/action-specs.ts +0 -92
- package/src/actions/affected-action.ts +0 -452
- package/src/actions/brief-action.ts +0 -378
- package/src/actions/callees-action.ts +0 -155
- package/src/actions/callers-action.ts +0 -253
- package/src/actions/implementations-action.ts +0 -172
- package/src/actions/pattern-action.ts +0 -392
- package/src/providers/semantic-provider.ts +0 -34
- package/src/providers/structural-provider.ts +0 -26
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File-surface target resolution — discovers actionable targets within a file
|
|
3
|
+
* using injected semantic (LSP document symbols) and structural (Tree-sitter exports)
|
|
4
|
+
* substrates with explicit fallback policy.
|
|
5
|
+
*
|
|
6
|
+
* Policy: LSP document symbols preferred (semantic). Falls back to Tree-sitter
|
|
7
|
+
* exports (structural) when LSP is unavailable or returns no results.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import * as fs from "node:fs";
|
|
11
|
+
import * as path from "node:path";
|
|
12
|
+
import { normalizePath } from "../search-helpers.ts";
|
|
13
|
+
import { highestConfidence } from "../semantic-action-helpers.ts";
|
|
14
|
+
import { createStructuralSubstrate } from "../substrates/tree-sitter-adapter.ts";
|
|
15
|
+
import type { SemanticSubstrate, StructuralSubstrate } from "../substrates/types.ts";
|
|
16
|
+
import type { ResolvedTargetData, ResolvedTargetGroupData } from "./types.ts";
|
|
17
|
+
|
|
18
|
+
const BINARY_EXTENSIONS = new Set([
|
|
19
|
+
".png",
|
|
20
|
+
".jpg",
|
|
21
|
+
".jpeg",
|
|
22
|
+
".gif",
|
|
23
|
+
".webp",
|
|
24
|
+
".bmp",
|
|
25
|
+
".ico",
|
|
26
|
+
".woff",
|
|
27
|
+
".woff2",
|
|
28
|
+
".ttf",
|
|
29
|
+
".eot",
|
|
30
|
+
".zip",
|
|
31
|
+
".tar",
|
|
32
|
+
".gz",
|
|
33
|
+
".bz2",
|
|
34
|
+
".pdf",
|
|
35
|
+
".doc",
|
|
36
|
+
".docx",
|
|
37
|
+
".exe",
|
|
38
|
+
".dll",
|
|
39
|
+
".so",
|
|
40
|
+
".dylib",
|
|
41
|
+
".wasm",
|
|
42
|
+
".node",
|
|
43
|
+
]);
|
|
44
|
+
|
|
45
|
+
function isBinaryFile(filePath: string): boolean {
|
|
46
|
+
return BINARY_EXTENSIONS.has(path.extname(filePath).toLowerCase());
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Resolve a file into a group of discoverable targets.
|
|
51
|
+
*
|
|
52
|
+
* @param file - the file path (absolute or cwd-relative)
|
|
53
|
+
* @param cwd - session working directory
|
|
54
|
+
* @param deps - injected substrates (both optional)
|
|
55
|
+
* @returns typed group outcome or error
|
|
56
|
+
*/
|
|
57
|
+
export async function resolveFileTargetGroup(
|
|
58
|
+
file: string,
|
|
59
|
+
cwd: string,
|
|
60
|
+
deps: {
|
|
61
|
+
semantic?: SemanticSubstrate;
|
|
62
|
+
structural?: StructuralSubstrate;
|
|
63
|
+
} = {},
|
|
64
|
+
): Promise<
|
|
65
|
+
{ kind: "resolved"; group: ResolvedTargetGroupData } | { kind: "error"; message: string }
|
|
66
|
+
> {
|
|
67
|
+
const resolvedFile = normalizePath(file, cwd);
|
|
68
|
+
|
|
69
|
+
if (!fs.existsSync(resolvedFile)) {
|
|
70
|
+
return { kind: "error", message: `File not found: \`${file}\`` };
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (isBinaryFile(resolvedFile)) {
|
|
74
|
+
return {
|
|
75
|
+
kind: "error",
|
|
76
|
+
message: `File type not supported for semantic analysis: \`${file}\`. Use \`code_pattern\` for explicit text search.`,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
const relPath = path.relative(cwd, resolvedFile);
|
|
81
|
+
|
|
82
|
+
// Try structure-based discovery first (faster, no LSP needed)
|
|
83
|
+
const structuralTargets = await resolveViaStructral(relPath, resolvedFile, cwd, deps.structural);
|
|
84
|
+
|
|
85
|
+
// Try semantic discovery (richer), preferring it over structural
|
|
86
|
+
const semanticTargets = await resolveViaSemantic(resolvedFile, deps.semantic, structuralTargets);
|
|
87
|
+
|
|
88
|
+
const targets = semanticTargets ?? structuralTargets;
|
|
89
|
+
|
|
90
|
+
if (!targets || targets.length === 0) {
|
|
91
|
+
return {
|
|
92
|
+
kind: "error",
|
|
93
|
+
message:
|
|
94
|
+
`**Error:** File-level semantic exploration is not available for \`${file}\`. ` +
|
|
95
|
+
"Provide `line` and `character`, or a `symbol` for discovery.",
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return {
|
|
100
|
+
kind: "resolved",
|
|
101
|
+
group: {
|
|
102
|
+
file: resolvedFile,
|
|
103
|
+
displayName: relPath,
|
|
104
|
+
targets,
|
|
105
|
+
confidence: highestConfidence(targets.map((t) => t.confidence)),
|
|
106
|
+
},
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// ── Resolution helpers ───────────────────────────────────────────────
|
|
111
|
+
|
|
112
|
+
async function resolveViaSemantic(
|
|
113
|
+
resolvedFile: string,
|
|
114
|
+
semantic?: SemanticSubstrate,
|
|
115
|
+
structuralTargets: ResolvedTargetData[] | null = null,
|
|
116
|
+
): Promise<ResolvedTargetData[] | null> {
|
|
117
|
+
if (!semantic) return structuralTargets;
|
|
118
|
+
|
|
119
|
+
try {
|
|
120
|
+
const symbols = await semantic.documentSymbols(resolvedFile);
|
|
121
|
+
if (!symbols || symbols.length === 0) return structuralTargets;
|
|
122
|
+
|
|
123
|
+
const topLevel = symbols
|
|
124
|
+
.filter((s) => !s.container)
|
|
125
|
+
.map((s) => ({
|
|
126
|
+
file: resolvedFile,
|
|
127
|
+
position: { line: s.line - 1, character: s.character - 1 },
|
|
128
|
+
displayLine: s.line,
|
|
129
|
+
displayCharacter: s.character,
|
|
130
|
+
name: s.name,
|
|
131
|
+
kind: s.kind,
|
|
132
|
+
confidence: "semantic" as const,
|
|
133
|
+
}));
|
|
134
|
+
|
|
135
|
+
if (topLevel.length === 0) return structuralTargets;
|
|
136
|
+
if (!structuralTargets || structuralTargets.length === 0) return dedupeTargets(topLevel);
|
|
137
|
+
|
|
138
|
+
const matched = structuralTargets.map((target) => {
|
|
139
|
+
const byName = topLevel.find((candidate) => candidate.name === target.name);
|
|
140
|
+
return byName ?? target;
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
return dedupeTargets(matched);
|
|
144
|
+
} catch {
|
|
145
|
+
return structuralTargets;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
async function resolveViaStructral(
|
|
150
|
+
relPath: string,
|
|
151
|
+
resolvedFile: string,
|
|
152
|
+
cwd: string,
|
|
153
|
+
structural?: StructuralSubstrate,
|
|
154
|
+
): Promise<ResolvedTargetData[] | null> {
|
|
155
|
+
// Resolve a substrate to use — prefer injected, fall back to auto-created
|
|
156
|
+
const substrate = structural ?? createFallbackSubstrate(cwd);
|
|
157
|
+
if (!substrate) return null;
|
|
158
|
+
|
|
159
|
+
try {
|
|
160
|
+
const exportsResult = await substrate.exports(relPath);
|
|
161
|
+
if (exportsResult.kind !== "success" || exportsResult.data.length === 0) return null;
|
|
162
|
+
|
|
163
|
+
return dedupeTargets(
|
|
164
|
+
exportsResult.data.map((record) => ({
|
|
165
|
+
file: resolvedFile,
|
|
166
|
+
position: { line: record.startLine - 1, character: record.startCharacter - 1 },
|
|
167
|
+
displayLine: record.startLine,
|
|
168
|
+
displayCharacter: record.startCharacter,
|
|
169
|
+
name: record.name,
|
|
170
|
+
kind: record.kind,
|
|
171
|
+
confidence: "structural" as const,
|
|
172
|
+
})),
|
|
173
|
+
);
|
|
174
|
+
} catch {
|
|
175
|
+
return null;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/** Create a fallback structural substrate from a working directory. */
|
|
180
|
+
function createFallbackSubstrate(dir: string): StructuralSubstrate | null {
|
|
181
|
+
try {
|
|
182
|
+
return createStructuralSubstrate(dir);
|
|
183
|
+
} catch {
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
function dedupeTargets(targets: ResolvedTargetData[]): ResolvedTargetData[] {
|
|
189
|
+
const deduped = new Map<string, ResolvedTargetData>();
|
|
190
|
+
for (const target of targets) {
|
|
191
|
+
const key = `${target.name ?? ""}:${target.displayLine}:${target.displayCharacter}`;
|
|
192
|
+
if (!deduped.has(key)) {
|
|
193
|
+
deduped.set(key, target);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
return [...deduped.values()];
|
|
197
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Symbol target resolution — discovers symbols via the semantic substrate
|
|
3
|
+
* and returns typed outcomes (resolved, disambiguation, or error).
|
|
4
|
+
*
|
|
5
|
+
* This resolver is semantic-only: it does not fall back to text search
|
|
6
|
+
* or heuristic guessing. Ambiguous matches produce explicit disambiguation.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import * as path from "node:path";
|
|
10
|
+
import { isWithinOrEqual } from "@mrclrchtr/supi-core/project";
|
|
11
|
+
import type { SemanticSubstrate } from "../substrates/types.ts";
|
|
12
|
+
import type { DisambiguationCandidateData, TargetOutcome } from "./types.ts";
|
|
13
|
+
|
|
14
|
+
const MAX_CANDIDATES = 8;
|
|
15
|
+
const NON_EXPORTED_KINDS = new Set(["Variable", "Field", "Property"]);
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Resolve a symbol via the semantic substrate.
|
|
19
|
+
*
|
|
20
|
+
* @param symbol - the symbol name to search for
|
|
21
|
+
* @param cwd - session working directory
|
|
22
|
+
* @param semantic - the semantic substrate (LSP-backed)
|
|
23
|
+
* @param options - optional filters: path scope, kind filter, exported-only
|
|
24
|
+
* @returns Typed outcome: resolved, disambiguation, or error
|
|
25
|
+
*/
|
|
26
|
+
export async function resolveSymbolTarget(
|
|
27
|
+
symbol: string,
|
|
28
|
+
cwd: string,
|
|
29
|
+
semantic: SemanticSubstrate,
|
|
30
|
+
options?: {
|
|
31
|
+
path?: string;
|
|
32
|
+
kind?: string;
|
|
33
|
+
exportedOnly?: boolean;
|
|
34
|
+
},
|
|
35
|
+
): Promise<TargetOutcome> {
|
|
36
|
+
const results = await semantic.workspaceSymbols(symbol);
|
|
37
|
+
if (results === null) {
|
|
38
|
+
return {
|
|
39
|
+
kind: "error",
|
|
40
|
+
message: `Symbol discovery for \`${symbol}\` requires active LSP. Use \`file\` + coordinates, or enable LSP and retry.`,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
if (results.length === 0) {
|
|
44
|
+
return { kind: "error", message: `Symbol not found: \`${symbol}\`` };
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Filter by path scope
|
|
48
|
+
const scopePath = options?.path ? path.resolve(cwd, options.path) : null;
|
|
49
|
+
let candidates = results.filter((s) => {
|
|
50
|
+
if (scopePath && !isWithinOrEqual(scopePath, s.file)) return false;
|
|
51
|
+
return true;
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
// Filter by kind
|
|
55
|
+
if (options?.kind) {
|
|
56
|
+
const kindLower = options.kind.toLowerCase();
|
|
57
|
+
candidates = candidates.filter((s) => s.kind.toLowerCase().includes(kindLower));
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Filter to exported symbols only
|
|
61
|
+
if (options?.exportedOnly) {
|
|
62
|
+
candidates = candidates.filter((s) => !NON_EXPORTED_KINDS.has(s.kind));
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// Range-less candidates (line=0,char=0) come from URI-only workspace symbols.
|
|
66
|
+
// Keep them for disambiguation but don't promote to single-match resolution.
|
|
67
|
+
const ranged = candidates.filter((s) => s.line > 0 || s.character > 0);
|
|
68
|
+
|
|
69
|
+
if (ranged.length === 1) {
|
|
70
|
+
const c = ranged[0];
|
|
71
|
+
return {
|
|
72
|
+
kind: "resolved",
|
|
73
|
+
target: {
|
|
74
|
+
file: c.file,
|
|
75
|
+
position: { line: c.line - 1, character: c.character - 1 },
|
|
76
|
+
displayLine: c.line,
|
|
77
|
+
displayCharacter: c.character,
|
|
78
|
+
name: c.name,
|
|
79
|
+
kind: c.kind,
|
|
80
|
+
confidence: "semantic",
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// All candidates lost or only rangeless
|
|
86
|
+
if (candidates.length === 0) {
|
|
87
|
+
return {
|
|
88
|
+
kind: "error",
|
|
89
|
+
message: `Symbol not found: \`${symbol}\`${scopePath ? ` in path \`${options?.path}\`` : ""}`,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// Multiple candidates — return disambiguation
|
|
94
|
+
const candidatesOut = candidates.slice(0, MAX_CANDIDATES).map((c, idx) => ({
|
|
95
|
+
name: c.name,
|
|
96
|
+
kind: c.kind,
|
|
97
|
+
container: c.container ?? null,
|
|
98
|
+
file: path.relative(cwd, c.file),
|
|
99
|
+
line: c.line,
|
|
100
|
+
character: c.character,
|
|
101
|
+
reason: path.relative(cwd, c.file),
|
|
102
|
+
rank: idx + 1,
|
|
103
|
+
})) satisfies DisambiguationCandidateData[];
|
|
104
|
+
|
|
105
|
+
return {
|
|
106
|
+
kind: "disambiguation",
|
|
107
|
+
candidates: candidatesOut,
|
|
108
|
+
omittedCount: Math.max(0, candidates.length - MAX_CANDIDATES),
|
|
109
|
+
};
|
|
110
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Targeting types — normalized query and typed outcomes for the
|
|
3
|
+
* target-resolution pipeline.
|
|
4
|
+
*
|
|
5
|
+
* These types decouple request normalization from resolution implementation
|
|
6
|
+
* and keep action-facing code focused on routing, not string building.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import type { SemanticSubstrate, StructuralSubstrate } from "../substrates/types.ts";
|
|
10
|
+
|
|
11
|
+
// ── Normalized query ──────────────────────────────────────────────────
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* A pre-classified target request extracted from tool/action parameters.
|
|
15
|
+
*
|
|
16
|
+
* The pipeline normalizes incoming params into one of these shapes
|
|
17
|
+
* so each resolver phase can operate on an already-disambiguated query.
|
|
18
|
+
*/
|
|
19
|
+
export type NormalizedQuery =
|
|
20
|
+
| {
|
|
21
|
+
kind: "anchored";
|
|
22
|
+
file: string;
|
|
23
|
+
line: number;
|
|
24
|
+
character: number;
|
|
25
|
+
}
|
|
26
|
+
| {
|
|
27
|
+
kind: "file";
|
|
28
|
+
file: string;
|
|
29
|
+
}
|
|
30
|
+
| {
|
|
31
|
+
kind: "symbol";
|
|
32
|
+
symbol: string;
|
|
33
|
+
path?: string;
|
|
34
|
+
symbolKind?: string;
|
|
35
|
+
exportedOnly?: boolean;
|
|
36
|
+
}
|
|
37
|
+
| {
|
|
38
|
+
kind: "invalid";
|
|
39
|
+
reason: string;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
// ── Resolver dependency injection ─────────────────────────────────────
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Substrates and context injected into the resolution pipeline.
|
|
46
|
+
*
|
|
47
|
+
* Passed from the action/tool entrypoint rather than constructed
|
|
48
|
+
* inside resolver internals, so fallback policy is explicit.
|
|
49
|
+
*/
|
|
50
|
+
export interface ResolverDeps {
|
|
51
|
+
cwd: string;
|
|
52
|
+
semantic?: SemanticSubstrate;
|
|
53
|
+
structural?: StructuralSubstrate;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// ── Typed resolution outcomes ─────────────────────────────────────────
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* A successfully resolved anchored target with 0-/1-based positions.
|
|
60
|
+
*/
|
|
61
|
+
export interface ResolvedTargetData {
|
|
62
|
+
file: string;
|
|
63
|
+
/** 0-based position for LSP calls */
|
|
64
|
+
position: { line: number; character: number };
|
|
65
|
+
/** 1-based position for user display */
|
|
66
|
+
displayLine: number;
|
|
67
|
+
displayCharacter: number;
|
|
68
|
+
name: string | null;
|
|
69
|
+
kind: string | null;
|
|
70
|
+
confidence: "semantic" | "structural" | "heuristic" | "unavailable";
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* A file-level target group with one or more discoverable targets.
|
|
75
|
+
*/
|
|
76
|
+
export interface ResolvedTargetGroupData {
|
|
77
|
+
file: string;
|
|
78
|
+
displayName: string;
|
|
79
|
+
targets: ResolvedTargetData[];
|
|
80
|
+
confidence: "semantic" | "structural" | "heuristic" | "unavailable";
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* A disambiguation candidate for symbol searches with multiple matches.
|
|
85
|
+
*/
|
|
86
|
+
export interface DisambiguationCandidateData {
|
|
87
|
+
name: string;
|
|
88
|
+
kind: string | null;
|
|
89
|
+
container: string | null;
|
|
90
|
+
file: string;
|
|
91
|
+
line: number;
|
|
92
|
+
character: number;
|
|
93
|
+
reason: string;
|
|
94
|
+
rank: number;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Typed outcome of a resolution attempt.
|
|
99
|
+
*
|
|
100
|
+
* Actions consume these to produce user-facing strings/details;
|
|
101
|
+
* the resolution pipeline itself stays presentation-agnostic.
|
|
102
|
+
*/
|
|
103
|
+
export type TargetOutcome =
|
|
104
|
+
| { kind: "resolved"; target: ResolvedTargetData }
|
|
105
|
+
| { kind: "group"; group: ResolvedTargetGroupData }
|
|
106
|
+
| {
|
|
107
|
+
kind: "disambiguation";
|
|
108
|
+
candidates: DisambiguationCandidateData[];
|
|
109
|
+
omittedCount: number;
|
|
110
|
+
}
|
|
111
|
+
| { kind: "error"; message: string };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { executeAffectedAction } from "../actions/affected-action.ts";
|
|
2
1
|
import type { CodeIntelResult } from "../types.ts";
|
|
2
|
+
import { executeAffected } from "../use-case/generate-affected.ts";
|
|
3
3
|
import { validateFocusedToolParams } from "./validation.ts";
|
|
4
4
|
|
|
5
5
|
export interface CodeAffectedToolParams {
|
|
@@ -11,7 +11,7 @@ export interface CodeAffectedToolParams {
|
|
|
11
11
|
maxResults?: number;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
/** Execute the public code_affected tool through the
|
|
14
|
+
/** Execute the public code_affected tool through the affected use-case. */
|
|
15
15
|
export async function executeAffectedTool(
|
|
16
16
|
params: CodeAffectedToolParams,
|
|
17
17
|
ctx: { cwd: string },
|
|
@@ -21,5 +21,5 @@ export async function executeAffectedTool(
|
|
|
21
21
|
return { content: error, details: undefined };
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
return
|
|
24
|
+
return executeAffected(params, { cwd: ctx.cwd });
|
|
25
25
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { buildArchitectureModel } from "../architecture.ts";
|
|
2
|
+
import { createStructuralSubstrate } from "../substrates/tree-sitter-adapter.ts";
|
|
2
3
|
import type { CodeIntelResult } from "../types.ts";
|
|
4
|
+
import { executeBrief } from "../use-case/generate-brief.ts";
|
|
5
|
+
import type { BriefInput } from "../use-case/types.ts";
|
|
3
6
|
import { validateFocusedToolParams } from "./validation.ts";
|
|
4
7
|
|
|
5
8
|
export interface CodeBriefToolParams {
|
|
@@ -11,7 +14,7 @@ export interface CodeBriefToolParams {
|
|
|
11
14
|
maxResults?: number;
|
|
12
15
|
}
|
|
13
16
|
|
|
14
|
-
/** Execute the public code_brief tool through the
|
|
17
|
+
/** Execute the public code_brief tool through the use-case/presentation layers. */
|
|
15
18
|
export async function executeBriefTool(
|
|
16
19
|
params: CodeBriefToolParams,
|
|
17
20
|
ctx: { cwd: string },
|
|
@@ -21,5 +24,28 @@ export async function executeBriefTool(
|
|
|
21
24
|
return { content: error, details: undefined };
|
|
22
25
|
}
|
|
23
26
|
|
|
24
|
-
|
|
27
|
+
const structural = createStructuralSubstrate(ctx.cwd);
|
|
28
|
+
const model = await buildArchitectureModel(ctx.cwd);
|
|
29
|
+
|
|
30
|
+
const input: BriefInput = determineInput(params);
|
|
31
|
+
const deps = { model, structural, cwd: ctx.cwd };
|
|
32
|
+
|
|
33
|
+
const result = await executeBrief(input, deps);
|
|
34
|
+
return { content: result.content, details: { type: "brief", data: result.details } };
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function determineInput(params: CodeBriefToolParams): BriefInput {
|
|
38
|
+
if (params.file && params.line != null && params.character != null) {
|
|
39
|
+
return { kind: "anchored", file: params.file, line: params.line, character: params.character };
|
|
40
|
+
}
|
|
41
|
+
if (params.symbol) {
|
|
42
|
+
return { kind: "symbol", symbol: params.symbol, path: params.path };
|
|
43
|
+
}
|
|
44
|
+
if (params.path) {
|
|
45
|
+
return { kind: "path", path: params.path };
|
|
46
|
+
}
|
|
47
|
+
if (params.file) {
|
|
48
|
+
return { kind: "file", file: params.file };
|
|
49
|
+
}
|
|
50
|
+
return { kind: "project" };
|
|
25
51
|
}
|
package/src/tool/execute-map.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as fs from "node:fs";
|
|
2
|
-
import {
|
|
2
|
+
import { renderMap } from "../presentation/markdown/map.ts";
|
|
3
3
|
import { normalizePath } from "../search-helpers.ts";
|
|
4
4
|
import type { CodeIntelResult } from "../types.ts";
|
|
5
|
+
import { buildMapData } from "../use-case/generate-map.ts";
|
|
5
6
|
|
|
6
7
|
export interface CodeMapToolParams {
|
|
7
8
|
path?: string;
|
|
@@ -28,5 +29,7 @@ export async function executeMapTool(
|
|
|
28
29
|
};
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
|
|
32
|
+
const data = buildMapData(scopePath, ctx.cwd);
|
|
33
|
+
const rendered = renderMap(data);
|
|
34
|
+
return { content: rendered.content, details: { type: "map", data: rendered.details } };
|
|
32
35
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createStructuralSubstrate } from "../substrates/tree-sitter-adapter.ts";
|
|
2
2
|
import type { CodeIntelResult } from "../types.ts";
|
|
3
|
+
import { executePattern } from "../use-case/generate-pattern.ts";
|
|
3
4
|
import { validatePatternToolParams } from "./validation.ts";
|
|
4
5
|
|
|
5
6
|
export interface CodePatternToolParams {
|
|
@@ -12,7 +13,7 @@ export interface CodePatternToolParams {
|
|
|
12
13
|
summary?: boolean;
|
|
13
14
|
}
|
|
14
15
|
|
|
15
|
-
/** Execute the public code_pattern tool
|
|
16
|
+
/** Execute the public code_pattern tool through the pattern use-case. */
|
|
16
17
|
export async function executePatternTool(
|
|
17
18
|
params: CodePatternToolParams,
|
|
18
19
|
ctx: { cwd: string },
|
|
@@ -22,5 +23,6 @@ export async function executePatternTool(
|
|
|
22
23
|
return { content: error, details: undefined };
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
const structural = createStructuralSubstrate(ctx.cwd);
|
|
27
|
+
return executePattern(params, { cwd: ctx.cwd, structural });
|
|
26
28
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { executeCalleesAction } from "../actions/callees-action.ts";
|
|
2
|
-
import { executeCallersAction } from "../actions/callers-action.ts";
|
|
3
|
-
import { executeImplementationsAction } from "../actions/implementations-action.ts";
|
|
4
1
|
import type { CodeIntelResult } from "../types.ts";
|
|
2
|
+
import type { RelationsInput } from "../use-case/generate-relations.ts";
|
|
3
|
+
import { executeRelations } from "../use-case/generate-relations.ts";
|
|
5
4
|
import type { CodeRelationsKind } from "./tool-specs.ts";
|
|
6
5
|
import { validateFocusedToolParams } from "./validation.ts";
|
|
7
6
|
|
|
@@ -16,13 +15,7 @@ export interface CodeRelationsToolParams {
|
|
|
16
15
|
maxResults?: number;
|
|
17
16
|
}
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
callers: executeCallersAction,
|
|
21
|
-
callees: executeCalleesAction,
|
|
22
|
-
implementations: executeImplementationsAction,
|
|
23
|
-
} as const;
|
|
24
|
-
|
|
25
|
-
/** Execute the public code_relations tool by dispatching to the selected substrate-backed relation action. */
|
|
18
|
+
/** Execute the public code_relations tool through the relations use-case. */
|
|
26
19
|
export async function executeRelationsTool(
|
|
27
20
|
params: CodeRelationsToolParams,
|
|
28
21
|
ctx: { cwd: string },
|
|
@@ -32,17 +25,16 @@ export async function executeRelationsTool(
|
|
|
32
25
|
return { content: error, details: undefined };
|
|
33
26
|
}
|
|
34
27
|
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
);
|
|
28
|
+
const input: RelationsInput = {
|
|
29
|
+
kind: params.kind,
|
|
30
|
+
path: params.path,
|
|
31
|
+
file: params.file,
|
|
32
|
+
line: params.line,
|
|
33
|
+
character: params.character,
|
|
34
|
+
symbol: params.symbol,
|
|
35
|
+
exportedOnly: params.exportedOnly,
|
|
36
|
+
maxResults: params.maxResults,
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
return executeRelations(input, { cwd: ctx.cwd });
|
|
48
40
|
}
|
package/src/tool/guidance.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
// Prompt guidance and tool descriptions for the focused code-intelligence tool surface.
|
|
2
|
+
//
|
|
3
|
+
// Each code_* tool owns its base prompt guidelines (describing its own surface).
|
|
4
|
+
// Additional cross-family orchestration guidelines are appended to help the
|
|
5
|
+
// model choose between code_*, lsp_*, and tree_sitter_* tools.
|
|
2
6
|
|
|
3
7
|
import { CODE_INTELLIGENCE_TOOL_SPECS, type CodeIntelligenceToolName } from "./tool-specs.ts";
|
|
4
8
|
|
|
@@ -13,6 +17,31 @@ export type CodeIntelligenceToolPromptSurfaceMap = Record<
|
|
|
13
17
|
CodeIntelligenceToolPromptSurface
|
|
14
18
|
>;
|
|
15
19
|
|
|
20
|
+
// ── Cross-family orchestration guidelines ──────────────────────────────
|
|
21
|
+
//
|
|
22
|
+
// These are appended to the appropriate code_* tools so the model sees a
|
|
23
|
+
// coherent strategy for choosing between code_*, lsp_*, and tree_sitter_*
|
|
24
|
+
// tools. They do not re-own substrate metadata — each of the other packages
|
|
25
|
+
// describes and documents its own tools independently.
|
|
26
|
+
|
|
27
|
+
const ORCHESTRATION_GUIDELINES: Record<CodeIntelligenceToolName, string[]> = {
|
|
28
|
+
code_brief: [
|
|
29
|
+
"After code_brief, use lsp_hover/lsp_definition/lsp_references for semantic detail or tree_sitter_* for quick structure.",
|
|
30
|
+
],
|
|
31
|
+
code_map: ["Use code_brief instead when you need prioritized guidance."],
|
|
32
|
+
code_relations: [
|
|
33
|
+
"Follow caller results with lsp_references/lsp_definition; use tree_sitter_callees for structural outgoing calls.",
|
|
34
|
+
],
|
|
35
|
+
code_affected: [
|
|
36
|
+
"Use lsp_references instead when you need a plain reference list, not impact analysis.",
|
|
37
|
+
],
|
|
38
|
+
code_pattern: [
|
|
39
|
+
"Use tree_sitter_query or lsp_hover/lsp_definition when you need structure or semantic precision.",
|
|
40
|
+
],
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
// ── Surface builder ────────────────────────────────────────────────────
|
|
44
|
+
|
|
16
45
|
export function buildCodeIntelligenceToolPromptSurfaces(): CodeIntelligenceToolPromptSurfaceMap {
|
|
17
46
|
return Object.fromEntries(
|
|
18
47
|
CODE_INTELLIGENCE_TOOL_SPECS.map((spec) => [
|
|
@@ -20,7 +49,7 @@ export function buildCodeIntelligenceToolPromptSurfaces(): CodeIntelligenceToolP
|
|
|
20
49
|
{
|
|
21
50
|
description: spec.description,
|
|
22
51
|
promptSnippet: spec.promptSnippet,
|
|
23
|
-
promptGuidelines: [...spec.basePromptGuidelines],
|
|
52
|
+
promptGuidelines: [...spec.basePromptGuidelines, ...ORCHESTRATION_GUIDELINES[spec.name]],
|
|
24
53
|
} satisfies CodeIntelligenceToolPromptSurface,
|
|
25
54
|
]),
|
|
26
55
|
) as CodeIntelligenceToolPromptSurfaceMap;
|