tatara-lisp-source 0.2.1

Source-URL resolver for tatara-lisp scripts. Parses Nix-flake-style URLs (github:owner/repo/path?ref=tag, gitlab:..., codeberg:..., file://, https://#blake3=...) and fetches their bytes with content-addressed BLAKE3 caching.
Documentation

tatara-lisp-source — resolve a Nix-flake-style URL into bytes.

Implements theory/WASM-PACKAGING.md §II: a tatara-script user can pass any of the following as the script path argument, and the resolver fetches the bytes + computes a BLAKE3 content hash for caching:

./local/path.tlisp
github:owner/repo/path/to/program.tlisp
github:owner/repo/path/to/program.tlisp?ref=v0.1.0
github:owner/repo/path/to/program.tlisp?ref=abc123
gitlab:owner/repo/path.tlisp?ref=main
codeberg:owner/repo/path.tlisp
https://example.com/program.tlisp#blake3=abc123…

The wasm-operator (cluster-side) and tatara-script (host-side) use this crate identically — same code, different deployment.

Caching

Every fetch returns a [Resolved] with the bytes and a BLAKE3 hash. Callers store the bytes keyed by the hash; subsequent resolves of the same URL find the cache by hash and skip the network.

When a URL has #blake3=<hash> (per Nix's content-pin convention), the resolver verifies the fetched bytes match before returning.