Skip to content

Releases

v0.6.4

Choose a tag to compare

@TheStreamCode TheStreamCode released this 12 Nov 21:24

0.6.4

Fixed

  • Credential resolution reads $HERMES_HOME/muse-code-sub.json through ProviderProfile.resolve_api_key_secret() instead of relying on the MUSE_CODE_SUB_TOKEN export, which only happens in the process that imports the plugin. Hermes reported "No usable credentials found for provider 'muse-code'" under plugins.isolation: host and in a gateway that started before the login, even with a valid cached key. An explicit MUSE_CODE_SUB_TOKEN that differs from the cache still wins.

Full changelog: https://github.com/TheStreamCode/hermes-muse-code/blob/main/CHANGELOG.md

v0.6.3

Choose a tag to compare

@TheStreamCode TheStreamCode released this 11 Nov 08:37

What changed

  • requires_hermes is now >= 0.23.0, matching the requirement in the Hermes plugin catalog. The provider hooks the plugin uses are unchanged and still exist in 0.22; only the declared floor moved, so a catalog install and a direct install now agree about the supported host.

No code change.

Update

hermes plugins update muse-code-subscription

then restart the gateway (hermes gateway restart --yes).

v0.6.2

Choose a tag to compare

@TheStreamCode TheStreamCode released this 10 Nov 09:33

What changed

  • Static fallback model list. fallback_models was a single id, so a process where the live catalog probe cannot run (for example a worker without a readable login cache) showed one model in the picker and could block Apply. The fallback now covers the chat ids a standard subscription exposes; Hermes merges it with the live results and deduplicates, so the same models appear either way. muse-wonder-full-1.0 (Power/Maximum tier) is deliberately absent. Contributed by @nordiskfamily in #15.
  • README. Documents the fallback and what selecting a *-contributor model implies: the lower quota is paid with training data, and background work inherits whichever model was picked.

Update

hermes plugins update muse-code-subscription

then restart the gateway (hermes gateway restart --yes).

v0.6.1

Choose a tag to compare

@TheStreamCode TheStreamCode released this 08 Nov 16:02

What changed

  • MuseCodeSubscriptionProfile.runtime_base_url() now returns the loopback adapter URL. Hermes resolves the runtime inference base URL through that hook, so without the override profile.base_url was never read: every subscription request went straight to api.meta.ai and Meta answered 403 client_attestation_denied even though the adapter was bound.
  • Regression tests cover the routed path and the fallback to the direct endpoint when the adapter cannot bind.

Update

hermes plugins update muse-code-subscription

then restart the gateway (hermes gateway restart --yes).

v0.6.0

Choose a tag to compare

@TheStreamCode TheStreamCode released this 30 Oct 17:48
b419754

What changed

  • Ported the loopback wire adapter to Hermes stdlib (muse_adapter.py, ADAPTER_CONTRACT.md v3). The adapter aliases the client tool names that collide with the 40-name Muse builtin catalog, restores them in streamed and JSON responses, repairs empty function-call arguments, and normalizes the Responses parameters.
  • The muse-code provider base URL now points at the adapter's /v1 origin; repeated imports and registrations reuse the same server, and a bind failure falls back to the direct endpoint with a warning.
  • If Meta still refuses the request, the adapter retries once with every tool aliased.
  • Documented the two deployment overrides that bypass the adapter: MUSE_CODE_SUB_TOKEN in the environment or .env, and model.base_url in config.yaml.
  • MUSE_CODE_ADAPTER=off keeps the proxy but disables the reshaping.

Update

hermes plugins update muse-code-subscription

then restart the gateway (hermes gateway restart --yes).

hermes-muse-code 0.5.0

Choose a tag to compare

@TheStreamCode TheStreamCode released this 30 Oct 14:58

0.5.0

Added

  • hermes auth add muse-code runs the Meta device login in the browser and stores the credential in the existing cache.

Fixed

  • Meta's client restriction (403) is classified as a provider policy block instead of a revoked credential, so the host no longer recommends re-authentication for it.
  • Login errors no longer echo endpoint response bodies.

Changed

  • The standalone login script remains available; the README documents the browser flow and the restriction.

hermes-muse-code 0.4.0

Choose a tag to compare

@TheStreamCode TheStreamCode released this 21 Oct 16:49
3fab0a4

Fixed

  • The subscription provider ignored META_BASE_URL and could be pointed at another host; the base URL is now pinned to the subscription endpoint.
  • MUSE_CODE_SUB_TOKEN is refreshed from the credential cache without overwriting an explicit value set in the environment.
  • Importing the plugin no longer exports the subscription key as a side effect.
  • Third-party plugins may not import private Hermes core modules: the Meta effort vocabulary and the clamp_effort contract are vendored locally (provenance: agent/reasoning_effort.py at Hermes v0.22.0) with identical behavior. hermes plugins validate is clean.

Changed

  • Requires Hermes Agent 0.22.0 or newer.
  • Added AUTH_CONTRACT.md, ruff configuration and regression tests; repository documentation and community files aligned with the shared standard.

See CHANGELOG.md.

v0.3.0: dynamic model discovery

Choose a tag to compare

@TheStreamCode TheStreamCode released this 14 Oct 16:36

Serve every model id returned by the live account catalog except the endpoint families verified as non-chat (sam-, muse-image-, muse-voice-*). New chat models appear with no plugin update. Supersedes #6.

v0.2.2

Choose a tag to compare

@TheStreamCode TheStreamCode released this 27 Sep 20:53
87821c2

Live discovery now admits only muse-spark-* (the endpoint also serves non-chat families such as sam-*).

v0.2.1

Choose a tag to compare

@TheStreamCode TheStreamCode released this 27 Sep 20:11
6f53358

Security hardening: the credential cache no longer persists the Meta OAuth access token (apiKey/accountId/email only). Re-run muse_code_login.py once to refresh pre-0.2.1 caches.