@vibe-agent-toolkit/agent-skills 0.2.0-rc.6 → 0.2.0-rc.7

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 (64) hide show
  1. package/dist/content-type-routing.d.ts +32 -0
  2. package/dist/content-type-routing.d.ts.map +1 -1
  3. package/dist/content-type-routing.js +23 -0
  4. package/dist/content-type-routing.js.map +1 -1
  5. package/dist/index.d.ts +3 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +5 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/parsers/frontmatter-parser.d.ts.map +1 -1
  10. package/dist/parsers/frontmatter-parser.js +30 -6
  11. package/dist/parsers/frontmatter-parser.js.map +1 -1
  12. package/dist/plugin-distribution-layout.d.ts.map +1 -1
  13. package/dist/plugin-distribution-layout.js +13 -0
  14. package/dist/plugin-distribution-layout.js.map +1 -1
  15. package/dist/post-build-checks.d.ts +9 -1
  16. package/dist/post-build-checks.d.ts.map +1 -1
  17. package/dist/post-build-checks.js +9 -2
  18. package/dist/post-build-checks.js.map +1 -1
  19. package/dist/schemas/allowed-tools.d.ts +31 -0
  20. package/dist/schemas/allowed-tools.d.ts.map +1 -0
  21. package/dist/schemas/allowed-tools.js +88 -0
  22. package/dist/schemas/allowed-tools.js.map +1 -0
  23. package/dist/schemas/index.d.ts +1 -0
  24. package/dist/schemas/index.d.ts.map +1 -1
  25. package/dist/schemas/index.js +1 -0
  26. package/dist/schemas/index.js.map +1 -1
  27. package/dist/schemas/marketplace-manifest.d.ts.map +1 -1
  28. package/dist/schemas/marketplace-manifest.js +17 -6
  29. package/dist/schemas/marketplace-manifest.js.map +1 -1
  30. package/dist/skill-packager.d.ts +85 -13
  31. package/dist/skill-packager.d.ts.map +1 -1
  32. package/dist/skill-packager.js +153 -32
  33. package/dist/skill-packager.js.map +1 -1
  34. package/dist/skill-test/eval-fragment.d.ts +5 -3
  35. package/dist/skill-test/eval-fragment.d.ts.map +1 -1
  36. package/dist/skill-test/eval-fragment.js +5 -3
  37. package/dist/skill-test/eval-fragment.js.map +1 -1
  38. package/dist/skill-test/eval-grader.d.ts +8 -2
  39. package/dist/skill-test/eval-grader.d.ts.map +1 -1
  40. package/dist/skill-test/eval-grader.js +3 -6
  41. package/dist/skill-test/eval-grader.js.map +1 -1
  42. package/dist/validators/agent-instruction-presence.d.ts.map +1 -1
  43. package/dist/validators/agent-instruction-presence.js +44 -1
  44. package/dist/validators/agent-instruction-presence.js.map +1 -1
  45. package/dist/validators/compat-detectors.d.ts +17 -0
  46. package/dist/validators/compat-detectors.d.ts.map +1 -1
  47. package/dist/validators/compat-detectors.js +46 -19
  48. package/dist/validators/compat-detectors.js.map +1 -1
  49. package/dist/validators/marketplace-validator.d.ts.map +1 -1
  50. package/dist/validators/marketplace-validator.js +6 -0
  51. package/dist/validators/marketplace-validator.js.map +1 -1
  52. package/dist/validators/packaging-validator.d.ts +31 -2
  53. package/dist/validators/packaging-validator.d.ts.map +1 -1
  54. package/dist/validators/packaging-validator.js +87 -11
  55. package/dist/validators/packaging-validator.js.map +1 -1
  56. package/dist/validators/referenced-path-missing.d.ts +15 -6
  57. package/dist/validators/referenced-path-missing.d.ts.map +1 -1
  58. package/dist/validators/referenced-path-missing.js +42 -21
  59. package/dist/validators/referenced-path-missing.js.map +1 -1
  60. package/dist/validators/types.d.ts +14 -0
  61. package/dist/validators/types.d.ts.map +1 -1
  62. package/dist/walk-link-graph.js +26 -7
  63. package/dist/walk-link-graph.js.map +1 -1
  64. package/package.json +7 -7
@@ -36,4 +36,36 @@ export declare const CONTENT_TYPE_ROUTING_MAP: ReadonlyMap<string, TargetSubdirC
36
36
  * @returns Subdirectory name: 'scripts', 'templates', 'assets', or 'resources'
37
37
  */
38
38
  export declare function getTargetSubdir(filePath: string): TargetSubdirCategory;
