@nimblebrain/mpak 0.1.0 → 0.3.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 (151) hide show
  1. package/README.md +50 -383
  2. package/dist/index.d.ts +0 -2
  3. package/dist/index.js +2117 -4
  4. package/dist/index.js.map +1 -1
  5. package/package.json +26 -23
  6. package/.claude/settings.local.json +0 -19
  7. package/.env.example +0 -13
  8. package/.github/workflows/ci.yml +0 -27
  9. package/CLAUDE.md +0 -283
  10. package/LICENSE +0 -201
  11. package/dist/commands/config.d.ts +0 -31
  12. package/dist/commands/config.d.ts.map +0 -1
  13. package/dist/commands/config.js +0 -129
  14. package/dist/commands/config.js.map +0 -1
  15. package/dist/commands/packages/pull.d.ts +0 -11
  16. package/dist/commands/packages/pull.d.ts.map +0 -1
  17. package/dist/commands/packages/pull.js +0 -72
  18. package/dist/commands/packages/pull.js.map +0 -1
  19. package/dist/commands/packages/run.d.ts +0 -47
  20. package/dist/commands/packages/run.d.ts.map +0 -1
  21. package/dist/commands/packages/run.js +0 -419
  22. package/dist/commands/packages/run.js.map +0 -1
  23. package/dist/commands/packages/search.d.ts +0 -12
  24. package/dist/commands/packages/search.d.ts.map +0 -1
  25. package/dist/commands/packages/search.js +0 -63
  26. package/dist/commands/packages/search.js.map +0 -1
  27. package/dist/commands/packages/show.d.ts +0 -8
  28. package/dist/commands/packages/show.d.ts.map +0 -1
  29. package/dist/commands/packages/show.js +0 -109
  30. package/dist/commands/packages/show.js.map +0 -1
  31. package/dist/commands/search.d.ts +0 -12
  32. package/dist/commands/search.d.ts.map +0 -1
  33. package/dist/commands/search.js +0 -144
  34. package/dist/commands/search.js.map +0 -1
  35. package/dist/commands/skills/index.d.ts +0 -8
  36. package/dist/commands/skills/index.d.ts.map +0 -1
  37. package/dist/commands/skills/index.js +0 -8
  38. package/dist/commands/skills/index.js.map +0 -1
  39. package/dist/commands/skills/install.d.ts +0 -9
  40. package/dist/commands/skills/install.d.ts.map +0 -1
  41. package/dist/commands/skills/install.js +0 -110
  42. package/dist/commands/skills/install.js.map +0 -1
  43. package/dist/commands/skills/list.d.ts +0 -8
  44. package/dist/commands/skills/list.d.ts.map +0 -1
  45. package/dist/commands/skills/list.js +0 -89
  46. package/dist/commands/skills/list.js.map +0 -1
  47. package/dist/commands/skills/pack.d.ts +0 -22
  48. package/dist/commands/skills/pack.d.ts.map +0 -1
  49. package/dist/commands/skills/pack.js +0 -116
  50. package/dist/commands/skills/pack.js.map +0 -1
  51. package/dist/commands/skills/pull.d.ts +0 -9
  52. package/dist/commands/skills/pull.d.ts.map +0 -1
  53. package/dist/commands/skills/pull.js +0 -68
  54. package/dist/commands/skills/pull.js.map +0 -1
  55. package/dist/commands/skills/search.d.ts +0 -14
  56. package/dist/commands/skills/search.d.ts.map +0 -1
  57. package/dist/commands/skills/search.js +0 -53
  58. package/dist/commands/skills/search.js.map +0 -1
  59. package/dist/commands/skills/show.d.ts +0 -8
  60. package/dist/commands/skills/show.d.ts.map +0 -1
  61. package/dist/commands/skills/show.js +0 -64
  62. package/dist/commands/skills/show.js.map +0 -1
  63. package/dist/commands/skills/validate.d.ts +0 -25
  64. package/dist/commands/skills/validate.d.ts.map +0 -1
  65. package/dist/commands/skills/validate.js +0 -191
  66. package/dist/commands/skills/validate.js.map +0 -1
  67. package/dist/index.d.ts.map +0 -1
  68. package/dist/lib/api/registry-client.d.ts +0 -63
  69. package/dist/lib/api/registry-client.d.ts.map +0 -1
  70. package/dist/lib/api/registry-client.js +0 -167
  71. package/dist/lib/api/registry-client.js.map +0 -1
  72. package/dist/lib/api/skills-client.d.ts +0 -30
  73. package/dist/lib/api/skills-client.d.ts.map +0 -1
  74. package/dist/lib/api/skills-client.js +0 -110
  75. package/dist/lib/api/skills-client.js.map +0 -1
  76. package/dist/program.d.ts +0 -12
  77. package/dist/program.d.ts.map +0 -1
  78. package/dist/program.js +0 -186
  79. package/dist/program.js.map +0 -1
  80. package/dist/schemas/generated/api-responses.d.ts +0 -541
  81. package/dist/schemas/generated/api-responses.d.ts.map +0 -1
  82. package/dist/schemas/generated/api-responses.js +0 -313
  83. package/dist/schemas/generated/api-responses.js.map +0 -1
  84. package/dist/schemas/generated/auth.d.ts +0 -18
  85. package/dist/schemas/generated/auth.d.ts.map +0 -1
  86. package/dist/schemas/generated/auth.js +0 -18
  87. package/dist/schemas/generated/auth.js.map +0 -1
  88. package/dist/schemas/generated/index.d.ts +0 -5
  89. package/dist/schemas/generated/index.d.ts.map +0 -1
  90. package/dist/schemas/generated/index.js +0 -6
  91. package/dist/schemas/generated/index.js.map +0 -1
  92. package/dist/schemas/generated/package.d.ts +0 -43
  93. package/dist/schemas/generated/package.d.ts.map +0 -1
  94. package/dist/schemas/generated/package.js +0 -20
  95. package/dist/schemas/generated/package.js.map +0 -1
  96. package/dist/schemas/generated/skill.d.ts +0 -381
  97. package/dist/schemas/generated/skill.d.ts.map +0 -1
  98. package/dist/schemas/generated/skill.js +0 -216
  99. package/dist/schemas/generated/skill.js.map +0 -1
  100. package/dist/utils/config-manager.d.ts +0 -66
  101. package/dist/utils/config-manager.d.ts.map +0 -1
  102. package/dist/utils/config-manager.js +0 -193
  103. package/dist/utils/config-manager.js.map +0 -1
  104. package/dist/utils/errors.d.ts +0 -12
  105. package/dist/utils/errors.d.ts.map +0 -1
  106. package/dist/utils/errors.js +0 -27
  107. package/dist/utils/errors.js.map +0 -1
  108. package/dist/utils/version.d.ts +0 -5
  109. package/dist/utils/version.d.ts.map +0 -1
  110. package/dist/utils/version.js +0 -19
  111. package/dist/utils/version.js.map +0 -1
  112. package/eslint.config.js +0 -63
  113. package/src/commands/config.ts +0 -162
  114. package/src/commands/packages/pull.ts +0 -96
  115. package/src/commands/packages/run.test.ts +0 -261
  116. package/src/commands/packages/run.ts +0 -536
  117. package/src/commands/packages/search.ts +0 -83
  118. package/src/commands/packages/show.ts +0 -128
  119. package/src/commands/search.ts +0 -191
  120. package/src/commands/skills/index.ts +0 -7
  121. package/src/commands/skills/install.ts +0 -129
  122. package/src/commands/skills/list.ts +0 -116
  123. package/src/commands/skills/pack.test.ts +0 -260
  124. package/src/commands/skills/pack.ts +0 -145
  125. package/src/commands/skills/pull.ts +0 -88
  126. package/src/commands/skills/search.ts +0 -73
  127. package/src/commands/skills/show.ts +0 -72
  128. package/src/commands/skills/validate.test.ts +0 -466
  129. package/src/commands/skills/validate.ts +0 -227
  130. package/src/index.ts +0 -11
  131. package/src/lib/api/registry-client.ts +0 -223
  132. package/src/lib/api/schema.d.ts +0 -520
  133. package/src/lib/api/skills-client.ts +0 -148
  134. package/src/program.test.ts +0 -22
  135. package/src/program.ts +0 -226
  136. package/src/schemas/config.v1.schema.json +0 -37
  137. package/src/schemas/generated/api-responses.ts +0 -386
  138. package/src/schemas/generated/auth.ts +0 -21
  139. package/src/schemas/generated/index.ts +0 -5
  140. package/src/schemas/generated/package.ts +0 -29
  141. package/src/schemas/generated/skill.ts +0 -271
  142. package/src/utils/config-manager.test.ts +0 -330
  143. package/src/utils/config-manager.ts +0 -272
  144. package/src/utils/errors.test.ts +0 -25
  145. package/src/utils/errors.ts +0 -33
  146. package/src/utils/version.test.ts +0 -16
  147. package/src/utils/version.ts +0 -18
  148. package/test/integration/registry-client.test.ts +0 -180
  149. package/tsconfig.check.json +0 -9
  150. package/tsconfig.json +0 -25
  151. package/vitest.config.ts +0 -14
