Bikkies
88fa65957a
fix: cache assembled view for retries, skip duplicate finalize afterTurn
...
- Return the last assembled view on unchanged iterations instead of falling back to raw source messages, so API retries use the compacted context
- Add skipAfterTurn param to finalizeAttemptContextEngineTurn so the end-of-attempt path skips ingestion when the loop hook already handled it during the tool loop
- Set loopHookActive flag at install site and pass it through to finalize
- Add test verifying cached view is returned on retry
2026-04-14 01:40:53 -07:00
Bikkies
ff9d68bdd9
fix: re-assemble when afterTurn is unavailable
...
- Decouple lastSeenLength advancement from afterTurn existence so engines without afterTurn still advance the fence and trigger assemble on new messages
- Use hasNewMessages flag instead of didCallAfterTurn for the assemble gate
- Add test verifying assemble fires on every iteration with new messages when engine lacks afterTurn
2026-04-14 01:40:53 -07:00
Bikkies
6a8b59c37d
fix: address review feedback on installContextEngineLoopHook
...
- Initialise lastSeenLength lazily from a caller-supplied getPrePromptMessageCount so the first afterTurn call uses the same fence as finalizeAttemptContextEngineTurn
- Skip engine.assemble on iterations where no new messages arrived and a previous assemble already happened
- Hoist prePromptMessageCount in runEmbeddedAttempt so the install site can pass a getter that resolves the correct value after heartbeat filtering
- Add 6 unit tests covering fence initialisation, lazy getter evaluation, fallback to 0, and assemble throttling
2026-04-14 01:40:52 -07:00
Bikkies
d4f6f036b9
style: trim installContextEngineLoopHook doc comment
2026-04-14 01:40:52 -07:00
Bikkies
846edb45bd
test: cover installContextEngineLoopHook
...
- Add unit coverage for the new per-iteration ingest and assemble hook
- Verify afterTurn is called once per delta with the correct prePromptMessageCount, and skipped when no new messages have been appended
- Verify the assembled view is returned only when its length differs from the source, and the source array is never mutated
- Verify the hook tolerates engines that do not implement afterTurn, and falls through to source messages when afterTurn or assemble throws
- Verify dispose restores the previous transformContext
2026-04-14 01:40:52 -07:00
Bikkies
91868da1e6
context-engine: per-iteration ingest and assemble for engine-owned sessions
...
- Add `installContextEngineLoopHook` to call `afterTurn` and return `assemble()` from `transformContext` on every LLM iteration
- Skip the built-in tool-result guard and preemptive overflow precheck when `info.ownsCompaction === true`
- Lets long-running subagents compact mid tool loop instead of only at end of attempt
- Sessions without a context engine, or where the engine does not own compaction, behave exactly as before
2026-04-14 01:40:52 -07:00
Vincent Koc
33a698fe10
fix(qa-lab): correct scenario catalog type
2026-04-14 09:39:20 +01:00
Mason Huang
7eecfa411d
fix(browser): unblock loopback CDP readiness under strict SSRF defaults ( #66354 )
...
Merged via squash.
Prepared head SHA: d9030ff2f0
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com >
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com >
Reviewed-by: @hxy91819
2026-04-14 16:30:43 +08:00
Vincent Koc
e59f5ecac3
fix(tools): normalize media model lookups ( #66422 )
...
* fix(tools): normalize media model lookups
* Update CHANGELOG.md
2026-04-14 09:23:52 +01:00
Ayaan Zaidi
aa0dc118f1
fix: preserve subagent registry runtime import path across source and dist ( #66420 )
...
* fix(build): correct subagent registry runtime import path
* fix: correct subagent registry runtime import path (#66420 )
* fix: preserve subagent registry runtime import path across source and dist (#66420 )
2026-04-14 13:52:24 +05:30
Vincent Koc
38de896419
fix(agents): honor embedded ollama timeouts ( #66418 )
2026-04-14 09:21:22 +01:00
Vincent Koc
900681751d
test(qa-lab): seed broken-turn recovery scenarios ( #66416 )
2026-04-14 09:03:49 +01:00
Vincent Koc
37f449d7e1
fix(memory): restore ollama embedding adapter ( #66269 )
...
* fix(memory): restore ollama embedding adapter
* Update CHANGELOG.md
2026-04-14 09:02:31 +01:00
yongqiang li
6a5ff83b24
fix(build): include subagent-registry.runtime.js in dist output ( #66205 )
...
* fix: ensure subagent-registry.runtime.js is included in dist output
* fix(build): ship subagent registry runtime
* Update CHANGELOG.md
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-04-14 09:00:40 +01:00
VACInc
26e80cc6cc
[codex] Telegram: unblock status commands behind busy turns ( #66226 )
...
* Telegram: unblock status commands behind busy turns
* fix(telegram): keep export-session on topic lane
* Update CHANGELOG.md
---------
Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com >
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-04-14 08:57:07 +01:00
Ayaan Zaidi
213c36cf51
fix(browser): preserve legacy strict SSRF alias
2026-04-14 12:50:02 +05:30
Ayaan Zaidi
024f4614a1
fix: add browser SSRF follow-up changelog entry ( #66386 )
2026-04-14 12:42:59 +05:30
Ayaan Zaidi
1dabfef28d
fix(browser): preserve explicit strict SSRF config
2026-04-14 12:42:59 +05:30
Ayaan Zaidi
1b76966f05
fix(browser): use loopback policy for json-new fallback
2026-04-14 12:42:59 +05:30
Ayaan Zaidi
bf1d49093a
fix(browser): relax default hostname SSRF guard
2026-04-14 12:42:59 +05:30
Neerav Makwana
a743b30b8b
fix: honor configured store limits ( #66240 ) (thanks @neeravmakwana)
...
* fix(media): honor configured store limits
* fix(media): report effective source limits
* refactor(media): distill configured limit wiring
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-04-14 11:53:20 +05:30
Neerav Makwana
0381852c26
fix: harden approvals get timeout handling ( #66239 ) (thanks @neeravmakwana)
...
* fix(cli): harden approvals get timeout handling
* fix(cli): sanitize approvals timeout notes
* fix(cli): distill approvals timeout note
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-04-14 11:29:59 +05:30
Luke
0abe64a4ff
Agents: clarify local model context preflight ( #66236 )
...
Merged via squash.
Prepared head SHA: 11bfaf15f6
Co-authored-by: ImLukeF <92253590+ImLukeF@users.noreply.github.com >
Co-authored-by: ImLukeF <92253590+ImLukeF@users.noreply.github.com >
Reviewed-by: @ImLukeF
2026-04-14 15:38:10 +10:00
拐爷&&老拐瘦
852484965f
fix: cache external plugin catalog lookups in auto-enable ( #66246 ) (thanks @yfge)
...
* fix: cache external plugin catalog lookups in auto-enable
Fixes openclaw/openclaw#66159
* test: restore readFileSync spy in plugin auto-enable test
* refactor: distill plugin auto-enable cache path
* fix: cache external plugin catalog lookups in auto-enable (#66246 ) (thanks @yfge)
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-04-14 09:41:02 +05:30
Peter Steinberger
55604a9a91
test: keep telegram cache boundary compatible
2026-04-13 20:50:11 -07:00
Peter Steinberger
73d3cf9920
test: bound docker fs bridge probes
2026-04-13 20:49:39 -07:00
Peter Steinberger
3deea5a426
fix: mirror baileys root dependency
2026-04-13 20:49:39 -07:00
Peter Steinberger
df84225504
test: align post-rebase full-suite drift
2026-04-13 20:49:39 -07:00
Peter Steinberger
67ffb6f6c2
fix: keep baileys plugin-local
2026-04-13 20:49:39 -07:00
Peter Steinberger
1277294293
test: drop removed agent scope suppression
2026-04-13 20:49:39 -07:00
Peter Steinberger
296471b692
test: align cron model error expectations
2026-04-13 20:49:39 -07:00
Peter Steinberger
4b127adc9d
test: align agent session resolver mocks
2026-04-13 20:49:39 -07:00
Peter Steinberger
0d6643e244
test: align cron runtime seams
2026-04-13 20:49:39 -07:00
Peter Steinberger
311bc842b8
fix: remove agent config lint suppression
2026-04-13 20:49:39 -07:00
Peter Steinberger
d4f556a052
fix: align latest main type drift
2026-04-13 20:49:39 -07:00
Peter Steinberger
5b24009271
test: mock model fallback source check
2026-04-13 20:49:39 -07:00
Peter Steinberger
cf3d27ab94
test: use cron embedded runtime mock
2026-04-13 20:49:39 -07:00
Peter Steinberger
00415e2010
test: refresh cron and mcp typed fixtures
2026-04-13 20:49:39 -07:00
Peter Steinberger
ff8605f3c2
test: update model fallback auth store mock
2026-04-13 20:49:39 -07:00
Peter Steinberger
1e11b36d80
test: align feishu replay helper typing
2026-04-13 20:49:39 -07:00
Peter Steinberger
c09031f15a
fix: tighten inbound replay typing
2026-04-13 20:49:39 -07:00
Peter Steinberger
63965dc70b
test: stabilize gateway wake gating regression
2026-04-13 20:49:39 -07:00
Peter Steinberger
ca9f969831
test: cover gateway wake startup gating
2026-04-13 20:49:39 -07:00
tmimmanuel
a2ab9e6a8e
fix: avoid inline dotenv secrets in systemd unit during service repair ( #66249 ) (thanks @tmimmanuel)
...
* fix(daemon): avoid inline dotenv secrets in systemd unit during service repair
* fix(daemon): sanitize systemd envfile and dedupe state-dir resolution
* fix(daemon): fail on multiline dotenv values for systemd envfile
* test(daemon): cover systemd envfile staging
* fix: keep systemd envfile overrides intact (#66249 ) (thanks @tmimmanuel)
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-04-14 09:06:10 +05:30
Ayaan Zaidi
3c501d3554
test: remove timer dependency from telegram topic cache tests
2026-04-14 08:58:07 +05:30
Ayaan Zaidi
556905a3f4
fix: restore pnpm check
2026-04-14 08:48:15 +05:30
Peter Steinberger
0eebb49fef
test: enforce npm pack budget in install smoke
2026-04-14 04:05:12 +01:00
Ayaan Zaidi
8a9d5e37be
fix: move telegram topic-cache changelog to unreleased ( #66107 )
2026-04-14 08:32:27 +05:30
Ayaan Zaidi
c91d3d4537
fix(telegram): persist topic cache via default runtime
2026-04-14 08:32:27 +05:30
Ayaan Zaidi
4f92b1fbb0
fix(telegram): allow topic cache without session runtime
2026-04-14 08:32:27 +05:30