@vibe-agent-toolkit/agent-skills 0.1.13 → 0.1.15-rc.1

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 (74) hide show
  1. package/README.md +28 -28
  2. package/dist/builder.d.ts +3 -3
  3. package/dist/builder.d.ts.map +1 -1
  4. package/dist/builder.js +3 -3
  5. package/dist/builder.js.map +1 -1
  6. package/dist/import.d.ts +1 -1
  7. package/dist/import.js +7 -7
  8. package/dist/import.js.map +1 -1
  9. package/dist/index.d.ts +4 -4
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +4 -4
  12. package/dist/index.js.map +1 -1
  13. package/dist/schemas/agent-skill-frontmatter.d.ts +140 -0
  14. package/dist/schemas/agent-skill-frontmatter.d.ts.map +1 -0
  15. package/dist/schemas/agent-skill-frontmatter.js +95 -0
  16. package/dist/schemas/agent-skill-frontmatter.js.map +1 -0
  17. package/dist/schemas/claude-plugin.d.ts +60 -109
  18. package/dist/schemas/claude-plugin.d.ts.map +1 -1
  19. package/dist/schemas/claude-plugin.js +26 -34
  20. package/dist/schemas/claude-plugin.js.map +1 -1
  21. package/dist/schemas/index.d.ts +1 -1
  22. package/dist/schemas/index.d.ts.map +1 -1
  23. package/dist/schemas/index.js +1 -1
  24. package/dist/schemas/index.js.map +1 -1
  25. package/dist/schemas/marketplace.d.ts +1224 -202
  26. package/dist/schemas/marketplace.d.ts.map +1 -1
  27. package/dist/schemas/marketplace.js +51 -13
  28. package/dist/schemas/marketplace.js.map +1 -1
  29. package/dist/skill-packager.d.ts +42 -0
  30. package/dist/skill-packager.d.ts.map +1 -1
  31. package/dist/skill-packager.js +269 -238
  32. package/dist/skill-packager.js.map +1 -1
  33. package/dist/validators/format-detection.js +7 -7
  34. package/dist/validators/format-detection.js.map +1 -1
  35. package/dist/validators/frontmatter-validation.d.ts +30 -0
  36. package/dist/validators/frontmatter-validation.d.ts.map +1 -0
  37. package/dist/validators/frontmatter-validation.js +132 -0
  38. package/dist/validators/frontmatter-validation.js.map +1 -0
  39. package/dist/validators/marketplace-validator.d.ts +1 -0
  40. package/dist/validators/marketplace-validator.d.ts.map +1 -1
  41. package/dist/validators/marketplace-validator.js +1 -0
  42. package/dist/validators/marketplace-validator.js.map +1 -1
  43. package/dist/validators/packaging-validator.d.ts +1 -1
  44. package/dist/validators/packaging-validator.d.ts.map +1 -1
  45. package/dist/validators/packaging-validator.js +53 -11
  46. package/dist/validators/packaging-validator.js.map +1 -1
  47. package/dist/validators/plugin-validator.d.ts +2 -1
  48. package/dist/validators/plugin-validator.d.ts.map +1 -1
  49. package/dist/validators/plugin-validator.js +2 -1
  50. package/dist/validators/plugin-validator.js.map +1 -1
  51. package/dist/validators/skill-validator.d.ts +2 -1
  52. package/dist/validators/skill-validator.d.ts.map +1 -1
  53. package/dist/validators/skill-validator.js +7 -108
  54. package/dist/validators/skill-validator.js.map +1 -1
  55. package/dist/validators/types.d.ts +2 -2
  56. package/dist/validators/types.d.ts.map +1 -1
  57. package/dist/validators/validation-rules.d.ts +1 -1
  58. package/dist/validators/validation-rules.js +5 -5
  59. package/dist/validators/validation-rules.js.map +1 -1
  60. package/dist/walk-link-graph.d.ts +88 -0
  61. package/dist/walk-link-graph.d.ts.map +1 -0
  62. package/dist/walk-link-graph.js +190 -0
  63. package/dist/walk-link-graph.js.map +1 -0
  64. package/package.json +5 -4
  65. package/schemas/skill-frontmatter.json +32 -7
  66. package/schemas/vat-skill-frontmatter.json +32 -3
  67. package/dist/link-collector.d.ts +0 -86
  68. package/dist/link-collector.d.ts.map +0 -1
  69. package/dist/link-collector.js +0 -206
  70. package/dist/link-collector.js.map +0 -1
  71. package/dist/schemas/claude-skill-frontmatter.d.ts +0 -75
  72. package/dist/schemas/claude-skill-frontmatter.d.ts.map +0 -1
  73. package/dist/schemas/claude-skill-frontmatter.js +0 -48
  74. package/dist/schemas/claude-skill-frontmatter.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"marketplace.d.ts","sourceRoot":"","sources":["../../src/schemas/marketplace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,QAAA,MAAM,kBAAkB;;;;;;;;;IAMtB,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;EAKqB,CAAC;AAEjD;;;GAGG;AACH,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoC+B,CAAC;AAE7D;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBwB,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;CAGhC,CAAC"}
