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
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
Peter Steinberger
0c5f622f9a
perf(discord): use libopus-wasm for voice opus
2026-05-26 02:53:29 +01:00
Vincent Koc
43252c8099
fix(scripts): harden Windows native opus install
2026-05-24 21:28:09 +02:00
Vincent Koc
0a98559440
fix(scripts): harden Windows generated formatting
2026-05-24 20:50:07 +02:00
Vincent Koc
125d82cab2
fix(test): repair split agent shard runs
2026-05-24 15:37:59 +02:00
Vincent Koc
9ff4d36c98
fix(test): fail missing explicit test targets
2026-05-24 11:46:51 +02:00
Peter Steinberger
691d62630f
test: keep slow tests under duration cap
2026-05-18 00:26:44 +01:00
Peter Steinberger
6a8a6551fc
test(discord): cover durable chunk retry delivery ( #82898 )
...
* test(discord): cover durable chunk retry delivery
* test(discord): use plugin sdk test runtime
* fix(telegram): satisfy message cache strict checks
* test(discord): include durable delivery in changed lane
2026-05-17 06:11:58 +01:00
Peter Steinberger
266722500c
fix(ui): avoid noisy i18n report locale warnings
2026-05-14 10:27:12 +01:00
samzong
4e76d6e427
fix(ui): harden i18n report filters
...
Signed-off-by: samzong <samzong.lu@gmail.com >
2026-05-14 10:27:12 +01:00
samzong
ee9d471865
feat(ui): add i18n baseline report
...
Signed-off-by: samzong <samzong.lu@gmail.com >
2026-05-14 10:27:12 +01:00
Vincent Koc
e064cc98f0
fix(ci): skip locale refresh on invalid provider auth
2026-05-14 14:13:39 +08:00
Vincent Koc
8f612787a8
fix(ci): restore control ui locale refresh
2026-05-14 13:58:27 +08:00
Shakker
a63267eb6a
test: verify generated core values
2026-05-11 17:07:48 +01:00
Peter Steinberger
863fe90249
chore(installer): remove legacy cmd installer
2026-05-10 06:59:33 +01:00
Peter Steinberger
e60928d13c
ci: verify and sync website installers ( #80067 )
...
* ci: verify and sync website installers
* test: fix pi runner boundary test type cast
* fix(installer): scope Windows legacy cleanup to git checkout
* ci: install curl for minimal install-cli smoke
* fix(installer): promote supported Linux node after install
* test(cli): align command hint expectations
* fix(installer): avoid shellcheck warning in node promotion
* fix(installer): sync Linux path hardening
* ci: raise build artifact testbox heap
* test(installer): align PowerShell installer tests
2026-05-09 23:48:49 -04:00
Peter Steinberger
42babf5486
test: tighten test projects cache assertion
2026-05-09 20:52:57 +01:00
Peter Steinberger
9bf5f52a19
test: tighten docs link audit invocations
2026-05-09 20:51:53 +01:00
Peter Steinberger
3dfbf5af43
test: tighten codex ci auth payload assertions
2026-05-09 20:50:37 +01:00
Peter Steinberger
d7b73d8d94
test: tighten live media plan assertion
2026-05-09 12:14:18 +01:00
Shakker
ef2be8a982
test: tighten script empty array assertions
2026-05-09 04:48:47 +01:00
Peter Steinberger
7e503bdbbb
test: tighten ci changed scope injection assertion
2026-05-09 01:29:03 +01:00
Peter Steinberger
a33d994e3a
test: simplify ci changed scope output parsing
2026-05-08 23:49:56 +01:00
Peter Steinberger
c895afe872
test: tighten live media chunk helpers
2026-05-08 21:04:00 +01:00
Shakker
f10e5c80f1
test: tighten live media plan assertions
2026-05-08 21:02:06 +01:00
Shakker
4b913dc347
test: tighten docs audit invocation assertions
2026-05-08 20:56:08 +01:00
Peter Steinberger
9ef37d1907
test: tighten assertions and harness coverage
2026-05-08 05:28:12 +01:00
Vincent Koc
c97998ce21
chore(channels): remove bluebubbles bundled surface
2026-05-07 12:52:48 -07:00
Vincent Koc
b165c0d10a
fix(ci): restore main validation
2026-05-07 03:39:26 -07:00
Peter Steinberger
330ba1fa31
refactor: move canvas to plugin surfaces
2026-05-07 09:07:18 +01:00
Peter Steinberger
7cab067bce
ci: scope prompt snapshot boundary check
2026-05-07 01:31:50 +01:00
Peter Steinberger
2ead1502c9
feat: route outbound sends through durable lifecycle
2026-05-06 01:46:42 +01:00
Val Alexander
a1304c92c6
Fix Control UI i18n tooltip placeholders
...
Summary:
- Render the Sessions active filter tooltip with the configured minute count instead of a literal N.
- Update all Control UI locale bundles and i18n translation memory rows to preserve the {count} placeholder.
- Add a placeholder parity guard to the Control UI i18n check with regression coverage.
Verification:
- pnpm ui:i18n:check
- pnpm test src/scripts/control-ui-i18n.test.ts ui/src/ui/views/sessions.test.ts
- git diff --check
- Testbox exact-head pnpm check:changed passed on prior rebased head 1333aac90b before latest main churn.
- GitHub CI on fd2068c378 only failed the pre-existing unrelated checks-node-core-fast timeout in src/auto-reply/reply/followup-delivery.test.ts:176, also present on recent main runs b31c001a2b and e5f5989aa9 .
2026-05-04 03:18:34 -05:00
Peter Steinberger
8b4808d543
fix(release): align beta plugin changelog sections
2026-05-03 17:56:07 +01:00
Peter Steinberger
95f5b265c1
test: align support-boundary expectations
2026-05-03 15:04:02 +01:00
Peter Steinberger
4760ee4055
chore: remove root assets
2026-05-03 13:20:26 +01:00
Peter Steinberger
869103684f
chore: move swabble into apps
2026-05-03 13:10:25 +01:00
Vincent Koc
d583662fd9
test(tooling): isolate a2ui copy env
2026-05-03 01:07:58 -07:00
clawsweeper[bot]
cb31616d88
fix(ui): clean up delete confirm popover listener ( #76318 )
...
Summary:
- The PR centralizes Control UI chat delete-confirm popover dismissal, adds listener-cleanup regression coverage and unit-UI test routing fixes, and records the fix in the changelog.
- Reproducibility: yes. Current-main source shows a high-confidence path: open the delete confirm, let `reques ... ncel, Delete, or same-button toggle; those paths remove the popover without removing the document listener.
Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(ui): clean up delete confirm popover listener
- PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-7559…
- PR branch already contained follow-up commit before automerge: fix(clawsweeper): reconcile automerge-openclaw-openclaw-75590 with ma…
- PR branch already contained follow-up commit before automerge: fix(ui): repair delete confirm listener cleanup checks
Validation:
- ClawSweeper review passed for head 62240d8153 .
- Required merge gates passed before the squash merge.
Prepared head SHA: 62240d8153
Review: https://github.com/openclaw/openclaw/pull/76318#issuecomment-4364990281
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: Ricardo-M-L <69202550+Ricardo-M-L@users.noreply.github.com >
2026-05-03 02:21:10 +00:00
Peter Steinberger
cdd8e81075
ci: orchestrate plugin release publishing
2026-05-02 07:24:02 +01:00
Peter Steinberger
ed8f50f240
refactor: simplify plugin dependency handling
...
Simplify plugin installation and runtime loading around package-manager-owned dependencies, with Jiti reserved for local/TS fallback paths.
Also scans npm plugin install roots so hoisted transitive dependencies are covered by dependency denylist and node_modules symlink checks.
2026-05-01 21:32:22 +01:00
Vincent Koc
26c03c761f
test(ci): align CI guard expectations
2026-04-29 12:09:09 -07:00
Peter Steinberger
b92d145252
fix(ci): repair discord route and health fixtures
2026-04-29 15:58:56 +01:00
Peter Steinberger
0be8d127d6
test(scripts): update discord changed-lane expectation
2026-04-29 14:22:58 +01:00
Peter Steinberger
1184925572
fix(ci): speed up release validation live probes
2026-04-28 23:03:57 +01:00
Peter Steinberger
c3c8d66acf
test: align acp fast-lane routing assertions
2026-04-28 07:22:14 +01:00
Peter Steinberger
e1acb61317
refactor: expose SDK test helper subpaths
2026-04-28 03:28:17 +01:00
Peter Steinberger
8057561cee
refactor: promote plugin test helpers to sdk
2026-04-28 00:55:11 +01:00
Peter Steinberger
f15c9f1d5f
test: move more setup-free tests to unit-fast
2026-04-27 13:56:21 +01:00