Files
hermes-agent/hermes_cli
Teknium 71704ffb49 refactor: move Spotify out of core into the spotify catalog plugin
The spotify toolset (plugins/spotify) and its loopback-PKCE login (hermes_cli/auth_spotify.py)
now live in NousResearch/hermes-spotify, installed from the plugin catalog. Same pattern as the
Home Assistant move (fb9fc8a3dd): a LEFT_CORE row installs the plugin for every home that was
using it (a Spotify login in auth.json, or the spotify toolset in platform_toolsets) on
`hermes update` / first start; the toolset name, tool names, schemas, env vars and stored login
(providers.spotify) are unchanged, so nobody re-authenticates.

The one user-visible change is the login command: plugins cannot extend `hermes auth`, so the
plugin registers `hermes spotify login|status|logout`. LeftCoreFeature gains a `cli` field and
moved_command_hint() turns `hermes auth [status|logout] spotify`, and `hermes spotify` while the
plugin is not loaded, into a line naming the new command and the install/enable step for this
home. The dashboard's "needs login" hint names the new command too.

Core drops the Spotify auth constants/dispatch, the CONFIGURABLE_TOOLSETS row and post-setup
step, the core `spotify` entries in the shared-metrics toolset enums, its tests, and the docs
(en + zh-Hans) now point at `hermes plugins install spotify` / `hermes spotify login`.
2026-10-08 19:00:45 -07:00
..
2026-10-08 19:54:07 +02:00
2026-10-08 21:29:48 +02:00
2026-10-08 19:28:23 +02:00
2026-10-08 21:29:48 +02:00
2026-10-08 21:29:48 +02:00
2026-10-08 19:54:07 +02:00
…
2026-10-08 21:29:48 +02:00
2026-10-08 21:29:48 +02:00
2026-10-08 21:29:48 +02:00
…
2026-10-08 19:54:07 +02:00
2026-10-08 19:54:07 +02:00
2026-10-08 19:28:23 +02:00
2026-10-08 21:29:48 +02:00
2026-10-08 21:29:48 +02:00
2026-10-08 19:54:07 +02:00
2026-10-08 18:56:50 -04:00
2026-10-08 21:29:48 +02:00
2026-10-08 21:29:48 +02:00
2026-10-08 19:28:23 +02:00
2026-10-08 18:58:42 +02:00
2026-10-08 21:29:48 +02:00
2026-10-08 21:29:48 +02:00
2026-10-08 19:54:07 +02:00
…
…
2026-10-08 21:35:58 +02:00
2026-10-08 21:29:48 +02:00
2026-10-08 21:29:48 +02:00