@@ -1,63 +0,0 @@
1
- import type { paths } from './schema.js';
2
- type ResponseOf<T> = T extends {
3
- responses: {
4
- 200: {
5
- content: {
6
- 'application/json': infer R;
7
- };
8
- };
9
- };
10
- } ? R : never;
11
- export type BundleSearchResponse = ResponseOf<paths['/v1/bundles/search']['get']>;
12
- export type BundleDetailResponse = ResponseOf<paths['/v1/bundles/@{scope}/{package}']['get']>;
13
- export type VersionsResponse = ResponseOf<paths['/v1/bundles/@{scope}/{package}/versions']['get']>;
14
- export type DownloadInfoResponse = ResponseOf<paths['/v1/bundles/@{scope}/{package}/versions/{version}/download']['get']>;
15
- export type Bundle = BundleSearchResponse['bundles'][number];
16
- export type BundleDetail = BundleDetailResponse;
17
- export type VersionInfo = VersionsResponse['versions'][number];
18
- export type DownloadInfo = DownloadInfoResponse;
19
- /** Platform identifier (os + arch) */
20
- export interface Platform {
21
- os: string;
22
- arch: string;
23
- }
24
- /**
25
- * Client for interacting with the mpak registry v1 API
26
- *
27
- * All methods use the public /v1/bundles API (unauthenticated)
28
- */
29
- export declare class RegistryClient {
30
- private baseUrl;
31
- constructor();
32
- /**
33
- * Search bundles
34
- */
35
- searchBundles(query: string, options?: {
36
- type?: string;
37
- sort?: 'downloads' | 'recent' | 'name';
38
- limit?: number;
39
- offset?: number;
40
- }): Promise<BundleSearchResponse>;
41
- /**
42
- * Get bundle details
43
- */
44
- getBundle(packageName: string): Promise<BundleDetail>;
45
- /**
46
- * Get versions with platform info
47
- */
48
- getVersions(packageName: string): Promise<VersionsResponse>;
49
- /**
50
- * Detect the current platform
51
- */
52
- static detectPlatform(): Platform;
53
- /**
54
- * Get download info for a bundle version
55
- */
56
- getDownloadInfo(packageName: string, version?: string, platform?: Platform): Promise<DownloadInfo>;
57
- /**
58
- * Download a bundle to a file
59
- */
60
- downloadBundle(downloadUrl: string, outputPath: string): Promise<void>;
61
- }
62
- export {};
63
- //# sourceMappingURL=registry-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry-client.d.ts","sourceRoot":"","sources":["../../../src/lib/api/registry-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAOzC,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,SAAS,EAAE;QAAE,GAAG,EAAE;YAAE,OAAO,EAAE;gBAAE,kBAAkB,EAAE,MAAM,CAAC,CAAA;aAAE,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAGhH,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAClF,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9F,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACnG,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAG1H,MAAM,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7D,MAAM,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAChD,MAAM,MAAM,WAAW,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAEhD,sCAAsC;AACtC,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAMD;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAS;;IAOxB;;OAEG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE;QAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;QACvC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACZ,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAsBtC;;OAEG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAsB3D;;OAEG;IACG,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsBjE;;OAEG;IACH,MAAM,CAAC,cAAc,IAAI,QAAQ;IAoCjC;;OAEG;IACG,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC;IAuCxG;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAa7E"}
@@ -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
@@ -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,CAiMvC"}
package/dist/program.js DELETED
@@ -1,186 +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
- // 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
- // ==========================================================================
51
- // Bundle namespace (MCP bundles)
52
- // ==========================================================================
53
- const bundle = program.command('bundle').description('MCP bundle commands');
54
- bundle
55
- .command('search <query>')
56
- .description('Search public bundles')
57
- .option('--type <type>', 'Filter by server type (node, python, binary)')
58
- .option('--sort <field>', 'Sort by: downloads, recent, name')
59
- .option('--limit <number>', 'Limit results', parseInt)
60
- .option('--offset <number>', 'Pagination offset', parseInt)
61
- .option('--json', 'Output as JSON')
62
- .action(async (query, options) => {
63
- await handleSearch(query, options);
64
- });
65
- bundle
66
- .command('show <package>')
67
- .description('Show detailed information about a bundle')
68
- .option('--json', 'Output as JSON')
69
- .action(async (packageName, options) => {
70
- await handleShow(packageName, options);
71
- });
72
- bundle
73
- .command('pull <package>')
74
- .description('Download a bundle from the registry')
75
- .option('-o, --output <path>', 'Output file path')
76
- .option('--os <os>', 'Target OS (darwin, linux, win32)')
77
- .option('--arch <arch>', 'Target architecture (x64, arm64)')
78
- .option('--json', 'Output download info as JSON')
79
- .action(async (packageSpec, options) => {
80
- await handlePull(packageSpec, options);
81
- });
82
- bundle
83
- .command('run [package]')
84
- .description('Run an MCP server from the registry')
85
- .option('--update', 'Force re-download even if cached')
86
- .option('-l, --local <path>', 'Run a local .mcpb bundle file')
87
- .action(async (packageSpec, options) => {
88
- await handleRun(packageSpec || '', options);
89
- });
90
- // ==========================================================================
91
- // Skill namespace (Agent Skills)
92
- // ==========================================================================
93
- const skill = program.command('skill').description('Agent skill commands');
94
- skill
95
- .command('validate <path>')
96
- .description('Validate a skill directory against the Agent Skills spec')
97
- .option('--json', 'Output as JSON')
98
- .action(async (path, options) => {
99
- await handleSkillValidate(path, options);
100
- });
101
- skill
102
- .command('pack <path>')
103
- .description('Create a .skill bundle from a skill directory')
104
- .option('-o, --output <path>', 'Output file path')
105
- .option('--json', 'Output as JSON')
106
- .action(async (path, options) => {
107
- await handleSkillPack(path, options);
108
- });
109
- skill
110
- .command('search <query>')
111
- .description('Search skills in the registry')
112
- .option('--tags <tags>', 'Filter by tags (comma-separated)')
113
- .option('--category <category>', 'Filter by category')
114
- .option('--surface <surface>', 'Filter by surface (claude-code, claude-api, claude-ai)')
115
- .option('--sort <field>', 'Sort by: downloads, recent, name')
116
- .option('--limit <number>', 'Limit results', parseInt)
117
- .option('--offset <number>', 'Pagination offset', parseInt)
118
- .option('--json', 'Output as JSON')
119
- .action(async (query, options) => {
120
- await handleSkillSearch(query, options);
121
- });
122
- skill
123
- .command('show <name>')
124
- .description('Show detailed information about a skill')
125
- .option('--json', 'Output as JSON')
126
- .action(async (name, options) => {
127
- await handleSkillShow(name, options);
128
- });
129
- skill
130
- .command('pull <name>')
131
- .description('Download a .skill bundle from the registry')
132
- .option('-o, --output <path>', 'Output file path')
133
- .option('--json', 'Output as JSON')
134
- .action(async (name, options) => {
135
- await handleSkillPull(name, options);
136
- });
137
- skill
138
- .command('install <name>')
139
- .description('Install a skill to ~/.claude/skills/')
140
- .option('--force', 'Overwrite existing installation')
141
- .option('--json', 'Output as JSON')
142
- .action(async (name, options) => {
143
- await handleSkillInstall(name, options);
144
- });
145
- skill
146
- .command('list')
147
- .description('List installed skills')
148
- .option('--json', 'Output as JSON')
149
- .action(async (options) => {
150
- await handleSkillList(options);
151
- });
152
- // ==========================================================================
153
- // Config commands (shared for bundles and skills)
154
- // ==========================================================================
155
- const configCmd = program
156
- .command('config')
157
- .description('Manage per-package configuration values');
158
- configCmd
159
- .command('set <package> <key=value...>')
160
- .description('Set config value(s) for a package')
161
- .action(async (packageName, keyValuePairs) => {
162
- await handleConfigSet(packageName, keyValuePairs);
163
- });
164
- configCmd
165
- .command('get <package>')
166
- .description('Show stored config for a package (values are masked)')
167
- .option('--json', 'Output as JSON')
168
- .action(async (packageName, options) => {
169
- await handleConfigGet(packageName, options);
170
- });
171
- configCmd
172
- .command('list')
173
- .description('List all packages with stored config')
174
- .option('--json', 'Output as JSON')
175
- .action(async (options) => {
176
- await handleConfigList(options);
177
- });
178
- configCmd
179
- .command('clear <package> [key]')
180
- .description('Clear config for a package (all values or specific key)')
181
- .action(async (packageName, key) => {
182
- await handleConfigClear(packageName, key);
183
- });
184
- return program;
185
- }
186
- //# sourceMappingURL=program.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}