Identifiers like node:tidal / node:playlist:<id> / track:<id> are replaced by absolute, hierarchical paths that encode the position in the library tree: / global root /tidal provider root /tidal/playlists/<id> playlist (tracks inside) /tidal/playlists/<id>/<track> track /tidal/artists/<id>/<album> album /tidal/artists/<id>/<album>/<t> track - proto: uuid -> path, uuids -> paths (same field tags, wire compatible); crabidy-core gains ROOT_PATH, parent_path, join_path, path_segments helpers with unit tests - ProviderClient gains is_track_path; the orchestrator routes by path prefix and exposes a single ResolveTracks command (track path -> that track, node path -> flattened subtree), replacing the track:-prefix sniffing in the playback loop - tidaldy parses paths into a typed TidalPath enum; node parents are derived from the request path, which removes the album.artist unwrap() panic; the network-dependent scratch test is #[ignore]d - TUI navigates by paths Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.lock | ||
| Cargo.toml | ||
| schema.graphql | ||