@mrclrchtr/supi-code-intelligence 2.0.6 → 2.2.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 +88 -4
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/README.md +32 -23
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/package.json +2 -1
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config.ts +22 -8
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/prompt-surface.ts +357 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config.ts +2 -3
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/debug-registry.ts +0 -5
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/prompt-surface.ts +4 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/scoped-settings-list.ts +372 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-action-menu.ts +101 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-command.ts +1 -1
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +55 -27
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-schema.ts +464 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-submenus.ts +124 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-ui.ts +72 -285
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -5
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings.ts +27 -5
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/tool-framework.ts +10 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/package.json +2 -2
- package/node_modules/@mrclrchtr/supi-core/README.md +32 -23
- package/node_modules/@mrclrchtr/supi-core/package.json +2 -1
- package/node_modules/@mrclrchtr/supi-core/src/config/config.ts +22 -8
- package/node_modules/@mrclrchtr/supi-core/src/config/prompt-surface.ts +357 -0
- package/node_modules/@mrclrchtr/supi-core/src/config.ts +2 -3
- package/node_modules/@mrclrchtr/supi-core/src/debug-registry.ts +0 -5
- package/node_modules/@mrclrchtr/supi-core/src/prompt-surface.ts +4 -0
- package/node_modules/@mrclrchtr/supi-core/src/settings/scoped-settings-list.ts +372 -0
- package/node_modules/@mrclrchtr/supi-core/src/settings/settings-action-menu.ts +101 -0
- package/node_modules/@mrclrchtr/supi-core/src/settings/settings-command.ts +1 -1
- package/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +55 -27
- package/node_modules/@mrclrchtr/supi-core/src/settings/settings-schema.ts +464 -0
- package/node_modules/@mrclrchtr/supi-core/src/settings/settings-submenus.ts +124 -0
- package/node_modules/@mrclrchtr/supi-core/src/settings/settings-ui.ts +72 -285
- package/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -5
- package/node_modules/@mrclrchtr/supi-core/src/settings.ts +27 -5
- package/node_modules/@mrclrchtr/supi-core/src/tool-framework.ts +10 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/README.md +32 -23
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/package.json +2 -1
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config.ts +22 -8
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/prompt-surface.ts +357 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config.ts +2 -3
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/debug-registry.ts +0 -5
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/prompt-surface.ts +4 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/scoped-settings-list.ts +372 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-action-menu.ts +101 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-command.ts +1 -1
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +55 -27
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-schema.ts +464 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-submenus.ts +124 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-ui.ts +72 -285
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -5
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings.ts +27 -5
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/tool-framework.ts +10 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/package.json +2 -2
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/README.md +32 -23
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/package.json +2 -1
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/config/config.ts +22 -8
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/config/prompt-surface.ts +357 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/config.ts +2 -3
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/debug-registry.ts +0 -5
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/prompt-surface.ts +4 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings/scoped-settings-list.ts +372 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings/settings-action-menu.ts +101 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings/settings-command.ts +1 -1
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +55 -27
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings/settings-schema.ts +464 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings/settings-submenus.ts +124 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings/settings-ui.ts +72 -285
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -5
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings.ts +27 -5
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/tool-framework.ts +10 -0
- package/node_modules/@mrclrchtr/supi-lsp/package.json +3 -3
- package/node_modules/@mrclrchtr/supi-lsp/src/config/lsp-settings.ts +1 -1
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/README.md +32 -23
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/package.json +2 -1
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config.ts +22 -8
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/prompt-surface.ts +357 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config.ts +2 -3
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/debug-registry.ts +0 -5
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/prompt-surface.ts +4 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/scoped-settings-list.ts +372 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-action-menu.ts +101 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-command.ts +1 -1
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +55 -27
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-schema.ts +464 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-submenus.ts +124 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings/settings-ui.ts +72 -285
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -5
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/settings.ts +27 -5
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/tool-framework.ts +10 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/package.json +2 -2
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/README.md +32 -23
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/package.json +2 -1
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/config/config.ts +22 -8
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/config/prompt-surface.ts +357 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/config.ts +2 -3
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/debug-registry.ts +0 -5
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/prompt-surface.ts +4 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings/scoped-settings-list.ts +372 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings/settings-action-menu.ts +101 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings/settings-command.ts +1 -1
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +55 -27
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings/settings-schema.ts +464 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings/settings-submenus.ts +124 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings/settings-ui.ts +72 -285
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +2 -5
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings.ts +27 -5
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/tool-framework.ts +10 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/package.json +3 -3
- package/package.json +5 -5
- package/src/analysis/evidence.ts +13 -0
- package/src/analysis/instruction-files.ts +194 -0
- package/src/analysis/search/pattern.ts +24 -13
- package/src/analysis/search/ripgrep.ts +92 -7
- package/src/app/app.ts +6 -1
- package/src/config.ts +42 -0
- package/src/extension.ts +9 -1
- package/src/session/capability-adapter.ts +218 -0
- package/src/session/session.ts +106 -1
- package/src/session/target-workflow.ts +430 -0
- package/src/substrate/lsp/diagnostic-injection.ts +0 -15
- package/src/substrate/lsp/settings.ts +101 -175
- package/src/tool/find/execute.ts +23 -10
- package/src/tool/find/orchestrate.ts +67 -54
- package/src/tool/find/semantic-search.ts +30 -16
- package/src/tool/graph/collect-relation.ts +2 -1
- package/src/tool/graph/execute.ts +40 -12
- package/src/tool/graph/markdown-base.ts +5 -37
- package/src/tool/graph/orchestrate.ts +9 -35
- package/src/tool/graph/tui.ts +2 -0
- package/src/tool/guidance.ts +27 -38
- package/src/tool/health/markdown.ts +12 -70
- package/src/tool/health/orchestrate.ts +5 -13
- package/src/tool/impact/analysis.ts +0 -27
- package/src/tool/impact/change-set-impact.ts +3 -2
- package/src/tool/impact/execute.ts +27 -0
- package/src/tool/impact/file-level-impact.ts +3 -2
- package/src/tool/impact/result.ts +2 -21
- package/src/tool/impact/single-impact.ts +3 -2
- package/src/tool/infra/error-results.ts +18 -196
- package/src/tool/infra/pipeline.ts +24 -1
- package/src/tool/inspect/markdown.ts +4 -41
- package/src/tool/inspect/orchestrate.ts +27 -28
- package/src/tool/orientation/mode.ts +53 -2
- package/src/tool/orientation/orchestrate.ts +5 -8
- package/src/tool/orientation/precise-target.ts +65 -69
- package/src/tool/refactor-apply/orchestrate.ts +2 -7
- package/src/tool/refactor-plan/orchestrate.ts +31 -39
- package/src/tool/resolve/markdown.ts +5 -6
- package/src/tool/resolve/orchestrate.ts +7 -103
- package/src/tool/result/errors.ts +199 -0
- package/src/tool/result/find.ts +29 -0
- package/src/tool/result/graph.ts +93 -0
- package/src/tool/result/health.ts +94 -0
- package/src/tool/result/impact.ts +50 -0
- package/src/tool/result/inspect.ts +60 -0
- package/src/tool/result/orientation.ts +30 -0
- package/src/tool/result/refactor.ts +35 -0
- package/src/tool/result/resolve.ts +114 -0
- package/src/tool/result/types.ts +191 -0
- package/src/tool/schemas.ts +39 -28
- package/src/types/details.ts +17 -185
- package/src/ui/tui/common.ts +45 -1
- package/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config-settings.ts +0 -188
- package/node_modules/@mrclrchtr/supi-core/src/config/config-settings.ts +0 -188
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config-settings.ts +0 -188
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/config/config-settings.ts +0 -188
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/node_modules/@mrclrchtr/supi-core/src/config/config-settings.ts +0 -188
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/config/config-settings.ts +0 -188
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { relative } from "node:path";
|
|
2
|
+
import type { ResolveServiceResult } from "../../analysis/target/service.ts";
|
|
3
|
+
import type { ResolveDetails } from "./types.ts";
|
|
4
|
+
|
|
5
|
+
export interface ResolveResultAssembly {
|
|
6
|
+
result: ResolveServiceResult;
|
|
7
|
+
cwd: string;
|
|
8
|
+
details: ResolveDetails;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/** Assemble code_resolve evidence/details before markdown and TUI adapters render it. */
|
|
12
|
+
export function assembleResolveResult(
|
|
13
|
+
result: ResolveServiceResult,
|
|
14
|
+
cwd: string,
|
|
15
|
+
): ResolveResultAssembly {
|
|
16
|
+
return { result, cwd, details: buildResolveDetails(result, cwd) };
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function buildResolveDetails(result: ResolveServiceResult, cwd: string): ResolveDetails {
|
|
20
|
+
if (result.kind === "resolved") {
|
|
21
|
+
return {
|
|
22
|
+
confidence: result.confidence,
|
|
23
|
+
targetCount: result.targets.length + result.omittedCount,
|
|
24
|
+
omittedCount: result.omittedCount,
|
|
25
|
+
evidenceLists: [
|
|
26
|
+
{
|
|
27
|
+
key: "resolve.targets",
|
|
28
|
+
totalCount: result.targets.length + result.omittedCount,
|
|
29
|
+
shownCount: result.targets.length,
|
|
30
|
+
omittedCount: result.omittedCount,
|
|
31
|
+
partialReason: null,
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
targets: result.targets.map((t) => ({
|
|
35
|
+
targetId: t.targetId,
|
|
36
|
+
spanId: t.spanId,
|
|
37
|
+
file: relative(cwd, t.file) || t.file,
|
|
38
|
+
displayLine: t.displayLine,
|
|
39
|
+
displayCharacter: t.displayCharacter,
|
|
40
|
+
name: t.name,
|
|
41
|
+
kind: t.kind,
|
|
42
|
+
anchorKind: t.anchorKind,
|
|
43
|
+
confidence: t.confidence,
|
|
44
|
+
provenance: t.provenance,
|
|
45
|
+
resolution: t.resolution,
|
|
46
|
+
})),
|
|
47
|
+
nextQueries: result.nextQueries,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (result.kind === "disambiguation") {
|
|
52
|
+
return {
|
|
53
|
+
confidence: "semantic",
|
|
54
|
+
targetCount: result.candidates.length + result.omittedCount,
|
|
55
|
+
omittedCount: result.omittedCount,
|
|
56
|
+
evidenceLists: [
|
|
57
|
+
{
|
|
58
|
+
key: "resolve.candidates",
|
|
59
|
+
totalCount: result.candidates.length + result.omittedCount,
|
|
60
|
+
shownCount: result.candidates.length,
|
|
61
|
+
omittedCount: result.omittedCount,
|
|
62
|
+
partialReason: null,
|
|
63
|
+
},
|
|
64
|
+
],
|
|
65
|
+
targets: [],
|
|
66
|
+
candidates: result.candidates.map((cand) => ({
|
|
67
|
+
targetId: cand.targetId,
|
|
68
|
+
name: cand.name,
|
|
69
|
+
kind: cand.kind,
|
|
70
|
+
container: cand.container,
|
|
71
|
+
file: cand.file,
|
|
72
|
+
line: cand.line,
|
|
73
|
+
character: cand.character,
|
|
74
|
+
reason: cand.reason,
|
|
75
|
+
rank: cand.rank,
|
|
76
|
+
anchorKind: cand.anchorKind,
|
|
77
|
+
})),
|
|
78
|
+
nextQueries: result.nextQueries,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return {
|
|
83
|
+
confidence: "unavailable",
|
|
84
|
+
targetCount: 0,
|
|
85
|
+
omittedCount: 0,
|
|
86
|
+
targets: [],
|
|
87
|
+
nextQueries: [
|
|
88
|
+
"Refine the `query` or `scope`",
|
|
89
|
+
"Use anchored `file` + `line` + `character` for a precise target",
|
|
90
|
+
],
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/** Suggested `code_graph` relations for a resolved symbol kind. */
|
|
95
|
+
export function suggestedResolveRelations(kind: string | undefined | null): string[] | undefined {
|
|
96
|
+
switch (kind?.toLowerCase()) {
|
|
97
|
+
case "function":
|
|
98
|
+
case "method":
|
|
99
|
+
case "constructor":
|
|
100
|
+
return ["references", "callees", "tests"];
|
|
101
|
+
case "class":
|
|
102
|
+
case "interface":
|
|
103
|
+
case "type":
|
|
104
|
+
case "enum":
|
|
105
|
+
return ["references", "implements"];
|
|
106
|
+
case "file":
|
|
107
|
+
case "module":
|
|
108
|
+
return ["imports", "exports"];
|
|
109
|
+
case "test":
|
|
110
|
+
return ["tests"];
|
|
111
|
+
default:
|
|
112
|
+
return undefined;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import type { ConfidenceMode } from "@mrclrchtr/supi-code-runtime/api";
|
|
2
|
+
import type { EvidenceListMetadata } from "../../analysis/evidence.ts";
|
|
3
|
+
import type { InstructionFilesMetadata } from "../../analysis/instruction-files.ts";
|
|
4
|
+
import type { PrioritySignalsSummary } from "../../analysis/signals/project.ts";
|
|
5
|
+
import type { TestSurfaceDetails } from "../../analysis/tests/test-discovery.ts";
|
|
6
|
+
import type { AnchorKind, TargetStoreEntry } from "../../session/target-store.ts";
|
|
7
|
+
|
|
8
|
+
export type { TestSurfaceDetails } from "../../analysis/tests/test-discovery.ts";
|
|
9
|
+
|
|
10
|
+
// ── Anchored coordinate resolution metadata ───────────────────────────
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Provider-backed evidence source that identified an anchored coordinate
|
|
14
|
+
* target. Drives the markdown provenance note and structured resolution
|
|
15
|
+
* metadata per ADR 0003/0004.
|
|
16
|
+
*
|
|
17
|
+
* - `semantic` — LSP document symbols identified the symbol and its anchors.
|
|
18
|
+
* - `structural` — tree-sitter structural evidence (outline/exports/nodeAt)
|
|
19
|
+
* identified the declaration and/or identifier.
|
|
20
|
+
* - `structural-identifier` — tree-sitter `nodeAt` classified the coordinate
|
|
21
|
+
* as an identifier token and snapped it to a declaration via ancestry.
|
|
22
|
+
*/
|
|
23
|
+
export type AnchoredResolutionSource = "semantic" | "structural" | "structural-identifier";
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Resolution metadata for a target resolved from anchored coordinates.
|
|
27
|
+
*
|
|
28
|
+
* Records the requested coordinate, the resolved anchor coordinate, whether
|
|
29
|
+
* the resolved anchor differs from the request (a snap), and the
|
|
30
|
+
* provider-backed evidence source. Structured details always carry this when
|
|
31
|
+
* a target was resolved from coordinates; markdown surfaces a note only when
|
|
32
|
+
* the resolution was non-obvious (snapped or degraded).
|
|
33
|
+
*/
|
|
34
|
+
export interface AnchoredResolutionMetadata {
|
|
35
|
+
/** The 1-based coordinate the caller requested. */
|
|
36
|
+
requested: { line: number; character: number };
|
|
37
|
+
/** The 1-based anchor coordinate the target was resolved to. */
|
|
38
|
+
resolved: { line: number; character: number };
|
|
39
|
+
/** Whether the resolved anchor differs from the requested coordinate. */
|
|
40
|
+
snapped: boolean;
|
|
41
|
+
/** Provider-backed evidence source that identified the target. */
|
|
42
|
+
source: AnchoredResolutionSource;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/** Structured details metadata returned alongside markdown brief content. */
|
|
46
|
+
export interface BriefDetails {
|
|
47
|
+
confidence: ConfidenceMode;
|
|
48
|
+
focusTarget: string | null;
|
|
49
|
+
startHere: Array<{ target: string; reason: string }>;
|
|
50
|
+
publicSurfaces: string[];
|
|
51
|
+
dependencySummary: { moduleCount: number; edgeCount: number } | null;
|
|
52
|
+
omittedCount: number;
|
|
53
|
+
evidenceLists?: EvidenceListMetadata[];
|
|
54
|
+
nextQueries: string[];
|
|
55
|
+
prioritySignals?: PrioritySignalsSummary | null;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/** Structured details metadata for relationship and pattern results. */
|
|
59
|
+
export interface SearchDetails {
|
|
60
|
+
confidence: ConfidenceMode;
|
|
61
|
+
scope: string | null;
|
|
62
|
+
candidateCount: number;
|
|
63
|
+
omittedCount: number;
|
|
64
|
+
evidenceLists?: EvidenceListMetadata[];
|
|
65
|
+
nextQueries: string[];
|
|
66
|
+
tests?: TestSurfaceDetails;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/** Structured details metadata for affected analysis results. */
|
|
70
|
+
export interface AffectedDetails {
|
|
71
|
+
confidence: ConfidenceMode;
|
|
72
|
+
directCount: number;
|
|
73
|
+
downstreamCount: number;
|
|
74
|
+
riskLevel: "low" | "medium" | "high";
|
|
75
|
+
checkNext: string[];
|
|
76
|
+
likelyTests: string[];
|
|
77
|
+
/** Concrete test commands to run relevant verification. */
|
|
78
|
+
likelyTestCommands: string[];
|
|
79
|
+
omittedCount: number;
|
|
80
|
+
evidenceLists?: EvidenceListMetadata[];
|
|
81
|
+
nextQueries: string[];
|
|
82
|
+
prioritySignals?: PrioritySignalsSummary | null;
|
|
83
|
+
tests?: TestSurfaceDetails;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Structured details metadata for workflow-oriented impact analysis results.
|
|
88
|
+
*
|
|
89
|
+
* Currently structurally identical to `AffectedDetails`. When adding own fields,
|
|
90
|
+
* audit callers in `orchestrate.ts` that construct `{ type: "impact", data }`
|
|
91
|
+
* so they return `ImpactDetails`, not just `AffectedDetails`.
|
|
92
|
+
*/
|
|
93
|
+
export interface ImpactDetails extends AffectedDetails {}
|
|
94
|
+
|
|
95
|
+
// Canonical disambiguation candidate — re-exported from resolution/types.ts
|
|
96
|
+
export type { DisambiguationCandidateData as DisambiguationCandidate } from "../../analysis/target/types.ts";
|
|
97
|
+
|
|
98
|
+
/** Structured details metadata for code_resolve results. */
|
|
99
|
+
export interface ResolveDetails {
|
|
100
|
+
confidence: ConfidenceMode;
|
|
101
|
+
targetCount: number;
|
|
102
|
+
omittedCount: number;
|
|
103
|
+
evidenceLists?: EvidenceListMetadata[];
|
|
104
|
+
/** Resolved targets with relative paths (computed from {@link TargetStoreEntry} at detail-build time). */
|
|
105
|
+
targets: Array<{
|
|
106
|
+
targetId: string;
|
|
107
|
+
spanId: string;
|
|
108
|
+
/** Workspace-relative path. */
|
|
109
|
+
file: string;
|
|
110
|
+
displayLine: number;
|
|
111
|
+
displayCharacter: number;
|
|
112
|
+
name: string | null;
|
|
113
|
+
kind: string | null;
|
|
114
|
+
anchorKind: AnchorKind;
|
|
115
|
+
confidence: ConfidenceMode;
|
|
116
|
+
provenance: string;
|
|
117
|
+
/** Resolution provenance — present when the target was resolved from anchored coordinates. */
|
|
118
|
+
resolution?: AnchoredResolutionMetadata;
|
|
119
|
+
}>;
|
|
120
|
+
/** Disambiguation candidates from the resolve service. */
|
|
121
|
+
candidates?: Array<{
|
|
122
|
+
targetId: string;
|
|
123
|
+
name: string;
|
|
124
|
+
kind: string | null;
|
|
125
|
+
container: string | null;
|
|
126
|
+
file: string;
|
|
127
|
+
line: number;
|
|
128
|
+
character: number;
|
|
129
|
+
reason: string;
|
|
130
|
+
rank: number;
|
|
131
|
+
anchorKind: AnchorKind;
|
|
132
|
+
}>;
|
|
133
|
+
nextQueries: string[];
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/** Structured details metadata for code_orientation results. */
|
|
137
|
+
export interface ContextDetails {
|
|
138
|
+
confidence: ConfidenceMode;
|
|
139
|
+
task: string | null;
|
|
140
|
+
focusTarget: string | null;
|
|
141
|
+
requestedSections: string[];
|
|
142
|
+
renderedSections: string[];
|
|
143
|
+
omittedCount: number;
|
|
144
|
+
evidenceLists?: EvidenceListMetadata[];
|
|
145
|
+
nextQueries: string[];
|
|
146
|
+
tests?: TestSurfaceDetails;
|
|
147
|
+
/** Directory-local instruction files surfaced during directory orientation. */
|
|
148
|
+
instructions?: InstructionFilesMetadata;
|
|
149
|
+
/**
|
|
150
|
+
* Resolved target store entry — populated for both coordinate and targetId
|
|
151
|
+
* precise-target inputs. Absent for orientation/scope-only calls and for
|
|
152
|
+
* ambiguous coordinate resolution (see `candidates`).
|
|
153
|
+
* File paths are absolute; compute relative paths at render time.
|
|
154
|
+
*/
|
|
155
|
+
target?: TargetStoreEntry;
|
|
156
|
+
/**
|
|
157
|
+
* Disambiguation candidates with targetIds — populated only when coordinate
|
|
158
|
+
* resolution was ambiguous. No task sections are rendered in that case.
|
|
159
|
+
*/
|
|
160
|
+
candidates?: Array<{
|
|
161
|
+
targetId: string;
|
|
162
|
+
name: string;
|
|
163
|
+
kind: string | null;
|
|
164
|
+
container: string | null;
|
|
165
|
+
file: string;
|
|
166
|
+
line: number;
|
|
167
|
+
character: number;
|
|
168
|
+
rank: number;
|
|
169
|
+
}>;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/** Structured details metadata for code_inspect results. */
|
|
173
|
+
export interface InspectDetails {
|
|
174
|
+
confidence: ConfidenceMode;
|
|
175
|
+
focusTarget: string;
|
|
176
|
+
unavailableSections: string[];
|
|
177
|
+
evidenceLists?: EvidenceListMetadata[];
|
|
178
|
+
nextQueries: string[];
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/** Structured details metadata for code_health results. */
|
|
182
|
+
export interface HealthDetails {
|
|
183
|
+
lspAvailable: boolean;
|
|
184
|
+
lspStatus: string;
|
|
185
|
+
recovered: boolean;
|
|
186
|
+
/** Structural (tree-sitter) substrate readiness. Undefined when not evaluated. */
|
|
187
|
+
structuralStatus?: string;
|
|
188
|
+
diagnosticFileCount: number;
|
|
189
|
+
serverCount: number;
|
|
190
|
+
evidenceLists?: EvidenceListMetadata[];
|
|
191
|
+
}
|
package/src/tool/schemas.ts
CHANGED
|
@@ -3,8 +3,28 @@ import { type TSchema, Type } from "typebox";
|
|
|
3
3
|
import type { CodeIntelligenceToolName } from "../types/index.ts";
|
|
4
4
|
|
|
5
5
|
const ScopeParam = Type.String({
|
|
6
|
-
description: "Workspace-relative
|
|
6
|
+
description: "Workspace-relative file or directory scope.",
|
|
7
7
|
});
|
|
8
|
+
const FindScopeParam = Type.Union(
|
|
9
|
+
[
|
|
10
|
+
Type.String({
|
|
11
|
+
description: "Workspace-relative search scope.",
|
|
12
|
+
}),
|
|
13
|
+
Type.Array(
|
|
14
|
+
Type.String({
|
|
15
|
+
description: "Workspace-relative search scope.",
|
|
16
|
+
}),
|
|
17
|
+
{
|
|
18
|
+
description: "One or more workspace-relative search scopes.",
|
|
19
|
+
minItems: 1,
|
|
20
|
+
uniqueItems: true,
|
|
21
|
+
},
|
|
22
|
+
),
|
|
23
|
+
],
|
|
24
|
+
{
|
|
25
|
+
description: "Workspace-relative search scope or scope list.",
|
|
26
|
+
},
|
|
27
|
+
);
|
|
8
28
|
const FileParam = Type.String({ description: "Target file path." });
|
|
9
29
|
const QueryParam = Type.String({
|
|
10
30
|
description: "Human or code reference to resolve or search for.",
|
|
@@ -15,13 +35,13 @@ const CharacterParam = Type.Number({
|
|
|
15
35
|
minimum: 1,
|
|
16
36
|
});
|
|
17
37
|
const MaxResultsParam = Type.Number({
|
|
18
|
-
description: "Maximum
|
|
38
|
+
description: "Maximum results.",
|
|
19
39
|
minimum: 1,
|
|
20
40
|
});
|
|
21
41
|
const SymbolParam = Type.String({ description: "Symbol name" });
|
|
22
42
|
const TargetIdParam = Type.String({
|
|
23
43
|
description:
|
|
24
|
-
"Resolved target handle from `code_resolve
|
|
44
|
+
"Resolved target handle from `code_resolve`; takes precedence over other target inputs.",
|
|
25
45
|
});
|
|
26
46
|
const RangeParam = Type.Object(
|
|
27
47
|
{
|
|
@@ -93,25 +113,23 @@ export const CodeOrientationParameters = Type.Object(
|
|
|
93
113
|
{
|
|
94
114
|
focus: Type.Optional(
|
|
95
115
|
Type.String({
|
|
96
|
-
description:
|
|
97
|
-
"Workspace-relative path or discovered module name to orient around. Omit for project orientation.",
|
|
116
|
+
description: "Workspace-relative path or module name; omit for workspace orientation.",
|
|
98
117
|
}),
|
|
99
118
|
),
|
|
100
119
|
targetId: Type.Optional(
|
|
101
120
|
Type.String({
|
|
102
|
-
description:
|
|
103
|
-
"Resolved target handle from `code_resolve`. Takes precedence over `focus`/`line`/`character`. If invalid or stale, the call errors and does not fall back to coordinates.",
|
|
121
|
+
description: "Resolved target handle; takes precedence, stale IDs error.",
|
|
104
122
|
}),
|
|
105
123
|
),
|
|
106
124
|
line: Type.Optional(
|
|
107
125
|
Type.Number({
|
|
108
|
-
description: "1-based line for symbol orientation
|
|
126
|
+
description: "1-based line for symbol orientation with `focus`.",
|
|
109
127
|
minimum: 1,
|
|
110
128
|
}),
|
|
111
129
|
),
|
|
112
130
|
character: Type.Optional(
|
|
113
131
|
Type.Number({
|
|
114
|
-
description: "1-based UTF-16 column for symbol orientation
|
|
132
|
+
description: "1-based UTF-16 column for symbol orientation with `focus`.",
|
|
115
133
|
minimum: 1,
|
|
116
134
|
}),
|
|
117
135
|
),
|
|
@@ -129,11 +147,10 @@ export const CodeOrientationParameters = Type.Object(
|
|
|
129
147
|
export const CodeFindParameters = Type.Object(
|
|
130
148
|
{
|
|
131
149
|
query: QueryParam,
|
|
132
|
-
scope: Type.Optional(
|
|
150
|
+
scope: Type.Optional(FindScopeParam),
|
|
133
151
|
mode: Type.Optional(
|
|
134
152
|
StringEnum(["text", "regex", "ast", "semantic"], {
|
|
135
|
-
description:
|
|
136
|
-
'Search mode. Omit for literal text search. mode: "ast" requires `kind`; mode: "text", mode: "regex", and mode: "semantic" do not accept `kind`.',
|
|
153
|
+
description: 'Search mode; omit for literal text. mode:"ast" requires `kind`.',
|
|
137
154
|
}),
|
|
138
155
|
),
|
|
139
156
|
kind: Type.Optional(
|
|
@@ -151,13 +168,12 @@ export const CodeFindParameters = Type.Object(
|
|
|
151
168
|
"test",
|
|
152
169
|
],
|
|
153
170
|
{
|
|
154
|
-
description:
|
|
155
|
-
'Only valid with `mode: "ast"`. Supported AST kinds: `definition`, `import`, `export`, `call`, `type`, `interface`, `class`, `method`, `enum`, `test`. AST `call` matches call-site identifiers by name, not by symbol identity.',
|
|
171
|
+
description: 'AST kind; only valid with mode:"ast".',
|
|
156
172
|
},
|
|
157
173
|
),
|
|
158
174
|
),
|
|
159
175
|
contextLines: Type.Optional(
|
|
160
|
-
Type.Number({ description: "Context lines
|
|
176
|
+
Type.Number({ description: "Context lines around matches.", minimum: 0 }),
|
|
161
177
|
),
|
|
162
178
|
maxResults: Type.Optional(MaxResultsParam),
|
|
163
179
|
},
|
|
@@ -184,11 +200,10 @@ export const CodeGraphParameters = Type.Object(
|
|
|
184
200
|
relations: Type.Optional(
|
|
185
201
|
Type.Array(
|
|
186
202
|
StringEnum(["all", "references", "callees", "imports", "exports", "implements", "tests"], {
|
|
187
|
-
description:
|
|
188
|
-
'Relation families to include in the graph. Use `"all"` to expand to every relation family. `callees` is direct structural outgoing-call evidence: source-shape calls in the enclosing scope, not symbol-identity resolution.',
|
|
203
|
+
description: "Relation family.",
|
|
189
204
|
}),
|
|
190
205
|
{
|
|
191
|
-
description: 'Requested relation families
|
|
206
|
+
description: 'Requested relation families; defaults to ["references"].',
|
|
192
207
|
uniqueItems: true,
|
|
193
208
|
},
|
|
194
209
|
),
|
|
@@ -196,8 +211,7 @@ export const CodeGraphParameters = Type.Object(
|
|
|
196
211
|
maxResults: Type.Optional(MaxResultsParam),
|
|
197
212
|
calleeDepth: Type.Optional(
|
|
198
213
|
StringEnum(["direct", "deep"], {
|
|
199
|
-
description:
|
|
200
|
-
'Depth for callee collection. `"direct"` (default): only direct calls from the enclosing scope, excluding nested function/callback scopes. `"deep"`: include all callees within the enclosing scope, including those inside nested scopes.',
|
|
214
|
+
description: '`"direct"` excludes nested scopes; `"deep"` includes them.',
|
|
201
215
|
}),
|
|
202
216
|
),
|
|
203
217
|
},
|
|
@@ -220,8 +234,7 @@ export const CodeImpactParameters = Type.Object(
|
|
|
220
234
|
),
|
|
221
235
|
changeSetFiles: Type.Optional(
|
|
222
236
|
Type.Array(Type.String({ description: "Workspace-relative file in the change set." }), {
|
|
223
|
-
description:
|
|
224
|
-
"User-supplied files to analyze as the change set. This is not inferred from git and carries no line-level diff evidence.",
|
|
237
|
+
description: "Explicit change-set files; not inferred from git and no line-level diff.",
|
|
225
238
|
minItems: 1,
|
|
226
239
|
uniqueItems: true,
|
|
227
240
|
}),
|
|
@@ -229,7 +242,7 @@ export const CodeImpactParameters = Type.Object(
|
|
|
229
242
|
includeTests: Type.Optional(
|
|
230
243
|
Type.Boolean({
|
|
231
244
|
description:
|
|
232
|
-
"
|
|
245
|
+
"Include likely tests using semantic references and deterministic conventions.",
|
|
233
246
|
}),
|
|
234
247
|
),
|
|
235
248
|
maxResults: Type.Optional(MaxResultsParam),
|
|
@@ -251,8 +264,7 @@ export const CodeImpactParameters = Type.Object(
|
|
|
251
264
|
export const CodeRefactorParameters = Type.Object(
|
|
252
265
|
{
|
|
253
266
|
operation: StringEnum(["rename", "rename_symbol", "extract_function", "extract_variable"], {
|
|
254
|
-
description:
|
|
255
|
-
"Precise refactor operation to plan. `rename` is accepted as a compatibility alias for `rename_symbol`.",
|
|
267
|
+
description: "Refactor operation; `rename` is an alias for `rename_symbol`.",
|
|
256
268
|
}),
|
|
257
269
|
targetId: Type.Optional(
|
|
258
270
|
Type.String({ description: "Resolved target handle from `code_resolve`." }),
|
|
@@ -308,13 +320,12 @@ export const CodeHealthParameters = Type.Object(
|
|
|
308
320
|
),
|
|
309
321
|
coveragePath: Type.Optional(
|
|
310
322
|
Type.String({
|
|
311
|
-
description:
|
|
312
|
-
"Workspace-relative path to a coverage summary JSON file. Defaults to `coverage/coverage-summary.json`.",
|
|
323
|
+
description: "Coverage summary path; defaults to `coverage/coverage-summary.json`.",
|
|
313
324
|
}),
|
|
314
325
|
),
|
|
315
326
|
unusedPath: Type.Optional(
|
|
316
327
|
Type.String({
|
|
317
|
-
description: "
|
|
328
|
+
description: "Knip report path; defaults to `knip.json`.",
|
|
318
329
|
}),
|
|
319
330
|
),
|
|
320
331
|
},
|
package/src/types/details.ts
CHANGED
|
@@ -1,188 +1,20 @@
|
|
|
1
|
-
import type { ConfidenceMode } from "@mrclrchtr/supi-code-runtime/api";
|
|
2
|
-
import type { EvidenceListMetadata } from "../analysis/evidence.ts";
|
|
3
|
-
import type { PrioritySignalsSummary } from "../analysis/signals/project.ts";
|
|
4
|
-
import type { TestSurfaceDetails } from "../analysis/tests/test-discovery.ts";
|
|
5
|
-
import type { AnchorKind, TargetStoreEntry } from "../session/target-store.ts";
|
|
6
|
-
|
|
7
|
-
export type { TestSurfaceDetails } from "../analysis/tests/test-discovery.ts";
|
|
8
|
-
|
|
9
|
-
// ── Anchored coordinate resolution metadata ───────────────────────────
|
|
10
|
-
|
|
11
1
|
/**
|
|
12
|
-
*
|
|
13
|
-
* target. Drives the markdown provenance note and structured resolution
|
|
14
|
-
* metadata per ADR 0003/0004.
|
|
2
|
+
* Compatibility export for tool-result detail shapes.
|
|
15
3
|
*
|
|
16
|
-
* -
|
|
17
|
-
*
|
|
18
|
-
* identified the declaration and/or identifier.
|
|
19
|
-
* - `structural-identifier` — tree-sitter `nodeAt` classified the coordinate
|
|
20
|
-
* as an identifier token and snapped it to a declaration via ancestry.
|
|
4
|
+
* Public code-intelligence details are assembled in `src/tool/result/`.
|
|
5
|
+
* Import new result assembly code from `../tool/result/types.ts` directly.
|
|
21
6
|
*/
|
|
22
|
-
export type
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
/** The 1-based anchor coordinate the target was resolved to. */
|
|
37
|
-
resolved: { line: number; character: number };
|
|
38
|
-
/** Whether the resolved anchor differs from the requested coordinate. */
|
|
39
|
-
snapped: boolean;
|
|
40
|
-
/** Provider-backed evidence source that identified the target. */
|
|
41
|
-
source: AnchoredResolutionSource;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/** Structured details metadata returned alongside markdown brief content. */
|
|
45
|
-
export interface BriefDetails {
|
|
46
|
-
confidence: ConfidenceMode;
|
|
47
|
-
focusTarget: string | null;
|
|
48
|
-
startHere: Array<{ target: string; reason: string }>;
|
|
49
|
-
publicSurfaces: string[];
|
|
50
|
-
dependencySummary: { moduleCount: number; edgeCount: number } | null;
|
|
51
|
-
omittedCount: number;
|
|
52
|
-
evidenceLists?: EvidenceListMetadata[];
|
|
53
|
-
nextQueries: string[];
|
|
54
|
-
prioritySignals?: PrioritySignalsSummary | null;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/** Structured details metadata for relationship and pattern results. */
|
|
58
|
-
export interface SearchDetails {
|
|
59
|
-
confidence: ConfidenceMode;
|
|
60
|
-
scope: string | null;
|
|
61
|
-
candidateCount: number;
|
|
62
|
-
omittedCount: number;
|
|
63
|
-
evidenceLists?: EvidenceListMetadata[];
|
|
64
|
-
nextQueries: string[];
|
|
65
|
-
tests?: TestSurfaceDetails;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/** Structured details metadata for affected analysis results. */
|
|
69
|
-
export interface AffectedDetails {
|
|
70
|
-
confidence: ConfidenceMode;
|
|
71
|
-
directCount: number;
|
|
72
|
-
downstreamCount: number;
|
|
73
|
-
riskLevel: "low" | "medium" | "high";
|
|
74
|
-
checkNext: string[];
|
|
75
|
-
likelyTests: string[];
|
|
76
|
-
/** Concrete test commands to run relevant verification. */
|
|
77
|
-
likelyTestCommands: string[];
|
|
78
|
-
omittedCount: number;
|
|
79
|
-
evidenceLists?: EvidenceListMetadata[];
|
|
80
|
-
nextQueries: string[];
|
|
81
|
-
prioritySignals?: PrioritySignalsSummary | null;
|
|
82
|
-
tests?: TestSurfaceDetails;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Structured details metadata for workflow-oriented impact analysis results.
|
|
87
|
-
*
|
|
88
|
-
* Currently structurally identical to `AffectedDetails`. When adding own fields,
|
|
89
|
-
* audit callers in `orchestrate.ts` that construct `{ type: "impact", data }`
|
|
90
|
-
* so they return `ImpactDetails`, not just `AffectedDetails`.
|
|
91
|
-
*/
|
|
92
|
-
export interface ImpactDetails extends AffectedDetails {}
|
|
93
|
-
|
|
94
|
-
// Canonical disambiguation candidate — re-exported from resolution/types.ts
|
|
95
|
-
export type { DisambiguationCandidateData as DisambiguationCandidate } from "../analysis/target/types.ts";
|
|
96
|
-
|
|
97
|
-
/** Structured details metadata for code_resolve results. */
|
|
98
|
-
export interface ResolveDetails {
|
|
99
|
-
confidence: ConfidenceMode;
|
|
100
|
-
targetCount: number;
|
|
101
|
-
omittedCount: number;
|
|
102
|
-
evidenceLists?: EvidenceListMetadata[];
|
|
103
|
-
/** Resolved targets with relative paths (computed from {@link TargetStoreEntry} at detail-build time). */
|
|
104
|
-
targets: Array<{
|
|
105
|
-
targetId: string;
|
|
106
|
-
spanId: string;
|
|
107
|
-
/** Workspace-relative path. */
|
|
108
|
-
file: string;
|
|
109
|
-
displayLine: number;
|
|
110
|
-
displayCharacter: number;
|
|
111
|
-
name: string | null;
|
|
112
|
-
kind: string | null;
|
|
113
|
-
anchorKind: AnchorKind;
|
|
114
|
-
confidence: ConfidenceMode;
|
|
115
|
-
provenance: string;
|
|
116
|
-
/** Resolution provenance — present when the target was resolved from anchored coordinates. */
|
|
117
|
-
resolution?: AnchoredResolutionMetadata;
|
|
118
|
-
}>;
|
|
119
|
-
/** Disambiguation candidates from the resolve service. */
|
|
120
|
-
candidates?: Array<{
|
|
121
|
-
targetId: string;
|
|
122
|
-
name: string;
|
|
123
|
-
kind: string | null;
|
|
124
|
-
container: string | null;
|
|
125
|
-
file: string;
|
|
126
|
-
line: number;
|
|
127
|
-
character: number;
|
|
128
|
-
reason: string;
|
|
129
|
-
rank: number;
|
|
130
|
-
anchorKind: AnchorKind;
|
|
131
|
-
}>;
|
|
132
|
-
nextQueries: string[];
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
/** Structured details metadata for code_orientation results. */
|
|
136
|
-
export interface ContextDetails {
|
|
137
|
-
confidence: ConfidenceMode;
|
|
138
|
-
task: string | null;
|
|
139
|
-
focusTarget: string | null;
|
|
140
|
-
requestedSections: string[];
|
|
141
|
-
renderedSections: string[];
|
|
142
|
-
omittedCount: number;
|
|
143
|
-
evidenceLists?: EvidenceListMetadata[];
|
|
144
|
-
nextQueries: string[];
|
|
145
|
-
tests?: TestSurfaceDetails;
|
|
146
|
-
/**
|
|
147
|
-
* Resolved target store entry — populated for both coordinate and targetId
|
|
148
|
-
* precise-target inputs. Absent for orientation/scope-only calls and for
|
|
149
|
-
* ambiguous coordinate resolution (see `candidates`).
|
|
150
|
-
* File paths are absolute; compute relative paths at render time.
|
|
151
|
-
*/
|
|
152
|
-
target?: TargetStoreEntry;
|
|
153
|
-
/**
|
|
154
|
-
* Disambiguation candidates with targetIds — populated only when coordinate
|
|
155
|
-
* resolution was ambiguous. No task sections are rendered in that case.
|
|
156
|
-
*/
|
|
157
|
-
candidates?: Array<{
|
|
158
|
-
targetId: string;
|
|
159
|
-
name: string;
|
|
160
|
-
kind: string | null;
|
|
161
|
-
container: string | null;
|
|
162
|
-
file: string;
|
|
163
|
-
line: number;
|
|
164
|
-
character: number;
|
|
165
|
-
rank: number;
|
|
166
|
-
}>;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
/** Structured details metadata for code_inspect results. */
|
|
170
|
-
export interface InspectDetails {
|
|
171
|
-
confidence: ConfidenceMode;
|
|
172
|
-
focusTarget: string;
|
|
173
|
-
unavailableSections: string[];
|
|
174
|
-
evidenceLists?: EvidenceListMetadata[];
|
|
175
|
-
nextQueries: string[];
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
/** Structured details metadata for code_health results. */
|
|
179
|
-
export interface HealthDetails {
|
|
180
|
-
lspAvailable: boolean;
|
|
181
|
-
lspStatus: string;
|
|
182
|
-
recovered: boolean;
|
|
183
|
-
/** Structural (tree-sitter) substrate readiness. Undefined when not evaluated. */
|
|
184
|
-
structuralStatus?: string;
|
|
185
|
-
diagnosticFileCount: number;
|
|
186
|
-
serverCount: number;
|
|
187
|
-
evidenceLists?: EvidenceListMetadata[];
|
|
188
|
-
}
|
|
7
|
+
export type {
|
|
8
|
+
AffectedDetails,
|
|
9
|
+
AnchoredResolutionMetadata,
|
|
10
|
+
AnchoredResolutionSource,
|
|
11
|
+
BriefDetails,
|
|
12
|
+
ContextDetails,
|
|
13
|
+
DisambiguationCandidate,
|
|
14
|
+
HealthDetails,
|
|
15
|
+
ImpactDetails,
|
|
16
|
+
InspectDetails,
|
|
17
|
+
ResolveDetails,
|
|
18
|
+
SearchDetails,
|
|
19
|
+
TestSurfaceDetails,
|
|
20
|
+
} from "../tool/result/types.ts";
|