@mrclrchtr/supi-code-intelligence 1.8.0 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -1
- package/node_modules/@mrclrchtr/supi-code-runtime/README.md +13 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/README.md +97 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/package.json +53 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/api.ts +30 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config-settings.ts +76 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config.ts +186 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-messages.ts +119 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-provider-registry.ts +36 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-tag.ts +31 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/debug-registry.ts +255 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/index.ts +30 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path-utils.ts +40 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/project-roots.ts +170 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/registry-utils.ts +86 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/session-utils.ts +29 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-command.ts +15 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +41 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-ui.ts +226 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/terminal.ts +60 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/tool-framework.ts +116 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/package.json +40 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/src/api.ts +35 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/src/capability/types.ts +68 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/src/index.ts +31 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/src/types.ts +110 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/src/workspace/context.ts +41 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/src/workspace/runtime.ts +170 -0
- package/node_modules/@mrclrchtr/supi-core/README.md +3 -13
- package/node_modules/@mrclrchtr/supi-core/package.json +1 -7
- package/node_modules/@mrclrchtr/supi-lsp/README.md +20 -2
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/README.md +13 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/README.md +97 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/package.json +57 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/api.ts +30 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config-settings.ts +76 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config.ts +186 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-messages.ts +119 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-provider-registry.ts +36 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-tag.ts +31 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/debug-registry.ts +255 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/index.ts +30 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path-utils.ts +40 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/project-roots.ts +170 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/registry-utils.ts +86 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/session-utils.ts +29 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-command.ts +15 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +41 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-ui.ts +226 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/terminal.ts +60 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/tool-framework.ts +116 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/package.json +40 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/api.ts +35 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/capability/types.ts +68 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/index.ts +31 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/types.ts +110 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/workspace/context.ts +41 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/workspace/runtime.ts +170 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/README.md +3 -13
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/package.json +1 -7
- package/node_modules/@mrclrchtr/supi-lsp/package.json +9 -6
- package/node_modules/@mrclrchtr/supi-lsp/src/handlers/session-lifecycle.ts +17 -7
- package/node_modules/@mrclrchtr/supi-lsp/src/lsp.ts +3 -1
- package/node_modules/@mrclrchtr/supi-lsp/src/manager/capability-index.ts +24 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/manager/client-pool.ts +33 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/manager/diagnostic-store.ts +51 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/manager/recovery-coordinator.ts +37 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/manager/workspace-router.ts +44 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/provider/lsp-semantic-provider.ts +156 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/session/runtime-registration.ts +39 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/tool/register-tools.ts +0 -1
- package/node_modules/@mrclrchtr/supi-tree-sitter/README.md +18 -1
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/README.md +13 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/README.md +97 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/package.json +57 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/api.ts +30 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config-settings.ts +76 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config.ts +186 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config.ts +11 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-messages.ts +119 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-provider-registry.ts +36 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context/context-tag.ts +31 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/context.ts +16 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/debug-registry.ts +255 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/index.ts +30 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path-utils.ts +40 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/path.ts +2 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/project-roots.ts +170 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/project.ts +15 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/registry-utils.ts +86 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/session-utils.ts +29 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/session.ts +4 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-command.ts +15 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +41 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-ui.ts +226 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings.ts +9 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/substrate-types.ts +11 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/terminal.ts +60 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/tool-framework.ts +116 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/types.ts +2 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/package.json +40 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/api.ts +35 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/capability/types.ts +68 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/index.ts +31 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/types.ts +110 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/workspace/context.ts +41 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/workspace/runtime.ts +170 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/README.md +3 -13
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/package.json +1 -7
- package/node_modules/@mrclrchtr/supi-tree-sitter/package.json +9 -6
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/provider/tree-sitter-provider.ts +144 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/runtime-registration.ts +37 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/tree-sitter.ts +18 -8
- package/package.json +8 -6
- package/src/api.ts +31 -16
- package/src/brief-focused.ts +2 -2
- package/src/brief.ts +2 -2
- package/src/code-intelligence.ts +13 -1
- package/src/index.ts +29 -16
- package/src/{architecture.ts → model.ts} +20 -61
- package/src/presentation/markdown/brief.ts +2 -2
- package/src/substrates/types.ts +22 -105
- package/src/targeting/resolve-file.ts +4 -7
- package/src/tool/execute-affected.ts +25 -1
- package/src/tool/execute-brief.ts +5 -4
- package/src/tool/execute-pattern.ts +4 -3
- package/src/tool/execute-relations.ts +22 -1
- package/src/types.ts +101 -3
- package/src/use-case/build-overview.ts +1 -1
- package/src/use-case/generate-affected.ts +25 -7
- package/src/use-case/generate-brief.ts +31 -14
- package/src/use-case/generate-pattern.ts +9 -9
- package/src/use-case/generate-relations.ts +66 -20
- package/src/use-case/types.ts +3 -3
- package/src/workspace/request-context.ts +139 -0
- package/node_modules/@mrclrchtr/supi-core/src/extension.ts +0 -1
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/extension.ts +0 -1
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/extension.ts +0 -1
- package/src/substrates/lsp-adapter.ts +0 -197
- package/src/substrates/tree-sitter-adapter.ts +0 -173
package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/README.md
CHANGED
|
@@ -1,29 +1,20 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
1
3
|
# @mrclrchtr/supi-core
|
|
2
4
|
|
|
3
5
|
Shared infrastructure for SuPi extensions.
|
|
4
6
|
|
|
5
|
-
This
|
|
7
|
+
This is a **pure library** — it does not register any pi commands or tools. The `/supi-settings` command is now available through `@mrclrchtr/supi-settings`.
|
|
6
8
|
|
|
7
9
|
## Install
|
|
8
10
|
|
|
9
|
-
### As a dependency for another extension
|
|
10
|
-
|
|
11
11
|
```bash
|
|
12
12
|
pnpm add @mrclrchtr/supi-core
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
### As a pi package
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
pi install npm:@mrclrchtr/supi-core
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
Installing it as a pi package adds the minimal `/supi-settings` extension surface.
|
|
22
|
-
|
|
23
15
|
## Package surfaces
|
|
24
16
|
|
|
25
17
|
- `@mrclrchtr/supi-core/api` — reusable helpers for other packages and extensions
|
|
26
|
-
- `@mrclrchtr/supi-core/extension` — minimal pi extension that registers `/supi-settings`
|
|
27
18
|
|
|
28
19
|
## What you get from the API
|
|
29
20
|
|
|
@@ -101,7 +92,6 @@ const message = wrapExtensionContext("my-extension", "hello", {
|
|
|
101
92
|
## Source
|
|
102
93
|
|
|
103
94
|
- `src/api.ts` — exported library surface
|
|
104
|
-
- `src/extension.ts` — minimal `/supi-settings` entrypoint
|
|
105
95
|
- `src/config.ts` — shared config loading and writing
|
|
106
96
|
- `src/config-settings.ts` — config-backed settings registration helper
|
|
107
97
|
- `src/settings-ui.ts` — shared settings overlay
|
package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mrclrchtr/supi-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "SuPi core — shared infrastructure for SuPi extensions (XML context tags, config system)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -40,7 +40,6 @@
|
|
|
40
40
|
"./config": "./src/config.ts",
|
|
41
41
|
"./context": "./src/context.ts",
|
|
42
42
|
"./debug": "./src/debug-registry.ts",
|
|
43
|
-
"./extension": "./src/extension.ts",
|
|
44
43
|
"./package.json": "./package.json",
|
|
45
44
|
"./path": "./src/path.ts",
|
|
46
45
|
"./project": "./src/project.ts",
|
|
@@ -50,10 +49,5 @@
|
|
|
50
49
|
"./terminal": "./src/terminal.ts",
|
|
51
50
|
"./tool-framework": "./src/tool-framework.ts",
|
|
52
51
|
"./types": "./src/types.ts"
|
|
53
|
-
},
|
|
54
|
-
"pi": {
|
|
55
|
-
"extensions": [
|
|
56
|
-
"./src/extension.ts"
|
|
57
|
-
]
|
|
58
52
|
}
|
|
59
53
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mrclrchtr/supi-tree-sitter",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "SuPi Tree-sitter extension — structural AST analysis for pi",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
],
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"web-tree-sitter": "^0.26.8",
|
|
27
|
-
"@mrclrchtr/supi-
|
|
27
|
+
"@mrclrchtr/supi-code-runtime": "1.9.0",
|
|
28
|
+
"@mrclrchtr/supi-core": "1.9.0"
|
|
28
29
|
},
|
|
29
30
|
"peerDependencies": {
|
|
30
31
|
"@earendil-works/pi-ai": "*",
|
|
@@ -44,18 +45,20 @@
|
|
|
44
45
|
},
|
|
45
46
|
"pi": {
|
|
46
47
|
"extensions": [
|
|
47
|
-
"./src/extension.ts"
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
"./src/extension.ts"
|
|
49
|
+
],
|
|
50
|
+
"image": "https://raw.githubusercontent.com/mrclrchtr/supi/main/packages/supi-tree-sitter/assets/logo.png"
|
|
50
51
|
},
|
|
51
52
|
"bundledDependencies": [
|
|
53
|
+
"@mrclrchtr/supi-code-runtime",
|
|
52
54
|
"@mrclrchtr/supi-core"
|
|
53
55
|
],
|
|
54
56
|
"main": "src/api.ts",
|
|
55
57
|
"exports": {
|
|
56
58
|
"./api": "./src/api.ts",
|
|
57
59
|
"./extension": "./src/extension.ts",
|
|
58
|
-
"./package.json": "./package.json"
|
|
60
|
+
"./package.json": "./package.json",
|
|
61
|
+
"./provider/tree-sitter-provider": "./src/provider/tree-sitter-provider.ts"
|
|
59
62
|
},
|
|
60
63
|
"scripts": {
|
|
61
64
|
"vendor:wasm": "node scripts/vendor-wasm.mjs",
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
// Structural provider adapter — wraps TreeSitterService into the shared
|
|
2
|
+
// StructuralProvider contract from supi-code-runtime.
|
|
3
|
+
|
|
4
|
+
import type {
|
|
5
|
+
CalleesData,
|
|
6
|
+
CodeResult,
|
|
7
|
+
ExportData,
|
|
8
|
+
ImportData,
|
|
9
|
+
NodeAtData,
|
|
10
|
+
OutlineData,
|
|
11
|
+
StructuralProvider,
|
|
12
|
+
} from "@mrclrchtr/supi-code-runtime/api";
|
|
13
|
+
import type {
|
|
14
|
+
CalleesAtResult,
|
|
15
|
+
ExportRecord,
|
|
16
|
+
ImportRecord,
|
|
17
|
+
NodeAtResult,
|
|
18
|
+
OutlineItem,
|
|
19
|
+
TreeSitterResult,
|
|
20
|
+
TreeSitterService,
|
|
21
|
+
} from "../types.ts";
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Create a StructuralProvider backed by a TreeSitterService.
|
|
25
|
+
* Maps tree-sitter's nested `range` shapes into the flat range
|
|
26
|
+
* fields used by the shared code-runtime types.
|
|
27
|
+
*/
|
|
28
|
+
export function createTreeSitterProvider(service: TreeSitterService): StructuralProvider {
|
|
29
|
+
return {
|
|
30
|
+
async calleesAt(file, line, character) {
|
|
31
|
+
const result = await service.calleesAt(file, line, character);
|
|
32
|
+
return mapTreeSitterResult(result, mapCalleesAtResult);
|
|
33
|
+
},
|
|
34
|
+
|
|
35
|
+
async exports(file) {
|
|
36
|
+
const result = await service.exports(file);
|
|
37
|
+
return mapTreeSitterResult(result, mapExportRecords);
|
|
38
|
+
},
|
|
39
|
+
|
|
40
|
+
async outline(file) {
|
|
41
|
+
const result = await service.outline(file);
|
|
42
|
+
return mapTreeSitterResult(result, mapOutlineItems);
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
async imports(file) {
|
|
46
|
+
const result = await service.imports(file);
|
|
47
|
+
return mapTreeSitterResult(result, mapImportRecords);
|
|
48
|
+
},
|
|
49
|
+
|
|
50
|
+
async nodeAt(file, line, character) {
|
|
51
|
+
const result = await service.nodeAt(file, line, character);
|
|
52
|
+
return mapTreeSitterResult(result, mapNodeAtResult);
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// ── Generic result mapper ─────────────────────────────────────────────
|
|
58
|
+
|
|
59
|
+
function mapTreeSitterResult<T, U>(
|
|
60
|
+
result: TreeSitterResult<T>,
|
|
61
|
+
mapData: (data: T) => U,
|
|
62
|
+
): CodeResult<U> {
|
|
63
|
+
switch (result.kind) {
|
|
64
|
+
case "success":
|
|
65
|
+
return { kind: "success", data: mapData(result.data) };
|
|
66
|
+
case "unsupported-language":
|
|
67
|
+
return { kind: "unsupported-language", file: result.file, message: result.message };
|
|
68
|
+
case "file-access-error":
|
|
69
|
+
return { kind: "file-access-error", file: result.file, message: result.message };
|
|
70
|
+
case "validation-error":
|
|
71
|
+
return { kind: "validation-error", message: result.message };
|
|
72
|
+
case "runtime-error":
|
|
73
|
+
return { kind: "runtime-error", message: result.message };
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// ── Data mappers (nested range → flat fields) ─────────────────────────
|
|
78
|
+
|
|
79
|
+
type RangeLike = {
|
|
80
|
+
startLine: number;
|
|
81
|
+
startCharacter: number;
|
|
82
|
+
endLine: number;
|
|
83
|
+
endCharacter: number;
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
function takeRange(r: RangeLike) {
|
|
87
|
+
return {
|
|
88
|
+
startLine: r.startLine,
|
|
89
|
+
startCharacter: r.startCharacter,
|
|
90
|
+
endLine: r.endLine,
|
|
91
|
+
endCharacter: r.endCharacter,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
function mapOutlineItems(items: OutlineItem[]): OutlineData[] {
|
|
96
|
+
return items.map((item) => ({
|
|
97
|
+
name: item.name,
|
|
98
|
+
kind: item.kind,
|
|
99
|
+
...takeRange(item.range),
|
|
100
|
+
children: item.children ? mapOutlineItems(item.children) : undefined,
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
function mapExportRecords(records: ExportRecord[]): ExportData[] {
|
|
105
|
+
return records.map((record) => ({
|
|
106
|
+
name: record.name,
|
|
107
|
+
kind: record.kind,
|
|
108
|
+
...takeRange(record.range),
|
|
109
|
+
moduleSpecifier: record.moduleSpecifier,
|
|
110
|
+
}));
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function mapImportRecords(records: ImportRecord[]): ImportData[] {
|
|
114
|
+
return records.map((record) => ({
|
|
115
|
+
moduleSpecifier: record.moduleSpecifier,
|
|
116
|
+
...takeRange(record.range),
|
|
117
|
+
}));
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
function mapNodeAtResult(result: NodeAtResult): NodeAtData {
|
|
121
|
+
return {
|
|
122
|
+
type: result.type,
|
|
123
|
+
...takeRange(result.range),
|
|
124
|
+
text: result.text,
|
|
125
|
+
ancestry: result.ancestry.map((a) => ({
|
|
126
|
+
type: a.type,
|
|
127
|
+
...takeRange(a.range),
|
|
128
|
+
})),
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
function mapCalleesAtResult(result: CalleesAtResult): CalleesData {
|
|
133
|
+
return {
|
|
134
|
+
enclosingScope: {
|
|
135
|
+
name: result.enclosingScope.name,
|
|
136
|
+
startLine: result.enclosingScope.range.startLine,
|
|
137
|
+
endLine: result.enclosingScope.range.endLine,
|
|
138
|
+
},
|
|
139
|
+
callees: result.callees.map((c) => ({
|
|
140
|
+
name: c.name,
|
|
141
|
+
startLine: c.range.startLine,
|
|
142
|
+
})),
|
|
143
|
+
};
|
|
144
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tree-sitter-to-runtime capability registration.
|
|
3
|
+
*
|
|
4
|
+
* Adapts a TreeSitterService into the runtime's StructuralProvider interface
|
|
5
|
+
* via the existing tree-sitter-provider adapter, and registers/unregisters it
|
|
6
|
+
* with the shared WorkspaceRuntime at session lifecycle boundaries.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import type { WorkspaceRuntime } from "@mrclrchtr/supi-code-runtime/api";
|
|
10
|
+
import { createTreeSitterProvider } from "../provider/tree-sitter-provider.ts";
|
|
11
|
+
import type { TreeSitterService } from "../types.ts";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Register tree-sitter structural capabilities for a workspace cwd.
|
|
15
|
+
*
|
|
16
|
+
* Wraps TreeSitterService into a StructuralProvider via the existing
|
|
17
|
+
* structural adapter and publishes it into the shared workspace runtime.
|
|
18
|
+
*/
|
|
19
|
+
export function registerTreeSitterCapabilities(
|
|
20
|
+
runtime: WorkspaceRuntime,
|
|
21
|
+
cwd: string,
|
|
22
|
+
service: TreeSitterService,
|
|
23
|
+
): void {
|
|
24
|
+
const provider = createTreeSitterProvider(service);
|
|
25
|
+
runtime.registerStructural(cwd, provider);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Unregister tree-sitter structural capabilities for a workspace cwd.
|
|
30
|
+
*
|
|
31
|
+
* Clears only the structural capability slot — semantic (LSP) state
|
|
32
|
+
* is left intact so that a tree-sitter session restart does not wipe
|
|
33
|
+
* LSP capabilities that were registered earlier in the same lifecycle.
|
|
34
|
+
*/
|
|
35
|
+
export function unregisterTreeSitterCapabilities(runtime: WorkspaceRuntime, cwd: string): void {
|
|
36
|
+
runtime.clearStructural(cwd);
|
|
37
|
+
}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
// Tree-sitter extension entry point — registers 6 focused tree_sitter_* tools.
|
|
2
2
|
|
|
3
3
|
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
4
|
+
import { getDefaultWorkspaceRuntime } from "@mrclrchtr/supi-code-runtime/api";
|
|
4
5
|
import { TreeSitterRuntime } from "./session/runtime.ts";
|
|
6
|
+
import {
|
|
7
|
+
registerTreeSitterCapabilities,
|
|
8
|
+
unregisterTreeSitterCapabilities,
|
|
9
|
+
} from "./session/runtime-registration.ts";
|
|
5
10
|
import {
|
|
6
11
|
clearSessionTreeSitterService,
|
|
7
12
|
setSessionTreeSitterService,
|
|
@@ -10,28 +15,33 @@ import { createTreeSitterService } from "./session/session.ts";
|
|
|
10
15
|
import { registerFocusedTreeSitterTools } from "./tool/register-tools.ts";
|
|
11
16
|
|
|
12
17
|
export default function treeSitterExtension(pi: ExtensionAPI) {
|
|
13
|
-
let
|
|
18
|
+
let treeSitterRuntime: TreeSitterRuntime | undefined;
|
|
14
19
|
let activeCwd: string | null = null;
|
|
20
|
+
const workspaceRuntime = getDefaultWorkspaceRuntime();
|
|
15
21
|
|
|
16
|
-
registerFocusedTreeSitterTools(pi, () =>
|
|
22
|
+
registerFocusedTreeSitterTools(pi, () => treeSitterRuntime);
|
|
17
23
|
|
|
18
24
|
pi.on("session_start", (_event, ctx) => {
|
|
19
|
-
if (
|
|
25
|
+
if (treeSitterRuntime && activeCwd) {
|
|
26
|
+
unregisterTreeSitterCapabilities(workspaceRuntime, activeCwd);
|
|
20
27
|
clearSessionTreeSitterService(activeCwd);
|
|
21
|
-
|
|
28
|
+
treeSitterRuntime.dispose();
|
|
22
29
|
}
|
|
23
30
|
|
|
24
31
|
activeCwd = ctx.cwd;
|
|
25
|
-
|
|
26
|
-
|
|
32
|
+
treeSitterRuntime = new TreeSitterRuntime(ctx.cwd);
|
|
33
|
+
const service = createTreeSitterService(treeSitterRuntime);
|
|
34
|
+
setSessionTreeSitterService(ctx.cwd, service);
|
|
35
|
+
registerTreeSitterCapabilities(workspaceRuntime, ctx.cwd, service);
|
|
27
36
|
});
|
|
28
37
|
|
|
29
38
|
pi.on("session_shutdown", () => {
|
|
30
39
|
if (activeCwd) {
|
|
40
|
+
unregisterTreeSitterCapabilities(workspaceRuntime, activeCwd);
|
|
31
41
|
clearSessionTreeSitterService(activeCwd);
|
|
32
42
|
}
|
|
33
|
-
|
|
34
|
-
|
|
43
|
+
treeSitterRuntime?.dispose();
|
|
44
|
+
treeSitterRuntime = undefined;
|
|
35
45
|
activeCwd = null;
|
|
36
46
|
});
|
|
37
47
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mrclrchtr/supi-code-intelligence",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "SuPi Code Intelligence extension — architecture briefs, caller/callee analysis, impact assessment, and pattern search for pi",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -19,11 +19,13 @@
|
|
|
19
19
|
"src/**/*.ts"
|
|
20
20
|
],
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@mrclrchtr/supi-
|
|
23
|
-
"@mrclrchtr/supi-core": "1.
|
|
24
|
-
"@mrclrchtr/supi-
|
|
22
|
+
"@mrclrchtr/supi-code-runtime": "1.9.0",
|
|
23
|
+
"@mrclrchtr/supi-core": "1.9.0",
|
|
24
|
+
"@mrclrchtr/supi-lsp": "1.9.0",
|
|
25
|
+
"@mrclrchtr/supi-tree-sitter": "1.9.0"
|
|
25
26
|
},
|
|
26
27
|
"bundledDependencies": [
|
|
28
|
+
"@mrclrchtr/supi-code-runtime",
|
|
27
29
|
"@mrclrchtr/supi-core",
|
|
28
30
|
"@mrclrchtr/supi-lsp",
|
|
29
31
|
"@mrclrchtr/supi-tree-sitter"
|
|
@@ -48,9 +50,9 @@
|
|
|
48
50
|
"extensions": [
|
|
49
51
|
"./src/extension.ts",
|
|
50
52
|
"node_modules/@mrclrchtr/supi-lsp/src/extension.ts",
|
|
51
|
-
"node_modules/@mrclrchtr/supi-core/src/extension.ts",
|
|
52
53
|
"node_modules/@mrclrchtr/supi-tree-sitter/src/extension.ts"
|
|
53
|
-
]
|
|
54
|
+
],
|
|
55
|
+
"image": "https://raw.githubusercontent.com/mrclrchtr/supi/main/packages/supi-code-intelligence/assets/logo.png"
|
|
54
56
|
},
|
|
55
57
|
"main": "src/api.ts",
|
|
56
58
|
"exports": {
|
package/src/api.ts
CHANGED
|
@@ -1,27 +1,28 @@
|
|
|
1
1
|
// Reusable architecture and target-resolution helpers for peer extensions.
|
|
2
|
+
// Non-provider contracts for the code-understanding stack.
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
// Provider contracts re-exported from the shared runtime for convenience.
|
|
5
|
+
export type {
|
|
6
|
+
SemanticProvider,
|
|
7
|
+
StructuralProvider,
|
|
8
|
+
StructuralResult,
|
|
9
|
+
} from "@mrclrchtr/supi-code-runtime/api";
|
|
10
|
+
export { generateFocusedBrief, generateOverview, generateProjectBrief } from "./brief.ts";
|
|
11
|
+
// Architecture model hosted locally in supi-code-intelligence.
|
|
12
|
+
export type {
|
|
13
|
+
ArchitectureModel,
|
|
14
|
+
DependencyEdge,
|
|
15
|
+
ModuleInfo,
|
|
16
|
+
} from "./model.ts";
|
|
4
17
|
export {
|
|
5
18
|
buildArchitectureModel,
|
|
6
19
|
findModuleForPath,
|
|
7
20
|
getDependencies,
|
|
8
21
|
getDependents,
|
|
9
|
-
} from "./
|
|
10
|
-
|
|
11
|
-
export { generateFocusedBrief, generateOverview, generateProjectBrief } from "./brief.ts";
|
|
12
|
-
export { createSemanticSubstrate } from "./substrates/lsp-adapter.ts";
|
|
13
|
-
export { createStructuralSubstrate } from "./substrates/tree-sitter-adapter.ts";
|
|
14
|
-
|
|
15
|
-
// Substrate adapters
|
|
22
|
+
} from "./model.ts";
|
|
23
|
+
// Substrate adapters (type aliases for provider contracts)
|
|
16
24
|
export type {
|
|
17
|
-
CalleesData,
|
|
18
|
-
CodeSymbol,
|
|
19
|
-
ExportData,
|
|
20
|
-
ImportData,
|
|
21
|
-
NodeAtData,
|
|
22
|
-
OutlineData,
|
|
23
25
|
SemanticSubstrate,
|
|
24
|
-
StructuralResult,
|
|
25
26
|
StructuralSubstrate,
|
|
26
27
|
} from "./substrates/types.ts";
|
|
27
28
|
export type { ResolvedTarget, TargetResolutionResult } from "./target-resolution.ts";
|
|
@@ -31,13 +32,27 @@ export {
|
|
|
31
32
|
resolveSymbolTarget,
|
|
32
33
|
toZeroBased,
|
|
33
34
|
} from "./target-resolution.ts";
|
|
34
|
-
|
|
35
|
+
// Shared canonical types
|
|
35
36
|
export type {
|
|
36
37
|
AffectedDetails,
|
|
37
38
|
BriefDetails,
|
|
39
|
+
CalleesData,
|
|
38
40
|
CodeIntelResult,
|
|
41
|
+
CodeLocation,
|
|
42
|
+
CodePosition,
|
|
43
|
+
CodeResult,
|
|
44
|
+
CodeSymbol,
|
|
39
45
|
ConfidenceMode,
|
|
40
46
|
DisambiguationCandidate,
|
|
47
|
+
ExportData,
|
|
48
|
+
ImportData,
|
|
41
49
|
MapDetails,
|
|
50
|
+
NodeAtData,
|
|
51
|
+
OutlineData,
|
|
52
|
+
ProviderAvailability,
|
|
42
53
|
SearchDetails,
|
|
54
|
+
SourceRange,
|
|
43
55
|
} from "./types.ts";
|
|
56
|
+
// Code provider — reads capabilities from the shared workspace runtime.
|
|
57
|
+
export type { CodeProvider, CodeProviderState } from "./workspace/request-context.ts";
|
|
58
|
+
export { getCodeProvider } from "./workspace/request-context.ts";
|
package/src/brief-focused.ts
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
|
|
4
4
|
import * as fs from "node:fs";
|
|
5
5
|
import * as path from "node:path";
|
|
6
|
-
import type { ArchitectureModel } from "./architecture.ts";
|
|
7
|
-
import { findModuleForPath, getDependencies, getDependents } from "./architecture.ts";
|
|
8
6
|
import { formatGitContext, gatherGitContext } from "./git-context.ts";
|
|
7
|
+
import type { ArchitectureModel } from "./model.ts";
|
|
8
|
+
import { findModuleForPath, getDependencies, getDependents } from "./model.ts";
|
|
9
9
|
import {
|
|
10
10
|
appendPrioritySignalsSection,
|
|
11
11
|
summarizePrioritySignalsForFiles,
|
package/src/brief.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// Public facade — delegates to the new use-case and presentation layers.
|
|
2
2
|
// Existing callers (api.ts, index.ts, code-intelligence.ts) remain compatible.
|
|
3
3
|
|
|
4
|
-
import type { ArchitectureModel } from "./architecture.ts";
|
|
5
|
-
import { getDependents } from "./architecture.ts";
|
|
6
4
|
import { formatGitContext, gatherGitContext } from "./git-context.ts";
|
|
5
|
+
import type { ArchitectureModel } from "./model.ts";
|
|
6
|
+
import { getDependents } from "./model.ts";
|
|
7
7
|
import { renderOverview } from "./presentation/markdown/overview.ts";
|
|
8
8
|
import type { BriefDetails, ConfidenceMode } from "./types.ts";
|
|
9
9
|
import { buildOverviewData } from "./use-case/build-overview.ts";
|
package/src/code-intelligence.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
// Code Intelligence extension entry point — registers the focused code-intelligence tools.
|
|
2
2
|
// Provides architecture briefs, project maps, relationship tracing, impact assessment, and pattern search.
|
|
3
|
+
//
|
|
4
|
+
// No longer wires CodeProviders — the substrate packages (supi-lsp, supi-tree-sitter)
|
|
5
|
+
// publish their capabilities directly into the shared workspace runtime.
|
|
3
6
|
|
|
4
7
|
import type { BeforeAgentStartEventResult, ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
5
|
-
import { buildArchitectureModel } from "./
|
|
8
|
+
import { buildArchitectureModel } from "./model.ts";
|
|
6
9
|
import { renderOverview } from "./presentation/markdown/overview.ts";
|
|
7
10
|
import { registerCodeIntelligenceTools } from "./tool/register-tools.ts";
|
|
8
11
|
import { buildOverviewData } from "./use-case/build-overview.ts";
|
|
@@ -12,12 +15,17 @@ const OVERVIEW_CUSTOM_TYPE = "code-intelligence-overview";
|
|
|
12
15
|
/**
|
|
13
16
|
* Register the focused code-intelligence tools and inject a lightweight
|
|
14
17
|
* architecture overview once per session.
|
|
18
|
+
*
|
|
19
|
+
* Capabilities are published by substrate packages into the shared
|
|
20
|
+
* workspace runtime — no local provider wiring needed.
|
|
15
21
|
*/
|
|
16
22
|
export default function codeIntelligenceExtension(pi: ExtensionAPI) {
|
|
17
23
|
let hasInjectedOverview = false;
|
|
24
|
+
let _activeCwd: string | null = null;
|
|
18
25
|
|
|
19
26
|
pi.on("session_start", (_event, ctx) => {
|
|
20
27
|
hasInjectedOverview = false;
|
|
28
|
+
_activeCwd = ctx.cwd;
|
|
21
29
|
|
|
22
30
|
// Scan active branch for existing overview to avoid duplicates on reload/resume
|
|
23
31
|
const branch = ctx.sessionManager.getBranch();
|
|
@@ -55,4 +63,8 @@ export default function codeIntelligenceExtension(pi: ExtensionAPI) {
|
|
|
55
63
|
);
|
|
56
64
|
|
|
57
65
|
registerCodeIntelligenceTools(pi);
|
|
66
|
+
|
|
67
|
+
pi.on("session_shutdown", () => {
|
|
68
|
+
_activeCwd = null;
|
|
69
|
+
});
|
|
58
70
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,28 +1,27 @@
|
|
|
1
1
|
// Package root exports for @mrclrchtr/supi-code-intelligence.
|
|
2
2
|
// Peer extensions can import these APIs for programmatic access.
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
// Provider contracts re-exported from the shared runtime for convenience.
|
|
5
|
+
export type {
|
|
6
|
+
SemanticProvider,
|
|
7
|
+
StructuralProvider,
|
|
8
|
+
StructuralResult,
|
|
9
|
+
} from "@mrclrchtr/supi-code-runtime/api";
|
|
10
|
+
export { generateFocusedBrief, generateOverview, generateProjectBrief } from "./brief.ts";
|
|
11
|
+
export type {
|
|
12
|
+
ArchitectureModel,
|
|
13
|
+
DependencyEdge,
|
|
14
|
+
ModuleInfo,
|
|
15
|
+
} from "./model.ts";
|
|
5
16
|
export {
|
|
6
17
|
buildArchitectureModel,
|
|
7
18
|
findModuleForPath,
|
|
8
19
|
getDependencies,
|
|
9
20
|
getDependents,
|
|
10
|
-
} from "./
|
|
11
|
-
|
|
12
|
-
export { generateFocusedBrief, generateOverview, generateProjectBrief } from "./brief.ts";
|
|
13
|
-
export { createSemanticSubstrate } from "./substrates/lsp-adapter.ts";
|
|
14
|
-
export { createStructuralSubstrate } from "./substrates/tree-sitter-adapter.ts";
|
|
15
|
-
|
|
16
|
-
// Substrate adapters
|
|
21
|
+
} from "./model.ts";
|
|
22
|
+
// Substrate adapters (type aliases for provider contracts)
|
|
17
23
|
export type {
|
|
18
|
-
CalleesData,
|
|
19
|
-
CodeSymbol,
|
|
20
|
-
ExportData,
|
|
21
|
-
ImportData,
|
|
22
|
-
NodeAtData,
|
|
23
|
-
OutlineData,
|
|
24
24
|
SemanticSubstrate,
|
|
25
|
-
StructuralResult,
|
|
26
25
|
StructuralSubstrate,
|
|
27
26
|
} from "./substrates/types.ts";
|
|
28
27
|
export type { ResolvedTarget, TargetResolutionResult } from "./target-resolution.ts";
|
|
@@ -32,13 +31,27 @@ export {
|
|
|
32
31
|
resolveSymbolTarget,
|
|
33
32
|
toZeroBased,
|
|
34
33
|
} from "./target-resolution.ts";
|
|
35
|
-
|
|
34
|
+
// Shared canonical types
|
|
36
35
|
export type {
|
|
37
36
|
AffectedDetails,
|
|
38
37
|
BriefDetails,
|
|
38
|
+
CalleesData,
|
|
39
39
|
CodeIntelResult,
|
|
40
|
+
CodeLocation,
|
|
41
|
+
CodePosition,
|
|
42
|
+
CodeResult,
|
|
43
|
+
CodeSymbol,
|
|
40
44
|
ConfidenceMode,
|
|
41
45
|
DisambiguationCandidate,
|
|
46
|
+
ExportData,
|
|
47
|
+
ImportData,
|
|
42
48
|
MapDetails,
|
|
49
|
+
NodeAtData,
|
|
50
|
+
OutlineData,
|
|
51
|
+
ProviderAvailability,
|
|
43
52
|
SearchDetails,
|
|
53
|
+
SourceRange,
|
|
44
54
|
} from "./types.ts";
|
|
55
|
+
// Code provider — reads capabilities from the shared workspace runtime.
|
|
56
|
+
export type { CodeProvider, CodeProviderState } from "./workspace/request-context.ts";
|
|
57
|
+
export { getCodeProvider } from "./workspace/request-context.ts";
|