Commit Graph

364 Commits

Author SHA1 Message Date
Teknium cd9fbf9f19 test: convert NB2 catalog snapshot test to invariants; live-verified t2i+edit
Follow-up on the cherry-picked contribution from @michaelsam94 (#51794):
replace display-string/exact-value snapshot assertions with invariant
checks per the no-change-detector-tests policy. Live-tested
fal-ai/nano-banana-2 and fal-ai/nano-banana-2/edit through the real
payload builders: both pass.
2026-08-08 05:31:38 -07:00
kshitij 350f366a81
Merge pull request #81630 from kshitijk4poor/chore/author-map-wolftacdigital
chore: AUTHOR_MAP for WolftacDigital (PR #49945 salvage)
2026-08-08 14:52:21 +05:30
kshitij e3698fd8d3 chore: AUTHOR_MAP for WolftacDigital (PR #49945 salvage) 2026-08-08 14:49:17 +05:30
kshitij b3344502f8 chore: map Axmr1 email + update stale Go routing docstring
- Add contributors/emails/Axmr1@users.noreply.github.com for CI
  attribution check (bare noreply format needs explicit mapping)
- Update opencode-zen plugin docstring: Go routing now includes
  GPT → codex_responses and Qwen → anthropic_messages (was stale,
  only listed MiniMax and GLM/Kimi)
2026-08-08 14:47:11 +05:30
gnanirahulnutakki e6b168855b fix(gateway): keep auto vision preprocess concise
Replace the 'describe everything in thorough detail' auto image-preprocess
prompt with a concise 2-4 sentence summary prompt so image-bearing gateway
messages stop generating ~2000-char descriptions (35s+ on local models).

Prompt-only variant of #10852: the max_tokens=500 cap and the
preserve_max_tokens aux-client plumbing from the original PR are
intentionally dropped to stay compatible with the max-tokens-knob policy
direction (#75253 removes hardcoded vision caps).

Fixes #10809
2026-08-08 13:28:19 +05:30
kshitij 7307f88993 fix: follow-up for salvaged PR #18255
- Fix _usage_audit_path() to use _get_hermes_home() instead of hardcoded
  Path.home() / '.hermes' (profile-safe resolution, sweeper finding)
- Rewrite skip_background_review tests to exercise finalize_turn() directly
  instead of duplicating the guard expression (sweeper finding)
- Fix response_silent audit field to use _is_cron_silence_response()
  instead of the buggy SILENT_MARKER substring check it was meant to
  replace (simplify-code review finding)
- Remove dead 'model' in locals() guard — model is always in scope
  before the try block (simplify-code review finding)
- Extract _stub_agent_for_finalize() helper to eliminate ~40 lines of
  copy-pasted agent stubbing in tests (simplify-code review finding)
- Clean up 'Phase 0.5' instrumentation comments
2026-08-08 00:07:14 +05:30
bb 690dc87a88 chore: map contributor email 2026-08-07 12:57:48 -05:00
kshitij dfa0de92c5 chore: add contributor email mappings for dombejar + toprakeker
PR #80588 (gateway workload isolation + active-turn recovery) uses
bare noreply emails that need explicit mappings.
2026-08-07 18:28:35 +05:30
kshitij 69cf06a824 chore: map texasich commit email to GitHub login
Bare-noreply author email (no NNN+ prefix) on the PR #80376 salvage is not
auto-skipped by check-attribution; add the mapping file ahead of the salvage
PR.
2026-08-07 18:11:32 +05:30
kshitij 83902620c8 chore: map soheil.fakour@gmail.com -> thatssoheil for attribution 2026-08-07 16:57:59 +05:30
kshitij cd152d9daf chore: map ahmetsonersancak@anadolu.edu.tr -> 0xGr1mm for attribution 2026-08-07 16:57:11 +05:30
kshitij dacdae014d chore: map contributor cwt@users.noreply.github.com → Wintle 2026-08-07 14:30:57 +05:30
kshitij c4c2265f00 chore: map craig@shotflame.local -> Shotflame in contributor directory 2026-08-07 14:13:32 +05:30
kshitij 9d213918e4 chore: map rjhilgefort@gmail.com -> rjhilgefort in contributor directory 2026-08-07 06:55:27 +05:30
Teknium 01a1037d1e chore: map contributor email for rille111 2026-08-05 17:21:01 -07:00
kshitij 5c5f1a6b76 chore: AUTHOR_MAP for @dromai (PR #42700 salvage) 2026-08-06 05:20:56 +05:30
kshitij 9ea01979dc chore: map contributor email for @sylbae
Adds contributors/emails/sylbae@users.noreply.github.com -> sylbae so
check-attribution passes for the salvaged commit in this PR. Bare
user@users.noreply.github.com addresses are not auto-skipped by the CI check
(only the numeric NNN+user@ form is), so the mapping file is required.
2026-08-06 03:53:38 +05:30
Teknium d1f9e77755 chore: map justin@actual.computer to somewheresy for #26491 salvage 2026-08-05 14:08:32 -07:00
Brooklyn Nicholson 7c33b806a1 chore: fix import order, map contributor email
- perfectionist/sort-imports in store/wake-word.ts
- contributors/emails mapping for drew@kainotomic.com -> appletechie
2026-08-05 10:12:31 -06:00
kshitij 82c6acae6f chore: add contributor mapping for burak33bb 2026-08-05 13:00:47 +05:30
brooklyn! b3e45a3d46
Discord drops an empty outbound message instead of sending it (#78815)
* fix(discord): reject empty outbound messages

* test(discord): cover empty final reply backfill state

Missed-message backfill decides what to replay from discord_messages, so
a dropped final reply must be recorded as failed by the new guard the
same way the exception path records one — otherwise the reply is both
never sent and never retried.

Co-authored-by: Jony <619963502@qq.com>

* chore: map 619963502@qq.com to zyz619963502zyz for PR #73449 salvage

---------

Co-authored-by: Jony <619963502@qq.com>
2026-08-04 18:23:04 +00:00
Jeongseok Kang 2d70f56327
fix(agent): adopt .env credential/base-url edits at the turn boundary (#67843)
* fix(agent): adopt .env credential/base-url edits at the turn boundary

A Settings save (desktop PUT /api/env, hermes setup) updates .env and
the saving process's os.environ, but a live session worker keeps the
base_url/api_key captured at agent init until restart — an open chat
silently kept calling the old endpoint (e.g. a local-server key sent to
api.openai.com, failing with an opaque 401).

Add AIAgent._try_refresh_env_client_credentials(), called at the start
of each conversation turn: re-resolve the provider's env-sourced
credentials (load_env() is mtime-memoized, so an unchanged file costs
one stat()) and rebuild the client via the existing
_replace_primary_openai_client machinery when the user edited them.

The refresh reacts only to env edits — resolved values changed since
the last look — never to mere divergence from the agent's current
values: credential-pool rotation and failover legitimately move the
session off the env credential, and stomping those back would flap.
Config model.base_url / pool custom endpoints keep precedence: edits
are only adopted while the session still runs on the registry default
or the previously-seen env value.

Lift _get_env_prefer_dotenv out of _seed_from_env to module level
(get_env_prefer_dotenv) so both the pool seeder and the per-turn
refresh share the same .env-over-os.environ resolution, including the
op:// indirection handling.

Fixes #67821

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(agent): address sweeper review on env credential refresh

- Cover named custom providers (#67935): provider="custom" has no
  PROVIDER_REGISTRY entry, so resolve the config block's key_env through
  the same lookup the runtime resolver uses.
- Make the edit baseline transactional: a failed client rebuild rolls the
  agent back and leaves _env_creds_seen un-advanced so the unchanged edit
  is retried next turn.
- Recompute route-derived TLS material and default headers on a base-url
  change, via a _reapply_route_client_config helper shared with
  credential-pool rotation so the two paths cannot drift.
- Rebase onto main: get_env_prefer_dotenv keeps the scoped _get_secret
  semantics from the profile-isolation fix (no raw os.environ reads).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* chore: map jskang@lablup.com to rapsealk

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Brooklyn Nicholson <brooklyn.bb.nicholson@gmail.com>
2026-08-04 17:53:17 +00:00
kshitij e9a8b70fc4 chore: map jun@junho.co to junhohong 2026-08-04 14:43:10 +05:30
kshitijk4poor f66d625825 chore: add contributor email mapping for johnrazmus 2026-08-04 11:15:36 +05:30
kshitijk4poor f40d63d5db chore: add contributor email mapping for HAOWANG116 2026-08-03 23:42:33 +05:30
kshitijk4poor 164c3d60b2 chore: add contributor email mapping for zabih-sudo 2026-08-03 23:32:12 +05:30
kshitij f03eb252cb
Merge pull request #77867 from kshitijk4poor/chore-ahmett-email
chore: add contributor email mapping for Ahmett101
2026-08-03 22:35:45 +05:30
kshitijk4poor 376370691d chore: add contributor email mapping for Ahmett101 2026-08-03 22:35:34 +05:30
Teknium 3c27eb6234 chore: release v0.20.0 (2026.8.3)
The Herald Release — voice (streaming TTS, barge-in, wake words), A2A v1.0,
outbound webhooks, grounded citations, desktop platform wave. ~3,650 commits,
~1,400 PRs, ~1,200 issues closed, 650+ contributors since v0.19.0.

Also: contributor audit additions (18 email mappings, bot-filter widening).
2026-08-03 09:57:23 -07:00
kshitij d5584a32d8
Merge pull request #77821 from kshitijk4poor/chore-archer-email
chore: add contributor email mapping for ArcherQAQ
2026-08-03 21:07:58 +05:30
kshitijk4poor d48a78a293 chore: add contributor email mapping for ArcherQAQ 2026-08-03 21:07:47 +05:30
kshitij 26133b5341 chore: map cicav legacy noreply email 2026-08-03 20:40:27 +05:30
ehz0ah 8fb9c3b3e3 chore(contributors): map OpenViking source authors 2026-08-03 20:35:47 +05:30
kshitij f1133c9b65 chore: map bot@bkstock.dev to BKStock 2026-08-03 20:11:40 +05:30
kshitij dae5df22e1
chore(contributors): map marzukia@users.noreply.github.com -> marzukia (#77774)
Needed for the #37117 salvage (#77696 CI failure).
2026-08-03 20:03:22 +05:30
kshitij 8167b9f9dc chore: map copii.list@gmail.com to stremtec 2026-08-03 19:37:53 +05:30
kshitij cb11a7e255
chore(contributors): map two B3 salvage author emails (#77685)
abdulsalamalotaibi86@gmail.com -> carbongotfound (#74025); soundbrokaz@kakao.com -> JeremyDev87 (#72813).
2026-08-03 18:27:57 +05:30
kshitij 94fac067f7
chore(contributors): map vittoria3103.123@gmail.com -> VittoriaLanzo (#77665)
Needed for the #62082 curator toolset-pin salvage attribution.
2026-08-03 18:15:20 +05:30
kshitij f327c898e2
chore(contributors): map four B2 salvage author emails (#77641)
unixwzrd.register@mac.com -> unixwzrd (#74679); dai.suzuki.829@gmail.com -> hariNEzuMI928 (#75395); lexharddrive69@gmail.com -> hdd69 (#38470); coder@trevhome.local -> trevornk (#76282). Needed for the B2 desktop-renderer salvage attributions.
2026-08-03 17:47:42 +05:30
kshitij a762625a0c chore: map xaydinoktay@gmail.com to aydnOktay 2026-08-03 17:47:17 +05:30
kshitijk4poor 6cedec172b chore: add contributor email mapping for WojtekMR3 2026-08-03 17:30:05 +05:30
kshitij abe7f7833f
chore(contributors): map tbsonline@protonmail.com -> jasoisjaso (#77600)
Needed for the #59077 salvage (batch compression-tip row fetch) so
release attribution resolves the contributor's commits.
2026-08-03 16:58:25 +05:30
kshitij 5bbfe63ef5 chore: map rodboev and MaartenDMT contributor emails 2026-08-03 16:06:20 +05:30
kshitijk4poor 9c20f7f277 chore: add contributor email mapping for szzhoujiarui 2026-08-03 15:58:37 +05:30
kshitijk4poor 32686bb9c5 chore: add contributor email mapping for wangyunyou 2026-08-03 15:52:22 +05:30
kshitij 636d4e6435
Merge pull request #77515 from kshitijk4poor/chore-baau-email
chore: add contributor email mapping for baau
2026-08-03 14:21:15 +05:30
kshitijk4poor 815d2e2493 chore: add contributor email mapping for baau 2026-08-03 14:21:04 +05:30
kshitij 633bd354f9 refactor: dedup _convert_user_message to call _fix_blank_text_blocks_in_list
_convert_user_message hand-inlined the same blank-text-filter +
cache_control-relocation + placeholder-fallback logic that
_fix_blank_text_blocks_in_list (added in the cherry-picked commit)
implements as a reusable helper. Replace the inline copy with a call
to the helper, eliminating ~35 lines of duplication.

Follow-up fix on top of PR #77134 by @pooyan6.
2026-08-03 14:20:03 +05:30
kshitij 2f916679c3 chore: map vanshgilhotra8885@gmail.com to Vansh5632 2026-08-03 13:56:19 +05:30
kshitij d0dc1ad2a2 chore: map f1aggo_macair local email to flag0x369 2026-08-03 13:27:28 +05:30