@cortexkit/aft-opencode 0.2.0 → 0.4.1
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/dist/bridge.d.ts +8 -0
- package/dist/bridge.d.ts.map +1 -1
- package/dist/bridge.js +45 -2
- package/dist/bridge.js.map +1 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +17 -0
- package/dist/config.js.map +1 -1
- package/dist/downloader.d.ts.map +1 -1
- package/dist/downloader.js +51 -15
- package/dist/downloader.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +73 -15
- package/dist/index.js.map +1 -1
- package/dist/metadata-store.d.ts +29 -0
- package/dist/metadata-store.d.ts.map +1 -0
- package/dist/metadata-store.js +53 -0
- package/dist/metadata-store.js.map +1 -0
- package/dist/normalize-schemas.d.ts +16 -0
- package/dist/normalize-schemas.d.ts.map +1 -0
- package/dist/normalize-schemas.js +45 -0
- package/dist/normalize-schemas.js.map +1 -0
- package/dist/patch-parser.d.ts +33 -0
- package/dist/patch-parser.d.ts.map +1 -0
- package/dist/patch-parser.js +247 -0
- package/dist/patch-parser.js.map +1 -0
- package/dist/platform.d.ts +21 -0
- package/dist/platform.d.ts.map +1 -0
- package/dist/platform.js +31 -0
- package/dist/platform.js.map +1 -0
- package/dist/pool.d.ts.map +1 -1
- package/dist/pool.js +14 -5
- package/dist/pool.js.map +1 -1
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +6 -9
- package/dist/resolver.js.map +1 -1
- package/dist/tools/ast.d.ts.map +1 -1
- package/dist/tools/ast.js +179 -89
- package/dist/tools/ast.js.map +1 -1
- package/dist/tools/hoisted.d.ts +26 -0
- package/dist/tools/hoisted.d.ts.map +1 -0
- package/dist/tools/hoisted.js +852 -0
- package/dist/tools/hoisted.js.map +1 -0
- package/dist/tools/imports.d.ts.map +1 -1
- package/dist/tools/imports.js +41 -21
- package/dist/tools/imports.js.map +1 -1
- package/dist/tools/lsp.d.ts +1 -2
- package/dist/tools/lsp.d.ts.map +1 -1
- package/dist/tools/lsp.js +45 -110
- package/dist/tools/lsp.js.map +1 -1
- package/dist/tools/navigation.d.ts.map +1 -1
- package/dist/tools/navigation.js +25 -10
- package/dist/tools/navigation.js.map +1 -1
- package/dist/tools/permissions.d.ts +8 -0
- package/dist/tools/permissions.d.ts.map +1 -0
- package/dist/tools/permissions.js +50 -0
- package/dist/tools/permissions.js.map +1 -0
- package/dist/tools/reading.d.ts +1 -1
- package/dist/tools/reading.d.ts.map +1 -1
- package/dist/tools/reading.js +170 -54
- package/dist/tools/reading.js.map +1 -1
- package/dist/tools/refactoring.d.ts.map +1 -1
- package/dist/tools/refactoring.js +73 -24
- package/dist/tools/refactoring.js.map +1 -1
- package/dist/tools/safety.d.ts.map +1 -1
- package/dist/tools/safety.js +38 -11
- package/dist/tools/safety.js.map +1 -1
- package/dist/tools/structure.d.ts.map +1 -1
- package/dist/tools/structure.js +70 -20
- package/dist/tools/structure.js.map +1 -1
- package/package.json +7 -7
- package/dist/tools/editing.d.ts +0 -7
- package/dist/tools/editing.d.ts.map +0 -1
- package/dist/tools/editing.js +0 -150
- package/dist/tools/editing.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hoisted.js","sourceRoot":"","sources":["../../src/tools/hoisted.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../../src/tools/imports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../../src/tools/imports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAUjD;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAiF9E"}
|
package/dist/tools/imports.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { tool } from "@opencode-ai/plugin";
|
|
2
|
+
import { askEditPermission, permissionDeniedResponse, resolveAbsolutePath, resolveRelativePattern, } from "./permissions.js";
|
|
2
3
|
const z = tool.schema;
|
|
3
4
|
/**
|
|
4
5
|
* Tool definitions for import management commands: add_import, remove_import, organize_imports.
|
|
@@ -6,15 +7,21 @@ const z = tool.schema;
|
|
|
6
7
|
export function importTools(ctx) {
|
|
7
8
|
return {
|
|
8
9
|
aft_import: {
|
|
9
|
-
description: "Language-aware import management. Supports TS, JS, TSX, Python, Rust, and Go.\n" +
|
|
10
|
+
description: "Language-aware import management. Supports TS, JS, TSX, Python, Rust, and Go.\n\n" +
|
|
10
11
|
"Ops:\n" +
|
|
11
|
-
"- 'add': Add an import. Auto-detects group (stdlib/external/internal), deduplicates.
|
|
12
|
-
"- 'remove': Remove an import or a specific
|
|
13
|
-
"- 'organize': Re-sort and re-group all imports by language convention, deduplicate.\n" +
|
|
14
|
-
"
|
|
12
|
+
"- 'add': Add an import. Auto-detects group (stdlib/external/internal), deduplicates. Requires 'module'. Optional 'names', 'defaultImport', 'typeOnly'.\n" +
|
|
13
|
+
"- 'remove': Remove an import or a specific named import. Requires 'module'. Provide 'removeName' to remove a single named import; omit to remove the entire import.\n" +
|
|
14
|
+
"- 'organize': Re-sort and re-group all imports by language convention, deduplicate. Requires only 'filePath'.\n\n" +
|
|
15
|
+
"Returns:\n" +
|
|
16
|
+
"- Dry run (any op): { ok, dry_run, diff, syntax_valid? }\n" +
|
|
17
|
+
"- add: { file, added, module, group?, already_present?, formatted?, syntax_valid?, format_skipped_reason?, validation_errors?, validate_skipped_reason?, backup_id?, lsp_diagnostics? }\n" +
|
|
18
|
+
"- remove: { file, removed, module, name?, formatted, syntax_valid?, format_skipped_reason?, validation_errors?, validate_skipped_reason?, backup_id?, lsp_diagnostics? }\n" +
|
|
19
|
+
"- organize: { file, groups: [{ name, count }], removed_duplicates, formatted?, syntax_valid?, format_skipped_reason?, validation_errors?, validate_skipped_reason?, backup_id?, lsp_diagnostics? }",
|
|
20
|
+
// Parameters are Zod-optional because different ops need different subsets.
|
|
21
|
+
// Runtime guards below validate per-op requirements and give clear errors.
|
|
15
22
|
args: {
|
|
16
23
|
op: z.enum(["add", "remove", "organize"]).describe("Import operation"),
|
|
17
|
-
|
|
24
|
+
filePath: z.string().describe("Path to the file (absolute or relative to project root)"),
|
|
18
25
|
module: z
|
|
19
26
|
.string()
|
|
20
27
|
.optional()
|
|
@@ -23,41 +30,54 @@ export function importTools(ctx) {
|
|
|
23
30
|
.array(z.string())
|
|
24
31
|
.optional()
|
|
25
32
|
.describe("Named imports to add (e.g. ['useState', 'useEffect'])"),
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
33
|
+
defaultImport: z.string().optional().describe("Default import name (e.g. 'React')"),
|
|
34
|
+
typeOnly: z.boolean().optional().describe("Type-only import (TS only, default: false)"),
|
|
35
|
+
removeName: z
|
|
29
36
|
.string()
|
|
30
37
|
.optional()
|
|
31
|
-
.describe("
|
|
38
|
+
.describe("Named import to remove for 'remove' op; omit to remove entire import"),
|
|
32
39
|
validate: z
|
|
33
40
|
.enum(["syntax", "full"])
|
|
34
41
|
.optional()
|
|
35
|
-
.describe("Validation level: 'syntax' (default) or 'full'"),
|
|
36
|
-
|
|
42
|
+
.describe("Validation level: 'syntax' (default) or 'full'. Syntax = tree-sitter parse check only. Full = also runs LSP type-checking (slower, catches more errors)"),
|
|
43
|
+
dryRun: z
|
|
44
|
+
.boolean()
|
|
45
|
+
.optional()
|
|
46
|
+
.describe("Preview without modifying the file (default: false)"),
|
|
37
47
|
},
|
|
38
48
|
execute: async (args, context) => {
|
|
39
49
|
const bridge = ctx.pool.getBridge(context.directory);
|
|
40
50
|
const op = args.op;
|
|
51
|
+
const isDryRun = args.dryRun === true;
|
|
52
|
+
if ((op === "add" || op === "remove") && typeof args.module !== "string") {
|
|
53
|
+
throw new Error(`'module' is required for '${op}' op`);
|
|
54
|
+
}
|
|
55
|
+
if (!isDryRun) {
|
|
56
|
+
const filePath = resolveAbsolutePath(context, args.filePath);
|
|
57
|
+
const permissionError = await askEditPermission(context, [resolveRelativePattern(context, args.filePath)], { filepath: filePath });
|
|
58
|
+
if (permissionError)
|
|
59
|
+
return permissionDeniedResponse(permissionError);
|
|
60
|
+
}
|
|
41
61
|
const commandMap = {
|
|
42
62
|
add: "add_import",
|
|
43
63
|
remove: "remove_import",
|
|
44
64
|
organize: "organize_imports",
|
|
45
65
|
};
|
|
46
|
-
const params = { file: args.
|
|
66
|
+
const params = { file: args.filePath };
|
|
47
67
|
if (args.module !== undefined)
|
|
48
68
|
params.module = args.module;
|
|
49
69
|
if (args.names !== undefined)
|
|
50
70
|
params.names = args.names;
|
|
51
|
-
if (args.
|
|
52
|
-
params.default_import = args.
|
|
53
|
-
if (args.
|
|
54
|
-
params.type_only = args.
|
|
55
|
-
if (args.
|
|
56
|
-
params.name = args.
|
|
71
|
+
if (args.defaultImport !== undefined)
|
|
72
|
+
params.default_import = args.defaultImport;
|
|
73
|
+
if (args.typeOnly !== undefined)
|
|
74
|
+
params.type_only = args.typeOnly;
|
|
75
|
+
if (args.removeName !== undefined)
|
|
76
|
+
params.name = args.removeName;
|
|
57
77
|
if (args.validate !== undefined)
|
|
58
78
|
params.validate = args.validate;
|
|
59
|
-
if (args.
|
|
60
|
-
params.dry_run = args.
|
|
79
|
+
if (args.dryRun !== undefined)
|
|
80
|
+
params.dry_run = args.dryRun;
|
|
61
81
|
const response = await bridge.send(commandMap[op], params);
|
|
62
82
|
return JSON.stringify(response);
|
|
63
83
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imports.js","sourceRoot":"","sources":["../../src/tools/imports.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"imports.js","sourceRoot":"","sources":["../../src/tools/imports.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/lsp.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { ToolDefinition } from "@opencode-ai/plugin";
|
|
2
2
|
import type { PluginContext } from "../types.js";
|
|
3
3
|
/**
|
|
4
|
-
* Tool definitions for LSP commands: diagnostics
|
|
5
|
-
* find_references, prepare_rename, rename.
|
|
4
|
+
* Tool definitions for LSP commands: diagnostics.
|
|
6
5
|
*/
|
|
7
6
|
export declare function lspTools(ctx: PluginContext): Record<string, ToolDefinition>;
|
|
8
7
|
//# sourceMappingURL=lsp.d.ts.map
|
package/dist/tools/lsp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lsp.d.ts","sourceRoot":"","sources":["../../src/tools/lsp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD
|
|
1
|
+
{"version":3,"file":"lsp.d.ts","sourceRoot":"","sources":["../../src/tools/lsp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAwD3E"}
|
package/dist/tools/lsp.js
CHANGED
|
@@ -1,120 +1,55 @@
|
|
|
1
1
|
import { tool } from "@opencode-ai/plugin";
|
|
2
2
|
const z = tool.schema;
|
|
3
3
|
/**
|
|
4
|
-
* Tool definitions for LSP commands: diagnostics
|
|
5
|
-
* find_references, prepare_rename, rename.
|
|
4
|
+
* Tool definitions for LSP commands: diagnostics.
|
|
6
5
|
*/
|
|
7
6
|
export function lspTools(ctx) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
},
|
|
31
|
-
execute: async (args, context) => {
|
|
32
|
-
const bridge = ctx.pool.getBridge(context.directory);
|
|
33
|
-
const result = await bridge.send("lsp_diagnostics", args);
|
|
34
|
-
return JSON.stringify(result);
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
|
-
aft_lsp_hover: {
|
|
38
|
-
description: "Get type information and documentation for a symbol at a position. " +
|
|
39
|
-
"Returns hover content (type signatures, JSDoc, docstrings) from the language server. " +
|
|
40
|
-
"Line and character are 1-based.",
|
|
41
|
-
args: {
|
|
42
|
-
file: z.string().describe("Absolute path to the file"),
|
|
43
|
-
line: z.number().describe("1-based line number"),
|
|
44
|
-
character: z.number().describe("1-based column number"),
|
|
45
|
-
},
|
|
46
|
-
execute: async (args, context) => {
|
|
47
|
-
const bridge = ctx.pool.getBridge(context.directory);
|
|
48
|
-
const result = await bridge.send("lsp_hover", args);
|
|
49
|
-
return JSON.stringify(result);
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
|
-
aft_lsp_goto_definition: {
|
|
53
|
-
description: "Jump to symbol definition. Find WHERE something is defined. " +
|
|
54
|
-
"Returns definition location(s) with file path and 1-based line/column. " +
|
|
55
|
-
"Works across files — follows imports, type references, function calls.",
|
|
56
|
-
args: {
|
|
57
|
-
file: z.string().describe("Absolute path to the file"),
|
|
58
|
-
line: z.number().describe("1-based line number"),
|
|
59
|
-
character: z.number().describe("1-based column number"),
|
|
60
|
-
},
|
|
61
|
-
execute: async (args, context) => {
|
|
62
|
-
const bridge = ctx.pool.getBridge(context.directory);
|
|
63
|
-
const result = await bridge.send("lsp_goto_definition", args);
|
|
64
|
-
return JSON.stringify(result);
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
aft_lsp_find_references: {
|
|
68
|
-
description: "Find ALL usages/references of a symbol across the entire workspace. " +
|
|
69
|
-
"Returns all locations where the symbol is used, with 1-based line/column. " +
|
|
70
|
-
"Use before renaming or changing a function's signature to understand impact.",
|
|
71
|
-
args: {
|
|
72
|
-
file: z.string().describe("Absolute path to the file"),
|
|
73
|
-
line: z.number().describe("1-based line number"),
|
|
74
|
-
character: z.number().describe("1-based column number"),
|
|
75
|
-
include_declaration: z
|
|
76
|
-
.boolean()
|
|
77
|
-
.optional()
|
|
78
|
-
.describe("Include the declaration itself (default: true)"),
|
|
79
|
-
},
|
|
80
|
-
execute: async (args, context) => {
|
|
81
|
-
const bridge = ctx.pool.getBridge(context.directory);
|
|
82
|
-
const result = await bridge.send("lsp_find_references", args);
|
|
83
|
-
return JSON.stringify(result);
|
|
84
|
-
},
|
|
7
|
+
const diagnosticsTool = {
|
|
8
|
+
description: "Get errors, warnings, hints from language server. " +
|
|
9
|
+
"Returns diagnostics from LSP servers (typescript-language-server, pyright, rust-analyzer, gopls). " +
|
|
10
|
+
"Lazily spawns the appropriate server on first use.\n\n" +
|
|
11
|
+
"Returns: { diagnostics: Array<{ file, line, column, end_line, end_column, severity, message, code }>, total: number, files_with_errors: number }.",
|
|
12
|
+
args: {
|
|
13
|
+
filePath: z
|
|
14
|
+
.string()
|
|
15
|
+
.optional()
|
|
16
|
+
.describe("Path to file to get diagnostics for. Provide 'filePath' for a single file, 'directory' for all files under a path, or omit both for all tracked files"),
|
|
17
|
+
directory: z
|
|
18
|
+
.string()
|
|
19
|
+
.optional()
|
|
20
|
+
.describe("Path to directory to get diagnostics for all files under it. Mutually exclusive with 'filePath'"),
|
|
21
|
+
severity: z
|
|
22
|
+
.enum(["error", "warning", "information", "hint", "all"])
|
|
23
|
+
.optional()
|
|
24
|
+
.describe("Filter by severity — 'error', 'warning', 'information', 'hint', 'all' (default: 'all')"),
|
|
25
|
+
waitMs: z
|
|
26
|
+
.number()
|
|
27
|
+
.optional()
|
|
28
|
+
.describe("Wait N ms for fresh diagnostics before returning (max 10000, default: 0). Use after edits to let the server re-analyze."),
|
|
85
29
|
},
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
"and
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
description: "Rename symbol across entire workspace via LSP. " +
|
|
103
|
-
"APPLIES changes to all files atomically with backup and rollback on failure. " +
|
|
104
|
-
"Always call aft_lsp_prepare_rename first to verify the rename is valid. " +
|
|
105
|
-
"Line and character are 1-based.",
|
|
106
|
-
args: {
|
|
107
|
-
file: z.string().describe("Absolute path to the file"),
|
|
108
|
-
line: z.number().describe("1-based line number"),
|
|
109
|
-
character: z.number().describe("1-based column number"),
|
|
110
|
-
new_name: z.string().describe("New name for the symbol"),
|
|
111
|
-
},
|
|
112
|
-
execute: async (args, context) => {
|
|
113
|
-
const bridge = ctx.pool.getBridge(context.directory);
|
|
114
|
-
const result = await bridge.send("lsp_rename", args);
|
|
115
|
-
return JSON.stringify(result);
|
|
116
|
-
},
|
|
30
|
+
execute: async (args, context) => {
|
|
31
|
+
const bridge = ctx.pool.getBridge(context.directory);
|
|
32
|
+
if (args.filePath !== undefined && args.directory !== undefined) {
|
|
33
|
+
throw new Error("'filePath' and 'directory' are mutually exclusive — provide one or neither");
|
|
34
|
+
}
|
|
35
|
+
const params = {};
|
|
36
|
+
if (args.filePath !== undefined)
|
|
37
|
+
params.file = args.filePath;
|
|
38
|
+
if (args.directory !== undefined)
|
|
39
|
+
params.directory = args.directory;
|
|
40
|
+
if (args.severity !== undefined)
|
|
41
|
+
params.severity = args.severity;
|
|
42
|
+
if (args.waitMs !== undefined)
|
|
43
|
+
params.wait_ms = args.waitMs;
|
|
44
|
+
const result = await bridge.send("lsp_diagnostics", params);
|
|
45
|
+
return JSON.stringify(result);
|
|
117
46
|
},
|
|
118
47
|
};
|
|
48
|
+
// When hoisting: register as lsp_diagnostics (override oh-my-opencode's)
|
|
49
|
+
// When not hoisting: register as aft_lsp_diagnostics
|
|
50
|
+
const hoisting = ctx.config.hoist_builtin_tools !== false;
|
|
51
|
+
return {
|
|
52
|
+
[hoisting ? "lsp_diagnostics" : "aft_lsp_diagnostics"]: diagnosticsTool,
|
|
53
|
+
};
|
|
119
54
|
}
|
|
120
55
|
//# sourceMappingURL=lsp.js.map
|
package/dist/tools/lsp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lsp.js","sourceRoot":"","sources":["../../src/tools/lsp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG3C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AACtB
|
|
1
|
+
{"version":3,"file":"lsp.js","sourceRoot":"","sources":["../../src/tools/lsp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG3C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AACtB;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAkB;IACzC,MAAM,eAAe,GAAmB;QACtC,WAAW,EACT,oDAAoD;YACpD,oGAAoG;YACpG,wDAAwD;YACxD,mJAAmJ;QACrJ,IAAI,EAAE;YACJ,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,uJAAuJ,CACxJ;YACH,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,iGAAiG,CAClG;YACH,QAAQ,EAAE,CAAC;iBACR,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;iBACxD,QAAQ,EAAE;iBACV,QAAQ,CACP,wFAAwF,CACzF;YACH,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,yHAAyH,CAC1H;SACJ;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAmB,EAAE;YAChD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACrD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAChE,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAA4B,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7D,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;gBAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACpE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACjE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;gBAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;YAC5D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;KACF,CAAC;IAEF,yEAAyE;IACzE,qDAAqD;IACrD,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,mBAAmB,KAAK,KAAK,CAAC;IAC1D,OAAO;QACL,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,qBAAqB,CAAC,EAAE,eAAe;KACxE,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/tools/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/tools/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAyDlF"}
|
package/dist/tools/navigation.js
CHANGED
|
@@ -6,38 +6,53 @@ const z = tool.schema;
|
|
|
6
6
|
export function navigationTools(ctx) {
|
|
7
7
|
return {
|
|
8
8
|
aft_navigate: {
|
|
9
|
-
description: "Navigate code structure across files using call graph analysis.\n" +
|
|
10
|
-
"
|
|
11
|
-
"- 'call_tree': See what a function calls (forward). Use to understand dependencies before modifying a function.\n" +
|
|
9
|
+
description: "Navigate code structure across files using call graph analysis.\n\n" +
|
|
10
|
+
"Ops:\n" +
|
|
11
|
+
"- 'call_tree': See what a function calls (forward traversal). Use to understand dependencies before modifying a function.\n" +
|
|
12
12
|
"- 'callers': Find all call sites of a symbol. Use before renaming or changing a function's signature.\n" +
|
|
13
13
|
"- 'trace_to': Trace how execution reaches a function from entry points (routes, exports, main). Use to understand context around deeply-nested code.\n" +
|
|
14
14
|
"- 'impact': Analyze what breaks if a symbol changes. Returns affected callers with signatures and entry point status.\n" +
|
|
15
|
-
"- 'trace_data': Follow a value through variable assignments and function parameters across files.
|
|
15
|
+
"- 'trace_data': Follow a value through variable assignments and function parameters across files. Requires 'symbol' (scope to trace from) and 'expression'.\n\n" +
|
|
16
|
+
"All ops require both 'filePath' and 'symbol'. The 'expression' parameter is additionally required for trace_data.\n\n" +
|
|
17
|
+
"Returns:\n" +
|
|
18
|
+
"- call_tree: { name, file, line, signature, resolved, children }\n" +
|
|
19
|
+
"- callers: { symbol, file, callers, total_callers, scanned_files }\n" +
|
|
20
|
+
"- trace_to: { target_symbol, target_file, paths, total_paths, entry_points_found, max_depth_reached, truncated_paths }\n" +
|
|
21
|
+
"- impact: { symbol, file, signature, parameters, total_affected, affected_files, callers }\n" +
|
|
22
|
+
"- trace_data: { expression, origin_file, origin_symbol, hops, depth_limited }",
|
|
23
|
+
// Parameters are Zod-optional because different ops need different subsets.
|
|
24
|
+
// Runtime guards below validate per-op requirements and give clear errors.
|
|
16
25
|
args: {
|
|
17
|
-
|
|
26
|
+
op: z
|
|
18
27
|
.enum(["call_tree", "callers", "trace_to", "impact", "trace_data"])
|
|
19
|
-
.describe("Navigation
|
|
20
|
-
|
|
28
|
+
.describe("Navigation operation"),
|
|
29
|
+
filePath: z
|
|
30
|
+
.string()
|
|
31
|
+
.describe("Path to the source file containing the symbol (absolute or relative to project root)"),
|
|
21
32
|
symbol: z.string().describe("Name of the symbol to analyze"),
|
|
22
33
|
depth: z
|
|
23
34
|
.number()
|
|
35
|
+
.optional()
|
|
24
36
|
.describe("Max traversal depth (default: call_tree=5, callers=1, trace_to=10, impact=5, trace_data=5)"),
|
|
25
37
|
expression: z
|
|
26
38
|
.string()
|
|
27
39
|
.optional()
|
|
28
|
-
.describe("Expression to track through data flow (required for trace_data
|
|
40
|
+
.describe("Expression to track through data flow (required for trace_data op)"),
|
|
29
41
|
},
|
|
30
42
|
execute: async (args, context) => {
|
|
31
43
|
const bridge = ctx.pool.getBridge(context.directory);
|
|
32
44
|
const params = {
|
|
33
|
-
file: args.
|
|
45
|
+
file: args.filePath,
|
|
34
46
|
symbol: args.symbol,
|
|
35
47
|
};
|
|
36
48
|
if (args.depth !== undefined)
|
|
37
49
|
params.depth = Number(args.depth);
|
|
38
50
|
if (args.expression !== undefined)
|
|
39
51
|
params.expression = args.expression;
|
|
40
|
-
|
|
52
|
+
if (args.op === "trace_data" && typeof args.expression !== "string") {
|
|
53
|
+
throw new Error("'expression' is required for 'trace_data' op");
|
|
54
|
+
}
|
|
55
|
+
const response = await bridge.send(args.op, params);
|
|
41
56
|
return JSON.stringify(response);
|
|
42
57
|
},
|
|
43
58
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/tools/navigation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG3C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAEtB;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAkB;IAChD,OAAO;QACL,YAAY,EAAE;YACZ,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/tools/navigation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG3C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAEtB;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAkB;IAChD,OAAO;QACL,YAAY,EAAE;YACZ,WAAW,EACT,qEAAqE;gBACrE,QAAQ;gBACR,6HAA6H;gBAC7H,yGAAyG;gBACzG,wJAAwJ;gBACxJ,yHAAyH;gBACzH,iKAAiK;gBACjK,uHAAuH;gBACvH,YAAY;gBACZ,oEAAoE;gBACpE,sEAAsE;gBACtE,0HAA0H;gBAC1H,8FAA8F;gBAC9F,+EAA+E;YACjF,4EAA4E;YAC5E,2EAA2E;YAC3E,IAAI,EAAE;gBACJ,EAAE,EAAE,CAAC;qBACF,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;qBAClE,QAAQ,CAAC,sBAAsB,CAAC;gBACnC,QAAQ,EAAE,CAAC;qBACR,MAAM,EAAE;qBACR,QAAQ,CACP,sFAAsF,CACvF;gBACH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;gBAC5D,KAAK,EAAE,CAAC;qBACL,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CACP,4FAA4F,CAC7F;gBACH,UAAU,EAAE,CAAC;qBACV,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,oEAAoE,CAAC;aAClF;YACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAmB,EAAE;gBAChD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACrD,MAAM,MAAM,GAA4B;oBACtC,IAAI,EAAE,IAAI,CAAC,QAAQ;oBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;iBACpB,CAAC;gBACF,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;oBAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChE,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;oBAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;gBACvE,IAAI,IAAI,CAAC,EAAE,KAAK,YAAY,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;oBACpE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAClE,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAY,EAAE,MAAM,CAAC,CAAC;gBAC9D,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ToolContext } from "@opencode-ai/plugin";
|
|
2
|
+
export declare function resolveAbsolutePath(context: ToolContext, target: string): string;
|
|
3
|
+
export declare function resolveRelativePattern(context: ToolContext, target: string): string;
|
|
4
|
+
export declare function resolveRelativePatterns(context: ToolContext, targets: string[]): string[];
|
|
5
|
+
export declare function workspacePattern(_context: ToolContext): string;
|
|
6
|
+
export declare function askEditPermission(context: ToolContext, patterns: string[], metadata?: Record<string, unknown>): Promise<string | undefined>;
|
|
7
|
+
export declare function permissionDeniedResponse(message: string): string;
|
|
8
|
+
//# sourceMappingURL=permissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/tools/permissions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnF;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAazF;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,CAE9D;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,MAAM,EAAE,EAClB,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACrC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAe7B;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOhE"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import * as path from "node:path";
|
|
2
|
+
export function resolveAbsolutePath(context, target) {
|
|
3
|
+
return path.isAbsolute(target) ? target : path.resolve(context.directory, target);
|
|
4
|
+
}
|
|
5
|
+
export function resolveRelativePattern(context, target) {
|
|
6
|
+
return path.relative(context.worktree, resolveAbsolutePath(context, target)) || ".";
|
|
7
|
+
}
|
|
8
|
+
export function resolveRelativePatterns(context, targets) {
|
|
9
|
+
const seen = new Set();
|
|
10
|
+
const patterns = [];
|
|
11
|
+
for (const target of targets) {
|
|
12
|
+
if (!target)
|
|
13
|
+
continue;
|
|
14
|
+
const pattern = resolveRelativePattern(context, target);
|
|
15
|
+
if (seen.has(pattern))
|
|
16
|
+
continue;
|
|
17
|
+
seen.add(pattern);
|
|
18
|
+
patterns.push(pattern);
|
|
19
|
+
}
|
|
20
|
+
return patterns;
|
|
21
|
+
}
|
|
22
|
+
export function workspacePattern(_context) {
|
|
23
|
+
return ".";
|
|
24
|
+
}
|
|
25
|
+
export async function askEditPermission(context, patterns, metadata = {}) {
|
|
26
|
+
try {
|
|
27
|
+
await context.ask({
|
|
28
|
+
permission: "edit",
|
|
29
|
+
patterns: patterns.length > 0 ? patterns : [workspacePattern(context)],
|
|
30
|
+
always: ["*"],
|
|
31
|
+
metadata,
|
|
32
|
+
});
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
if (error instanceof Error && error.message) {
|
|
37
|
+
return error.message;
|
|
38
|
+
}
|
|
39
|
+
return "Permission denied.";
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export function permissionDeniedResponse(message) {
|
|
43
|
+
return JSON.stringify({
|
|
44
|
+
success: false,
|
|
45
|
+
code: "permission_denied",
|
|
46
|
+
message,
|
|
47
|
+
error: message,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/tools/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,MAAM,UAAU,mBAAmB,CAAC,OAAoB,EAAE,MAAc;IACtE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAoB,EAAE,MAAc;IACzE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAoB,EAAE,OAAiB;IAC7E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,SAAS;QAChC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAqB;IACpD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAoB,EACpB,QAAkB,EAClB,WAAoC,EAAE;IAEtC,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACtE,MAAM,EAAE,CAAC,GAAG,CAAC;YACb,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAC,OAAO,CAAC;QACvB,CAAC;QACD,OAAO,oBAAoB,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,mBAAmB;QACzB,OAAO;QACP,KAAK,EAAE,OAAO;KACf,CAAC,CAAC;AACL,CAAC"}
|
package/dist/tools/reading.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ToolDefinition } from "@opencode-ai/plugin";
|
|
2
2
|
import type { PluginContext } from "../types.js";
|
|
3
3
|
/**
|
|
4
|
-
* Tool definitions for code reading commands: outline
|
|
4
|
+
* Tool definitions for code reading commands: outline + zoom.
|
|
5
5
|
*/
|
|
6
6
|
export declare function readingTools(ctx: PluginContext): Record<string, ToolDefinition>;
|
|
7
7
|
//# sourceMappingURL=reading.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reading.d.ts","sourceRoot":"","sources":["../../src/tools/reading.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reading.d.ts","sourceRoot":"","sources":["../../src/tools/reading.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA0CjD;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAqI/E"}
|