Peter Steinberger
26a8432ee1
fix(ci): align release and image tests
2026-05-27 15:44:56 -04:00
Patrick Erichsen
ee57f341f0
Add ClawHub skill verification and trust surfaces ( #86699 )
...
* feat(skills): fetch ClawHub skill verification
* feat(skills): resolve ClawHub verification targets
* feat(skills): add ClawHub verify command
* docs(skills): document ClawHub verification
* test(skills): type verify CLI fixture
* fix(skills): fetch verified skill card URL
* fix(skills): bound verified card downloads
* fix(skills): fail closed on malformed verification
* fix(skills): corroborate ClawHub install origins
* feat(skills): surface ClawHub trust in control UI
* chore(protocol): refresh generated gateway models
* chore(ui): refresh i18n raw copy baseline
* docs: clarify skills verify wording
* fix: fail closed on skill trust mismatches
* fix: reject incomplete clawhub provenance
* fix: satisfy trust verdict lint
* fix: restore ci checks after main merge
2026-05-27 14:23:24 -05:00
Peter Steinberger
bb46b79d3c
refactor: internalize OpenClaw agent runtime ( #85341 )
...
* refactor: extract agent core package
Introduce packages/agent-core as the OpenClaw-owned home for reusable agent loop, harness, session, prompt, and runtime dependency contracts.
* refactor: extract shared llm runtime
Move provider model registries, stream wrappers, OAuth helpers, and LLM utilities into src/llm with plugin-sdk barrels instead of depending on the old embedded runtime layout.
* refactor: remove pi runtime internals
Rename remaining Pi-shaped agent surfaces to OpenClaw agent runtime names, delete obsolete Pi docs and package graph checks, and add the third-party notice for incorporated code.
* refactor: tighten agent session runtime
Make agent-core/runtime dependencies explicit, consolidate compaction and session transcript helpers, and move model/session helpers behind OpenClaw-owned contracts.
* refactor: remove static model and pi auth paths
Drop static model catalogs and Pi auth bridges, move model/provider facts to manifest-owned runtime contracts, and harden internal embedded-agent utilities.
* refactor: remove legacy provider compat paths
* docs: remove agent parity notes
* fix: skip provider wildcard metadata parsing
* refactor: share session extension sdk loading
* refactor: inline acpx proxy error formatter
* refactor: fold edit recovery into edit tool
* fix: accept extension batch separator
* test: align startup provider plugin expectations
* fix: restore provider-scoped release discovery
* test: align static asset packaging expectations
* fix: run static provider catalogs during scoped discovery
* fix: add provider entry catalogs for scoped live discovery
* fix: load lightweight provider catalog entries
* fix: refresh provider-scoped plugin metadata
* fix: keep provider catalog entries on release live path
* fix: keep static manifest models in release live checks
* fix: harden release model discovery
* fix: reduce OpenAI live cache probe reasoning
* fix: disable OpenAI cache probe reasoning
* ci: extend OpenAI gateway live timeout
* fix: extend live gateway model budget
* fix: stabilize release validation regressions
* fix: honor provider aliases in model rows
* fix: stabilize release validation lanes
* fix: stabilize release memory qa
* ci: stabilize release validation lanes
* ci: prefer ipv4 for live docker node calls
* fix: restore shared tool-call stream wrapper
* ci: remove legacy pi test shard alias
* fix: clean up embedded agent test drift
* fix: stabilize runtime alias status
* fix: clean up embedded agent ci drift
* fix: restore release ci invariants
* fix: clean up post-rebase runtime drift
* fix: restore release ci checks
* fix: restore release ci after rebase
* fix: remove stale pi runtime path
* test: align compaction runtime expectations
* test: update plugin prerelease expectations
* fix: handle claude live tool approvals
* fix: stabilize release validation gates
* fix: finish agent runtime import
* test: finish post-rebase agent runtime mocks
* fix: keep codex compaction native
* fix: stabilize codex app-server hook tests
* test: isolate codex diagnostic active run
* test: remove codex diagnostic completion race
# Conflicts:
# extensions/codex/src/app-server/run-attempt.test.ts
* ci: fix full release manifest performance run id
* refactor: narrow llm plugin sdk boundary
* chore: drop generated google boundary stamps
* fix: repair rebase fallout
* fix: clean up rebased runtime references
* fix: decode codex jwt payloads as base64url
* fix: preserve shipped pi runtime alias
* fix: add scoped sdk virtual modules
* fix: decode llm codex oauth jwt as base64url
* fix: avoid stale vertex adc negative cache
* fix: harden tool arg decoding and codeql path
* fix: keep vertex adc negative checks live
* refactor: consolidate codex jwt and edit helpers
* fix: await codex oauth node runtime imports
* fix: preserve sdk tool and notice contracts
* fix: preserve shipped compat config boundaries
* fix: align codex oauth callback host
* fix: terminate agent-core loop streams on failure
* fix: keep codex oauth callback alive during fallback
* ci: include session tools in critical codeql scans
* fix: keep Cloudflare Anthropic provider auth header
* docs: redirect legacy pi runtime pages
* fix: honor bundled web provider compat discovery
* fix: protect session output spill files
* fix: keep legacy agent dir env blocked
* fix: contain auto-discovered skill symlinks
* fix: harden agent core sdk proxy surfaces
* fix: restore approval reaction sdk compat
* fix: keep live docker runs bounded
* fix: keep codex oauth redirect host aligned
* fix: resolve post-rebase agent runtime drift
* fix: redact anthropic oauth parse failures
* fix: preserve responses strict tool shaping
* fix: repair agent runtime rebase cleanup
* docs: redirect retired parity pages
* fix: bound auto-discovered resources to roots
* fix: repair post-rebase agent test drift
* fix: preserve bundled provider allowlist migration
* fix: preserve manifest-owned provider aliases
* fix: declare photon image dependency
* fix: keep provider headers out of proxy body
* fix: preserve shipped env aliases
* fix: refresh control ui i18n generated state
* fix: quote read fallback paths
* fix: preview edits through configured backend
* test: satisfy core test typecheck
* fix: preserve ZAI usage auth fallback
* test: repair codex diagnostic test
* fix: repair agent runtime rebase drift
* test: finish embedded runner import rename
* fix: repair agent runtime rebase integrations
* test: align compaction oauth fallback expectations
* fix: allow sdk-auth session models
* fix: update doctor tool schema import
* fix: preserve bedrock plugin region
* fix: stream harmony-like prose immediately
* ci: include session runtime in codeql shards
* fix: repair latest rebase integrations
* fix: honor explicit codex websocket transport
* fix: keep openai-compatible credentials provider-scoped
* fix: refresh sdk api baseline after rebase
* fix: route cli runtime aliases through openclaw harness
* test: rename stale harness mock expectation
* test: rename embedded agent overflow calls
* test: clean embedded auth test wording
* test: use openclaw stream types in deepinfra cache test
* fix: refresh sdk api baseline on latest main
* fix: honor bundled discovery compat allowlists
* fix: refresh sdk api baseline after latest rebase
* fix: remove stale rebase imports
* test: rename stale model catalog mock
* test: mock renamed doctor runtime modules
* fix: map canonical kimi env auth
* fix: use internal model registry in bench script
* fix: migrate deepinfra provider catalog entry
* fix: enforce builtin tool suppression
* fix: route compaction auth and proxy payloads safely
* refactor: prune unused llm registry leftovers
* test: update codex hooks session import
* test: fix model picker ci coverage
* test: align model picker auth mock types
2026-05-27 19:24:04 +01:00
Peter Steinberger
95c8fc9678
ci: support native Windows Crabbox daemon hydration ( #87175 )
...
* ci: support native Windows Crabbox hydration
* ci: use Windows PowerShell for Crabbox hydrate
* ci: reduce Windows pnpm install handle pressure
* ci: narrow native Windows hydrate install scope
* ci: keep Windows hydrate workspace-complete
* ci: persist Windows hydrate tool paths
* ci: split native Windows Crabbox hydration job
* ci: scope native Windows hydrate to daemon proof
* ci: use PowerShell for Windows hydrate fetch
* ci: write Windows hydrate command files as UTF-8
* ci: document Windows hydrate runner mode
* ci: preserve custom Crabbox hydrate markers
* ci: avoid forced copy imports in Windows hydrate
2026-05-27 06:32:09 +01:00
Vincent Koc
eb15c443fc
fix(docker): bound live setup commands
2026-05-27 00:38:17 +02:00
Vincent Koc
be2213e46e
fix(ci): preserve docker pull retry failures
2026-05-26 23:30:07 +02:00
Peter Steinberger
f7e2d9bb47
ci(release): port 2026.5.25 release gate fixes
2026-05-26 21:19:51 +01:00
Vincent Koc
081e29595e
fix(ci): kill timed tui pty test runs
2026-05-26 18:55:47 +02:00
Vincent Koc
e96cde7e14
fix(ci): bound docker pull smoke steps
2026-05-26 17:28:37 +02:00
Vincent Koc
5ef812293b
fix(codex): bridge cli api-key auth into app-server
2026-05-26 17:19:50 +02:00
Vincent Koc
d1c8f09b00
fix(ci): bound crabbox hydrate downloads
2026-05-26 15:57:01 +02:00
Vincent Koc
c38b5033e6
fix(ci): kill timed workflow process groups
2026-05-26 15:40:44 +02:00
Vincent Koc
0cca7861c1
fix(e2e): kill timed setup process groups
2026-05-26 15:31:56 +02:00
Vincent Koc
8c7f226401
fix(e2e): time out live docker setup installs
2026-05-26 14:58:45 +02:00
Vincent Koc
92fb79ee69
fix(ci): fail Testbox changed-check delegation
2026-05-26 13:24:42 +02:00
Vincent Koc
94a04e1aa6
ci(release): retry transient GitHub API suspension errors ( #86859 )
2026-05-26 12:17:38 +01:00
Vincent Koc
f0599fddac
fix(e2e): time out live image pulls
2026-05-26 12:48:38 +02:00
Vincent Koc
d1f2eb0709
fix(e2e): time out live Docker runs
2026-05-26 12:24:13 +02:00
Peter Steinberger
0e733795f4
ci(release): include performance run in validation manifest
2026-05-26 10:03:41 +01:00
Peter Steinberger
c4f0682396
test: align pnpm cache workflow assertion
2026-05-26 04:41:44 +01:00
Peter Steinberger
9f7485e182
test: port release validation stabilizers
2026-05-25 21:50:49 +01:00
Peter Steinberger
5a9673ecd7
test: stabilize release validation test harnesses
2026-05-25 21:35:29 +01:00
Vincent Koc
295339d616
fix(test): fail live gateway false greens
2026-05-24 12:38:23 +02:00
Vincent Koc
bca1ac03fe
fix(ci): keep Crabbox pnpm hydration shims writable
2026-05-24 11:31:36 +02:00
Peter Steinberger
d2e9f91cec
test: align full release dispatch assertion
2026-05-23 20:24:30 +01:00
Peter Steinberger
9cef99f184
test: clean up Codex app-server run failures
2026-05-23 20:12:44 +01:00
Jason O'Neal
7fffbf60b0
fix: harden package URL downloads ( #85578 )
...
* fix: harden package URL downloads
Guard package acceptance URL downloads with HTTPS-only validation, no embedded credentials, private/special-use DNS and IP rejection, manual redirect checks, bounded timeout/size limits, pinned lookup, and atomic temp-file writes. Add tooling tests for unsafe URLs, redirect validation, size limits, and successful writes.
* fix: cancel redirect response bodies before closing dispatcher
ClawSweeper P2: the redirect branch in openPackageDownloadResponse cleared
the timeout and awaited dispatcher.close() without first cancelling
response.body. Undici's close() is graceful — it waits for in-flight
requests to complete — so a malicious redirect with a slow/never-ending
body could hang the hardened downloader.
Fix: call response.body?.cancel() before dispatcher.close() to abort the
redirect body immediately.
Test: add a regression test that uses a ReadableStream with an indefinite
interval to simulate a hanging body, and asserts cancel() was called.
Refs: clawsweeper review on PR #85512
* test: harden redirect body cancellation race in regression test
Guard the ReadableStream controller.enqueue() call with a cancelled
flag and try/catch to prevent ERR_INVALID_STATE when the interval
fires after cancel() closes the controller.
* fix: cancel final response body before closing dispatcher in downloadUrl
ClawSweeper P2: the HTTP-error and declared-oversize early-exit paths
in downloadUrl threw before consuming or canceling response.body. The
finally block then cleared the timeout and awaited graceful
dispatcher.close() with the body still open, allowing a slow/never-ending
response to hang release tooling.
Fix: add response.body?.cancel() in the finally block before
dispatcher.close().
Tests: add two regressions:
- HTTP 500 with slow body: asserts cancel() called before dispatcher close
- Declared content-length oversize with slow body: same assertion
* fix: add trusted package URL source policy
* fix: keep package URL resolver dependency-free
* test: cover encoded IPv6 package URL bypasses
* docs: sync package acceptance source overview
* docs: restore release doc formatting
* docs: sync package acceptance trusted-url source
* test: cover dotted IPv4 embedded IPv6 package URLs
* fix: parse dotted IPv4 embedded in IPv6 package URLs
* test: isolate anthropic pruning defaults
* test: move anthropic dated model coverage
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-23 17:28:29 +01:00
Peter Steinberger
35969ff440
ci: retry npm Telegram release dispatch
2026-05-23 17:19:00 +01:00
Vincent Koc
0d7d99befa
fix(ci): repair crabbox hydrate replay ( #85706 )
2026-05-23 20:02:07 +08:00
Vincent Koc
1e21121021
fix(ci): require live docker credentials by resource
2026-05-23 12:39:02 +02:00
Vincent Koc
cc6c3728c7
fix(ci): require factory auth for droid live docker
2026-05-23 12:20:26 +02:00
Dallin Romney
423f525438
test: align release validation package acceptance check ( #85515 )
2026-05-22 14:30:35 -07:00
Peter Steinberger
dcfc7e58fa
ci: unblock advisory Tideclaw alpha release checks
2026-05-22 22:09:18 +01:00
Peter Steinberger
4b63502279
ci: run binding command escape in release checks
2026-05-22 20:12:53 +01:00
Peter Steinberger
a0702e195d
build(pnpm): use packageManager as pnpm source
...
Recreated from #85108 because the original branch could not be updated by maintainers.
Preserves current-main pnpm install hardening while switching workflow pnpm setup to packageManager, and adds exact version-scoped release-age exclusions for already-locked packages that pnpm 11.2.2 audits during install.
Co-authored-by: Altay <altay@hey.com >
2026-05-22 19:17:43 +01:00
Vincent Koc
52759294ca
ci(package): gate acceptance on package integrity
2026-05-22 21:17:20 +08:00
Peter Steinberger
3eb2d64392
ci: add live Codex plugin release check
2026-05-21 08:44:18 +01:00
Peter Steinberger
624d920351
ci(release): keep focused validation reruns independent
2026-05-21 07:58:15 +01:00
Peter Steinberger
0604d25101
ci(release): preserve direct repair publishes
2026-05-21 07:58:15 +01:00
Peter Steinberger
1c5fda115f
ci(release): streamline beta publish verification
2026-05-21 07:58:15 +01:00
Peter Steinberger
3844513431
test: align release timeout budget expectations
...
(cherry picked from commit a185ca283a )
2026-05-20 22:38:43 +01:00
Peter Steinberger
2a01fbb56c
ci: keep ClawHub advisory for alpha publish
2026-05-20 01:57:00 +01:00
Peter Steinberger
eea71708ac
test(release): update workflow concurrency expectations
2026-05-20 01:16:43 +01:00
Peter Steinberger
af62fd45cd
test: stabilize release qa gates
2026-05-17 17:45:58 +01:00
Vincent Koc
1926982c4c
fix(qa-lab): refresh parity model targets
2026-05-17 23:12:26 +08:00
Peter Steinberger
1ceebf8a01
ci: harden release publish evidence
2026-05-17 06:34:58 +01:00
Peter Steinberger
c4d8e0be18
ci: harden release validation flow
2026-05-17 06:34:58 +01:00
Peter Steinberger
4859edd9f8
test(release): align hosted runner assertions
2026-05-15 17:34:29 +01:00
Peter Steinberger
55c275b00a
ci(release): require full validation before npm publish
2026-05-15 17:33:28 +01:00
Peter Steinberger
c91e20ac0c
ci(release): add candidate evidence checklist
2026-05-15 14:54:46 +01:00