Commit Graph

53091 Commits

Author SHA1 Message Date
Peter Steinberger
7efbaf7dba perf(gateway): cache current plugin metadata fingerprints 2026-05-27 12:59:23 +01:00
Vincent Koc
e2cebe88ca fix(dev): bound realtime smoke HTTP waits 2026-05-27 13:46:42 +02:00
Vincent Koc
a275ce8611 fix(qa): accept Matrix tool error final races 2026-05-27 13:43:17 +02:00
Vincent Koc
099b0f816a fix(qa): cap Matrix readiness polling 2026-05-27 13:39:14 +02:00
Peter Steinberger
513a223c15 fix(cli): validate directory limits before resolution 2026-05-27 07:35:02 -04:00
Peter Steinberger
0889106cb2 fix(cli): reject loose webhook and directory numeric options 2026-05-27 07:35:02 -04:00
Syu
0503853c29 fix(agents): keep runtime context before active user turns
Fix runtime context placement so hidden runtime context is model-visible before the active user turn without persisting as a visible/session message.

Verification:
- git diff --check origin/main...origin/pr/86995-merge
- gh pr checks 86995 --repo openclaw/openclaw --watch=false
- gh run rerun 26493979156 --repo openclaw/openclaw --failed
- gh run watch 26493979156 --repo openclaw/openclaw --exit-status
- CodeQL run 26493979156 attempt 2, Security High (mcp-process-tool-boundary) job 78066719467 passed
2026-05-27 12:31:56 +01:00
Vincent Koc
f4b9d24621 fix(qa): stop Matrix phases after run timeout 2026-05-27 13:22:18 +02:00
Andy Ye
66965f5008 fix(agents): strip stale Anthropic thinking
Preserve replayability for direct Anthropic sessions whose stored assistant thinking blocks have empty or blank signatures after a newer user turn. Older invalid thinking-only assistant turns are replaced with the existing omitted-reasoning placeholder so the turn shape survives provider replay.

Also keep active tool-use continuations safe: when an assistant tool call is followed by tool results, preserve the latest assistant thinking block so signed-thinking providers can replay the current tool turn unchanged.

Proof:
- node scripts/run-vitest.mjs src/agents/pi-embedded-runner.sanitize-session-history.test.ts src/agents/pi-embedded-runner/thinking.test.ts test/scripts/openclaw-e2e-instance.test.ts
- pnpm check:changed via Blacksmith Testbox through Crabbox, tbx_01ksmfypqet50et92vdm5mmv5v, run https://github.com/openclaw/openclaw/actions/runs/26505947008
- Live Anthropic Messages replay accepted the OpenClaw-sanitized active tool-turn history with a real thinking signature.
- PR CI on 37c2e72d82 completed successfully for relevant checks.

Fixes #86886.

