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
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
4ef141d525
fix(agents): prevent embedded runtime shadowing
2026-05-31 16:13:01 +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
Peter Steinberger
d99934aacd
ci: use normal node_modules for Blacksmith Testbox
2026-05-31 15:04:49 +01:00
Vincent Koc
0833c68b1b
fix(e2e): show plugins docker sweep progress
2026-05-31 15:57:19 +02:00
yaoyi1222
75e0053cf9
fix(auto-reply): warn on substantive private message-tool finals
...
Warn operators when message_tool_only produces unusually substantive private final text without a delivered source reply. Keeps short/NO_REPLY silence quiet, avoids logging response bodies, and distinguishes unrelated side effects from source-reply delivery.
2026-05-31 14:35:58 +01:00
Vincent Koc
fbde572491
fix(e2e): heartbeat resource-sampled docker lanes
2026-05-31 15:22:44 +02: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
Ayaan Zaidi
4de9b79d30
refactor(agents): simplify stale cli retry cleanup
2026-05-31 17:28:05 +05:30
brokemac79
afe9826fc1
Stabilize lint suppression guard in CI
2026-05-31 17:28:05 +05:30
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
2bd07eead7
Refactor cron SQLite runtime paths ( #88582 )
...
* refactor: clean cron sqlite runtime paths
* fix: preserve legacy cron sqlite delivery migration
* fix: keep legacy cron notify fallback for invalid webhooks
* test: handle packaged lint suppression files
* fix: keep invalid cron notify migrations retryable
* test: fix ui timer lint
2026-05-31 12:14:48 +01: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
Soham Patankar
4f3d8a57dd
fix(codex): accept first-party OpenAI plugin marketplaces
...
Allow Codex native plugin config to target first-party OpenAI marketplaces, including openai-curated, openai-bundled, and openai-primary-runtime.
Fixes #82216 .
Thanks @yaanfpv for the contribution.
Verification:
- node scripts/run-vitest.mjs test/scripts/lint-suppressions.test.ts
- pnpm build:ci-artifacts
- OPENCLAW_VITEST_MAX_WORKERS=2 node scripts/run-vitest.mjs run --config test/vitest/vitest.full-core-support-boundary.config.ts test/scripts/lint-suppressions.test.ts
- node scripts/run-vitest.mjs extensions/codex/src/app-server/config.test.ts extensions/codex/src/app-server/plugin-activation.test.ts extensions/codex/src/app-server/session-binding.test.ts extensions/codex/src/migration/provider.test.ts extensions/sms/src/channel.test.ts extensions/sms/src/inbound.test.ts
- git diff --check
- ./.agents/skills/autoreview/scripts/autoreview --mode local
- GitHub PR CI on head 896640060b , including build-artifacts run 26709647050
2026-05-31 11:08:42 +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
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
b81adc6202
fix(ci): keep unsafe assertion lint disabled
2026-05-31 04:09:48 -04: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
Peter Steinberger
4eba3e5d7d
chore(lint): enable more readability rules
2026-05-31 07:38:33 +01:00
Peter Steinberger
deb7bc6539
chore(lint): enable readability lint rules
2026-05-31 07:17:57 +01:00
Peter Steinberger
23dac6c263
test: keep vitest cases under one second
2026-05-31 06:51:34 +01:00
Vincent Koc
ef9e9bf6b9
fix(build): preserve fresh startup metadata across rebuilds
2026-05-31 07:16:13 +02:00
Vincent Koc
e1a9817141
fix(e2e): preflight openai chat tools auth
2026-05-31 05:20:33 +02:00
Peter Steinberger
4dad7bd93b
fix(release): tolerate npm README metadata lag
2026-05-31 02:49:06 +01:00
Peter Steinberger
00d8d7ead0
refactor: extract normalization core package
...
Extract shared normalization/coercion helpers into private @openclaw/normalization-core workspace package while preserving existing plugin SDK helper subpaths.\n\nAlso keeps direct normalization-core imports internal, wires UI/build/loader resolution, and replaces the slow PR network CodeQL lane with a fast added-line boundary scan while retaining full CodeQL for scheduled/manual runs.\n\nVerification: local moved tests, plugin SDK boundary tests, extension loader tests, agents-support shard, UI build/test, build artifacts, lint, workflow guards, autoreview, and GitHub CI passed on PR head 963d893715 .
2026-05-31 01:33:00 +01:00
Vincent Koc
6270d5326f
fix(e2e): prove gateway health after websocket connect
2026-05-31 01:39:28 +02:00
Peter Steinberger
4c33aaa86c
refactor: unify OpenAI provider identity ( #88451 )
...
* refactor: unify OpenAI provider identity
* refactor: move legacy oauth sidecar doctor helpers
* test: align OpenAI fixtures after rebase
* test: clean OpenAI provider unification
* fix: finish OpenAI provider cleanup
* fix: finish OpenAI cleanup follow-through
* fix: finish OpenAI CI cleanup
2026-05-31 00:29:44 +01:00
Vincent Koc
7fc02d36b3
fix(scripts): assert lifecycle inspect output
2026-05-31 01:00:58 +02:00
Vincent Koc
0b0edcdf1c
fix(scripts): fail gauntlet on missing qa summaries
2026-05-31 00:37:48 +02:00
Vincent Koc
ee2b90b4e2
perf(scripts): prebuild qa runtime assets
2026-05-31 00:17:39 +02:00
Ted Li
1cab722fe0
fix(ci): ignore fenced headings in proof parser ( #87390 )
...
Harden real behavior proof parsing for fenced transcript Markdown. Ref #87341 . Thanks @MonkeyLeeT.
2026-05-30 23:14:06 +01:00
Peter Steinberger
287687da20
feat: add internal code mode namespaces ( #88043 )
...
* feat: add internal code mode namespaces
* test: add code mode namespace live proof
* test: add live code mode Docker repro
* chore: keep code mode docker repro out of package scripts
* fix: break code mode namespace type cycle
* fix: clean code mode namespace ci drift
* fix: route code mode namespaces through tools
* fix: preserve explicit agent global sessions
* docs: explain code mode namespace registry
* test: cap realtime websocket payload
* fix: normalize code mode timeout results
* fix: satisfy code mode timeout lint
* chore: rerun code mode CI
* ci: extend node shard silence watchdog
* test: avoid child process mock deadlocks
* test: fix code mode repro shebang
* fix: scope explicit agent sentinel sessions
* test: preserve child process mock actual loader
* fix: dispatch namespace tools by exact id
* test: satisfy restart execFile mock type
2026-05-30 22:42:57 +01:00
Vincent Koc
5367ef7bd3
fix(scripts): accept forwarded otel smoke args
2026-05-30 23:37:27 +02:00
Vincent Koc
7dde396d4d
fix(scripts): accept forwarded watch regression args
2026-05-30 23:20:16 +02:00
summerview1997
76b300babc
Fix /acp spawn cwd inheritance for target agent workspaces ( #82415 )
...
* Fix ACP spawn cwd inheritance
* Share ACP spawn cwd guard with command path
* Fix ACP spawn cwd typing and temp dir test
* test: stabilize crabbox wrapper provider fixtures
---------
Co-authored-by: Thomas Yao <thomas@local>
2026-05-30 22:11:06 +01:00
Vincent Koc
ada22739be
perf(build): skip dts for runtime build profiles
2026-05-30 23:06:25 +02:00
Peter Steinberger
8fe50a2136
build: classify release dependency ownership
...
Classify release dependency ownership metadata so release evidence no longer reports current root dependencies as missing ownership metadata. Also recognizes command-explainer package-file lookups for tree-sitter-bash.
Verification: jq empty scripts/lib/dependency-ownership.json; node scripts/dependency-ownership-surface-report.mjs --check; node scripts/root-dependency-ownership-audit.mjs --check; targeted Vitest for root dependency ownership and ownership surface reports; git diff --check; autoreview clean; PR CI green including Real behavior proof.
2026-05-30 22:04:54 +01:00
zhang-guiping
653292901a
fix(tui): surface terminal lifecycle errors
...
Surface terminal TUI lifecycle errors after the chat stream ends, deduplicate delayed chat errors, and allow explicit runnable Vitest config targets to run through the target planner.
Fixes #85782 .
Verification:
- pnpm exec oxfmt --check src/tui/tui-event-handlers.ts src/tui/tui-event-handlers.test.ts test/scripts/test-projects.test.ts scripts/test-projects.test-support.mjs src/agents/model-catalog-visibility.test.ts
- node scripts/run-vitest.mjs src/tui/tui-event-handlers.test.ts
- node scripts/run-vitest.mjs src/tui/tui-event-handlers.test.ts src/tui/tui-command-handlers.test.ts test/scripts/test-projects.test.ts src/agents/model-catalog-visibility.test.ts
- git diff --check
- autoreview --mode local: no accepted/actionable findings
- autoreview --mode branch --base origin/main: no accepted/actionable findings
- Required CI check dependency-guard passed
Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com >
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-05-30 21:59:27 +01:00
Vincent Koc
9c2744f1e1
test(scripts): require usable memory search in fd repro
2026-05-30 22:48:50 +02:00