miden-package-registry 0.22.3

Package registry interfaces and dependency resolution for Miden packages
Documentation
# miden-package-registry

Shared package registry interfaces, metadata types, and dependency resolution for Miden packages.

This crate provides:

- `PackageRegistry`, the read-oriented trait used by package resolution and project dependency graph construction
- `PackageResolver`, a PubGrub-backed resolver generic over any `PackageRegistry`
- `InMemoryPackageRegistry`, a simple `BTreeMap`-backed implementation for tests and embedding
- shared metadata types such as `PackageId`, `Version`, `VersionRequirement`, and `PackageRecord`

Version resolution currently follows these rules:

- each package semantic version maps to at most one canonical published artifact in the registry
- semantic version requirements select the latest available matching canonical semantic version
- digest requirements match only the exact package digest
- exact `semver#digest` requirements match only that canonical published artifact
- indexed package dependencies are stored as exact resolved requirements from published artifacts

Artifact storage is intentionally out of scope for this crate. Concrete registries are expected to
pair the metadata/index implementation here with their own package storage strategy.

## License
This project is dual-licensed under the [MIT](http://opensource.org/licenses/MIT) and [Apache 2.0](https://opensource.org/license/apache-2-0) licenses.