Peter Steinberger
a2fb4d3682
fix: resolve sqlite rebase fallout
2026-05-28 00:46:37 +01:00
Peter Steinberger
fcca98d9d1
fix: preserve sqlite rebase compatibility
2026-05-28 00:46:36 +01:00
Peter Steinberger
5c9c0e5ef4
fix: repair sqlite rebase fallout
2026-05-28 00:46:34 +01:00
Peter Steinberger
1fd94dfde7
fix(sqlite): align rebased runtime surfaces
2026-05-28 00:46:34 +01:00
Peter Steinberger
cdc7c62802
fix: restore sqlite runtime CI
2026-05-28 00:46:32 +01:00
Peter Steinberger
138fc66aec
fix: restore sqlite runtime build
2026-05-28 00:46:32 +01:00
Peter Steinberger
c6ee68b751
Reapply "refactor: move runtime state to SQLite"
...
This reverts commit 694ca50e97 .
2026-05-28 00:46:31 +01:00
Fermin Quant
3f9d2415ac
fix(cron): stabilize isolated prompt cache affinity
...
Stabilize isolated cron prompt cache affinity by deriving a stable prompt cache key per cron job/session/model and forwarding it separately from the rotating run session id.
Thread the key through embedded runs, stream resolution, provider options, proxy forwarding, custom streams, and prompt-cache observability. Keep OpenAI-compatible payloads valid by using hyphen-safe keys, clamping upstream prompt_cache_key values, and omitting affinity when cache retention is disabled.
Thanks @ferminquant.
Co-authored-by: Fermin Quant <ferminquant@hotmail.com >
2026-05-28 00:31:19 +01:00
Vincent Koc
da5fe990d8
fix(codex): report quarantined dynamic tools
2026-05-28 00:56:30 +02:00
Sarah Fortune
6ac3561c69
fix(codex): format skills command output ( #87400 )
2026-05-27 15:43:05 -07:00
Peter Steinberger
cf47580a45
test(ci): align startup and model fixtures
2026-05-27 18:09:03 -04:00
Mariano
7299c56953
Fix sub-agent cwd/workspace separation ( #87218 )
...
Merged via squash.
Prepared head SHA: f47b073830
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-05-27 23:55:24 +02:00
Peter Steinberger
7f7eca1ad2
fix(codex): preserve shared app-server after startup app errors ( #87399 )
...
* fix(codex): preserve shared app-server after startup app errors
* fix(codex): align startup cleanup tests with current types
* test(config): isolate installed plugin ledger cache
2026-05-27 21:50:41 +01:00
Alix-007
f4329fe0d6
fix(agents): bound plugin system context
...
* fix(agents): bound plugin system context
* test(agents): align wrapped system context expectations
* style(agents): format hook context helper
* test(codex): expect plugin system context boundary
---------
Co-authored-by: Alix-007 <267018309+Alix-007@users.noreply.github.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-27 21:16:15 +01:00
Peter Steinberger
d30ba7f961
fix(ci): satisfy codex extension lint
2026-05-27 16:05:06 -04:00
Dallin Romney
cc2948d1e1
fix(codex): narrow legacy hook generation grace ( #87386 )
2026-05-27 13:01:44 -07:00
Peter Steinberger
d93524d1cc
fix(codex): route workspace memory through tools ( #87383 )
...
* fix(codex): route workspace memory through tools
* fix(codex): preserve extra memory bootstrap files
* fix(codex): support memory_get-only context routing
* fix(codex): only tool-route canonical workspace memory
* fix(codex): keep memory fallback for sandbox workspaces
2026-05-27 20:55:27 +01:00
Yuval Dinodia
74f9d6b96d
fix(codex): preserve shared app-server when spawned helper run fails logically ( #72574 ) ( #87375 )
...
* fix(codex): preserve shared app-server when spawned helper run fails logically
* fix(codex): widen spawnedBy param to match EmbeddedRunAttemptParams
* fix(codex): align spawnedBy startup typing
* fix(codex): retire shared client on spawned startup timeout
* fix(codex): narrow spawned thread-start preservation
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-27 20:48:18 +01:00
Peter Steinberger
94749b0a45
fix(cli): reject malformed numeric inputs
2026-05-27 15:43:12 -04:00
Alex Knight
42e9504114
fix(codex): preserve native hook relay across restarts
...
Fixes #87331.\n\nPersist Codex native hook relay generations for real app-server resumes, keep a bounded legacy-binding grace path, and rotate generation on fresh-thread fallback so stale hook commands stay rejected.\n\nCo-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com >
2026-05-27 19:55:19 +01: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
Shadow
1806b152a9
fix: add ClawHub plugin display names ( #87354 )
2026-05-27 12:37:35 -05:00
Peter Steinberger
05b23e9b7e
refactor(codex): extract app-server notification state
2026-05-27 18:31:06 +01:00
Vincent Koc
b182b71d74
fix(e2e): align prerelease and google live guards
2026-05-27 19:30:27 +02:00
Peter Steinberger
a4c2e7f5cf
refactor(codex): split app-server attempt seams
2026-05-27 18:11:16 +01:00
Vincent Koc
8ee767baa7
fix(ci): pin aged lru cache lock entry
2026-05-27 18:17:09 +02:00
Peter Steinberger
7aaca4a8a6
chore(release): prepare 2026.5.27
2026-05-27 16:53:50 +01:00
Syu
0503853c29
fix(agents): keep runtime context before active user turns
...
Fix runtime context placement so hidden runtime context is model-visible before the active user turn without persisting as a visible/session message.
Verification:
- git diff --check origin/main...origin/pr/86995-merge
- gh pr checks 86995 --repo openclaw/openclaw --watch=false
- gh run rerun 26493979156 --repo openclaw/openclaw --failed
- gh run watch 26493979156 --repo openclaw/openclaw --exit-status
- CodeQL run 26493979156 attempt 2, Security High (mcp-process-tool-boundary) job 78066719467 passed
2026-05-27 12:31:56 +01:00
Peter Steinberger
42387aff59
test(codex): align provider claim expectation
2026-05-27 11:03:50 +01:00
Peter Steinberger
2babe03bf5
perf(gateway): cache stable plugin index fingerprints
2026-05-27 11:03:50 +01:00
Cathryn Lavery
730ac1a68d
fix(agents/harness): validate forced plugin harness support before pinning ( #74341 )
...
Validates forced plugin harness support for the requested provider/model before pinning Codex or any other plugin harness. This prevents an explicitly forced Codex runtime from accepting unsupported OpenAI-like providers through a hardcoded bypass while preserving implicit PI fallback and CLI runtime alias passthrough.
Regression coverage covers forced Codex rejection for unsupported openai/openai-codex support, Codex provider support declarations, CLI attempt routing, pi-embedded auth/profile forwarding fakes, Testbox scenario probes, and live Docker Codex plugin E2E.
Thanks @cathrynlavery.
2026-05-27 09:59:04 +01:00
Vincent Koc
ca990f2ce1
fix(codex): keep attempt watchdog for queued terminal turns
...
Keep the Codex app-server full attempt watchdog armed after a terminal turn notification is queued, so a wedged notification projector cannot leave a run stuck indefinitely.
Proof:
- `git diff --check origin/main...HEAD`
- `node scripts/run-oxlint.mjs extensions/codex/src/app-server/run-attempt.ts extensions/codex/src/app-server/run-attempt.test.ts`
- `node scripts/run-vitest.mjs run extensions/codex/src/app-server/run-attempt.test.ts --testNamePattern "keeps the attempt watchdog armed"` passed in PR proof (`1 passed | 232 skipped`)
- `OPENCLAW_TESTBOX=1 pnpm check:changed` passed in `tbx_01kskyg44ej461k574jee8ffjc`
- CI required checks green after `build-artifacts` rerun job `78031279635` passed
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-05-27 08:50:59 +01:00
Peter Steinberger
e718d471f2
test(codex): mirror raw reasoning event order
2026-05-27 08:29:18 +01:00
Peter Steinberger
4314eadc79
fix(codex): keep raw assistant release path intact
2026-05-27 08:29:18 +01:00
Peter Steinberger
284098d2d8
fix(codex): preserve raw reasoning source-reply guard
2026-05-27 08:29:18 +01:00
Username
4d6bcf9f17
test(codex): verify completion idle watch arms after non-assistant rawResponseItem/completed
...
Regression test for the binary stall fix: when rawResponseItem/completed
arrives with a non-assistant type (e.g. "reasoning") and all tracked
items have completed, the completion idle watch must stay armed so the
stall is caught in 60s, not 30 minutes.
Refs openclaw/openclaw#87071
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-27 08:29:18 +01:00
Username
a36c82ba8b
fix(codex): arm completion idle watch after rawResponseItem/completed with no active items
...
When the codex binary emits rawResponseItem/completed and all tracked
items have completed (activeTurnItemIds empty, no active requests), the
binary should deliver turn/completed imminently. Previously, a
rawResponseItem/completed that didn't qualify as a post-tool assistant
completion would actively disarm the completion idle watch, leaving only
the 30-minute terminal timeout to catch a stalled binary. This caused
turns to hang for up to 30 minutes when the OpenAI Responses API fails
to deliver response.completed to the binary.
Now, rawResponseItem/completed with no active items arms the 60s
completion idle watch and is excluded from the disarm path, so stalled
binaries are detected in 60s instead of 30 minutes.
Refs openclaw/openclaw#87071
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-27 08:29:18 +01:00
Steady-ai
eb8f9b46da
fix(codex): avoid native compaction on budget triggers ( #86772 )
...
* fix(codex): avoid native compaction on budget triggers
* fix(codex): require manual trigger for native compaction
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-27 05:04:35 +01:00
Peter Steinberger
d2711c900d
perf(gateway): reuse prepared auth stores
2026-05-27 04:51:43 +01:00
Peter Steinberger
1ce363743a
test: speed up codex app server run attempts
2026-05-27 04:51:20 +01:00
Peter Steinberger
231a812276
build(codex): update Codex CLI to 0.134.0
2026-05-27 04:42:12 +01:00
Peter Steinberger
0cfccdb0c7
fix(codex): keep WebChat delivery hints out of user requests
...
Land PR #87003 from @ragesaq with a maintainer fix for routed room events.
Co-authored-by: Forge <forge@psiclawops.dev >
2026-05-27 03:44:27 +01:00
Vincent Koc
d7d037b46f
fix(codex): quarantine unsupported dynamic tool schemas
2026-05-27 04:02:07 +02:00
Shakker
c0f8224109
fix: resolve final codex mirror prompt
2026-05-27 02:38:58 +01:00
Shakker
2bd38da4b0
fix: mark final codex mirror user persistence
2026-05-27 02:38:58 +01:00
Shakker
c86214345f
fix: keep user turn enrichment off dispatch
2026-05-27 02:38:58 +01:00
Shakker
696fb41c5b
fix: restore user turn persistence checks
2026-05-27 02:38:58 +01:00
Shakker
44bdc521f7
refactor: carry prepared user turns on recorder
2026-05-27 02:38:58 +01:00
Shakker
ce465d4422
refactor: let recorder track runtime persistence pending
2026-05-27 02:38:58 +01:00
Shakker
51d3e363e3
fix: return persisted codex mirror user messages
2026-05-27 02:38:58 +01:00