Peter Steinberger
25e2017062
test(config): isolate auto-enable discovery cache case
2026-06-22 05:20:39 -04:00
Vincent Koc
21728777df
feat(plugins): externalize official provider batch
2026-06-19 01:05:52 +08:00
Vincent Koc
9592a83a29
refactor(config): dedupe plugin metadata test snapshots
2026-06-18 20:14:27 +08:00
NVIDIAN
2da7dc9f2c
test: cover auto-enable cache freshness
2026-06-09 18:08:28 +01:00
NVIDIAN
439b0582e2
perf(config): avoid stale implicit auto-enable cache
2026-06-09 18:08:28 +01:00
NVIDIAN
f13b6ea151
perf(config): dedupe plugin auto-enable fanout work
2026-06-09 18:08:28 +01:00
Peter Steinberger
0e8c5fd85d
docs: document security audit helpers
2026-06-04 04:04:43 -04: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
zhang-guiping
b3c7ef6e62
fix(config): preserve empty plugin allowlist ( #87883 )
...
Summary:
- The PR changes plugin auto-enable materialization so an explicit empty `plugins.allow` stays empty while non-empty restrictive allowlists are still extended, and adds a regression test.
- PR surface: Source +3, Tests +17. Total +20 across 2 files.
- Reproducibility: yes. Source inspection of current main shows an empty array reaches `ensurePluginAllowlisted`, and the linked report gives a concrete `doctor --fix` config path that matches that code.
Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.
Validation:
- ClawSweeper review passed for head c06837f5dd .
- Required merge gates passed before the squash merge.
Prepared head SHA: c06837f5dd
Review: https://github.com/openclaw/openclaw/pull/87883#issuecomment-4570537738
Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com >
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com >
2026-05-29 13:37:50 +00: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
pashpashpash
3ce922437f
fix: load Codex for selectable OpenAI agent models
...
Treat selectable configured OpenAI agent models as Codex runtime requirements during plugin auto-enable, startup planning, and doctor install repair.\n\nPR: https://github.com/openclaw/openclaw/pull/81591
2026-05-14 09:51:15 +08:00
Peter Steinberger
a39c05559b
fix: preserve Codex auth during route repair
...
Summary:
- repair legacy openai-codex model refs to canonical openai refs without losing Codex auth intent
- keep scoped repairs from broadening runtime policy to unrelated agent/channel routes
- preserve explicit concrete model runtime pins and shield listed-agent canonical refs from default policy spillover
Verification:
- pnpm test src/commands/doctor/shared/codex-route-warnings.test.ts src/config/plugin-auto-enable.core.test.ts src/commands/doctor/shared/missing-configured-plugin-install.test.ts
- env -u OPENCLAW_TESTBOX -u OPENCLAW_TESTBOX_ID pnpm check:changed
- GitHub checks for 81b2934240
2026-05-10 04:53:44 -04:00
Shakker
21317a69df
test: tighten config empty array assertions
2026-05-09 05:10:54 +01:00
Shakker
cf71412a35
test: tighten config empty object assertions
2026-05-09 04:01:03 +01:00
pashpashpash
02fe0d8978
Keep OpenAI Codex migrations on automatic runtime routing ( #79238 )
...
* fix: keep migrated openai codex routes automatic
* scope runtime policy to providers and models
* fix runtime policy surfaces
* fix ci runtime policy checks
* fix doctor stale session runtime pins
2026-05-08 16:05:35 +09:00
pashpashpash
1c33990108
Route OpenAI agents through Codex by default ( #78899 )
...
* route openai agent runs through codex
* fix: load codex plugin for implicit openai runtime
* fix: preserve explicit OpenAI PI Codex auth routing
* fix: show codex auth for openai model listing
* fix: map codex auth into configured openai list rows
* fix: preserve explicit openai pi auth routes
* docs: keep openai model route examples canonical
* fix: clean openai codex test fixtures
* fix: scope codex auth status fallback
* fix: repair current ci boundary drift
2026-05-07 19:46:49 +09:00
pashpashpash
3a901b5e95
Revert "Install Codex plugin on OpenAI model selection ( #78799 )" ( #78878 )
...
This reverts commit c8f3fecad6 .
2026-05-07 18:13:59 +09:00
pashpashpash
c8f3fecad6
Install Codex plugin on OpenAI model selection ( #78799 )
...
* route openai agent runs through codex
* fix: load codex plugin for implicit openai runtime
* docs: credit openai codex auth fix
* fix(agents): respect custom openai runtime routing
* fix(agents): install codex plugin on openai selection
* fix(agents): preserve OpenAI Codex auth switching
* fix(ci): restore channel contract runner expression
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-05-07 01:57:34 -07:00
Shakker
a7cc9e8a56
fix: require default discovery for metadata reuse
2026-05-07 06:48:13 +01:00
Shakker
ee7da91346
fix: guard metadata reuse on load paths
2026-05-07 06:48:13 +01:00
Shakker
1235f7f981
perf: reuse compatible auto-enable metadata
2026-05-07 06:10:05 +01:00
Peter Steinberger
093b2b9b5f
test: speed extension and contract scenarios
2026-05-06 00:54:06 +01:00
pashpashpash
8f4eaa9c00
Stop heartbeat tool turns from asking for HEARTBEAT_OK ( #76338 )
...
* fix heartbeat tool prompt sentinel
* fix: remove agent runtime fallback config
2026-05-03 13:46:26 +09:00
Peter Steinberger
23fd8a90f9
refactor: simplify plugin module loading
2026-05-02 01:41:09 +01:00
Peter Steinberger
343c69d7a1
fix: auto-enable media provider plugins
2026-04-28 12:05:30 +01:00
Intern Dev
f07844450c
Prevent disabled plugins from warming the gateway plugin graph
...
A local containment profile uses plugins.enabled=false to stop plugin and channel runtime churn. The previous startup path still built plugin lookup tables and doctor stale scans despite the global disable, which made the switch noisy and slow.
Constraint: plugins.enabled=false must leave channel blocker warnings intact while treating stale plugin config as inert.
Rejected: Clear user plugin config automatically | would mutate a reversible containment setting.
Confidence: high
Scope-risk: narrow
Directive: Do not reintroduce plugin registry discovery before checking plugins.enabled.
Tested: pnpm test src/gateway/server-startup-plugins.test.ts src/config/plugin-auto-enable.core.test.ts src/commands/doctor/shared/stale-plugin-config.test.ts src/commands/doctor/shared/preview-warnings.test.ts
Tested: pnpm check:changed
Tested: pnpm build
2026-04-27 23:57:31 +01:00
Peter Steinberger
f7d67b8ea8
fix(channels): ignore persisted auth for auto-enable
2026-04-27 20:33:43 +01:00
Shakker
a964dcbddb
fix: honor source plugin activation at startup
2026-04-27 14:29:49 +01:00
Shakker
a88f2ba939
fix: avoid startup auto-enable runtime defaults
2026-04-27 14:29:48 +01:00
Peter Steinberger
878e1a2201
fix(plugins): preload cli backend runtime owners
2026-04-26 08:59:41 +01:00
Peter Steinberger
5b9be2cdb1
fix: migrate agent runtime config
2026-04-26 08:12:44 +01:00
Peter Steinberger
cc28989b4b
test(config): cover codex plugin auto-enable boundaries
2026-04-24 06:38:54 +01:00
Peter Steinberger
9191fbe2b5
perf(test): reuse plugin validation fixtures
2026-04-23 11:04:07 +01:00
Peter Steinberger
fd93b7f2ab
perf(test): avoid bundled setup in auto-enable tests
2026-04-22 17:13:42 +01:00
Peter Steinberger
62864fb22c
test: reuse plugin auto-enable fixture environment
2026-04-22 06:43:12 +01:00
Peter Steinberger
8134fe737c
test(extensions): move legacy schema assertions
2026-04-20 21:58:34 +01:00
Peter Steinberger
86f108401b
fix: share agent harness runtime activation ( #67474 )
2026-04-16 09:06:45 -07:00
duqaXxX
69ba924b53
fix(codex): activate harness plugin for forced runtime
2026-04-16 09:06:45 -07:00
Peter Steinberger
c836fd22d0
test: narrow plugin auto-enable manifest coverage
2026-04-11 05:54:36 +01:00
Peter Steinberger
fcf31eef64
test: narrow whatsapp auto-enable validation
2026-04-11 05:07:01 +01:00
Peter Steinberger
dc008f956c
fix: preserve configured plugins in allowlist
2026-04-11 02:17:39 +01:00
Peter Steinberger
84098a2267
fix: keep Codex harness opt-in by default
2026-04-10 21:22:16 +01:00
Peter Steinberger
1afa076cfa
refactor: simplify plugin auto-enable structure
2026-04-05 09:34:16 +01:00