Commit Graph

29464 Commits

Author SHA1 Message Date
Peter Steinberger
0db0979365 fix: harden code mode runtime 2026-05-15 04:16:07 +01:00
Peter Steinberger
8985cd596a fix: refresh code mode after rebase 2026-05-15 04:16:07 +01:00
Peter Steinberger
0844e771a8 feat: add generic code mode runtime 2026-05-15 04:16:07 +01:00
Vincent Koc
4ce979934f fix(media): wrap malformed provider json 2026-05-15 09:08:34 +08:00
hclsys
30cfcf21b7 fix(skills): replace generated plugin skill directories 2026-05-15 08:57:03 +08:00
Kevin Lin
acbe461c16 fix(codex): remove spurious migration warnings
Remove spurious Codex migration warnings for expected planned/manual/archive states while preserving real provider warnings.
2026-05-14 17:47:21 -07:00
EvanYao
70ebf4898b fix(config): treat enabled channels as configured 2026-05-15 08:45:22 +08:00
Vincent Koc
d16f79f49d fix(providers): add safe json response helper 2026-05-15 08:41:18 +08:00
Vincent Koc
c589680e95 fix(doctor): honor alternate memory slot owners 2026-05-15 08:33:29 +08:00
Vincent Koc
62375ae860 fix(lint): quiet ollama num_ctx normalizer 2026-05-15 08:29:02 +08:00
Vincent Koc
a118e114fe fix(usage): wrap malformed usage json 2026-05-15 08:18:11 +08:00
Shakker
4199034de2 fix: refresh finalize state after doctor 2026-05-15 01:09:06 +01:00
Shakker
92f8c1edac feat: add update finalization command 2026-05-15 01:09:06 +01:00
Vincent Koc
eb07aba973 fix(clawhub): wrap malformed marketplace json 2026-05-15 08:02:13 +08:00
Truffle
d7e946eb34 fix(runner): gate surface_error throw on failoverFailure (#70900)
Merged via squash.

Prepared head SHA: b62213339b
Co-authored-by: truffle-dev <260125384+truffle-dev@users.noreply.github.com>
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com>
Reviewed-by: @altaywtf
2026-05-15 02:47:30 +03:00
Val Alexander
eb4e20ca1d fix(plugins): expose effective context budget in hooks
Add optional context budget/source/reference metadata to plugin hook contexts plus llm_output and sanitized model_call_* hook events.

Thread the existing resolved context-window info through Pi embedded runs, CLI harness runs, and Codex app-server hook emission so plugins can observe the effective budget after agent/model/config caps.

Document the metadata and cover the CLI, Pi, Codex app-server, and model-call paths with focused tests.

Fixes #64327.
2026-05-14 17:51:53 -05:00
Josh Lehman
4004c9342d fix: use Codex context windows for OpenAI runtime (#81906)
* fix: use Codex context windows for OpenAI runtime

* test: satisfy status model fixture types

* fix: note Codex context window budget fix
2026-05-14 15:38:50 -07:00
Josh Lehman
3f80f889fa fix: align Codex cron bootstrap context (#81822)
* fix: align Codex cron bootstrap context

* fix: address Codex cron review comments

* fix: suppress Codex project docs for lightweight context

* fix: note Codex cron lightweight context
2026-05-14 15:10:42 -07:00
Josh Avant
bd0555d5fc fix ollama native num_ctx migration (#81928) 2026-05-14 16:50:57 -05:00
Leo Ge
99a6b1c5a8 fix(acpx): surface Codex ACP diagnostics
Surface redacted Codex wrapper stderr for generic ACP internal failures, preserve safe Codex model/provider routing in isolated CODEX_HOME, and cover the ACP parent stream dispatch order.

Co-authored-by: leoge007 <leoge@users.noreply.github.com>
2026-05-14 22:42:28 +01:00
Gio Della-Libera
abf59205fc fix(config): return persisted config write responses (#81445)
Merged via squash.

Prepared head SHA: 8f549e0621
Co-authored-by: giodl73-repo <235387111+giodl73-repo@users.noreply.github.com>
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com>
Reviewed-by: @altaywtf
2026-05-15 00:35:15 +03:00
Peter Steinberger
926bf66ee3 fix(skills): sync managed symlink skills as directories 2026-05-14 22:11:01 +01:00
stainlu
cca4f3c63c fix(skills): trust managed skill symlink roots 2026-05-14 22:11:01 +01:00
Peter Steinberger
f8ae0fb1c4 fix: narrow ACP timeout config suppression (#81603) 2026-05-14 22:01:40 +01:00
Qkal
82f4297311 fix(acp): tolerate unsupported timeout config hints 2026-05-14 22:01:40 +01:00
pashpashpash
1a5548203e Stream Codex preambles in channel progress drafts (#81887)
* codex: stream preambles in progress drafts

* test: update preamble progress PR checks

* test: refresh plugin sdk api baseline
2026-05-15 05:32:42 +09:00
Peter Steinberger
d9ff8cfb01 fix: plan managed npm peer pins with npm
Plan managed npm peer dependency pins from npm's lockfile planner instead of recursively scanning nested node_modules packages, preserving host peer ranges when npm cannot produce a usable root pin.

Also preserves active root-managed OpenClaw host runtimes during npm plugin installs, folding the active-host guard/test from #81632.

Verification:
- codex-review --full-access
- pnpm check:test-types
- pnpm exec oxfmt --check --threads=1 src/infra/npm-managed-root.ts src/infra/npm-managed-root.test.ts src/plugins/install.npm-spec.test.ts CHANGELOG.md test/scripts/mantis-build-telegram-desktop-proof-evidence.test.ts && git diff --check
- OPENCLAW_VITEST_MAX_WORKERS=1 pnpm test src/infra/npm-managed-root.test.ts src/plugins/install.npm-spec.test.ts -- --reporter=verbose
- OPENCLAW_VITEST_MAX_WORKERS=1 node scripts/test-projects.mjs src/plugins/install.npm-spec.e2e.test.ts -- --reporter=verbose
- node scripts/run-vitest.mjs run --config test/vitest/vitest.full-core-support-boundary.config.ts test/scripts/mantis-build-telegram-desktop-proof-evidence.test.ts --reporter=verbose
- GitHub current-head checks: 55 completed, 0 failures; remaining Blacksmith-backed jobs capacity-queued at merge decision time.

Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>
2026-05-14 21:25:22 +01:00
Peter Steinberger
21f1b46f8a refactor(clawhub): reuse response body timeout helper 2026-05-14 20:56:13 +01:00
stainlu
86b0a7ddda fix(clawhub): cancel stalled archive body reads 2026-05-14 20:56:13 +01:00
Conan Scott
817dca5ae9 fix(webchat): render tts audio command replies 2026-05-14 20:41:21 +01:00
Peter Steinberger
686b93e5c7 fix: keep command cron turns lightweight 2026-05-14 20:15:44 +01:00
simplyclever914
c404711703 fix: enforce Codex forced OAuth refresh (#80738)
Treat forced OAuth refresh as a hard refresh contract: fallback credentials may be reused only when they changed after the attempted refresh began.

Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: Clever <clever@users.noreply.github.com>
2026-05-14 20:08:14 +01:00
Josh Lehman
f64feab47a fix: prevent codex app-server surrogate stalls 2026-05-14 19:59:23 +01:00
Pavan Kumar Gondhi
386d321634 Bind gateway approval access to requester metadata [AI] (#81380)
* fix: bind approval access to requester metadata

* addressing review-skill

* addressing review-skill

* addressing review-skill

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* addressing review-skill

* addressing review-skill

* addressing review-skill

* addressing review-skill

* addressing review-skill

* addressing codex review

* addressing codex review

* addressing codex review

* addressing claude review

* addressing ci

* fix: complete root-cause handling

* addressing review-skill

* addressing codex review

* addressing ci

* docs: add changelog entry for PR merge
2026-05-14 23:21:34 +05:30
Peter Steinberger
59be6d6390 build(deps): route node proxy helpers through proxyline 2026-05-14 18:27:23 +01:00
pashpashpash
28550a798c fix(doctor): respect runtime message tool grants 2026-05-14 17:46:28 +01:00
Josh Avant
d0f22ccf97 Fix gateway handling for undici HTTP2 session teardown (#81838)
* fix: handle undici HTTP2 session teardown

* docs: add gateway HTTP2 changelog entry
2026-05-14 11:36:59 -05:00
Gado
83b8289ee2 feat: WhatsApp status reactions, new emoji categories, self-explanatory defaults (#59077) (#80612)
Merged via squash.

Prepared head SHA: 25e0a7a9fd
Co-authored-by: gado-ships-it <276509604+gado-ships-it@users.noreply.github.com>
Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com>
Reviewed-by: @velvet-shark
2026-05-14 14:37:23 +02:00
Andrii Furmanets
42b95a9eb1 fix(plugins): harden git ref checkout 2026-05-14 19:56:36 +08:00
Vincent Koc
2d6fd54ebd fix(cli): keep plugin json output parseable
Co-authored-by: Eric Milgram, PhD <4348294+ScientificProgrammer@users.noreply.github.com>
2026-05-14 19:44:38 +08:00
Vincent Koc
1bdb151d0d fix(node-host): wrap malformed invoke params json 2026-05-14 19:35:45 +08:00
Vincent Koc
8f7a3cbff3 fix(plugins): repair legacy npm declaration stubs 2026-05-14 19:17:05 +08:00
Vincent Koc
8754094292 fix(gateway): wrap malformed pricing catalog json 2026-05-14 19:15:20 +08:00
Vincent Koc
278e3eabf2 fix(realtime): wrap malformed transcription frames 2026-05-14 19:05:46 +08:00
Ayaan Zaidi
02f2e08493 fix(auto-reply): gate claude cli reasoning bridge 2026-05-14 16:29:46 +05:30
Cameron Beeley
f3875ac937 fix(auto-reply): bridge cli assistant text-delta into reasoning preview
Add a CLI-runtime-gated bridge in runAgentTurnWithFallback that subscribes
to `stream: "assistant"` agent-events for the current runId and re-emits
them as reasoning content through `params.opts.onReasoningStream`. Mirrors
the assistant-text bridge from #76914 and the tool-event bridge from #80046:
same Promise-chain serialization + drain, same silentExpected gate, same
unsubscribe pattern at success/catch/finally.

The reply lane is untouched -- `onPartialReply` continues to settle the
final assistant text via #76914. The reasoning lane now reflects the
model's live text output during streaming, which is the only "what is the
model producing right now" signal available for claude-opus-4-7 over
claude-cli (Anthropic suppresses readable thinking_delta events on the
wire for opus-4-7; only thinking content_block + signature_delta arrive).

The bridge is gated on isCliProvider so API/native runtimes that already
get reasoning content from real thinking_delta events do NOT double-receive
text_delta as reasoning.

Tests cover:
- Forwards assistant agent-events to onReasoningStream with correct text
- Respects silentExpected (heartbeat / NO_REPLY runs don't emit)
- Does not fire on the API/native runtime path (gate works)
2026-05-14 16:29:46 +05:30
Vincent Koc
49e288823c fix(cli): wrap malformed trajectory export requests 2026-05-14 18:52:05 +08:00
Vincent Koc
a1de61bf65 fix(channels): list manifest-only plugins 2026-05-14 18:47:52 +08:00
Val Alexander
348ffe6061 fix(gateway): stop stale control ui auth retry loops
Fixes #72139.

Summary:
- Stop Control UI and Gateway clients from retrying AUTH_TOKEN_MISMATCH forever when no trusted cached device-token retry is queued.
- Keep the bounded trusted device-token retry path intact.
- Cap Control UI chat history rendering by raw tool-output size, including tool_result.content, with bounded estimation to avoid pre-render stalls.

Verification:
- node scripts/run-vitest.mjs ui/src/ui/gateway.node.test.ts src/gateway/client.test.ts ui/src/ui/chat/build-chat-items.test.ts
- node scripts/run-vitest.mjs src/gateway/reconnect-gating.test.ts ui/src/ui/controllers/chat.test.ts ui/src/ui/views/chat.test.ts
- pnpm exec oxfmt --check --threads=1 CHANGELOG.md ui/src/ui/gateway.ts ui/src/ui/gateway.node.test.ts ui/src/ui/chat/history-limits.ts ui/src/ui/chat/build-chat-items.ts ui/src/ui/chat/build-chat-items.test.ts src/gateway/client.ts src/gateway/client.test.ts
- git diff --check
- PR CI/check graph passed on d9692555ee.
2026-05-14 05:36:09 -05:00
Josh Avant
2b04cedfb1 Fix subagent default model precedence (#81783)
* fix subagent default model precedence

* docs changelog for subagent default fix
2026-05-14 05:19:41 -05:00