Commit graph

21999 commits

Author SHA1 Message Date
Peter Steinberger
27aedcfd56
style: format repository 2026-04-26 05:47:12 +01:00
Peter Steinberger
6a67f65568
fix(voice): reuse preflight transcripts across channels 2026-04-26 05:42:04 +01:00
Peter Steinberger
9b93b7df62
fix(whatsapp): remove ack reactions after replies 2026-04-26 05:36:14 +01:00
Peter Steinberger
427e485f76
fix(update): verify restarted gateway version 2026-04-26 05:35:45 +01:00
Peter Steinberger
6893e8f5f4
test(gateway): stabilize agent wait lifecycle test 2026-04-26 05:34:33 +01:00
Peter Steinberger
5f2273e81e
fix(gateway): unify chat display projection 2026-04-26 05:33:58 +01:00
Neerav Makwana
dc9ce2a1bf
fix: honor agent for models auth writes (#71933)
Honor the parent `models auth --agent <id>` flag across auth write commands: `add`, `login`, `setup-token`, `paste-token`, and `login-github-copilot`.

The auth helpers now resolve the requested configured agent before choosing the auth-profile store and provider workspace, while preserving default-agent behavior when `--agent` is omitted.

Validation:
- `pnpm test src/cli/models-cli.test.ts src/commands/models/auth.test.ts`
- `pnpm test src/commands/models/auth.test.ts`
- `pnpm docs:check-mdx`
- `pnpm check:changed`
- `pnpm check`
- `pnpm build`
- `pnpm test src/cli/run-main.test.ts`

Full `pnpm test` was also run; it failed in unrelated `src/cli/run-main.test.ts` assertions during the full-suite order, while the exact file passes on both latest main and this branch. The PR diff only touches models auth CLI/auth files, docs, and changelog.

Fixes #71864.

Thanks @neeravmakwana.
2026-04-26 05:30:47 +01:00
Vincent Koc
1252da325f
fix(tests): remove duplicate config mock key 2026-04-25 21:27:39 -07:00
Peter Steinberger
ae45eebef1
fix: route remote mac browser through node host 2026-04-26 05:25:59 +01:00
Alvin Tang
4428661779
fix(config): accept video and audio model inputs
Preserve configured audio/video model input modalities through provider catalog normalization.\n\nFixes #20721.\nThanks @alvinttang.
2026-04-26 05:18:54 +01:00
Peter Steinberger
f1eef47839
fix(agents): treat empty group replies as silent 2026-04-26 05:17:02 +01:00
Shakker
89f368e2f9
test: exercise unsafe provider index keys 2026-04-26 05:14:51 +01:00
Shakker
e827778129
fix: keep provider index previews authoritative 2026-04-26 05:14:51 +01:00
Shakker
911172e1e6
fix: avoid provider index preview row spread 2026-04-26 05:14:51 +01:00
Shakker
96ac51d23d
feat: add model catalog provider index contract 2026-04-26 05:14:51 +01:00
Peter Steinberger
ac0fa474f8
fix(gateway): tolerate void agent command results 2026-04-26 05:14:36 +01:00
Eulices
008e4ca81f
fix: add placeholder transcript for silent voice notes (#49131)
* fix: add placeholder transcript for silent voice notes

* fix: handle placeholder transcripts per skipped attachment

* fix: preserve synthetic transcript attachment order

* fix: scope synthetic audio merge to audio slice only, preserve cross-capability and prefer ordering

Replace the global outputs.sort() with a targeted merge that:
1. Only sorts within the audio output slice (real + synthetic),
   preserving CAPABILITY_ORDER and per-capability attachments.prefer
   ordering for non-audio outputs.
2. Excludes synthetic placeholder indexes from audioAttachmentIndexes
   used by extractFileBlocks, so tiny audio-MIME files with text
   extensions can still be recovered via forcedTextMime.

Adds mergeAudioOutputsPreservingAttachmentOrder helper.

* fix: remove unused function and use toSorted() for oxlint compliance

* fix(media-understanding): preserve selected audio order for synthetic placeholders

- merge synthetic skipped-audio placeholders using audio decision order
  instead of raw attachmentIndex sorting, preserving attachments.prefer
- insert synthetic-only audio outputs at the audio capability slot
  (before video) when no real audio outputs were produced

* fix(media-understanding): use neutral too-small placeholder text

Clarify that this synthetic transcript path is triggered by attachment size,
not by a silence/no-speech detection result.

* test(media-understanding): update too-small audio placeholder expectations

* test(media-understanding): cover mixed too-small audio placeholder

* test(media-understanding): cover too-small audio context

* fix(tasks): preserve visible task title before internal context

* Revert "fix(tasks): preserve visible task title before internal context"

This reverts commit dc536fb4d3c8a01168de5d05e8562193dd68a88e.

---------

Co-authored-by: Eulices Lopez <eulices@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-04-26 05:14:01 +01:00
Ayaan Zaidi
cc2044633c fix(tts): compose personas with agent config 2026-04-26 09:42:38 +05:30
Barron Roth
9975de89d1 test: fix PR CI shards 2026-04-26 09:42:38 +05:30
Barron Roth
f7c837b374 TTS: remove persona rewrite placeholder 2026-04-26 09:42:38 +05:30
Barron Roth
0594fa3c4d TTS: add provider personas 2026-04-26 09:42:38 +05:30
Peter Steinberger
80219ed1b3
fix(channels): tolerate sparse channel metadata during validation 2026-04-26 05:06:52 +01:00
likewen-tech
86328585fa
fix(tasks): terminalize gateway agent run ledger
Terminalize Gateway-backed async task records from the run result while preserving aborted, failed, cancelled, and lost outcomes.\n\nThanks @likewen-tech.
2026-04-26 05:06:33 +01:00
Ayaan Zaidi
f9c8a5107c fix(cli): cap fresh session reseed size 2026-04-26 09:34:24 +05:30
Ayaan Zaidi
8559a84e4e fix(cli): bound fresh session reseed 2026-04-26 09:34:24 +05:30
Ayaan Zaidi
12e4841d96 fix(cli): preserve prompt hooks in history reseed 2026-04-26 09:34:24 +05:30
Ayaan Zaidi
3eff589ac0 test(cli): cover transcript compaction reseed 2026-04-26 09:34:24 +05:30
Ayaan Zaidi
dfd5940c34 fix(cli): compact persisted CLI transcripts 2026-04-26 09:34:24 +05:30
Peter Steinberger
9ed11d6c49
fix: steer agents to safe gateway config flow 2026-04-26 05:00:17 +01:00
Vincent Koc
44da034516
fix(otel): add agent label to token metrics 2026-04-25 20:57:47 -07:00
Shakker
d251932fcf
refactor: keep manifest contracts on plugin index 2026-04-26 04:55:12 +01:00
Vincent Koc
948c32dd33
fix(channels): lazy-load setup fallback runtime 2026-04-25 20:53:44 -07:00
Ayaan Zaidi
76dc66f5fa fix(models): use synthetic auth expiry for status 2026-04-26 09:21:06 +05:30
Neerav Makwana
ad27e0069d fix(models): avoid externalizing Claude CLI auth 2026-04-26 09:21:06 +05:30
Neerav Makwana
911fcb47f1 fix(models): reflect Claude CLI auth status 2026-04-26 09:21:06 +05:30
Peter Steinberger
38e61e0046
test(plugins): drop duplicate bundle command mock 2026-04-26 04:46:05 +01:00
Peter Steinberger
540c70d166
fix(plugins): ignore bundled load path aliases 2026-04-26 04:46:05 +01:00
Shakker
0f27f2b351
feat: use indexed manifests for static model catalog rows 2026-04-26 04:41:51 +01:00
Shakker
35171f4e47
feat: use manifest catalog rows for provider list fast path 2026-04-26 04:41:51 +01:00
Shakker
82a529aaaf
feat: carry manifest catalog discovery mode 2026-04-26 04:41:51 +01:00
Peter Steinberger
0ca9c4dcb0
fix(cli): preserve lazy placeholder options 2026-04-26 04:40:26 +01:00
Peter Steinberger
e74f2e1501
test: remove duplicate plugin enable mock 2026-04-26 04:39:54 +01:00
Shakker
2d68fda31f
fix: defer onboarding install record commits 2026-04-26 04:39:12 +01:00
Shakker
34bd66d929
fix: keep read-only channels off setup runtime 2026-04-26 04:39:12 +01:00
Shakker
2e7635f4f9
fix: scope web provider ownership to plugin index 2026-04-26 04:39:12 +01:00
Peter Steinberger
6336ed4166
fix: gate codex acp route hints 2026-04-26 04:36:26 +01:00
Peter Steinberger
844d2bd515
test: mock browser cleanup in heartbeat session tests 2026-04-26 04:33:37 +01:00
Colin Johnson
21082d2ede
fix(plugins): verify bundled runtime deps installs
Verify bundled runtime dependency installs before reporting success, so a clean npm exit cannot hide packages missing from the managed runtime-deps root.

Also updates the bundle command test mock for the current plugin enable-state API.

Local proof:
- `pnpm test src/plugins/bundle-commands.test.ts`
- `pnpm test src/plugins/bundled-runtime-deps.test.ts src/commands/doctor-bundled-plugin-runtime-deps.test.ts src/plugins/loader.test.ts`
- `pnpm check:changed`

Co-authored-by: Colin <colin@solvely.net>
2026-04-26 04:32:33 +01:00
Peter Steinberger
96d90091c4
test: align task title sanitization expectation 2026-04-26 04:30:13 +01:00
Peter Steinberger
2c8c79de5c
fix(tts): normalize streamed tts voice media 2026-04-26 04:28:19 +01:00