@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.
Files changed (83) hide show
  1. package/dist/config.d.ts.map +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +25395 -345
  4. package/dist/pool.d.ts +1 -1
  5. package/dist/pool.d.ts.map +1 -1
  6. package/dist/shared/tui-config.d.ts.map +1 -1
  7. package/dist/shared/url-fetch.d.ts +11 -0
  8. package/dist/shared/url-fetch.d.ts.map +1 -0
  9. package/dist/tools/reading.d.ts.map +1 -1
  10. package/dist/types.d.ts +2 -0
  11. package/dist/types.d.ts.map +1 -1
  12. package/package.json +9 -9
  13. package/src/shared/tui-config.ts +3 -100
  14. package/src/shared/url-fetch.ts +237 -0
  15. package/dist/bridge.js +0 -325
  16. package/dist/bridge.js.map +0 -1
  17. package/dist/config.js +0 -304
  18. package/dist/config.js.map +0 -1
  19. package/dist/downloader.js +0 -198
  20. package/dist/downloader.js.map +0 -1
  21. package/dist/index.js.map +0 -1
  22. package/dist/logger.js +0 -78
  23. package/dist/logger.js.map +0 -1
  24. package/dist/lsp.js +0 -79
  25. package/dist/lsp.js.map +0 -1
  26. package/dist/metadata-store.js +0 -53
  27. package/dist/metadata-store.js.map +0 -1
  28. package/dist/normalize-schemas.js +0 -45
  29. package/dist/normalize-schemas.js.map +0 -1
  30. package/dist/notifications.js +0 -307
  31. package/dist/notifications.js.map +0 -1
  32. package/dist/onnx-runtime.js +0 -203
  33. package/dist/onnx-runtime.js.map +0 -1
  34. package/dist/patch-parser.js +0 -247
  35. package/dist/patch-parser.js.map +0 -1
  36. package/dist/platform.js +0 -31
  37. package/dist/platform.js.map +0 -1
  38. package/dist/pool.js +0 -130
  39. package/dist/pool.js.map +0 -1
  40. package/dist/resolver.js +0 -179
  41. package/dist/resolver.js.map +0 -1
  42. package/dist/shared/opencode-config-dir.js +0 -26
  43. package/dist/shared/opencode-config-dir.js.map +0 -1
  44. package/dist/shared/rpc-client.js +0 -108
  45. package/dist/shared/rpc-client.js.map +0 -1
  46. package/dist/shared/rpc-server.js +0 -120
  47. package/dist/shared/rpc-server.js.map +0 -1
  48. package/dist/shared/rpc-utils.js +0 -20
  49. package/dist/shared/rpc-utils.js.map +0 -1
  50. package/dist/shared/runtime.js +0 -14
  51. package/dist/shared/runtime.js.map +0 -1
  52. package/dist/shared/status.js +0 -135
  53. package/dist/shared/status.js.map +0 -1
  54. package/dist/shared/tui-config.js +0 -134
  55. package/dist/shared/tui-config.js.map +0 -1
  56. package/dist/tools/ast.js +0 -200
  57. package/dist/tools/ast.js.map +0 -1
  58. package/dist/tools/conflicts.js +0 -20
  59. package/dist/tools/conflicts.js.map +0 -1
  60. package/dist/tools/hoisted.js +0 -870
  61. package/dist/tools/hoisted.js.map +0 -1
  62. package/dist/tools/imports.js +0 -90
  63. package/dist/tools/imports.js.map +0 -1
  64. package/dist/tools/lsp.js +0 -58
  65. package/dist/tools/lsp.js.map +0 -1
  66. package/dist/tools/navigation.js +0 -58
  67. package/dist/tools/navigation.js.map +0 -1
  68. package/dist/tools/permissions.js +0 -50
  69. package/dist/tools/permissions.js.map +0 -1
  70. package/dist/tools/reading.js +0 -229
  71. package/dist/tools/reading.js.map +0 -1
  72. package/dist/tools/refactoring.js +0 -129
  73. package/dist/tools/refactoring.js.map +0 -1
  74. package/dist/tools/safety.js +0 -83
  75. package/dist/tools/safety.js.map +0 -1
  76. package/dist/tools/search.js +0 -108
  77. package/dist/tools/search.js.map +0 -1
  78. package/dist/tools/semantic.js +0 -35
  79. package/dist/tools/semantic.js.map +0 -1
  80. package/dist/tools/structure.js +0 -157
  81. package/dist/tools/structure.js.map +0 -1
  82. package/dist/types.js +0 -2
  83. package/dist/types.js.map +0 -1
@@ -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
@@ -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
@@ -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"}
@@ -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"}