Commit graph

2097 commits

Author SHA1 Message Date
Vincent Koc
b742909dca
fix(agents): prefer cron for deferred follow-ups (#60811)
* fix(agents): prefer cron for deferred follow-ups

* fix(agents): gate cron scheduling guidance

* fix(changelog): add scheduling guidance note

* fix(agents): restore exec approval agent hint
2026-04-04 21:11:27 +09:00
Stuart Sy
3f457cabf7
fix(status): hydrate cache usage in transcript fallback (#59247)
* fix(status): hydrate cache usage in transcript fallback

* docs(changelog): note status cache fallback fix

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-04 20:34:41 +09:00
Peter Steinberger
e4ea3c03cf fix: scope live model switch pending state (#60266) (thanks @kiranvk-2011) 2026-04-04 19:45:53 +09:00
kiranvk2011
251e086eac fix: use explicit flag for live model switch detection in fallback chain
Replace the ambiguous comparison-based approach (hasDifferentLiveSessionModelSelection
+ in-memory map EMBEDDED_RUN_MODEL_SWITCH_REQUESTS) with a persisted
`liveModelSwitchPending` flag on SessionEntry.

The root cause: the in-memory map was never populated in production because
requestLiveSessionModelSwitch() was removed in commit 622b91d04e and replaced
with refreshQueuedFollowupSession(). This left the comparison-based detection
as the only path, which could not distinguish user-initiated model switches
(via /model command) from system-initiated fallback rotations.

The fix:
- Add `liveModelSwitchPending?: boolean` to SessionEntry (persisted)
- Set the flag to true ONLY when /model command applies a model override
- New `shouldSwitchToLiveModel()` checks the flag + model mismatch together
- New `clearLiveModelSwitchPending()` resets the flag after consumption
- Replace throw-site logic in run.ts to use the new flag-based functions
- Remove orphaned resolveCurrentLiveSelection helper

Only the /model command sets this flag, so system-initiated fallback rotations
are never mistaken for user-initiated model switches. This restores the
live-switch-during-active-run feature that was accidentally broken.

Fixes #57857, #57760, #58137
2026-04-04 19:45:53 +09:00
Peter Steinberger
238fac6636 fix: cover status transcript fallback (#55041) (thanks @jjjojoj) 2026-04-04 17:38:44 +09:00
jjjojoj
97a8ba89fd fix: use transcript usage as fallback for /status token display
When using custom providers like LM Studio, Ollama, or DashScope,
token counts in /status show as 0 because the agent meta store
does not always have usage data populated for these providers.

Fix: set includeTranscriptUsage: true in both /status command and
the session_status tool. This enables the existing fallback path
that reads usage from the session transcript JSONL file when the
meta store has zero/missing token counts.

The merge logic already guards against overwriting valid data:
- totalTokens: only updated when zero or transcript value is larger
- inputTokens/outputTokens: only filled when zero/missing
- model/contextTokens: only filled when missing

Fixes #54995
2026-04-04 17:38:44 +09:00
Peter Steinberger
b4e9802ef3
test: tidy gateway scope forwarding coverage 2026-04-04 16:48:26 +09:00
Peter Steinberger
9bbedf3caa test: replace hanging pair approve poc coverage 2026-04-04 16:42:46 +09:00
Peter Steinberger
14cfcdba1a
docs(test): refresh stale model refs 2026-04-04 08:05:49 +01:00
Peter Steinberger
3de09fbe74 fix: restore claude cli loopback mcp bridge (#35676) (thanks @mylukin) 2026-04-04 15:16:20 +09:00
Peter Steinberger
fca80d2ee2
refactor(thinking): move provider thinking fallback out of core 2026-04-04 07:00:47 +01:00
Peter Steinberger
64d9b65b56
style(core): format reply and infra helpers 2026-04-04 06:02:47 +01:00
Peter Steinberger
53b5b1b32d
fix(ci): repair redundant channel union types 2026-04-04 05:08:02 +01:00
Marcus Castro
9d1a58f551
fix(auto-reply): preserve reasoning markers during block coalescing (#60655)
* fix: preserve reasoning markers during block coalescing

* docs(changelog): add auto-reply reasoning fix entry
2026-04-04 00:44:11 -03:00
Peter Steinberger
7e69c2f6a7
test: trim remaining mock drift 2026-04-04 04:04:12 +01:00
Peter Steinberger
fe72474153
fix: persist fallback overrides safely 2026-04-04 09:00:16 +09:00
Peter Steinberger
3a3fdf1920
fix(ci): restore plugin contract surfaces 2026-04-04 00:24:57 +01:00
Peter Steinberger
d02fc365b4
test(plugins): drop stale core test files 2026-04-04 00:11:54 +01:00
Peter Steinberger
ab318de8b7
test(plugins): finish moving contract coverage 2026-04-04 00:11:39 +01:00
Peter Steinberger
e4b5027c5e
refactor(plugins): move extension seams into extensions 2026-04-04 00:10:16 +01:00
Peter Steinberger
3d2734185b
test: stabilize rebased auto-reply command checks 2026-04-03 23:11:34 +01:00
Tak Hoffman
3fd29e549d
fix: honor tools default account 2026-04-03 17:06:50 -05:00
Tak Hoffman
cc0987f7b1
fix: honor allowlist default account 2026-04-03 17:04:11 -05:00
Tak Hoffman
393d8c7606
fix: honor approve default account 2026-04-03 17:01:58 -05:00
Tak Hoffman
5f1f43af4d
fix: honor config write default account 2026-04-03 16:59:58 -05:00
Tak Hoffman
4d60d61dec
fix: honor reset notice default account 2026-04-03 16:57:15 -05:00
Tak Hoffman
da68fa4079
fix: honor followup default account 2026-04-03 16:53:38 -05:00
Tak Hoffman
6ddc86a3d1
fix: honor session default delivery account 2026-04-03 16:51:34 -05:00
Peter Steinberger
30fd4c6cdb
test: add default channel account stubs in subagent focus tests 2026-04-03 22:51:17 +01:00
Tak Hoffman
01534d9bd5
fix: honor acp projector default account 2026-04-03 16:49:16 -05:00
Tak Hoffman
2b54ce30ae
fix: honor acp delivery default account 2026-04-03 16:46:25 -05:00
Tak Hoffman
bb649de1ad
fix: honor subagent default account 2026-04-03 16:43:26 -05:00
Tak Hoffman
4518b9ea7a
fix: honor acp reset default account 2026-04-03 16:39:50 -05:00
Tak Hoffman
10062e8111
fix: honor plugin binding default account 2026-04-03 16:31:24 -05:00
Tak Hoffman
037da3ce34
fix: honor acp dispatch default account 2026-04-03 16:26:41 -05:00
Tak Hoffman
759598f737
fix: honor default account in conversation bindings 2026-04-03 16:09:48 -05:00
Peter Steinberger
f336f0b83c
test: trim more helper partial mocks 2026-04-03 21:38:01 +01:00
Peter Steinberger
f3a6d13965
test: trim helper partial mocks 2026-04-03 21:34:42 +01:00
Peter Steinberger
a715b83e67
test: trim auto-reply and cli partial mocks 2026-04-03 20:30:10 +01:00
Peter Steinberger
d9af49a7af
test: trim reply label generator mock 2026-04-03 20:25:49 +01:00
Peter Steinberger
6068497409
test: trim auto-reply tools mock 2026-04-03 20:23:34 +01:00
Peter Steinberger
c8c0aeda76
test: trim more auto-reply partial mocks 2026-04-03 20:22:24 +01:00
Peter Steinberger
0805add3a4
test: trim more reply and agent mocks 2026-04-03 20:20:51 +01:00
Peter Steinberger
0c95e3f073
refactor(plugins): move command ui policy into extensions 2026-04-03 19:30:35 +01:00
Peter Steinberger
45a6f769bb
test: trim core partial mocks 2026-04-03 19:28:19 +01:00
Peter Steinberger
13bc70397a
test: trim test partial mocks 2026-04-03 19:10:56 +01:00
Peter Steinberger
ab96520bba
refactor(plugins): move channel behavior into plugins 2026-04-03 19:09:20 +01:00
Peter Steinberger
379c329f81
test: trim dispatch and command partial mocks 2026-04-03 18:42:52 +01:00
Gustavo Madeira Santana
ddd250d130
feat(skills): add inherited agent skill allowlists (#59992)
Merged via squash.

Prepared head SHA: 6f60779a57
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-04-03 13:41:28 -04:00
Peter Steinberger
e0580e6863
test: harden shared-worker runtime setup 2026-04-03 18:18:56 +01:00