1
+ {"version":3,"file":"marketplace.d.ts","sourceRoot":"","sources":["../../src/schemas/marketplace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;GAIG;AACH,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IActB,CAAC;AAEH;;;GAGG;AACH,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAa0B,CAAC;AAEtD;;;;;;GAMG;AACH,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAwDoC,CAAC;AAElE;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAwB6B,CAAC;AAE5D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;CAGhC,CAAC"}
@@ -1,34 +1,55 @@
1
1
  import { z } from 'zod';
2
2
  import { zodToJsonSchema } from 'zod-to-json-schema';
3
3
  /**
4
- * Plugin source - can be local path or external git repo
4
+ * Plugin source - can be local path, URL, or GitHub repo
5
+ *
6
+ * @see Claude Code source for supported source types
5
7
  */
6
8
  const PluginSourceSchema = z.union([
7
9
  z.string().describe('Local path to plugin'),
8
10
  z.object({
9
11
  source: z.literal('url'),
10
12
  url: z.string().url().describe('Git repository URL'),
11
- }).describe('External git repository'),
13
+ ref: z.string().optional().describe('Git ref (branch, tag, commit)'),
14
+ sha: z.string().optional().describe('Git commit SHA for pinning'),
15
+ }).describe('External git repository (URL)'),
16
+ z.object({
17
+ source: z.literal('github'),
18
+ repo: z.string().describe('GitHub owner/repo'),
19
+ ref: z.string().optional().describe('Git ref (branch, tag, commit)'),
20
+ sha: z.string().optional().describe('Git commit SHA for pinning'),
21
+ }).describe('GitHub repository'),
12
22
  ]);
13
23
  /**
14
24
  * LSP server configuration
25
+ * @see https://code.claude.com/docs/en/plugins-reference
15
26
  */
16
27
  const LspServerConfigSchema = z.object({
17
28
  command: z.string().describe('Command to start the LSP server'),
29
+ extensionToLanguage: z.record(z.string()).describe('File extension to language ID mapping (required)'),
18
30
  args: z.array(z.string()).optional().describe('Command-line arguments'),
19
- extensionToLanguage: z.record(z.string()).optional().describe('File extension to language ID mapping'),
31
+ transport: z.enum(['stdio', 'socket']).optional().describe('Transport protocol (default: stdio)'),
32
+ env: z.record(z.string()).optional().describe('Environment variables'),
33
+ initializationOptions: z.record(z.unknown()).optional().describe('LSP initialization options'),
34
+ settings: z.record(z.unknown()).optional().describe('LSP server settings'),
35
+ workspaceFolder: z.string().optional().describe('Workspace folder path'),
20
36
  startupTimeout: z.number().optional().describe('Timeout in milliseconds for server startup'),
21
- }).strict().describe('LSP server configuration');
37
+ shutdownTimeout: z.number().optional().describe('Timeout in milliseconds for server shutdown'),
38
+ restartOnCrash: z.boolean().optional().describe('Auto-restart on crash'),
39
+ maxRestarts: z.number().optional().describe('Maximum restart attempts'),
40
+ }).passthrough().describe('LSP server configuration');
22
41
  /**
23
42
  * Plugin entry in marketplace manifest
24
43
  * Supports: bundled skills, external repos, LSP servers
44
+ *
45
+ * Uses passthrough to accept additional fields from the official spec
46
+ * that may not yet be modeled here.
25
47
  */
