Commit Graph

350 Commits

Author SHA1 Message Date
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
kshitij 1d3242ac72 chore: map universeszym@mail.ustc.edu.cn to Johnny-xuan 2026-08-03 11:02:47 +05:30
kshitij 07dd2f8fc9 chore: AUTHOR_MAP kshitij@k4poor.dev -> kshitijk4poor 2026-08-03 10:48:49 +05:30
Teknium dd600d1ace fix(discord): suppress link embeds in tool preview markdown links
Wrap the masked-link destination in angle brackets so Discord does not
unfurl an OG-preview embed under every tool progress bubble. quote()
percent-encodes any <> inside the URL itself, so the wrapper cannot be
broken out of.
2026-08-02 21:48:06 -07:00
kshitij 21040c4ab6
Merge pull request #77339 from kshitijk4poor/chore-dblank-email
chore: add contributor email mapping for danielblankhh
2026-08-03 10:04:45 +05:30
kshitijk4poor 45d3416d82 chore: add contributor email mapping for danielblankhh 2026-08-03 10:04:35 +05:30
kshitij 8f61e61991
chore: add contributor email mapping for LFDMcore (core@lfdm.co) (#77331) 2026-08-03 09:55:44 +05:30
kshitij af6efdcd15 chore: contributor email mappings for egilewski and myk0la-b 2026-08-03 09:39:00 +05:30
Teknium 8d755d0748 chore: contributor email mappings from open attribution PRs
Consolidates the surviving mappings from PRs #53509 (@xqdwww),
#29876 (@mihalyschroth), and #32842 (@vizicist, for @waefrebeorn's
bounty account) into contributors/emails/ files — the frozen
AUTHOR_MAP in release.py is not edited (the reason those PRs
couldn't merge as-is). Entries from those PRs already present on
main are skipped. All bare-noreply logins verified via the GitHub
users API.

Salvaged from @xqdwww (#53509), @mihalyschroth (#29876),
@vizicist (#32842).
2026-08-02 16:18:25 -07:00
Teknium 038c1ad872 docs(gateway): precise watchdog scope, explicit import-resets-activity contract (review S4)
- Config docs now describe session_stall_timeout precisely: a RECOVERY
  notifier for an in-process AIAgent with an adapter-queued follow-up —
  not a general gateway/session stall detector — with a per-AIAgent scan
  cadence (not globally coordinated per durable session).
- import_sessions documents the deliberate export-includes /
  import-resets asymmetry for the activity fields (no resurrected
  'working' labels on machines where no agent runs), with a regression
  pinning both halves.
- Strip trailing whitespace in contributors/emails/fangliquan@qq.com
  (git diff --check housekeeping).

PR #76354 review, scope/contract items + housekeeping.
2026-08-02 16:16:36 -07:00
fangliquanflq f3c9d4c610 chore(contributors): map fangliquan@qq.com to fangliquanflq 2026-08-02 16:16:36 -07:00
Teknium 75a8d4a597 chore: map nicholas.mariani@hotmail.it -> null-runner 2026-08-02 15:11:37 -07:00
Teknium 660237026b chore: map bennybuoy noreply email for a2a salvage attribution 2026-08-02 15:10:15 -07:00
Teknium 9158b4b60b chore: map contributor email for @Guoen0 2026-08-02 15:08:45 -07:00
kshitij c83ddd6a51 chore: AUTHOR_MAP for amoreno16003 2026-08-03 00:32:17 +05:30