39
+ /**
40
+ * Packaging target: determines ZIP directory structure
41
+ * - 'claude-code': Standard VAT format, routed by extension into `resources/`,
42
+ * `scripts/`, `templates/`, `assets/` ({@link getTargetSubdir}) (default)
43
+ * - 'claude-web': Claude.ai web upload format — extensions are ignored and
44
+ * EVERY resource is flattened into `references/`
45
+ * ({@link CLAUDE_WEB_REFERENCES_SUBDIR}); `scripts/setup.sh` ships as
46
+ * `references/setup.sh`
47
+ *
48
+ * {@link getResourceSubdirForFile} is the routing answer for both; this doc used
49
+ * to say claude-web kept `scripts/` and `assets/`, which the function beneath
50
+ * it never did.
51
+ */
52
+ export type PackagingTarget = 'claude-code' | 'claude-web';
53
+ /**
54
+ * The subdirectory the packager puts a bundled file in — THE routing answer.
55
+ *
56
+ * ⛔ {@link getTargetSubdir} is only half of it. It reads the extension, which is
57
+ * the `claude-code` rule; `claude-web` ignores extensions entirely and flattens
58
+ * every resource into {@link CLAUDE_WEB_REFERENCES_SUBDIR}. Anything asking
59
+ * *"where does this file end up?"* must ask HERE and pass the target.
60
+ *
61
+ * 🚩 This function lived in `skill-packager.ts`, and a validator that needed the
62
+ * same answer could not import it without a cycle — so it called
63
+ * `getTargetSubdir` instead and silently answered for one target. That made the
64
+ * whole `claude-web` packaging target false-positive
65
+ * `PACKAGED_REFERENCED_PATH_MISSING` on files that shipped: same fixture, clean
66
+ * under `--target claude-code`, a finding under `--target claude-web`. Two
67
+ * routing answers for one question is the defect, and it lives with the routing
68
+ * table now so there can only be one.
69
+ */
70
+ export declare function getResourceSubdirForFile(filePath: string, target: PackagingTarget): string;
39
71
  //# sourceMappingURL=content-type-routing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"content-type-routing.d.ts","sourceRoot":"","sources":["../src/content-type-routing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,0DAA2D,CAAC;AAEjG,8DAA8D;AAC9D,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,eAAe,CAAC;AA4DzD,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAiB,CAAC;AAEjG;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAStE"}
1
+ {"version":3,"file":"content-type-routing.d.ts","sourceRoot":"","sources":["../src/content-type-routing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,0DAA2D,CAAC;AAEjG,8DAA8D;AAC9D,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,eAAe,CAAC;AA4DzD,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAiB,CAAC;AAEjG;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAStE;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,YAAY,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,MAAM,CAK1F"}
@@ -96,4 +96,27 @@ export function getTargetSubdir(filePath) {
96
96
  }
97
97
  return EXTENSION_MAP.get(ext) ?? 'resources';
98
98
  }
99
+ /**
100
+ * The subdirectory the packager puts a bundled file in — THE routing answer.
101
+ *
102
+ * ⛔ {@link getTargetSubdir} is only half of it. It reads the extension, which is
103
+ * the `claude-code` rule; `claude-web` ignores extensions entirely and flattens
104
+ * every resource into {@link CLAUDE_WEB_REFERENCES_SUBDIR}. Anything asking
105
+ * *"where does this file end up?"* must ask HERE and pass the target.
106
+ *
107
+ * 🚩 This function lived in `skill-packager.ts`, and a validator that needed the
108
+ * same answer could not import it without a cycle — so it called
109
+ * `getTargetSubdir` instead and silently answered for one target. That made the
110
+ * whole `claude-web` packaging target false-positive
111
+ * `PACKAGED_REFERENCED_PATH_MISSING` on files that shipped: same fixture, clean
112
+ * under `--target claude-code`, a finding under `--target claude-web`. Two
113
+ * routing answers for one question is the defect, and it lives with the routing
114
+ * table now so there can only be one.
115
+ */
116
+ export function getResourceSubdirForFile(filePath, target) {
117
+ if (target === 'claude-web') {
118
+ return CLAUDE_WEB_REFERENCES_SUBDIR;
119
+ }
120
+ return getTargetSubdir(filePath);
121
+ }
99
122
  //# sourceMappingURL=content-type-routing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"content-type-routing.js","sourceRoot":"","sources":["../src/content-type-routing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAU,CAAC;AAKjG;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,YAAY,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,aAAa,GAAG,IAAI,GAAG,CAA+B;IAC1D,uBAAuB;IACvB,CAAC,KAAK,EAAE,WAAW,CAAC;IAEpB,UAAU;IACV,CAAC,MAAM,EAAE,SAAS,CAAC;IACnB,CAAC,MAAM,EAAE,SAAS,CAAC;IACnB,CAAC,KAAK,EAAE,SAAS,CAAC;IAClB,CAAC,KAAK,EAAE,SAAS,CAAC;IAClB,CAAC,KAAK,EAAE,SAAS,CAAC;IAClB,CAAC,OAAO,EAAE,SAAS,CAAC;IACpB,CAAC,MAAM,EAAE,SAAS,CAAC;IACnB,CAAC,MAAM,EAAE,SAAS,CAAC;IACnB,CAAC,KAAK,EAAE,SAAS,CAAC;IAClB,CAAC,KAAK,EAAE,SAAS,CAAC;IAClB,CAAC,KAAK,EAAE,SAAS,CAAC;IAElB,YAAY;IACZ,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,WAAW,EAAE,WAAW,CAAC;IAC1B,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,MAAM,EAAE,WAAW,CAAC;IAErB,SAAS;IACT,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,OAAO,EAAE,QAAQ,CAAC;IACnB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,OAAO,EAAE,QAAQ,CAAC;IACnB,CAAC,OAAO,EAAE,QAAQ,CAAC;IACnB,CAAC,OAAO,EAAE,QAAQ,CAAC;IACnB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,OAAO,EAAE,QAAQ,CAAC;IACnB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,MAAM,EAAE,QAAQ,CAAC;CACnB,CAAC,CAAC;AAEH,8EAA8E;AAC9E,MAAM,CAAC,MAAM,wBAAwB,GAA8C,aAAa,CAAC;AAEjG;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAE5C,kFAAkF;IAClF,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;QACvB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"content-type-routing.js","sourceRoot":"","sources":["../src/content-type-routing.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,12 +3,13 @@
3
3
  * Build, validate, and package agent skills in the Agent Skills format
4
4
  */