26
48
  const MarketplacePluginSchema = z.object({
27
49
  name: z.string()
28
50
  .min(1)
29
51
  .describe('Plugin name'),
30
- description: z.string()
31
- .min(1)
52
+ description: z.string().optional()
32
53
  .describe('Plugin description'),
33
54
  source: PluginSourceSchema,
34
55
  version: z.string().optional()
@@ -49,14 +70,30 @@ const MarketplacePluginSchema = z.object({
49
70
  .describe('Plugin homepage URL'),
50
71
  tags: z.array(z.string()).optional()
51
72
  .describe('Plugin tags'),
52
- }).strict().describe('Plugin entry in marketplace manifest');
73
+ repository: z.string().url().optional()
74
+ .describe('Source repository URL'),
75
+ license: z.string().optional()
76
+ .describe('License identifier'),
77
+ keywords: z.array(z.string()).optional()
78
+ .describe('Search keywords'),
79
+ commands: z.union([z.string(), z.array(z.string())]).optional()
80
+ .describe('Command paths'),
81
+ agents: z.union([z.string(), z.array(z.string())]).optional()
82
+ .describe('Agent paths'),
83
+ hooks: z.union([z.string(), z.array(z.string()), z.record(z.unknown())]).optional()
84
+ .describe('Hook config'),
85
+ mcpServers: z.union([z.string(), z.array(z.string()), z.record(z.unknown())]).optional()
86
+ .describe('MCP server config'),
87
+ }).passthrough().describe('Plugin entry in marketplace manifest');
53
88
  /**
54
89
  * Schema for marketplace.json manifest
55
- * Based on external schema: https://anthropic.com/claude-code/marketplace.schema.json
56
90
  *
57
- * Note: External schema is AUTHORITATIVE but not currently available.
58
- * This Zod schema is derived from observed real-world marketplace.json files
91
+ * Note: No official JSON Schema URL exists yet. This Zod schema is derived
92
+ * from observed real-world marketplace.json files and Claude Code source,
59
93
  * and should be kept in sync via tests.
94
+ *
95
+ * Uses passthrough at all levels to accept fields from the official spec
96
+ * that may not yet be modeled here.
60
97
  */
61
98
  export const MarketplaceSchema = z.object({
62
99
  $schema: z.string().url().optional()
@@ -69,14 +106,15 @@ export const MarketplaceSchema = z.object({
69
106
  owner: z.object({
70
107
  name: z.string(),
71
108
  email: z.string().email().optional(),
72
- }).strict().describe('Marketplace owner'),
109
+ }).passthrough().describe('Marketplace owner'),
73
110
  metadata: z.object({
74
111
  description: z.string(),
75
112
  version: z.string(),
76
- }).strict().optional().describe('Marketplace metadata'),
113
+ pluginRoot: z.string().optional().describe('Root directory for plugin paths'),
114
+ }).passthrough().optional().describe('Marketplace metadata'),
77
115
  plugins: z.array(MarketplacePluginSchema)
78
116
  .describe('Array of plugin configurations'),
79
- }).strict().describe('Marketplace manifest structure');
117
+ }).passthrough().describe('Marketplace manifest structure');
80
118
  /**
81
119
  * JSON Schema representation of Marketplace schema
82
120
  * Generated from Zod schema for external tooling
@@ -1 +1 @@
1
- {"version":3,"file":"marketplace.js","sourceRoot":"","sources":["../../src/schemas/marketplace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"marketplace.js","sourceRoot":"","sources":["../../src/schemas/marketplace.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,11 @@
10
10
  * - zip: Single file archive (preferred for Windows compatibility)
11
11
  * - npm: Standard npm package with package.json
12
12
  * - marketplace: JSON manifest for plugin registries
13
+ *
14
+ * Uses ResourceRegistry + transformContent() from @vibe-agent-toolkit/resources
15
+ * for link resolution and rewriting (replacing the previous inline regex approach).
13
16
  */
17
+ import { ResourceRegistry } from '@vibe-agent-toolkit/resources';
14
18
  /**
15
19
  * Resource naming strategy type
16
20
  */
