Peter Steinberger
9ef37d1907
test: tighten assertions and harness coverage
2026-05-08 05:28:12 +01:00
Kevin Lin
a1ac559ed7
feat(codex): enable native plugin app support ( #78733 )
...
* feat(codex): add native plugin config schema
* feat(codex): add native plugin inventory activation
* feat(codex): configure native plugin apps for threads
* feat(codex): enforce plugin elicitation policy
* feat(codex): migrate native plugins
* docs(codex): document native plugin support
* fix(codex): harden plugin migration refresh
* fix(codex): satisfy plugin activation lint
* fix: stabilize codex plugin app config
* fix: address codex plugin review feedback
* fix: key codex plugin app cache by websocket credentials
* fix: keep codex plugin app fingerprints stable
* fix: refresh codex plugin cache test fixtures
* fix: refresh plugin app readiness after activation
* fix: support remote codex plugin activation
* fix: recover plugin app bindings after cache refresh
* fix: force codex app refresh after plugin activation
* fix: recover partial codex plugin app bindings
* fix: sync codex plugin selection config
* fix: keep codex plugin activation fail closed
* fix: align codex plugin protocol types with main
* fix: refresh partial codex plugin app bindings
* fix: key codex app cache by env api key
* fix: skip failed codex plugin migration config
* test: update codex prompt snapshots
* fix: fail closed on missing codex app inventory entries
* fix(codex): enforce native plugin policy gates
* fix(codex): normalize native plugin policy types
* fix(codex): fail closed on plugin refresh errors
* fix(codex): use native plugin destructive policy
* fix(codex): key plugin cache by api-key profiles
* fix(codex): drop unshipped plugin fingerprint compat
* fix(codex): let native app policy gate plugin tools
* fix(codex): allow open-world plugin app tools
* fix(codex): revalidate native plugin app bindings
* fix(codex): preserve plugin binding on recheck failure
* docs(codex): clarify plugin harness scope
* fix(codex): return activation report state exhaustively
* test(codex): refresh prompt snapshots after rebase
* fix(codex): match namespaced plugin ids
2026-05-07 17:20:28 -07:00
Vincent Koc
c97998ce21
chore(channels): remove bluebubbles bundled surface
2026-05-07 12:52:48 -07:00
Peter Steinberger
330ba1fa31
refactor: move canvas to plugin surfaces
2026-05-07 09:07:18 +01:00
Josh Avant
5572ee1a1a
fix gateway optional plugin startup ( #78642 )
2026-05-06 17:28:31 -05:00
hcl
b3e42bf327
fix(plugins): emit actionable install hint for externalized channel plugins ( #77502 )
...
Fixes #77483.\n\n- Suggest catalog-backed install commands for missing official external plugins in config validation.\n- Preserve stale/remove wording for non-catalog missing plugins.\n- Add regression coverage for plugins.entries and plugins.allow warnings.\n\nVerification:\n- pnpm exec oxfmt --check --threads=1 CHANGELOG.md src/config/validation.ts src/config/config.plugin-validation.test.ts\n- pnpm test src/config/config.plugin-validation.test.ts src/commands/doctor/shared/missing-configured-plugin-install.test.ts\n- pnpm crabbox:run -- --provider blacksmith-testbox ... pnpm check:changed\n- GitHub CI green on d1b1b10444
2026-05-04 15:22:15 -07:00
Jack Storment
bdd68a75ea
fix(doctor): repair configured missing plugins
...
Fixes #76872 .
Doctor now repairs configured-but-missing official plugins during update/doctor recovery, auto-enables the plugin after a successful repair, and preserves config when the download cannot complete. The plugin auto-enable path also honors disabled web search and only enables configured providers/channels when a manifest declares the matching capability.
Verification:
- git diff --check
- fallback-only Korean i18n check
- focused plugin auto-enable/config/doctor Vitest suite
- Crabbox published upgrade-survivor configured-plugin-installs E2E
- CI green on PR head 67ba8ac002
Co-authored-by: Jack Storment <crazycoder131@gmail.com >
2026-05-03 22:44:21 +01:00
Peter Steinberger
f74e901794
fix: clarify blocked plugin validation
2026-05-03 19:39:30 +01:00
Peter Steinberger
7a5b419843
refactor(plugins): simplify plugin cache boundaries
2026-04-29 03:52:22 +01:00
Peter Steinberger
22a51de422
fix: tolerate stale channel plugin config
2026-04-27 12:48:13 +01:00
Josh Avant
db09f68ce5
Support SecretRef for voice-call credentials and bundled plugin SecretInputs ( #72607 )
...
* fix: support voice-call secretrefs
* test: classify plugin secretref targets
* docs: credit voice-call secretref change
* fix: keep plugin secret target discovery lightweight
2026-04-27 01:16:50 -05:00
Pinghuachiu
7b943667a0
fix: expose image edit geometry flags in capability cli
...
Expose image edit geometry flags in the capability CLI and document the new infer options.\n\nThanks @Pinghuachiu.
2026-04-26 04:22:22 +01:00
Peter Steinberger
9191fbe2b5
perf(test): reuse plugin validation fixtures
2026-04-23 11:04:07 +01:00
Peter Steinberger
7392060c3f
perf: narrow config test imports
2026-04-11 01:18:10 +01:00
Pengfei Ni
8cb45c051e
fix(config): give actionable guidance when command names are used in plugins.allow ( #64191 )
...
When users put a runtime command name like "dreaming" into `plugins.allow`,
validation now explains that it is a command provided by a specific plugin
(e.g. "memory-core") and suggests using the plugin id instead, rather than
the generic "plugin not found" warning that previously created a circular
trap with the CLI error message.
Similarly, running `openclaw dreaming` from the CLI now explains that
`/dreaming` is a runtime slash command (not a CLI command) and points users
to `openclaw memory` for CLI operations or `/dreaming` in a chat session.
Fixes two related UX problems:
1. `plugins.allow: ["dreaming"]` → validation warned "plugin not found"
2. `openclaw dreaming status` → CLI said "add dreaming to plugins.allow"
(which then triggered problem 1)
Root cause: "dreaming" is a slash command registered by the memory-core
plugin via `api.registerCommand()`, not a standalone plugin or CLI command.
2026-04-10 14:56:12 +01:00
Peter Steinberger
80c8567f9d
fix: resolve merge conflicts and preserve runtime test fixes
2026-04-06 22:46:33 +01:00
Peter Steinberger
14cfcdba1a
docs(test): refresh stale model refs
2026-04-04 08:05:49 +01:00
Josh Avant
c918ab4faf
fix(tts): restore 3.28 schema compatibility and fallback observability ( #57953 )
...
* fix(tts): restore legacy config compatibility and fallback observability
* fix(tts): surface fallback attempts in status and telephony
* test(tts): cover /tts audio to /tts status fallback flow
* docs(tts): align migration and fallback observability guidance
* TTS: redact fallback logs and scope legacy plugin migration
* Infra: dedupe UV_EXTRA_INDEX_URL in host env policy
* Docs: scope doctor TTS migration to voice-call
* voice-call: restore strict known TTS provider validation
2026-03-30 22:05:03 -05:00
Peter Steinberger
4ed5895637
test: dedupe config compatibility fixtures
2026-03-26 15:45:14 +00:00
Peter Steinberger
a4327ad544
refactor: dedupe tests and harden suite isolation
2026-03-24 19:16:19 +00:00
Vincent Koc
a1df10caac
fix(config): ignore stale plugin allow entries
2026-03-23 09:57:46 -07:00
Peter Steinberger
6b9915a106
refactor!: drop legacy CLAWDBOT env compatibility
2026-03-22 22:13:39 -07:00
RichardCao
7bf437402d
fix: trim config validation startup imports ( #51574 )
...
Merged via squash.
Prepared head SHA: 23b235e465
Co-authored-by: RichardCao <4612401+RichardCao@users.noreply.github.com >
Co-authored-by: huntharo <5617868+huntharo@users.noreply.github.com >
Reviewed-by: @huntharo
2026-03-21 09:31:39 -04:00
Peter Steinberger
6b28668104
test(plugins): cover retired google auth compatibility
2026-03-16 02:11:18 +00:00
Peter Steinberger
dd40741e18
feat(plugins): add compatible bundle support
2026-03-15 16:08:50 -07:00
Nimrod Gutman
d88da9f5f8
fix(config): avoid failing startup on implicit memory slot ( #47494 )
...
* fix(config): avoid failing on implicit memory slot
* fix(config): satisfy build for memory slot guard
* docs(changelog): note implicit memory slot startup fix (#47494 )
2026-03-15 19:28:50 +02:00
Tak Hoffman
e81442ac80
Fix full local gate on main
2026-03-14 15:52:11 -05:00
Peter Steinberger
ec3c20d96d
test: harden plugin fixture permissions on macos
2026-03-13 03:13:25 +00:00
Peter Steinberger
21fa50f564
test: harden plugin env-scoped fixtures
2026-03-13 03:01:47 +00:00
Peter Steinberger
43a10677ed
fix: isolate plugin discovery env from global state
2026-03-12 02:46:29 +00:00
ademczuk
8618a711ff
fix(voice-call): add speed and instructions to OpenAI TTS config schema ( #39226 )
...
Merged via squash.
Prepared head SHA: 775e3063b5
Co-authored-by: ademczuk <5212682+ademczuk@users.noreply.github.com >
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com >
Reviewed-by: @obviyus
2026-03-11 23:15:48 +05:30
Peter Steinberger
cf290e31bd
fix(voice-call): align plugin manifest schema with runtime config fields ( #38892 )
...
Co-authored-by: giumex <giuliano.messina@gmail.com >
2026-03-07 19:49:58 +00:00
Gustavo Madeira Santana
f26853f14c
CLI: dedupe config validate errors and expose allowed values
2026-03-02 20:05:12 -05:00
Peter Steinberger
9657ded2e1
test(perf): trim slack, hook, and plugin-validation test overhead
2026-03-03 00:43:01 +00:00
Peter Steinberger
83ec545bed
test(perf): trim repeated setup in cron memory and config suites
2026-03-02 19:16:46 +00:00
Peter Steinberger
7d600ff4e2
test(perf): dedupe plugin validation scenarios
2026-03-02 14:20:21 +00:00
Peter Steinberger
8e0ca219a4
test(perf): precreate plugin config validation fixtures
2026-03-02 12:06:48 +00:00
Peter Steinberger
fd4d157e45
test(config): reuse fixtures for faster validation
2026-03-02 09:47:29 +00:00
SidQin-cyber
a481ed00f5
fix(config): warn and ignore unknown plugin entry keys
...
Prevent gateway startup failures when plugins.entries contains stale or removed plugin ids by downgrading unknown entry keys from validation errors to warnings.
Made-with: Cursor
(cherry picked from commit 34ef28cf63 )
2026-02-26 13:40:58 +00:00
Peter Steinberger
8a006a3260
feat(heartbeat): add directPolicy and restore default direct delivery
2026-02-26 03:57:03 +01:00
Peter Steinberger
bf8ca07deb
fix(config): soften antigravity removal fallout ( #25538 )
...
Land #25538 by @chilu18 to keep legacy google-antigravity-auth config entries non-fatal after removal (see #25862 ).
Co-authored-by: chilu18 <chilu.machona@icloud.com >
2026-02-24 23:02:45 +00:00
Peter Steinberger
6dad6a8cd0
fix: cover channels.modelByChannel validation/auto-enable
2026-02-22 10:41:40 +01:00
Peter Steinberger
caebe70e9a
perf(test): cut setup/import overhead in hot suites
2026-02-13 21:23:50 +00:00
Peter Steinberger
8899f9e94a
perf(test): optimize heavy suites and stabilize lock timing
2026-02-13 13:29:07 +00:00
cpojer
f06dd8df06
chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts.
2026-02-01 10:03:47 +09:00
Peter Steinberger
9a7160786a
refactor: rename to openclaw
2026-01-30 03:16:21 +01:00
Peter Steinberger
6d16a658e5
refactor: rename clawdbot to moltbot with legacy compat
2026-01-27 12:21:02 +00:00
Peter Steinberger
ef7971e3a4
fix: normalize heartbeat targets
2026-01-24 13:53:00 +00:00
Shadow
2f6d5805de
fix: enforce plugin config schemas ( #1272 ) (thanks @thewilloftheshadow)
...
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com >
2026-01-20 11:03:17 +00:00