Expand description
Dependency resolution pipeline: Lock → LLM → Whitelist.
Three-layer resolution for skill dependencies extracted from the compatibility
field in SKILL.md:
① Lock file (.skilllite.lock) — fast cache hit (sync)
② LLM inference — call LLM to extract package names, verify via PyPI/npm (async)
③ Whitelist matching — tokenize compatibility string, match against known packages (sync)
After resolution, packages can optionally be validated against the whitelist
(--allow-unknown-packages bypasses this check).
Ported from Python core/dependency_resolver.py.
Three-layer resolution for skill dependencies. Used by skilllite init when
.skilllite.lock is missing or stale.
Structs§
- Resolved
Dependencies - Result of the dependency resolution pipeline.
Enums§
- Resolver
Kind - Which resolver layer produced the result.
Functions§
- resolve_
from_ lock - Read
.skilllite.lockand return cached packages if fresh. - resolve_
from_ whitelist - Extract packages from compatibility string by matching against the embedded whitelist.
- resolve_
packages_ sync - Synchronous resolution: Lock → Whitelist (no LLM).
- validate_
against_ whitelist - Validate resolved packages against the whitelist. Returns list of unknown packages (not in whitelist).
- write_
lock - Write a fresh
.skilllite.lock.