@@ -68,6 +72,8 @@ export interface PackageSkillOptions {
68
72
  stripPrefix?: string;
69
73
  /** How deep to follow markdown links (default: 2) */
70
74
  linkFollowDepth?: number | 'full' | undefined;
75
+ /** Whether to exclude navigation files (README.md, index.md, etc.) from bundle (default: true) */
76
+ excludeNavigationFiles?: boolean | undefined;
71
77
  /** Exclude patterns and rewrite templates for non-bundled links */
72
78
  excludeReferencesFromBundle?: {
73
79
  rules?: Array<{
@@ -76,6 +82,12 @@ export interface PackageSkillOptions {
76
82
  }> | undefined;
77
83
  defaultTemplate?: string | undefined;
78
84
  } | undefined;
85
+ /**
86
+ * Pre-built ResourceRegistry for the project.
87
+ * When provided, packageSkill() skips creating its own registry.
88
+ * Used by packageSkills() to share a single registry across multiple skill builds.
89
+ */
90
+ registry?: ResourceRegistry | undefined;
79
91
  }
80
92
  export interface SkillMetadata {
81
93
  name: string;
@@ -112,6 +124,36 @@ export interface PackageSkillResult {
112
124
  /** References excluded from bundle */
113
125
  excludedReferences?: string[] | undefined;
114
126
  }
127
+ /**
128
+ * Specification for building a single skill. Used with packageSkills().
129
+ */
130
+ export interface SkillBuildSpec {
131
+ /** Absolute path to the SKILL.md file */
132
+ skillPath: string;
133
+ /** Packaging options for this skill */
134
+ options: PackageSkillOptions;
135
+ }
136
+ /**
137
+ * Package multiple skills with a shared ResourceRegistry.
138
+ *
139
+ * Creates one registry for the entire project (crawling all .md files once),
140
+ * then packages each skill against the shared registry. This eliminates
141
+ * redundant I/O when building multiple skills from the same project.
142
+ *
143
+ * @param skills - Array of skill build specifications
144
+ * @param projectRoot - Absolute path to the project root directory
145
+ * @returns Array of package results (one per skill)
146
+ *
147
+ * @example
148
+ * ```typescript
149
+ * const specs: SkillBuildSpec[] = [
150
+ * { skillPath: '/project/skills/SKILL.md', options: { outputPath: '/out/skill-a' } },
151
+ * { skillPath: '/project/skills/SKILL2.md', options: { outputPath: '/out/skill-b' } },
152
+ * ];
153
+ * const results = await packageSkills(specs, '/project');
154
+ * ```
155
+ */
156
+ export declare function packageSkills(skills: SkillBuildSpec[], projectRoot: string): Promise<PackageSkillResult[]>;
115
157
  /**
116
158
  * Package a skill with all its dependencies
117
159
  *
@@ -1 +1 @@
1
- {"version":3,"file":"skill-packager.d.ts","sourceRoot":"","sources":["../src/skill-packager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAgBH;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,aAAa,GAAG,eAAe,CAAC;AAElF,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,aAAa,CAAC,EAAE,CAAC;IAE1D;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,EAAE,sBAAsB,CAAC;IAExC;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,qDAAqD;IACrD,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAE9C,mEAAmE;IACnE,2BAA2B,CAAC,EAAE;QAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;YACZ,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;SAC/B,CAAC,GAAG,SAAS,CAAC;QACf,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACtC,GAAG,SAAS,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IAErB;;OAEG;IACH,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;IAEF;;OAEG;IACH,SAAS,CAAC,EAAE;QACV,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF,sCAAsC;IACtC,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC,CAmG7B;AAkDD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASlE"}
1
+ {"version":3,"file":"skill-packager.d.ts","sourceRoot":"","sources":["../src/skill-packager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,EACL,gBAAgB,EAKjB,MAAM,+BAA+B,CAAC;AAUvC;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,aAAa,GAAG,eAAe,CAAC;AAElF,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,aAAa,CAAC,EAAE,CAAC;IAE1D;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,EAAE,sBAAsB,CAAC;IAExC;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,qDAAqD;IACrD,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAE9C,kGAAkG;IAClG,sBAAsB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE7C,mEAAmE;IACnE,2BAA2B,CAAC,EAAE;QAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;YACZ,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;SAC/B,CAAC,GAAG,SAAS,CAAC;QACf,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACtC,GAAG,SAAS,CAAC;IAEd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IAErB;;OAEG;IACH,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;IAEF;;OAEG;IACH,SAAS,CAAC,EAAE;QACV,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF,sCAAsC;IACtC,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,OAAO,EAAE,mBAAmB,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,cAAc,EAAE,EACxB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAe/B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC,CAyJ7B;AA4QD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASlE"}