@nimblebrain/mpak 0.0.2 → 0.2.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/LICENSE +10 -198
- package/README.md +50 -360
- package/dist/index.d.ts +0 -2
- package/dist/index.js +2113 -4
- package/dist/index.js.map +1 -1
- package/package.json +32 -29
- package/.claude/settings.local.json +0 -19
- package/.env.example +0 -13
- package/.github/workflows/ci.yml +0 -27
- package/CLAUDE.md +0 -271
- package/dist/commands/config.d.ts +0 -31
- package/dist/commands/config.d.ts.map +0 -1
- package/dist/commands/config.js +0 -129
- package/dist/commands/config.js.map +0 -1
- package/dist/commands/packages/pull.d.ts +0 -11
- package/dist/commands/packages/pull.d.ts.map +0 -1
- package/dist/commands/packages/pull.js +0 -72
- package/dist/commands/packages/pull.js.map +0 -1
- package/dist/commands/packages/run.d.ts +0 -36
- package/dist/commands/packages/run.d.ts.map +0 -1
- package/dist/commands/packages/run.js +0 -348
- package/dist/commands/packages/run.js.map +0 -1
- package/dist/commands/packages/search.d.ts +0 -12
- package/dist/commands/packages/search.d.ts.map +0 -1
- package/dist/commands/packages/search.js +0 -63
- package/dist/commands/packages/search.js.map +0 -1
- package/dist/commands/packages/show.d.ts +0 -8
- package/dist/commands/packages/show.d.ts.map +0 -1
- package/dist/commands/packages/show.js +0 -109
- package/dist/commands/packages/show.js.map +0 -1
- package/dist/commands/search.d.ts +0 -12
- package/dist/commands/search.d.ts.map +0 -1
- package/dist/commands/search.js +0 -144
- package/dist/commands/search.js.map +0 -1
- package/dist/commands/skills/index.d.ts +0 -8
- package/dist/commands/skills/index.d.ts.map +0 -1
- package/dist/commands/skills/index.js +0 -8
- package/dist/commands/skills/index.js.map +0 -1
- package/dist/commands/skills/install.d.ts +0 -9
- package/dist/commands/skills/install.d.ts.map +0 -1
- package/dist/commands/skills/install.js +0 -110
- package/dist/commands/skills/install.js.map +0 -1
- package/dist/commands/skills/list.d.ts +0 -8
- package/dist/commands/skills/list.d.ts.map +0 -1
- package/dist/commands/skills/list.js +0 -89
- package/dist/commands/skills/list.js.map +0 -1
- package/dist/commands/skills/pack.d.ts +0 -22
- package/dist/commands/skills/pack.d.ts.map +0 -1
- package/dist/commands/skills/pack.js +0 -116
- package/dist/commands/skills/pack.js.map +0 -1
- package/dist/commands/skills/pull.d.ts +0 -9
- package/dist/commands/skills/pull.d.ts.map +0 -1
- package/dist/commands/skills/pull.js +0 -68
- package/dist/commands/skills/pull.js.map +0 -1
- package/dist/commands/skills/search.d.ts +0 -14
- package/dist/commands/skills/search.d.ts.map +0 -1
- package/dist/commands/skills/search.js +0 -53
- package/dist/commands/skills/search.js.map +0 -1
- package/dist/commands/skills/show.d.ts +0 -8
- package/dist/commands/skills/show.d.ts.map +0 -1
- package/dist/commands/skills/show.js +0 -64
- package/dist/commands/skills/show.js.map +0 -1
- package/dist/commands/skills/validate.d.ts +0 -25
- package/dist/commands/skills/validate.d.ts.map +0 -1
- package/dist/commands/skills/validate.js +0 -191
- package/dist/commands/skills/validate.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/api/registry-client.d.ts +0 -63
- package/dist/lib/api/registry-client.d.ts.map +0 -1
- package/dist/lib/api/registry-client.js +0 -167
- package/dist/lib/api/registry-client.js.map +0 -1
- package/dist/lib/api/skills-client.d.ts +0 -30
- package/dist/lib/api/skills-client.d.ts.map +0 -1
- package/dist/lib/api/skills-client.js +0 -110
- package/dist/lib/api/skills-client.js.map +0 -1
- package/dist/program.d.ts +0 -12
- package/dist/program.d.ts.map +0 -1
- package/dist/program.js +0 -174
- package/dist/program.js.map +0 -1
- package/dist/schemas/generated/api-responses.d.ts +0 -541
- package/dist/schemas/generated/api-responses.d.ts.map +0 -1
- package/dist/schemas/generated/api-responses.js +0 -313
- package/dist/schemas/generated/api-responses.js.map +0 -1
- package/dist/schemas/generated/auth.d.ts +0 -18
- package/dist/schemas/generated/auth.d.ts.map +0 -1
- package/dist/schemas/generated/auth.js +0 -18
- package/dist/schemas/generated/auth.js.map +0 -1
- package/dist/schemas/generated/index.d.ts +0 -5
- package/dist/schemas/generated/index.d.ts.map +0 -1
- package/dist/schemas/generated/index.js +0 -6
- package/dist/schemas/generated/index.js.map +0 -1
- package/dist/schemas/generated/package.d.ts +0 -43
- package/dist/schemas/generated/package.d.ts.map +0 -1
- package/dist/schemas/generated/package.js +0 -20
- package/dist/schemas/generated/package.js.map +0 -1
- package/dist/schemas/generated/skill.d.ts +0 -381
- package/dist/schemas/generated/skill.d.ts.map +0 -1
- package/dist/schemas/generated/skill.js +0 -216
- package/dist/schemas/generated/skill.js.map +0 -1
- package/dist/utils/config-manager.d.ts +0 -66
- package/dist/utils/config-manager.d.ts.map +0 -1
- package/dist/utils/config-manager.js +0 -193
- package/dist/utils/config-manager.js.map +0 -1
- package/dist/utils/errors.d.ts +0 -12
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/errors.js +0 -27
- package/dist/utils/errors.js.map +0 -1
- package/dist/utils/version.d.ts +0 -5
- package/dist/utils/version.d.ts.map +0 -1
- package/dist/utils/version.js +0 -19
- package/dist/utils/version.js.map +0 -1
- package/eslint.config.js +0 -63
- package/src/commands/config.ts +0 -162
- package/src/commands/packages/pull.ts +0 -96
- package/src/commands/packages/run.test.ts +0 -222
- package/src/commands/packages/run.ts +0 -451
- package/src/commands/packages/search.ts +0 -83
- package/src/commands/packages/show.ts +0 -128
- package/src/commands/search.ts +0 -191
- package/src/commands/skills/index.ts +0 -7
- package/src/commands/skills/install.ts +0 -129
- package/src/commands/skills/list.ts +0 -116
- package/src/commands/skills/pack.test.ts +0 -260
- package/src/commands/skills/pack.ts +0 -145
- package/src/commands/skills/pull.ts +0 -88
- package/src/commands/skills/search.ts +0 -73
- package/src/commands/skills/show.ts +0 -72
- package/src/commands/skills/validate.test.ts +0 -466
- package/src/commands/skills/validate.ts +0 -227
- package/src/index.ts +0 -11
- package/src/lib/api/registry-client.ts +0 -223
- package/src/lib/api/schema.d.ts +0 -520
- package/src/lib/api/skills-client.ts +0 -148
- package/src/program.test.ts +0 -22
- package/src/program.ts +0 -212
- package/src/schemas/config.v1.schema.json +0 -37
- package/src/schemas/generated/api-responses.ts +0 -386
- package/src/schemas/generated/auth.ts +0 -21
- package/src/schemas/generated/index.ts +0 -5
- package/src/schemas/generated/package.ts +0 -29
- package/src/schemas/generated/skill.ts +0 -271
- package/src/utils/config-manager.test.ts +0 -330
- package/src/utils/config-manager.ts +0 -272
- package/src/utils/errors.test.ts +0 -25
- package/src/utils/errors.ts +0 -33
- package/src/utils/version.test.ts +0 -16
- package/src/utils/version.ts +0 -18
- package/test/integration/registry-client.test.ts +0 -180
- package/tsconfig.check.json +0 -9
- package/tsconfig.json +0 -25
- package/vitest.config.ts +0 -14
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import { ConfigManager } from '../../utils/config-manager.js';
|
|
2
|
-
// =============================================================================
|
|
3
|
-
// Registry Client (v1 API only)
|
|
4
|
-
// =============================================================================
|
|
5
|
-
/**
|
|
6
|
-
* Client for interacting with the mpak registry v1 API
|
|
7
|
-
*
|
|
8
|
-
* All methods use the public /v1/bundles API (unauthenticated)
|
|
9
|
-
*/
|
|
10
|
-
export class RegistryClient {
|
|
11
|
-
baseUrl;
|
|
12
|
-
constructor() {
|
|
13
|
-
const configManager = new ConfigManager();
|
|
14
|
-
this.baseUrl = configManager.getRegistryUrl();
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Search bundles
|
|
18
|
-
*/
|
|
19
|
-
async searchBundles(query, options = {}) {
|
|
20
|
-
const params = new URLSearchParams();
|
|
21
|
-
if (query)
|
|
22
|
-
params.set('q', query);
|
|
23
|
-
if (options.type)
|
|
24
|
-
params.set('type', options.type);
|
|
25
|
-
if (options.sort)
|
|
26
|
-
params.set('sort', options.sort);
|
|
27
|
-
if (options.limit)
|
|
28
|
-
params.set('limit', options.limit.toString());
|
|
29
|
-
if (options.offset)
|
|
30
|
-
params.set('offset', options.offset.toString());
|
|
31
|
-
const url = `${this.baseUrl}/v1/bundles/search?${params.toString()}`;
|
|
32
|
-
const response = await fetch(url);
|
|
33
|
-
if (!response.ok) {
|
|
34
|
-
const error = await response.json().catch(() => ({ error: response.statusText }));
|
|
35
|
-
const errorMessage = typeof error.error === 'string'
|
|
36
|
-
? error.error
|
|
37
|
-
: error.error?.message || `Failed to search bundles: ${response.statusText}`;
|
|
38
|
-
throw new Error(errorMessage);
|
|
39
|
-
}
|
|
40
|
-
return response.json();
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Get bundle details
|
|
44
|
-
*/
|
|
45
|
-
async getBundle(packageName) {
|
|
46
|
-
if (!packageName.startsWith('@')) {
|
|
47
|
-
throw new Error('Package name must be scoped (e.g., @username/package-name)');
|
|
48
|
-
}
|
|
49
|
-
const url = `${this.baseUrl}/v1/bundles/${packageName}`;
|
|
50
|
-
const response = await fetch(url);
|
|
51
|
-
if (!response.ok) {
|
|
52
|
-
if (response.status === 404) {
|
|
53
|
-
throw new Error(`Bundle not found: ${packageName}`);
|
|
54
|
-
}
|
|
55
|
-
const error = await response.json().catch(() => ({ error: response.statusText }));
|
|
56
|
-
const errorMessage = typeof error.error === 'string'
|
|
57
|
-
? error.error
|
|
58
|
-
: error.error?.message || `Failed to get bundle details: ${response.statusText}`;
|
|
59
|
-
throw new Error(errorMessage);
|
|
60
|
-
}
|
|
61
|
-
return response.json();
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Get versions with platform info
|
|
65
|
-
*/
|
|
66
|
-
async getVersions(packageName) {
|
|
67
|
-
if (!packageName.startsWith('@')) {
|
|
68
|
-
throw new Error('Package name must be scoped (e.g., @username/package-name)');
|
|
69
|
-
}
|
|
70
|
-
const url = `${this.baseUrl}/v1/bundles/${packageName}/versions`;
|
|
71
|
-
const response = await fetch(url);
|
|
72
|
-
if (!response.ok) {
|
|
73
|
-
if (response.status === 404) {
|
|
74
|
-
throw new Error(`Bundle not found: ${packageName}`);
|
|
75
|
-
}
|
|
76
|
-
const error = await response.json().catch(() => ({ error: response.statusText }));
|
|
77
|
-
const errorMessage = typeof error.error === 'string'
|
|
78
|
-
? error.error
|
|
79
|
-
: error.error?.message || `Failed to get versions: ${response.statusText}`;
|
|
80
|
-
throw new Error(errorMessage);
|
|
81
|
-
}
|
|
82
|
-
return response.json();
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Detect the current platform
|
|
86
|
-
*/
|
|
87
|
-
static detectPlatform() {
|
|
88
|
-
const platform = process.platform;
|
|
89
|
-
const arch = process.arch;
|
|
90
|
-
// Map Node.js platform names to MCPB spec names
|
|
91
|
-
let os;
|
|
92
|
-
switch (platform) {
|
|
93
|
-
case 'darwin':
|
|
94
|
-
os = 'darwin';
|
|
95
|
-
break;
|
|
96
|
-
case 'win32':
|
|
97
|
-
os = 'win32';
|
|
98
|
-
break;
|
|
99
|
-
case 'linux':
|
|
100
|
-
os = 'linux';
|
|
101
|
-
break;
|
|
102
|
-
default:
|
|
103
|
-
os = 'any';
|
|
104
|
-
}
|
|
105
|
-
// Map Node.js arch names to MCPB spec names
|
|
106
|
-
let mcpbArch;
|
|
107
|
-
switch (arch) {
|
|
108
|
-
case 'x64':
|
|
109
|
-
mcpbArch = 'x64';
|
|
110
|
-
break;
|
|
111
|
-
case 'arm64':
|
|
112
|
-
mcpbArch = 'arm64';
|
|
113
|
-
break;
|
|
114
|
-
default:
|
|
115
|
-
mcpbArch = 'any';
|
|
116
|
-
}
|
|
117
|
-
return { os, arch: mcpbArch };
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Get download info for a bundle version
|
|
121
|
-
*/
|
|
122
|
-
async getDownloadInfo(packageName, version, platform) {
|
|
123
|
-
if (!packageName.startsWith('@')) {
|
|
124
|
-
throw new Error('Package name must be scoped (e.g., @username/package-name)');
|
|
125
|
-
}
|
|
126
|
-
const versionPath = version ? `/versions/${version}` : '/versions/latest';
|
|
127
|
-
const params = new URLSearchParams();
|
|
128
|
-
if (platform) {
|
|
129
|
-
params.set('os', platform.os);
|
|
130
|
-
params.set('arch', platform.arch);
|
|
131
|
-
}
|
|
132
|
-
const queryString = params.toString();
|
|
133
|
-
const url = `${this.baseUrl}/v1/bundles/${packageName}${versionPath}/download${queryString ? `?${queryString}` : ''}`;
|
|
134
|
-
const response = await fetch(url, {
|
|
135
|
-
headers: {
|
|
136
|
-
Accept: 'application/json',
|
|
137
|
-
},
|
|
138
|
-
});
|
|
139
|
-
if (!response.ok) {
|
|
140
|
-
if (response.status === 404) {
|
|
141
|
-
throw new Error(version
|
|
142
|
-
? `Bundle version not found: ${packageName}@${version}`
|
|
143
|
-
: `Bundle not found: ${packageName}`);
|
|
144
|
-
}
|
|
145
|
-
const error = await response.json().catch(() => ({ error: response.statusText }));
|
|
146
|
-
const errorMessage = typeof error.error === 'string'
|
|
147
|
-
? error.error
|
|
148
|
-
: error.error?.message || `Failed to get download info: ${response.statusText}`;
|
|
149
|
-
throw new Error(errorMessage);
|
|
150
|
-
}
|
|
151
|
-
return response.json();
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* Download a bundle to a file
|
|
155
|
-
*/
|
|
156
|
-
async downloadBundle(downloadUrl, outputPath) {
|
|
157
|
-
const response = await fetch(downloadUrl);
|
|
158
|
-
if (!response.ok) {
|
|
159
|
-
throw new Error(`Failed to download bundle: ${response.statusText}`);
|
|
160
|
-
}
|
|
161
|
-
const arrayBuffer = await response.arrayBuffer();
|
|
162
|
-
const buffer = Buffer.from(arrayBuffer);
|
|
163
|
-
const fs = await import('fs');
|
|
164
|
-
fs.writeFileSync(outputPath, buffer);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
//# sourceMappingURL=registry-client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry-client.js","sourceRoot":"","sources":["../../../src/lib/api/registry-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Skills API client for mpak registry
|
|
3
|
-
*/
|
|
4
|
-
import type { SkillSearchResponse, SkillDetail, SkillDownloadInfo } from '../../schemas/generated/skill.js';
|
|
5
|
-
export interface SkillSearchOptions {
|
|
6
|
-
q?: string;
|
|
7
|
-
tags?: string;
|
|
8
|
-
category?: string;
|
|
9
|
-
surface?: string;
|
|
10
|
-
sort?: 'downloads' | 'recent' | 'name';
|
|
11
|
-
limit?: number;
|
|
12
|
-
offset?: number;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Search for skills in the registry
|
|
16
|
-
*/
|
|
17
|
-
export declare function searchSkills(options: SkillSearchOptions): Promise<SkillSearchResponse>;
|
|
18
|
-
/**
|
|
19
|
-
* Get skill details from the registry
|
|
20
|
-
*/
|
|
21
|
-
export declare function getSkillDetails(name: string): Promise<SkillDetail>;
|
|
22
|
-
/**
|
|
23
|
-
* Get download info for a skill
|
|
24
|
-
*/
|
|
25
|
-
export declare function getSkillDownloadInfo(name: string, version?: string): Promise<SkillDownloadInfo>;
|
|
26
|
-
/**
|
|
27
|
-
* Download a skill bundle
|
|
28
|
-
*/
|
|
29
|
-
export declare function downloadSkillBundle(downloadUrl: string, expectedSha256?: string): Promise<Buffer>;
|
|
30
|
-
//# sourceMappingURL=skills-client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skills-client.d.ts","sourceRoot":"","sources":["../../../src/lib/api/skills-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EAClB,MAAM,kCAAkC,CAAC;AAqB1C,MAAM,WAAW,kBAAkB;IACjC,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAwB5F;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAoBxE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,iBAAiB,CAAC,CAqB5B;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,CAmBjB"}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Skills API client for mpak registry
|
|
3
|
-
*/
|
|
4
|
-
const DEFAULT_REGISTRY_URL = 'https://api.mpak.dev';
|
|
5
|
-
function getRegistryUrl() {
|
|
6
|
-
return process.env.MPAK_REGISTRY_URL || DEFAULT_REGISTRY_URL;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Parse a scoped name into scope and name parts
|
|
10
|
-
* Handles both @scope/name and scope/name formats
|
|
11
|
-
*/
|
|
12
|
-
function parseScopedName(name) {
|
|
13
|
-
const normalizedName = name.startsWith('@') ? name.slice(1) : name;
|
|
14
|
-
const [scope, skillName] = normalizedName.split('/');
|
|
15
|
-
if (!scope || !skillName) {
|
|
16
|
-
throw new Error(`Invalid skill name format: ${name}. Expected @scope/name or scope/name`);
|
|
17
|
-
}
|
|
18
|
-
return { scope, skillName };
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Search for skills in the registry
|
|
22
|
-
*/
|
|
23
|
-
export async function searchSkills(options) {
|
|
24
|
-
const baseUrl = getRegistryUrl();
|
|
25
|
-
const params = new URLSearchParams();
|
|
26
|
-
if (options.q)
|
|
27
|
-
params.set('q', options.q);
|
|
28
|
-
if (options.tags)
|
|
29
|
-
params.set('tags', options.tags);
|
|
30
|
-
if (options.category)
|
|
31
|
-
params.set('category', options.category);
|
|
32
|
-
if (options.surface)
|
|
33
|
-
params.set('surface', options.surface);
|
|
34
|
-
if (options.sort)
|
|
35
|
-
params.set('sort', options.sort);
|
|
36
|
-
if (options.limit)
|
|
37
|
-
params.set('limit', options.limit.toString());
|
|
38
|
-
if (options.offset)
|
|
39
|
-
params.set('offset', options.offset.toString());
|
|
40
|
-
const url = `${baseUrl}/v1/skills/search?${params.toString()}`;
|
|
41
|
-
const response = await fetch(url, {
|
|
42
|
-
headers: { Accept: 'application/json' },
|
|
43
|
-
});
|
|
44
|
-
if (!response.ok) {
|
|
45
|
-
const text = await response.text();
|
|
46
|
-
throw new Error(`Search failed (${response.status}): ${text}`);
|
|
47
|
-
}
|
|
48
|
-
return response.json();
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Get skill details from the registry
|
|
52
|
-
*/
|
|
53
|
-
export async function getSkillDetails(name) {
|
|
54
|
-
const baseUrl = getRegistryUrl();
|
|
55
|
-
const { scope, skillName } = parseScopedName(name);
|
|
56
|
-
// Server expects: /v1/skills/@scope/name
|
|
57
|
-
const url = `${baseUrl}/v1/skills/@${scope}/${skillName}`;
|
|
58
|
-
const response = await fetch(url, {
|
|
59
|
-
headers: { Accept: 'application/json' },
|
|
60
|
-
});
|
|
61
|
-
if (!response.ok) {
|
|
62
|
-
if (response.status === 404) {
|
|
63
|
-
throw new Error(`Skill not found: ${name}`);
|
|
64
|
-
}
|
|
65
|
-
const text = await response.text();
|
|
66
|
-
throw new Error(`Failed to get skill details (${response.status}): ${text}`);
|
|
67
|
-
}
|
|
68
|
-
return response.json();
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Get download info for a skill
|
|
72
|
-
*/
|
|
73
|
-
export async function getSkillDownloadInfo(name, version) {
|
|
74
|
-
const baseUrl = getRegistryUrl();
|
|
75
|
-
const { scope, skillName } = parseScopedName(name);
|
|
76
|
-
// Server expects: /v1/skills/@scope/name/download or /v1/skills/@scope/name/versions/x.y.z/download
|
|
77
|
-
const versionPath = version ? `/versions/${version}` : '';
|
|
78
|
-
const url = `${baseUrl}/v1/skills/@${scope}/${skillName}${versionPath}/download`;
|
|
79
|
-
const response = await fetch(url, {
|
|
80
|
-
headers: { Accept: 'application/json' },
|
|
81
|
-
});
|
|
82
|
-
if (!response.ok) {
|
|
83
|
-
if (response.status === 404) {
|
|
84
|
-
throw new Error(`Skill not found: ${name}${version ? `@${version}` : ''}`);
|
|
85
|
-
}
|
|
86
|
-
const text = await response.text();
|
|
87
|
-
throw new Error(`Failed to get download info (${response.status}): ${text}`);
|
|
88
|
-
}
|
|
89
|
-
return response.json();
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Download a skill bundle
|
|
93
|
-
*/
|
|
94
|
-
export async function downloadSkillBundle(downloadUrl, expectedSha256) {
|
|
95
|
-
const response = await fetch(downloadUrl);
|
|
96
|
-
if (!response.ok) {
|
|
97
|
-
throw new Error(`Download failed (${response.status})`);
|
|
98
|
-
}
|
|
99
|
-
const buffer = Buffer.from(await response.arrayBuffer());
|
|
100
|
-
// Verify SHA256 if provided
|
|
101
|
-
if (expectedSha256) {
|
|
102
|
-
const { createHash } = await import('crypto');
|
|
103
|
-
const hash = createHash('sha256').update(buffer).digest('hex');
|
|
104
|
-
if (hash !== expectedSha256) {
|
|
105
|
-
throw new Error(`SHA256 mismatch: expected ${expectedSha256}, got ${hash}`);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
return buffer;
|
|
109
|
-
}
|
|
110
|
-
//# sourceMappingURL=skills-client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skills-client.js","sourceRoot":"","sources":["../../../src/lib/api/skills-client.ts"],"names":[],"mappings":"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"}
|
package/dist/program.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
/**
|
|
3
|
-
* Creates and configures the CLI program
|
|
4
|
-
*
|
|
5
|
-
* Command structure:
|
|
6
|
-
* - mpak search <query> - Unified search (bundles + skills)
|
|
7
|
-
* - mpak bundle <command> - MCP bundle commands
|
|
8
|
-
* - mpak skill <command> - Agent skill commands
|
|
9
|
-
* - mpak config <command> - Configuration commands
|
|
10
|
-
*/
|
|
11
|
-
export declare function createProgram(): Command;
|
|
12
|
-
//# sourceMappingURL=program.d.ts.map
|
package/dist/program.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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,CAmLvC"}
|
package/dist/program.js
DELETED
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import { getVersion } from './utils/version.js';
|
|
3
|
-
import { handleUnifiedSearch } from './commands/search.js';
|
|
4
|
-
import { handleSearch } from './commands/packages/search.js';
|
|
5
|
-
import { handleShow } from './commands/packages/show.js';
|
|
6
|
-
import { handlePull } from './commands/packages/pull.js';
|
|
7
|
-
import { handleRun } from './commands/packages/run.js';
|
|
8
|
-
import { handleConfigSet, handleConfigGet, handleConfigList, handleConfigClear, } from './commands/config.js';
|
|
9
|
-
import { handleSkillValidate, handleSkillPack, handleSkillSearch, handleSkillShow, handleSkillPull, handleSkillInstall, handleSkillList, } from './commands/skills/index.js';
|
|
10
|
-
/**
|
|
11
|
-
* Creates and configures the CLI program
|
|
12
|
-
*
|
|
13
|
-
* Command structure:
|
|
14
|
-
* - mpak search <query> - Unified search (bundles + skills)
|
|
15
|
-
* - mpak bundle <command> - MCP bundle commands
|
|
16
|
-
* - mpak skill <command> - Agent skill commands
|
|
17
|
-
* - mpak config <command> - Configuration commands
|
|
18
|
-
*/
|
|
19
|
-
export function createProgram() {
|
|
20
|
-
const program = new Command();
|
|
21
|
-
program
|
|
22
|
-
.name('mpak')
|
|
23
|
-
.description('CLI for MCP bundles and Agent Skills')
|
|
24
|
-
.version(getVersion(), '-v, --version', 'Output the current version');
|
|
25
|
-
// ==========================================================================
|
|
26
|
-
// Unified search (bundles + skills)
|
|
27
|
-
// ==========================================================================
|
|
28
|
-
program
|
|
29
|
-
.command('search <query>')
|
|
30
|
-
.description('Search bundles and skills')
|
|
31
|
-
.option('--type <type>', 'Filter by type (bundle, skill)')
|
|
32
|
-
.option('--sort <field>', 'Sort by: downloads, recent, name')
|
|
33
|
-
.option('--limit <number>', 'Limit results', parseInt)
|
|
34
|
-
.option('--offset <number>', 'Pagination offset', parseInt)
|
|
35
|
-
.option('--json', 'Output as JSON')
|
|
36
|
-
.action(async (query, options) => {
|
|
37
|
-
await handleUnifiedSearch(query, options);
|
|
38
|
-
});
|
|
39
|
-
// ==========================================================================
|
|
40
|
-
// Bundle namespace (MCP bundles)
|
|
41
|
-
// ==========================================================================
|
|
42
|
-
const bundle = program.command('bundle').description('MCP bundle commands');
|
|
43
|
-
bundle
|
|
44
|
-
.command('search <query>')
|
|
45
|
-
.description('Search public bundles')
|
|
46
|
-
.option('--type <type>', 'Filter by server type (node, python, binary)')
|
|
47
|
-
.option('--sort <field>', 'Sort by: downloads, recent, name')
|
|
48
|
-
.option('--limit <number>', 'Limit results', parseInt)
|
|
49
|
-
.option('--offset <number>', 'Pagination offset', parseInt)
|
|
50
|
-
.option('--json', 'Output as JSON')
|
|
51
|
-
.action(async (query, options) => {
|
|
52
|
-
await handleSearch(query, options);
|
|
53
|
-
});
|
|
54
|
-
bundle
|
|
55
|
-
.command('show <package>')
|
|
56
|
-
.description('Show detailed information about a bundle')
|
|
57
|
-
.option('--json', 'Output as JSON')
|
|
58
|
-
.action(async (packageName, options) => {
|
|
59
|
-
await handleShow(packageName, options);
|
|
60
|
-
});
|
|
61
|
-
bundle
|
|
62
|
-
.command('pull <package>')
|
|
63
|
-
.description('Download a bundle from the registry')
|
|
64
|
-
.option('-o, --output <path>', 'Output file path')
|
|
65
|
-
.option('--os <os>', 'Target OS (darwin, linux, win32)')
|
|
66
|
-
.option('--arch <arch>', 'Target architecture (x64, arm64)')
|
|
67
|
-
.option('--json', 'Output download info as JSON')
|
|
68
|
-
.action(async (packageSpec, options) => {
|
|
69
|
-
await handlePull(packageSpec, options);
|
|
70
|
-
});
|
|
71
|
-
bundle
|
|
72
|
-
.command('run <package>')
|
|
73
|
-
.description('Run an MCP server from the registry')
|
|
74
|
-
.option('--update', 'Force re-download even if cached')
|
|
75
|
-
.action(async (packageSpec, options) => {
|
|
76
|
-
await handleRun(packageSpec, options);
|
|
77
|
-
});
|
|
78
|
-
// ==========================================================================
|
|
79
|
-
// Skill namespace (Agent Skills)
|
|
80
|
-
// ==========================================================================
|
|
81
|
-
const skill = program.command('skill').description('Agent skill commands');
|
|
82
|
-
skill
|
|
83
|
-
.command('validate <path>')
|
|
84
|
-
.description('Validate a skill directory against the Agent Skills spec')
|
|
85
|
-
.option('--json', 'Output as JSON')
|
|
86
|
-
.action(async (path, options) => {
|
|
87
|
-
await handleSkillValidate(path, options);
|
|
88
|
-
});
|
|
89
|
-
skill
|
|
90
|
-
.command('pack <path>')
|
|
91
|
-
.description('Create a .skill bundle from a skill directory')
|
|
92
|
-
.option('-o, --output <path>', 'Output file path')
|
|
93
|
-
.option('--json', 'Output as JSON')
|
|
94
|
-
.action(async (path, options) => {
|
|
95
|
-
await handleSkillPack(path, options);
|
|
96
|
-
});
|
|
97
|
-
skill
|
|
98
|
-
.command('search <query>')
|
|
99
|
-
.description('Search skills in the registry')
|
|
100
|
-
.option('--tags <tags>', 'Filter by tags (comma-separated)')
|
|
101
|
-
.option('--category <category>', 'Filter by category')
|
|
102
|
-
.option('--surface <surface>', 'Filter by surface (claude-code, claude-api, claude-ai)')
|
|
103
|
-
.option('--sort <field>', 'Sort by: downloads, recent, name')
|
|
104
|
-
.option('--limit <number>', 'Limit results', parseInt)
|
|
105
|
-
.option('--offset <number>', 'Pagination offset', parseInt)
|
|
106
|
-
.option('--json', 'Output as JSON')
|
|
107
|
-
.action(async (query, options) => {
|
|
108
|
-
await handleSkillSearch(query, options);
|
|
109
|
-
});
|
|
110
|
-
skill
|
|
111
|
-
.command('show <name>')
|
|
112
|
-
.description('Show detailed information about a skill')
|
|
113
|
-
.option('--json', 'Output as JSON')
|
|
114
|
-
.action(async (name, options) => {
|
|
115
|
-
await handleSkillShow(name, options);
|
|
116
|
-
});
|
|
117
|
-
skill
|
|
118
|
-
.command('pull <name>')
|
|
119
|
-
.description('Download a .skill bundle from the registry')
|
|
120
|
-
.option('-o, --output <path>', 'Output file path')
|
|
121
|
-
.option('--json', 'Output as JSON')
|
|
122
|
-
.action(async (name, options) => {
|
|
123
|
-
await handleSkillPull(name, options);
|
|
124
|
-
});
|
|
125
|
-
skill
|
|
126
|
-
.command('install <name>')
|
|
127
|
-
.description('Install a skill to ~/.claude/skills/')
|
|
128
|
-
.option('--force', 'Overwrite existing installation')
|
|
129
|
-
.option('--json', 'Output as JSON')
|
|
130
|
-
.action(async (name, options) => {
|
|
131
|
-
await handleSkillInstall(name, options);
|
|
132
|
-
});
|
|
133
|
-
skill
|
|
134
|
-
.command('list')
|
|
135
|
-
.description('List installed skills')
|
|
136
|
-
.option('--json', 'Output as JSON')
|
|
137
|
-
.action(async (options) => {
|
|
138
|
-
await handleSkillList(options);
|
|
139
|
-
});
|
|
140
|
-
// ==========================================================================
|
|
141
|
-
// Config commands (shared for bundles and skills)
|
|
142
|
-
// ==========================================================================
|
|
143
|
-
const configCmd = program
|
|
144
|
-
.command('config')
|
|
145
|
-
.description('Manage per-package configuration values');
|
|
146
|
-
configCmd
|
|
147
|
-
.command('set <package> <key=value...>')
|
|
148
|
-
.description('Set config value(s) for a package')
|
|
149
|
-
.action(async (packageName, keyValuePairs) => {
|
|
150
|
-
await handleConfigSet(packageName, keyValuePairs);
|
|
151
|
-
});
|
|
152
|
-
configCmd
|
|
153
|
-
.command('get <package>')
|
|
154
|
-
.description('Show stored config for a package (values are masked)')
|
|
155
|
-
.option('--json', 'Output as JSON')
|
|
156
|
-
.action(async (packageName, options) => {
|
|
157
|
-
await handleConfigGet(packageName, options);
|
|
158
|
-
});
|
|
159
|
-
configCmd
|
|
160
|
-
.command('list')
|
|
161
|
-
.description('List all packages with stored config')
|
|
162
|
-
.option('--json', 'Output as JSON')
|
|
163
|
-
.action(async (options) => {
|
|
164
|
-
await handleConfigList(options);
|
|
165
|
-
});
|
|
166
|
-
configCmd
|
|
167
|
-
.command('clear <package> [key]')
|
|
168
|
-
.description('Clear config for a package (all values or specific key)')
|
|
169
|
-
.action(async (packageName, key) => {
|
|
170
|
-
await handleConfigClear(packageName, key);
|
|
171
|
-
});
|
|
172
|
-
return program;
|
|
173
|
-
}
|
|
174
|
-
//# sourceMappingURL=program.js.map
|
package/dist/program.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
|