@vibe-agent-toolkit/agent-skills 0.2.0-rc.1 → 0.2.0-rc.11
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 +21 -7
- 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 +65 -14
- 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 +131 -20
- package/dist/skill-packager.d.ts.map +1 -1
- package/dist/skill-packager.js +382 -85
- 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 +1505 -236
- 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 +41 -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 +8 -1
- package/dist/validators/frontmatter-validation.d.ts.map +1 -1
- package/dist/validators/frontmatter-validation.js +253 -6
- 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 +137 -9
- package/dist/validators/packaging-validator.d.ts.map +1 -1
- package/dist/validators/packaging-validator.js +328 -45
- 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 +3 -3
- package/dist/validators/rule-engine/rule-context.js +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 +24 -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 +90 -53
- 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 +53 -19
- package/dist/validators/walker-to-issues.js.map +1 -1
- package/dist/walk-link-graph.d.ts +27 -2
- package/dist/walk-link-graph.d.ts.map +1 -1
- package/dist/walk-link-graph.js +93 -17
- 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
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
import { type ValidationIssue } from '@vibe-agent-toolkit/
|
|
1
|
+
import { type ValidationIssue } from '@vibe-agent-toolkit/schema';
|
|
2
2
|
import type { LinkResolution } from '../walk-link-graph.js';
|
|
3
3
|
/**
|
|
4
4
|
* Map walker exclusions to validation issues by routing each through the
|
|
5
|
-
* intent-aware engine.
|
|
6
|
-
*
|
|
5
|
+
* intent-aware engine.
|
|
6
|
+
*
|
|
7
|
+
* One exclusion in, one issue out: the engine no longer returns `null` for any
|
|
8
|
+
* reason the walker can record, so no exclusion is dropped on the floor here.
|
|
9
|
+
* The `null` branch remains because `evaluate` is shared with the file/orphan
|
|
10
|
+
* subject, where `null` is a real verdict.
|
|
7
11
|
*/
|
|
8
12
|
export declare function walkerExclusionsToIssues(exclusions: readonly LinkResolution[], locationRoot: string): ValidationIssue[];
|
|
13
|
+
/** Followed links that left the skill directory, as issues at the registry default severity. */
|
|
14
|
+
export declare function outsideSkillDirLinksToIssues(links: readonly LinkResolution[], locationRoot: string): ValidationIssue[];
|
|
9
15
|
/**
|
|
10
16
|
* Emit one LINK_DEFERRED_ARTIFACT info issue per deferred asset path.
|
|
11
17
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walker-to-issues.d.ts","sourceRoot":"","sources":["../../src/validators/walker-to-issues.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"walker-to-issues.d.ts","sourceRoot":"","sources":["../../src/validators/walker-to-issues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAGlF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAgG5D;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,SAAS,cAAc,EAAE,EACrC,YAAY,EAAE,MAAM,GACnB,eAAe,EAAE,CASnB;AAED,gGAAgG;AAChG,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,YAAY,EAAE,MAAM,GACnB,eAAe,EAAE,CAGnB;AAaD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,YAAY,EAAE,MAAM,GACnB,eAAe,EAAE,CAKnB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { issueLocation } from '@vibe-agent-toolkit/utils';
|
|
2
2
|
import { evaluate, makeRuleContext, materializeIssue } from './rule-engine/index.js';
|
|
3
3
|
/**
|
|
4
|
-
* Live-path extraction front-end
|
|
4
|
+
* Live-path extraction front-end.
|
|
5
5
|
*
|
|
6
6
|
* Translates the link-graph walker's mechanical `excludeReason` into the
|
|
7
7
|
* intent-aware {@link RuleContext} the engine reasons over. This is the ONLY
|
|
@@ -9,11 +9,19 @@ import { evaluate, makeRuleContext, materializeIssue } from './rule-engine/index
|
|
|
9
9
|
* decision and issue construction belong to the shared engine + materializer,
|
|
10
10
|
* so the registry stays the single source of truth.
|
|
11
11
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* `
|
|
16
|
-
*
|
|
12
|
+
* **Every one of the walker's eleven reasons reaches a code.** Two did not: a
|
|
13
|
+
* navigational link resolving to a directory ('directory-target') and a
|
|
14
|
+
* reference refused by the author's own rule ('pattern-matched') both evaluated
|
|
15
|
+
* to `null` and were filtered out of the output below, so the author got no
|
|
16
|
+
* finding at all — not a quiet one, none. Both are now reported, at severities
|
|
17
|
+
* that say how much each matters: `LINK_TO_UNBUNDLED_DIRECTORY` (warning — the
|
|
18
|
+
* directory never travels, so the packaged link points at nothing) and
|
|
19
|
+
* `LINK_EXCLUDED_BY_PATTERN` (info — the author configured this, and the receipt
|
|
20
|
+
* only needs to be there when they come looking for it).
|
|
21
|
+
*
|
|
22
|
+
* `LINK_TARGETS_DIRECTORY` is a DIFFERENT code for a different situation: a
|
|
23
|
+
* `files:` typed-slot source that resolves to a directory, an error, owned by
|
|
24
|
+
* packaging-validator. The two never fire for the same edge.
|
|
17
25
|
*
|
|
18
26
|
* `existsAtSource` is READ FROM the walker's record, never assumed. The engine
|
|
19
27
|
* gates `LINK_TO_GITIGNORED_FILE` on "gitignored AND exists"; hardcoding
|
|
@@ -62,10 +70,31 @@ function exclusionToContext(reason, targetExists) {
|
|
|
62
70
|
}
|
|
63
71
|
}
|
|
64
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* The per-issue detail appended to the registry description.
|
|
75
|
+
*
|
|
76
|
+
* Always the link, because that is what identifies the edge. Plus, when the
|
|
77
|
+
* walker recorded WHICH rule refused the reference, the patterns of that rule:
|
|
78
|
+
* with several `excludeReferencesFromBundle` rules configured, learning that one
|
|
79
|
+
* of them fired is not an answer to "why did this file not ship?", and the
|
|
80
|
+
* walker already knows which. Keyed on the presence of `matchedRule` rather than
|
|
81
|
+
* on the code, because the walker only ever sets that field for the reason it
|
|
82
|
+
* describes — so this needs no branch on a code it does not own.
|
|
83
|
+
*/
|
|
84
|
+
function exclusionDetail(r, target) {
|
|
85
|
+
const link = `link: ${r.linkHref ?? target}`;
|
|
86
|
+
return r.matchedRule === undefined
|
|
87
|
+
? link
|
|
88
|
+
: `${link}; matched excludeReferencesFromBundle pattern(s): ${r.matchedRule.patterns.join(', ')}`;
|
|
89
|
+
}
|
|
65
90
|
/**
|
|
66
91
|
* Map walker exclusions to validation issues by routing each through the
|
|
67
|
-
* intent-aware engine.
|
|
68
|
-
*
|
|
92
|
+
* intent-aware engine.
|
|
93
|
+
*
|
|
94
|
+
* One exclusion in, one issue out: the engine no longer returns `null` for any
|
|
95
|
+
* reason the walker can record, so no exclusion is dropped on the floor here.
|
|
96
|
+
* The `null` branch remains because `evaluate` is shared with the file/orphan
|
|
97
|
+
* subject, where `null` is a real verdict.
|
|
69
98
|
*/
|
|
70
99
|
export function walkerExclusionsToIssues(exclusions, locationRoot) {
|
|
71
100
|
const issues = [];
|
|
@@ -75,20 +104,25 @@ export function walkerExclusionsToIssues(exclusions, locationRoot) {
|
|
|
75
104
|
const code = evaluate(exclusionToContext(r.excludeReason, r.targetExists));
|
|
76
105
|
if (code === null)
|
|
77
106
|
continue;
|
|
78
|
-
|
|
79
|
-
// `missing-target` exclusion the target does not exist, so a location
|
|
80
|
-
// naming it points at nothing the author can open. The target is a link,
|
|
81
|
-
// and links have their own field.
|
|
82
|
-
const target = issueLocation(r.path, locationRoot);
|
|
83
|
-
issues.push(materializeIssue(code, {
|
|
84
|
-
location: issueLocation(r.sourcePath, locationRoot),
|
|
85
|
-
...(r.sourceLine !== undefined && { line: r.sourceLine }),
|
|
86
|
-
link: r.linkHref ?? target,
|
|
87
|
-
detail: `link: ${r.linkHref ?? target}`,
|
|
88
|
-
}));
|
|
107
|
+
issues.push(edgeIssue(code, r, locationRoot));
|
|
89
108
|
}
|
|
90
109
|
return issues;
|
|
91
110
|
}
|
|
111
|
+
/** Followed links that left the skill directory, as issues at the registry default severity. */
|
|
112
|
+
export function outsideSkillDirLinksToIssues(links, locationRoot) {
|
|
113
|
+
const code = evaluate(makeRuleContext({ subject: 'edge', insideSkillDir: false }));
|
|
114
|
+
return code === null ? [] : links.map(r => edgeIssue(code, r, locationRoot));
|
|
115
|
+
}
|
|
116
|
+
/** One edge's issue, anchored to the file CONTAINING the link: a missing target names nothing to open. */
|
|
117
|
+
function edgeIssue(code, r, locationRoot) {
|
|
118
|
+
const target = issueLocation(r.path, locationRoot);
|
|
119
|
+
return materializeIssue(code, {
|
|
120
|
+
location: issueLocation(r.sourcePath, locationRoot),
|
|
121
|
+
...(r.sourceLine !== undefined && { line: r.sourceLine }),
|
|
122
|
+
link: r.linkHref ?? target,
|
|
123
|
+
detail: exclusionDetail(r, target),
|
|
124
|
+
});
|
|
125
|
+
}
|
|
92
126
|
/**
|
|
93
127
|
* Emit one LINK_DEFERRED_ARTIFACT info issue per deferred asset path.
|
|
94
128
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walker-to-issues.js","sourceRoot":"","sources":["../../src/validators/walker-to-issues.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAI1D,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAoB,MAAM,wBAAwB,CAAC;AAEvG
|
|
1
|
+
{"version":3,"file":"walker-to-issues.js","sourceRoot":"","sources":["../../src/validators/walker-to-issues.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,7 +33,8 @@
|
|
|
33
33
|
* `non-routable-source` exclusion (`LINK_FROM_NON_ROUTABLE_FILE`).
|
|
34
34
|
*/
|
|
35
35
|
import type { DeferredArtifacts, ResourceMetadata } from '@vibe-agent-toolkit/resources';
|
|
36
|
-
import { FsLookupCache
|
|
36
|
+
import { FsLookupCache } from '@vibe-agent-toolkit/utils';
|
|
37
|
+
import { type GitTracker } from '@vibe-agent-toolkit/utils/git';
|
|
37
38
|
/**
|
|
38
39
|
* Resolution result for a single link found in a bundled markdown file.
|
|
39
40
|
*/
|
|
@@ -97,6 +98,8 @@ export interface LinkGraphResult {
|
|
|
97
98
|
bundledAssets: string[];
|
|
98
99
|
/** References detected but NOT bundled (depth, exclude, etc.) */
|
|
99
100
|
excludedReferences: LinkResolution[];
|
|
101
|
+
/** Followed links whose shipped target lies outside the skill's directory (inside the project) */
|
|
102
|
+
outsideSkillDirLinks: LinkResolution[];
|
|
100
103
|
/** Actual max depth of the bundled portion */
|
|
101
104
|
maxBundledDepth: number;
|
|
102
105
|
/** Asset paths that are deferred (declared in files config, may not exist yet) */
|
|
@@ -106,7 +109,29 @@ export interface LinkGraphResult {
|
|
|
106
109
|
* Options for walking the link graph.
|
|
107
110
|
*/
|
|
108
111
|
export interface WalkLinkGraphOptions {
|
|
109
|
-
/**
|
|
112
|
+
/**
|
|
113
|
+
* Max depth for following markdown links (Infinity for 'full').
|
|
114
|
+
*
|
|
115
|
+
* ⚠️ **This bounds ROUTING, not bundling.** The limit is consulted at exactly
|
|
116
|
+
* one site — the depth check in {@link processRegistryResource} — and that
|
|
117
|
+
* site is reached only for a target the walker walks THROUGH. The deciding
|
|
118
|
+
* predicate is {@link isRoutable}, i.e. `parserKindForPath(path) ===
|
|
119
|
+
* 'markdown'`; every target for which it is false is bundled as a leaf with
|
|
120
|
+
* no depth test at all:
|
|
121
|
+
*
|
|
122
|
+
* - a link target that is not a registry member (an image, a PDF, JSON) —
|
|
123
|
+
* the unconditional add in {@link processLink};
|
|
124
|
+
* - a link target that IS a registry member but is not markdown (HTML, and
|
|
125
|
+
* anything else a registry's include globs admit whose parser kind is
|
|
126
|
+
* `html` or `none`) — the early return in
|
|
127
|
+
* {@link processRegistryResource}, which tests routability BEFORE depth on
|
|
128
|
+
* purpose so that parsing a file never shrinks what ships.
|
|
129
|
+
*
|
|
130
|
+
* So the exemption is not "assets": it is **everything that is not
|
|
131
|
+
* markdown**. `maxDepth: 1` still ships a non-markdown file linked from a
|
|
132
|
+
* document ten hops out, as long as markdown routed to that document. See
|
|
133
|
+
* {@link walkLinkGraph}'s semantics list for the statement of the rule.
|
|
134
|
+
*/
|
|
110
135
|
maxDepth: number;
|
|
111
136
|
/** Ordered exclude rules (first match wins) */
|
|
112
137
|
excludeRules: ExcludeRule[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walk-link-graph.d.ts","sourceRoot":"","sources":["../src/walk-link-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;
|
|
1
|
+
{"version":3,"file":"walk-link-graph.d.ts","sourceRoot":"","sources":["../src/walk-link-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AASH,OAAO,KAAK,EAAE,iBAAiB,EAAgB,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACvG,OAAO,EAKL,aAAa,EAKd,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,+BAA+B,CAAC;AAK9E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;OAOG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC;;;;;;;OAOG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,wBAAwB,GAAG,kBAAkB,GAAG,YAAY,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,qBAAqB,GAAG,SAAS,CAAC;IAC9P,sEAAsE;IACtE,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACtC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAMD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;IAC1D,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;CAC7D;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,oEAAoE;IACpE,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,iEAAiE;IACjE,kBAAkB,EAAE,cAAc,EAAE,CAAC;IACrC,kGAAkG;IAClG,oBAAoB,EAAE,cAAc,EAAE,CAAC;IACvC,8CAA8C;IAC9C,eAAe,EAAE,MAAM,CAAC;IACxB,kFAAkF;IAClF,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAquBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAC3B,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,oBAAoB,GAC5B,eAAe,CAiBjB"}
|
package/dist/walk-link-graph.js
CHANGED
|
@@ -33,8 +33,9 @@
|
|
|
33
33
|
* `non-routable-source` exclusion (`LINK_FROM_NON_ROUTABLE_FILE`).
|
|
34
34
|
*/
|
|
35
35
|
import { basename, dirname } from 'node:path';
|
|
36
|
-
import { isLocalFileLink, parserKindForPath, resolveLocalHref } from '@vibe-agent-toolkit/resources';
|
|
37
|
-
import { FsLookupCache,
|
|
36
|
+
import { isLocalFileLink, parserKindForPath, resolveLocalHref, } from '@vibe-agent-toolkit/resources';
|
|
37
|
+
import { CRAWL_PASS_INSIDE, CRAWL_WALKER_GITIGNORE_ID, CRAWL_WALKER_ID, crawlTimingStart, FsLookupCache, recordCrawlPass, relativeEscapesRoot, toForwardSlash, safePath, } from '@vibe-agent-toolkit/utils';
|
|
38
|
+
import { isGitIgnored } from '@vibe-agent-toolkit/utils/git';
|
|
38
39
|
import picomatch from 'picomatch';
|
|
39
40
|
import { isAgentInstructionBasename, isNavigationBasename } from './validators/validation-rules.js';
|
|
40
41
|
// ============================================================================
|
|
@@ -70,24 +71,30 @@ function resolveHrefToPath(hrefWithoutAnchor, sourceFilePath, projectRoot) {
|
|
|
70
71
|
}
|
|
71
72
|
/** Check if a link targets a file outside the project boundary */
|
|
72
73
|
function isOutsideProject(targetPath, projectRoot) {
|
|
73
|
-
return safePath.relative(projectRoot, targetPath)
|
|
74
|
+
return relativeEscapesRoot(safePath.relative(projectRoot, targetPath));
|
|
74
75
|
}
|
|
75
76
|
// Navigation / agent-instruction classification is the shared, case-insensitive
|
|
76
77
|
// matcher from validation-rules (`isNavigationBasename` / `isAgentInstructionBasename`),
|
|
77
78
|
// used directly at the call sites below. On APFS/NTFS a `Claude.md` is loaded as
|
|
78
79
|
// instructions exactly as a `CLAUDE.md` is, so the walker must refuse both spellings.
|
|
79
|
-
|
|
80
|
-
function makeExclusion(targetPath, sourcePath, targetExists, reason, link, matchedRule) {
|
|
80
|
+
function makeFollowedLink(targetPath, sourcePath, targetExists, link) {
|
|
81
81
|
return {
|
|
82
82
|
path: targetPath,
|
|
83
83
|
sourcePath,
|
|
84
84
|
...(link.line !== undefined && { sourceLine: link.line }),
|
|
85
85
|
targetExists,
|
|
86
|
+
bundled: true,
|
|
87
|
+
linkText: link.text,
|
|
88
|
+
linkHref: link.href,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/** Create an exclusion record */
|
|
92
|
+
function makeExclusion(targetPath, sourcePath, targetExists, reason, link, matchedRule) {
|
|
93
|
+
return {
|
|
94
|
+
...makeFollowedLink(targetPath, sourcePath, targetExists, link),
|
|
86
95
|
bundled: false,
|
|
87
96
|
excludeReason: reason,
|
|
88
97
|
...(matchedRule ? { matchedRule } : {}),
|
|
89
|
-
linkText: link.text,
|
|
90
|
-
linkHref: link.href,
|
|
91
98
|
};
|
|
92
99
|
}
|
|
93
100
|
/**
|
|
@@ -216,7 +223,7 @@ function classifyGitignoredTarget(targetPath, deferredArtifacts) {
|
|
|
216
223
|
* rather than one per reference. The memo cannot change the answer: both
|
|
217
224
|
* oracles are pure functions of the tree, and the memo's lifetime is one walk.
|
|
218
225
|
*
|
|
219
|
-
* ⛔ **Measured on VAT's own tree,
|
|
226
|
+
* ⛔ **Measured on VAT's own tree, and the result is a NEGATIVE —
|
|
220
227
|
* do not sell this as a performance win.** Counting asks vs. memo misses in the
|
|
221
228
|
* built lane: `vat audit .` = 3 asks / 2 distinct, `vat skills build` = 0 / 0,
|
|
222
229
|
* `vat inventory .` = 0 / 0. **One** oracle call avoided across all three.
|
|
@@ -249,9 +256,16 @@ function readGitignored(targetPath, options, state) {
|
|
|
249
256
|
const cached = state.gitignoreFacts.get(targetPath);
|
|
250
257
|
if (cached !== undefined)
|
|
251
258
|
return cached;
|
|
259
|
+
// Charged on the MISS path only, so `calls` counts oracle READS rather than
|
|
260
|
+
// asks — a memo hit costs nothing worth a bracket, and counting it would make
|
|
261
|
+
// the row's ms/call meaningless. This is the branch that can spawn
|
|
262
|
+
// `git check-ignore`, which is why it is separated from the walk's own row at
|
|
263
|
+
// all: the walk's cost and the oracle's cost move for different reasons.
|
|
264
|
+
const startedAt = crawlTimingStart();
|
|
252
265
|
const isIgnored = options.gitTracker === undefined
|
|
253
266
|
? isGitIgnored(targetPath, options.projectRoot)
|
|
254
267
|
: options.gitTracker.isIgnoredByActiveSet(targetPath);
|
|
268
|
+
recordCrawlPass(CRAWL_WALKER_GITIGNORE_ID, 'crawl', CRAWL_PASS_INSIDE, startedAt);
|
|
255
269
|
state.gitignoreFacts.set(targetPath, isIgnored);
|
|
256
270
|
return isIgnored;
|
|
257
271
|
}
|
|
@@ -439,13 +453,27 @@ function processLink(link, currentResource, currentDepth, registry, options, exc
|
|
|
439
453
|
// path in the same tick.
|
|
440
454
|
}
|
|
441
455
|
else if (state.pathProbe.probe(targetPath).exists) {
|
|
442
|
-
// Not in registry — non-markdown asset that exists on disk
|
|
456
|
+
// Not in registry — non-markdown asset that exists on disk.
|
|
457
|
+
//
|
|
458
|
+
// ⚠️ `currentDepth` is deliberately NOT consulted here, and its absence is
|
|
459
|
+
// the behaviour, not an oversight. An asset is a leaf: bundling it enqueues
|
|
460
|
+
// nothing, so there is no depth for a limit to bound. A `maxDepth` of 1
|
|
461
|
+
// therefore still ships every image, JSON and PDF hanging off a
|
|
462
|
+
// depth-3 document, provided some routed markdown reached that document.
|
|
463
|
+
// Stated in {@link walkLinkGraph}'s own semantics list ("Non-markdown
|
|
464
|
+
// assets bypass depth limits") and mirrored for non-routable REGISTRY
|
|
465
|
+
// members in {@link processRegistryResource} — do not "fix" one site
|
|
466
|
+
// without the other; they are one rule with two arms.
|
|
443
467
|
state.bundledAssetSet.add(toForwardSlash(targetPath));
|
|
444
468
|
}
|
|
445
469
|
else {
|
|
446
470
|
// File doesn't exist and not in registry, and not deferred (handled above).
|
|
447
471
|
// Record as missing-target so downstream emits LINK_MISSING_TARGET.
|
|
448
472
|
state.excludedReferences.push(makeExclusion(targetPath, currentResource.filePath, false, 'missing-target', link));
|
|
473
|
+
return;
|
|
474
|
+
}
|
|
475
|
+
if (relativeEscapesRoot(safePath.relative(dirname(options.skillRootPath), targetPath))) {
|
|
476
|
+
state.followedOutsideSkillDir.push(makeFollowedLink(targetPath, currentResource.filePath, true, link));
|
|
449
477
|
}
|
|
450
478
|
}
|
|
451
479
|
/**
|
|
@@ -543,9 +571,36 @@ function processRegistryResource(targetResource, targetPath, sourcePath, link, c
|
|
|
543
571
|
* @returns Graph walk result with bundled resources, assets, and exclusions
|
|
544
572
|
*/
|
|
545
573
|
export function walkLinkGraph(skillResourceId, registry, options) {
|
|
574
|
+
// This walker is not a projection contributor, so the merge driver never sees
|
|
575
|
+
// it and it has no stratum of its own. It records under the synthetic id
|
|
576
|
+
// `walk-link-graph:walk` in the `crawl` stratum — declared in
|
|
577
|
+
// `crawl-timing.ts`, deliberately not an ad-hoc string here, because a
|
|
578
|
+
// synthetic id that arrives by accident is indistinguishable in the dump from
|
|
579
|
+
// a real contributor's.
|
|
580
|
+
//
|
|
581
|
+
// `try`/`finally` rather than a record before each `return`: the early exit
|
|
582
|
+
// for an unknown skill id is a real (cheap) call and must still be counted,
|
|
583
|
+
// and a throw must not silently drop a bracket.
|
|
584
|
+
const startedAt = crawlTimingStart();
|
|
585
|
+
try {
|
|
586
|
+
return walkLinkGraphBody(skillResourceId, registry, options);
|
|
587
|
+
}
|
|
588
|
+
finally {
|
|
589
|
+
recordCrawlPass(CRAWL_WALKER_ID, 'crawl', CRAWL_PASS_INSIDE, startedAt);
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
/**
|
|
593
|
+
* The walk itself, with no timing concern in it.
|
|
594
|
+
*
|
|
595
|
+
* @param skillResourceId - The resource ID of the skill's SKILL.md in the registry
|
|
596
|
+
* @param registry - A walkable registry with pre-parsed resources
|
|
597
|
+
* @param options - Walk options (depth, excludes, etc.)
|
|
598
|
+
* @returns Graph walk result with bundled resources, assets, and exclusions
|
|
599
|
+
*/
|
|
600
|
+
function walkLinkGraphBody(skillResourceId, registry, options) {
|
|
546
601
|
const skillResource = registry.getResourceById(skillResourceId);
|
|
547
602
|
if (!skillResource) {
|
|
548
|
-
return { bundledResources: [], bundledAssets: [], excludedReferences: [], maxBundledDepth: 0, deferredAssets: [] };
|
|
603
|
+
return { bundledResources: [], bundledAssets: [], excludedReferences: [], outsideSkillDirLinks: [], maxBundledDepth: 0, deferredAssets: [] };
|
|
549
604
|
}
|
|
550
605
|
// Compile exclude patterns once
|
|
551
606
|
const excludeMatchers = options.excludeRules.map((rule) => ({
|
|
@@ -566,6 +621,7 @@ export function walkLinkGraph(skillResourceId, registry, options) {
|
|
|
566
621
|
maxBundledDepth: 0,
|
|
567
622
|
queue: [[skillResource, 0]],
|
|
568
623
|
unfollowedFromNonRoutable: [],
|
|
624
|
+
followedOutsideSkillDir: [],
|
|
569
625
|
pathProbe: options.pathProbe ?? new FsLookupCache(),
|
|
570
626
|
gitignoreFacts: new Map(),
|
|
571
627
|
};
|
|
@@ -581,24 +637,44 @@ export function walkLinkGraph(skillResourceId, registry, options) {
|
|
|
581
637
|
}
|
|
582
638
|
}
|
|
583
639
|
}
|
|
584
|
-
//
|
|
585
|
-
//
|
|
586
|
-
//
|
|
587
|
-
// `missing-target`.
|
|
640
|
+
// What actually SHIPPED, resolved once the walk is over. Deferred artifacts
|
|
641
|
+
// count as accounted-for: the target will exist once the build materializes
|
|
642
|
+
// it, which is the same reason they are not `missing-target`.
|
|
588
643
|
const bundledPaths = new Set([
|
|
589
644
|
...state.bundledAssetSet,
|
|
590
645
|
...state.deferredAssetSet,
|
|
591
646
|
...[...state.bundledResourceMap.values()].map(r => toForwardSlash(r.filePath)),
|
|
592
647
|
]);
|
|
648
|
+
const targetShipped = (r) => bundledPaths.has(toForwardSlash(r.path));
|
|
649
|
+
// 🔑 Two reasons ask ONE question — "did the target ship?" — and both can only
|
|
650
|
+
// answer it here, against the FINAL bundle, or the answer depends on queue
|
|
651
|
+
// order.
|
|
652
|
+
//
|
|
653
|
+
// `depth-exceeded` is recorded eagerly, at the moment an edge is refused, and
|
|
654
|
+
// that is correct: the refusal is a fact about the EDGE. It is not a fact
|
|
655
|
+
// about the TARGET, and `LINK_DROPPED_BY_DEPTH` claims the latter — "this link
|
|
656
|
+
// was not bundled". On any diamond the two diverge: the same reference cited
|
|
657
|
+
// from SKILL.md and again from a page one hop deeper ships via the shallow
|
|
658
|
+
// route and is refused on the deep one, and the finding used to fire anyway.
|
|
659
|
+
// Measured on `packages/vat-example-cat-agents`, whose
|
|
660
|
+
// `cat-breed-selection.md` is in the built bundle at depth 1 and was reported
|
|
661
|
+
// dropped for its depth-2 occurrence via `workflow-orchestration.md`. The
|
|
662
|
+
// remedy the message implies — raise `linkFollowDepth` — is a no-op for a link
|
|
663
|
+
// that already works.
|
|
664
|
+
//
|
|
665
|
+
// Filtered in place rather than held back and appended, so the surviving
|
|
666
|
+
// exclusions keep the order the walk found them in.
|
|
667
|
+
const excludedReferences = state.excludedReferences.filter((r) => r.excludeReason !== 'depth-exceeded' || !targetShipped(r));
|
|
593
668
|
for (const unfollowed of state.unfollowedFromNonRoutable) {
|
|
594
|
-
if (!
|
|
595
|
-
|
|
669
|
+
if (!targetShipped(unfollowed)) {
|
|
670
|
+
excludedReferences.push(unfollowed);
|
|
596
671
|
}
|
|
597
672
|
}
|
|
598
673
|
return {
|
|
599
674
|
bundledResources: [...state.bundledResourceMap.values()],
|
|
600
675
|
bundledAssets: [...state.bundledAssetSet],
|
|
601
|
-
excludedReferences
|
|
676
|
+
excludedReferences,
|
|
677
|
+
outsideSkillDirLinks: state.followedOutsideSkillDir.filter(targetShipped),
|
|
602
678
|
maxBundledDepth: state.maxBundledDepth,
|
|
603
679
|
deferredAssets: [...state.deferredAssetSet],
|
|
604
680
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walk-link-graph.js","sourceRoot":"","sources":["../src/walk-link-graph.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"walk-link-graph.js","sourceRoot":"","sources":["../src/walk-link-graph.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibe-agent-toolkit/agent-skills",
|
|
3
|
-
"version": "0.2.0-rc.
|
|
3
|
+
"version": "0.2.0-rc.11",
|
|
4
4
|
"description": "Build, validate, and package agent skills in the Agent Skills format",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -19,37 +19,29 @@
|
|
|
19
19
|
"README.md"
|
|
20
20
|
],
|
|
21
21
|
"scripts": {
|
|
22
|
-
"build": "tsx ../dev-tools/src/tsc-clean-build.ts
|
|
23
|
-
"
|
|
24
|
-
"clean": "rm -rf dist *.tsbuildinfo schemas/",
|
|
22
|
+
"build": "tsx ../dev-tools/src/tsc-clean-build.ts && bun run generate:schemas",
|
|
23
|
+
"clean": "rimraf --glob dist \"*.tsbuildinfo\" .tsc-staging",
|
|
25
24
|
"generate:schemas": "tsx scripts/generate-json-schemas.ts",
|
|
26
25
|
"test:unit": "vitest run",
|
|
27
26
|
"test:integration": "vitest run --config vitest.integration.config.ts",
|
|
28
|
-
"test:watch": "vitest
|
|
29
|
-
"test:coverage": "vitest run --coverage",
|
|
27
|
+
"test:watch": "vitest",
|
|
30
28
|
"typecheck": "tsc --noEmit"
|
|
31
29
|
},
|
|
32
30
|
"dependencies": {
|
|
33
|
-
"@vibe-agent-toolkit/agent-config": "0.2.0-rc.
|
|
34
|
-
"@vibe-agent-toolkit/
|
|
35
|
-
"@vibe-agent-toolkit/resources": "0.2.0-rc.
|
|
36
|
-
"@vibe-agent-toolkit/utils": "0.2.0-rc.
|
|
37
|
-
"adm-zip": "^0.6.
|
|
31
|
+
"@vibe-agent-toolkit/agent-config": "0.2.0-rc.11",
|
|
32
|
+
"@vibe-agent-toolkit/schema": "0.2.0-rc.11",
|
|
33
|
+
"@vibe-agent-toolkit/resources": "0.2.0-rc.11",
|
|
34
|
+
"@vibe-agent-toolkit/utils": "0.2.0-rc.11",
|
|
35
|
+
"adm-zip": "^0.6.1",
|
|
38
36
|
"glob": "^10.3.10",
|
|
39
37
|
"picomatch": "^4.0.3",
|
|
40
|
-
"yaml": "^2.
|
|
41
|
-
"zod": "^3.
|
|
42
|
-
"zod-to-json-schema": "^3.
|
|
38
|
+
"yaml": "^2.9.0",
|
|
39
|
+
"zod": "^3.25.0",
|
|
40
|
+
"zod-to-json-schema": "^3.24.5"
|
|
43
41
|
},
|
|
44
42
|
"devDependencies": {
|
|
45
|
-
"@types/adm-zip": "^0.5.7",
|
|
46
|
-
"@types/picomatch": "^4.0.2",
|
|
47
|
-
"@types/node": "^22.0.0",
|
|
48
43
|
"ajv": "^8.17.1",
|
|
49
|
-
"github-slugger": "^2.0.0"
|
|
50
|
-
"tsx": "^4.19.2",
|
|
51
|
-
"typescript": "~5.7.2",
|
|
52
|
-
"vitest": "^3.2.4"
|
|
44
|
+
"github-slugger": "^2.0.0"
|
|
53
45
|
},
|
|
54
46
|
"keywords": [
|
|
55
47
|
"ai",
|
|
@@ -66,6 +58,6 @@
|
|
|
66
58
|
"author": "Jeff Dutton",
|
|
67
59
|
"license": "MIT",
|
|
68
60
|
"engines": {
|
|
69
|
-
"node": ">=22.
|
|
61
|
+
"node": ">=22.13.0"
|
|
70
62
|
}
|
|
71
63
|
}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
/** Exit codes for `vat skill test` (spec §6d). */
|
|
2
|
-
export declare const SkillTestExitCode: {
|
|
3
|
-
readonly Ok: 0;
|
|
4
|
-
readonly Internal: 1;
|
|
5
|
-
readonly Preflight: 2;
|
|
6
|
-
readonly Bootstrap: 3;
|
|
7
|
-
/**
|
|
8
|
-
* At least one eval FAILED. This is the DEFAULT verdict for a completed run
|
|
9
|
-
* whose expectations did not all pass (fail-closed) — suppress it with the
|
|
10
|
-
* interactive opt-out `--allow-eval-failure`. Distinct from the harness-broke
|
|
11
|
-
* codes (1/2/3): the harness ran to completion and produced a valid
|
|
12
|
-
* grading.json — the skill's expectations simply did not all pass. This
|
|
13
|
-
* differentiation lets a CI consumer treat 4 as tolerable while still failing
|
|
14
|
-
* closed on every other non-zero code:
|
|
15
|
-
* `case $? in 0) ;; 4) tolerate/warn ;; *) hard fail ;; esac`
|
|
16
|
-
* Returned DIRECTLY by the harness verdict (see verdictExitCode in
|
|
17
|
-
* run-harness.ts), not via mapErrorToExitCode, because it is an outcome, not a
|
|
18
|
-
* thrown error.
|
|
19
|
-
*/
|
|
20
|
-
readonly EvalFailure: 4;
|
|
21
|
-
};
|
|
22
|
-
export type SkillTestExitCodeValue = (typeof SkillTestExitCode)[keyof typeof SkillTestExitCode];
|
|
23
|
-
/**
|
|
24
|
-
* A required input is absent in a way vat can scaffold (missing evals.json).
|
|
25
|
-
* Exit 3, NOT a failure. `expectedPath` is the persistent location of the
|
|
26
|
-
* annotated starter template.
|
|
27
|
-
*
|
|
28
|
-
* In a real run the harness has already written that template, and the message
|
|
29
|
-
* says so. Under `--dry-run` nothing is written — a dry run must never touch the
|
|
30
|
-
* filesystem — so the message instead describes what a real run *would* scaffold
|
|
31
|
-
* and where, while surfacing the same exit-3 "bootstrap needed" signal.
|
|
32
|
-
*/
|
|
33
|
-
export declare class BootstrapNeededError extends Error {
|
|
34
|
-
readonly expectedPath: string;
|
|
35
|
-
readonly exitCode: 3;
|
|
36
|
-
constructor(expectedPath: string, opts?: {
|
|
37
|
-
dryRun?: boolean;
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
/** Thrown when building a declared skill (pool packageSkill or plugin build) fails. Exit 2 (preflight class). */
|
|
41
|
-
export declare class SkillBuildError extends Error {
|
|
42
|
-
readonly exitCode: 2;
|
|
43
|
-
constructor(message: string);
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* The §12 security acknowledgment is required but absent, thrown BEFORE any
|
|
47
|
-
* build/pre-stage command (which executes untrusted repo code) runs for a
|
|
48
|
-
* buildable subject. Exit 2 (preflight class). Mirrors the harness Step-6 ack
|
|
49
|
-
* message wording so the two enforcement points read identically.
|
|
50
|
-
*/
|
|
51
|
-
export declare class SecurityAckError extends Error {
|
|
52
|
-
readonly exitCode: 2;
|
|
53
|
-
constructor();
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* A skill name is staged more than once in a single run — the subject, a
|
|
57
|
-
* `--with` companion, and a `--with-optional` companion must all have distinct
|
|
58
|
-
* names. Both `--with` and `--with-optional` STAGE the named companion and make
|
|
59
|
-
* it invocable (issue #153: they differ only in required-vs-optional resolution,
|
|
60
|
-
* not in whether they are staged), so a colliding name would silently overwrite
|
|
61
|
-
* an earlier staged copy under the same slot — never an error, never a manifest
|
|
62
|
-
* trace — which makes a routing/deferral eval look correct while testing
|
|
63
|
-
* something else. Exit 2 (preflight class): user-correctable input, like a bad
|
|
64
|
-
* env token or missing security ack.
|
|
65
|
-
*/
|
|
66
|
-
export declare class DuplicateStagedSkillError extends Error {
|
|
67
|
-
readonly skillName: string;
|
|
68
|
-
readonly exitCode: 2;
|
|
69
|
-
constructor(skillName: string);
|
|
70
|
-
}
|
|
71
|
-
/** Internal harness failure (an executor/grader spawn error, watchdog timeout/stall, or a missing grader fragment). Exit 1. */
|
|
72
|
-
export declare class InternalHarnessError extends Error {
|
|
73
|
-
readonly exitCode: 1;
|
|
74
|
-
constructor(message: string);
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Map any thrown error to the process exit code. Errors that carry their own
|
|
78
|
-
* `exitCode` (Bootstrap/Auth/HarnessLocation/Internal) are authoritative;
|
|
79
|
-
* a PromptInvariantError is a defense-in-depth failure over VAT's OWN generated
|
|
80
|
-
* executor/grader prompts (a required safety directive missing from a prompt VAT
|
|
81
|
-
* built) — surfaced as a user-visible preflight-class problem → 2; a BuildHookError
|
|
82
|
-
* is a pre-stage build failure → 2; a SkillBuildError is a declared-skill build
|
|
83
|
-
* failure → 2; a SecurityAckError is a missing security ack before a build → 2;
|
|
84
|
-
* an UnknownEnvTokenError is a bad ${token} in a
|
|
85
|
-
* declared env value → 2; a DuplicateStagedSkillError is a staged-name collision
|
|
86
|
-
* across subject/--with/--with-optional → 2; GradingSkewError (aggregate grading.json shape skew),
|
|
87
|
-
* EvalFragmentError (per-eval grader fragment parse failure), and
|
|
88
|
-
* GradingNonceError (forged/mismatched per-fragment grader nonce) are all → 1;
|
|
89
|
-
* everything unknown → 1.
|
|
90
|
-
*
|
|
91
|
-
* Note: SkillTestExitCode.EvalFailure (4) is NOT produced here — it is an
|
|
92
|
-
* outcome of a completed run (an eval failed, the fail-closed default unless
|
|
93
|
-
* `--allow-eval-failure`), not a thrown error, so the harness returns it
|
|
94
|
-
* directly (see verdictExitCode).
|
|
95
|
-
*/
|
|
96
|
-
export declare function mapErrorToExitCode(err: unknown): number;
|
|
97
|
-
//# sourceMappingURL=exit-codes.d.ts.map
|