@nimblebrain/mpak 0.0.2 → 0.1.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/CLAUDE.md +12 -0
- package/README.md +29 -6
- package/dist/commands/packages/run.d.ts +12 -1
- package/dist/commands/packages/run.d.ts.map +1 -1
- package/dist/commands/packages/run.js +116 -45
- package/dist/commands/packages/run.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +14 -2
- package/dist/program.js.map +1 -1
- package/package.json +1 -1
- package/src/commands/packages/run.test.ts +40 -1
- package/src/commands/packages/run.ts +131 -46
- package/src/commands/skills/pack.test.ts +1 -1
- package/src/program.ts +16 -2
package/CLAUDE.md
CHANGED
|
@@ -142,6 +142,18 @@ git push && git push --tags
|
|
|
142
142
|
| `mpak search <query> --type bundle` | Search bundles only |
|
|
143
143
|
| `mpak search <query> --type skill` | Search skills only |
|
|
144
144
|
|
|
145
|
+
### Run (Top-Level Alias)
|
|
146
|
+
|
|
147
|
+
| Command | Description |
|
|
148
|
+
|---------|-------------|
|
|
149
|
+
| `mpak run <package>` | Run an MCP server (alias for `bundle run`) |
|
|
150
|
+
|
|
151
|
+
This is the recommended way to integrate with Claude Code:
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
claude mcp add --transport stdio echo -- mpak run @nimblebraininc/echo
|
|
155
|
+
```
|
|
156
|
+
|
|
145
157
|
### Bundle Commands
|
|
146
158
|
|
|
147
159
|
| Command | Description |
|
package/README.md
CHANGED
|
@@ -21,11 +21,8 @@ npm install -g @nimblebrain/mpak
|
|
|
21
21
|
# Search for everything (bundles + skills)
|
|
22
22
|
mpak search postgres
|
|
23
23
|
|
|
24
|
-
# Search bundles only
|
|
25
|
-
mpak bundle search postgres
|
|
26
|
-
|
|
27
24
|
# Run an MCP server
|
|
28
|
-
mpak
|
|
25
|
+
mpak run @owner/my-server
|
|
29
26
|
|
|
30
27
|
# Search skills only
|
|
31
28
|
mpak skill search strategy
|
|
@@ -34,6 +31,24 @@ mpak skill search strategy
|
|
|
34
31
|
mpak skill install @owner/my-skill
|
|
35
32
|
```
|
|
36
33
|
|
|
34
|
+
## Claude Code Integration
|
|
35
|
+
|
|
36
|
+
Add any mpak bundle to Claude Code with a single command:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
claude mcp add --transport stdio echo -- mpak run @nimblebraininc/echo
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
For bundles requiring API keys:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# Set config once
|
|
46
|
+
mpak config set @nimblebraininc/ipinfo api_key=your_token
|
|
47
|
+
|
|
48
|
+
# Then add to Claude Code
|
|
49
|
+
claude mcp add --transport stdio ipinfo -- mpak run @nimblebraininc/ipinfo
|
|
50
|
+
```
|
|
51
|
+
|
|
37
52
|
## Commands
|
|
38
53
|
|
|
39
54
|
### Unified Search
|
|
@@ -148,14 +163,22 @@ mpak bundle run @nimblebraininc/echo --update
|
|
|
148
163
|
Options:
|
|
149
164
|
- `--update` - Force re-download even if cached
|
|
150
165
|
|
|
151
|
-
**
|
|
166
|
+
> **Tip:** Use `mpak run` as a shortcut for `mpak bundle run`.
|
|
167
|
+
|
|
168
|
+
**Claude Code:**
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
claude mcp add --transport stdio echo -- mpak run @nimblebraininc/echo
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
**Claude Desktop:**
|
|
152
175
|
|
|
153
176
|
```json
|
|
154
177
|
{
|
|
155
178
|
"mcpServers": {
|
|
156
179
|
"echo": {
|
|
157
180
|
"command": "mpak",
|
|
158
|
-
"args": ["
|
|
181
|
+
"args": ["run", "@nimblebraininc/echo"]
|
|
159
182
|
}
|
|
160
183
|
}
|
|
161
184
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export interface RunOptions {
|
|
2
2
|
update?: boolean;
|
|
3
|
+
local?: string;
|
|
3
4
|
}
|
|
4
5
|
/**
|
|
5
6
|
* Parse package specification into name and version
|
|
@@ -30,7 +31,17 @@ export declare function substituteUserConfig(value: string, userConfigValues: Re
|
|
|
30
31
|
*/
|
|
31
32
|
export declare function substituteEnvVars(env: Record<string, string> | undefined, userConfigValues: Record<string, string>): Record<string, string>;
|
|
32
33
|
/**
|
|
33
|
-
*
|
|
34
|
+
* Get cache directory for a local bundle.
|
|
35
|
+
* Uses hash of absolute path to avoid collisions.
|
|
36
|
+
*/
|
|
37
|
+
export declare function getLocalCacheDir(bundlePath: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Check if local bundle needs re-extraction.
|
|
40
|
+
* Returns true if cache doesn't exist or bundle was modified after extraction.
|
|
41
|
+
*/
|
|
42
|
+
export declare function localBundleNeedsExtract(bundlePath: string, cacheDir: string): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Run a package from the registry or a local bundle file
|
|
34
45
|
*/
|
|
35
46
|
export declare function handleRun(packageSpec: string, options?: RunOptions): Promise<void>;
|
|
36
47
|
//# sourceMappingURL=run.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/packages/run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/packages/run.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAuCD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAejF;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAKvD;AAqDD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAItE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC,MAAM,CAIR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACvC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOxB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAWrF;AA+HD;;GAEG;AACH,wBAAsB,SAAS,CAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CA4Mf"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { spawn, spawnSync } from 'child_process';
|
|
2
2
|
import { createInterface } from 'readline';
|
|
3
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync, chmodSync } from 'fs';
|
|
3
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync, chmodSync, rmSync, statSync } from 'fs';
|
|
4
|
+
import { createHash } from 'crypto';
|
|
4
5
|
import { homedir } from 'os';
|
|
5
|
-
import { join, dirname } from 'path';
|
|
6
|
+
import { join, dirname, resolve, basename } from 'path';
|
|
6
7
|
import { RegistryClient } from '../../lib/api/registry-client.js';
|
|
7
8
|
import { ConfigManager } from '../../utils/config-manager.js';
|
|
8
9
|
/**
|
|
@@ -107,6 +108,32 @@ export function substituteEnvVars(env, userConfigValues) {
|
|
|
107
108
|
}
|
|
108
109
|
return result;
|
|
109
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Get cache directory for a local bundle.
|
|
113
|
+
* Uses hash of absolute path to avoid collisions.
|
|
114
|
+
*/
|
|
115
|
+
export function getLocalCacheDir(bundlePath) {
|
|
116
|
+
const absolutePath = resolve(bundlePath);
|
|
117
|
+
const hash = createHash('md5').update(absolutePath).digest('hex').slice(0, 12);
|
|
118
|
+
return join(homedir(), '.mpak', 'cache', '_local', hash);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Check if local bundle needs re-extraction.
|
|
122
|
+
* Returns true if cache doesn't exist or bundle was modified after extraction.
|
|
123
|
+
*/
|
|
124
|
+
export function localBundleNeedsExtract(bundlePath, cacheDir) {
|
|
125
|
+
const metaPath = join(cacheDir, '.mpak-meta.json');
|
|
126
|
+
if (!existsSync(metaPath))
|
|
127
|
+
return true;
|
|
128
|
+
try {
|
|
129
|
+
const meta = JSON.parse(readFileSync(metaPath, 'utf8'));
|
|
130
|
+
const bundleStat = statSync(bundlePath);
|
|
131
|
+
return bundleStat.mtimeMs > new Date(meta.extractedAt).getTime();
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
110
137
|
/**
|
|
111
138
|
* Prompt user for a config value (interactive terminal input)
|
|
112
139
|
*/
|
|
@@ -216,56 +243,100 @@ function findPythonCommand() {
|
|
|
216
243
|
return 'python';
|
|
217
244
|
}
|
|
218
245
|
/**
|
|
219
|
-
* Run a package from the registry
|
|
246
|
+
* Run a package from the registry or a local bundle file
|
|
220
247
|
*/
|
|
221
248
|
export async function handleRun(packageSpec, options = {}) {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
let needsPull = true;
|
|
227
|
-
let cachedMeta = getCacheMetadata(cacheDir);
|
|
228
|
-
// Check if we have a cached version
|
|
229
|
-
if (cachedMeta && !options.update) {
|
|
230
|
-
if (requestedVersion) {
|
|
231
|
-
// Specific version requested - check if cached version matches
|
|
232
|
-
needsPull = cachedMeta.version !== requestedVersion;
|
|
233
|
-
}
|
|
234
|
-
else {
|
|
235
|
-
// Latest requested - use cache (user can --update to refresh)
|
|
236
|
-
needsPull = false;
|
|
237
|
-
}
|
|
249
|
+
// Validate that either --local or package spec is provided
|
|
250
|
+
if (!options.local && !packageSpec) {
|
|
251
|
+
process.stderr.write(`=> Error: Either provide a package name or use --local <path>\n`);
|
|
252
|
+
process.exit(1);
|
|
238
253
|
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
254
|
+
let cacheDir;
|
|
255
|
+
let packageName;
|
|
256
|
+
if (options.local) {
|
|
257
|
+
// === LOCAL BUNDLE MODE ===
|
|
258
|
+
const bundlePath = resolve(options.local);
|
|
259
|
+
// Validate bundle exists
|
|
260
|
+
if (!existsSync(bundlePath)) {
|
|
261
|
+
process.stderr.write(`=> Error: Bundle not found: ${bundlePath}\n`);
|
|
262
|
+
process.exit(1);
|
|
246
263
|
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
264
|
+
// Validate .mcpb extension
|
|
265
|
+
if (!bundlePath.endsWith('.mcpb')) {
|
|
266
|
+
process.stderr.write(`=> Error: Not an MCPB bundle: ${bundlePath}\n`);
|
|
267
|
+
process.exit(1);
|
|
268
|
+
}
|
|
269
|
+
cacheDir = getLocalCacheDir(bundlePath);
|
|
270
|
+
const needsExtract = options.update || localBundleNeedsExtract(bundlePath, cacheDir);
|
|
271
|
+
if (needsExtract) {
|
|
272
|
+
// Clear old extraction
|
|
255
273
|
if (existsSync(cacheDir)) {
|
|
256
274
|
rmSync(cacheDir, { recursive: true, force: true });
|
|
257
275
|
}
|
|
258
276
|
mkdirSync(cacheDir, { recursive: true });
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
});
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
277
|
+
process.stderr.write(`=> Extracting ${basename(bundlePath)}...\n`);
|
|
278
|
+
await extractZip(bundlePath, cacheDir);
|
|
279
|
+
// Write local metadata
|
|
280
|
+
writeFileSync(join(cacheDir, '.mpak-meta.json'), JSON.stringify({
|
|
281
|
+
localPath: bundlePath,
|
|
282
|
+
extractedAt: new Date().toISOString(),
|
|
283
|
+
}));
|
|
284
|
+
}
|
|
285
|
+
// Read manifest to get package name for config lookup
|
|
286
|
+
const manifest = readManifest(cacheDir);
|
|
287
|
+
packageName = manifest.name;
|
|
288
|
+
process.stderr.write(`=> Running ${packageName} (local)\n`);
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
// === REGISTRY MODE ===
|
|
292
|
+
const { name, version: requestedVersion } = parsePackageSpec(packageSpec);
|
|
293
|
+
packageName = name;
|
|
294
|
+
const client = new RegistryClient();
|
|
295
|
+
const platform = RegistryClient.detectPlatform();
|
|
296
|
+
cacheDir = getCacheDir(name);
|
|
297
|
+
let needsPull = true;
|
|
298
|
+
let cachedMeta = getCacheMetadata(cacheDir);
|
|
299
|
+
// Check if we have a cached version
|
|
300
|
+
if (cachedMeta && !options.update) {
|
|
301
|
+
if (requestedVersion) {
|
|
302
|
+
// Specific version requested - check if cached version matches
|
|
303
|
+
needsPull = cachedMeta.version !== requestedVersion;
|
|
304
|
+
}
|
|
305
|
+
else {
|
|
306
|
+
// Latest requested - use cache (user can --update to refresh)
|
|
307
|
+
needsPull = false;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
if (needsPull) {
|
|
311
|
+
// Fetch download info
|
|
312
|
+
const downloadInfo = await client.getDownloadInfo(name, requestedVersion, platform);
|
|
313
|
+
const bundle = downloadInfo.bundle;
|
|
314
|
+
// Check if cached version is already the latest
|
|
315
|
+
if (cachedMeta && cachedMeta.version === bundle.version && !options.update) {
|
|
316
|
+
needsPull = false;
|
|
317
|
+
}
|
|
318
|
+
if (needsPull) {
|
|
319
|
+
// Download to temp file
|
|
320
|
+
const tempPath = join(homedir(), '.mpak', 'tmp', `${Date.now()}.mcpb`);
|
|
321
|
+
mkdirSync(dirname(tempPath), { recursive: true });
|
|
322
|
+
process.stderr.write(`=> Pulling ${name}@${bundle.version}...\n`);
|
|
323
|
+
await client.downloadBundle(downloadInfo.url, tempPath);
|
|
324
|
+
// Clear old cache and extract
|
|
325
|
+
if (existsSync(cacheDir)) {
|
|
326
|
+
rmSync(cacheDir, { recursive: true, force: true });
|
|
327
|
+
}
|
|
328
|
+
mkdirSync(cacheDir, { recursive: true });
|
|
329
|
+
await extractZip(tempPath, cacheDir);
|
|
330
|
+
// Write metadata
|
|
331
|
+
writeCacheMetadata(cacheDir, {
|
|
332
|
+
version: bundle.version,
|
|
333
|
+
pulledAt: new Date().toISOString(),
|
|
334
|
+
platform: bundle.platform,
|
|
335
|
+
});
|
|
336
|
+
// Cleanup temp file
|
|
337
|
+
rmSync(tempPath, { force: true });
|
|
338
|
+
process.stderr.write(`=> Cached ${name}@${bundle.version}\n`);
|
|
339
|
+
}
|
|
269
340
|
}
|
|
270
341
|
}
|
|
271
342
|
// Read manifest and execute
|
|
@@ -275,7 +346,7 @@ export async function handleRun(packageSpec, options = {}) {
|
|
|
275
346
|
let userConfigValues = {};
|
|
276
347
|
if (manifest.user_config && Object.keys(manifest.user_config).length > 0) {
|
|
277
348
|
const configManager = new ConfigManager();
|
|
278
|
-
userConfigValues = await gatherUserConfigValues(
|
|
349
|
+
userConfigValues = await gatherUserConfigValues(packageName, manifest.user_config, configManager);
|
|
279
350
|
}
|
|
280
351
|
// Substitute user_config placeholders in env vars
|
|
281
352
|
// Priority: process.env (from parent like Claude Desktop) > substituted values (from mpak config)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/packages/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/packages/run.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
File without changes
|
package/dist/program.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC;;;;;;;;GAQG;AACH,wBAAgB,aAAa,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC;;;;;;;;GAQG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAiMvC"}
|
package/dist/program.js
CHANGED
|
@@ -37,6 +37,17 @@ export function createProgram() {
|
|
|
37
37
|
await handleUnifiedSearch(query, options);
|
|
38
38
|
});
|
|
39
39
|
// ==========================================================================
|
|
40
|
+
// Top-level run alias (for Claude Code integration)
|
|
41
|
+
// ==========================================================================
|
|
42
|
+
program
|
|
43
|
+
.command('run [package]')
|
|
44
|
+
.description('Run an MCP server (alias for "bundle run")')
|
|
45
|
+
.option('--update', 'Force re-download even if cached')
|
|
46
|
+
.option('-l, --local <path>', 'Run a local .mcpb bundle file')
|
|
47
|
+
.action(async (packageSpec, options) => {
|
|
48
|
+
await handleRun(packageSpec || '', options);
|
|
49
|
+
});
|
|
50
|
+
// ==========================================================================
|
|
40
51
|
// Bundle namespace (MCP bundles)
|
|
41
52
|
// ==========================================================================
|
|
42
53
|
const bundle = program.command('bundle').description('MCP bundle commands');
|
|
@@ -69,11 +80,12 @@ export function createProgram() {
|
|
|
69
80
|
await handlePull(packageSpec, options);
|
|
70
81
|
});
|
|
71
82
|
bundle
|
|
72
|
-
.command('run
|
|
83
|
+
.command('run [package]')
|
|
73
84
|
.description('Run an MCP server from the registry')
|
|
74
85
|
.option('--update', 'Force re-download even if cached')
|
|
86
|
+
.option('-l, --local <path>', 'Run a local .mcpb bundle file')
|
|
75
87
|
.action(async (packageSpec, options) => {
|
|
76
|
-
await handleRun(packageSpec, options);
|
|
88
|
+
await handleRun(packageSpec || '', options);
|
|
77
89
|
});
|
|
78
90
|
// ==========================================================================
|
|
79
91
|
// Skill namespace (Agent Skills)
|
package/dist/program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EACL,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,eAAe,GAChB,MAAM,4BAA4B,CAAC;AAEpC;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,MAAM,CAAC;SACZ,WAAW,CAAC,sCAAsC,CAAC;SACnD,OAAO,CAAC,UAAU,EAAE,EAAE,eAAe,EAAE,4BAA4B,CAAC,CAAC;IAExE,6EAA6E;IAC7E,oCAAoC;IACpC,6EAA6E;IAE7E,OAAO;SACJ,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,eAAe,EAAE,gCAAgC,CAAC;SACzD,MAAM,CAAC,gBAAgB,EAAE,kCAAkC,CAAC;SAC5D,MAAM,CAAC,kBAAkB,EAAE,eAAe,EAAE,QAAQ,CAAC;SACrD,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,QAAQ,CAAC;SAC1D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEL,6EAA6E;IAC7E,oDAAoD;IACpD,6EAA6E;IAE7E,OAAO;SACJ,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,UAAU,EAAE,kCAAkC,CAAC;SACtD,MAAM,CAAC,oBAAoB,EAAE,+BAA+B,CAAC;SAC7D,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;QACrC,MAAM,SAAS,CAAC,WAAW,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEL,6EAA6E;IAC7E,iCAAiC;IACjC,6EAA6E;IAE7E,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAE5E,MAAM;SACH,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,uBAAuB,CAAC;SACpC,MAAM,CAAC,eAAe,EAAE,8CAA8C,CAAC;SACvE,MAAM,CAAC,gBAAgB,EAAE,kCAAkC,CAAC;SAC5D,MAAM,CAAC,kBAAkB,EAAE,eAAe,EAAE,QAAQ,CAAC;SACrD,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,QAAQ,CAAC;SAC1D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEL,MAAM;SACH,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;QACrC,MAAM,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEL,MAAM;SACH,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;SACjD,MAAM,CAAC,WAAW,EAAE,kCAAkC,CAAC;SACvD,MAAM,CAAC,eAAe,EAAE,kCAAkC,CAAC;SAC3D,MAAM,CAAC,QAAQ,EAAE,8BAA8B,CAAC;SAChD,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;QACrC,MAAM,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEL,MAAM;SACH,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,UAAU,EAAE,kCAAkC,CAAC;SACtD,MAAM,CAAC,oBAAoB,EAAE,+BAA+B,CAAC;SAC7D,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;QACrC,MAAM,SAAS,CAAC,WAAW,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEL,6EAA6E;IAC7E,iCAAiC;IACjC,6EAA6E;IAE7E,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAE3E,KAAK;SACF,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,0DAA0D,CAAC;SACvE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAC9B,MAAM,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEL,KAAK;SACF,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;SACjD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAC9B,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEL,KAAK;SACF,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,eAAe,EAAE,kCAAkC,CAAC;SAC3D,MAAM,CAAC,uBAAuB,EAAE,oBAAoB,CAAC;SACrD,MAAM,CAAC,qBAAqB,EAAE,wDAAwD,CAAC;SACvF,MAAM,CAAC,gBAAgB,EAAE,kCAAkC,CAAC;SAC5D,MAAM,CAAC,kBAAkB,EAAE,eAAe,EAAE,QAAQ,CAAC;SACrD,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,QAAQ,CAAC;SAC1D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEL,KAAK;SACF,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,yCAAyC,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAC9B,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEL,KAAK;SACF,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;SACjD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAC9B,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEL,KAAK;SACF,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,SAAS,EAAE,iCAAiC,CAAC;SACpD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAC9B,MAAM,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEL,KAAK;SACF,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,uBAAuB,CAAC;SACpC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEL,6EAA6E;IAC7E,kDAAkD;IAClD,6EAA6E;IAE7E,MAAM,SAAS,GAAG,OAAO;SACtB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,yCAAyC,CAAC,CAAC;IAE1D,SAAS;SACN,OAAO,CAAC,8BAA8B,CAAC;SACvC,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE;QAC3C,MAAM,eAAe,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEL,SAAS;SACN,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;QACrC,MAAM,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEL,SAAS;SACN,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEL,SAAS;SACN,OAAO,CAAC,uBAAuB,CAAC;SAChC,WAAW,CAAC,yDAAyD,CAAC;SACtE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE;QACjC,MAAM,iBAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { describe, it, expect } from 'vitest';
|
|
2
2
|
import { homedir } from 'os';
|
|
3
3
|
import { join } from 'path';
|
|
4
|
-
import { parsePackageSpec, getCacheDir, resolveArgs, substituteUserConfig, substituteEnvVars } from './run.js';
|
|
4
|
+
import { parsePackageSpec, getCacheDir, resolveArgs, substituteUserConfig, substituteEnvVars, getLocalCacheDir, localBundleNeedsExtract } from './run.js';
|
|
5
5
|
|
|
6
6
|
describe('parsePackageSpec', () => {
|
|
7
7
|
describe('scoped packages', () => {
|
|
@@ -220,3 +220,42 @@ describe('substituteEnvVars', () => {
|
|
|
220
220
|
});
|
|
221
221
|
});
|
|
222
222
|
});
|
|
223
|
+
|
|
224
|
+
describe('getLocalCacheDir', () => {
|
|
225
|
+
const expectedBase = join(homedir(), '.mpak', 'cache', '_local');
|
|
226
|
+
|
|
227
|
+
it('returns consistent hash for same path', () => {
|
|
228
|
+
const dir1 = getLocalCacheDir('/path/to/bundle.mcpb');
|
|
229
|
+
const dir2 = getLocalCacheDir('/path/to/bundle.mcpb');
|
|
230
|
+
expect(dir1).toBe(dir2);
|
|
231
|
+
});
|
|
232
|
+
|
|
233
|
+
it('returns different hash for different paths', () => {
|
|
234
|
+
const dir1 = getLocalCacheDir('/path/to/bundle1.mcpb');
|
|
235
|
+
const dir2 = getLocalCacheDir('/path/to/bundle2.mcpb');
|
|
236
|
+
expect(dir1).not.toBe(dir2);
|
|
237
|
+
});
|
|
238
|
+
|
|
239
|
+
it('includes _local in path', () => {
|
|
240
|
+
const dir = getLocalCacheDir('/path/to/bundle.mcpb');
|
|
241
|
+
expect(dir).toContain('_local');
|
|
242
|
+
expect(dir.startsWith(expectedBase)).toBe(true);
|
|
243
|
+
});
|
|
244
|
+
|
|
245
|
+
it('produces a 12-character hash suffix', () => {
|
|
246
|
+
const dir = getLocalCacheDir('/path/to/bundle.mcpb');
|
|
247
|
+
const hashPart = dir.split('/').pop();
|
|
248
|
+
expect(hashPart).toHaveLength(12);
|
|
249
|
+
});
|
|
250
|
+
});
|
|
251
|
+
|
|
252
|
+
describe('localBundleNeedsExtract', () => {
|
|
253
|
+
it('returns true when cache directory does not exist', () => {
|
|
254
|
+
expect(localBundleNeedsExtract('/any/path.mcpb', '/nonexistent/cache')).toBe(true);
|
|
255
|
+
});
|
|
256
|
+
|
|
257
|
+
it('returns true when meta file does not exist in cache dir', () => {
|
|
258
|
+
// Using a directory that exists but has no .mpak-meta.json
|
|
259
|
+
expect(localBundleNeedsExtract('/any/path.mcpb', '/tmp')).toBe(true);
|
|
260
|
+
});
|
|
261
|
+
});
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { spawn, spawnSync } from 'child_process';
|
|
2
2
|
import { createInterface } from 'readline';
|
|
3
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync, chmodSync } from 'fs';
|
|
3
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync, chmodSync, rmSync, statSync } from 'fs';
|
|
4
|
+
import { createHash } from 'crypto';
|
|
4
5
|
import { homedir } from 'os';
|
|
5
|
-
import { join, dirname } from 'path';
|
|
6
|
+
import { join, dirname, resolve, basename } from 'path';
|
|
6
7
|
import { RegistryClient } from '../../lib/api/registry-client.js';
|
|
7
8
|
import { ConfigManager } from '../../utils/config-manager.js';
|
|
8
9
|
|
|
9
10
|
export interface RunOptions {
|
|
10
11
|
update?: boolean;
|
|
12
|
+
local?: string; // Path to local .mcpb file
|
|
11
13
|
}
|
|
12
14
|
|
|
13
15
|
interface McpConfig {
|
|
@@ -169,6 +171,33 @@ export function substituteEnvVars(
|
|
|
169
171
|
return result;
|
|
170
172
|
}
|
|
171
173
|
|
|
174
|
+
/**
|
|
175
|
+
* Get cache directory for a local bundle.
|
|
176
|
+
* Uses hash of absolute path to avoid collisions.
|
|
177
|
+
*/
|
|
178
|
+
export function getLocalCacheDir(bundlePath: string): string {
|
|
179
|
+
const absolutePath = resolve(bundlePath);
|
|
180
|
+
const hash = createHash('md5').update(absolutePath).digest('hex').slice(0, 12);
|
|
181
|
+
return join(homedir(), '.mpak', 'cache', '_local', hash);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Check if local bundle needs re-extraction.
|
|
186
|
+
* Returns true if cache doesn't exist or bundle was modified after extraction.
|
|
187
|
+
*/
|
|
188
|
+
export function localBundleNeedsExtract(bundlePath: string, cacheDir: string): boolean {
|
|
189
|
+
const metaPath = join(cacheDir, '.mpak-meta.json');
|
|
190
|
+
if (!existsSync(metaPath)) return true;
|
|
191
|
+
|
|
192
|
+
try {
|
|
193
|
+
const meta = JSON.parse(readFileSync(metaPath, 'utf8'));
|
|
194
|
+
const bundleStat = statSync(bundlePath);
|
|
195
|
+
return bundleStat.mtimeMs > new Date(meta.extractedAt).getTime();
|
|
196
|
+
} catch {
|
|
197
|
+
return true;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
172
201
|
/**
|
|
173
202
|
* Prompt user for a config value (interactive terminal input)
|
|
174
203
|
*/
|
|
@@ -295,69 +324,125 @@ function findPythonCommand(): string {
|
|
|
295
324
|
}
|
|
296
325
|
|
|
297
326
|
/**
|
|
298
|
-
* Run a package from the registry
|
|
327
|
+
* Run a package from the registry or a local bundle file
|
|
299
328
|
*/
|
|
300
329
|
export async function handleRun(
|
|
301
330
|
packageSpec: string,
|
|
302
331
|
options: RunOptions = {}
|
|
303
332
|
): Promise<void> {
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
let needsPull = true;
|
|
310
|
-
let cachedMeta = getCacheMetadata(cacheDir);
|
|
311
|
-
|
|
312
|
-
// Check if we have a cached version
|
|
313
|
-
if (cachedMeta && !options.update) {
|
|
314
|
-
if (requestedVersion) {
|
|
315
|
-
// Specific version requested - check if cached version matches
|
|
316
|
-
needsPull = cachedMeta.version !== requestedVersion;
|
|
317
|
-
} else {
|
|
318
|
-
// Latest requested - use cache (user can --update to refresh)
|
|
319
|
-
needsPull = false;
|
|
320
|
-
}
|
|
333
|
+
// Validate that either --local or package spec is provided
|
|
334
|
+
if (!options.local && !packageSpec) {
|
|
335
|
+
process.stderr.write(`=> Error: Either provide a package name or use --local <path>\n`);
|
|
336
|
+
process.exit(1);
|
|
321
337
|
}
|
|
322
338
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
339
|
+
let cacheDir: string;
|
|
340
|
+
let packageName: string;
|
|
341
|
+
|
|
342
|
+
if (options.local) {
|
|
343
|
+
// === LOCAL BUNDLE MODE ===
|
|
344
|
+
const bundlePath = resolve(options.local);
|
|
327
345
|
|
|
328
|
-
//
|
|
329
|
-
if (
|
|
330
|
-
|
|
346
|
+
// Validate bundle exists
|
|
347
|
+
if (!existsSync(bundlePath)) {
|
|
348
|
+
process.stderr.write(`=> Error: Bundle not found: ${bundlePath}\n`);
|
|
349
|
+
process.exit(1);
|
|
331
350
|
}
|
|
332
351
|
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
352
|
+
// Validate .mcpb extension
|
|
353
|
+
if (!bundlePath.endsWith('.mcpb')) {
|
|
354
|
+
process.stderr.write(`=> Error: Not an MCPB bundle: ${bundlePath}\n`);
|
|
355
|
+
process.exit(1);
|
|
356
|
+
}
|
|
337
357
|
|
|
338
|
-
|
|
339
|
-
|
|
358
|
+
cacheDir = getLocalCacheDir(bundlePath);
|
|
359
|
+
const needsExtract = options.update || localBundleNeedsExtract(bundlePath, cacheDir);
|
|
340
360
|
|
|
341
|
-
|
|
342
|
-
|
|
361
|
+
if (needsExtract) {
|
|
362
|
+
// Clear old extraction
|
|
343
363
|
if (existsSync(cacheDir)) {
|
|
344
364
|
rmSync(cacheDir, { recursive: true, force: true });
|
|
345
365
|
}
|
|
346
366
|
mkdirSync(cacheDir, { recursive: true });
|
|
347
367
|
|
|
348
|
-
|
|
368
|
+
process.stderr.write(`=> Extracting ${basename(bundlePath)}...\n`);
|
|
369
|
+
await extractZip(bundlePath, cacheDir);
|
|
370
|
+
|
|
371
|
+
// Write local metadata
|
|
372
|
+
writeFileSync(
|
|
373
|
+
join(cacheDir, '.mpak-meta.json'),
|
|
374
|
+
JSON.stringify({
|
|
375
|
+
localPath: bundlePath,
|
|
376
|
+
extractedAt: new Date().toISOString(),
|
|
377
|
+
})
|
|
378
|
+
);
|
|
379
|
+
}
|
|
349
380
|
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
381
|
+
// Read manifest to get package name for config lookup
|
|
382
|
+
const manifest = readManifest(cacheDir);
|
|
383
|
+
packageName = manifest.name;
|
|
384
|
+
process.stderr.write(`=> Running ${packageName} (local)\n`);
|
|
385
|
+
|
|
386
|
+
} else {
|
|
387
|
+
// === REGISTRY MODE ===
|
|
388
|
+
const { name, version: requestedVersion } = parsePackageSpec(packageSpec);
|
|
389
|
+
packageName = name;
|
|
390
|
+
const client = new RegistryClient();
|
|
391
|
+
const platform = RegistryClient.detectPlatform();
|
|
392
|
+
cacheDir = getCacheDir(name);
|
|
393
|
+
|
|
394
|
+
let needsPull = true;
|
|
395
|
+
let cachedMeta = getCacheMetadata(cacheDir);
|
|
396
|
+
|
|
397
|
+
// Check if we have a cached version
|
|
398
|
+
if (cachedMeta && !options.update) {
|
|
399
|
+
if (requestedVersion) {
|
|
400
|
+
// Specific version requested - check if cached version matches
|
|
401
|
+
needsPull = cachedMeta.version !== requestedVersion;
|
|
402
|
+
} else {
|
|
403
|
+
// Latest requested - use cache (user can --update to refresh)
|
|
404
|
+
needsPull = false;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
if (needsPull) {
|
|
409
|
+
// Fetch download info
|
|
410
|
+
const downloadInfo = await client.getDownloadInfo(name, requestedVersion, platform);
|
|
411
|
+
const bundle = downloadInfo.bundle;
|
|
356
412
|
|
|
357
|
-
//
|
|
358
|
-
|
|
413
|
+
// Check if cached version is already the latest
|
|
414
|
+
if (cachedMeta && cachedMeta.version === bundle.version && !options.update) {
|
|
415
|
+
needsPull = false;
|
|
416
|
+
}
|
|
359
417
|
|
|
360
|
-
|
|
418
|
+
if (needsPull) {
|
|
419
|
+
// Download to temp file
|
|
420
|
+
const tempPath = join(homedir(), '.mpak', 'tmp', `${Date.now()}.mcpb`);
|
|
421
|
+
mkdirSync(dirname(tempPath), { recursive: true });
|
|
422
|
+
|
|
423
|
+
process.stderr.write(`=> Pulling ${name}@${bundle.version}...\n`);
|
|
424
|
+
await client.downloadBundle(downloadInfo.url, tempPath);
|
|
425
|
+
|
|
426
|
+
// Clear old cache and extract
|
|
427
|
+
if (existsSync(cacheDir)) {
|
|
428
|
+
rmSync(cacheDir, { recursive: true, force: true });
|
|
429
|
+
}
|
|
430
|
+
mkdirSync(cacheDir, { recursive: true });
|
|
431
|
+
|
|
432
|
+
await extractZip(tempPath, cacheDir);
|
|
433
|
+
|
|
434
|
+
// Write metadata
|
|
435
|
+
writeCacheMetadata(cacheDir, {
|
|
436
|
+
version: bundle.version,
|
|
437
|
+
pulledAt: new Date().toISOString(),
|
|
438
|
+
platform: bundle.platform,
|
|
439
|
+
});
|
|
440
|
+
|
|
441
|
+
// Cleanup temp file
|
|
442
|
+
rmSync(tempPath, { force: true });
|
|
443
|
+
|
|
444
|
+
process.stderr.write(`=> Cached ${name}@${bundle.version}\n`);
|
|
445
|
+
}
|
|
361
446
|
}
|
|
362
447
|
}
|
|
363
448
|
|
|
@@ -369,7 +454,7 @@ export async function handleRun(
|
|
|
369
454
|
let userConfigValues: Record<string, string> = {};
|
|
370
455
|
if (manifest.user_config && Object.keys(manifest.user_config).length > 0) {
|
|
371
456
|
const configManager = new ConfigManager();
|
|
372
|
-
userConfigValues = await gatherUserConfigValues(
|
|
457
|
+
userConfigValues = await gatherUserConfigValues(packageName, manifest.user_config, configManager);
|
|
373
458
|
}
|
|
374
459
|
|
|
375
460
|
// Substitute user_config placeholders in env vars
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
2
|
-
import { mkdirSync, writeFileSync, rmSync, existsSync
|
|
2
|
+
import { mkdirSync, writeFileSync, rmSync, existsSync } from 'fs';
|
|
3
3
|
import { join, basename } from 'path';
|
|
4
4
|
import { tmpdir } from 'os';
|
|
5
5
|
import { packSkill } from './pack.js';
|
package/src/program.ts
CHANGED
|
@@ -54,6 +54,19 @@ export function createProgram(): Command {
|
|
|
54
54
|
await handleUnifiedSearch(query, options);
|
|
55
55
|
});
|
|
56
56
|
|
|
57
|
+
// ==========================================================================
|
|
58
|
+
// Top-level run alias (for Claude Code integration)
|
|
59
|
+
// ==========================================================================
|
|
60
|
+
|
|
61
|
+
program
|
|
62
|
+
.command('run [package]')
|
|
63
|
+
.description('Run an MCP server (alias for "bundle run")')
|
|
64
|
+
.option('--update', 'Force re-download even if cached')
|
|
65
|
+
.option('-l, --local <path>', 'Run a local .mcpb bundle file')
|
|
66
|
+
.action(async (packageSpec, options) => {
|
|
67
|
+
await handleRun(packageSpec || '', options);
|
|
68
|
+
});
|
|
69
|
+
|
|
57
70
|
// ==========================================================================
|
|
58
71
|
// Bundle namespace (MCP bundles)
|
|
59
72
|
// ==========================================================================
|
|
@@ -92,11 +105,12 @@ export function createProgram(): Command {
|
|
|
92
105
|
});
|
|
93
106
|
|
|
94
107
|
bundle
|
|
95
|
-
.command('run
|
|
108
|
+
.command('run [package]')
|
|
96
109
|
.description('Run an MCP server from the registry')
|
|
97
110
|
.option('--update', 'Force re-download even if cached')
|
|
111
|
+
.option('-l, --local <path>', 'Run a local .mcpb bundle file')
|
|
98
112
|
.action(async (packageSpec, options) => {
|
|
99
|
-
await handleRun(packageSpec, options);
|
|
113
|
+
await handleRun(packageSpec || '', options);
|
|
100
114
|
});
|
|
101
115
|
|
|
102
116
|
// ==========================================================================
|