5
5
  export { buildAgentSkill, type BuildOptions, type BuildResult } from './builder.js';
6
- export { createProjectRegistry, extractH1Title, packageSkill, packageSkills, packagingConfigToPackageOptions, ZipSizeLimitError, type PackageSkillOptions, type PackageSkillResult, type PackagingTarget, type ProjectRegistryOptions, type SkillBuildSpec, type SkillMetadata, type SkillPackageOutcome, } from './skill-packager.js';
6
+ export { createProjectRegistry, extractH1Title, packageSkill, packageSkills, packagingConfigToPackageOptions, ZipSizeLimitError, type PackageSkillOptions, type PackageSkillResult, type ProjectRegistryOptions, type SkillBuildSpec, type SkillMetadata, type SkillPackageOutcome, } from './skill-packager.js';
7
7
  export { walkLinkGraph, type ExcludeRule, type LinkGraphResult, type LinkResolution, type WalkableRegistry, type WalkLinkGraphOptions, } from './walk-link-graph.js';
8
8
  export { SKILL_EXTENT_CONTRIBUTOR_ID_PREFIX, skillExtentContributorId, SKILL_EXTENT_KIND, SKILL_REFUSED_AGENT_INSTRUCTION_FILE, SKILL_REFUSED_DIRECTORY_TARGET, SKILL_REFUSED_GITIGNORED, SKILL_REFUSED_NAVIGATION_FILE, SKILL_REFUSED_PATTERN_MATCHED, SKILL_REFUSED_SKILL_DEFINITION, SkillExtentContributor, skillExtentDeclaration, } from './projection/skill-extent.js';
9
- export { getTargetSubdir, CONTENT_TYPE_ROUTING_MAP, type TargetSubdirCategory, } from './content-type-routing.js';
9
+ export { getResourceSubdirForFile, getTargetSubdir, CONTENT_TYPE_ROUTING_MAP, type PackagingTarget, type TargetSubdirCategory, } from './content-type-routing.js';
10
10
  export { applyFilesConfig, collectPreBuildGlobFindings, droppedGlobMatchesToIssues, explicitFilesConfigDests, mergeFilesConfig, preBuildGlobFindingsToIssues, skippedGlobMatchesToIssues, type AllRefusedGlobEntry, type AppliedFilesConfig, type ApplyFilesConfigOptions, type DroppedGlobMatch, type PreBuildGlobFindings, type UnmatchedGlobEntry, } from './files-config.js';
11
11
  export { AgentSkillFrontmatterJsonSchema, AgentSkillFrontmatterSchema, VATAgentSkillFrontmatterSchema, type AgentSkillFrontmatter, type VATAgentSkillFrontmatter, } from './schemas/agent-skill-frontmatter.js';
12
+ export { allowedToolsOf, splitAllowedToolsList } from './schemas/allowed-tools.js';
12
13
  export { MarketplaceManifestJsonSchema, MarketplaceManifestSchema, type MarketplaceManifest } from './schemas/marketplace-manifest.js';
13
14
  export { parseFrontmatter, type FrontmatterResult, } from './parsers/frontmatter-parser.js';
14
15
  export { declaredSkillNameIn, readDeclaredSkillName } from './skill-identity.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11,9 +11,13 @@ export { walkLinkGraph, } from './walk-link-graph.js';
11
11
  // measured boundary between what the declaration expresses and what only
12
12
  // `walkLinkGraph`'s ordered cascade can.
13
13
  export { SKILL_EXTENT_CONTRIBUTOR_ID_PREFIX, skillExtentContributorId, SKILL_EXTENT_KIND, SKILL_REFUSED_AGENT_INSTRUCTION_FILE, SKILL_REFUSED_DIRECTORY_TARGET, SKILL_REFUSED_GITIGNORED, SKILL_REFUSED_NAVIGATION_FILE, SKILL_REFUSED_PATTERN_MATCHED, SKILL_REFUSED_SKILL_DEFINITION, SkillExtentContributor, skillExtentDeclaration, } from './projection/skill-extent.js';
14
- export { getTargetSubdir, CONTENT_TYPE_ROUTING_MAP, } from './content-type-routing.js';
14
+ export { getResourceSubdirForFile, getTargetSubdir, CONTENT_TYPE_ROUTING_MAP, } from './content-type-routing.js';
15
15
  export { applyFilesConfig, collectPreBuildGlobFindings, droppedGlobMatchesToIssues, explicitFilesConfigDests, mergeFilesConfig, preBuildGlobFindingsToIssues, skippedGlobMatchesToIssues, } from './files-config.js';
16
16
  export { AgentSkillFrontmatterJsonSchema, AgentSkillFrontmatterSchema, VATAgentSkillFrontmatterSchema, } from './schemas/agent-skill-frontmatter.js';
17
+ // The one reader of an `allowed-tools:` value. The settings-compat checker in
18
+ // claude-marketplace imports it from here so it cannot drift from the compat
19
+ // detectors' reading of the same field.
20
+ export { allowedToolsOf, splitAllowedToolsList } from './schemas/allowed-tools.js';
17
21
  export { MarketplaceManifestJsonSchema, MarketplaceManifestSchema } from './schemas/marketplace-manifest.js';
18
22
  export { parseFrontmatter, } from './parsers/frontmatter-parser.js';
