@nimblebrain/mpak 0.1.0 → 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.
Files changed (151) hide show
  1. package/LICENSE +10 -198
  2. package/README.md +50 -383
  3. package/dist/index.d.ts +0 -2
  4. package/dist/index.js +2113 -4
  5. package/dist/index.js.map +1 -1
  6. package/package.json +32 -29
  7. package/.claude/settings.local.json +0 -19
  8. package/.env.example +0 -13
  9. package/.github/workflows/ci.yml +0 -27
  10. package/CLAUDE.md +0 -283
  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,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":""}
@@ -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"}