33cab10cef
Syncs project memory, custom agents, and commands across machines. Excludes secrets (settings.json), session state, and runtime files. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1.2 KiB
1.2 KiB
name, description, metadata
| name | description | metadata | ||||||
|---|---|---|---|---|---|---|---|---|
| reference-workout-api | Workout-player API contract at 192.168.86.172:8091 — endpoints for videos, stats, routines, streaming |
|
Workout-player service runs at http://192.168.86.172:8091 on the homelab.
Endpoints (derived from prior mirror-os JS codebase):
GET /api/videos?folder=<path>— list videos, optional folder filter. Returns{videos: [...], folders: [...]}GET /api/stats— aggregate stats (total, completed, inProgress counts)GET /api/routines— list routines. Returns{routines: [...]}PATCH /api/videos— save progress. Body:{videoId, position, percent}GET /api/stream?path=<encoded_path>— stream video file directly
Video object fields: id, title, path, folder, duration, trimStart, trimEnd, lastPosition, percentCompleted, restSeconds
State machine for workout sessions: browse → playing → rest (between queue items) → complete
How to apply: When building the workout integration in Flutter, use these endpoints. The stream URL can be passed directly to media_kit/mpv for playback.