Commit Graph

1467 Commits

Author SHA1 Message Date
Vincent Koc
25c47231bb ci(checks): shorten node shard names 2026-04-11 11:12:33 +01:00
Peter Steinberger
5b2888e1fd test(install): pin smoke docker platform 2026-04-11 03:31:47 +01:00
Peter Steinberger
421338f585 test(install): quiet smoke npm output 2026-04-11 03:31:47 +01:00
Peter Steinberger
05659cfbc3 test: harden macOS Parallels permission check 2026-04-11 03:30:01 +01:00
Peter Steinberger
69244f837f test: speed provider retry imports 2026-04-11 02:37:51 +01:00
Peter Steinberger
1fb2e18f47 refactor: simplify cli conversions 2026-04-11 01:27:48 +01:00
Peter Steinberger
ebfd468ee0 refactor: simplify typed conversions 2026-04-11 01:01:30 +01:00
Vincent Koc
9e2e4cde19 ci(test): align node lane names with boundary split 2026-04-11 00:36:06 +01:00
Peter Steinberger
46a6746bca docs: clarify codex harness validation 2026-04-11 00:13:08 +01:00
Peter Steinberger
a5aa9f93e9 refactor: simplify claude usage debug parsing 2026-04-10 23:37:23 +01:00
Tak Hoffman
f16a66fa43 fix: release local heavy-check locks on success 2026-04-10 17:05:26 -05:00
Peter Steinberger
8b7ba0e481 test: keep unit-fast single shard 2026-04-10 23:04:29 +01:00
Peter Steinberger
de8f3fdf92 test: split unit-fast shard 2026-04-10 23:02:22 +01:00
Peter Steinberger
b74a1f997b chore: remove redundant discord smoke conversions 2026-04-10 22:48:35 +01:00
Tak Hoffman
afff0716f7 ci: shard checks-node-test by vitest suite 2026-04-10 15:59:41 -05:00
Davanum Srinivas
fbf11ebdb7 fix(sandbox): enforce CDP source-range restriction by default (#61404)
* fix(sandbox): enforce CDP source-range restriction by default

Auto-derive CDP_SOURCE_RANGE from Docker network gateway IP when not
explicitly configured. The entrypoint script refuses to start the socat
CDP relay without a source range (fail-closed).

- readDockerNetworkGateway: use Go template println, filter <no value>
  sentinel, prefer IPv4 gateway on dual-stack networks
- Reject IPv6-only gateways for auto-derivation (relay binds IPv4)
- Remove stale browser_cdp_bridge_unrestricted audit check (runtime
  auto-derives range for all bridge-like networks)
- Bump SANDBOX_BROWSER_SECURITY_HASH_EPOCH to force container recreation

* chore(changelog): add sandbox CDP source-range entry

* fix(sandbox): gate CDP source-range derivation to bridge-style networks

Only auto-derive OPENCLAW_BROWSER_CDP_SOURCE_RANGE from the Docker
gateway IP for bridge networks (or when driver is unknown). Non-bridge
drivers (macvlan, ipvlan, overlay) may route traffic from different
source IPs, so they require explicit cdpSourceRange config.

Adds readDockerNetworkDriver helper and a regression test for macvlan.

---------

Co-authored-by: Devin Robison <drobison@nvidia.com>
2026-04-10 14:59:25 -06:00
Peter Steinberger
972ed139a7 fix: make docs anchor audit use Mintlify CLI 2026-04-10 21:39:52 +01:00
Peter Steinberger
6783bef7ed ci: refresh browser raw fetch guard 2026-04-10 21:22:16 +01:00
Peter Steinberger
3198c10fba fix: stabilize Codex harness landing checks 2026-04-10 21:22:16 +01:00
Peter Steinberger
bfc0889776 docs: document Codex harness plugin workflow 2026-04-10 21:22:16 +01:00
Peter Steinberger
dd26e8c44d feat: add Codex app-server harness extension 2026-04-10 21:22:16 +01:00
Peter Steinberger
0ebeee8b0d chore: enable consistent-return 2026-04-10 20:56:43 +01:00
Peter Steinberger
d2c0440fac ci: fix current main additional checks 2026-04-10 20:28:48 +01:00
Peter Steinberger
04c8026d03 chore: enable no-unnecessary-type-arguments 2026-04-10 20:14:49 +01:00
Peter Steinberger
fe05983d91 chore: enable no-unnecessary-type-assertion 2026-04-10 20:14:48 +01:00
Peter Steinberger
59925c1a74 chore: update dependencies and oxc tooling 2026-04-10 19:28:42 +01:00
Peter Steinberger
2fc3223ed4 ci: repair plugin boundary artifact freshness 2026-04-10 19:25:32 +01:00
Peter Steinberger
925a499d84 ci: fix additional guard failures 2026-04-10 19:23:10 +01:00
Peter Steinberger
e7db987ce6 test: trim heavy imports and harden ci checks 2026-04-10 19:23:10 +01:00
Peter Steinberger
15c6748c01 test: stabilize vitest full-suite runner 2026-04-10 19:17:39 +01:00
Peter Steinberger
c077af987f perf: add narrow inbound roots sdk surface 2026-04-10 17:34:41 +01:00
Peter Steinberger
be9bef32df perf: cache local tsgo checks 2026-04-10 17:06:28 +01:00
Peter Steinberger
e9fb4c7f93 perf: skip tsgo declaration transforms 2026-04-10 15:52:07 +01:00
Peter Steinberger
77bdf2f44d test: remove import-heavy files from unit-fast 2026-04-10 14:57:24 +01:00
Peter Steinberger
1b1853f0cc test: restore moved Vitest config discovery 2026-04-10 14:20:39 +01:00
Peter Steinberger
2ccb5cff22 test: move Vitest configs under test 2026-04-10 13:44:51 +01:00
Peter Steinberger
b64a03793c test: keep conservative full-suite shards aggregated 2026-04-10 13:36:48 +01:00
Peter Steinberger
66ac5194f7 test: honor low-worker full-suite gate 2026-04-10 13:10:04 +01:00
Peter Steinberger
2138273d63 test: run full suite shards in parallel locally 2026-04-10 12:58:29 +01:00
Peter Steinberger
0b0c062e97 fix: avoid Claude CLI subscription prompt classifier 2026-04-10 10:52:35 +01:00
Peter Steinberger
56cf1bd40c test: move image generation live sweep out of src 2026-04-10 09:47:57 +01:00
Sliverp
1bbe66450e fix: copy SKILL.md as hard copy in dist-runtime to prevent realpath security check failure (#64166)
SKILL.md files were created as symlinks pointing to dist/, causing
realpathSync() in resolveContainedSkillPath to resolve outside the
dist-runtime/ directory. The security check then rejected the path,
resulting in all 23 plugin skills being skipped at load time.

Add SKILL.md to the shouldCopyRuntimeFile whitelist so it gets a hard
copy instead of a symlink, matching the existing behavior for
package.json and plugin.json files.

Fixes #64138
2026-04-10 15:41:28 +08:00
Vincent Koc
3cea11d3b6 test(boundary): route helper imports through bundled plugin surfaces 2026-04-10 08:05:56 +01:00
Pavan Kumar Gondhi
2d126fc623 fix(infra): expand host env security policy denylist [AI] (#63277)
* fix: address issue

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: close host env inherited sanitization gap

* fix: enforce host env reported baseline coverage

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* docs: add changelog entry for PR merge
2026-04-10 11:36:39 +05:30
Sean
c61be87b0e fix: prevent sandbox browser CDP startup hangs (#62873) (thanks @Syysean)
* refactor(sandbox): remove socat proxy and fix chromium keyring deadlock

* fix(sandbox): address review feedback by reinstating cdp isolation and stability flags

* fix(sandbox): increase entrypoint cdp timeout to 20s to honor autoStartTimeoutMs

* fix(sandbox): align implementation with PR description (keyring bypass, fail-fast, watchdog)

* fix

* fix(sandbox): remove bash CDP watchdog to eliminate dual-timeout race

* fix(sandbox): apply final fail-fast and lifecycle bindings

* fix(sandbox): restore noVNC and CDP port offset

* fix(sandbox): add max-time to curl to prevent HTTP hang

* fix(sandbox): align timeout with host and restore env flags

* fix(sandbox): pass auto-start timeout to container and restore wait -n

* fix(sandbox): update hash input type to include autoStartTimeoutMs

* fix(sandbox): implement production-grade lifecycle and timeout management

- Add strict integer validation for port and timeout environment variables
- Implement robust two-stage trap cleanup (SIGTERM with SIGKILL fallback) to prevent zombie processes
- Refactor CDP readiness probe to use absolute millisecond-precision deadlines
- Add early fail-fast detection if Chromium crashes during the startup phase
- Track all daemon PIDs explicitly for reliable teardown via wait -n

* fix(sandbox): allow renderer process limit to be 0 for chromium default

* fix(sandbox): add autoStartTimeoutMs to SandboxBrowserHashInput type

* test(sandbox): cover browser timeout cleanup

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-10 10:26:38 +05:30
Altay
8cf02e7c47 fix(ci): clear check-additional follow-up regressions (#63934)
* fix(ci): route messaging temp files through openclaw tmp dir

* fix(ci): clear qa-lab follow-up guardrails

* fix(ci): own-check ACP fallback resolvers

* fix(ci): preserve memory-core write error causes

* fix(ci): narrow qa-channel boundary alias

* fix(test): type memory-core dreaming api stubs
2026-04-09 23:47:59 +01:00
Mason
164287f056 docs-i18n: avoid ambiguous body-only wrapper unwrap (#63808)
* docs-i18n: avoid ambiguous body-only wrapper unwrap

* docs: clarify targeted testing tip

* changelog: include docs-i18n follow-up thanks
2026-04-10 00:01:17 +08:00
Mason
06dea262c4 docs-i18n: chunk raw doc translation (#62969)
Merged via squash.

Prepared head SHA: 6a16d66486
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-09 23:22:16 +08:00
Peter Steinberger
fbbb4f02d1 test: allow slower CLI metadata help rendering 2026-04-09 10:13:20 +01:00
Davanum Srinivas
08ae021d1f fix(qqbot): guard image-size probe against SSRF (#63495)
* fix(qqbot): replace raw fetch in image-size probe with SSRF-guarded fetchRemoteMedia

Replace the bare fetch() in getImageSizeFromUrl() with fetchRemoteMedia()
from the plugin SDK, closing the blind SSRF via markdown image dimension
probing (GHSA-2767-2q9v-9326).

fetchRemoteMedia options: maxBytes 65536, maxRedirects 0, generic
public-network-only SSRF policy (no hostname allowlist, blocks
private/reserved/loopback/link-local/metadata IPs after DNS resolution).

Also fixes the repo-root resolution in scripts/lib/ts-guard-utils.mjs
which caused lint:tmp:no-raw-channel-fetch to miss extension files
entirely. The guard now walks up to .git instead of hardcoding two parent
traversals, and the allowlist is refreshed with all pre-existing raw
fetch callsites that became visible.

* fix(qqbot): guard image-size probe against SSRF (#63495) (thanks @dims)

---------

Co-authored-by: sliverp <870080352@qq.com>
2026-04-09 16:48:04 +08:00