Co-authored-by: Andy Ye <35905412+TurboTheTurtle@users.noreply.github.com>
2026-05-27 12:20:27 +01:00
Vincent Koc
a02fe525f1 fix(doctor): validate bundled MCP tool schemas 2026-05-27 13:15:15 +02:00
Vincent Koc
b8fc2f6587 fix(qa): kill timed out Matrix CLI runs 2026-05-27 13:01:36 +02:00
Vincent Koc
545ad7f256 fix(dev): bound discord smoke waits 2026-05-27 12:56:39 +02:00
Vincent Koc
53662094c3 chore(pixverse): publish as external plugin 2026-05-27 12:41:10 +02:00
Vincent Koc
b3083de4f2 feat(pixverse): add api region selection 2026-05-27 12:41:10 +02:00
Vincent Koc
c18370574e feat(pixverse): add video generation provider 2026-05-27 12:41:10 +02:00
Vincent Koc
a46e839f7c fix(qa): tolerate fast Matrix tool replies 2026-05-27 12:41:04 +02:00
Peter Steinberger
6c3740255f refactor: remove channel turn runtime aliases 2026-05-27 11:37:23 +01:00
Vincent Koc
83ab0ba99f fix(test): bound qa otel receiver bodies 2026-05-27 12:26:49 +02:00
Peter Steinberger
fd648edfa9 fix(lint): clean manifest registry installed checks 2026-05-27 06:26:15 -04:00
Vincent Koc
7a7d9dedc1 fix(scripts): resolve npm package candidates through npm runner 2026-05-27 12:12:32 +02:00
Vincent Koc
42f3550f7e fix(qa): hide Matrix tool progress marker in workspace 2026-05-27 12:09:35 +02:00
caz0075
12e5876903 fix(usage): forward cached token usage in chat completions (#82062)
Forward cache-read token counts through the OpenAI-compatible chat-completions usage shape as prompt_tokens_details.cached_tokens so clients can price cached turns correctly.

Align internal gateway usage typing with the expanded wire shape.

Thanks @caz0075.
2026-05-27 11:07:37 +01:00
Peter Steinberger
42387aff59 test(codex): align provider claim expectation 2026-05-27 11:03:50 +01:00
Peter Steinberger
2babe03bf5 perf(gateway): cache stable plugin index fingerprints 2026-05-27 11:03:50 +01:00
Vincent Koc
1d4537add3 fix(test): scan kitchen rpc readiness logs incrementally 2026-05-27 11:51:03 +02:00
Vincent Koc
8c6da93fdf fix(test): fail startup bench on bad samples 2026-05-27 11:46:02 +02:00
Yuval Dinodia
bbdff39b6a fix(onboard): preserve agents.list and bindings on rerun
Preserve existing `agents.list` and top-level `bindings` during ordinary onboarding reruns so rerunning `openclaw onboard` cannot silently wipe configured agents or routing bindings.

Keep config size-drop allowances scoped to explicit reset/import/plugin-install migration flows, validate binding agent ids with normalized agent ids, and add doctor repair coverage for dangling bindings that is still best-effort around malformed agent lists.

Closes #84692.

Co-authored-by: yetval <yetvald@gmail.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-27 10:45:14 +01:00
Andy Ye
aa0a29099f fix: send bare direct Anthropic model ids
Closes #87181.

Direct Anthropic Messages requests now send bare Claude model ids even when OpenClaw stores them with the `anthropic/` provider prefix. Anthropic-compatible proxy and custom endpoint routes keep slash-bearing model ids unchanged so configured proxy models do not regress.

Also preserves the original parse error as `cause` in the JSONL request tail helper to keep the current CI lint gate green.

Co-authored-by: Andy Ye <35905412+TurboTheTurtle@users.noreply.github.com>
2026-05-27 10:44:20 +01:00
Georgi Atsev
9e7c2b356b fix(deepinfra): load all DeepInfra models when user wants to browse t… (#84549)
* fix(deepinfra): load all DeepInfra models when user wants to browse them during onboarding

* docs(deepinfra): align TTS default

* fix(deepinfra): refresh video fallbacks

* fix(deepinfra): share credential-aware catalog discovery

* test(deepinfra): narrow catalog regression types

* test(deepinfra): keep catalog narrowing across callback

* fix(deepinfra): preserve default model in live catalog

* fix(deepinfra): align default model pricing

* fix(deepinfra): keep pixverse as video default

* docs(deepinfra): match video fallback default

* fix(deepinfra): honor config api keys for live catalog

* test(e2e): wait for watchdog stdio close

* test(media): align live harness provider expectation

* fix(deepinfra): always augment custom catalogs

* test(e2e): resolve watchdog commands before spawning

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-27 10:43:37 +01:00
Vincent Koc
32b3fb698d fix(qa): harden Matrix tool progress scenario 2026-05-27 11:37:55 +02:00
Vincent Koc
f4bcd61c9b fix(package): match npm globstar exclusions 2026-05-27 11:37:55 +02:00
Vincent Koc
296fbde279 fix(package): honor dist package exclusions in inventory 2026-05-27 11:37:55 +02:00
Peter Steinberger
c89298f9f8 fix: preserve channel runResolved mock compatibility 2026-05-27 10:36:33 +01:00
Vincent Koc
329dad23f5 fix(test): bound config reload log polling 2026-05-27 11:23:50 +02:00
Peter Steinberger
d6949d5951 fix(lint): preserve JSONL parse cause 2026-05-27 05:18:46 -04:00
Peter Steinberger
5eba76531b test(e2e): preserve macos smoke entrypoint path 2026-05-27 10:07:36 +01:00
Vincent Koc
109ba23083 fix(test): await mcp timeout cleanup 2026-05-27 11:04:09 +02:00
Vincent Koc
a4a75a8694 fix(test): harden mcp channel ws timeout 2026-05-27 11:01:52 +02:00
Vincent Koc
e50b20fe7b fix(test): harden gateway network ws timeout 2026-05-27 10:59:50 +02:00
Cathryn Lavery
730ac1a68d fix(agents/harness): validate forced plugin harness support before pinning (#74341)
Validates forced plugin harness support for the requested provider/model before pinning Codex or any other plugin harness. This prevents an explicitly forced Codex runtime from accepting unsupported OpenAI-like providers through a hardcoded bypass while preserving implicit PI fallback and CLI runtime alias passthrough.

Regression coverage covers forced Codex rejection for unsupported openai/openai-codex support, Codex provider support declarations, CLI attempt routing, pi-embedded auth/profile forwarding fakes, Testbox scenario probes, and live Docker Codex plugin E2E.

Thanks @cathrynlavery.
2026-05-27 09:59:04 +01:00
Vincent Koc
40a2600544 fix(test): bound codex media path log polling 2026-05-27 10:55:00 +02:00
Peter Steinberger
98c0ad8b42 test: align extension inbound context assertions 2026-05-27 04:52:02 -04:00
Sebastien Tardif
527b7c2eed fix(install): skip Homebrew until macOS packages need it
Keep macOS Homebrew setup lazy so users with supported Node and Git can install without admin/Homebrew, while still installing Homebrew before macOS Node or Git package installs.

Updates installer docs and adds focused install.sh coverage for the lazy Git path. Also aligns the live-media provider expectation with current main so built-artifact checks stay green.

Fixes #83232

Co-authored-by: Sebastien Tardif <sebtardif@ncf.ca>
2026-05-27 09:48:04 +01:00
Vincent Koc
351aac9f57 fix(ci): bound additional boundary checks 2026-05-27 10:42:22 +02:00
Vincent Koc
4dfc2cf14a fix(release): reject empty beta smoke runs 2026-05-27 10:34:06 +02:00
Vincent Koc
158bc697c4 fix(lint): split source lint shards 2026-05-27 10:32:53 +02:00
Vincent Koc
ecdc925698 fix(crabbox): reinitialize invalid changed-gate git dirs 2026-05-27 10:32:53 +02:00
Vincent Koc
1ba4448a60 fix(lint): shard core lint checks 2026-05-27 10:32:53 +02:00
Vincent Koc
8caa44fba3 fix(lint): cap oxlint helper memory locally 2026-05-27 10:32:53 +02:00
Vincent Koc
6c42fea2d8 fix(package): omit unpacked test helpers from inventory 2026-05-27 10:32:53 +02:00