Peter Steinberger
4d54d196c9
docs: document plugin discovery helpers
2026-06-04 04:41:47 -04:00
Peter Steinberger
304e2c83c0
chore(lint): enable stricter oxlint rules
2026-05-31 18:59:02 +01:00
Vincent Koc
27b15a19e8
refactor(voice): catalog voice models through providers ( #87794 )
...
* refactor(providers): catalog voice models
* feat(tts): route speech through voice models
* refactor(tts): rename speaker selection fields
* refactor(tts): mark default speech models
* test(tts): type migrated speaker config assertions
* refactor(providers): avoid catalog merge map spread
* fix(tts): honor voice model fallbacks
* refactor(tts): move speech core into package
* chore(tts): register speech core knip workspace
* fix(tts): show migrated speaker voice in status
* fix(tts): satisfy speech core lint
* fix(tts): preserve explicit model aliases
* test(tts): narrow provider config assertion
* test(doctor): allow slow commitments repair check
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-29 04:46:45 +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
Deepflame
ea2496b00c
perf(agents): reuse model manifest context
...
Reuse a lazy model manifest context across configured model resolution so common static defaults do not trigger manifest metadata loads, while keeping plugin-owned normalization available when aliases, provider rows, or OpenRouter compat paths need it.
Preserves exact alias behavior, auth-profile-suffixed alias behavior, provider inference from manifest-normalized configured refs, and existing plugin/runtime cache lifecycle rules.
Co-authored-by: Alyana <alyana@lumina.local >
2026-05-26 01:11:47 +01:00
Peter Steinberger
c1a026a976
fix: stabilize tests and reduce plugin memory churn
2026-05-26 00:01:30 +01:00
Bob
ae4806ed9a
feat(plugins): add embedding provider contract ( #84947 )
...
Summary:
- Merged feat(plugins): add embedding provider contract after ClawSweeper review.
Automerge notes:
- PR branch already contained follow-up commit before automerge: chore(plugins): refresh embedding provider sdk baseline
- PR branch already contained follow-up commit before automerge: docs(plugins): document embedding provider contract
- PR branch already contained follow-up commit before automerge: fix(plugins): restore embedding providers after snapshot loads
- PR branch already contained follow-up commit before automerge: fix(plugins): resolve embedding providers from manifests
- PR branch already contained follow-up commit before automerge: fix(plugin-sdk): keep embedding provider registry mutators internal
- PR branch already contained follow-up commit before automerge: chore(plugin-sdk): refresh embedding provider API baseline
Validation:
- ClawSweeper review passed for head 41ebd66ab4 .
- Required merge gates passed before the squash merge.
Prepared head SHA: 41ebd66ab4
Review: https://github.com/openclaw/openclaw/pull/84947#issuecomment-4514762026
Co-authored-by: Bob <dutifulbob@gmail.com >
Co-authored-by: Mariano Belinky <mbelinky@gmail.com >
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: osolmaz
Co-authored-by: osolmaz <2453968+osolmaz@users.noreply.github.com >
2026-05-22 03:36:51 +00:00
Peter Steinberger
0b55317494
test(plugins): isolate capability provider runtime mocks
2026-05-14 01:07:57 +01:00
Peter Steinberger
768f6e6e2a
test: tighten capability provider assertions
2026-05-11 05:17:21 +01:00
brokemac79
af69e78901
fix image generation provider discovery
2026-05-09 20:40:31 -04:00
Shakker
ba30f7c0ed
test: tighten plugin runtime lookup assertions
2026-05-09 03:32:25 +01:00
scoootscooob
79dd65e208
feat(voice-call): improve realtime Meet voice agent
...
* feat(voice-call): inject agent context into realtime voice
* fix(voice-call): stabilize realtime meet audio
* fix(voice-call): delegate realtime consults to agent
* Improve realtime Meet voice consult routing
* Pin voice consult delivery to call session
* Move voice changelog entries to changes
* fix(voice-call): isolate final realtime transcripts
* test(voice-call): trim redundant realtime coverage
2026-05-05 12:56:31 -07:00
Peter Steinberger
0747e63006
test(plugins): align metadata snapshot policy fixtures
2026-05-05 02:09:50 +01:00
Conan-Scott
8ebf86cdff
fix(plugins): preserve external capability provider fallback ( #76536 )
...
* fix(plugins): preserve external capability provider fallback
* docs: move changelog entry to avoid merge conflict
---------
Co-authored-by: Clawdbot <clawdbot@apilab.us >
2026-05-03 13:22:34 +01:00
DmitryPogodaev
8283c5d6cc
perf(plugins): reuse startup runtime registry
...
Reuse the startup runtime plugin registry across provider/tool helper paths while preserving standalone CLI/MCP fallback loading.
Includes follow-up fixes for migration/provider/tool registry bootstrap and regression coverage for compatible registry reuse.
Co-authored-by: DmitryPogodaev <pogodaev.dm@gmail.com >
2026-05-02 13:44:49 +01:00
Peter Steinberger
701811e013
test: align runtime fixture expectations
2026-05-02 10:41:42 +01:00
Peter Steinberger
314a197da9
refactor: hide gateway wake internals
2026-05-02 08:49:23 +01:00
Peter Steinberger
267c6e6edb
test: align metadata runtime fixtures
2026-05-02 08:46:45 +01:00
Peter Steinberger
eaf1f53d60
fix: stabilize plugin metadata release checks
2026-05-02 07:27:27 +01:00
Shakker
3cf1dd982b
fix: gate plugin tools from manifest availability
2026-05-02 06:21:08 +01:00
Shakker
d94889909c
test: align manifest hot path fixtures
2026-05-02 06:21:08 +01:00
Shakker
dfde770a3a
fix: preserve external capability providers
2026-05-02 06:21:07 +01:00
Shakker
1a6d891132
perf: use plugin metadata snapshot for media tool lookups
2026-05-02 06:21:07 +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
132b3e3940
fix(plugins): preserve requested speech fallback
2026-05-01 04:56:12 -07:00
Peter Steinberger
f3d5c54884
fix: keep configured media STT providers registered
2026-05-01 11:38:07 +01:00
Peter Steinberger
29ed5266bf
fix: keep runtime deps repair out of hot paths
2026-05-01 09:26:45 +01:00
clawsweeper[bot]
8b51d1fdc2
fix(plugins): keep disabled-plugin guard for non-speech providers
...
Co-authored-by: openclaw-clawsweeper[bot] <280122609+openclaw-clawsweeper[bot]@users.noreply.github.com>
2026-04-30 22:45:12 -07:00
Ayaan Zaidi
60bdb96f2c
fix(tools): defer media generation provider discovery
2026-05-01 08:33:02 +05:30
Vincent Koc
1d74ecd71f
fix(plugins): restore disabled TTS provider fallback
2026-04-30 14:35:00 -07:00
clawsweeper[bot]
554b32feea
fix: change disables bundled dependency repair when plugins.enabled: false, but the same fall... ( #74916 )
...
Co-authored-by: openclaw-clawsweeper[bot] <280122609+openclaw-clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-04-30 00:13:52 -07:00
clawsweeper[bot]
6dbaa0a278
fix(plugins): keep disabled plugin runtime deps off
...
Co-authored-by: openclaw-clawsweeper[bot] <280122609+openclaw-clawsweeper[bot]@users.noreply.github.com>
2026-04-29 23:15:47 -07:00
clawsweeper[bot]
1ff1fbe682
fix(plugins): honor runtime deps fallback install option
...
Co-authored-by: openclaw-clawsweeper[bot] <280122609+openclaw-clawsweeper[bot]@users.noreply.github.com>
2026-04-29 22:28:15 -07:00
Peter Steinberger
94cb213544
fix: stabilize full release validation
2026-04-30 04:55:23 +01:00
brokemac79
20c7a98fb8
fix(plugins): keep provider discovery metadata-only
...
Fix startup and per-turn provider registry hot paths by keeping primary-model startup discovery on metadata-only provider entries and by keeping capability provider fallback loads scoped to manifest-derived owners, including explicit empty scopes when no bundled owner exists.
Evidence:
- Reproduces the reported code paths from #73729 , #73835 , and #73793 : startup prewarm was able to enter provider/model discovery that loaded plugin runtime, and capability lookups could bypass active registry reuse or broaden fallback registry loads.
- Fix threads providerDiscoveryEntriesOnly through models-config planning into plugin discovery.
- Fix reuses active non-memory/non-speech capability providers even with explicit plugins.entries.
- Fix keeps fallback registry loads scoped with onlyPluginIds, including [] for no-owner media capability checks.
- Local targeted tests passed for gateway startup, models config, provider discovery, capability providers, and web provider runtimes.
- Testbox pnpm check:changed passed.
- Testbox pnpm build passed.
- GitHub CI required checks passed on e5e6fe1d52 .
Fixes #73729 .
Fixes #73835 .
Fixes #73793 .
Supersedes #73794 .
2026-04-29 07:52:32 +01:00
Vincent Koc
7c7561f5a3
fix(plugins): scope capability provider snapshots
2026-04-28 22:19:34 -07:00
Peter Steinberger
e27fe55aa8
refactor: simplify plugin cache boundaries
2026-04-29 04:33:15 +01:00
Peter Steinberger
7a5b419843
refactor(plugins): simplify plugin cache boundaries
2026-04-29 03:52:22 +01:00
Shakker
e792f96a84
fix: cache capability provider manifest ids
2026-04-27 09:36:53 +01:00
Shakker
d955bf0ff8
fix: scope cold plugin manifests to index
2026-04-26 03:47:46 +01:00
Shakker
1a193b2d96
fix: scope cold plugin manifests to index
2026-04-26 03:47:45 +01:00
Vincent Koc
2235a13dab
fix(plugins): resolve capability metadata cold
2026-04-25 19:43:07 -07:00
Peter Steinberger
c11730fd09
fix(tts): keep speech fallback discovery scoped
2026-04-25 05:38:45 +01:00
Jamil Zakirov
52267a6b75
fix(auto-reply): run message_sending before inbound delivery
...
Run inbound auto-reply delivery through message_sending hooks before sending replies.
Co-authored-by: Jamil Zakirov <15848838+jzakirov@users.noreply.github.com >
2026-04-25 10:07:35 +05:30
Peter Steinberger
73a6a2a6ab
fix(tts): merge allowlisted speech providers
2026-04-25 04:20:04 +01:00
Gustavo Madeira Santana
d6c90b5af1
Tests: avoid memory-search cold plugin loads
2026-04-17 11:37:46 -04:00
Peter Steinberger
8ddd9b8aac
perf: narrow plugin config test surfaces
2026-04-11 13:55:08 +01:00
Neerav Makwana
9a9dc1dbec
fix: allowlist compat for capability provider fallback ( #62234 ) (thanks @neeravmakwana)
...
* Plugins: allowlist compat for capability provider fallback (#62205 )
* test: cover all capability fallback keys
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-04-07 12:45:56 +05:30
Peter Steinberger
629baf5fa7
refactor: move plugin setup and memory capabilities to registries
2026-04-05 14:53:53 +01:00
Peter Steinberger
e3ac0f43df
feat(qwen): add qwen provider and video generation
2026-04-04 19:34:56 +01:00