@vibe-agent-toolkit/agent-skills 0.1.42 → 0.2.0-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/README.md +5 -5
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +7 -17
- package/dist/builder.js.map +1 -1
- package/dist/content-type-routing.d.ts +32 -0
- package/dist/content-type-routing.d.ts.map +1 -1
- package/dist/content-type-routing.js +23 -0
- package/dist/content-type-routing.js.map +1 -1
- package/dist/files-config.d.ts +34 -1
- package/dist/files-config.d.ts.map +1 -1
- package/dist/files-config.js +277 -39
- package/dist/files-config.js.map +1 -1
- package/dist/fs-attribution.d.ts +45 -0
- package/dist/fs-attribution.d.ts.map +1 -0
- package/dist/fs-attribution.js +57 -0
- package/dist/fs-attribution.js.map +1 -0
- package/dist/import.d.ts.map +1 -1
- package/dist/import.js +0 -4
- package/dist/import.js.map +1 -1
- package/dist/index.d.ts +13 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -7
- 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/marketplace-source-missing.d.ts +1 -1
- package/dist/inventory/detectors/marketplace-source-missing.d.ts.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/reference-target-missing.d.ts +1 -1
- package/dist/inventory/detectors/reference-target-missing.d.ts.map +1 -1
- package/dist/inventory/index.d.ts +1 -1
- package/dist/inventory/index.d.ts.map +1 -1
- package/dist/inventory/index.js +1 -1
- package/dist/inventory/index.js.map +1 -1
- package/dist/inventory/serialize.d.ts +4 -4
- package/dist/inventory/serialize.d.ts.map +1 -1
- package/dist/inventory/serialize.js +6 -6
- package/dist/inventory/serialize.js.map +1 -1
- package/dist/inventory/types.d.ts +8 -0
- package/dist/inventory/types.d.ts.map +1 -1
- package/dist/inventory/types.js.map +1 -1
- package/dist/link-graph-members.d.ts +18 -0
- package/dist/link-graph-members.d.ts.map +1 -0
- package/dist/link-graph-members.js +18 -0
- package/dist/link-graph-members.js.map +1 -0
- package/dist/parsers/frontmatter-parser.d.ts.map +1 -1
- package/dist/parsers/frontmatter-parser.js +30 -6
- package/dist/parsers/frontmatter-parser.js.map +1 -1
- package/dist/plugin-distribution-layout.d.ts +70 -6
- package/dist/plugin-distribution-layout.d.ts.map +1 -1
- package/dist/plugin-distribution-layout.js +84 -11
- package/dist/plugin-distribution-layout.js.map +1 -1
- package/dist/post-build-checks.d.ts +38 -1
- package/dist/post-build-checks.d.ts.map +1 -1
- package/dist/post-build-checks.js +68 -17
- package/dist/post-build-checks.js.map +1 -1
- package/dist/projection/skill-extent.d.ts +247 -0
- package/dist/projection/skill-extent.d.ts.map +1 -0
- package/dist/projection/skill-extent.js +560 -0
- package/dist/projection/skill-extent.js.map +1 -0
- package/dist/schemas/agent-skill-frontmatter.js +1 -1
- package/dist/schemas/agent-skill-frontmatter.js.map +1 -1
- package/dist/schemas/allowed-tools.d.ts +31 -0
- package/dist/schemas/allowed-tools.d.ts.map +1 -0
- package/dist/schemas/allowed-tools.js +88 -0
- package/dist/schemas/allowed-tools.js.map +1 -0
- package/dist/schemas/index.d.ts +1 -0
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +1 -0
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/installed-plugins-registry.d.ts.map +1 -1
- package/dist/schemas/installed-plugins-registry.js +7 -1
- package/dist/schemas/installed-plugins-registry.js.map +1 -1
- package/dist/schemas/marketplace-manifest.d.ts.map +1 -1
- package/dist/schemas/marketplace-manifest.js +17 -6
- package/dist/schemas/marketplace-manifest.js.map +1 -1
- package/dist/skill-identity.d.ts +18 -3
- package/dist/skill-identity.d.ts.map +1 -1
- package/dist/skill-identity.js +25 -6
- package/dist/skill-identity.js.map +1 -1
- package/dist/skill-packager.d.ts +144 -20
- package/dist/skill-packager.d.ts.map +1 -1
- package/dist/skill-packager.js +447 -105
- package/dist/skill-packager.js.map +1 -1
- package/dist/skill-source/content-hash.d.ts.map +1 -1
- package/dist/skill-source/content-hash.js +21 -10
- package/dist/skill-source/content-hash.js.map +1 -1
- package/dist/skill-source/fetch-cache.d.ts.map +1 -1
- package/dist/skill-source/fetch-cache.js +0 -5
- package/dist/skill-source/fetch-cache.js.map +1 -1
- package/dist/skill-source/git-clone.d.ts +1 -1
- package/dist/skill-source/git-clone.d.ts.map +1 -1
- package/dist/skill-source/git-clone.js +10 -10
- package/dist/skill-source/git-clone.js.map +1 -1
- package/dist/skill-source/sources/url-source.d.ts.map +1 -1
- package/dist/skill-source/sources/url-source.js +2 -2
- package/dist/skill-source/sources/url-source.js.map +1 -1
- package/dist/skill-source/stage.d.ts.map +1 -1
- package/dist/skill-source/stage.js +0 -6
- package/dist/skill-source/stage.js.map +1 -1
- package/dist/skill-test/baseline-delta.d.ts +1575 -0
- package/dist/skill-test/baseline-delta.d.ts.map +1 -0
- package/dist/skill-test/baseline-delta.js +272 -0
- package/dist/skill-test/baseline-delta.js.map +1 -0
- package/dist/skill-test/baseline-integrity.d.ts +944 -0
- package/dist/skill-test/baseline-integrity.d.ts.map +1 -0
- package/dist/skill-test/baseline-integrity.js +3090 -0
- package/dist/skill-test/baseline-integrity.js.map +1 -0
- package/dist/skill-test/build-hook.d.ts +3 -2
- package/dist/skill-test/build-hook.d.ts.map +1 -1
- package/dist/skill-test/build-hook.js +4 -5
- package/dist/skill-test/build-hook.js.map +1 -1
- package/dist/skill-test/configure-writer.js +1 -1
- package/dist/skill-test/configure-writer.js.map +1 -1
- package/dist/skill-test/declared-env.d.ts +5 -4
- package/dist/skill-test/declared-env.d.ts.map +1 -1
- package/dist/skill-test/declared-env.js +8 -9
- package/dist/skill-test/declared-env.js.map +1 -1
- package/dist/skill-test/eval-executor.d.ts +21 -5
- package/dist/skill-test/eval-executor.d.ts.map +1 -1
- package/dist/skill-test/eval-executor.js +6 -6
- package/dist/skill-test/eval-executor.js.map +1 -1
- package/dist/skill-test/eval-fragment.d.ts +106 -28
- package/dist/skill-test/eval-fragment.d.ts.map +1 -1
- package/dist/skill-test/eval-fragment.js +78 -16
- package/dist/skill-test/eval-fragment.js.map +1 -1
- package/dist/skill-test/eval-grader.d.ts +65 -7
- package/dist/skill-test/eval-grader.d.ts.map +1 -1
- package/dist/skill-test/eval-grader.js +263 -64
- package/dist/skill-test/eval-grader.js.map +1 -1
- package/dist/skill-test/eval-inputs.d.ts +110 -8
- package/dist/skill-test/eval-inputs.d.ts.map +1 -1
- package/dist/skill-test/eval-inputs.js +177 -22
- package/dist/skill-test/eval-inputs.js.map +1 -1
- package/dist/skill-test/eval-lint.d.ts +17 -4
- package/dist/skill-test/eval-lint.d.ts.map +1 -1
- package/dist/skill-test/eval-lint.js +22 -9
- package/dist/skill-test/eval-lint.js.map +1 -1
- package/dist/skill-test/eval-suite-isolation.d.ts.map +1 -1
- package/dist/skill-test/eval-suite-isolation.js +8 -5
- package/dist/skill-test/eval-suite-isolation.js.map +1 -1
- package/dist/skill-test/evals-template.d.ts +1 -1
- package/dist/skill-test/evals-template.d.ts.map +1 -1
- package/dist/skill-test/evals-template.js +1 -3
- package/dist/skill-test/evals-template.js.map +1 -1
- package/dist/skill-test/executor-prompt.d.ts +15 -7
- package/dist/skill-test/executor-prompt.d.ts.map +1 -1
- package/dist/skill-test/executor-prompt.js +10 -7
- package/dist/skill-test/executor-prompt.js.map +1 -1
- package/dist/skill-test/failure-reason.d.ts +113 -0
- package/dist/skill-test/failure-reason.d.ts.map +1 -0
- package/dist/skill-test/failure-reason.js +124 -0
- package/dist/skill-test/failure-reason.js.map +1 -0
- package/dist/skill-test/fragment-merge.d.ts +3 -20
- package/dist/skill-test/fragment-merge.d.ts.map +1 -1
- package/dist/skill-test/fragment-merge.js +67 -8
- package/dist/skill-test/fragment-merge.js.map +1 -1
- package/dist/skill-test/grader-prompt.d.ts +29 -9
- package/dist/skill-test/grader-prompt.d.ts.map +1 -1
- package/dist/skill-test/grader-prompt.js +264 -68
- package/dist/skill-test/grader-prompt.js.map +1 -1
- package/dist/skill-test/grader-text.d.ts +145 -0
- package/dist/skill-test/grader-text.d.ts.map +1 -0
- package/dist/skill-test/grader-text.js +410 -0
- package/dist/skill-test/grader-text.js.map +1 -0
- package/dist/skill-test/grading-adapter.d.ts +38 -2
- package/dist/skill-test/grading-adapter.d.ts.map +1 -1
- package/dist/skill-test/grading-adapter.js +57 -9
- package/dist/skill-test/grading-adapter.js.map +1 -1
- package/dist/skill-test/grading-schema.d.ts +160 -5
- package/dist/skill-test/grading-schema.d.ts.map +1 -1
- package/dist/skill-test/grading-schema.js +66 -7
- package/dist/skill-test/grading-schema.js.map +1 -1
- package/dist/skill-test/harness-location.d.ts +3 -2
- package/dist/skill-test/harness-location.d.ts.map +1 -1
- package/dist/skill-test/harness-location.js +5 -16
- package/dist/skill-test/harness-location.js.map +1 -1
- package/dist/skill-test/index.d.ts +2 -2
- package/dist/skill-test/index.d.ts.map +1 -1
- package/dist/skill-test/index.js +2 -2
- package/dist/skill-test/index.js.map +1 -1
- package/dist/skill-test/lock.d.ts +58 -1
- package/dist/skill-test/lock.d.ts.map +1 -1
- package/dist/skill-test/lock.js +78 -6
- package/dist/skill-test/lock.js.map +1 -1
- package/dist/skill-test/pipeline.d.ts +19 -1
- package/dist/skill-test/pipeline.d.ts.map +1 -1
- package/dist/skill-test/pipeline.js +21 -10
- package/dist/skill-test/pipeline.js.map +1 -1
- package/dist/skill-test/preflight.d.ts +1 -1
- package/dist/skill-test/preflight.d.ts.map +1 -1
- package/dist/skill-test/preflight.js +59 -16
- package/dist/skill-test/preflight.js.map +1 -1
- package/dist/skill-test/prompt-invariants.d.ts +4 -2
- package/dist/skill-test/prompt-invariants.d.ts.map +1 -1
- package/dist/skill-test/prompt-invariants.js +5 -4
- package/dist/skill-test/prompt-invariants.js.map +1 -1
- package/dist/skill-test/run-harness.d.ts +665 -85
- package/dist/skill-test/run-harness.d.ts.map +1 -1
- package/dist/skill-test/run-harness.js +1522 -237
- package/dist/skill-test/run-harness.js.map +1 -1
- package/dist/skill-test/staging.d.ts +20 -8
- package/dist/skill-test/staging.d.ts.map +1 -1
- package/dist/skill-test/staging.js +25 -18
- package/dist/skill-test/staging.js.map +1 -1
- package/dist/skill-test/tier-plan.d.ts +1 -1
- package/dist/skill-test/tier-plan.js +1 -1
- package/dist/skill-test/tool-eval-schema.d.ts +6 -6
- package/dist/skill-test/tool-eval-schema.js +2 -2
- package/dist/skill-test/vendor-manifest.d.ts +2 -1
- package/dist/skill-test/vendor-manifest.d.ts.map +1 -1
- package/dist/skill-test/vendor-manifest.js +10 -10
- package/dist/skill-test/vendor-manifest.js.map +1 -1
- package/dist/test-input.d.ts +59 -8
- package/dist/test-input.d.ts.map +1 -1
- package/dist/test-input.js +64 -19
- package/dist/test-input.js.map +1 -1
- package/dist/validators/agent-instruction-presence.d.ts +1 -1
- package/dist/validators/agent-instruction-presence.d.ts.map +1 -1
- package/dist/validators/agent-instruction-presence.js +45 -2
- package/dist/validators/agent-instruction-presence.js.map +1 -1
- package/dist/validators/bundled-resource-link-detection.d.ts +6 -4
- package/dist/validators/bundled-resource-link-detection.d.ts.map +1 -1
- package/dist/validators/bundled-resource-link-detection.js +39 -39
- package/dist/validators/bundled-resource-link-detection.js.map +1 -1
- package/dist/validators/compat-detectors.d.ts +18 -1
- package/dist/validators/compat-detectors.d.ts.map +1 -1
- package/dist/validators/compat-detectors.js +47 -20
- 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/format-detection.d.ts +3 -0
- package/dist/validators/format-detection.d.ts.map +1 -1
- package/dist/validators/format-detection.js +41 -26
- package/dist/validators/format-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 +2 -2
- 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 +1 -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 +7 -2
- package/dist/validators/marketplace-validator.js.map +1 -1
- package/dist/validators/mcp-tool-qualification.d.ts +158 -0
- package/dist/validators/mcp-tool-qualification.d.ts.map +1 -0
- package/dist/validators/mcp-tool-qualification.js +467 -0
- package/dist/validators/mcp-tool-qualification.js.map +1 -0
- package/dist/validators/packaged-size-limit.d.ts +296 -0
- package/dist/validators/packaged-size-limit.d.ts.map +1 -0
- package/dist/validators/packaged-size-limit.js +492 -0
- package/dist/validators/packaged-size-limit.js.map +1 -0
- package/dist/validators/packaging-validator.d.ts +149 -10
- package/dist/validators/packaging-validator.d.ts.map +1 -1
- package/dist/validators/packaging-validator.js +371 -55
- package/dist/validators/packaging-validator.js.map +1 -1
- package/dist/validators/plugin-hosted-shape.d.ts +4 -2
- package/dist/validators/plugin-hosted-shape.d.ts.map +1 -1
- package/dist/validators/plugin-hosted-shape.js +6 -7
- package/dist/validators/plugin-hosted-shape.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/referenced-path-missing.d.ts +211 -0
- package/dist/validators/referenced-path-missing.d.ts.map +1 -0
- package/dist/validators/referenced-path-missing.js +378 -0
- package/dist/validators/referenced-path-missing.js.map +1 -0
- package/dist/validators/registry-validator.d.ts.map +1 -1
- package/dist/validators/registry-validator.js +1 -2
- package/dist/validators/registry-validator.js.map +1 -1
- package/dist/validators/rule-engine/index.d.ts +1 -1
- package/dist/validators/rule-engine/rule-context.d.ts +20 -3
- package/dist/validators/rule-engine/rule-context.d.ts.map +1 -1
- package/dist/validators/rule-engine/rule-context.js +3 -1
- package/dist/validators/rule-engine/rule-context.js.map +1 -1
- package/dist/validators/rule-engine/rule-engine.d.ts +2 -2
- package/dist/validators/rule-engine/rule-engine.d.ts.map +1 -1
- package/dist/validators/rule-engine/rule-engine.js +52 -13
- package/dist/validators/rule-engine/rule-engine.js.map +1 -1
- package/dist/validators/skill-validator.d.ts.map +1 -1
- package/dist/validators/skill-validator.js +91 -54
- package/dist/validators/skill-validator.js.map +1 -1
- package/dist/validators/source-only-codes.js +1 -1
- package/dist/validators/source-only-codes.js.map +1 -1
- package/dist/validators/types.d.ts +21 -1
- package/dist/validators/types.d.ts.map +1 -1
- package/dist/validators/unified-validator.d.ts.map +1 -1
- package/dist/validators/unified-validator.js +4 -5
- package/dist/validators/unified-validator.js.map +1 -1
- package/dist/validators/validation-rules.d.ts +4 -4
- package/dist/validators/validation-rules.d.ts.map +1 -1
- package/dist/validators/validation-rules.js +9 -38
- package/dist/validators/validation-rules.js.map +1 -1
- package/dist/validators/walker-to-issues.d.ts +9 -3
- package/dist/validators/walker-to-issues.d.ts.map +1 -1
- package/dist/validators/walker-to-issues.js +64 -19
- package/dist/validators/walker-to-issues.js.map +1 -1
- package/dist/walk-link-graph.d.ts +64 -5
- package/dist/walk-link-graph.d.ts.map +1 -1
- package/dist/walk-link-graph.js +376 -92
- package/dist/walk-link-graph.js.map +1 -1
- package/package.json +14 -22
- package/dist/skill-test/exit-codes.d.ts +0 -97
- package/dist/skill-test/exit-codes.d.ts.map +0 -1
- package/dist/skill-test/exit-codes.js +0 -141
- package/dist/skill-test/exit-codes.js.map +0 -1
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One home for "the filesystem refused this, and here is what you were doing".
|
|
3
|
+
*
|
|
4
|
+
* A build moves files for several different reasons — a `files:` entry, a link
|
|
5
|
+
* the walker followed, an integrity re-read — and each of those used to let a raw
|
|
6
|
+
* errno escape as the whole explanation. `EACCES: permission denied, open
|
|
7
|
+
* '/abs/path'` names a path and nothing else: not which line of config asked for
|
|
8
|
+
* it, not which skill was being built, not what to do next.
|
|
9
|
+
*
|
|
10
|
+
* That defect was fixed five times in a row, one call site at a time, and each
|
|
11
|
+
* fix was correct and none of them was the class. The lesson is not "add a
|
|
12
|
+
* try/catch here too" — it is that the message format has to have exactly one
|
|
13
|
+
* home, so a new copier inherits it by calling this rather than by remembering to
|
|
14
|
+
* reproduce it.
|
|
15
|
+
*
|
|
16
|
+
* Deliberately NOT in `files-config.ts`: this is not about `files:` config. That
|
|
17
|
+
* module wraps this with its own subject phrasing, as does the link-copy path in
|
|
18
|
+
* the packager, and both get identical structure with a subject that fits.
|
|
19
|
+
*/
|
|
20
|
+
import { isFilesystemAccessError } from '@vibe-agent-toolkit/utils';
|
|
21
|
+
/** For a failure that moved bytes INTO the bundle. */
|
|
22
|
+
export const WRITE_REMEDY = "Check the file's permissions and ownership, that the output directory is writable, "
|
|
23
|
+
+ 'and that there is space on the device.';
|
|
24
|
+
/** For a failure that only tried to READ the author's own tree. */
|
|
25
|
+
export const READ_REMEDY = "Check the file's permissions and ownership, and that every directory above it is traversable.";
|
|
26
|
+
/**
|
|
27
|
+
* Run filesystem work, and if the OS refuses it, say what was being attempted.
|
|
28
|
+
*
|
|
29
|
+
* @param subject What the build was doing, phrased so it names something the
|
|
30
|
+
* author can locate — a `files:` entry, a linked file, a skill. This is the
|
|
31
|
+
* whole point: the errno already has the path.
|
|
32
|
+
* @param action What was being done to it, completing "it could not be …".
|
|
33
|
+
* Defaults to the copy case; the integrity lane passes its own, because telling
|
|
34
|
+
* an author a file "could not be copied" when the copy SUCCEEDED and the
|
|
35
|
+
* verification failed sends them to look at the wrong step.
|
|
36
|
+
* @param remedy What to check. Split from `action` because the two do not track
|
|
37
|
+
* each other: a failed READ has nothing to do with whether the output directory
|
|
38
|
+
* is writable or the disk is full, and padding a message with checks that
|
|
39
|
+
* cannot apply teaches people to stop reading the message.
|
|
40
|
+
*
|
|
41
|
+
* A non-filesystem throw is rethrown untouched. Re-wrapping a defect in our own
|
|
42
|
+
* code as "check your permissions" would send the author to fix something that is
|
|
43
|
+
* not theirs to fix — and it is the same "make the tool quietest when it is most
|
|
44
|
+
* wrong" shape the audit walk's guard exists to avoid.
|
|
45
|
+
*/
|
|
46
|
+
export async function withFsAttribution(subject, work, action = 'copied into the bundle', remedy = WRITE_REMEDY) {
|
|
47
|
+
try {
|
|
48
|
+
return await work();
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
if (!isFilesystemAccessError(error))
|
|
52
|
+
throw error;
|
|
53
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
54
|
+
throw new Error(`${subject}, but it could not be ${action}: ${reason}. ${remedy}`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=fs-attribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs-attribution.js","sourceRoot":"","sources":["../src/fs-attribution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,sDAAsD;AACtD,MAAM,CAAC,MAAM,YAAY,GACvB,qFAAqF;MACnF,wCAAwC,CAAC;AAE7C,mEAAmE;AACnE,MAAM,CAAC,MAAM,WAAW,GACtB,+FAA+F,CAAC;AAElG;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAe,EACf,IAAsB,EACtB,MAAM,GAAG,wBAAwB,EACjC,MAAM,GAAG,YAAY;IAErB,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC;QACjD,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,yBAAyB,MAAM,KAAK,MAAM,KAAK,MAAM,EAAE,CAClE,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/dist/import.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../src/import.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,IAAI,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,WAAW,CAAC;AAEvD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../src/import.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,IAAI,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,WAAW,CAAC;AAEvD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CA4EtF"}
|
package/dist/import.js
CHANGED
|
@@ -13,7 +13,6 @@ import { AgentSkillFrontmatterSchema, VATAgentSkillFrontmatterSchema } from './s
|
|
|
13
13
|
export async function importSkillToAgent(options) {
|
|
14
14
|
const { skillPath, outputPath, force = false } = options;
|
|
15
15
|
// Check if SKILL.md exists
|
|
16
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- skillPath is user input but validated
|
|
17
16
|
if (!fs.existsSync(skillPath)) {
|
|
18
17
|
return {
|
|
19
18
|
success: false,
|
|
@@ -21,7 +20,6 @@ export async function importSkillToAgent(options) {
|
|
|
21
20
|
};
|
|
22
21
|
}
|
|
23
22
|
// Read SKILL.md content
|
|
24
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- validated above
|
|
25
23
|
const content = fs.readFileSync(skillPath, 'utf-8');
|
|
26
24
|
// Parse frontmatter
|
|
27
25
|
const parseResult = parseFrontmatter(content);
|
|
@@ -49,7 +47,6 @@ export async function importSkillToAgent(options) {
|
|
|
49
47
|
// Determine output path
|
|
50
48
|
const agentPath = outputPath ?? safePath.join(path.dirname(skillPath), 'agent.yaml');
|
|
51
49
|
// Check if output already exists
|
|
52
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- constructed from validated skillPath
|
|
53
50
|
if (fs.existsSync(agentPath) && !force) {
|
|
54
51
|
return {
|
|
55
52
|
success: false,
|
|
@@ -64,7 +61,6 @@ export async function importSkillToAgent(options) {
|
|
|
64
61
|
indent: 2,
|
|
65
62
|
lineWidth: 100,
|
|
66
63
|
});
|
|
67
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- constructed from validated skillPath
|
|
68
64
|
fs.writeFileSync(agentPath, yamlContent, 'utf-8');
|
|
69
65
|
return {
|
|
70
66
|
success: true,
|
package/dist/import.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.js","sourceRoot":"","sources":["../src/import.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAiCnH;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAsB;IAC7D,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEzD,2BAA2B;IAC3B,
|
|
1
|
+
{"version":3,"file":"import.js","sourceRoot":"","sources":["../src/import.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,19 +3,22 @@
|
|
|
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
|
|
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
|
-
export {
|
|
9
|
-
export {
|
|
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 { getResourceSubdirForFile, getTargetSubdir, CONTENT_TYPE_ROUTING_MAP, type PackagingTarget, type TargetSubdirCategory, } from './content-type-routing.js';
|
|
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';
|
|
10
11
|
export { AgentSkillFrontmatterJsonSchema, AgentSkillFrontmatterSchema, VATAgentSkillFrontmatterSchema, type AgentSkillFrontmatter, type VATAgentSkillFrontmatter, } from './schemas/agent-skill-frontmatter.js';
|
|
12
|
+
export { allowedToolsOf, splitAllowedToolsList } from './schemas/allowed-tools.js';
|
|
11
13
|
export { MarketplaceManifestJsonSchema, MarketplaceManifestSchema, type MarketplaceManifest } from './schemas/marketplace-manifest.js';
|
|
12
14
|
export { parseFrontmatter, type FrontmatterResult, } from './parsers/frontmatter-parser.js';
|
|
13
|
-
export { readDeclaredSkillName } from './skill-identity.js';
|
|
15
|
+
export { declaredSkillNameIn, readDeclaredSkillName } from './skill-identity.js';
|
|
14
16
|
export { type AnchorRootOptions, resolveAnchorRoot } from './validators/anchor-root.js';
|
|
15
17
|
export { generateFixSuggestion } from './validators/validation-utils.js';
|
|
16
18
|
export { detectKebabCaseViolation, type KebabCaseSurface } from './validators/kebab-case-detection.js';
|
|
17
19
|
export { detectMissingRecommendedFields } from './validators/plugin-recommended-fields.js';
|
|
18
20
|
export { detectPackagedAgentInstructionFiles } from './validators/agent-instruction-presence.js';
|
|
21
|
+
export { API_SKILL_MAX_UPLOAD_BYTES, describeOversizeBundle, formatBytes, NEVER_UPLOADED_DIR_NAMES, type SizedFile, } from './validators/packaged-size-limit.js';
|
|
19
22
|
export { materializeIssue, type MaterializeOpts } from './validators/rule-engine/index.js';
|
|
20
23
|
export { detectHostedIncompatibleShape } from './validators/plugin-hosted-shape.js';
|
|
21
24
|
export { deriveObservations, observationToIssue, runCompatDetectors, type DetectorOutput, } from './validators/compat-detectors.js';
|
|
@@ -23,7 +26,8 @@ export { validateMarketplace } from './validators/marketplace-validator.js';
|
|
|
23
26
|
export { validateSkill } from './validators/skill-validator.js';
|
|
24
27
|
export { validate, type UnifiedValidateOptions } from './validators/unified-validator.js';
|
|
25
28
|
export { detectResourceFormat, enumerateSurfaces } from './validators/format-detection.js';
|
|
26
|
-
export { activeErrorsOf, activeWarningsOf, crawlAndResolveRegistry, resetPackagingRegistryCache, validateSkillForPackaging, type ExcludedReferenceDetail, type PackagingValidationResult, type SkillPackagingConfig, type SkillValidationSharedContext, } from './validators/packaging-validator.js';
|
|
29
|
+
export { activeErrorsOf, activeWarningsOf, crawlAndResolveRegistry, resetPackagingRegistryCache, validateSkillForPackaging, type CrawlRegistryOptions, type ExcludedReferenceDetail, type PackagingValidationResult, type SkillPackagingConfig, type SkillValidationSharedContext, collectNonPortableAssetReferenceIssues, collectNonPortableCommandIssues, } from './validators/packaging-validator.js';
|
|
30
|
+
export { collectUnqualifiedMcpToolIssues } from './validators/mcp-tool-qualification.js';
|
|
27
31
|
export { AGENT_INSTRUCTION_FILE_PATTERNS, createIssue, isAgentInstructionBasename, isNavigationBasename, isNeverPackagedBasename, NAVIGATION_FILE_PATTERNS, NEVER_PACKAGE_IN_SKILL_BUNDLE, toAnyDepthGlobs, VALIDATION_RULES, VALIDATION_THRESHOLDS, type RuleCategory, type ValidationRule, type ValidationRuleCode, } from './validators/validation-rules.js';
|
|
28
32
|
export type { ValidationResult, ValidateOptions, ResourceFormat, Surface, } from './validators/types.js';
|
|
29
33
|
export { importSkillToAgent, type ImportOptions, type ImportResult, } from './import.js';
|
|
@@ -34,9 +38,10 @@ export type { EvidenceRecord, EvidenceSource, EvidenceConfidence, EvidenceLocati
|
|
|
34
38
|
export { PATTERN_REGISTRY, anchorEvidencePath, buildEvidence, getPatternDefinition, assertPatternRegistered, deriveObservationsFromEvidence, } from './evidence/index.js';
|
|
35
39
|
export type { DeriveObservationsOptions, DerivationSubject } from './evidence/index.js';
|
|
36
40
|
export type { AnyInventory, BaseInventory, ComponentRef, DeclaredList, HookRef, InstallInventory, LspRef, MarketplaceInventory, McpRef, ParseError as InventoryParseError, PluginInventory, PluginRef, ResolvedReference, SkillInventory, } from './inventory/index.js';
|
|
37
|
-
export { isInstallInventory, isMarketplaceInventory, isPluginInventory, isSkillInventory, serializeInventory, serializeInventoryShallow,
|
|
41
|
+
export { isInstallInventory, isMarketplaceInventory, isPluginInventory, isSkillInventory, serializeInventory, serializeInventoryShallow, detectDeclaredButMissing, detectMarketplacePluginSourceMissing, detectPresentButUndeclared, detectReferenceTargetMissing, } from './inventory/index.js';
|
|
38
42
|
export * from './skill-test/index.js';
|
|
39
43
|
export { checkBrokenPackagedLinks } from './post-build-checks.js';
|
|
40
|
-
export { checkPackagedTestInput, packagedFileEntries, resolveTestInputDirs, testInputExcludeRules, type CheckPackagedTestInputInput, type DeclaredEvalSuite, } from './test-input.js';
|
|
41
|
-
export { computeTreeCopiedSkillLocations,
|
|
44
|
+
export { checkPackagedTestInput, conventionalSuiteProbe, packagedFileEntries, resolveTestInputDirs, testInputExcludeRules, type CheckPackagedTestInputInput, type ConventionalSuiteProbe, type DeclaredEvalSuite, } from './test-input.js';
|
|
45
|
+
export { computeTreeCopiedSkillLocations, getPluginOutputDir, getPluginSourceDir, indexPluginLocalSkills, listPluginSourceSkillDirs, listUntrackedPluginSkillDirs, skillNameToFsPath, type DistributedSkillLocation, type PluginLocalSkillIndex, type PluginSkillExclusion, } from './plugin-distribution-layout.js';
|
|
46
|
+
export { LINK_GRAPH_MEMBER_GLOBS } from './link-graph-members.js';
|
|
42
47
|
//# 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,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,+BAA+B,EAC/B,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -5,17 +5,33 @@
|
|
|
5
5
|
export { buildAgentSkill } from './builder.js';
|
|
6
6
|
export { createProjectRegistry, extractH1Title, packageSkill, packageSkills, packagingConfigToPackageOptions, ZipSizeLimitError, } from './skill-packager.js';
|
|
7
7
|
export { walkLinkGraph, } from './walk-link-graph.js';
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
// The skill extent (zones §7.3): the closure primitive under a skill's name,
|
|
9
|
+
// plus the translation of `SkillPackagingConfig` into the declaration that
|
|
10
|
+
// shapes it. Deliberately NOT a second walker — see the module note for the
|
|
11
|
+
// measured boundary between what the declaration expresses and what only
|
|
12
|
+
// `walkLinkGraph`'s ordered cascade can.
|
|
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 { getResourceSubdirForFile, getTargetSubdir, CONTENT_TYPE_ROUTING_MAP, } from './content-type-routing.js';
|
|
15
|
+
export { applyFilesConfig, collectPreBuildGlobFindings, droppedGlobMatchesToIssues, explicitFilesConfigDests, mergeFilesConfig, preBuildGlobFindingsToIssues, skippedGlobMatchesToIssues, } from './files-config.js';
|
|
10
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';
|
|
11
21
|
export { MarketplaceManifestJsonSchema, MarketplaceManifestSchema } from './schemas/marketplace-manifest.js';
|
|
12
22
|
export { parseFrontmatter, } from './parsers/frontmatter-parser.js';
|
|
13
|
-
export { readDeclaredSkillName } from './skill-identity.js';
|
|
23
|
+
export { declaredSkillNameIn, readDeclaredSkillName } from './skill-identity.js';
|
|
14
24
|
export { resolveAnchorRoot } from './validators/anchor-root.js';
|
|
15
25
|
export { generateFixSuggestion } from './validators/validation-utils.js';
|
|
16
26
|
export { detectKebabCaseViolation } from './validators/kebab-case-detection.js';
|
|
17
27
|
export { detectMissingRecommendedFields } from './validators/plugin-recommended-fields.js';
|
|
18
28
|
export { detectPackagedAgentInstructionFiles } from './validators/agent-instruction-presence.js';
|
|
29
|
+
export { API_SKILL_MAX_UPLOAD_BYTES, describeOversizeBundle, formatBytes,
|
|
30
|
+
// The uploader applies this same set, so both lanes weigh and send the same
|
|
31
|
+
// file set. It lived here and as a matching literal in the CLI's uploader,
|
|
32
|
+
// agreeing only by coincidence — which is the drift the constant's own doc
|
|
33
|
+
// comment exists to prevent.
|
|
34
|
+
NEVER_UPLOADED_DIR_NAMES, } from './validators/packaged-size-limit.js';
|
|
19
35
|
// The single construction site for a coded finding. Exported so a CLI lane that
|
|
20
36
|
// discovers a finding of its own builds it from CODE_REGISTRY like every other
|
|
21
37
|
// producer — a hand-rolled `{severity, code, message, fix, reference}` literal is
|
|
@@ -27,7 +43,8 @@ export { validateMarketplace } from './validators/marketplace-validator.js';
|
|
|
27
43
|
export { validateSkill } from './validators/skill-validator.js';
|
|
28
44
|
export { validate } from './validators/unified-validator.js';
|
|
29
45
|
export { detectResourceFormat, enumerateSurfaces } from './validators/format-detection.js';
|
|
30
|
-
export { activeErrorsOf, activeWarningsOf, crawlAndResolveRegistry, resetPackagingRegistryCache, validateSkillForPackaging, } from './validators/packaging-validator.js';
|
|
46
|
+
export { activeErrorsOf, activeWarningsOf, crawlAndResolveRegistry, resetPackagingRegistryCache, validateSkillForPackaging, collectNonPortableAssetReferenceIssues, collectNonPortableCommandIssues, } from './validators/packaging-validator.js';
|
|
47
|
+
export { collectUnqualifiedMcpToolIssues } from './validators/mcp-tool-qualification.js';
|
|
31
48
|
export { AGENT_INSTRUCTION_FILE_PATTERNS, createIssue, isAgentInstructionBasename, isNavigationBasename, isNeverPackagedBasename, NAVIGATION_FILE_PATTERNS, NEVER_PACKAGE_IN_SKILL_BUNDLE, toAnyDepthGlobs, VALIDATION_RULES, VALIDATION_THRESHOLDS, } from './validators/validation-rules.js';
|
|
32
49
|
export { importSkillToAgent, } from './import.js';
|
|
33
50
|
// Skill source primitives
|
|
@@ -35,9 +52,10 @@ export { cloneGitSource } from './skill-source/git-clone.js';
|
|
|
35
52
|
// Unified skill-source resolution (spec §11c)
|
|
36
53
|
export { resolveSkillSource } from './skill-source/resolve-skill-source.js';
|
|
37
54
|
export { PATTERN_REGISTRY, anchorEvidencePath, buildEvidence, getPatternDefinition, assertPatternRegistered, deriveObservationsFromEvidence, } from './evidence/index.js';
|
|
38
|
-
export { isInstallInventory, isMarketplaceInventory, isPluginInventory, isSkillInventory, serializeInventory, serializeInventoryShallow,
|
|
55
|
+
export { isInstallInventory, isMarketplaceInventory, isPluginInventory, isSkillInventory, serializeInventory, serializeInventoryShallow, detectDeclaredButMissing, detectMarketplacePluginSourceMissing, detectPresentButUndeclared, detectReferenceTargetMissing, } from './inventory/index.js';
|
|
39
56
|
export * from './skill-test/index.js';
|
|
40
57
|
export { checkBrokenPackagedLinks } from './post-build-checks.js';
|
|
41
|
-
export { checkPackagedTestInput, packagedFileEntries, resolveTestInputDirs, testInputExcludeRules, } from './test-input.js';
|
|
42
|
-
export { computeTreeCopiedSkillLocations,
|
|
58
|
+
export { checkPackagedTestInput, conventionalSuiteProbe, packagedFileEntries, resolveTestInputDirs, testInputExcludeRules, } from './test-input.js';
|
|
59
|
+
export { computeTreeCopiedSkillLocations, getPluginOutputDir, getPluginSourceDir, indexPluginLocalSkills, listPluginSourceSkillDirs, listUntrackedPluginSkillDirs, skillNameToFsPath, } from './plugin-distribution-layout.js';
|
|
60
|
+
export { LINK_GRAPH_MEMBER_GLOBS } from './link-graph-members.js';
|
|
43
61
|
//# 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,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,OAAO,EACL,eAAe,EACf,wBAAwB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 '@vibe-agent-toolkit/
|
|
8
|
+
import type { ValidationIssue } from '@vibe-agent-toolkit/schema';
|
|
9
9
|
import type { PluginInventory } from '../types.js';
|
|
10
10
|
export declare function detectDeclaredButMissing(inv: PluginInventory, locationRoot: string): 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,4BAA4B,CAAC;AAGlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAanD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe,EAAE,CAoBtG"}
|
|
@@ -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 '@vibe-agent-toolkit/
|
|
9
|
+
import type { ValidationIssue } from '@vibe-agent-toolkit/schema';
|
|
10
10
|
import type { MarketplaceInventory } from '../types.js';
|
|
11
11
|
export declare function detectMarketplacePluginSourceMissing(inv: MarketplaceInventory, locationRoot: string): 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,4BAA4B,CAAC;AAGlE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,wBAAgB,oCAAoC,CAAC,GAAG,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe,EAAE,CAUvH"}
|
|
@@ -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 '@vibe-agent-toolkit/
|
|
10
|
+
import type { ValidationIssue } from '@vibe-agent-toolkit/schema';
|
|
11
11
|
import type { PluginInventory } from '../types.js';
|
|
12
12
|
export declare function detectPresentButUndeclared(inv: PluginInventory, locationRoot: string): 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,4BAA4B,CAAC;AAGlE,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,aAAa,CAAC;AAEjE,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe,EAAE,CAMxG"}
|
|
@@ -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 '@vibe-agent-toolkit/
|
|
8
|
+
import type { ValidationIssue } from '@vibe-agent-toolkit/schema';
|
|
9
9
|
import type { PluginInventory } from '../types.js';
|
|
10
10
|
export declare function detectReferenceTargetMissing(inv: PluginInventory, locationRoot: string): 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,4BAA4B,CAAC;AAGlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,wBAAgB,4BAA4B,CAC3C,GAAG,EAAE,eAAe,EACpB,YAAY,EAAE,MAAM,GAClB,eAAe,EAAE,CA2BnB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type { AnyInventory, BaseInventory, ComponentRef, DeclaredList, HookRef, InstallInventory, LspRef, MarketplaceInventory, McpRef, ParseError, PluginInventory, PluginRef, ResolvedReference, SkillInventory, } from './types.js';
|
|
2
2
|
export { isInstallInventory, isMarketplaceInventory, isPluginInventory, isSkillInventory, } from './types.js';
|
|
3
|
-
export { serializeInventory, serializeInventoryShallow
|
|
3
|
+
export { serializeInventory, serializeInventoryShallow } from './serialize.js';
|
|
4
4
|
export { detectDeclaredButMissing, detectMarketplacePluginSourceMissing, detectPresentButUndeclared, detectReferenceTargetMissing, } from './detectors/index.js';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/inventory/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,MAAM,EACN,oBAAoB,EACpB,MAAM,EACN,UAAU,EACV,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,cAAc,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/inventory/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,MAAM,EACN,oBAAoB,EACpB,MAAM,EACN,UAAU,EACV,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,cAAc,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE/E,OAAO,EACN,wBAAwB,EACxB,oCAAoC,EACpC,0BAA0B,EAC1B,4BAA4B,GAC5B,MAAM,sBAAsB,CAAC"}
|
package/dist/inventory/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { isInstallInventory, isMarketplaceInventory, isPluginInventory, isSkillInventory, } from './types.js';
|
|
2
|
-
export { serializeInventory, serializeInventoryShallow
|
|
2
|
+
export { serializeInventory, serializeInventoryShallow } from './serialize.js';
|
|
3
3
|
export { detectDeclaredButMissing, detectMarketplacePluginSourceMissing, detectPresentButUndeclared, detectReferenceTargetMissing, } from './detectors/index.js';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/inventory/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/inventory/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE/E,OAAO,EACN,wBAAwB,EACxB,oCAAoC,EACpC,0BAA0B,EAC1B,4BAA4B,GAC5B,MAAM,sBAAsB,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { AnyInventory, InstallInventory, MarketplaceInventory, PluginInventory } from './types.js';
|
|
2
|
-
export declare const INVENTORY_SCHEMA_VERSION = "vat.inventory/v1alpha";
|
|
3
2
|
type Format = 'yaml' | 'json';
|
|
4
3
|
type ShallowPluginInventory = Omit<PluginInventory, 'discovered'> & {
|
|
5
4
|
discovered: Omit<PluginInventory['discovered'], 'skills'> & {
|
|
@@ -21,10 +20,11 @@ type ShallowInstallInventory = Omit<InstallInventory, 'marketplaces' | 'plugins'
|
|
|
21
20
|
*/
|
|
22
21
|
export type ShallowInventory = ShallowMarketplaceInventory | ShallowPluginInventory | ShallowInstallInventory | AnyInventory;
|
|
23
22
|
/**
|
|
24
|
-
* Serialize an inventory
|
|
23
|
+
* Serialize an inventory.
|
|
25
24
|
*
|
|
26
|
-
* The
|
|
27
|
-
*
|
|
25
|
+
* The document carries NO version label. A consumer that needs to know which
|
|
26
|
+
* shape it is holding reads `kind` — the structural discriminator that is part
|
|
27
|
+
* of the model itself — and, under pre-1.0, pins the VAT version it ran.
|
|
28
28
|
*/
|
|
29
29
|
export declare function serializeInventory(inv: AnyInventory, format?: Format): string;
|
|
30
30
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/inventory/serialize.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAExG,
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/inventory/serialize.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAExG,KAAK,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAa9B,KAAK,sBAAsB,GAAG,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,GAAG;IACnE,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,GAAG;QAAE,MAAM,EAAE,IAAI,CAAA;KAAE,CAAC;CAC7E,CAAC;AAEF,KAAK,2BAA2B,GAAG,IAAI,CAAC,oBAAoB,EAAE,YAAY,CAAC,GAAG;IAC7E,UAAU,EAAE;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;CAC9B,CAAC;AAEF,KAAK,uBAAuB,GAAG,IAAI,CAAC,gBAAgB,EAAE,cAAc,GAAG,SAAS,CAAC,GAAG;IACnF,YAAY,EAAE,2BAA2B,EAAE,CAAC;IAC5C,OAAO,EAAE,sBAAsB,EAAE,CAAC;CAClC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GACzB,2BAA2B,GAC3B,sBAAsB,GACtB,uBAAuB,GACvB,YAAY,CAAC;AAEhB;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,GAAE,MAAe,GAAG,MAAM,CAErF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,GAAE,MAAe,GAAG,MAAM,CAE5F"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as yaml from 'yaml';
|
|
2
|
-
export const INVENTORY_SCHEMA_VERSION = 'vat.inventory/v1alpha';
|
|
3
2
|
/**
|
|
4
|
-
* Serialize an inventory
|
|
3
|
+
* Serialize an inventory.
|
|
5
4
|
*
|
|
6
|
-
* The
|
|
7
|
-
*
|
|
5
|
+
* The document carries NO version label. A consumer that needs to know which
|
|
6
|
+
* shape it is holding reads `kind` — the structural discriminator that is part
|
|
7
|
+
* of the model itself — and, under pre-1.0, pins the VAT version it ran.
|
|
8
8
|
*/
|
|
9
9
|
export function serializeInventory(inv, format = 'yaml') {
|
|
10
|
-
return emit(
|
|
10
|
+
return emit(inv, format);
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* Shallow projection: keep top-level structure but drop transitive nesting.
|
|
@@ -25,7 +25,7 @@ export function serializeInventory(inv, format = 'yaml') {
|
|
|
25
25
|
* Use case: tooling that wants top-level structure without the bulk.
|
|
26
26
|
*/
|
|
27
27
|
export function serializeInventoryShallow(inv, format = 'yaml') {
|
|
28
|
-
return emit({
|
|
28
|
+
return emit({ projection: 'shallow', ...shallowProject(inv) }, format);
|
|
29
29
|
}
|
|
30
30
|
function emit(envelope, format) {
|
|
31
31
|
if (format === 'json') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/inventory/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/inventory/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAwC7B;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAiB,EAAE,SAAiB,MAAM;IAC5E,OAAO,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAiB,EAAE,SAAiB,MAAM;IACnF,OAAO,IAAI,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,IAAI,CAAC,QAAgB,EAAE,MAAc;IAC7C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,cAAc,CAAC,GAAiB;IACxC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,EAAE,GAAG,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;IACpE,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAChC,OAAO,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;IAClD,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,oEAAoE;QACpE,mEAAmE;QACnE,sCAAsC;QACtC,OAAO;YACN,GAAG,GAAG;YACN,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAgC,CAAC;YAC3F,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAA2B,CAAC;SAC5E,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC"}
|
|
@@ -13,6 +13,14 @@ export type ParseError = {
|
|
|
13
13
|
path: string;
|
|
14
14
|
message: string;
|
|
15
15
|
line?: number;
|
|
16
|
+
/**
|
|
17
|
+
* Set when the OS refused to read or list `path` (`EACCES`, `EPERM`, a
|
|
18
|
+
* vanished mount). The row is then a statement about the RUN — this path
|
|
19
|
+
* was not examined — not a defect in the subject, and a consumer must not
|
|
20
|
+
* file it at the severity it gives malformed content. Absent for a parse
|
|
21
|
+
* failure, a missing manifest, or any other defect the subject owns.
|
|
22
|
+
*/
|
|
23
|
+
unreadable?: true;
|
|
16
24
|
};
|
|
17
25
|
export type ComponentRef = {
|
|
18
26
|
/** Path as written in the manifest (relative or absolute). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/inventory/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/inventory/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/inventory/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/inventory/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAwHH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAmB,EAAwB,EAAE,CAC9E,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;AAErB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAmB,EAAuB,EAAE,CAC5E,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;AAEpB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAmB,EAA6B,EAAE,CACxF,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC;AAE1B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAmB,EAAyB,EAAE,CAChF,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The globs a build's link-graph registry includes — the packager's DOOR rule.
|
|
3
|
+
*
|
|
4
|
+
* `walkLinkGraph` traverses a link target only when it is a registry member;
|
|
5
|
+
* anything else is bundled as cargo and never opened. So "which files does a
|
|
6
|
+
* build walk through" is exactly "which files does the registry include", and
|
|
7
|
+
* this constant is both: the skill packager's and the marketplace inventory's
|
|
8
|
+
* registries crawl it, and both lanes' closure declarations name it as
|
|
9
|
+
* `traverseGlobs`.
|
|
10
|
+
*
|
|
11
|
+
* ⛔ Not "whatever parses as markdown". `.txt`, `.markdown` and the extensionless
|
|
12
|
+
* well-knowns (`README`, `LICENSE`, …) route to the markdown parser but are not
|
|
13
|
+
* members, so the build ships them without following a link out of them. A
|
|
14
|
+
* closure keyed on parser kind walked through them and admitted documents no
|
|
15
|
+
* build ships.
|
|
16
|
+
*/
|
|
17
|
+
export declare const LINK_GRAPH_MEMBER_GLOBS: readonly string[];
|
|
18
|
+
//# sourceMappingURL=link-graph-members.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-graph-members.d.ts","sourceRoot":"","sources":["../src/link-graph-members.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAA+B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The globs a build's link-graph registry includes — the packager's DOOR rule.
|
|
3
|
+
*
|
|
4
|
+
* `walkLinkGraph` traverses a link target only when it is a registry member;
|
|
5
|
+
* anything else is bundled as cargo and never opened. So "which files does a
|
|
6
|
+
* build walk through" is exactly "which files does the registry include", and
|
|
7
|
+
* this constant is both: the skill packager's and the marketplace inventory's
|
|
8
|
+
* registries crawl it, and both lanes' closure declarations name it as
|
|
9
|
+
* `traverseGlobs`.
|
|
10
|
+
*
|
|
11
|
+
* ⛔ Not "whatever parses as markdown". `.txt`, `.markdown` and the extensionless
|
|
12
|
+
* well-knowns (`README`, `LICENSE`, …) route to the markdown parser but are not
|
|
13
|
+
* members, so the build ships them without following a link out of them. A
|
|
14
|
+
* closure keyed on parser kind walked through them and admitted documents no
|
|
15
|
+
* build ships.
|
|
16
|
+
*/
|
|
17
|
+
export const LINK_GRAPH_MEMBER_GLOBS = Object.freeze(['**/*.md']);
|
|
18
|
+
//# sourceMappingURL=link-graph-members.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-graph-members.js","sourceRoot":"","sources":["../src/link-graph-members.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAsB,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,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,
|
|
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
|
-
|
|
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
|