19
23
  export { declaredSkillNameIn, readDeclaredSkillName } from './skill-identity.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAuC,MAAM,cAAc,CAAC;AAEpF,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,+BAA+B,EAC/B,iBAAiB,GAOlB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,aAAa,GAMd,MAAM,sBAAsB,CAAC;AAE9B,6EAA6E;AAC7E,2EAA2E;AAC3E,4EAA4E;AAC5E,yEAAyE;AACzE,yCAAyC;AACzC,OAAO,EACL,kCAAkC,EAClC,wBAAwB,EACxB,iBAAiB,EACjB,oCAAoC,EACpC,8BAA8B,EAC9B,wBAAwB,EACxB,6BAA6B,EAC7B,6BAA6B,EAC7B,8BAA8B,EAC9B,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,wBAAwB,GAGzB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,gBAAgB,EAChB,4BAA4B,EAC5B,0BAA0B,GAO3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,GAG/B,MAAM,sCAAsC,CAAC;AAE9C,8EAA8E;AAC9E,6EAA6E;AAC7E,wCAAwC;AACxC,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnF,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAA4B,MAAM,mCAAmC,CAAC;AAEvI,OAAO,EACL,gBAAgB,GAEjB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjF,OAAO,EAA0B,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAyB,MAAM,sCAAsC,CAAC;AACvG,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAAE,mCAAmC,EAAE,MAAM,4CAA4C,CAAC;AACjG,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,WAAW;AACX,4EAA4E;AAC5E,2EAA2E;AAC3E,2EAA2E;AAC3E,6BAA6B;AAC7B,wBAAwB,GAEzB,MAAM,qCAAqC,CAAC;AAC7C,gFAAgF;AAChF,+EAA+E;AAC/E,kFAAkF;AAClF,iDAAiD;AACjD,OAAO,EAAE,gBAAgB,EAAwB,MAAM,mCAAmC,CAAC;AAC3F,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,QAAQ,EAA+B,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EAMzB,sCAAsC,EACtC,+BAA+B,GAChC,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;AACzF,OAAO,EACL,+BAA+B,EAC/B,WAAW,EACX,0BAA0B,EAC1B,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GAItB,MAAM,kCAAkC,CAAC;AAQ1C,OAAO,EACL,kBAAkB,GAGnB,MAAM,aAAa,CAAC;AAErB,0BAA0B;AAC1B,OAAO,EAAE,cAAc,EAAuB,MAAM,6BAA6B,CAAC;AAElF,8CAA8C;AAC9C,OAAO,EAAE,kBAAkB,EAAkC,MAAM,wCAAwC,CAAC;AAgB5G,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAoB7B,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,oCAAoC,EACpC,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAE9B,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,GAItB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,+BAA+B,EAC/B,oCAAoC,EACpC,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,4BAA4B,EAC5B,iBAAiB,GAElB,MAAM,iCAAiC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"frontmatter-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/frontmatter-parser.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,IAAI,CAAC;IACd,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAEtE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAgDnE"}
