@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,116 +0,0 @@
1
- import { createWriteStream, createReadStream } from 'fs';
2
- import { createHash } from 'crypto';
3
- import { basename, join, resolve } from 'path';
4
- import archiver from 'archiver';
5
- import { validateSkillDirectory, formatValidationResult } from './validate.js';
6
- /**
7
- * Create a .skill bundle from a skill directory
8
- */
9
- export async function packSkill(skillPath, outputPath) {
10
- // Validate first
11
- const validation = validateSkillDirectory(skillPath);
12
- if (!validation.valid) {
13
- return {
14
- success: false,
15
- path: null,
16
- name: null,
17
- version: null,
18
- size: null,
19
- sha256: null,
20
- error: `Validation failed:\n${formatValidationResult(validation)}`,
21
- };
22
- }
23
- const skillName = validation.name;
24
- const version = validation.frontmatter?.metadata?.version || '0.0.0';
25
- // Determine output path
26
- const bundleName = `${skillName}-${version}.skill`;
27
- const finalOutputPath = outputPath || join(process.cwd(), bundleName);
28
- // Create the zip archive
29
- return new Promise((resolvePromise) => {
30
- const output = createWriteStream(finalOutputPath);
31
- const archive = archiver('zip', { zlib: { level: 9 } });
32
- let size = 0;
33
- output.on('close', async () => {
34
- size = archive.pointer();
35
- // Calculate SHA256
36
- const hash = createHash('sha256');
37
- const stream = createReadStream(finalOutputPath);
38
- stream.on('data', (chunk) => hash.update(chunk));
39
- stream.on('end', () => {
40
- const sha256 = hash.digest('hex');
41
- resolvePromise({
42
- success: true,
43
- path: finalOutputPath,
44
- name: skillName,
45
- version,
46
- size,
47
- sha256,
48
- error: null,
49
- });
50
- });
51
- stream.on('error', (err) => {
52
- resolvePromise({
53
- success: false,
54
- path: null,
55
- name: skillName,
56
- version,
57
- size: null,
58
- sha256: null,
59
- error: `Failed to calculate SHA256: ${err.message}`,
60
- });
61
- });
62
- });
63
- archive.on('error', (err) => {
64
- resolvePromise({
65
- success: false,
66
- path: null,
67
- name: skillName,
68
- version,
69
- size: null,
70
- sha256: null,
71
- error: `Archive error: ${err.message}`,
72
- });
73
- });
74
- archive.pipe(output);
75
- // Add the skill directory to the archive
76
- // The archive should contain: skillName/SKILL.md, skillName/scripts/, etc.
77
- const dirName = basename(resolve(skillPath));
78
- archive.directory(skillPath, dirName);
79
- archive.finalize();
80
- });
81
- }
82
- /**
83
- * Format file size for display
84
- */
85
- function formatSize(bytes) {
86
- if (bytes < 1024)
87
- return `${bytes} B`;
88
- if (bytes < 1024 * 1024)
89
- return `${(bytes / 1024).toFixed(1)} KB`;
90
- return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
91
- }
92
- /**
93
- * Handle the pack command
94
- */
95
- export async function handleSkillPack(skillPath, options) {
96
- console.log('');
97
- console.log(`Validating ${skillPath}...`);
98
- const result = await packSkill(skillPath, options.output);
99
- if (options.json) {
100
- console.log(JSON.stringify(result, null, 2));
101
- }
102
- else if (result.success) {
103
- console.log(`\u2713 Valid: ${result.name}`);
104
- console.log('');
105
- console.log('Creating bundle...');
106
- console.log(`\u2713 Created: ${basename(result.path)} (${formatSize(result.size)})`);
107
- console.log(` SHA256: ${result.sha256}`);
108
- }
109
- else {
110
- console.log(result.error);
111
- }
112
- if (!result.success) {
113
- process.exit(1);
114
- }
115
- }
116
- //# sourceMappingURL=pack.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../../src/commands/skills/pack.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- export interface PullOptions {
2
- output?: string;
3
- json?: boolean;
4
- }
5
- /**
6
- * Handle the skill pull command
7
- */
8
- export declare function handleSkillPull(skillSpec: string, options: PullOptions): Promise<void>;
9
- //# sourceMappingURL=pull.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/pull.ts"],"names":[],"mappings":"AA6BA,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA4C5F"}
@@ -1,68 +0,0 @@
1
- import { writeFileSync } from 'fs';
2
- import { basename, join } from 'path';
3
- import { getSkillDownloadInfo, downloadSkillBundle } from '../../lib/api/skills-client.js';
4
- /**
5
- * Parse skill spec into name and version
6
- * Examples: @scope/name, @scope/name@1.0.0
7
- */
8
- function parseSkillSpec(spec) {
9
- // Handle @scope/name@version format
10
- const atIndex = spec.lastIndexOf('@');
11
- // If @ is at position 0, it's just the scope prefix
12
- if (atIndex <= 0) {
13
- return { name: spec };
14
- }
15
- // Check if the @ is part of version (after the /)
16
- const slashIndex = spec.indexOf('/');
17
- if (atIndex > slashIndex) {
18
- return {
19
- name: spec.slice(0, atIndex),
20
- version: spec.slice(atIndex + 1),
21
- };
22
- }
23
- return { name: spec };
24
- }
25
- /**
26
- * Handle the skill pull command
27
- */
28
- export async function handleSkillPull(skillSpec, options) {
29
- try {
30
- const { name, version } = parseSkillSpec(skillSpec);
31
- // Get download info
32
- const downloadInfo = await getSkillDownloadInfo(name, version);
33
- console.log(`Pulling ${downloadInfo.skill.name}@${downloadInfo.skill.version}...`);
34
- // Download the bundle
35
- const buffer = await downloadSkillBundle(downloadInfo.url, downloadInfo.skill.sha256);
36
- // Determine output path
37
- const filename = `${basename(downloadInfo.skill.name.replace('@', '').replace('/', '-'))}-${downloadInfo.skill.version}.skill`;
38
- const outputPath = options.output || join(process.cwd(), filename);
39
- // Write to disk
40
- writeFileSync(outputPath, buffer);
41
- if (options.json) {
42
- console.log(JSON.stringify({
43
- path: outputPath,
44
- name: downloadInfo.skill.name,
45
- version: downloadInfo.skill.version,
46
- size: downloadInfo.skill.size,
47
- sha256: downloadInfo.skill.sha256,
48
- }, null, 2));
49
- }
50
- else {
51
- console.log(`Downloaded ${filename} (${formatSize(downloadInfo.skill.size)})`);
52
- console.log(` SHA256: ${downloadInfo.skill.sha256}`);
53
- console.log(` Path: ${outputPath}`);
54
- }
55
- }
56
- catch (err) {
57
- console.error(`Error: ${err instanceof Error ? err.message : err}`);
58
- process.exit(1);
59
- }
60
- }
61
- function formatSize(bytes) {
62
- if (bytes < 1024)
63
- return `${bytes} B`;
64
- if (bytes < 1024 * 1024)
65
- return `${(bytes / 1024).toFixed(1)} KB`;
66
- return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
67
- }
68
- //# sourceMappingURL=pull.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/commands/skills/pull.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- export interface SearchOptions {
2
- tags?: string;
3
- category?: string;
4
- surface?: string;
5
- sort?: string;
6
- limit?: number;
7
- offset?: number;
8
- json?: boolean;
9
- }
10
- /**
11
- * Handle the skill search command
12
- */
13
- export declare function handleSkillSearch(query: string, options: SearchOptions): Promise<void>;
14
- //# sourceMappingURL=search.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/search.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAyD5F"}
@@ -1,53 +0,0 @@
1
- import { searchSkills } from '../../lib/api/skills-client.js';
2
- /**
3
- * Handle the skill search command
4
- */
5
- export async function handleSkillSearch(query, options) {
6
- try {
7
- const result = await searchSkills({
8
- q: query,
9
- tags: options.tags,
10
- category: options.category,
11
- surface: options.surface,
12
- sort: options.sort,
13
- limit: options.limit,
14
- offset: options.offset,
15
- });
16
- if (options.json) {
17
- console.log(JSON.stringify(result, null, 2));
18
- return;
19
- }
20
- if (result.skills.length === 0) {
21
- console.log(`No skills found for "${query}"`);
22
- return;
23
- }
24
- // Table header
25
- const nameWidth = 45;
26
- const categoryWidth = 12;
27
- const downloadsWidth = 10;
28
- console.log('');
29
- console.log('NAME'.padEnd(nameWidth) +
30
- 'CATEGORY'.padEnd(categoryWidth) +
31
- 'DOWNLOADS'.padStart(downloadsWidth));
32
- // Table rows
33
- for (const skill of result.skills) {
34
- const name = skill.name.length > nameWidth - 2
35
- ? skill.name.slice(0, nameWidth - 5) + '...'
36
- : skill.name;
37
- const category = skill.category || '-';
38
- const downloads = skill.downloads.toLocaleString();
39
- console.log(name.padEnd(nameWidth) +
40
- category.padEnd(categoryWidth) +
41
- downloads.padStart(downloadsWidth));
42
- }
43
- if (result.pagination.has_more) {
44
- console.log('');
45
- console.log(`Showing ${result.skills.length} of ${result.total} results. Use --offset to see more.`);
46
- }
47
- }
48
- catch (err) {
49
- console.error(`Error: ${err instanceof Error ? err.message : err}`);
50
- process.exit(1);
51
- }
52
- }
53
- //# sourceMappingURL=search.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/commands/skills/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAY9D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAa,EAAE,OAAsB;IAC3E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,CAAC,EAAE,KAAK;YACR,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAe;YACjC,OAAO,EAAE,OAAO,CAAC,OAAc;YAC/B,IAAI,EAAE,OAAO,CAAC,IAAW;YACzB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,GAAG,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,eAAe;QACf,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,MAAM,cAAc,GAAG,EAAE,CAAC;QAE1B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CACT,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;YACtB,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC;YAChC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CACvC,CAAC;QAEF,aAAa;QACb,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,GAAG,CAAC;gBAC5C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,KAAK;gBAC5C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,GAAG,CAAC;YACvC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;YAEnD,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;gBACpB,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC;gBAC9B,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CACrC,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,MAAM,CAAC,KAAK,qCAAqC,CAAC,CAAC;QACvG,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1,8 +0,0 @@
1
- export interface ShowOptions {
2
- json?: boolean;
3
- }
4
- /**
5
- * Handle the skill show command
6
- */
7
- export declare function handleSkillShow(name: string, options: ShowOptions): Promise<void>;
8
- //# sourceMappingURL=show.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/show.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DvF"}
@@ -1,64 +0,0 @@
1
- import { getSkillDetails } from '../../lib/api/skills-client.js';
2
- /**
3
- * Handle the skill show command
4
- */
5
- export async function handleSkillShow(name, options) {
6
- try {
7
- const skill = await getSkillDetails(name);
8
- if (options.json) {
9
- console.log(JSON.stringify(skill, null, 2));
10
- return;
11
- }
12
- console.log('');
13
- console.log(`${skill.name}@${skill.latest_version}`);
14
- console.log('');
15
- console.log(skill.description);
16
- console.log('');
17
- // Metadata section
18
- console.log('Metadata:');
19
- if (skill.license)
20
- console.log(` License: ${skill.license}`);
21
- if (skill.category)
22
- console.log(` Category: ${skill.category}`);
23
- if (skill.tags && skill.tags.length > 0)
24
- console.log(` Tags: ${skill.tags.join(', ')}`);
25
- if (skill.surfaces && skill.surfaces.length > 0)
26
- console.log(` Surfaces: ${skill.surfaces.join(', ')}`);
27
- if (skill.author)
28
- console.log(` Author: ${skill.author.name}${skill.author.url ? ` (${skill.author.url})` : ''}`);
29
- console.log(` Downloads: ${skill.downloads.toLocaleString()}`);
30
- console.log(` Published: ${new Date(skill.published_at).toLocaleDateString()}`);
31
- // Triggers
32
- if (skill.triggers && skill.triggers.length > 0) {
33
- console.log('');
34
- console.log('Triggers:');
35
- skill.triggers.forEach((t) => console.log(` - ${t}`));
36
- }
37
- // Examples
38
- if (skill.examples && skill.examples.length > 0) {
39
- console.log('');
40
- console.log('Examples:');
41
- skill.examples.forEach((ex) => {
42
- console.log(` - "${ex.prompt}"${ex.context ? ` (${ex.context})` : ''}`);
43
- });
44
- }
45
- // Versions
46
- if (skill.versions && skill.versions.length > 0) {
47
- console.log('');
48
- console.log('Versions:');
49
- skill.versions.slice(0, 5).forEach((v) => {
50
- console.log(` ${v.version.padEnd(12)} ${new Date(v.published_at).toLocaleDateString().padEnd(12)} ${v.downloads.toLocaleString()} downloads`);
51
- });
52
- if (skill.versions.length > 5) {
53
- console.log(` ... and ${skill.versions.length - 5} more`);
54
- }
55
- }
56
- console.log('');
57
- console.log(`Install: mpak skill install ${skill.name}`);
58
- }
59
- catch (err) {
60
- console.error(`Error: ${err instanceof Error ? err.message : err}`);
61
- process.exit(1);
62
- }
63
- }
64
- //# sourceMappingURL=show.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"show.js","sourceRoot":"","sources":["../../../src/commands/skills/show.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import type { SkillFrontmatter } from '../../schemas/generated/skill.js';
2
- export interface ValidationResult {
3
- valid: boolean;
4
- name: string | null;
5
- path: string;
6
- frontmatter: SkillFrontmatter | null;
7
- errors: string[];
8
- warnings: string[];
9
- }
10
- /**
11
- * Validate a skill directory against the Agent Skills spec
12
- */
13
- export declare function validateSkillDirectory(skillPath: string): ValidationResult;
14
- /**
15
- * Format validation result for CLI output
16
- */
17
- export declare function formatValidationResult(result: ValidationResult): string;
18
- export interface ValidateOptions {
19
- json?: boolean;
20
- }
21
- /**
22
- * Handle the validate command
23
- */
24
- export declare function handleSkillValidate(skillPath: string, options: ValidateOptions): Promise<void>;
25
- //# sourceMappingURL=validate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/validate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAiH1E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CA+DvE;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAef"}
@@ -1,191 +0,0 @@
1
- import { existsSync, readFileSync, readdirSync, statSync } from 'fs';
2
- import { join, basename } from 'path';
3
- import matter from 'gray-matter';
4
- import { SkillFrontmatterSchema } from '../../schemas/generated/skill.js';
5
- /**
6
- * Validate a skill directory against the Agent Skills spec
7
- */
8
- export function validateSkillDirectory(skillPath) {
9
- const result = {
10
- valid: true,
11
- name: null,
12
- path: skillPath,
13
- frontmatter: null,
14
- errors: [],
15
- warnings: [],
16
- };
17
- // Check directory exists
18
- if (!existsSync(skillPath)) {
19
- result.valid = false;
20
- result.errors.push(`Directory not found: ${skillPath}`);
21
- return result;
22
- }
23
- const stats = statSync(skillPath);
24
- if (!stats.isDirectory()) {
25
- result.valid = false;
26
- result.errors.push(`Path is not a directory: ${skillPath}`);
27
- return result;
28
- }
29
- // Check SKILL.md exists
30
- const skillMdPath = join(skillPath, 'SKILL.md');
31
- if (!existsSync(skillMdPath)) {
32
- result.valid = false;
33
- result.errors.push('SKILL.md not found');
34
- return result;
35
- }
36
- // Read and parse SKILL.md
37
- let content;
38
- try {
39
- content = readFileSync(skillMdPath, 'utf-8');
40
- }
41
- catch (err) {
42
- result.valid = false;
43
- result.errors.push(`Failed to read SKILL.md: ${err}`);
44
- return result;
45
- }
46
- // Parse frontmatter
47
- let parsed;
48
- try {
49
- parsed = matter(content);
50
- }
51
- catch (err) {
52
- result.valid = false;
53
- result.errors.push(`Failed to parse frontmatter: ${err}`);
54
- return result;
55
- }
56
- if (!parsed.data || Object.keys(parsed.data).length === 0) {
57
- result.valid = false;
58
- result.errors.push('No frontmatter found in SKILL.md');
59
- return result;
60
- }
61
- // Validate against schema
62
- const validation = SkillFrontmatterSchema.safeParse(parsed.data);
63
- if (!validation.success) {
64
- result.valid = false;
65
- for (const issue of validation.error.issues) {
66
- const path = issue.path.join('.');
67
- result.errors.push(`${path}: ${issue.message}`);
68
- }
69
- return result;
70
- }
71
- result.frontmatter = validation.data;
72
- result.name = validation.data.name;
73
- // Validate name matches directory name
74
- const dirName = basename(skillPath);
75
- if (validation.data.name !== dirName) {
76
- result.valid = false;
77
- result.errors.push(`Skill name "${validation.data.name}" does not match directory name "${dirName}"`);
78
- }
79
- // Check for optional directories and files
80
- const contents = readdirSync(skillPath);
81
- // Standard optional directories
82
- const optionalDirs = ['scripts', 'references', 'assets'];
83
- for (const dir of optionalDirs) {
84
- if (contents.includes(dir)) {
85
- const dirPath = join(skillPath, dir);
86
- if (!statSync(dirPath).isDirectory()) {
87
- result.warnings.push(`"${dir}" exists but is not a directory`);
88
- }
89
- }
90
- }
91
- // Check for discovery metadata (not required, but recommended)
92
- if (!validation.data.metadata) {
93
- result.warnings.push('No metadata field - consider adding for better discovery');
94
- }
95
- else {
96
- const meta = validation.data.metadata;
97
- if (!meta.tags || meta.tags.length === 0) {
98
- result.warnings.push('No tags in metadata - consider adding for better discovery');
99
- }
100
- if (!meta.category) {
101
- result.warnings.push('No category in metadata - consider adding for better discovery');
102
- }
103
- if (!meta.version) {
104
- result.warnings.push('No version in metadata - required for registry publishing');
105
- }
106
- }
107
- return result;
108
- }
109
- /**
110
- * Format validation result for CLI output
111
- */
112
- export function formatValidationResult(result) {
113
- const lines = [];
114
- if (result.valid) {
115
- lines.push(`\u2713 Valid: ${result.name || result.path}`);
116
- }
117
- else {
118
- lines.push(`\u2717 Invalid: ${result.name || result.path}`);
119
- }
120
- lines.push('');
121
- if (result.frontmatter) {
122
- lines.push('\u2713 SKILL.md found');
123
- lines.push('\u2713 Required fields');
124
- lines.push(` \u251c\u2500 name: ${result.frontmatter.name}`);
125
- lines.push(` \u2514\u2500 description: ${result.frontmatter.description.slice(0, 60)}${result.frontmatter.description.length > 60 ? '...' : ''} (${result.frontmatter.description.length} chars)`);
126
- // Optional fields
127
- const optionalFields = [];
128
- if (result.frontmatter.license)
129
- optionalFields.push(`license: ${result.frontmatter.license}`);
130
- if (result.frontmatter.compatibility)
131
- optionalFields.push(`compatibility: ${result.frontmatter.compatibility}`);
132
- if (result.frontmatter['allowed-tools'])
133
- optionalFields.push(`allowed-tools: ${result.frontmatter['allowed-tools']}`);
134
- if (optionalFields.length > 0) {
135
- lines.push('');
136
- lines.push('\u2713 Optional fields');
137
- optionalFields.forEach((field, i) => {
138
- const prefix = i === optionalFields.length - 1 ? '\u2514\u2500' : '\u251c\u2500';
139
- lines.push(` ${prefix} ${field}`);
140
- });
141
- }
142
- // Discovery metadata
143
- if (result.frontmatter.metadata) {
144
- const meta = result.frontmatter.metadata;
145
- lines.push('');
146
- lines.push('\u2713 Discovery metadata (metadata:)');
147
- if (meta.tags)
148
- lines.push(` \u251c\u2500 tags: [${meta.tags.join(', ')}]`);
149
- if (meta.category)
150
- lines.push(` \u251c\u2500 category: ${meta.category}`);
151
- if (meta.triggers)
152
- lines.push(` \u251c\u2500 triggers: ${meta.triggers.length} defined`);
153
- if (meta.version)
154
- lines.push(` \u251c\u2500 version: ${meta.version}`);
155
- if (meta.surfaces)
156
- lines.push(` \u251c\u2500 surfaces: [${meta.surfaces.join(', ')}]`);
157
- if (meta.author)
158
- lines.push(` \u2514\u2500 author: ${meta.author.name}`);
159
- }
160
- }
161
- if (result.errors.length > 0) {
162
- lines.push('');
163
- lines.push('Errors:');
164
- result.errors.forEach((err) => lines.push(` \u2717 ${err}`));
165
- }
166
- if (result.warnings.length > 0) {
167
- lines.push('');
168
- lines.push('Warnings:');
169
- result.warnings.forEach((warn) => lines.push(` \u26a0 ${warn}`));
170
- }
171
- return lines.join('\n');
172
- }
173
- /**
174
- * Handle the validate command
175
- */
176
- export async function handleSkillValidate(skillPath, options) {
177
- const result = validateSkillDirectory(skillPath);
178
- if (options.json) {
179
- console.log(JSON.stringify(result, null, 2));
180
- }
181
- else {
182
- console.log('');
183
- console.log(`Validating ${skillPath}...`);
184
- console.log('');
185
- console.log(formatValidationResult(result));
186
- }
187
- if (!result.valid) {
188
- process.exit(1);
189
- }
190
- }
191
- //# sourceMappingURL=validate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/commands/skills/validate.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}