feat(cloud): add `cloud sessions dashboard` to render uploaded sessions
Add `jcode cloud sessions dashboard`, which runs the Jade helper's
`list --json` and renders a self-contained local HTML index of uploaded
cloud sessions for quick browsing.
- New `CloudSessionsCommand::Dashboard` subcommand with `--limit` (default
100), `--output` (defaults to a timestamped file in the temp dir),
`--open`, and the shared `--user-id/--profile/--region/--helper` options.
- `fetch_cloud_session_list_json` invokes the helper with stdin nulled and
surfaces helper stderr on failure; `parse_cloud_session_list_json` accepts
the helper's top-level array and also tolerates `{items:[...]}` /
`{sessions:[...]}` object wrappers, with descriptive errors for other
shapes.
- `render_cloud_sessions_dashboard_html` HTML-escapes all fields, supports
numeric or string message counts, falls back title -> short_name ->
"(untitled)", and renders an empty-state row.
- Reuses persisted Jade config (api_base/token/user-id/helper) so no flags
are required once `configure` has run.
Tests: arg parsing, list-JSON parsing (array/object/error shapes),
renderer escaping and empty-state. Validated live against fake helpers
covering array output, object-wrapper output, default/explicit output
paths, and helper/JSON/missing-binary error paths. J
jeremy committed
5e39d13e32b6ab3da011f757ae6526c8c3b5bffa
Parent: 129ed57