@vibe-agent-toolkit/agent-skills 0.1.38 → 0.1.39-rc.10
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.
- package/dist/files-config.d.ts +83 -7
- package/dist/files-config.d.ts.map +1 -1
- package/dist/files-config.js +72 -12
- package/dist/files-config.js.map +1 -1
- package/dist/index.d.ts +7 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/inventory/detectors/declared-but-missing.d.ts +1 -1
- package/dist/inventory/detectors/declared-but-missing.d.ts.map +1 -1
- package/dist/inventory/detectors/declared-but-missing.js.map +1 -1
- package/dist/inventory/detectors/marketplace-source-missing.d.ts +1 -1
- package/dist/inventory/detectors/marketplace-source-missing.d.ts.map +1 -1
- package/dist/inventory/detectors/marketplace-source-missing.js.map +1 -1
- package/dist/inventory/detectors/present-but-undeclared.d.ts +1 -1
- package/dist/inventory/detectors/present-but-undeclared.d.ts.map +1 -1
- package/dist/inventory/detectors/present-but-undeclared.js.map +1 -1
- package/dist/inventory/detectors/reference-target-missing.d.ts +1 -1
- package/dist/inventory/detectors/reference-target-missing.d.ts.map +1 -1
- package/dist/inventory/detectors/reference-target-missing.js.map +1 -1
- package/dist/post-build-checks.d.ts +6 -6
- package/dist/post-build-checks.d.ts.map +1 -1
- package/dist/post-build-checks.js +119 -61
- package/dist/post-build-checks.js.map +1 -1
- package/dist/schemas/installed-plugins-registry.d.ts +6 -6
- package/dist/skill-packager.d.ts +2 -3
- package/dist/skill-packager.d.ts.map +1 -1
- package/dist/skill-packager.js +110 -32
- package/dist/skill-packager.js.map +1 -1
- package/dist/skill-source/content-hash.d.ts +13 -0
- package/dist/skill-source/content-hash.d.ts.map +1 -0
- package/dist/skill-source/content-hash.js +49 -0
- package/dist/skill-source/content-hash.js.map +1 -0
- package/dist/skill-source/fetch-cache.d.ts +26 -0
- package/dist/skill-source/fetch-cache.d.ts.map +1 -0
- package/dist/skill-source/fetch-cache.js +62 -0
- package/dist/skill-source/fetch-cache.js.map +1 -0
- package/dist/skill-source/git-clone.d.ts +21 -0
- package/dist/skill-source/git-clone.d.ts.map +1 -0
- package/dist/skill-source/git-clone.js +66 -0
- package/dist/skill-source/git-clone.js.map +1 -0
- package/dist/skill-source/resolve-skill-source.d.ts +12 -0
- package/dist/skill-source/resolve-skill-source.d.ts.map +1 -0
- package/dist/skill-source/resolve-skill-source.js +37 -0
- package/dist/skill-source/resolve-skill-source.js.map +1 -0
- package/dist/skill-source/sources/npm-source.d.ts +22 -0
- package/dist/skill-source/sources/npm-source.d.ts.map +1 -0
- package/dist/skill-source/sources/npm-source.js +48 -0
- package/dist/skill-source/sources/npm-source.js.map +1 -0
- package/dist/skill-source/sources/path-source.d.ts +10 -0
- package/dist/skill-source/sources/path-source.d.ts.map +1 -0
- package/dist/skill-source/sources/path-source.js +17 -0
- package/dist/skill-source/sources/path-source.js.map +1 -0
- package/dist/skill-source/sources/url-source.d.ts +14 -0
- package/dist/skill-source/sources/url-source.d.ts.map +1 -0
- package/dist/skill-source/sources/url-source.js +113 -0
- package/dist/skill-source/sources/url-source.js.map +1 -0
- package/dist/skill-source/sources/vendored-source.d.ts +8 -0
- package/dist/skill-source/sources/vendored-source.d.ts.map +1 -0
- package/dist/skill-source/sources/vendored-source.js +16 -0
- package/dist/skill-source/sources/vendored-source.js.map +1 -0
- package/dist/skill-source/sources/workspace-source.d.ts +17 -0
- package/dist/skill-source/sources/workspace-source.d.ts.map +1 -0
- package/dist/skill-source/sources/workspace-source.js +27 -0
- package/dist/skill-source/sources/workspace-source.js.map +1 -0
- package/dist/skill-source/stage.d.ts +21 -0
- package/dist/skill-source/stage.d.ts.map +1 -0
- package/dist/skill-source/stage.js +73 -0
- package/dist/skill-source/stage.js.map +1 -0
- package/dist/skill-source/types.d.ts +65 -0
- package/dist/skill-source/types.d.ts.map +1 -0
- package/dist/skill-source/types.js +11 -0
- package/dist/skill-source/types.js.map +1 -0
- package/dist/skill-test/build-hook.d.ts +58 -0
- package/dist/skill-test/build-hook.d.ts.map +1 -0
- package/dist/skill-test/build-hook.js +63 -0
- package/dist/skill-test/build-hook.js.map +1 -0
- package/dist/skill-test/configure-writer.d.ts +31 -0
- package/dist/skill-test/configure-writer.d.ts.map +1 -0
- package/dist/skill-test/configure-writer.js +39 -0
- package/dist/skill-test/configure-writer.js.map +1 -0
- package/dist/skill-test/declared-env.d.ts +72 -0
- package/dist/skill-test/declared-env.d.ts.map +1 -0
- package/dist/skill-test/declared-env.js +85 -0
- package/dist/skill-test/declared-env.js.map +1 -0
- package/dist/skill-test/evals-template.d.ts +22 -0
- package/dist/skill-test/evals-template.d.ts.map +1 -0
- package/dist/skill-test/evals-template.js +56 -0
- package/dist/skill-test/evals-template.js.map +1 -0
- package/dist/skill-test/exit-codes.d.ts +34 -0
- package/dist/skill-test/exit-codes.d.ts.map +1 -0
- package/dist/skill-test/exit-codes.js +59 -0
- package/dist/skill-test/exit-codes.js.map +1 -0
- package/dist/skill-test/experimenter-prompt.d.ts +20 -0
- package/dist/skill-test/experimenter-prompt.d.ts.map +1 -0
- package/dist/skill-test/experimenter-prompt.js +68 -0
- package/dist/skill-test/experimenter-prompt.js.map +1 -0
- package/dist/skill-test/friction-schema.d.ts +74 -0
- package/dist/skill-test/friction-schema.d.ts.map +1 -0
- package/dist/skill-test/friction-schema.js +28 -0
- package/dist/skill-test/friction-schema.js.map +1 -0
- package/dist/skill-test/grading-adapter.d.ts +22 -0
- package/dist/skill-test/grading-adapter.d.ts.map +1 -0
- package/dist/skill-test/grading-adapter.js +49 -0
- package/dist/skill-test/grading-adapter.js.map +1 -0
- package/dist/skill-test/grading-schema.d.ts +171 -0
- package/dist/skill-test/grading-schema.d.ts.map +1 -0
- package/dist/skill-test/grading-schema.js +65 -0
- package/dist/skill-test/grading-schema.js.map +1 -0
- package/dist/skill-test/harness-location.d.ts +40 -0
- package/dist/skill-test/harness-location.d.ts.map +1 -0
- package/dist/skill-test/harness-location.js +111 -0
- package/dist/skill-test/harness-location.js.map +1 -0
- package/dist/skill-test/index.d.ts +16 -0
- package/dist/skill-test/index.d.ts.map +1 -0
- package/dist/skill-test/index.js +16 -0
- package/dist/skill-test/index.js.map +1 -0
- package/dist/skill-test/lock.d.ts +16 -0
- package/dist/skill-test/lock.d.ts.map +1 -0
- package/dist/skill-test/lock.js +42 -0
- package/dist/skill-test/lock.js.map +1 -0
- package/dist/skill-test/manifest.d.ts +59 -0
- package/dist/skill-test/manifest.d.ts.map +1 -0
- package/dist/skill-test/manifest.js +34 -0
- package/dist/skill-test/manifest.js.map +1 -0
- package/dist/skill-test/plugin-env.d.ts +20 -0
- package/dist/skill-test/plugin-env.d.ts.map +1 -0
- package/dist/skill-test/plugin-env.js +24 -0
- package/dist/skill-test/plugin-env.js.map +1 -0
- package/dist/skill-test/plugin-layout.d.ts +41 -0
- package/dist/skill-test/plugin-layout.d.ts.map +1 -0
- package/dist/skill-test/plugin-layout.js +49 -0
- package/dist/skill-test/plugin-layout.js.map +1 -0
- package/dist/skill-test/preflight.d.ts +31 -0
- package/dist/skill-test/preflight.d.ts.map +1 -0
- package/dist/skill-test/preflight.js +67 -0
- package/dist/skill-test/preflight.js.map +1 -0
- package/dist/skill-test/run-harness.d.ts +102 -0
- package/dist/skill-test/run-harness.d.ts.map +1 -0
- package/dist/skill-test/run-harness.js +446 -0
- package/dist/skill-test/run-harness.js.map +1 -0
- package/dist/skill-test/staging.d.ts +76 -0
- package/dist/skill-test/staging.d.ts.map +1 -0
- package/dist/skill-test/staging.js +145 -0
- package/dist/skill-test/staging.js.map +1 -0
- package/dist/skill-test/vendor-manifest.d.ts +39 -0
- package/dist/skill-test/vendor-manifest.d.ts.map +1 -0
- package/dist/skill-test/vendor-manifest.js +121 -0
- package/dist/skill-test/vendor-manifest.js.map +1 -0
- package/dist/validators/bundled-resource-link-detection.d.ts +1 -1
- package/dist/validators/bundled-resource-link-detection.d.ts.map +1 -1
- package/dist/validators/bundled-resource-link-detection.js +1 -1
- package/dist/validators/bundled-resource-link-detection.js.map +1 -1
- package/dist/validators/compat-detectors.d.ts +1 -1
- package/dist/validators/compat-detectors.d.ts.map +1 -1
- package/dist/validators/compat-detectors.js +1 -1
- package/dist/validators/compat-detectors.js.map +1 -1
- package/dist/validators/cross-skill-dependency-detection.d.ts +1 -1
- package/dist/validators/cross-skill-dependency-detection.d.ts.map +1 -1
- package/dist/validators/cross-skill-dependency-detection.js +1 -1
- package/dist/validators/cross-skill-dependency-detection.js.map +1 -1
- package/dist/validators/description-style-detection.d.ts +1 -1
- package/dist/validators/description-style-detection.d.ts.map +1 -1
- package/dist/validators/description-style-detection.js +1 -1
- package/dist/validators/description-style-detection.js.map +1 -1
- package/dist/validators/frontmatter-validation.d.ts +1 -1
- package/dist/validators/frontmatter-validation.d.ts.map +1 -1
- package/dist/validators/frontmatter-validation.js +1 -1
- package/dist/validators/frontmatter-validation.js.map +1 -1
- package/dist/validators/imperative-body-detection.d.ts +1 -1
- package/dist/validators/imperative-body-detection.d.ts.map +1 -1
- package/dist/validators/imperative-body-detection.js +1 -1
- package/dist/validators/imperative-body-detection.js.map +1 -1
- package/dist/validators/index.d.ts +2 -1
- package/dist/validators/index.d.ts.map +1 -1
- package/dist/validators/kebab-case-detection.d.ts +1 -1
- package/dist/validators/kebab-case-detection.d.ts.map +1 -1
- package/dist/validators/kebab-case-detection.js +1 -1
- package/dist/validators/kebab-case-detection.js.map +1 -1
- package/dist/validators/marketplace-validator.d.ts.map +1 -1
- package/dist/validators/marketplace-validator.js.map +1 -1
- package/dist/validators/packaging-validator.d.ts +8 -3
- package/dist/validators/packaging-validator.d.ts.map +1 -1
- package/dist/validators/packaging-validator.js +45 -23
- package/dist/validators/packaging-validator.js.map +1 -1
- package/dist/validators/plugin-recommended-fields.d.ts +1 -1
- package/dist/validators/plugin-recommended-fields.d.ts.map +1 -1
- package/dist/validators/plugin-recommended-fields.js +1 -1
- package/dist/validators/plugin-recommended-fields.js.map +1 -1
- package/dist/validators/registry-validator.d.ts.map +1 -1
- package/dist/validators/registry-validator.js.map +1 -1
- package/dist/validators/rule-engine/index.d.ts +10 -0
- package/dist/validators/rule-engine/index.d.ts.map +1 -0
- package/dist/validators/rule-engine/index.js +3 -0
- package/dist/validators/rule-engine/index.js.map +1 -0
- package/dist/validators/rule-engine/rule-context.d.ts +107 -0
- package/dist/validators/rule-engine/rule-context.d.ts.map +1 -0
- package/dist/validators/rule-engine/rule-context.js +44 -0
- package/dist/validators/rule-engine/rule-context.js.map +1 -0
- package/dist/validators/rule-engine/rule-engine.d.ts +50 -0
- package/dist/validators/rule-engine/rule-engine.d.ts.map +1 -0
- package/dist/validators/rule-engine/rule-engine.js +117 -0
- package/dist/validators/rule-engine/rule-engine.js.map +1 -0
- package/dist/validators/skill-validator.d.ts.map +1 -1
- package/dist/validators/skill-validator.js +4 -3
- package/dist/validators/skill-validator.js.map +1 -1
- package/dist/validators/types.d.ts +1 -20
- package/dist/validators/types.d.ts.map +1 -1
- package/dist/validators/validation-rules.d.ts +1 -1
- package/dist/validators/validation-rules.d.ts.map +1 -1
- package/dist/validators/validation-rules.js +2 -2
- package/dist/validators/validation-rules.js.map +1 -1
- package/dist/validators/validation-utils.d.ts +1 -1
- package/dist/validators/validation-utils.d.ts.map +1 -1
- package/dist/validators/validation-utils.js.map +1 -1
- package/dist/validators/walker-to-issues.d.ts +13 -1
- package/dist/validators/walker-to-issues.d.ts.map +1 -1
- package/dist/validators/walker-to-issues.js +59 -22
- package/dist/validators/walker-to-issues.js.map +1 -1
- package/dist/walk-link-graph.d.ts +10 -2
- package/dist/walk-link-graph.d.ts.map +1 -1
- package/dist/walk-link-graph.js +38 -14
- package/dist/walk-link-graph.js.map +1 -1
- package/package.json +7 -5
- package/schemas/friction-report.json +59 -0
- package/vendor/skill-creator/ATTRIBUTION.md +12 -0
- package/vendor/skill-creator/LICENSE.txt +202 -0
- package/vendor/skill-creator/SKILL.md +485 -0
- package/vendor/skill-creator/agents/grader.md +223 -0
- package/vendor/skill-creator/plugin.json +8 -0
- package/vendor/skill-creator/references/schemas.md +430 -0
- package/vendor/skill-creator/vendored.manifest.json +10 -0
- package/dist/validators/allow-filter.d.ts +0 -37
- package/dist/validators/allow-filter.d.ts.map +0 -1
- package/dist/validators/allow-filter.js +0 -86
- package/dist/validators/allow-filter.js.map +0 -1
- package/dist/validators/code-registry.d.ts +0 -23
- package/dist/validators/code-registry.d.ts.map +0 -1
- package/dist/validators/code-registry.js +0 -58
- package/dist/validators/code-registry.js.map +0 -1
- package/dist/validators/severity-resolver.d.ts +0 -6
- package/dist/validators/severity-resolver.d.ts.map +0 -1
- package/dist/validators/severity-resolver.js +0 -9
- package/dist/validators/severity-resolver.js.map +0 -1
- package/dist/validators/validation-framework.d.ts +0 -21
- package/dist/validators/validation-framework.d.ts.map +0 -1
- package/dist/validators/validation-framework.js +0 -67
- package/dist/validators/validation-framework.js.map +0 -1
package/dist/files-config.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* - Merging defaults + per-skill entries (additive, per-skill wins on dest collision)
|
|
6
6
|
* - Matching auto-discovered links to files entries
|
|
7
7
|
* - Computing deferred paths for validation
|
|
8
|
+
* - Copying declared build artifacts into a skill output dir (every build path)
|
|
8
9
|
*/
|
|
9
10
|
import type { SkillFileEntry } from '@vibe-agent-toolkit/resources';
|
|
10
11
|
export type { SkillFileEntry } from '@vibe-agent-toolkit/resources';
|
|
@@ -36,13 +37,88 @@ export declare function mergeFilesConfig(defaults: SkillFileEntry[] | undefined,
|
|
|
36
37
|
*/
|
|
37
38
|
export declare function matchLinkToFiles(linkTarget: string, files: SkillFileEntry[]): FilesMatchResult | null;
|
|
38
39
|
/**
|
|
39
|
-
*
|
|
40
|
-
* source-time validation. These are paths from files config entries where
|
|
41
|
-
* the file may not exist yet (build artifacts).
|
|
40
|
+
* Structured deferred path sets returned by {@link computeDeferredPaths}.
|
|
42
41
|
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
* -
|
|
42
|
+
* - `destPaths` — files: dest paths that are always deferred (the target
|
|
43
|
+
* location won't exist until build time).
|
|
44
|
+
* - `sourcePaths` — files: source paths that are deferred ONLY when the
|
|
45
|
+
* target does not yet exist on disk (i.e. genuine build artifacts). A
|
|
46
|
+
* source that already exists on disk and is gitignored is a leak and must
|
|
47
|
+
* NOT be deferred — let it fall through to the gitignore branch.
|
|
46
48
|
*/
|
|
47
|
-
export
|
|
49
|
+
export interface DeferredPaths {
|
|
50
|
+
/** files: dest paths — always deferred (won't exist until build). */
|
|
51
|
+
destPaths: Set<string>;
|
|
52
|
+
/** files: source paths — deferred ONLY when the target does not yet exist (build artifact). */
|
|
53
|
+
sourcePaths: Set<string>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Options for {@link computeDeferredPaths}.
|
|
57
|
+
*
|
|
58
|
+
* - `skillDir` — absolute path to the directory containing SKILL.md.
|
|
59
|
+
* `files:` dest values are authored relative to this dir.
|
|
60
|
+
* - `projectRoot` — absolute path to the project root (git / config root).
|
|
61
|
+
* `files:` source values are authored relative to this dir.
|
|
62
|
+
*/
|
|
63
|
+
export interface ComputeDeferredPathsOpts {
|
|
64
|
+
skillDir: string;
|
|
65
|
+
projectRoot: string;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Compute the structured sets of paths that should be treated as "deferred"
|
|
69
|
+
* during source-time validation. These are paths from files config entries
|
|
70
|
+
* where the file may not exist yet (build artifacts).
|
|
71
|
+
*
|
|
72
|
+
* Both sets contain **project-root-relative, forward-slash** paths so they
|
|
73
|
+
* match the `rel` value computed in `checkDeferred()` inside walk-link-graph:
|
|
74
|
+
*
|
|
75
|
+
* ```ts
|
|
76
|
+
* const rel = toForwardSlash(safePath.relative(projectRoot, targetPath));
|
|
77
|
+
* ```
|
|
78
|
+
*
|
|
79
|
+
* - `dest` is authored relative to `skillDir` (mirroring `skill-packager.ts`
|
|
80
|
+
* `resolve(skillDir, entry.dest)`). We resolve it to an absolute path and
|
|
81
|
+
* then make it relative to `projectRoot`.
|
|
82
|
+
* - `source` is authored relative to `projectRoot`. We resolve it with the
|
|
83
|
+
* exact expression `skill-packager.ts` uses —
|
|
84
|
+
* `resolve(join(projectRoot, entry.source))` — so an absolute-looking source
|
|
85
|
+
* is rooted UNDER `projectRoot` identically to what the packager copies.
|
|
86
|
+
* (A bare `resolve(projectRoot, source)` would let a leading slash escape the
|
|
87
|
+
* root, yielding a `../`-prefixed path that never matches the walker's `rel`.)
|
|
88
|
+
* Resolving then re-relativising is a no-op for clean relative paths but
|
|
89
|
+
* correctly strips any leading `./`.
|
|
90
|
+
*
|
|
91
|
+
* - dest paths are always deferred (target won't exist until build)
|
|
92
|
+
* - source paths are deferred only when the target does not yet exist on disk
|
|
93
|
+
*/
|
|
94
|
+
export declare function computeDeferredPaths(files: SkillFileEntry[], opts: ComputeDeferredPathsOpts): DeferredPaths;
|
|
95
|
+
/** Options for {@link applyFilesConfig}. */
|
|
96
|
+
export interface ApplyFilesConfigOptions {
|
|
97
|
+
/** Merged `files:` entries to copy. */
|
|
98
|
+
filesConfig: SkillFileEntry[];
|
|
99
|
+
/** Absolute project root; each `source` resolves relative to it. */
|
|
100
|
+
projectRoot: string;
|
|
101
|
+
/** Absolute skill output dir; each `dest` resolves relative to it. */
|
|
102
|
+
skillOutputDir: string;
|
|
103
|
+
/**
|
|
104
|
+
* Absolute source paths already materialized by link traversal — skipped so
|
|
105
|
+
* a linked-and-copied asset isn't copied twice. Defaults to none (copy all).
|
|
106
|
+
*/
|
|
107
|
+
bundledFiles?: string[];
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Copy each `files:` entry's `source` → `dest` into the skill output directory.
|
|
111
|
+
*
|
|
112
|
+
* This is the single copy primitive shared by every build path so that
|
|
113
|
+
* build-provided artifacts (a bundled engine, generated data, a catalog) are
|
|
114
|
+
* VAT-managed end-to-end: the shared-pool `vat skills build` packager and the
|
|
115
|
+
* Claude plugin marketplace build both call it, instead of the latter relying on
|
|
116
|
+
* an external inject script VAT can't see. `source` is resolved the same way the
|
|
117
|
+
* packager does (`resolve(join(projectRoot, source))`, so an absolute-looking
|
|
118
|
+
* source roots UNDER the project). Returns the dest paths actually copied.
|
|
119
|
+
*
|
|
120
|
+
* @throws if a declared `source` does not exist — a declared build artifact must
|
|
121
|
+
* be present at copy time (callers that defer existence validate it upstream).
|
|
122
|
+
*/
|
|
123
|
+
export declare function applyFilesConfig(opts: ApplyFilesConfigOptions): Promise<string[]>;
|
|
48
124
|
//# sourceMappingURL=files-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files-config.d.ts","sourceRoot":"","sources":["../src/files-config.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"files-config.d.ts","sourceRoot":"","sources":["../src/files-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAGpE,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,4DAA4D;AAC5D,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,+BAA+B;IAC/B,KAAK,EAAE,cAAc,CAAC;CACvB;AAaD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,cAAc,EAAE,GAAG,SAAS,EACtC,QAAQ,EAAE,cAAc,EAAE,GAAG,SAAS,GACrC,cAAc,EAAE,CA6ClB;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,cAAc,EAAE,GACtB,gBAAgB,GAAG,IAAI,CAkBzB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,+FAA+F;IAC/F,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,cAAc,EAAE,EACvB,IAAI,EAAE,wBAAwB,GAC7B,aAAa,CAgBf;AAED,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,uCAAuC;IACvC,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBvF"}
|
package/dist/files-config.js
CHANGED
|
@@ -5,8 +5,12 @@
|
|
|
5
5
|
* - Merging defaults + per-skill entries (additive, per-skill wins on dest collision)
|
|
6
6
|
* - Matching auto-discovered links to files entries
|
|
7
7
|
* - Computing deferred paths for validation
|
|
8
|
+
* - Copying declared build artifacts into a skill output dir (every build path)
|
|
8
9
|
*/
|
|
9
|
-
import {
|
|
10
|
+
import { existsSync } from 'node:fs';
|
|
11
|
+
import { copyFile, mkdir } from 'node:fs/promises';
|
|
12
|
+
import { dirname } from 'node:path';
|
|
13
|
+
import { toForwardSlash, safePath } from '@vibe-agent-toolkit/utils';
|
|
10
14
|
/**
|
|
11
15
|
* Normalize a path for comparison: strip leading ./ and normalize slashes.
|
|
12
16
|
*/
|
|
@@ -91,20 +95,76 @@ export function matchLinkToFiles(linkTarget, files) {
|
|
|
91
95
|
return null;
|
|
92
96
|
}
|
|
93
97
|
/**
|
|
94
|
-
* Compute the
|
|
95
|
-
* source-time validation. These are paths from files config entries
|
|
96
|
-
* the file may not exist yet (build artifacts).
|
|
98
|
+
* Compute the structured sets of paths that should be treated as "deferred"
|
|
99
|
+
* during source-time validation. These are paths from files config entries
|
|
100
|
+
* where the file may not exist yet (build artifacts).
|
|
97
101
|
*
|
|
98
|
-
* Both
|
|
99
|
-
*
|
|
100
|
-
*
|
|
102
|
+
* Both sets contain **project-root-relative, forward-slash** paths so they
|
|
103
|
+
* match the `rel` value computed in `checkDeferred()` inside walk-link-graph:
|
|
104
|
+
*
|
|
105
|
+
* ```ts
|
|
106
|
+
* const rel = toForwardSlash(safePath.relative(projectRoot, targetPath));
|
|
107
|
+
* ```
|
|
108
|
+
*
|
|
109
|
+
* - `dest` is authored relative to `skillDir` (mirroring `skill-packager.ts`
|
|
110
|
+
* `resolve(skillDir, entry.dest)`). We resolve it to an absolute path and
|
|
111
|
+
* then make it relative to `projectRoot`.
|
|
112
|
+
* - `source` is authored relative to `projectRoot`. We resolve it with the
|
|
113
|
+
* exact expression `skill-packager.ts` uses —
|
|
114
|
+
* `resolve(join(projectRoot, entry.source))` — so an absolute-looking source
|
|
115
|
+
* is rooted UNDER `projectRoot` identically to what the packager copies.
|
|
116
|
+
* (A bare `resolve(projectRoot, source)` would let a leading slash escape the
|
|
117
|
+
* root, yielding a `../`-prefixed path that never matches the walker's `rel`.)
|
|
118
|
+
* Resolving then re-relativising is a no-op for clean relative paths but
|
|
119
|
+
* correctly strips any leading `./`.
|
|
120
|
+
*
|
|
121
|
+
* - dest paths are always deferred (target won't exist until build)
|
|
122
|
+
* - source paths are deferred only when the target does not yet exist on disk
|
|
101
123
|
*/
|
|
102
|
-
export function computeDeferredPaths(files) {
|
|
103
|
-
const
|
|
124
|
+
export function computeDeferredPaths(files, opts) {
|
|
125
|
+
const destPaths = new Set();
|
|
126
|
+
const sourcePaths = new Set();
|
|
104
127
|
for (const entry of files) {
|
|
105
|
-
|
|
106
|
-
|
|
128
|
+
// dest is authored relative to skillDir (skill-packager: resolve(skillDir, dest))
|
|
129
|
+
destPaths.add(toForwardSlash(safePath.relative(opts.projectRoot, safePath.resolve(opts.skillDir, entry.dest))));
|
|
130
|
+
// source is authored relative to projectRoot. Mirror skill-packager exactly:
|
|
131
|
+
// resolve(join(projectRoot, source)) so absolute-looking sources root under
|
|
132
|
+
// projectRoot rather than escaping it.
|
|
133
|
+
sourcePaths.add(toForwardSlash(safePath.relative(opts.projectRoot, safePath.resolve(safePath.join(opts.projectRoot, entry.source)))));
|
|
134
|
+
}
|
|
135
|
+
return { destPaths, sourcePaths };
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Copy each `files:` entry's `source` → `dest` into the skill output directory.
|
|
139
|
+
*
|
|
140
|
+
* This is the single copy primitive shared by every build path so that
|
|
141
|
+
* build-provided artifacts (a bundled engine, generated data, a catalog) are
|
|
142
|
+
* VAT-managed end-to-end: the shared-pool `vat skills build` packager and the
|
|
143
|
+
* Claude plugin marketplace build both call it, instead of the latter relying on
|
|
144
|
+
* an external inject script VAT can't see. `source` is resolved the same way the
|
|
145
|
+
* packager does (`resolve(join(projectRoot, source))`, so an absolute-looking
|
|
146
|
+
* source roots UNDER the project). Returns the dest paths actually copied.
|
|
147
|
+
*
|
|
148
|
+
* @throws if a declared `source` does not exist — a declared build artifact must
|
|
149
|
+
* be present at copy time (callers that defer existence validate it upstream).
|
|
150
|
+
*/
|
|
151
|
+
export async function applyFilesConfig(opts) {
|
|
152
|
+
const bundledFileSet = new Set((opts.bundledFiles ?? []).map((f) => toForwardSlash(f)));
|
|
153
|
+
const copied = [];
|
|
154
|
+
for (const fileEntry of opts.filesConfig) {
|
|
155
|
+
const absoluteSource = safePath.resolve(safePath.join(opts.projectRoot, fileEntry.source));
|
|
156
|
+
if (bundledFileSet.has(toForwardSlash(absoluteSource)))
|
|
157
|
+
continue;
|
|
158
|
+
const absoluteDest = safePath.join(opts.skillOutputDir, fileEntry.dest);
|
|
159
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- source path from validated config
|
|
160
|
+
if (!existsSync(absoluteSource)) {
|
|
161
|
+
throw new Error(`files: source '${fileEntry.source}' does not exist (resolved to ${absoluteSource}).`);
|
|
162
|
+
}
|
|
163
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- dest path from validated config
|
|
164
|
+
await mkdir(dirname(absoluteDest), { recursive: true });
|
|
165
|
+
await copyFile(absoluteSource, absoluteDest);
|
|
166
|
+
copied.push(fileEntry.dest);
|
|
107
167
|
}
|
|
108
|
-
return
|
|
168
|
+
return copied;
|
|
109
169
|
}
|
|
110
170
|
//# sourceMappingURL=files-config.js.map
|
package/dist/files-config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files-config.js","sourceRoot":"","sources":["../src/files-config.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"files-config.js","sourceRoot":"","sources":["../src/files-config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export { buildAgentSkill, type BuildOptions, type BuildResult } from './builder.
|
|
|
6
6
|
export { extractH1Title, packageSkill, packageSkills, ZipSizeLimitError, type PackageSkillOptions, type PackageSkillResult, type PackagingTarget, type SkillBuildSpec, type SkillMetadata, } 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 { getTargetSubdir, CONTENT_TYPE_ROUTING_MAP, type TargetSubdirCategory, } from './content-type-routing.js';
|
|
9
|
-
export { mergeFilesConfig, matchLinkToFiles, computeDeferredPaths, type FilesMatchResult, } from './files-config.js';
|
|
9
|
+
export { applyFilesConfig, mergeFilesConfig, matchLinkToFiles, computeDeferredPaths, type ApplyFilesConfigOptions, type ComputeDeferredPathsOpts, type DeferredPaths, type FilesMatchResult, } from './files-config.js';
|
|
10
10
|
export { AgentSkillFrontmatterJsonSchema, AgentSkillFrontmatterSchema, VATAgentSkillFrontmatterSchema, type AgentSkillFrontmatter, type VATAgentSkillFrontmatter, } from './schemas/agent-skill-frontmatter.js';
|
|
11
11
|
export { MarketplaceManifestJsonSchema, MarketplaceManifestSchema, type MarketplaceManifest } from './schemas/marketplace-manifest.js';
|
|
12
12
|
export { PluginJsonSchema, type PluginJson } from './schemas/plugin-json.js';
|
|
@@ -14,20 +14,22 @@ export { parseFrontmatter, type FrontmatterResult, } from './parsers/frontmatter
|
|
|
14
14
|
export { calculateValidationStatus, generateFixSuggestion } from './validators/validation-utils.js';
|
|
15
15
|
export { detectKebabCaseViolation, type KebabCaseSurface } from './validators/kebab-case-detection.js';
|
|
16
16
|
export { detectMissingRecommendedFields } from './validators/plugin-recommended-fields.js';
|
|
17
|
-
export { observationToIssue, runCompatDetectors, type DetectorOutput, } from './validators/compat-detectors.js';
|
|
18
|
-
export { CODE_REGISTRY, type CodeRegistryEntry } from './validators/code-registry.js';
|
|
17
|
+
export { deriveObservations, observationToIssue, runCompatDetectors, type DetectorOutput, } from './validators/compat-detectors.js';
|
|
19
18
|
export { validateMarketplace } from './validators/marketplace-validator.js';
|
|
20
19
|
export { validateSkill } from './validators/skill-validator.js';
|
|
21
20
|
export { validate, type UnifiedValidateOptions } from './validators/unified-validator.js';
|
|
22
21
|
export { detectResourceFormat, enumerateSurfaces } from './validators/format-detection.js';
|
|
23
22
|
export { crawlAndResolveRegistry, validateSkillForPackaging, type ExcludedReferenceDetail, type PackagingValidationResult, type SkillPackagingConfig, type SkillValidationSharedContext, } from './validators/packaging-validator.js';
|
|
24
|
-
export { type ValidationConfig } from './validators/validation-framework.js';
|
|
25
23
|
export { createIssue, NAVIGATION_FILE_PATTERNS, VALIDATION_RULES, VALIDATION_THRESHOLDS, type RuleCategory, type ValidationRule, type ValidationRuleCode, } from './validators/validation-rules.js';
|
|
26
|
-
export type { ValidationResult,
|
|
24
|
+
export type { ValidationResult, ValidateOptions, ResourceFormat, Surface, } from './validators/types.js';
|
|
27
25
|
export { importSkillToAgent, type ImportOptions, type ImportResult, } from './import.js';
|
|
26
|
+
export { cloneGitSource, type GitCloneResult } from './skill-source/git-clone.js';
|
|
27
|
+
export { resolveSkillSource, type ResolveSkillSourceOptions } from './skill-source/resolve-skill-source.js';
|
|
28
|
+
export type { SkillSource, ResolvedSkillSource, ResolveSkillSourceContext, } from './skill-source/types.js';
|
|
28
29
|
export type { EvidenceRecord, EvidenceSource, EvidenceConfidence, EvidenceLocation, PatternDefinition, Observation, } from './evidence/index.js';
|
|
29
30
|
export { PATTERN_REGISTRY, getPatternDefinition, assertPatternRegistered, deriveObservationsFromEvidence, } from './evidence/index.js';
|
|
30
31
|
export type { DeriveObservationsOptions, DerivationSubject } from './evidence/index.js';
|
|
31
32
|
export type { AnyInventory, BaseInventory, ComponentRef, DeclaredList, HookRef, InstallInventory, LspRef, MarketplaceInventory, McpRef, ParseError as InventoryParseError, PluginInventory, PluginRef, ResolvedReference, SkillInventory, } from './inventory/index.js';
|
|
32
33
|
export { isInstallInventory, isMarketplaceInventory, isPluginInventory, isSkillInventory, serializeInventory, serializeInventoryShallow, INVENTORY_SCHEMA_VERSION, detectDeclaredButMissing, detectMarketplacePluginSourceMissing, detectPresentButUndeclared, detectReferenceTargetMissing, } from './inventory/index.js';
|
|
34
|
+
export * from './skill-test/index.js';
|
|
33
35
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAEpF,OAAO,EACL,cAAc,EACd,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,GAC9B,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,KAAK,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAEvI,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EACL,gBAAgB,EAChB,KAAK,iBAAiB,GACvB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACpG,OAAO,EAAE,wBAAwB,EAAE,KAAK,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACvG,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,cAAc,GACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAEpF,OAAO,EACL,cAAc,EACd,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,GAC9B,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,KAAK,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAEvI,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EACL,gBAAgB,EAChB,KAAK,iBAAiB,GACvB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACpG,OAAO,EAAE,wBAAwB,EAAE,KAAK,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACvG,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,cAAc,GACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,KAAK,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,GAClC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,OAAO,GACR,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGlF,OAAO,EAAE,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAC5G,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EACV,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxF,YAAY,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,MAAM,EACN,oBAAoB,EACpB,MAAM,EACN,UAAU,IAAI,mBAAmB,EACjC,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,oCAAoC,EACpC,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAE9B,cAAc,uBAAuB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@ export { buildAgentSkill } from './builder.js';
|
|
|
6
6
|
export { extractH1Title, packageSkill, packageSkills, ZipSizeLimitError, } from './skill-packager.js';
|
|
7
7
|
export { walkLinkGraph, } from './walk-link-graph.js';
|
|
8
8
|
export { getTargetSubdir, CONTENT_TYPE_ROUTING_MAP, } from './content-type-routing.js';
|
|
9
|
-
export { mergeFilesConfig, matchLinkToFiles, computeDeferredPaths, } from './files-config.js';
|
|
9
|
+
export { applyFilesConfig, mergeFilesConfig, matchLinkToFiles, computeDeferredPaths, } from './files-config.js';
|
|
10
10
|
export { AgentSkillFrontmatterJsonSchema, AgentSkillFrontmatterSchema, VATAgentSkillFrontmatterSchema, } from './schemas/agent-skill-frontmatter.js';
|
|
11
11
|
export { MarketplaceManifestJsonSchema, MarketplaceManifestSchema } from './schemas/marketplace-manifest.js';
|
|
12
12
|
export { PluginJsonSchema } from './schemas/plugin-json.js';
|
|
@@ -14,8 +14,7 @@ export { parseFrontmatter, } from './parsers/frontmatter-parser.js';
|
|
|
14
14
|
export { calculateValidationStatus, generateFixSuggestion } from './validators/validation-utils.js';
|
|
15
15
|
export { detectKebabCaseViolation } from './validators/kebab-case-detection.js';
|
|
16
16
|
export { detectMissingRecommendedFields } from './validators/plugin-recommended-fields.js';
|
|
17
|
-
export { observationToIssue, runCompatDetectors, } from './validators/compat-detectors.js';
|
|
18
|
-
export { CODE_REGISTRY } from './validators/code-registry.js';
|
|
17
|
+
export { deriveObservations, observationToIssue, runCompatDetectors, } from './validators/compat-detectors.js';
|
|
19
18
|
export { validateMarketplace } from './validators/marketplace-validator.js';
|
|
20
19
|
export { validateSkill } from './validators/skill-validator.js';
|
|
21
20
|
export { validate } from './validators/unified-validator.js';
|
|
@@ -23,6 +22,11 @@ export { detectResourceFormat, enumerateSurfaces } from './validators/format-det
|
|
|
23
22
|
export { crawlAndResolveRegistry, validateSkillForPackaging, } from './validators/packaging-validator.js';
|
|
24
23
|
export { createIssue, NAVIGATION_FILE_PATTERNS, VALIDATION_RULES, VALIDATION_THRESHOLDS, } from './validators/validation-rules.js';
|
|
25
24
|
export { importSkillToAgent, } from './import.js';
|
|
25
|
+
// Skill source primitives
|
|
26
|
+
export { cloneGitSource } from './skill-source/git-clone.js';
|
|
27
|
+
// Unified skill-source resolution (spec §11c)
|
|
28
|
+
export { resolveSkillSource } from './skill-source/resolve-skill-source.js';
|
|
26
29
|
export { PATTERN_REGISTRY, getPatternDefinition, assertPatternRegistered, deriveObservationsFromEvidence, } from './evidence/index.js';
|
|
27
30
|
export { isInstallInventory, isMarketplaceInventory, isPluginInventory, isSkillInventory, serializeInventory, serializeInventoryShallow, INVENTORY_SCHEMA_VERSION, detectDeclaredButMissing, detectMarketplacePluginSourceMissing, detectPresentButUndeclared, detectReferenceTargetMissing, } from './inventory/index.js';
|
|
31
|
+
export * from './skill-test/index.js';
|
|
28
32
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,cAAc,EACd,YAAY,EACZ,aAAa,EACb,iBAAiB,GAMlB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,aAAa,GAMd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,eAAe,EACf,wBAAwB,GAEzB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,
|
|
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,cAAc,EACd,YAAY,EACZ,aAAa,EACb,iBAAiB,GAMlB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,aAAa,GAMd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,eAAe,EACf,wBAAwB,GAEzB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GAKrB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,GAG/B,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAA4B,MAAM,mCAAmC,CAAC;AAEvI,OAAO,EAAE,gBAAgB,EAAmB,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EACL,gBAAgB,GAEjB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACpG,OAAO,EAAE,wBAAwB,EAAyB,MAAM,sCAAsC,CAAC;AACvG,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAC3F,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,uBAAuB,EACvB,yBAAyB,GAK1B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,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,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,wBAAwB,EACxB,oCAAoC,EACpC,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAE9B,cAAc,uBAAuB,CAAC"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* ValidationIssue for each declared component path that does not exist on
|
|
6
6
|
* disk. Covers all seven component fields in the manifest.
|
|
7
7
|
*/
|
|
8
|
-
import type { ValidationIssue } from '
|
|
8
|
+
import type { ValidationIssue } from '@vibe-agent-toolkit/agent-schema';
|
|
9
9
|
import type { PluginInventory } from '../types.js';
|
|
10
10
|
export declare function detectDeclaredButMissing(inv: PluginInventory): ValidationIssue[];
|
|
11
11
|
//# sourceMappingURL=declared-but-missing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declared-but-missing.d.ts","sourceRoot":"","sources":["../../../src/inventory/detectors/declared-but-missing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"declared-but-missing.d.ts","sourceRoot":"","sources":["../../../src/inventory/detectors/declared-but-missing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAanD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,eAAe,GAAG,eAAe,EAAE,CAkBhF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declared-but-missing.js","sourceRoot":"","sources":["../../../src/inventory/detectors/declared-but-missing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"declared-but-missing.js","sourceRoot":"","sources":["../../../src/inventory/detectors/declared-but-missing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,MAAM,MAAM,GAAqB;IAChC,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,OAAO;IACP,YAAY;IACZ,cAAc;IACd,YAAY;CACZ,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,GAAoB;IAC5D,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,IAAI,KAAK,IAAI;YAAE,SAAS;QAC5B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC;oBACX,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,gCAAgC;oBACtC,OAAO,EAAE,qBAAqB,KAAK,MAAM,GAAG,CAAC,YAAY,wCAAwC;oBACjG,QAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,6BAA6B;oBAClD,GAAG,EAAE,oEAAoE;iBACzE,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* path does not exist on disk. Git/npm/unknown source types are out of scope
|
|
7
7
|
* and are silently skipped.
|
|
8
8
|
*/
|
|
9
|
-
import type { ValidationIssue } from '
|
|
9
|
+
import type { ValidationIssue } from '@vibe-agent-toolkit/agent-schema';
|
|
10
10
|
import type { MarketplaceInventory } from '../types.js';
|
|
11
11
|
export declare function detectMarketplacePluginSourceMissing(inv: MarketplaceInventory): ValidationIssue[];
|
|
12
12
|
//# sourceMappingURL=marketplace-source-missing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketplace-source-missing.d.ts","sourceRoot":"","sources":["../../../src/inventory/detectors/marketplace-source-missing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"marketplace-source-missing.d.ts","sourceRoot":"","sources":["../../../src/inventory/detectors/marketplace-source-missing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,wBAAgB,oCAAoC,CAAC,GAAG,EAAE,oBAAoB,GAAG,eAAe,EAAE,CAUjG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketplace-source-missing.js","sourceRoot":"","sources":["../../../src/inventory/detectors/marketplace-source-missing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"marketplace-source-missing.js","sourceRoot":"","sources":["../../../src/inventory/detectors/marketplace-source-missing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,UAAU,oCAAoC,CAAC,GAAyB;IAC7E,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO;SACzB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACV,QAAQ,EAAE,OAAgB;QAC1B,IAAI,EAAE,mCAA4C;QAClD,OAAO,EAAE,4CAA4C,CAAC,CAAC,YAAY,gCAAgC;QACnG,QAAQ,EAAE,CAAC,CAAC,YAAY;QACxB,GAAG,EAAE,yEAAyE;KAC9E,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* declares an explicit list (including []) — omitting the field entirely
|
|
8
8
|
* means auto-discovery is intentional and this detector is silent.
|
|
9
9
|
*/
|
|
10
|
-
import type { ValidationIssue } from '
|
|
10
|
+
import type { ValidationIssue } from '@vibe-agent-toolkit/agent-schema';
|
|
11
11
|
import type { PluginInventory } from '../types.js';
|
|
12
12
|
export declare function detectPresentButUndeclared(inv: PluginInventory): ValidationIssue[];
|
|
13
13
|
//# sourceMappingURL=present-but-undeclared.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"present-but-undeclared.d.ts","sourceRoot":"","sources":["../../../src/inventory/detectors/present-but-undeclared.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"present-but-undeclared.d.ts","sourceRoot":"","sources":["../../../src/inventory/detectors/present-but-undeclared.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,aAAa,CAAC;AAEjE,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,eAAe,GAAG,eAAe,EAAE,CAMlF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"present-but-undeclared.js","sourceRoot":"","sources":["../../../src/inventory/detectors/present-but-undeclared.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"present-but-undeclared.js","sourceRoot":"","sources":["../../../src/inventory/detectors/present-but-undeclared.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,MAAM,UAAU,0BAA0B,CAAC,GAAoB;IAC9D,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACzB,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjF,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3E,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,GAAoB,EAAE,MAAyB;IACnE,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;IACrC,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,CAAC,6BAA6B;IAC5D,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACpE,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC3C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CACpB,KAA4B,EAC5B,UAA0B,EAC1B,QAA+B,EAC/B,MAAyB;IAEzB,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO;IAC9B,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACpE,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QACjD,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,QAAgB;IACjD,OAAO;QACN,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,kCAAkC;QACxC,OAAO,EAAE,GAAG,KAAK,MAAM,QAAQ,sDAAsD,KAAK,sBAAsB;QAChH,QAAQ,EAAE,QAAQ;QAClB,GAAG,EAAE,OAAO,QAAQ,uBAAuB,KAAK,8BAA8B;KAC9E,CAAC;AACH,CAAC"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* ValidationIssue for each cross-component reference in the manifest that
|
|
6
6
|
* resolves to a path that does not exist on disk.
|
|
7
7
|
*/
|
|
8
|
-
import type { ValidationIssue } from '
|
|
8
|
+
import type { ValidationIssue } from '@vibe-agent-toolkit/agent-schema';
|
|
9
9
|
import type { PluginInventory } from '../types.js';
|
|
10
10
|
export declare function detectReferenceTargetMissing(inv: PluginInventory): ValidationIssue[];
|
|
11
11
|
//# sourceMappingURL=reference-target-missing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference-target-missing.d.ts","sourceRoot":"","sources":["../../../src/inventory/detectors/reference-target-missing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"reference-target-missing.d.ts","sourceRoot":"","sources":["../../../src/inventory/detectors/reference-target-missing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,eAAe,GAAG,eAAe,EAAE,CAUpF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference-target-missing.js","sourceRoot":"","sources":["../../../src/inventory/detectors/reference-target-missing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"reference-target-missing.js","sourceRoot":"","sources":["../../../src/inventory/detectors/reference-target-missing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,UAAU,4BAA4B,CAAC,GAAoB;IAChE,OAAO,GAAG,CAAC,UAAU;SACnB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;SAC1B,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACZ,QAAQ,EAAE,OAAgB;QAC1B,IAAI,EAAE,0BAAmC;QACzC,OAAO,EAAE,gBAAgB,GAAG,CAAC,IAAI,iBAAiB,GAAG,CAAC,EAAE,yBAAyB;QACjF,QAAQ,EAAE,GAAG,CAAC,EAAE;QAChB,GAAG,EAAE,8DAA8D;KACnE,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -4,20 +4,20 @@
|
|
|
4
4
|
* Run after packageSkill() completes — all files are copied, all links rewritten.
|
|
5
5
|
* Detects unreferenced files and broken links in the packaged output.
|
|
6
6
|
*/
|
|
7
|
-
import type
|
|
7
|
+
import { type ValidationIssue } from '@vibe-agent-toolkit/agent-schema';
|
|
8
8
|
/**
|
|
9
|
-
* Check that every file in the packaged output is referenced from some markdown file.
|
|
9
|
+
* Check that every file in the packaged output is referenced from some markdown or HTML file.
|
|
10
10
|
*
|
|
11
11
|
* Two-pass detection:
|
|
12
|
-
* 1. Walk
|
|
12
|
+
* 1. Walk formal link graph from SKILL.md (strict, transitive, covers .md and .html/.htm).
|
|
13
13
|
* 2. For files not covered by pass 1, check whether their output-relative path
|
|
14
|
-
* is mentioned anywhere in packaged
|
|
14
|
+
* is mentioned anywhere in packaged content files (markdown or HTML).
|
|
15
15
|
* Authors often document CLI scripts via invocation examples rather than
|
|
16
|
-
*
|
|
16
|
+
* formal links, and that counts as documented.
|
|
17
17
|
*/
|
|
18
18
|
export declare function checkUnreferencedFiles(outputDir: string): Promise<ValidationIssue[]>;
|
|
19
19
|
/**
|
|
20
|
-
* Check that every local file link in packaged markdown files resolves to a file
|
|
20
|
+
* Check that every local file link in packaged markdown and HTML files resolves to a file
|
|
21
21
|
* that exists in the packaged output.
|
|
22
22
|
*/
|
|
23
23
|
export declare function checkBrokenPackagedLinks(outputDir: string): Promise<ValidationIssue[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-build-checks.d.ts","sourceRoot":"","sources":["../src/post-build-checks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"post-build-checks.d.ts","sourceRoot":"","sources":["../src/post-build-checks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kCAAkC,CAAC;AA0OxE;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAmC1F;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAe5F"}
|