953f016549
Add cross-cloud compute-provider migration to the CLI, closing the gap
where the canvas can migrate a workspace's compute box across clouds
(AWS <-> Hetzner <-> GCP) but the CLI could not (molecule-mcp-server#64).
- 'molecule workspace migrate-provider <id> --to <p> [--from <p>] --confirm'
POSTs to the CP-admin POST /api/v1/admin/workspaces/:id/migrate-provider
endpoint via cpAdminClient() (CP-admin bearer + MOLECULE_CP_URL — the
tenant Org API Key has no standing on the control plane). Validates the
provider enum + from!=to client-side, requires --from-instance-id for
non-AWS sources, and refuses without --confirm (a real migration mutates
two clouds — never auto-confirmed).
- 'molecule workspace migration-status <id>' GETs the same path and prints
the {migration:{state,from_provider,to_provider,detail,...}, terminal}
record.
New client methods MigrateProvider / GetMigrationStatus + MigrateProviderRequest
mirror the existing CP-admin org methods. Tests cover the URL/method/body/auth
(client httptest capture) and the provider validation helper.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>