@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
package/src/tool/tool-specs.ts
CHANGED
|
@@ -7,26 +7,19 @@ import { executeMapTool } from "./execute-map.ts";
|
|
|
7
7
|
import { executePatternTool } from "./execute-pattern.ts";
|
|
8
8
|
import { executeRelationsTool } from "./execute-relations.ts";
|
|
9
9
|
|
|
10
|
-
const PathParam = Type.String({ description: "Scope
|
|
11
|
-
const FileParam = Type.String({
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
});
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
});
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const RegexParam = Type.Boolean({ description: "Use regex semantics instead of literal matching" });
|
|
22
|
-
const ExportedOnlyParam = Type.Boolean({ description: "Limit discovery to exported symbols" });
|
|
23
|
-
const MaxResultsParam = Type.Number({ description: "Maximum results to return" });
|
|
24
|
-
const ContextLinesParam = Type.Number({ description: "Context lines around matches" });
|
|
25
|
-
const SummaryParam = Type.Boolean({
|
|
26
|
-
description: "Aggregate counts by directory instead of line-level matches",
|
|
27
|
-
});
|
|
10
|
+
const PathParam = Type.String({ description: "Scope path" });
|
|
11
|
+
const FileParam = Type.String({ description: "Target file" });
|
|
12
|
+
const LineParam = Type.Number({ description: "1-based line" });
|
|
13
|
+
const CharacterParam = Type.Number({ description: "1-based UTF-16 column" });
|
|
14
|
+
const SymbolParam = Type.String({ description: "Symbol name" });
|
|
15
|
+
const PatternParam = Type.String({ description: "Search pattern" });
|
|
16
|
+
const RegexParam = Type.Boolean({ description: "Regex search" });
|
|
17
|
+
const ExportedOnlyParam = Type.Boolean({ description: "Exported symbols only" });
|
|
18
|
+
const MaxResultsParam = Type.Number({ description: "Max results" });
|
|
19
|
+
const ContextLinesParam = Type.Number({ description: "Context lines" });
|
|
20
|
+
const SummaryParam = Type.Boolean({ description: "Summarize by directory" });
|
|
28
21
|
const StructuredPatternKindParam = Type.String({
|
|
29
|
-
description: "Structured
|
|
22
|
+
description: "Structured kind: definition | export | import",
|
|
30
23
|
});
|
|
31
24
|
|
|
32
25
|
export const CODE_INTELLIGENCE_TOOL_NAMES = [
|
|
@@ -57,7 +50,7 @@ const CodeBriefParameters = Type.Object(
|
|
|
57
50
|
|
|
58
51
|
const CodeMapParameters = Type.Object(
|
|
59
52
|
{
|
|
60
|
-
path: Type.Optional(Type.String({ description: "Project
|
|
53
|
+
path: Type.Optional(Type.String({ description: "Project/package/dir path" })),
|
|
61
54
|
},
|
|
62
55
|
{ additionalProperties: false },
|
|
63
56
|
);
|
|
@@ -115,12 +108,11 @@ export const CODE_INTELLIGENCE_TOOL_SPECS = [
|
|
|
115
108
|
{
|
|
116
109
|
name: "code_brief",
|
|
117
110
|
label: "Code Brief",
|
|
118
|
-
description:
|
|
119
|
-
|
|
120
|
-
promptSnippet: "code_brief — interpretive orientation and start-here guidance",
|
|
111
|
+
description: "Prioritized brief for a project, package, directory, file, or symbol.",
|
|
112
|
+
promptSnippet: "code_brief — prioritized code orientation",
|
|
121
113
|
basePromptGuidelines: [
|
|
122
|
-
"Use code_brief for a project, package,
|
|
123
|
-
"Use code_brief before deeper drill-down when you
|
|
114
|
+
"Use code_brief for prioritized orientation on a project, package, file, or symbol.",
|
|
115
|
+
"Use code_brief before deeper drill-down when you need a start-here recommendation.",
|
|
124
116
|
],
|
|
125
117
|
parameters: CodeBriefParameters,
|
|
126
118
|
run: (params, ctx) => executeBriefTool(params as Parameters<typeof executeBriefTool>[0], ctx),
|
|
@@ -128,26 +120,19 @@ export const CODE_INTELLIGENCE_TOOL_SPECS = [
|
|
|
128
120
|
{
|
|
129
121
|
name: "code_map",
|
|
130
122
|
label: "Code Map",
|
|
131
|
-
description:
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
basePromptGuidelines: [
|
|
135
|
-
"Use code_map for a factual repo, package, or directory map when you need counts, landmark files, and local structure without interpretation.",
|
|
136
|
-
"Use code_map with `path` for any directory path you want to inventory; code_map should stay factual rather than prioritized.",
|
|
137
|
-
],
|
|
123
|
+
description: "Factual map of a repo, package, or directory.",
|
|
124
|
+
promptSnippet: "code_map — factual repo or directory map",
|
|
125
|
+
basePromptGuidelines: ["Use code_map for counts, directories, language mix, and landmarks."],
|
|
138
126
|
parameters: CodeMapParameters,
|
|
139
127
|
run: (params, ctx) => executeMapTool(params as Parameters<typeof executeMapTool>[0], ctx),
|
|
140
128
|
},
|
|
141
129
|
{
|
|
142
130
|
name: "code_relations",
|
|
143
131
|
label: "Code Relations",
|
|
144
|
-
description:
|
|
145
|
-
|
|
146
|
-
promptSnippet: "code_relations — callers, callees, or implementations for a resolved target",
|
|
132
|
+
description: "Trace callers, callees, or implementations for a resolved target.",
|
|
133
|
+
promptSnippet: "code_relations — callers, callees, or implementations",
|
|
147
134
|
basePromptGuidelines: [
|
|
148
|
-
|
|
149
|
-
'Use code_relations with `kind: "callees"` to inspect outgoing calls from a function or method at a known position.',
|
|
150
|
-
'Use code_relations with `kind: "implementations"` to find which concrete types implement a declaration.',
|
|
135
|
+
"Use code_relations(kind) for `callers`, `callees`, or `implementations`.",
|
|
151
136
|
],
|
|
152
137
|
parameters: CodeRelationsParameters,
|
|
153
138
|
run: (params, ctx) =>
|
|
@@ -156,12 +141,10 @@ export const CODE_INTELLIGENCE_TOOL_SPECS = [
|
|
|
156
141
|
{
|
|
157
142
|
name: "code_affected",
|
|
158
143
|
label: "Code Affected",
|
|
159
|
-
description:
|
|
160
|
-
|
|
161
|
-
promptSnippet: "code_affected — blast radius, downstream impact, and risk",
|
|
144
|
+
description: "Estimate blast radius and downstream impact for a target.",
|
|
145
|
+
promptSnippet: "code_affected — blast radius and impact",
|
|
162
146
|
basePromptGuidelines: [
|
|
163
|
-
"Use code_affected before edits
|
|
164
|
-
"Use code_affected after you have a concrete file/position or symbol target to estimate change risk.",
|
|
147
|
+
"Use code_affected before edits to estimate blast radius and follow-up checks.",
|
|
165
148
|
],
|
|
166
149
|
parameters: CodeAffectedParameters,
|
|
167
150
|
run: (params, ctx) =>
|
|
@@ -170,12 +153,10 @@ export const CODE_INTELLIGENCE_TOOL_SPECS = [
|
|
|
170
153
|
{
|
|
171
154
|
name: "code_pattern",
|
|
172
155
|
label: "Code Pattern",
|
|
173
|
-
description:
|
|
174
|
-
|
|
175
|
-
promptSnippet: "code_pattern — explicit literal, regex, or structured search",
|
|
156
|
+
description: "Run explicit search with literal, regex, or structured matching.",
|
|
157
|
+
promptSnippet: "code_pattern — explicit code search",
|
|
176
158
|
basePromptGuidelines: [
|
|
177
|
-
"Use code_pattern for
|
|
178
|
-
'Use code_pattern with `kind: "definition" | "export" | "import"` for structured search instead of plain text matching.',
|
|
159
|
+
"Use code_pattern for literal, regex, or structured search in a bounded path.",
|
|
179
160
|
],
|
|
180
161
|
parameters: CodePatternParameters,
|
|
181
162
|
run: (params, ctx) =>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// Typed overview data builder from ArchitectureModel.
|
|
2
|
+
|
|
3
|
+
import type { ArchitectureModel } from "../architecture.ts";
|
|
4
|
+
import { formatGitContext, gatherGitContext } from "../git-context.ts";
|
|
5
|
+
import type { OverviewData, OverviewModule } from "./types.ts";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Build structured overview data from an architecture model.
|
|
9
|
+
* No markdown rendering — callers pass the result to a presentation renderer.
|
|
10
|
+
*/
|
|
11
|
+
export function buildOverviewData(model: ArchitectureModel): OverviewData | null {
|
|
12
|
+
if (model.modules.length === 0) return null;
|
|
13
|
+
|
|
14
|
+
const dependedOn = new Set(model.edges.map((e) => e.to));
|
|
15
|
+
|
|
16
|
+
const modules: OverviewModule[] = model.modules.slice(0, 8).map((mod) => ({
|
|
17
|
+
name: mod.name,
|
|
18
|
+
shortName: mod.name.replace(/^@[^/]+\//, ""),
|
|
19
|
+
description: mod.description,
|
|
20
|
+
isLeaf: !dependedOn.has(mod.name),
|
|
21
|
+
internalDeps: mod.internalDeps,
|
|
22
|
+
}));
|
|
23
|
+
|
|
24
|
+
const omittedModuleCount = Math.max(0, model.modules.length - 8);
|
|
25
|
+
|
|
26
|
+
const gitCtx = gatherGitContext(model.root);
|
|
27
|
+
const gitContextOverview = gitCtx ? formatGitContext(gitCtx) : null;
|
|
28
|
+
|
|
29
|
+
return {
|
|
30
|
+
projectName: model.name,
|
|
31
|
+
projectDescription: model.description,
|
|
32
|
+
modules,
|
|
33
|
+
omittedModuleCount,
|
|
34
|
+
gitContextOverview,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
// Affected orchestration use-case — blast-radius analysis for a symbol change.
|
|
2
|
+
// Coordinates target resolution, reference collection, architecture analysis, and
|
|
3
|
+
// returns fully rendered content + details metadata.
|
|
4
|
+
|
|
5
|
+
import * as path from "node:path";
|
|
6
|
+
import { buildArchitectureModel, findModuleForPath, getDependents } from "../architecture.ts";
|
|
7
|
+
import {
|
|
8
|
+
renderAffectedFileLevel,
|
|
9
|
+
renderAffectedSingle,
|
|
10
|
+
} from "../presentation/markdown/affected.ts";
|
|
11
|
+
import { summarizePrioritySignalsForFiles } from "../prioritization-signals.ts";
|
|
12
|
+
import { resolveTarget } from "../resolve-target.ts";
|
|
13
|
+
import { isResolvedTargetGroup } from "../semantic-action-helpers.ts";
|
|
14
|
+
import type { SemanticSubstrate } from "../substrates/types.ts";
|
|
15
|
+
import type { ResolvedTarget, ResolvedTargetGroup } from "../target-resolution.ts";
|
|
16
|
+
import type { AffectedDetails, CodeIntelResult, ConfidenceMode } from "../types.ts";
|
|
17
|
+
import {
|
|
18
|
+
aggregatePerTarget,
|
|
19
|
+
collectReferences,
|
|
20
|
+
type ReferenceCollection,
|
|
21
|
+
} from "./support/semantic-references.ts";
|
|
22
|
+
|
|
23
|
+
export interface AffectedInput {
|
|
24
|
+
file?: string;
|
|
25
|
+
line?: number;
|
|
26
|
+
character?: number;
|
|
27
|
+
symbol?: string;
|
|
28
|
+
exportedOnly?: boolean;
|
|
29
|
+
maxResults?: number;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface AffectedDeps {
|
|
33
|
+
cwd: string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/** Execute the affected use-case — target resolution, reference collection, analysis, and rendering. */
|
|
37
|
+
export async function executeAffected(
|
|
38
|
+
input: AffectedInput,
|
|
39
|
+
deps: AffectedDeps,
|
|
40
|
+
): Promise<CodeIntelResult> {
|
|
41
|
+
const semantic: SemanticSubstrate = await import("../substrates/lsp-adapter.ts").then((m) =>
|
|
42
|
+
m.createSemanticSubstrate(deps.cwd),
|
|
43
|
+
);
|
|
44
|
+
const target = await resolveTarget(input, deps.cwd, semantic);
|
|
45
|
+
|
|
46
|
+
if (typeof target === "string") {
|
|
47
|
+
return {
|
|
48
|
+
content: target,
|
|
49
|
+
details: {
|
|
50
|
+
type: "affected" as const,
|
|
51
|
+
data: {
|
|
52
|
+
confidence: "unavailable",
|
|
53
|
+
directCount: 0,
|
|
54
|
+
downstreamCount: 0,
|
|
55
|
+
riskLevel: "low",
|
|
56
|
+
checkNext: [],
|
|
57
|
+
likelyTests: [],
|
|
58
|
+
omittedCount: 0,
|
|
59
|
+
nextQueries: ["Provide `file`, `line`, `character` or a `symbol` to resolve the target"],
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
if (isResolvedTargetGroup(target)) {
|
|
66
|
+
return executeFileLevelAffected(target, input, deps.cwd, semantic);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
const symbolName =
|
|
70
|
+
target.name ?? `symbol at ${path.relative(deps.cwd, target.file)}:${target.displayLine}`;
|
|
71
|
+
return executeSingleAffected(target, symbolName, input, deps.cwd, semantic);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// ── Single target ────────────────────────────────────────────────────
|
|
75
|
+
|
|
76
|
+
interface ImpactAnalysis {
|
|
77
|
+
confidence: ConfidenceMode;
|
|
78
|
+
affectedFiles: Set<string>;
|
|
79
|
+
affectedModules: Set<string>;
|
|
80
|
+
downstreamCount: number;
|
|
81
|
+
checkNext: string[];
|
|
82
|
+
likelyTests: string[];
|
|
83
|
+
riskLevel: "low" | "medium" | "high";
|
|
84
|
+
externalRefs: number;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// biome-ignore lint/complexity/useMaxParams: substrate injection and analysis inputs keep related parameters explicit
|
|
88
|
+
async function executeSingleAffected(
|
|
89
|
+
target: ResolvedTarget,
|
|
90
|
+
symbolName: string,
|
|
91
|
+
input: AffectedInput,
|
|
92
|
+
cwd: string,
|
|
93
|
+
semantic: SemanticSubstrate,
|
|
94
|
+
): Promise<CodeIntelResult> {
|
|
95
|
+
const refs = await collectReferences(target, cwd, semantic);
|
|
96
|
+
const model = await buildArchitectureModel(cwd);
|
|
97
|
+
const analysis = analyzeImpact(refs, model, target.name, cwd);
|
|
98
|
+
|
|
99
|
+
const prioritySignals = summarizePrioritySignalsForFiles(
|
|
100
|
+
cwd,
|
|
101
|
+
analysis.affectedFiles.size > 0 ? [...analysis.affectedFiles] : [target.file],
|
|
102
|
+
);
|
|
103
|
+
|
|
104
|
+
const content = renderAffectedSingle({
|
|
105
|
+
symbolName,
|
|
106
|
+
refs,
|
|
107
|
+
analysis,
|
|
108
|
+
maxResults: input.maxResults ?? 8,
|
|
109
|
+
prioritySignals,
|
|
110
|
+
target,
|
|
111
|
+
cwd,
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
const details: AffectedDetails = {
|
|
115
|
+
confidence: analysis.confidence,
|
|
116
|
+
directCount: refs.refs.length,
|
|
117
|
+
downstreamCount: analysis.downstreamCount,
|
|
118
|
+
riskLevel: analysis.riskLevel,
|
|
119
|
+
checkNext: analysis.checkNext,
|
|
120
|
+
likelyTests: analysis.likelyTests,
|
|
121
|
+
omittedCount: computeOmittedCount(analysis.externalRefs, analysis.affectedFiles.size, input),
|
|
122
|
+
nextQueries: buildAffectedNextQueries(target, symbolName, cwd),
|
|
123
|
+
prioritySignals,
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
return { content, details: { type: "affected" as const, data: details } };
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// ── File-level target group ──────────────────────────────────────────
|
|
130
|
+
|
|
131
|
+
async function executeFileLevelAffected(
|
|
132
|
+
targetGroup: ResolvedTargetGroup,
|
|
133
|
+
input: AffectedInput,
|
|
134
|
+
cwd: string,
|
|
135
|
+
semantic: SemanticSubstrate,
|
|
136
|
+
): Promise<CodeIntelResult> {
|
|
137
|
+
const perTarget = await Promise.all(
|
|
138
|
+
targetGroup.targets.map(async (t) => ({
|
|
139
|
+
target: t,
|
|
140
|
+
refs: await collectReferences(t, cwd, semantic),
|
|
141
|
+
})),
|
|
142
|
+
);
|
|
143
|
+
|
|
144
|
+
const aggregated = await aggregatePerTarget(targetGroup.targets, (t) =>
|
|
145
|
+
collectReferences(t, cwd, semantic),
|
|
146
|
+
);
|
|
147
|
+
|
|
148
|
+
const model = await buildArchitectureModel(cwd);
|
|
149
|
+
const analysis = analyzeImpact(aggregated, model, null, cwd);
|
|
150
|
+
|
|
151
|
+
const prioritySignals = summarizePrioritySignalsForFiles(
|
|
152
|
+
cwd,
|
|
153
|
+
analysis.affectedFiles.size > 0 ? [...analysis.affectedFiles] : [targetGroup.file],
|
|
154
|
+
);
|
|
155
|
+
|
|
156
|
+
const content = renderAffectedFileLevel({
|
|
157
|
+
targetGroup,
|
|
158
|
+
perTarget,
|
|
159
|
+
aggregated,
|
|
160
|
+
analysis,
|
|
161
|
+
maxResults: input.maxResults ?? 8,
|
|
162
|
+
prioritySignals,
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
const details: AffectedDetails = {
|
|
166
|
+
confidence: analysis.confidence,
|
|
167
|
+
directCount: aggregated.refs.length,
|
|
168
|
+
downstreamCount: analysis.downstreamCount,
|
|
169
|
+
riskLevel: analysis.riskLevel,
|
|
170
|
+
checkNext: analysis.checkNext,
|
|
171
|
+
likelyTests: analysis.likelyTests,
|
|
172
|
+
omittedCount: computeOmittedCount(analysis.externalRefs, analysis.affectedFiles.size, input),
|
|
173
|
+
nextQueries: [
|
|
174
|
+
"`code_brief` on the most-affected module for deeper context",
|
|
175
|
+
"Use `file` + coordinates to inspect one exported target precisely",
|
|
176
|
+
],
|
|
177
|
+
prioritySignals,
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
return { content, details: { type: "affected" as const, data: details } };
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// ── Impact analysis ──────────────────────────────────────────────────
|
|
184
|
+
|
|
185
|
+
// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: impact analysis with downstream module traversal and multiple risk dimensions is clearer as one function
|
|
186
|
+
function analyzeImpact(
|
|
187
|
+
result: ReferenceCollection,
|
|
188
|
+
model: Awaited<ReturnType<typeof buildArchitectureModel>>,
|
|
189
|
+
_symbolName: string | null,
|
|
190
|
+
cwd: string,
|
|
191
|
+
): ImpactAnalysis {
|
|
192
|
+
const affectedFiles = new Set(result.refs.map((r) => r.file));
|
|
193
|
+
const affectedModules = new Set<string>();
|
|
194
|
+
const checkNext: string[] = [];
|
|
195
|
+
let downstreamCount = 0;
|
|
196
|
+
|
|
197
|
+
if (model) {
|
|
198
|
+
for (const file of affectedFiles) {
|
|
199
|
+
const mod = findModuleForPath(model, path.resolve(cwd, file));
|
|
200
|
+
if (mod) affectedModules.add(mod.name);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
const downstreamModules = new Set<string>();
|
|
204
|
+
const queue = [...affectedModules];
|
|
205
|
+
while (queue.length > 0) {
|
|
206
|
+
const modName = queue.shift() as string;
|
|
207
|
+
for (const dep of getDependents(model, modName)) {
|
|
208
|
+
if (!affectedModules.has(dep.name) && !downstreamModules.has(dep.name)) {
|
|
209
|
+
downstreamModules.add(dep.name);
|
|
210
|
+
queue.push(dep.name);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
downstreamCount = downstreamModules.size;
|
|
215
|
+
|
|
216
|
+
for (const modName of [...affectedModules, ...downstreamModules].slice(0, 3)) {
|
|
217
|
+
const mod = model.modules.find((m) => m.name === modName);
|
|
218
|
+
if (mod) checkNext.push(`${mod.name.replace(/^@[^/]+\//, "")} (\`${mod.relativePath}\`)`);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
const likelyTests = findLikelyTests(affectedFiles);
|
|
223
|
+
const riskLevel = assessRisk(
|
|
224
|
+
result.refs.length + result.externalCount,
|
|
225
|
+
affectedModules.size,
|
|
226
|
+
downstreamCount,
|
|
227
|
+
);
|
|
228
|
+
|
|
229
|
+
return {
|
|
230
|
+
confidence: result.confidence,
|
|
231
|
+
affectedFiles,
|
|
232
|
+
affectedModules,
|
|
233
|
+
downstreamCount,
|
|
234
|
+
checkNext,
|
|
235
|
+
likelyTests,
|
|
236
|
+
riskLevel,
|
|
237
|
+
externalRefs: result.externalCount,
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
function findLikelyTests(affectedFiles: Set<string>): string[] {
|
|
242
|
+
const tests: string[] = [];
|
|
243
|
+
for (const file of affectedFiles) {
|
|
244
|
+
if (file.includes("test") || file.includes("spec") || file.includes("__tests__")) {
|
|
245
|
+
tests.push(file);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
return tests.slice(0, 3);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
function assessRisk(
|
|
252
|
+
totalRefs: number,
|
|
253
|
+
moduleCount: number,
|
|
254
|
+
downstreamCount: number,
|
|
255
|
+
): "low" | "medium" | "high" {
|
|
256
|
+
if (totalRefs > 10 || moduleCount > 3 || downstreamCount > 1) return "high";
|
|
257
|
+
if (totalRefs > 3 || moduleCount > 1 || downstreamCount >= 1) return "medium";
|
|
258
|
+
return "low";
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
function computeOmittedCount(
|
|
262
|
+
externalRefs: number,
|
|
263
|
+
affectedFileCount: number,
|
|
264
|
+
input: AffectedInput,
|
|
265
|
+
): number {
|
|
266
|
+
return externalRefs + Math.max(0, affectedFileCount - (input.maxResults ?? 8));
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
function buildAffectedNextQueries(
|
|
270
|
+
target: ResolvedTarget,
|
|
271
|
+
symbolName: string,
|
|
272
|
+
cwd: string,
|
|
273
|
+
): string[] {
|
|
274
|
+
const relPath = path.relative(cwd, target.file);
|
|
275
|
+
return [
|
|
276
|
+
`\`code_brief\` with \`file: "${relPath}"\`, \`line: ${target.displayLine}\`, and \`character: ${target.displayCharacter}\` for deeper context around ${symbolName}`,
|
|
277
|
+
`\`code_relations\` with \`kind: "callers"\`, \`file: "${relPath}"\`, \`line: ${target.displayLine}\`, and \`character: ${target.displayCharacter}\` for call sites`,
|
|
278
|
+
];
|
|
279
|
+
}
|