- Credential callback wired through clone, fetch, and async ls-remote.
Token source: SPOREL_GITEA_TOKEN env at lib-init, overridable
per-process via the new set_token(t) Lua binding (engine.config
"gitea_token" reaches it through the launcher).
- Async ls-remote take_result now emits a kind field on failure:
"auth-required", "not-found", "network", or "other". Consumers can
classify update-check failures (e.g. distinguish a private repo
needing creds from a repo that doesn't exist at all from a flaky
network).
- DLL rebuilt with the new code; manifest bumped to 0.2.0.
Initial release. Statically vendors libgit2 v1.7.2 (HTTPS-only via
WinHTTP on Windows, no SSH dependency); exposes synchronous clone,
checkout, fetch, describe, has_ref, is_repo, tags plus an async
start_ls_remote_tags / is_done / take_result triple routed through
the engine async-pool.
The native-lib loader resolves engine services through the
sporel_engine_api struct passed to sporel_lib_init, so this lib does
not statically depend on internal engine symbols beyond the Lua C-API
re-exports.
Smoke-tested against a public Gitea repo: clone over HTTPS succeeds,
async ls-remote returns the tag list, all C-allocations clean up via
git_*_free / git_buf_dispose. First clean build of libgit2 takes
~5-15 min on a typical machine; cached afterwards.