@coreyuan/vector-mind 1.0.38 → 1.0.41
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 +85 -10
- package/dist/builtin-conventions.js +5 -0
- package/dist/builtin-conventions.js.map +1 -1
- package/dist/builtin-instructions.d.ts +1 -0
- package/dist/builtin-instructions.js +1 -0
- package/dist/builtin-instructions.js.map +1 -1
- package/dist/index.js +1242 -200
- package/dist/index.js.map +1 -1
- package/dist/rtk-shim.d.ts +2 -0
- package/dist/rtk-shim.js +255 -0
- package/dist/rtk-shim.js.map +1 -0
- package/package.json +4 -3
package/dist/rtk-shim.js
ADDED
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import os from "node:os";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import https from "node:https";
|
|
6
|
+
import { spawnSync } from "node:child_process";
|
|
7
|
+
const RTK_REPO = "rtk-ai/rtk";
|
|
8
|
+
const RTK_DOWNLOAD_BASE = `https://github.com/${RTK_REPO}/releases/latest/download`;
|
|
9
|
+
const SELF_PATH = process.argv[1] ? path.resolve(process.argv[1]) : "";
|
|
10
|
+
const exeName = process.platform === "win32" ? "rtk.exe" : "rtk";
|
|
11
|
+
const cacheRoot = process.env.VECTORMIND_RTK_HOME ??
|
|
12
|
+
path.join(os.homedir(), ".cache", "vector-mind", "rtk");
|
|
13
|
+
const cacheBinDir = path.join(cacheRoot, "bin");
|
|
14
|
+
const cachedRtkPath = path.join(cacheBinDir, exeName);
|
|
15
|
+
function pathEquals(a, b) {
|
|
16
|
+
try {
|
|
17
|
+
return fs.realpathSync.native(a).toLowerCase() === fs.realpathSync.native(b).toLowerCase();
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return path.resolve(a).toLowerCase() === path.resolve(b).toLowerCase();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function isExecutableFile(filePath) {
|
|
24
|
+
try {
|
|
25
|
+
const st = fs.statSync(filePath);
|
|
26
|
+
return st.isFile();
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function findRealRtkOnPath() {
|
|
33
|
+
const explicit = process.env.VECTORMIND_RTK_REAL;
|
|
34
|
+
if (explicit && isExecutableFile(explicit))
|
|
35
|
+
return explicit;
|
|
36
|
+
if (isExecutableFile(cachedRtkPath))
|
|
37
|
+
return cachedRtkPath;
|
|
38
|
+
const pathEntries = (process.env.PATH ?? "").split(path.delimiter).filter(Boolean);
|
|
39
|
+
const candidates = process.platform === "win32"
|
|
40
|
+
? ["rtk.exe", "rtk.cmd", "rtk.bat"]
|
|
41
|
+
: ["rtk"];
|
|
42
|
+
for (const dir of pathEntries) {
|
|
43
|
+
for (const name of candidates) {
|
|
44
|
+
const candidate = path.join(dir, name);
|
|
45
|
+
if (!isExecutableFile(candidate))
|
|
46
|
+
continue;
|
|
47
|
+
if (SELF_PATH && pathEquals(candidate, SELF_PATH))
|
|
48
|
+
continue;
|
|
49
|
+
// npm creates .cmd/.bat launchers for this shim on Windows; avoid
|
|
50
|
+
// recursing into ourselves when those wrappers are first on PATH.
|
|
51
|
+
if (process.platform === "win32" && /\.(cmd|bat)$/i.test(candidate))
|
|
52
|
+
continue;
|
|
53
|
+
return candidate;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
function platformAsset() {
|
|
59
|
+
const arch = os.arch();
|
|
60
|
+
if (process.platform === "win32" && arch === "x64") {
|
|
61
|
+
return { archiveName: "rtk-x86_64-pc-windows-msvc.zip", binaryName: "rtk.exe" };
|
|
62
|
+
}
|
|
63
|
+
if (process.platform === "darwin" && arch === "arm64") {
|
|
64
|
+
return { archiveName: "rtk-aarch64-apple-darwin.tar.gz", binaryName: "rtk" };
|
|
65
|
+
}
|
|
66
|
+
if (process.platform === "darwin" && arch === "x64") {
|
|
67
|
+
return { archiveName: "rtk-x86_64-apple-darwin.tar.gz", binaryName: "rtk" };
|
|
68
|
+
}
|
|
69
|
+
if (process.platform === "linux" && arch === "arm64") {
|
|
70
|
+
return { archiveName: "rtk-aarch64-unknown-linux-gnu.tar.gz", binaryName: "rtk" };
|
|
71
|
+
}
|
|
72
|
+
if (process.platform === "linux" && arch === "x64") {
|
|
73
|
+
return { archiveName: "rtk-x86_64-unknown-linux-musl.tar.gz", binaryName: "rtk" };
|
|
74
|
+
}
|
|
75
|
+
throw new Error(`Unsupported platform for RTK auto-install: ${process.platform}/${arch}`);
|
|
76
|
+
}
|
|
77
|
+
function run(command, args, opts = {}) {
|
|
78
|
+
return spawnSync(command, args, {
|
|
79
|
+
cwd: opts.cwd,
|
|
80
|
+
encoding: "utf8",
|
|
81
|
+
stdio: opts.inherit ? "inherit" : "pipe",
|
|
82
|
+
windowsHide: true,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
function download(url, destination, redirects = 0) {
|
|
86
|
+
return new Promise((resolve, reject) => {
|
|
87
|
+
const request = https.get(url, {
|
|
88
|
+
headers: {
|
|
89
|
+
"User-Agent": "vector-mind-rtk-shim",
|
|
90
|
+
Accept: "application/octet-stream",
|
|
91
|
+
},
|
|
92
|
+
}, (response) => {
|
|
93
|
+
const status = response.statusCode ?? 0;
|
|
94
|
+
const location = response.headers.location;
|
|
95
|
+
if (status >= 300 && status < 400 && location && redirects < 8) {
|
|
96
|
+
response.resume();
|
|
97
|
+
const next = new URL(location, url).toString();
|
|
98
|
+
void download(next, destination, redirects + 1).then(resolve, reject);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
if (status < 200 || status >= 300) {
|
|
102
|
+
response.resume();
|
|
103
|
+
reject(new Error(`Download failed ${status}: ${url}`));
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
fs.mkdirSync(path.dirname(destination), { recursive: true });
|
|
107
|
+
const file = fs.createWriteStream(destination);
|
|
108
|
+
response.pipe(file);
|
|
109
|
+
file.on("finish", () => {
|
|
110
|
+
file.close((err) => (err ? reject(err) : resolve()));
|
|
111
|
+
});
|
|
112
|
+
file.on("error", reject);
|
|
113
|
+
});
|
|
114
|
+
request.on("error", reject);
|
|
115
|
+
request.setTimeout(120_000, () => {
|
|
116
|
+
request.destroy(new Error("Download timed out"));
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
function findFileRecursive(root, fileName) {
|
|
121
|
+
const stack = [root];
|
|
122
|
+
while (stack.length) {
|
|
123
|
+
const current = stack.pop();
|
|
124
|
+
if (!current)
|
|
125
|
+
break;
|
|
126
|
+
let entries = [];
|
|
127
|
+
try {
|
|
128
|
+
entries = fs.readdirSync(current, { withFileTypes: true });
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
133
|
+
for (const entry of entries) {
|
|
134
|
+
const full = path.join(current, entry.name);
|
|
135
|
+
if (entry.isDirectory())
|
|
136
|
+
stack.push(full);
|
|
137
|
+
if (entry.isFile() && entry.name === fileName)
|
|
138
|
+
return full;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
function extractArchive(archivePath, extractDir) {
|
|
144
|
+
fs.rmSync(extractDir, { recursive: true, force: true });
|
|
145
|
+
fs.mkdirSync(extractDir, { recursive: true });
|
|
146
|
+
if (archivePath.endsWith(".zip")) {
|
|
147
|
+
if (process.platform === "win32") {
|
|
148
|
+
const result = run("powershell.exe", [
|
|
149
|
+
"-NoProfile",
|
|
150
|
+
"-ExecutionPolicy",
|
|
151
|
+
"Bypass",
|
|
152
|
+
"-Command",
|
|
153
|
+
`Expand-Archive -LiteralPath '${archivePath.replace(/'/g, "''")}' -DestinationPath '${extractDir.replace(/'/g, "''")}' -Force`,
|
|
154
|
+
]);
|
|
155
|
+
if (result.status !== 0) {
|
|
156
|
+
throw new Error(`Expand-Archive failed: ${result.stderr || result.stdout}`);
|
|
157
|
+
}
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
const unzip = run("unzip", ["-o", archivePath, "-d", extractDir]);
|
|
161
|
+
if (unzip.status === 0)
|
|
162
|
+
return;
|
|
163
|
+
const tar = run("tar", ["-xf", archivePath, "-C", extractDir]);
|
|
164
|
+
if (tar.status === 0)
|
|
165
|
+
return;
|
|
166
|
+
throw new Error(`Could not extract zip: ${unzip.stderr || tar.stderr || unzip.stdout || tar.stdout}`);
|
|
167
|
+
}
|
|
168
|
+
const result = run("tar", ["-xzf", archivePath, "-C", extractDir]);
|
|
169
|
+
if (result.status !== 0) {
|
|
170
|
+
throw new Error(`tar extraction failed: ${result.stderr || result.stdout}`);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
async function installFromRelease() {
|
|
174
|
+
const asset = platformAsset();
|
|
175
|
+
const archivePath = path.join(cacheRoot, "downloads", asset.archiveName);
|
|
176
|
+
const extractDir = path.join(cacheRoot, "extract", asset.archiveName.replace(/[^\w.-]+/g, "_"));
|
|
177
|
+
const url = `${RTK_DOWNLOAD_BASE}/${asset.archiveName}`;
|
|
178
|
+
console.error(`[vector-mind] RTK not found; downloading ${url}`);
|
|
179
|
+
await download(url, archivePath);
|
|
180
|
+
extractArchive(archivePath, extractDir);
|
|
181
|
+
const extracted = findFileRecursive(extractDir, asset.binaryName);
|
|
182
|
+
if (!extracted)
|
|
183
|
+
throw new Error(`Downloaded RTK archive did not contain ${asset.binaryName}`);
|
|
184
|
+
fs.mkdirSync(cacheBinDir, { recursive: true });
|
|
185
|
+
fs.copyFileSync(extracted, cachedRtkPath);
|
|
186
|
+
try {
|
|
187
|
+
fs.chmodSync(cachedRtkPath, 0o755);
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
// Windows may ignore chmod.
|
|
191
|
+
}
|
|
192
|
+
return cachedRtkPath;
|
|
193
|
+
}
|
|
194
|
+
function installFromCargo() {
|
|
195
|
+
const cargo = run("cargo", ["--version"]);
|
|
196
|
+
if (cargo.status !== 0) {
|
|
197
|
+
throw new Error("RTK auto-install failed and Cargo is unavailable. Install Rust/Cargo or set VECTORMIND_RTK_REAL to an existing rtk binary.");
|
|
198
|
+
}
|
|
199
|
+
const cargoRoot = path.join(cacheRoot, "cargo");
|
|
200
|
+
console.error(`[vector-mind] Falling back to Cargo install for ${RTK_REPO}...`);
|
|
201
|
+
const result = run("cargo", ["install", "--git", `https://github.com/${RTK_REPO}`, "--root", cargoRoot], { inherit: true });
|
|
202
|
+
if (result.status !== 0)
|
|
203
|
+
throw new Error(`cargo install failed with status ${result.status}`);
|
|
204
|
+
const installed = path.join(cargoRoot, "bin", exeName);
|
|
205
|
+
if (!isExecutableFile(installed))
|
|
206
|
+
throw new Error(`cargo install completed but ${installed} was not found`);
|
|
207
|
+
fs.mkdirSync(cacheBinDir, { recursive: true });
|
|
208
|
+
fs.copyFileSync(installed, cachedRtkPath);
|
|
209
|
+
try {
|
|
210
|
+
fs.chmodSync(cachedRtkPath, 0o755);
|
|
211
|
+
}
|
|
212
|
+
catch { }
|
|
213
|
+
return cachedRtkPath;
|
|
214
|
+
}
|
|
215
|
+
async function ensureRtk() {
|
|
216
|
+
const existing = findRealRtkOnPath();
|
|
217
|
+
if (existing)
|
|
218
|
+
return existing;
|
|
219
|
+
if (process.env.VECTORMIND_RTK_NO_AUTO_INSTALL === "1") {
|
|
220
|
+
throw new Error("RTK is missing and VECTORMIND_RTK_NO_AUTO_INSTALL=1 is set.");
|
|
221
|
+
}
|
|
222
|
+
try {
|
|
223
|
+
return await installFromRelease();
|
|
224
|
+
}
|
|
225
|
+
catch (err) {
|
|
226
|
+
console.error(`[vector-mind] RTK release install failed: ${String(err)}`);
|
|
227
|
+
return installFromCargo();
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
async function main() {
|
|
231
|
+
const realRtk = await ensureRtk();
|
|
232
|
+
const args = process.argv.slice(2);
|
|
233
|
+
const result = spawnSync(realRtk, args, {
|
|
234
|
+
stdio: "inherit",
|
|
235
|
+
windowsHide: true,
|
|
236
|
+
env: {
|
|
237
|
+
...process.env,
|
|
238
|
+
VECTORMIND_RTK_REAL: realRtk,
|
|
239
|
+
},
|
|
240
|
+
});
|
|
241
|
+
if (result.error) {
|
|
242
|
+
console.error(`[vector-mind] Failed to run RTK: ${result.error.message}`);
|
|
243
|
+
process.exit(1);
|
|
244
|
+
}
|
|
245
|
+
if (result.signal) {
|
|
246
|
+
process.kill(process.pid, result.signal);
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
process.exit(typeof result.status === "number" ? result.status : 1);
|
|
250
|
+
}
|
|
251
|
+
main().catch((err) => {
|
|
252
|
+
console.error(`[vector-mind] ${err instanceof Error ? err.message : String(err)}`);
|
|
253
|
+
process.exit(1);
|
|
254
|
+
});
|
|
255
|
+
//# sourceMappingURL=rtk-shim.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtk-shim.js","sourceRoot":"","sources":["../src/rtk-shim.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coreyuan/vector-mind",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.41",
|
|
4
4
|
"description": "VectorMind MCP: requirement-driven context memory linking file changes to developer intent.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
|
-
"vector-mind": "./dist/index.js"
|
|
7
|
+
"vector-mind": "./dist/index.js",
|
|
8
|
+
"rtk": "./dist/rtk-shim.js"
|
|
8
9
|
},
|
|
9
10
|
"files": [
|
|
10
11
|
"dist"
|
|
11
12
|
],
|
|
12
13
|
"scripts": {
|
|
13
|
-
"build": "tsc && node --input-type=module -e \"import { chmodSync } from 'node:fs';
|
|
14
|
+
"build": "tsc && node --input-type=module -e \"import { chmodSync } from 'node:fs'; for (const f of ['dist/index.js','dist/rtk-shim.js']) try { chmodSync(f, 0o755); } catch {}\"",
|
|
14
15
|
"smoke": "node scripts/smoke.mjs",
|
|
15
16
|
"prepublishOnly": "npm run build"
|
|
16
17
|
},
|