@cortexkit/aft-opencode 0.10.1 → 0.11.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/dist/config.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25395 -345
- package/dist/pool.d.ts +1 -1
- package/dist/pool.d.ts.map +1 -1
- package/dist/shared/tui-config.d.ts.map +1 -1
- package/dist/shared/url-fetch.d.ts +11 -0
- package/dist/shared/url-fetch.d.ts.map +1 -0
- package/dist/tools/reading.d.ts.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +9 -9
- package/src/shared/tui-config.ts +3 -100
- package/src/shared/url-fetch.ts +237 -0
- package/dist/bridge.js +0 -325
- package/dist/bridge.js.map +0 -1
- package/dist/config.js +0 -304
- package/dist/config.js.map +0 -1
- package/dist/downloader.js +0 -198
- package/dist/downloader.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/logger.js +0 -78
- package/dist/logger.js.map +0 -1
- package/dist/lsp.js +0 -79
- package/dist/lsp.js.map +0 -1
- package/dist/metadata-store.js +0 -53
- package/dist/metadata-store.js.map +0 -1
- package/dist/normalize-schemas.js +0 -45
- package/dist/normalize-schemas.js.map +0 -1
- package/dist/notifications.js +0 -307
- package/dist/notifications.js.map +0 -1
- package/dist/onnx-runtime.js +0 -203
- package/dist/onnx-runtime.js.map +0 -1
- package/dist/patch-parser.js +0 -247
- package/dist/patch-parser.js.map +0 -1
- package/dist/platform.js +0 -31
- package/dist/platform.js.map +0 -1
- package/dist/pool.js +0 -130
- package/dist/pool.js.map +0 -1
- package/dist/resolver.js +0 -179
- package/dist/resolver.js.map +0 -1
- package/dist/shared/opencode-config-dir.js +0 -26
- package/dist/shared/opencode-config-dir.js.map +0 -1
- package/dist/shared/rpc-client.js +0 -108
- package/dist/shared/rpc-client.js.map +0 -1
- package/dist/shared/rpc-server.js +0 -120
- package/dist/shared/rpc-server.js.map +0 -1
- package/dist/shared/rpc-utils.js +0 -20
- package/dist/shared/rpc-utils.js.map +0 -1
- package/dist/shared/runtime.js +0 -14
- package/dist/shared/runtime.js.map +0 -1
- package/dist/shared/status.js +0 -135
- package/dist/shared/status.js.map +0 -1
- package/dist/shared/tui-config.js +0 -134
- package/dist/shared/tui-config.js.map +0 -1
- package/dist/tools/ast.js +0 -200
- package/dist/tools/ast.js.map +0 -1
- package/dist/tools/conflicts.js +0 -20
- package/dist/tools/conflicts.js.map +0 -1
- package/dist/tools/hoisted.js +0 -870
- package/dist/tools/hoisted.js.map +0 -1
- package/dist/tools/imports.js +0 -90
- package/dist/tools/imports.js.map +0 -1
- package/dist/tools/lsp.js +0 -58
- package/dist/tools/lsp.js.map +0 -1
- package/dist/tools/navigation.js +0 -58
- package/dist/tools/navigation.js.map +0 -1
- package/dist/tools/permissions.js +0 -50
- package/dist/tools/permissions.js.map +0 -1
- package/dist/tools/reading.js +0 -229
- package/dist/tools/reading.js.map +0 -1
- package/dist/tools/refactoring.js +0 -129
- package/dist/tools/refactoring.js.map +0 -1
- package/dist/tools/safety.js +0 -83
- package/dist/tools/safety.js.map +0 -1
- package/dist/tools/search.js +0 -108
- package/dist/tools/search.js.map +0 -1
- package/dist/tools/semantic.js +0 -35
- package/dist/tools/semantic.js.map +0 -1
- package/dist/tools/structure.js +0 -157
- package/dist/tools/structure.js.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
package/dist/downloader.js
DELETED
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Auto-download the AFT binary from GitHub releases.
|
|
3
|
-
*
|
|
4
|
-
* Resolution order (in resolver.ts):
|
|
5
|
-
* 1. Cached binary in ~/.cache/aft/bin/
|
|
6
|
-
* 2. npm platform package (@cortexkit/aft-darwin-arm64, etc.)
|
|
7
|
-
* 3. PATH lookup (which aft)
|
|
8
|
-
* 4. ~/.cargo/bin/aft
|
|
9
|
-
* 5. Auto-download from GitHub releases (this module)
|
|
10
|
-
*
|
|
11
|
-
* Cache dir respects XDG_CACHE_HOME on Linux/macOS and LOCALAPPDATA on Windows.
|
|
12
|
-
*/
|
|
13
|
-
import { chmodSync, existsSync, mkdirSync, unlinkSync } from "node:fs";
|
|
14
|
-
import { homedir } from "node:os";
|
|
15
|
-
import { join } from "node:path";
|
|
16
|
-
import { error, log, warn } from "./logger.js";
|
|
17
|
-
import { PLATFORM_ASSET_MAP } from "./platform.js";
|
|
18
|
-
const REPO = "cortexkit/aft";
|
|
19
|
-
/** Get the cache directory, respecting XDG_CACHE_HOME / LOCALAPPDATA. */
|
|
20
|
-
export function getCacheDir() {
|
|
21
|
-
if (process.platform === "win32") {
|
|
22
|
-
const localAppData = process.env.LOCALAPPDATA || process.env.APPDATA;
|
|
23
|
-
const base = localAppData || join(homedir(), "AppData", "Local");
|
|
24
|
-
return join(base, "aft", "bin");
|
|
25
|
-
}
|
|
26
|
-
const base = process.env.XDG_CACHE_HOME || join(homedir(), ".cache");
|
|
27
|
-
return join(base, "aft", "bin");
|
|
28
|
-
}
|
|
29
|
-
/** Binary name for the current platform. */
|
|
30
|
-
export function getBinaryName() {
|
|
31
|
-
return process.platform === "win32" ? "aft.exe" : "aft";
|
|
32
|
-
}
|
|
33
|
-
/** Return the cached binary path if it exists, otherwise null.
|
|
34
|
-
* Checks the version-specific cache directory only.
|
|
35
|
-
* The legacy flat cache (~/.cache/aft/bin/aft) is intentionally NOT checked
|
|
36
|
-
* because it can be overwritten by other instances, corrupting running processes. */
|
|
37
|
-
export function getCachedBinaryPath(version) {
|
|
38
|
-
if (!version)
|
|
39
|
-
return null;
|
|
40
|
-
const binaryPath = join(getCacheDir(), version, getBinaryName());
|
|
41
|
-
return existsSync(binaryPath) ? binaryPath : null;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Download the AFT binary for the current platform from GitHub releases.
|
|
45
|
-
*
|
|
46
|
-
* @param version - Git tag to download from (e.g. "v0.1.0"). If omitted,
|
|
47
|
-
* fetches the latest release tag via the GitHub API.
|
|
48
|
-
* @returns Absolute path to the downloaded binary, or null on failure.
|
|
49
|
-
*/
|
|
50
|
-
export async function downloadBinary(version) {
|
|
51
|
-
const platformKey = `${process.platform}-${process.arch}`;
|
|
52
|
-
const assetName = PLATFORM_ASSET_MAP[platformKey];
|
|
53
|
-
if (!assetName) {
|
|
54
|
-
error(`Unsupported platform: ${platformKey}`);
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
// Resolve version if not provided
|
|
58
|
-
const tag = version ?? (await fetchLatestTag());
|
|
59
|
-
if (!tag) {
|
|
60
|
-
error("Could not determine latest release version.");
|
|
61
|
-
return null;
|
|
62
|
-
}
|
|
63
|
-
// Version-specific cache: ~/.cache/aft/bin/<tag>/aft
|
|
64
|
-
const versionedCacheDir = join(getCacheDir(), tag);
|
|
65
|
-
const binaryName = getBinaryName();
|
|
66
|
-
const binaryPath = join(versionedCacheDir, binaryName);
|
|
67
|
-
// Already cached for this version
|
|
68
|
-
if (existsSync(binaryPath)) {
|
|
69
|
-
return binaryPath;
|
|
70
|
-
}
|
|
71
|
-
const downloadUrl = `https://github.com/${REPO}/releases/download/${tag}/${assetName}`;
|
|
72
|
-
const checksumUrl = `https://github.com/${REPO}/releases/download/${tag}/checksums.sha256`;
|
|
73
|
-
log(`Downloading AFT binary (${tag}) for ${platformKey}...`);
|
|
74
|
-
try {
|
|
75
|
-
// Ensure versioned cache directory exists
|
|
76
|
-
if (!existsSync(versionedCacheDir)) {
|
|
77
|
-
mkdirSync(versionedCacheDir, { recursive: true });
|
|
78
|
-
}
|
|
79
|
-
// Download binary and checksum file in parallel
|
|
80
|
-
const [binaryResponse, checksumResponse] = await Promise.all([
|
|
81
|
-
fetch(downloadUrl, { redirect: "follow" }),
|
|
82
|
-
fetch(checksumUrl, { redirect: "follow" }),
|
|
83
|
-
]);
|
|
84
|
-
if (!binaryResponse.ok) {
|
|
85
|
-
throw new Error(`HTTP ${binaryResponse.status}: ${binaryResponse.statusText} (${downloadUrl})`);
|
|
86
|
-
}
|
|
87
|
-
const arrayBuffer = await binaryResponse.arrayBuffer();
|
|
88
|
-
// Verify checksum - MANDATORY for security
|
|
89
|
-
if (!checksumResponse.ok) {
|
|
90
|
-
warn(`Checksum verification failed: no checksums.sha256 found for ${tag}. ` +
|
|
91
|
-
"Binary download aborted for security reasons.");
|
|
92
|
-
return null;
|
|
93
|
-
}
|
|
94
|
-
const checksumText = await checksumResponse.text();
|
|
95
|
-
const expectedHash = parseChecksumForAsset(checksumText, assetName);
|
|
96
|
-
if (!expectedHash) {
|
|
97
|
-
warn(`Checksum verification failed: checksums.sha256 found but no entry for ${assetName}. ` +
|
|
98
|
-
"Binary download aborted for security reasons.");
|
|
99
|
-
return null;
|
|
100
|
-
}
|
|
101
|
-
const { createHash } = await import("node:crypto");
|
|
102
|
-
const actualHash = createHash("sha256").update(Buffer.from(arrayBuffer)).digest("hex");
|
|
103
|
-
if (actualHash !== expectedHash) {
|
|
104
|
-
throw new Error(`Checksum mismatch for ${assetName}: expected ${expectedHash}, got ${actualHash}. ` +
|
|
105
|
-
"The binary may have been tampered with.");
|
|
106
|
-
}
|
|
107
|
-
log(`Checksum verified (SHA-256: ${actualHash.slice(0, 16)}...)`);
|
|
108
|
-
// Write to a temp file first, then rename (atomic-ish)
|
|
109
|
-
const tmpPath = `${binaryPath}.tmp`;
|
|
110
|
-
const { writeFileSync } = await import("node:fs");
|
|
111
|
-
writeFileSync(tmpPath, Buffer.from(arrayBuffer));
|
|
112
|
-
// Make executable
|
|
113
|
-
if (process.platform !== "win32") {
|
|
114
|
-
chmodSync(tmpPath, 0o755);
|
|
115
|
-
}
|
|
116
|
-
// Atomic rename
|
|
117
|
-
const { renameSync } = await import("node:fs");
|
|
118
|
-
renameSync(tmpPath, binaryPath);
|
|
119
|
-
log(`AFT binary ready at ${binaryPath}`);
|
|
120
|
-
return binaryPath;
|
|
121
|
-
}
|
|
122
|
-
catch (err) {
|
|
123
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
124
|
-
error(`Failed to download AFT binary: ${msg}`);
|
|
125
|
-
// Clean up partial download
|
|
126
|
-
const tmpPath = `${binaryPath}.tmp`;
|
|
127
|
-
if (existsSync(tmpPath)) {
|
|
128
|
-
try {
|
|
129
|
-
unlinkSync(tmpPath);
|
|
130
|
-
}
|
|
131
|
-
catch {
|
|
132
|
-
// ignore cleanup failure
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
return null;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Ensure the AFT binary is available: check cache, then download if needed.
|
|
140
|
-
* This is the main entry point called by the resolver.
|
|
141
|
-
*/
|
|
142
|
-
export async function ensureBinary(version) {
|
|
143
|
-
if (version) {
|
|
144
|
-
// When a specific version is requested, ONLY check the versioned cache.
|
|
145
|
-
// Do NOT fall back to legacy flat cache — it may contain a different version,
|
|
146
|
-
// causing an infinite spawn-check-replace loop.
|
|
147
|
-
const versionCached = getCachedBinaryPath(version);
|
|
148
|
-
if (versionCached) {
|
|
149
|
-
log(`Found cached binary for ${version}: ${versionCached}`);
|
|
150
|
-
return versionCached;
|
|
151
|
-
}
|
|
152
|
-
log(`No cached binary for ${version}, downloading...`);
|
|
153
|
-
return downloadBinary(version);
|
|
154
|
-
}
|
|
155
|
-
// No version requested — check legacy flat cache, then download latest
|
|
156
|
-
const legacyCached = getCachedBinaryPath();
|
|
157
|
-
if (legacyCached) {
|
|
158
|
-
log(`Found cached binary: ${legacyCached}`);
|
|
159
|
-
return legacyCached;
|
|
160
|
-
}
|
|
161
|
-
log("No cached binary found, downloading latest...");
|
|
162
|
-
return downloadBinary();
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Parse a checksums.sha256 file (GNU coreutils format) and return the hash
|
|
166
|
-
* for the given asset name, or null if not found.
|
|
167
|
-
*
|
|
168
|
-
* Expected format: `<hex-hash> <filename>` (two spaces between hash and name)
|
|
169
|
-
*/
|
|
170
|
-
function parseChecksumForAsset(checksumText, assetName) {
|
|
171
|
-
for (const line of checksumText.split("\n")) {
|
|
172
|
-
const trimmed = line.trim();
|
|
173
|
-
if (!trimmed)
|
|
174
|
-
continue;
|
|
175
|
-
// Format: "abc123... aft-darwin-arm64"
|
|
176
|
-
const match = trimmed.match(/^([0-9a-f]{64})\s+(.+)$/);
|
|
177
|
-
if (match && match[2] === assetName) {
|
|
178
|
-
return match[1];
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
return null;
|
|
182
|
-
}
|
|
183
|
-
/** Fetch the latest release tag from GitHub API. */
|
|
184
|
-
async function fetchLatestTag() {
|
|
185
|
-
try {
|
|
186
|
-
const response = await fetch(`https://api.github.com/repos/${REPO}/releases/latest`, {
|
|
187
|
-
headers: { Accept: "application/vnd.github.v3+json" },
|
|
188
|
-
});
|
|
189
|
-
if (!response.ok)
|
|
190
|
-
return null;
|
|
191
|
-
const data = (await response.json());
|
|
192
|
-
return data.tag_name ?? null;
|
|
193
|
-
}
|
|
194
|
-
catch {
|
|
195
|
-
return null;
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
//# sourceMappingURL=downloader.js.map
|
package/dist/downloader.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"downloader.js","sourceRoot":"","sources":["../src/downloader.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/logger.js
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import * as fs from "node:fs";
|
|
2
|
-
import * as os from "node:os";
|
|
3
|
-
import * as path from "node:path";
|
|
4
|
-
const TAG = "[aft-plugin]";
|
|
5
|
-
const logFile = path.join(os.tmpdir(), "aft-plugin.log");
|
|
6
|
-
/**
|
|
7
|
-
* When AFT_LOG_STDERR=1, logs go to stderr (useful for subprocess tests that
|
|
8
|
-
* capture stderr output). Otherwise logs go to the temp file.
|
|
9
|
-
*/
|
|
10
|
-
const useStderr = process.env.AFT_LOG_STDERR === "1";
|
|
11
|
-
let buffer = [];
|
|
12
|
-
let flushTimer = null;
|
|
13
|
-
const FLUSH_INTERVAL_MS = 500;
|
|
14
|
-
const BUFFER_SIZE_LIMIT = 50;
|
|
15
|
-
function flush() {
|
|
16
|
-
if (buffer.length === 0)
|
|
17
|
-
return;
|
|
18
|
-
const data = buffer.join("");
|
|
19
|
-
buffer = [];
|
|
20
|
-
try {
|
|
21
|
-
if (useStderr) {
|
|
22
|
-
process.stderr.write(data);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
fs.appendFileSync(logFile, data);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
catch {
|
|
29
|
-
// Intentional: logging must never throw
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
function scheduleFlush() {
|
|
33
|
-
if (flushTimer)
|
|
34
|
-
return;
|
|
35
|
-
flushTimer = setTimeout(() => {
|
|
36
|
-
flushTimer = null;
|
|
37
|
-
flush();
|
|
38
|
-
}, FLUSH_INTERVAL_MS);
|
|
39
|
-
// Don't prevent Node from exiting
|
|
40
|
-
if (flushTimer && typeof flushTimer === "object" && "unref" in flushTimer) {
|
|
41
|
-
flushTimer.unref();
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
function write(level, message, data) {
|
|
45
|
-
try {
|
|
46
|
-
const timestamp = new Date().toISOString();
|
|
47
|
-
const serialized = data === undefined ? "" : ` ${JSON.stringify(data)}`;
|
|
48
|
-
const line = `[${timestamp}] ${level} ${TAG} ${message}${serialized}\n`;
|
|
49
|
-
if (useStderr) {
|
|
50
|
-
// Write immediately in stderr mode (subprocess tests need it before exit)
|
|
51
|
-
process.stderr.write(line);
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
buffer.push(line);
|
|
55
|
-
if (buffer.length >= BUFFER_SIZE_LIMIT) {
|
|
56
|
-
flush();
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
scheduleFlush();
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
catch {
|
|
63
|
-
// Intentional: logging must never throw
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
export function log(message, data) {
|
|
67
|
-
write("INFO", message, data);
|
|
68
|
-
}
|
|
69
|
-
export function warn(message, data) {
|
|
70
|
-
write("WARN", message, data);
|
|
71
|
-
}
|
|
72
|
-
export function error(message, data) {
|
|
73
|
-
write("ERROR", message, data);
|
|
74
|
-
}
|
|
75
|
-
export function getLogFilePath() {
|
|
76
|
-
return logFile;
|
|
77
|
-
}
|
|
78
|
-
//# sourceMappingURL=logger.js.map
|
package/dist/logger.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
package/dist/lsp.js
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { warn } from "./logger.js";
|
|
2
|
-
/**
|
|
3
|
-
* Maps LSP SymbolKind numbers to AFT kind strings.
|
|
4
|
-
* Only kinds relevant to AFT disambiguation are included.
|
|
5
|
-
* @see https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#symbolKind
|
|
6
|
-
*/
|
|
7
|
-
export const LSP_SYMBOL_KIND_MAP = {
|
|
8
|
-
5: "class",
|
|
9
|
-
6: "method",
|
|
10
|
-
10: "enum",
|
|
11
|
-
11: "interface",
|
|
12
|
-
12: "function",
|
|
13
|
-
23: "struct",
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* Query the OpenCode LSP for workspace symbols matching `symbolName`.
|
|
17
|
-
*
|
|
18
|
-
* Returns formatted hints for the binary's `lsp_hints` field, or `undefined` if:
|
|
19
|
-
* - No LSP server is connected
|
|
20
|
-
* - The API call fails
|
|
21
|
-
* - No symbols match
|
|
22
|
-
*
|
|
23
|
-
* Failures are silent at the caller level — the binary falls back to
|
|
24
|
-
* tree-sitter-only disambiguation when `lsp_hints` is absent.
|
|
25
|
-
*/
|
|
26
|
-
export async function queryLspHints(client, symbolName, directory) {
|
|
27
|
-
try {
|
|
28
|
-
// Check if any LSP server is connected
|
|
29
|
-
const statusResult = await client.lsp.status();
|
|
30
|
-
const servers = statusResult.data;
|
|
31
|
-
if (!servers || !servers.some((s) => s.status === "connected")) {
|
|
32
|
-
return undefined;
|
|
33
|
-
}
|
|
34
|
-
// Query workspace symbols
|
|
35
|
-
const query = { query: symbolName };
|
|
36
|
-
if (directory) {
|
|
37
|
-
query.directory = directory;
|
|
38
|
-
}
|
|
39
|
-
const symbolsResult = await client.find.symbols({ query });
|
|
40
|
-
const symbols = symbolsResult.data;
|
|
41
|
-
if (!symbols || symbols.length === 0) {
|
|
42
|
-
return undefined;
|
|
43
|
-
}
|
|
44
|
-
// Map to wire format
|
|
45
|
-
const hints = [];
|
|
46
|
-
for (const sym of symbols) {
|
|
47
|
-
// Convert file URI to path (handles Windows file:///C:/path correctly)
|
|
48
|
-
let file = sym.location.uri;
|
|
49
|
-
if (file.startsWith("file://")) {
|
|
50
|
-
try {
|
|
51
|
-
file = new URL(file).pathname;
|
|
52
|
-
// On Windows, URL.pathname gives /C:/path — strip leading slash
|
|
53
|
-
if (process.platform === "win32" && /^\/[A-Za-z]:/.test(file)) {
|
|
54
|
-
file = file.slice(1);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
catch {
|
|
58
|
-
file = file.slice(7);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
const hint = {
|
|
62
|
-
name: sym.name,
|
|
63
|
-
file,
|
|
64
|
-
line: sym.location.range.start.line,
|
|
65
|
-
};
|
|
66
|
-
const kind = LSP_SYMBOL_KIND_MAP[sym.kind];
|
|
67
|
-
if (kind) {
|
|
68
|
-
hint.kind = kind;
|
|
69
|
-
}
|
|
70
|
-
hints.push(hint);
|
|
71
|
-
}
|
|
72
|
-
return { symbols: hints };
|
|
73
|
-
}
|
|
74
|
-
catch (err) {
|
|
75
|
-
warn(`LSP query failed for "${symbolName}": ${err.message}`);
|
|
76
|
-
return undefined;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=lsp.js.map
|
package/dist/lsp.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lsp.js","sourceRoot":"","sources":["../src/lsp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAenC;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,QAAQ;IACX,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,QAAQ;CACb,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAA6B,EAC7B,UAAkB,EAClB,SAAkB;IAElB,IAAI,CAAC;QACH,uCAAuC;QACvC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,EAAE,CAAC;YAC/D,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,0BAA0B;QAC1B,MAAM,KAAK,GAA0C,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QAC3E,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAC9B,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC;QACnC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,qBAAqB;QACrB,MAAM,KAAK,GAAoB,EAAE,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,uEAAuE;YACvE,IAAI,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;oBAC9B,gEAAgE;oBAChE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC9D,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACvB,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YAED,MAAM,IAAI,GAAkB;gBAC1B,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI;gBACJ,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;aACpC,CAAC;YAEF,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,yBAAyB,UAAU,MAAO,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
|
package/dist/metadata-store.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pending tool metadata store.
|
|
3
|
-
*
|
|
4
|
-
* OpenCode's `fromPlugin()` wrapper always replaces plugin metadata with
|
|
5
|
-
* `{ truncated, outputPath }`, discarding title and custom metadata.
|
|
6
|
-
*
|
|
7
|
-
* This store captures metadata during execute(), then the `tool.execute.after`
|
|
8
|
-
* hook consumes it and merges it back before the final part is written.
|
|
9
|
-
*
|
|
10
|
-
* Flow:
|
|
11
|
-
* execute() → storeToolMetadata(sessionID, callID, data)
|
|
12
|
-
* fromPlugin() → overwrites metadata with { truncated }
|
|
13
|
-
* tool.execute.after → consumeToolMetadata(sessionID, callID) → merges back
|
|
14
|
-
*/
|
|
15
|
-
const pendingStore = new Map();
|
|
16
|
-
const STALE_TIMEOUT_MS = 15 * 60 * 1000;
|
|
17
|
-
function makeKey(sessionID, callID) {
|
|
18
|
-
return `${sessionID}:${callID}`;
|
|
19
|
-
}
|
|
20
|
-
function cleanupStaleEntries() {
|
|
21
|
-
const now = Date.now();
|
|
22
|
-
for (const [key, entry] of pendingStore) {
|
|
23
|
-
if (now - entry.storedAt > STALE_TIMEOUT_MS) {
|
|
24
|
-
pendingStore.delete(key);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Store metadata to be restored after fromPlugin() overwrites it.
|
|
30
|
-
* Called from tool execute() functions.
|
|
31
|
-
*/
|
|
32
|
-
export function storeToolMetadata(sessionID, callID, data) {
|
|
33
|
-
cleanupStaleEntries();
|
|
34
|
-
pendingStore.set(makeKey(sessionID, callID), {
|
|
35
|
-
...data,
|
|
36
|
-
storedAt: Date.now(),
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Consume stored metadata (one-time read, removes from store).
|
|
41
|
-
* Called from tool.execute.after hook.
|
|
42
|
-
*/
|
|
43
|
-
export function consumeToolMetadata(sessionID, callID) {
|
|
44
|
-
const key = makeKey(sessionID, callID);
|
|
45
|
-
const stored = pendingStore.get(key);
|
|
46
|
-
if (stored) {
|
|
47
|
-
pendingStore.delete(key);
|
|
48
|
-
const { storedAt: _, ...data } = stored;
|
|
49
|
-
return data;
|
|
50
|
-
}
|
|
51
|
-
return undefined;
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=metadata-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-store.js","sourceRoot":"","sources":["../src/metadata-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,MAAM,YAAY,GAAG,IAAI,GAAG,EAAsD,CAAC;AAEnF,MAAM,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAExC,SAAS,OAAO,CAAC,SAAiB,EAAE,MAAc;IAChD,OAAO,GAAG,SAAS,IAAI,MAAM,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,mBAAmB;IAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC;QACxC,IAAI,GAAG,GAAG,KAAK,CAAC,QAAQ,GAAG,gBAAgB,EAAE,CAAC;YAC5C,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,MAAc,EACd,IAAyB;IAEzB,mBAAmB,EAAE,CAAC;IACtB,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;QAC3C,GAAG,IAAI;QACP,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;KACrB,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,SAAiB,EACjB,MAAc;IAEd,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,MAAM,EAAE,CAAC;QACX,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { tool } from "@opencode-ai/plugin";
|
|
2
|
-
function stripRootJsonSchemaFields(jsonSchema) {
|
|
3
|
-
const { $schema: _schema, ...rest } = jsonSchema;
|
|
4
|
-
return rest;
|
|
5
|
-
}
|
|
6
|
-
function attachJsonSchemaOverride(schema) {
|
|
7
|
-
if (schema._zod.toJSONSchema) {
|
|
8
|
-
return;
|
|
9
|
-
}
|
|
10
|
-
schema._zod.toJSONSchema = () => {
|
|
11
|
-
const originalOverride = schema._zod.toJSONSchema;
|
|
12
|
-
delete schema._zod.toJSONSchema;
|
|
13
|
-
try {
|
|
14
|
-
return stripRootJsonSchemaFields(tool.schema.toJSONSchema(schema));
|
|
15
|
-
}
|
|
16
|
-
finally {
|
|
17
|
-
schema._zod.toJSONSchema = originalOverride;
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Patch tool arg schemas so that `.describe()` and `.meta()` survive
|
|
23
|
-
* cross-Zod-instance JSON Schema serialization.
|
|
24
|
-
*
|
|
25
|
-
* OpenCode's host Zod can't see descriptions set by the plugin's Zod.
|
|
26
|
-
* This patches `_zod.toJSONSchema` on each arg to use the plugin's own
|
|
27
|
-
* `tool.schema.toJSONSchema`, which preserves all metadata.
|
|
28
|
-
*/
|
|
29
|
-
export function normalizeToolArgSchemas(toolDefinition) {
|
|
30
|
-
for (const schema of Object.values(toolDefinition.args)) {
|
|
31
|
-
attachJsonSchemaOverride(schema);
|
|
32
|
-
}
|
|
33
|
-
return toolDefinition;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Normalize all tool definitions in a record.
|
|
37
|
-
* Applies `normalizeToolArgSchemas` to each tool in the map.
|
|
38
|
-
*/
|
|
39
|
-
export function normalizeToolMap(tools) {
|
|
40
|
-
for (const def of Object.values(tools)) {
|
|
41
|
-
normalizeToolArgSchemas(def);
|
|
42
|
-
}
|
|
43
|
-
return tools;
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=normalize-schemas.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-schemas.js","sourceRoot":"","sources":["../src/normalize-schemas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAU3C,SAAS,yBAAyB,CAAC,UAAmC;IACpE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC;IACjD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAoC;IACpE,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,YAAY,GAAG,GAA4B,EAAE;QACvD,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;QAClD,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;QAEhC,IAAI,CAAC;YACH,OAAO,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,cAAiB;IAEjB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACxD,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAqC;IAErC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|