Commit Graph

1103 Commits

Author SHA1 Message Date
teknium1
29c98eecc6 refactor(gateway): one call shape for the re-stamp seam
`_profile_name_for_source` already accepts `adapter_profile=None`, so the
branch in `_stamp_routed_profile` was two spellings of the same call.
Collapse it and give the two test doubles that replace the method the
same keyword so they keep matching the production signature.

Salvage follow-up to #106019.
2026-09-18 22:36:24 -07:00
kshitijk4poor
956dadf0ad chore: map DoGMaTiiC's contributor email for the #114136 salvage 2026-09-19 10:41:08 +05:30
teknium1
03fee43ca3 chore: map contributor email for @Caelier (#100423 salvage) 2026-09-18 20:57:07 -07:00
teknium
1f3cb8bee1 chore: map contributor email for @TheStreamCode 2026-09-18 19:30:08 -07:00
teknium1
1baae3132a chore: map contributor email for @Shotflame 2026-09-18 19:18:57 -07:00
teknium1
de633bfb32 chore: map contributor email for @jonameijers 2026-09-18 19:18:23 -07:00
teknium
b73a290de4 chore: map contributor email for @eloktev 2026-09-18 18:09:26 -07:00
drkpxl
aac41a3d3d chore: map contributor email 2026-09-18 18:07:41 -07:00
teknium
60fd4e8723 chore: map contributor email for @Zoeille 2026-09-18 17:55:00 -07:00
teknium1
418a19cfc7 chore(contributors): map yagnavudathu@gmail.com to @whyyagswhy 2026-09-18 15:15:02 -07:00
kshitijk4poor
c0f3d1fedf chore: map contributor email for @TheBlueHouse75 (#108239 salvage) 2026-09-19 03:30:32 +05:30
kshitijk4poor
2bfb95b396 chore: map amitcse, eduardo and jinlingzi-cmd contributor emails 2026-09-19 03:15:40 +05:30
teknium
c0dcb13f7a chore: map contributor email for @NealZhouPanda
So check-attribution passes on the catalog PR.
2026-09-18 14:34:40 -07:00
teknium
2d667fbf78 chore: map contributor email for @anotherchu
So check-attribution passes on the catalog PR.
2026-09-18 14:30:35 -07:00
teknium
03c9fc892f chore: map contributor email for @iamlukethedev
So check-attribution passes on the catalog PR.
2026-09-18 14:28:16 -07:00
teknium
1acb8559e6 chore: map contributor email for @Charlesmpc
So check-attribution passes on the catalog PR.
2026-09-18 14:27:27 -07:00
teknium
d9b43a7ac6 chore: map contributor email for @ricki-io
So check-attribution passes on the catalog PR.
2026-09-18 14:26:00 -07:00
teknium
1918700064 chore: map contributor email for @quangphucqp
So check-attribution passes on the catalog PR.
2026-09-18 14:25:21 -07:00
teknium
745668c46e chore: map contributor email for @emadalsaba
So check-attribution passes on the catalog PR.
2026-09-18 14:24:39 -07:00
teknium
93f108e49e chore: map contributor email for @Felixkw12
So check-attribution passes on the catalog PR.
2026-09-18 14:23:55 -07:00
teknium
0b17162fa3 chore: map contributor email for @drichar
So check-attribution passes on the catalog PR.
2026-09-18 14:23:13 -07:00
teknium
c1e9dce8b1 chore: map contributor email for @googio
So check-attribution passes on the catalog PR.
2026-09-18 14:21:50 -07:00
teknium
21e44431cc chore: map contributor email for @sxuff
So check-attribution passes on the catalog PR.
2026-09-18 14:20:28 -07:00
teknium1
daefa066fd chore: map contributor emails for org-fork catalog PRs
prismhq, youdotcom-oss, superagents-lab and JetBrains forks deny maintainer
pushes, so check-attribution for #112375 #113715 #113739 #114202 needs the
mapping on main.
2026-09-18 14:20:15 -07:00
teknium
e9d00156f9 chore: map contributor email for @ourines
So check-attribution passes on the catalog PR.
2026-09-18 14:19:45 -07:00
kshitijk4poor
6520b9a1ed chore: map contributor email for @eliasburlison (#92060 salvage) 2026-09-19 02:06:55 +05:30
kshitijk4poor
b9c2660ca4 chore: credit jkobject as first submitter of the Codex TTFB cap fix
#69228 (2026-07-22) made HERMES_CODEX_TTFB_MAX_SECONDS opt-in a month before
#91635, with the identical one-line change that landed via #115291
(b1968795b2). The salvage sweep searched by issue number only and missed it;
this records the authorship the merge should have carried.

Co-authored-by: Jérémie Kalfon <jkobject@gmail.com>
2026-09-19 01:48:30 +05:30
kshitijk4poor
fe89acdeba chore: map gauravsaxena1997 contributor email for the #48865 salvage 2026-09-19 01:44:10 +05:30
kshitijk4poor
8e8fd7415c chore: map contributor email for @dasgltd (#91655 salvage) 2026-09-19 01:43:37 +05:30
kshitijk4poor
3176c2ef68 chore: map kiwiwyl contributor email (salvage #81490) 2026-09-19 01:43:14 +05:30
kshitijk4poor
6952af5843 chore: map worlldz contributor email (salvage #87810) 2026-09-19 01:42:52 +05:30
kshitijk4poor
8a2186ffec chore: map c0debyeric contributor email for the #107472 salvage 2026-09-19 01:35:23 +05:30
teknium1
250e12e760 fix(config): provider switch via config set drops the previous provider's route (#113719)
`hermes config set model.provider X` re-points the `model:` block at a new
provider but left `model.base_url` / `model.api_mode` from the previous
route in place. The runtime honours a persisted api_mode/base_url for
whatever provider the block names, so X's key was posted to the old
endpoint (e.g. https://chatgpt.com/backend-api/codex + codex_responses)
and every request 401'd with `api_key_not_supported` blaming X.

Reshapes the salvaged clearing from #40869 (which popped base_url on every
provider write) into route-aware syncing, mirroring what a persisted
`/model` switch writes (`model_selection_config_updates`):

- `hermes_cli/route_identity.py::provider_owns_route` decides whose endpoint
  a base_url is: the target's registry/plugin host, a `providers:` /
  `custom_providers:` entry resolving to the target, or bare custom/local
  aliases (configured BY base_url) -> owned; another known provider's host
  or a named entry with a different endpoint -> foreign; unknown host -> None.
- `drop_stale_model_route` pops base_url + api_mode when foreign (api_mode
  alone, with no base_url, is old-route wire state and goes too); keeps an
  owned route with its api_mode; keeps an unknown host.
- `set_config_value` runs it only when model.provider actually changes,
  prints what was cleared and why, or warns that an unrecognised base_url
  still applies (the warn-only shape of #113725).
- Same provider re-set, `model.default`, a target that owns the URL
  (openai-codex + chatgpt.com), a custom entry with that URL, and bare
  `custom` are untouched.

Tests trimmed to two invariants (clear matrix / keep matrix) in
tests/hermes_cli/test_set_config_value.py; docs in cli-commands.md.

Co-authored-by: Yagna Vudathu <yagnavudathu@gmail.com>
Co-authored-by: Tim Richardson <tim@growthpath.com.au>
2026-09-18 12:49:40 -07:00
teknium1
b5298c387c chore: map contributor email for Ivyleaguelawyer
Attribution mapping for the salvaged #93095 commit.
2026-09-18 12:47:49 -07:00
kshitijk4poor
584dab2760 chore: map jwilson411 contributor email for the #104339 tests 2026-09-19 01:05:09 +05:30
kshitijk4poor
a5ca3a4284 chore(contributors): map fluxkapacitor for the #95833 salvage 2026-09-19 00:59:32 +05:30
kshitijk4poor
82f23d4c34 chore(contributors): map Danielmuzology for the #81957 salvage 2026-09-19 00:58:59 +05:30
kshitijk4poor
c2c5e9b273 chore(contributors): map Tranquil-Flow's noreply email (#107045) 2026-09-19 00:55:05 +05:30
kshitijk4poor
f09243ce36 chore(contributors): map yaozhen's commit email (salvage #95975) 2026-09-19 00:33:58 +05:30
kshitijk4poor
74c823404d chore: map contributor email for Diaspar4u 2026-09-19 00:24:50 +05:30
liuhao1024
a0562d17d8 fix(auth): missing-credential hints name the real env var or the OAuth login (#114405, #78996)
Both the auxiliary ladder (agent/auxiliary_client.py::_resolve_call_client) and main-agent
init (agent/agent_init.py::_routed_client_kwargs) told users to "Set the
<PROVIDER_ID>_API_KEY environment variable" when an explicit provider had no credentials.
Deriving the name from the id invents variables nothing reads: MINIMAX-OAUTH_API_KEY for
`minimax-oauth` (not even a valid shell name), ALIBABA_API_KEY where the registry reads
DASHSCOPE_API_KEY. agent_init already consulted PROVIDER_REGISTRY but fell back to the
invented name for OAuth providers, whose api_key_env_vars is deliberately empty.

One helper, agent/auxiliary_unavailable.py::missing_provider_credentials_message, now
builds the sentence for both surfaces from the registry: the first registered env var for
API-key providers, `hermes auth add <provider>` for OAuth providers, and only "switch
provider" for registry rows with neither (bedrock, vertex, external-process). The
compression permanent-failure classifier learns the new "no credentials were found" phrase
so an OAuth aux provider without a login still stops the retry loop.

Salvages #89517 (@liuhao1024, aux surface, earliest for #114405) and #79007 (@TUARAN,
main-init surface, #78996); supersedes #114410, #114430, #114582, #90222, #90281, #89541.

Co-authored-by: CodeMiner-掘金安东尼 <729922845@qq.com>
Co-authored-by: Chukuwebuka-2003 <ebulamicheal@gmail.com>
Co-authored-by: Mohamad Kanso <91088196+MohamadKanso@users.noreply.github.com>
Co-authored-by: rocks737 <234251857+rocks737@users.noreply.github.com>
2026-09-18 11:11:44 -07:00
teknium1
08ea0cc3fc chore(contributors): map xiajiahang@weyland-x.com to @xiajiahang 2026-09-18 10:54:46 -07:00
teknium1
63916134e9 chore: map varora1406@gmail.com to @vaibhavarora14
Attribution mapping for the salvaged #114251 commit.
2026-09-18 10:47:00 -07:00
teknium1
3f43764b63 chore: map contributor email for @BigKelLearns 2026-09-18 10:38:41 -07:00
teknium1
975a2759ee chore(contributors): map hteo1337@gmail.com -> @hteo1337 2026-09-18 10:33:54 -07:00
teknium1
9a01dfc633 fix(contributors): map kendrick.kester@gmail.com to kendrickkester
Co-authored-by on cbc0f785ab4d had no contributors/emails/ entry.
2026-09-18 10:33:21 -07:00
teknium1
92de3fe92d chore(contributors): map iamontheinternet@yahoo.com -> @MrSimonC 2026-09-18 10:30:57 -07:00
teknium1
69a2f6f457 chore: map contributor email for hassanhaidry 2026-09-18 10:15:43 -07:00
teknium1
22ead777e5 fix: map lofibrainwav contributor email 2026-09-18 10:11:46 -07:00
teknium1
607223ab07 chore(contributors): map omidzaferi@gmail.com to @omid-io 2026-09-18 10:10:40 -07:00