diff --git a/docs/gateway/doctor.md b/docs/gateway/doctor.md index ff155e51303..611efd1e85a 100644 --- a/docs/gateway/doctor.md +++ b/docs/gateway/doctor.md @@ -68,7 +68,7 @@ cat ~/.openclaw/openclaw.json - OpenCode provider override warnings (`models.providers.opencode` / `models.providers.opencode-go`). - OAuth TLS prerequisites check for OpenAI Codex OAuth profiles. - Legacy on-disk state migration (sessions/agent dir/WhatsApp auth). -- Legacy plugin manifest contract key migration (`speechProviders`, `mediaUnderstandingProviders`, `imageGenerationProviders` → `contracts`). +- Legacy plugin manifest contract key migration (`speechProviders`, `realtimeTranscriptionProviders`, `realtimeVoiceProviders`, `mediaUnderstandingProviders`, `imageGenerationProviders`, `videoGenerationProviders`, `webFetchProviders`, `webSearchProviders` → `contracts`). - Legacy cron store migration (`jobId`, `schedule.cron`, top-level delivery/payload fields, payload `provider`, simple `notify: true` webhook fallback jobs). - Session lock file inspection and stale lock cleanup. - State integrity and permissions checks (sessions, transcripts, state dir). @@ -229,11 +229,14 @@ repeat no-op `doctor --fix` changes. ### 3a) Legacy plugin manifest migrations -Doctor scans all installed plugin manifests for deprecated top-level capability keys -(`speechProviders`, `mediaUnderstandingProviders`, `imageGenerationProviders`). -When found, it offers to move them into the `contracts` object and rewrite the manifest -file in-place. This migration is idempotent; if the `contracts` key already has the -same values, the legacy key is removed without duplicating the data. +Doctor scans all installed plugin manifests for deprecated top-level capability +keys (`speechProviders`, `realtimeTranscriptionProviders`, +`realtimeVoiceProviders`, `mediaUnderstandingProviders`, +`imageGenerationProviders`, `videoGenerationProviders`, `webFetchProviders`, +`webSearchProviders`). When found, it offers to move them into the `contracts` +object and rewrite the manifest file in-place. This migration is idempotent; +if the `contracts` key already has the same values, the legacy key is removed +without duplicating the data. ### 3b) Legacy cron store migrations diff --git a/docs/plugins/architecture.md b/docs/plugins/architecture.md index 0a38b12c6a0..6c7de1a1d8c 100644 --- a/docs/plugins/architecture.md +++ b/docs/plugins/architecture.md @@ -300,7 +300,8 @@ That same pattern should be preferred for future capabilities. ### Multi-capability company plugin example A company plugin should feel cohesive from the outside. If OpenClaw has shared -contracts for models, speech, media understanding, and web search, a vendor can +contracts for models, speech, realtime voice, media understanding, +image generation, video generation, web fetch, and web search, a vendor can own all of its surfaces in one place: ```ts diff --git a/docs/plugins/manifest.md b/docs/plugins/manifest.md index 59485bce063..90a3e0a91a6 100644 --- a/docs/plugins/manifest.md +++ b/docs/plugins/manifest.md @@ -231,6 +231,7 @@ Each list is optional: | `realtimeVoiceProviders` | `string[]` | Realtime-voice provider ids this plugin owns. | | `mediaUnderstandingProviders` | `string[]` | Media-understanding provider ids this plugin owns. | | `imageGenerationProviders` | `string[]` | Image-generation provider ids this plugin owns. | +| `videoGenerationProviders` | `string[]` | Video-generation provider ids this plugin owns. | | `webFetchProviders` | `string[]` | Web-fetch provider ids this plugin owns. | | `webSearchProviders` | `string[]` | Web-search provider ids this plugin owns. | | `tools` | `string[]` | Agent tool names this plugin owns for bundled contract checks. | @@ -305,10 +306,13 @@ Fields: | `modelPrefixes` | `string[]` | Prefixes matched with `startsWith` against shorthand model ids. | | `modelPatterns` | `string[]` | Regex sources matched against shorthand model ids after profile suffix removal. | -Legacy top-level `speechProviders`, `mediaUnderstandingProviders`, and -`imageGenerationProviders` are deprecated. Use `openclaw doctor --fix` to move -them under `contracts`; normal manifest loading no longer treats them as -capability ownership. +Legacy top-level capability keys are deprecated. Use `openclaw doctor --fix` to +move `speechProviders`, `realtimeTranscriptionProviders`, +`realtimeVoiceProviders`, `mediaUnderstandingProviders`, +`imageGenerationProviders`, `videoGenerationProviders`, +`webFetchProviders`, and `webSearchProviders` under `contracts`; normal +manifest loading no longer treats those top-level fields as capability +ownership. ## Manifest versus package.json