feat(mist): add muse mist CLI — Phase 2, all 7 subcommands
- New muse/cli/commands/mist.py with complete subcommand tree: create, list, read, fork, push, embed, delete - muse mist create: validates filename, computes mist_id, detects artifact type/language, extracts symbol anchors — no network needed without --push; submits to MuseHub POST /api/mists when --push - muse mist create --sign: Ed25519 signature via identity.toml - muse mist create --agent-id / --model-id: AI provenance fields - muse mist list: cursor-paginated GET /api/{handle}/mists with --type filter and --limit - muse mist read: full content + metadata; supports owner/ID form - muse mist fork: POST /api/mists/{id}/fork; reports fork_parent_id - muse mist push: delegates to existing push infrastructure; validates domain=mist before pushing - muse mist embed: iframe + JS snippet + Markdown badge; --width/--height - muse mist delete: DELETE with --yes flag; 403 → exit 5 - _validate_tag: rejects XSS, null bytes, HTML specials, control chars - _hub_api: authenticated JSON client (same pattern as hub.py) - Registered in muse/cli/app.py at correct alphabetical position (mist) - 89 tests covering Tiers 1, 2, 3, 5, 6, 7, 8 — all green - 161 total mist tests (Phases 1+2) all green
0 comments
muse hub commit comment sha256:d041bc2302482d577e3f8ea1ed1364b22cd08ccab7d4d6e1ee41acb0250e9da9 --body "your comment"
No comments yet. Be the first to start the discussion.