Vincent Koc
6c73ffc51a
fix(test): bound MCP code mode client responses
2026-06-01 04:05:23 +02:00
Vincent Koc
c764eb96c4
fix(test): tolerate vanished RPC gateway teardown
2026-06-01 03:48:59 +02:00
Peter Steinberger
5443baa852
Persist plugin install index in SQLite ( #88794 )
...
* refactor: persist plugin install index in sqlite
* fix: merge legacy plugin index records into sqlite
* test: update plugin index sqlite fixtures
* fix: migrate custom plugin install indexes
* test: update plugin index sentinel
* fix: exclude migrated plugin index archives
* fix: read post-upgrade plugin index from sqlite
* fix: migrate legacy plugin index before agent runs
* fix: respect disabled persisted plugin registry reads
* test: type plugin install record fixtures
* fix: simplify plugin index record reader type
* test: fix sqlite plugin index CI fallout
* test: mock provider normalization in agent command tests
# Conflicts:
# src/commands/agent-command.test-mocks.ts
* build: remove unused ui three dependency
2026-05-31 20:51:33 -04:00
Peter Steinberger
27dde7a4d6
chore(lint): enable stricter error rules
2026-06-01 01:12:21 +01:00
Vincent Koc
0bfba7e26d
fix(ui): detect system chromium for e2e
2026-06-01 01:09:46 +01:00
Vincent Koc
ddbd16a04a
fix(ui): honor chromium executable override
2026-06-01 00:20:10 +01:00
Peter Steinberger
d328a0d7a0
feat: calm chat composer controls
2026-06-01 00:18:04 +01:00
Peter Steinberger
2b30951b80
feat: calm composer controls ( #88772 )
2026-05-31 23:37:27 +01:00
Peter Steinberger
22cb7fb6b7
chore(lint): enable no-promise-executor-return
2026-05-31 23:06:13 +01:00
Peter Steinberger
b653d94918
chore(lint): enable no-useless-assignment
2026-05-31 22:40:48 +01:00
Peter Steinberger
e681569536
feat: add code-mode MCP API files
...
* feat: add code-mode MCP API files
* fix: satisfy code-mode MCP lint
2026-05-31 21:29:06 +01:00
Peter Steinberger
d62bfab946
ci: split startup and shrinkwrap checks
2026-05-31 15:55:43 -04:00
Peter Steinberger
2df95c0b10
chore(lint): enable no-misused-promises
2026-05-31 20:42:13 +01:00
Peter Steinberger
b4a6244ef4
ci: split agents core test shard
2026-05-31 15:35:36 -04:00
WT-WSL
462b52f62c
fix(ci): guard workflow template injection
...
Guard the remaining Windows Testbox workflow ref logging against GitHub Actions template injection by moving `target_ref` through step env before PowerShell reads it.
Extend the local workflow check wrapper to run pinned `zizmor` across every workflow file, and keep Workflow Sanity's CI audit explicit with trusted-base pre-commit and zizmor configs for pull-request runs.
Thanks @WT-WSL for the original report and patch.
Co-authored-by: dev111-actor <captaintobb@outlook.com >
2026-05-31 20:28:40 +01:00
Vincent Koc
f983111166
perf(scripts): parallelize test group reports
2026-05-31 20:32:54 +02:00
Vincent Koc
db0209ac5d
perf(scripts): parallelize remote core oxlint shards
2026-05-31 20:01:41 +02:00
Peter Steinberger
304e2c83c0
chore(lint): enable stricter oxlint rules
2026-05-31 18:59:02 +01:00
Alex Ho
d88767e819
fix(docker): refresh Node base image digests ( #84988 )
...
Refresh pinned node:24-bookworm and node:24-bookworm-slim manifest-list digests across the root, smoke, and e2e Dockerfiles. Update digest pin assertions to cover the plugin-binding e2e Dockerfile.
Verified with live Docker digest inspection, targeted Dockerfile tests, root base-runtime build, install-sh smoke build, and plugin-binding e2e build.
Thanks @LibraHo.
2026-05-31 18:55:33 +01:00
zhang-guiping
b6e9473e9f
fix(auth): skip Anthropic API keys for usage status
...
Fixes #85124 .
Anthropic standard API keys no longer resolve as provider usage auth for `openclaw status --usage`, so valid inference keys are not sent to Anthropic's OAuth usage endpoint and surfaced as misleading invalid bearer-token errors.
The provider usage-auth SDK result now has an explicit handled/no-token shape so provider hooks can suppress generic fallback without widening the OAuth helper contract. Docs, Plugin SDK API baseline, and extension package-boundary cache inputs were updated with the new contract.
Thanks @zhangguiping-xydt.
Proof:
- node scripts/run-vitest.mjs src/infra/provider-usage.auth.normalizes-keys.test.ts src/infra/provider-usage.auth.plugin.test.ts extensions/anthropic/index.test.ts
- pnpm plugin-sdk:api:check
- pnpm plugin-sdk:check-exports
- git diff --check origin/main...HEAD
- pnpm docs:list
- pnpm run test:extensions:package-boundary:compile
- autoreview clean: no accepted/actionable findings
- PR CI rollup green: 131 success, 22 skipped, 1 neutral, 0 failures
Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com >
2026-05-31 18:26:03 +01:00
Peter Steinberger
f80a1e9e85
refactor: clean up ACP translator and manager tests ( #88677 )
...
* test: split ACP translator bridge coverage
* refactor: extract ACP translator session helpers
* refactor: extract ACP manager backend failover helpers
* test: split ACP manager failover coverage
* test: split ACP manager runtime config coverage
* test: split ACP manager turn result coverage
* test: split ACP manager runtime handle coverage
* test: keep ACP manager helpers within task boundaries
* ci: split gateway runtime state test shard
2026-05-31 18:04:28 +01:00
Vincent Koc
0f6be951e0
fix(agents): avoid full stream replay on text deltas ( #88252 )
...
Prevent streaming assistant text updates from reparsing the full accumulated reply for plain deltas, avoiding repeated work for small-model streams while preserving full cleanup for directives, media, and final events.
Also load the normal Control UI Vite config in the mock browser server so browser E2E uses the same workspace aliases as dev.
Thanks @vincentkoc.
2026-05-31 17:59:45 +01:00
Peter Steinberger
4150c6ff82
feat: add typed MCP code-mode API ( #88678 )
...
* feat: add typed MCP code-mode API
* fix: stabilize code-mode namespace drain
* fix: preserve code-mode run cap
* fix: reserve code-mode snapshot capacity
2026-05-31 17:51:22 +01:00
Peter Steinberger
1af4c035e4
refactor: move delivery queues to SQLite ( #88665 )
...
* refactor: move delivery queues to sqlite
* fix: satisfy delivery queue sqlite boundaries
* test: remove stale reasoning replay assertion
* fix: migrate failed delivery queue entries
* test: stabilize exec shell snapshot mocks
* fix: clean legacy delivery queue markers
2026-05-31 17:43:03 +01:00
Vincent Koc
dd79c8836a
perf(scripts): parallelize startup metadata help rendering
2026-05-31 18:35:01 +02:00
samzong
5b310a7b27
fix(agents): release abandoned provider streams
...
Fix streamed provider cleanup so abandoned managed fetch bodies no longer keep undici sockets open, and cancel Anthropic/Gemini SSE readers deterministically when parsing exits early.
Keep the FinalizationRegistry abort path as a last-resort GC safety net for unmanaged/abandoned responses, while parser-owned paths cancel readers explicitly on thrown errors or malformed events.
Also records the browser-only Control UI redactor alias in the optional deadcode allowlist and keeps mocked exec supervisor tests off shell snapshot wrapping after the branch was rebased onto default shell snapshots.
Fixes #67461
Verification:
- node scripts/run-vitest.mjs src/agents/provider-transport-fetch.test.ts src/agents/anthropic-transport-stream.test.ts extensions/google/transport-stream.test.ts src/agents/bash-tools.test.ts src/agents/bash-tools.exec.path.test.ts test/scripts/test-live-shard.test.ts
- pnpm check:test-types
- node scripts/run-oxlint-shards.mjs --threads=8
- .agents/skills/autoreview/scripts/autoreview --mode branch --base origin/main --parallel-tests "node scripts/run-vitest.mjs src/agents/provider-transport-fetch.test.ts src/agents/anthropic-transport-stream.test.ts extensions/google/transport-stream.test.ts src/agents/bash-tools.test.ts src/agents/bash-tools.exec.path.test.ts test/scripts/test-live-shard.test.ts"
- git diff --check origin/main...HEAD
- PR CI on a1db789652
Co-authored-by: samzong <samzong.lu@gmail.com >
Signed-off-by: samzong <samzong.lu@gmail.com >
2026-05-31 17:17:53 +01:00
Peter Steinberger
a3c6164a8d
test: add ACP spawn defaults live Docker test
2026-05-31 16:46:20 +01:00
Peter Steinberger
7b78941ea5
refactor: clean up ACP package metadata and helpers ( #88659 )
...
* refactor: derive acp core package subpath maps
* refactor: split acp manager task and timeout helpers
* refactor: split acp translator presentation helpers
* fix: keep packaged acp core plugin aliases
* ci: split gateway control plane runtime shard
2026-05-31 15:53:14 +01:00
Peter Steinberger
d1bec469af
ci: stabilize Testbox changed checks
2026-05-31 15:34:23 +01:00
Jayesh Betala
f8f52592c5
fix(gateway): expose agent thinking defaults
...
Fixes #81760 .
Exposes existing agent and model thinking defaults through agents.list, including protocol and Swift model support. Thanks @jbetala7.
2026-05-31 15:05:55 +01:00
Vincent Koc
0833c68b1b
fix(e2e): show plugins docker sweep progress
2026-05-31 15:57:19 +02:00
Peter Steinberger
7dea283756
refactor: expand acp core package ( #88618 )
...
* refactor: expand acp core package
* chore: drop acp core package symlink
* fix: keep acp core dependency graph stable
* fix: add acp core tsconfig subpaths
* fix: sync acp core boundary path artifacts
* fix: use kysely for cron run-log queries
* fix: resolve acp core subpaths in loaders
2026-05-31 14:48:57 +01:00
Vincent Koc
fbde572491
fix(e2e): heartbeat resource-sampled docker lanes
2026-05-31 15:22:44 +02:00
Peter Steinberger
f24a138790
refactor: unify subagent handoffs into agent steering queue
...
Refactor the subagent completion handoff path into the generic agent steering queue, preserving legacy persisted handoff lease fields by normalizing them into steering lease fields on restore.
Also allowlists the split cron run-log SQLite boundary in the Kysely guardrail after rebasing onto current main.
Refs #88407 .
2026-05-31 14:21:20 +01:00
Peter Steinberger
100dd79468
test(release): wait for bundled runtime commands
2026-05-31 14:09:27 +01:00
Peter Steinberger
7423e9cb66
refactor(openai): confine legacy codex repair to doctor
...
Confine retired OpenAI Codex identifiers to doctor repair and migration paths while keeping runtime OpenAI surfaces canonical.\n\nProof: focused Vitest; autoreview clean; AWS Crabbox check:changed run_3789cbe12413 (cbx_2c88b700810b) passed.
2026-05-31 14:03:17 +01:00
Peter Steinberger
f83886c12d
chore(lint): trim remaining suppressions
2026-05-31 13:01:19 +01:00
Peter Steinberger
00d17e9df7
refactor: make OpenAI Codex legacy doctor-only ( #88605 )
2026-05-31 12:58:01 +01:00
Vincent Koc
823c38a1f9
fix(e2e): keep plugin binding escape smoke focused
2026-05-31 13:37:41 +02:00
Peter Steinberger
77f1359612
refactor: extract media and ACP core packages ( #88534 )
...
* refactor: extract media and acp core packages
* refactor: remove relocated media and acp sources
* build: wire new core packages into dependency checks
* test: alias new core packages in vitest
* build: keep media sniffer runtime dependency
* docs: refresh plugin sdk api baseline
* fix: keep normalized proposal queries non-empty
* test: keep channel timer tests isolated
* fix: keep rebased plugin checks green
* fix: preserve sms numeric allowlist entries
* test: harden exec foreground timeout failure
* test: remove duplicate skill workshop assertion
* fix: remove channel config lint suppression
* test: refresh lint suppression allowlist
2026-05-31 11:30:33 +01:00
Vincent Koc
a753e6bc86
fix(test): extend e2e vitest watchdog
2026-05-31 11:50:18 +02:00
Peter Steinberger
3950605561
chore(lint): tighten lint exception coverage
2026-05-31 10:42:59 +01:00
Evan Newman
a0d2febe6b
fix(scripts): timeout crabbox wrapper sanity checks
...
Add bounded timeouts for Crabbox wrapper sanity probes so a stale or hung selected binary cannot block the wrapper indefinitely. The wrapper now maps timed-out sanity probes to a deterministic failure and keeps provider/help parsing behavior intact.
Also add regression coverage for a binary whose `--version` probe hangs while `run --help` still responds.
Co-authored-by: Evan Newman <evanjames010101@gmail.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-31 10:29:12 +01:00
Vincent Koc
84b025eb62
fix(e2e): make plugin sweep wrappers executable
2026-05-31 10:42:50 +02:00
Peter Steinberger
f5eca3f84c
chore(lint): enable object and reassignment rules
2026-05-31 09:32:52 +01:00
Peter Steinberger
d4f78c9339
ci: harden Crabbox Testbox runs
2026-05-31 09:29:56 +01:00
Peter Steinberger
3513e8bfd9
feat: add Twilio SMS channel
...
Add a bundled SMS channel backed by Twilio inbound webhooks and outbound text delivery.
Includes signed webhook validation, pairing/allowlist access, Messaging Service sender support, chunked plain-text SMS delivery, default target support, docs, config metadata, labeler updates, and focused SMS coverage.
Verification:
- pnpm exec tsgo -p extensions/sms/tsconfig.json --noEmit
- OPENCLAW_VITEST_FS_MODULE_CACHE_PATH=/tmp/openclaw-vitest-sms-land-fix2 node scripts/run-vitest.mjs extensions/sms/src/phone.test.ts extensions/sms/src/accounts.test.ts extensions/sms/src/twilio.test.ts extensions/sms/src/inbound.test.ts extensions/sms/src/gateway.test.ts extensions/sms/src/channel.test.ts extensions/sms/src/send.test.ts extensions/sms/src/webhook.test.ts --reporter=verbose
- pnpm config:channels:check
- pnpm plugins:inventory:check
- git diff --check
- .agents/skills/autoreview/scripts/autoreview --mode local
- .agents/skills/autoreview/scripts/autoreview --mode branch --base origin/main
2026-05-31 09:22:31 +01:00
Peter Steinberger
48ccc50282
chore: update dependencies
2026-05-31 09:07:53 +01:00
Peter Steinberger
59694e86d9
chore(lint): enable structured clone rules
2026-05-31 08:34:28 +01:00
Peter Steinberger
b9fe0894a6
chore(lint): enable additional cleanup rules
2026-05-31 08:16:11 +01:00