1
+ {"version":3,"file":"frontmatter-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/frontmatter-parser.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,IAAI,CAAC;IACd,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAEtE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAiEnE"}
@@ -42,13 +42,9 @@ export function parseFrontmatter(content) {
42
42
  ? normalized.slice(bodyStartIndex + 1) // Skip newline after ---
43
43
  : '';
44
44
  // Parse YAML
45
+ let parsed;
45
46
  try {
46
- const frontmatter = yaml.parse(yamlContent);
47
- return {
48
- success: true,
49
- frontmatter,
50
- body,
51
- };
47
+ parsed = yaml.parse(yamlContent);
52
48
  }
53
49
  catch (error) {
54
50
  return {
@@ -56,5 +52,33 @@ export function parseFrontmatter(content) {
56
52
  error: `Failed to parse YAML frontmatter: ${error instanceof Error ? error.message : String(error)}`,
57
53
  };
58
54
  }
55
+ // A block that parsed but is not a mapping is refused HERE, once. `yaml.parse`
56
+ // answers `null` for an empty document or `~`, a string for a bare scalar, an
57
+ // array for a sequence — and the success arm promises `Record<string,
58
+ // unknown>`, so every reader dereferenced it. `validateSkill` died with
59
+ // `Cannot read properties of null (reading 'name')` and took the whole
60
+ // `vat audit` run with it, while two other readers had grown their own `null`
61
+ // guards: three consumers of one seam, three answers for one file. The
62
+ // refusal names what was found, because "no frontmatter" over a file that
63
+ // plainly has a `---` block sends the author to the wrong fix.
64
+ if (parsed === null || parsed === undefined || typeof parsed !== 'object' || Array.isArray(parsed)) {
65
+ return {
66
+ success: false,
67
+ error: `Frontmatter is not a YAML mapping: the block between the "---" delimiters is ${describeNonMapping(parsed)}`,
68
+ };
69
+ }
70
+ return {
71
+ success: true,
72
+ frontmatter: parsed,
73
+ body,
74
+ };
75
+ }
76
+ /** The shape a non-mapping frontmatter block turned out to be, for the refusal message. */
77
+ function describeNonMapping(parsed) {
78
+ if (parsed === null || parsed === undefined)
79
+ return 'empty';
80
+ if (Array.isArray(parsed))
81
+ return 'a sequence, not key: value fields';
82
+ return `a scalar (${JSON.stringify(parsed)}), not key: value fields`;
59
83
  }
60
84
  //# sourceMappingURL=frontmatter-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"frontmatter-parser.js","sourceRoot":"","sources":["../../src/parsers/frontmatter-parser.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAexB;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,yBAAyB;IACzB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAEpD,uCAAuC;IACvC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,qEAAqE;SAC7E,CAAC;IACJ,CAAC;IAED,yBAAyB;IACzB,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAEvD,IAAI,YAAY,KAAK,CAAC,CAAC,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,4BAA4B;SACpC,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,MAAM,kBAAkB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC;IAChF,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAE5D,yCAAyC;IACzC,MAAM,cAAc,GAAG,kBAAkB,GAAG,CAAC,CAAC,CAAC,eAAe;IAC9D,MAAM,IAAI,GAAG,cAAc,GAAG,UAAU,CAAC,MAAM;QAC7C,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,yBAAyB;QAChE,CAAC,CAAC,EAAE,CAAC;IAEP,aAAa;IACb,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAA4B,CAAC;QAEvE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,WAAW;YACX,IAAI;SACL,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;SACrG,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"frontmatter-parser.js","sourceRoot":"","sources":["../../src/parsers/frontmatter-parser.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAexB;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,yBAAyB;IACzB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAEpD,uCAAuC;IACvC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,qEAAqE;SAC7E,CAAC;IACJ,CAAC;IAED,yBAAyB;IACzB,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAEvD,IAAI,YAAY,KAAK,CAAC,CAAC,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,4BAA4B;SACpC,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,MAAM,kBAAkB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC;IAChF,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAE5D,yCAAyC;IACzC,MAAM,cAAc,GAAG,kBAAkB,GAAG,CAAC,CAAC,CAAC,eAAe;IAC9D,MAAM,IAAI,GAAG,cAAc,GAAG,UAAU,CAAC,MAAM;QAC7C,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,yBAAyB;QAChE,CAAC,CAAC,EAAE,CAAC;IAEP,aAAa;IACb,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;SACrG,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,8EAA8E;IAC9E,sEAAsE;IACtE,wEAAwE;IACxE,uEAAuE;IACvE,8EAA8E;IAC9E,uEAAuE;IACvE,0EAA0E;IAC1E,+DAA+D;IAC/D,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnG,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,gFAAgF,kBAAkB,CAAC,MAAM,CAAC,EAAE;SACpH,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,MAAiC;QAC9C,IAAI;KACL,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,SAAS,kBAAkB,CAAC,MAAe;IACzC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,mCAAmC,CAAC;IACtE,OAAO,aAAa,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,0BAA0B,CAAC;AACvE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-distribution-layout.d.ts","sourceRoot":"","sources":["../src/plugin-distribution-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAKnE;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,GACjB,MAAM,CAWR;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACpD,MAAM,CAKR;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,yBAAyB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE,CAE3E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE,CAU9E;AA2CD,+DAA+D;AAC/D,MAAM,WAAW,wBAAwB;IACvC,wDAAwD;IACxD,eAAe,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,cAAc,EAAE,MAAM,CAAC;IACvB,gHAAgH;IAChH,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,GAChB,wBAAwB,EAAE,CA0B5B;AAED,uFAAuF;AACvF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACrB,wBAAwB,GAAG,SAAS,CAKtC"}
1
+ {"version":3,"file":"plugin-distribution-layout.d.ts","sourceRoot":"","sources":["../src/plugin-distribution-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAKnE;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,GACjB,MAAM,CAWR;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACpD,MAAM,CAKR;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,yBAAyB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE,CAE3E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE,CAU9E;AAyDD,+DAA+D;AAC/D,MAAM,WAAW,wBAAwB;IACvC,wDAAwD;IACxD,eAAe,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,cAAc,EAAE,MAAM,CAAC;IACvB,gHAAgH;IAChH,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,GAChB,wBAAwB,EAAE,CA0B5B;AAED,uFAAuF;AACvF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACrB,wBAAwB,GAAG,SAAS,CAKtC"}
@@ -105,6 +105,13 @@ function crawlSkillDirs(pluginSourceDir, respectGitignore) {
105
105
  return [];
106
106
  // `exclude: []` (not the crawler's default) so this sees exactly what
107
107
  // treeCopyPlugin sees — the only filter either applies is git visibility.
108
+ //
109
+ // A directory this crawl cannot LIST stops the build, by name, for the same
110
+ // reason the tree-copy stops: this listing decides which skills get packaged,
111
+ // and a shorter answer ships a plugin missing every skill beneath the refused
112
+ // directory while the build reports success — the one silent drop property 3
113
+ // above exists to prevent. Expressed against the plugin source dir so the
114
+ // message reads `skills/<group>`, the path the author sees.
108
115
  const skillFiles = crawlDirectorySync({
109
116
  baseDir: skillsDir,
110
117
  include: ['**/SKILL.md'],
@@ -112,6 +119,12 @@ function crawlSkillDirs(pluginSourceDir, respectGitignore) {
112
119
  absolute: false,
113
120
  filesOnly: true,
114
121
  respectGitignore,
122
+ unreadable: {
123
+ refuse: {
124
+ root: pluginSourceDir,
125
+ remedy: 'Fix the permissions on that directory, or move it out of the plugin\'s `skills/` tree so the build no longer has to list it.',
126
+ },
127
+ },
115
128
  });
116
129
  const dirs = skillFiles
117
130
  .map((rel) => toForwardSlash(dirname(rel)))
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-distribution-layout.js","sourceRoot":"","sources":["../src/plugin-distribution-layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-distribution-layout.js","sourceRoot":"","sources":["../src/plugin-distribution-layout.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  * Detects unreferenced files and broken links in the packaged output.
6
6
  */
7
7
  import { type ValidationIssue } from '@vibe-agent-toolkit/schema';
8
+ import { type PackagingTarget } from './content-type-routing.js';
8
9
  /**
9
10
  * Check that every file in the packaged output is referenced from some markdown or HTML file.
10
11
  *
@@ -57,9 +58,16 @@ export declare function checkUnreferencedFiles(outputDir: string, filesConfigDes
57
58
  * bundled `evals/` really is shipped to a plugin user, so a path it names really is
58
59
  * missing from what they get.
59
60
  *
61
+ * ⛔ `target` is required and is not defaulted. The routed-spelling guard inside
62
+ * the detector has to ask the SAME routing function the packager asked, and a
63
+ * default here is exactly how it came to ask a different one: it used the
64
+ * extension-only `claude-code` rule for every target, so `claude-web` bundles
65
+ * reported files that shipped.
66
+ *
60
67
  * @param outputDir Absolute path to the packaged skill output.
68
+ * @param target The packaging target the output was produced for.
61
69
  */
62
- export declare function checkMissingReferencedPaths(outputDir: string): Promise<ValidationIssue[]>;
70
+ export declare function checkMissingReferencedPaths(outputDir: string, target: PackagingTarget): Promise<ValidationIssue[]>;
63
71
  /**
64
72
  * Check that every local file link in packaged markdown and HTML files resolves to a file
65
73
  * that exists in the packaged output.
@@ -1 +1 @@
1
- {"version":3,"file":"post-build-checks.d.ts","sourceRoot":"","sources":["../src/post-build-checks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAiSlE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,gBAAgB,GAAE,SAAS,MAAM,EAAO,GACvC,OAAO,CAAC,eAAe,EAAE,CAAC,CAuC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAG/F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,MAAM,EACjB,YAAY,GAAE,SAAS,MAAM,EAAO,GACnC,OAAO,CAAC,eAAe,EAAE,CAAC,CAgB5B"}
1
+ {"version":3,"file":"post-build-checks.d.ts","sourceRoot":"","sources":["../src/post-build-checks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAGlE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AA+RjE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,gBAAgB,GAAE,SAAS,MAAM,EAAO,GACvC,OAAO,CAAC,eAAe,EAAE,CAAC,CAuC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,eAAe,EAAE,CAAC,CAG5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,MAAM,EACjB,YAAY,GAAE,SAAS,MAAM,EAAO,GACnC,OAAO,CAAC,eAAe,EAAE,CAAC,CAgB5B"}
@@ -344,11 +344,18 @@ export async function checkUnreferencedFiles(outputDir, filesConfigDests = []) {
344
344
  * bundled `evals/` really is shipped to a plugin user, so a path it names really is
345
345
  * missing from what they get.
346
346
  *
347
+ * ⛔ `target` is required and is not defaulted. The routed-spelling guard inside
348
+ * the detector has to ask the SAME routing function the packager asked, and a
349
+ * default here is exactly how it came to ask a different one: it used the
350
+ * extension-only `claude-code` rule for every target, so `claude-web` bundles
351
+ * reported files that shipped.
352
+ *
347
353
  * @param outputDir Absolute path to the packaged skill output.
354
+ * @param target The packaging target the output was produced for.
348
355
  */
349
- export async function checkMissingReferencedPaths(outputDir) {
356
+ export async function checkMissingReferencedPaths(outputDir, target) {
350
357
  const docFiles = walkDir(outputDir).filter(f => f.endsWith('.md'));
351
- return detectMissingReferencedPaths(docFiles, outputDir);
358
+ return detectMissingReferencedPaths(docFiles, outputDir, target);
352
359
  }
353
360
  /**
354
361
  * Check that every local file link in packaged markdown and HTML files resolves to a file
@@ -1 +1 @@
1
- {"version":3,"file":"post-build-checks.js","sourceRoot":"","sources":["../src/post-build-checks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post-build-checks.js","sourceRoot":"","sources":["../src/post-build-checks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * The declarations an `allowed-tools:` frontmatter VALUE carries.
3
+ *
4
+ * Claude Code documents the field as space-separated (`Bash(git add:*)
5
+ * Bash(git status:*)`), `AgentSkillFrontmatterSchema` says the same, many
6
+ * authors write commas, and a YAML sequence (flow or block) is accepted by
7
+ * every reader. This is the ONE place that turns any of those into a list —
8
+ * the settings-compat checker and the compat detectors both read through it,
9
+ * so a spelling cannot be visible to one and invisible to the other.
10
+ */
11
+ /**
12
+ * Split the STRING form of `allowed-tools:` into declarations.
13
+ *
14
+ * Commas and whitespace are both separators, but only at parenthesis depth
15
+ * zero — `Bash(rm -rf /)` is one declaration, and the whitespace inside its
16
+ * parentheses is part of the command pattern the matcher is handed. A `(` or
17
+ * `)` inside a quoted argument — `Bash(git commit -m "a) b")` — is part of the
18
+ * argument, not of the depth: the split used to count it, and the declaration
19
+ * ended at the quoted paren, handing the matcher `Bash(git commit -m "a)` and
20
+ * two stray tokens. Consecutive separators and edge padding produce no empty
21
+ * declaration.
22
+ */
23
+ export declare function splitAllowedToolsList(value: string): string[];
24
+ /**
25
+ * The declarations an `allowed-tools:` VALUE carries, whatever YAML shape the
26
+ * author gave it: a block or flow sequence (each string item, trimmed), or a
27
+ * scalar (split per {@link splitAllowedToolsList}). Anything else — absent,
28
+ * `null`, a mapping — declares nothing.
29
+ */
30
+ export declare function allowedToolsOf(value: unknown): string[] | undefined;
31
+ //# sourceMappingURL=allowed-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowed-tools.d.ts","sourceRoot":"","sources":["../../src/schemas/allowed-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAe7D;AA4BD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAanE"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * The declarations an `allowed-tools:` frontmatter VALUE carries.
3
+ *
4
+ * Claude Code documents the field as space-separated (`Bash(git add:*)
5
+ * Bash(git status:*)`), `AgentSkillFrontmatterSchema` says the same, many
6
+ * authors write commas, and a YAML sequence (flow or block) is accepted by
7
+ * every reader. This is the ONE place that turns any of those into a list —
8
+ * the settings-compat checker and the compat detectors both read through it,
9
+ * so a spelling cannot be visible to one and invisible to the other.
10
+ */
11
+ /**
12
+ * Split the STRING form of `allowed-tools:` into declarations.
13
+ *
14
+ * Commas and whitespace are both separators, but only at parenthesis depth
15
+ * zero — `Bash(rm -rf /)` is one declaration, and the whitespace inside its
16
+ * parentheses is part of the command pattern the matcher is handed. A `(` or
17
+ * `)` inside a quoted argument — `Bash(git commit -m "a) b")` — is part of the
18
+ * argument, not of the depth: the split used to count it, and the declaration
19
+ * ended at the quoted paren, handing the matcher `Bash(git commit -m "a)` and
20
+ * two stray tokens. Consecutive separators and edge padding produce no empty
21
+ * declaration.
22
+ */
23
+ export function splitAllowedToolsList(value) {
24
+ const declarations = [];
25
+ const nesting = new Nesting();
26
+ let current = '';
27
+ for (const char of value) {
28
+ nesting.advance(char);
29
+ if (nesting.inside || !(char === ',' || /\s/.test(char))) {
30
+ current += char;
31
+ continue;
32
+ }
33
+ if (current !== '')
34
+ declarations.push(current);
35
+ current = '';
36
+ }
37
+ if (current !== '')
38
+ declarations.push(current);
39
+ return declarations;
40
+ }
41
+ /**
42
+ * Where the split is inside a declaration's parentheses — and, within them,
43
+ * inside a quoted argument, where a paren is text rather than nesting.
44
+ */
45
+ class Nesting {
46
+ depth = 0;
47
+ quote;
48
+ /** Whether the character just consumed sits inside a parenthesised argument. */
49
+ get inside() {
50
+ return this.depth > 0;
51
+ }
52
+ advance(char) {
53
+ if (this.quote !== undefined) {
54
+ if (char === this.quote)
55
+ this.quote = undefined;
56
+ }
57
+ else if (this.depth > 0 && (char === '"' || char === "'")) {
58
+ this.quote = char;
59
+ }
60
+ else if (char === '(') {
61
+ this.depth += 1;
62
+ }
63
+ else if (char === ')' && this.depth > 0) {
64
+ this.depth -= 1;
65
+ }
66
+ }
67
+ }
68
+ /**
69
+ * The declarations an `allowed-tools:` VALUE carries, whatever YAML shape the
70
+ * author gave it: a block or flow sequence (each string item, trimmed), or a
71
+ * scalar (split per {@link splitAllowedToolsList}). Anything else — absent,
72
+ * `null`, a mapping — declares nothing.
73
+ */
74
+ export function allowedToolsOf(value) {
75
+ if (typeof value === 'string') {
76
+ const declarations = splitAllowedToolsList(value);
77
+ return declarations.length > 0 ? declarations : undefined;
78
+ }
79
+ if (Array.isArray(value)) {
80
+ const declarations = value
81
+ .filter((item) => typeof item === 'string')
82
+ .map((item) => item.trim())
83
+ .filter((item) => item !== '');
84
+ return declarations.length > 0 ? declarations : undefined;
85
+ }
86
+ return undefined;
87
+ }
88
+ //# sourceMappingURL=allowed-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowed-tools.js","sourceRoot":"","sources":["../../src/schemas/allowed-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACzD,OAAO,IAAI,IAAI,CAAC;YAChB,SAAS;QACX,CAAC;QACD,IAAI,OAAO,KAAK,EAAE;YAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO,GAAG,EAAE,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,EAAE;QAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO;IACH,KAAK,GAAG,CAAC,CAAC;IACV,KAAK,CAAwB;IAErC,gFAAgF;IAChF,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,IAAI,KAAK,IAAI,CAAC,KAAK;gBAAE,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QAClD,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5D,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,YAAY,GAAG,KAAK;aACvB,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;aAC1D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;QACjC,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * Schema exports for agent-skills package
3
3
  */
4
4
  export { AgentSkillFrontmatterJsonSchema, AgentSkillFrontmatterSchema, VATAgentSkillFrontmatterSchema, type AgentSkillFrontmatter, type VATAgentSkillFrontmatter, } from './agent-skill-frontmatter.js';
5
+ export { allowedToolsOf, splitAllowedToolsList } from './allowed-tools.js';
5
6
  export { detectInstalledPluginsRegistryDrift, InstalledPluginsRegistryJsonSchema, InstalledPluginsRegistrySchema, KNOWN_INSTALLATION_SCOPES, type InstalledPluginsRegistry, type PluginInstallation, } from './installed-plugins-registry.js';
6
7
  export { detectKnownMarketplacesRegistryDrift, KNOWN_MARKETPLACE_SOURCE_KINDS, KnownMarketplacesRegistryJsonSchema, KnownMarketplacesRegistrySchema, type KnownMarketplacesRegistry, type MarketplaceEntry, type MarketplaceSource, } from './known-marketplaces-registry.js';
7
8
  export type { RegistryShapeDrift } from './registry-drift.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,GAC9B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,mCAAmC,EACnC,kCAAkC,EAClC,8BAA8B,EAC9B,yBAAyB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,GACxB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,oCAAoC,EACpC,8BAA8B,EAC9B,mCAAmC,EACnC,+BAA+B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,kCAAkC,CAAC;AAE1C,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EACL,6BAA6B,EAC7B,yBAAyB,EACzB,KAAK,mBAAmB,GACzB,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,GAC9B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3E,OAAO,EACL,mCAAmC,EACnC,kCAAkC,EAClC,8BAA8B,EAC9B,yBAAyB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,GACxB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,oCAAoC,EACpC,8BAA8B,EAC9B,mCAAmC,EACnC,+BAA+B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,kCAAkC,CAAC;AAE1C,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EACL,6BAA6B,EAC7B,yBAAyB,EACzB,KAAK,mBAAmB,GACzB,MAAM,2BAA2B,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * Schema exports for agent-skills package
3
3
  */
4
4
  export { AgentSkillFrontmatterJsonSchema, AgentSkillFrontmatterSchema, VATAgentSkillFrontmatterSchema, } from './agent-skill-frontmatter.js';
5
+ export { allowedToolsOf, splitAllowedToolsList } from './allowed-tools.js';
5
6
  export { detectInstalledPluginsRegistryDrift, InstalledPluginsRegistryJsonSchema, InstalledPluginsRegistrySchema, KNOWN_INSTALLATION_SCOPES, } from './installed-plugins-registry.js';
6
7
  export { detectKnownMarketplacesRegistryDrift, KNOWN_MARKETPLACE_SOURCE_KINDS, KnownMarketplacesRegistryJsonSchema, KnownMarketplacesRegistrySchema, } from './known-marketplaces-registry.js';
7
8
  export { MarketplaceManifestJsonSchema, MarketplaceManifestSchema, } from './marketplace-manifest.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,GAG/B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,mCAAmC,EACnC,kCAAkC,EAClC,8BAA8B,EAC9B,yBAAyB,GAG1B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,oCAAoC,EACpC,8BAA8B,EAC9B,mCAAmC,EACnC,+BAA+B,GAIhC,MAAM,kCAAkC,CAAC;AAI1C,OAAO,EACL,6BAA6B,EAC7B,yBAAyB,GAE1B,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,GAG/B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3E,OAAO,EACL,mCAAmC,EACnC,kCAAkC,EAClC,8BAA8B,EAC9B,yBAAyB,GAG1B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,oCAAoC,EACpC,8BAA8B,EAC9B,mCAAmC,EACnC,+BAA+B,GAIhC,MAAM,kCAAkC,CAAC;AAI1C,OAAO,EACL,6BAA6B,EAC7B,yBAAyB,GAE1B,MAAM,2BAA2B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"marketplace-manifest.d.ts","sourceRoot":"","sources":["../../src/schemas/marketplace-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA6DxB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA0B0C,CAAC;AAEjF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;;GAGG;AACH,eAAO,MAAM,6BAA6B;;;;;CAMzC,CAAC"}
1
+ {"version":3,"file":"marketplace-manifest.d.ts","sourceRoot":"","sources":["../../src/schemas/marketplace-manifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwExB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA0B0C,CAAC;AAEjF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;;GAGG;AACH,eAAO,MAAM,6BAA6B;;;;;CAMzC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { hasParentTraversalSegment, isAbsoluteAnyPlatform } from '@vibe-agent-toolkit/utils';
1
2
  import { z } from 'zod';
2
3
  import { zodToJsonSchema } from 'zod-to-json-schema';
3
4
  /**
@@ -26,17 +27,27 @@ const OwnerSchema = z
26
27
  * We validate the discriminant (`source` field on objects) but use
27
28
  * .passthrough() for provider-specific fields (repo, url, package, etc.).
28
29
  *
29
- * String paths must not use .. directory traversal — Claude Code rejects
30
- * source paths that resolve outside the marketplace directory.
30
+ * A string `source` is a path the consumer resolves against the marketplace
31
+ * root and WALKS, so this refine is the first containment gate. It refuses
32
+ * every spelling that leaves the root on some platform: an absolute path
33
+ * (POSIX root, drive letter, UNC) and a `..` segment behind EITHER separator.
34
+ * Claude Code's installer rejects a source that resolves outside the
35
+ * marketplace directory, so such an entry cannot ship either way.
36
+ *
37
+ * 🪤 The check used to split on `/` alone — `plugins\..\..\x` passed it and
38
+ * `path.resolve` walked it out of the root on every platform; `/etc` passed it
39
+ * outright — and the consumer entered whatever it named.
31
40
  */
32
41
  const PluginSourceSchema = z.union([
33
42
  z
34
43
  .string()
35
44
  .min(1)
36
- // eslint-disable-next-line local/no-hardcoded-path-split -- source is a URL-style path, not a filesystem path; forward-slash split is correct
37
- .refine((s) => !s.split('/').includes('..'), {
38
- message: 'source path must not use .. directory traversal',
39
- }),
45
+ .refine((s) => !isAbsoluteAnyPlatform(s) && !hasParentTraversalSegment(s), (s) => ({
46
+ // Names the value: the reader's next move is to fix THIS entry.
47
+ message: `source path "${s}" must be relative to the marketplace directory and stay inside it`
48
+ + ' (no absolute path, no `..` segment) — Claude Code rejects a plugin source that'
49
+ + ' resolves outside the marketplace, so this entry cannot be installed',
50
+ })),
40
51
  z.object({ source: z.string() }).passthrough(),
41
52
  ]);
42
53
  const MarketplacePluginEntrySchema = z