feat(operator): VM marketplace — Phase A registry + Phase B trading
Phase A: host-global VM registry (~/.hh/registry.json) joining opaque snapshots to their .hh-agent manifests. New src/registry.rs (serde_json), one Entry per saved VM with cached purpose/status/todo scraped from the live container at save time. Reconcile-on-read self-evicts pruned images. /sbx browse TUI lister + operator-side `registry list|show` reader. Phase B: trading/skill VMs. Entry gains shareable/tags/share_path + publish/get/list_shareable helpers. New TUI verbs /sbx publish <label> [tag...], /sbx catalog @user, /sbx pull @user <label>. Wire protocol adds _sbx:catreq/catalog/pullreq frames (parse_sbx). Receiver auto-loads a received hh-snap-*.tar, reads the in-image manifest, and self-registers (kept shareable for re-trade). Reuses the existing E2E /send + ft.rs streaming transport. podman gotcha fixed: `podman load` prints registry-qualified `localhost/hh-snap:<label>` vs docker's bare tag — parse_loaded_tag now finds the hh-snap: marker anywhere in the line (unit-tested both shapes). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -9,6 +9,7 @@ mod crypto;
|
||||
mod ft;
|
||||
mod layout;
|
||||
mod net;
|
||||
mod registry;
|
||||
mod sbx;
|
||||
mod theme;
|
||||
mod ui;
|
||||
|
||||
Reference in New Issue
Block a user