Docs: refresh TTS execution migration status

This commit is contained in:
Gustavo Madeira Santana
2026-03-15 19:28:32 +00:00
parent 53316c6909
commit eb3d8e0348
7 changed files with 96 additions and 94 deletions

View File

@@ -66,7 +66,7 @@ What has been implemented:
- ACP backend registration and runtime resolution now route through `src/extension-host/acp-runtime-backend-registry.ts` ahead of broader catalog-backed backend ownership
- embedding-provider auto-selection, provider creation, local-setup guidance, and primary and fallback routing now route through `src/extension-host/embedding-runtime-registry.ts` while `src/memory/embeddings.ts` remains the compatibility facade
- media-provider normalization, built-in registry construction, override merging, and runtime lookup now route through `src/extension-host/media-runtime-registry.ts` while `src/media-understanding/providers/index.ts` remains the compatibility facade
- TTS provider metadata, provider ordering, API-key resolution, configuration checks, and telephony support now route through `src/extension-host/tts-runtime-registry.ts` while `src/tts/tts.ts` remains the synthesis execution owner
- TTS provider metadata, provider ordering, API-key resolution, configuration checks, and telephony support now route through `src/extension-host/tts-runtime-registry.ts`, and provider execution loops, output-format selection, telephony synthesis, and provider-error shaping now route through `src/extension-host/tts-runtime-execution.ts` while `src/tts/tts.ts` remains the compatibility facade and request-setup surface
- legacy internal-hook bridging and typed prompt-injection compatibility policy now route through `src/extension-host/hook-compat.ts` ahead of broader catalog-backed registry ownership
- compatibility `OpenClawPluginApi` composition and logger shaping now route through `src/extension-host/plugin-api.ts` ahead of broader catalog-backed registry ownership
- compatibility plugin-registry facade ownership now routes through `src/extension-host/plugin-registry.ts` ahead of broader catalog-backed registry ownership
@@ -618,7 +618,7 @@ Capability selection must emit structured events for:
- channel capabilities from `extensions/discord/src/channel.ts:74`, `extensions/slack/src/channel.ts:107`, and `extensions/telegram/src/channel.ts:120` collapse into canonical messaging action families
- diffs becomes an agent-visible tool family plus a host-managed route surface from `extensions/diffs/index.ts:27`
- provider integration from `extensions/google-gemini-cli-auth/index.ts:24` becomes operator-visible setup and auth capabilities
- broader embedding-, media-, and TTS-runtime execution and fallback ownership should become runtime-internal subsystem registries rather than remaining part of a universal plugin-provider API
- broader embedding- and media-runtime execution and fallback ownership, plus remaining TTS request-setup and facade cleanup, should become runtime-internal subsystem registries rather than remaining part of a universal plugin-provider API
- extension-backed web search should become an agent-visible tool family unless it is only a runtime-internal backend feeding another host-owned surface
- voice-call from `extensions/voice-call/index.ts:230` becomes a mix of agent-visible actions, runtime providers, and operator surfaces
- ACP backend registration from `extensions/acpx/src/service.ts:55` becomes runtime-internal backend arbitration
@@ -635,7 +635,7 @@ Capability selection must emit structured events for:
6. Migrate the existing provider auth and setup selection path onto host-owned setup catalogs and canonical provider metadata.
7. Add provider selection logic for the broader messaging action family before migrating all channels.
8. Add runtime-backend and context-engine arbitration using the same rank and slot model where appropriate.
9. Finish broader embedding-, media-, and TTS-runtime migrations with explicit capability routing and built-in fallback policy.
9. Finish broader embedding- and media-runtime execution and fallback ownership, plus remaining TTS request-setup and facade cleanup, with explicit capability routing and built-in fallback policy.
10. Decide whether extension-backed search needs only canonical tool publication or also a host-owned runtime registry for internal search backends, and keep those two cases distinct.
11. Ensure lightweight setup catalogs can be built from static descriptors alone.
12. Add a reviewed core registry for canonical action families and document how new ids are introduced.

View File

@@ -45,7 +45,7 @@ What has been implemented:
- ACP backend registration and runtime resolution now route through `src/extension-host/acp-runtime-backend-registry.ts` while `src/acp/runtime/registry.ts` remains the compatibility facade
- embedding-provider auto-selection, provider creation, local-setup guidance, and primary and fallback routing now route through `src/extension-host/embedding-runtime-registry.ts` while `src/memory/embeddings.ts` remains the compatibility facade
- media-provider normalization, built-in registry construction, override merging, and runtime lookup now route through `src/extension-host/media-runtime-registry.ts` while `src/media-understanding/providers/index.ts` remains the compatibility facade
- TTS provider metadata, provider ordering, API-key resolution, configuration checks, and telephony support now route through `src/extension-host/tts-runtime-registry.ts` while `src/tts/tts.ts` remains the synthesis execution owner
- TTS provider metadata, provider ordering, API-key resolution, configuration checks, and telephony support now route through `src/extension-host/tts-runtime-registry.ts`, and provider execution loops, output-format selection, telephony synthesis, and provider-error shaping now route through `src/extension-host/tts-runtime-execution.ts` while `src/tts/tts.ts` remains the compatibility facade and request-setup surface
- legacy internal-hook bridging and typed prompt-injection compatibility policy now route through `src/extension-host/hook-compat.ts`
- compatibility `OpenClawPluginApi` composition and logger shaping now route through `src/extension-host/plugin-api.ts`
- compatibility plugin-registry facade ownership now routes through `src/extension-host/plugin-registry.ts`

View File

@@ -104,7 +104,7 @@ What has been implemented so far:
- provider matching, auth-method selection, config-patch merging, and default-model application now route through `src/extension-host/provider-auth.ts`
- embedding-provider auto-selection, provider creation, local-setup guidance, and primary and fallback routing now route through `src/extension-host/embedding-runtime-registry.ts` while `src/memory/embeddings.ts` remains the compatibility facade
- media-provider normalization, built-in registry construction, override merging, and runtime lookup now route through `src/extension-host/media-runtime-registry.ts` while `src/media-understanding/providers/index.ts` remains the compatibility facade
- TTS provider metadata, provider ordering, API-key resolution, configuration checks, and telephony support now route through `src/extension-host/tts-runtime-registry.ts` while `src/tts/tts.ts` remains the synthesis execution owner
- TTS provider metadata, provider ordering, API-key resolution, configuration checks, and telephony support now route through `src/extension-host/tts-runtime-registry.ts`, and provider execution loops, output-format selection, telephony synthesis, and provider-error shaping now route through `src/extension-host/tts-runtime-execution.ts` while `src/tts/tts.ts` remains the compatibility facade and request-setup surface
- provider onboarding option building, model-picker entry building, and provider-method choice resolution now route through `src/extension-host/provider-wizard.ts`
- loaded-provider auth application, plugin-enable gating, auth-method execution, and post-auth default-model handling now route through `src/extension-host/provider-auth-flow.ts`
- provider post-selection hook lookup and invocation now route through `src/extension-host/provider-model-selection.ts`
@@ -245,6 +245,7 @@ Committed implementation slices so far:
- `df0cb8193c` `Memory: extract embedding runtime registry`
- `e592f60fa7` `Media: extract runtime provider registry`
- `36711383f6` `TTS: extract runtime registry`
- `f36f8f9e2d` `TTS: extract runtime execution`
- `89414ed857` `Docs: track extension host migration internally`
- `d8af1eceaf` `Docs: refresh extension host migration status`
@@ -254,7 +255,7 @@ What is still missing for these phases:
- broader lifecycle ownership beyond the loader state machine, service-lifecycle boundary, CLI-lifecycle boundary, session-owned activation state, and explicit discovery-policy, activation-policy, and finalization-policy outcomes, remaining policy gate ownership, and broad host-owned registries described for Phase 2
- minimal SDK compatibility work beyond preserving current behavior indirectly through existing loading
- host-owned conversation binding, interaction routing, ingress claim, and generic interactive control surfaces
- broader embedding-, media-, and TTS-runtime execution and fallback ownership
- broader embedding- and media-runtime execution and fallback ownership, plus remaining TTS request-setup and facade cleanup
- explicit support for extension-backed search, with a generic split between agent-visible tool publication and optional runtime-internal search backends
- any pilot migration, event pipeline, canonical catalog, or arbitration implementation
@@ -264,7 +265,7 @@ Recent plan refinements:
- it now explicitly treats interactive callback routing, namespace ownership, dedupe, and fallback behavior as first-class migration surfaces
- it now explicitly treats inbound claim as a canonical ingress-stage concern rather than a permanent plugin-era hook shape
- it now explicitly treats Telegram and Discord as the first validated rollout targets for interactive control surfaces while keeping the underlying contracts generic, host-owned, and kernel-agnostic
- it now explicitly treats embeddings, media understanding, and TTS as in-progress host-owned subsystem runtimes, with embedding selection and fallback now extracted and the remaining execution ownership still pending, all with capability routing, typed request envelopes, provider-id normalization, and fallback policy
- it now explicitly treats embeddings, media understanding, and TTS as in-progress host-owned subsystem runtimes, with embedding selection and fallback now extracted, TTS execution ownership now partially extracted, and the remaining embedding/media execution plus TTS request-setup cleanup still pending, all with capability routing, typed request envelopes, provider-id normalization, and fallback policy
- it now explicitly rejects widening the legacy `registerProvider(...)` or `ProviderPlugin` surface into a universal runtime API while retaining capability routing, typed request envelopes, provider-id normalization, and fallback behavior where those are part of the target model
- it now explicitly treats extension-backed search as either a canonical tool contribution or a host-owned runtime backend depending on whether the search surface is agent-visible

View File

@@ -43,7 +43,7 @@ What has been implemented:
- exclusive-slot selection and default-slot resolution now delegate through `src/extension-host/slot-arbitration.ts` while `src/plugins/slots.ts` remains the compatibility facade
- ACP backend registration and runtime resolution now delegate through `src/extension-host/acp-runtime-backend-registry.ts` while `src/acp/runtime/registry.ts` remains the compatibility facade
- embedding-provider auto-selection, provider creation, local-setup guidance, and primary and fallback routing now delegate through `src/extension-host/embedding-runtime-registry.ts` while `src/memory/embeddings.ts` remains the compatibility facade
- TTS provider metadata, provider ordering, API-key resolution, configuration checks, and telephony support now delegate through `src/extension-host/tts-runtime-registry.ts` while `src/tts/tts.ts` remains the synthesis execution owner
- TTS provider metadata, provider ordering, API-key resolution, configuration checks, and telephony support now delegate through `src/extension-host/tts-runtime-registry.ts`, and provider execution loops, output-format selection, telephony synthesis, and provider-error shaping now delegate through `src/extension-host/tts-runtime-execution.ts` while `src/tts/tts.ts` remains the compatibility facade and request-setup surface
- legacy internal-hook bridging and typed prompt-injection compatibility policy now delegate through `src/extension-host/hook-compat.ts`
- compatibility `OpenClawPluginApi` composition and logger shaping now delegate through `src/extension-host/plugin-api.ts`
- compatibility plugin-registry facade ownership now delegates through `src/extension-host/plugin-registry.ts`
@@ -146,7 +146,7 @@ What is still pending from this spec:
- broader extension-host lifecycle ownership beyond the loader state machine, service-lifecycle boundary, CLI-lifecycle boundary, session-owned activation state, and explicit discovery-policy, activation-policy, and finalization-policy outcomes
- activation pipeline ownership
- host-owned registries for setup, CLI, routes, services, slots, and backends
- broader embedding-, media-, and TTS-runtime execution and fallback ownership, including explicit fallback and override policy instead of plugin-era capability reads
- broader embedding- and media-runtime execution and fallback ownership, plus remaining TTS request-setup and facade cleanup, including explicit fallback and override policy instead of plugin-era capability reads
- a clear host-owned split for extension-backed search between agent-visible tool publication and any optional runtime-internal search backend registry
- permission-mode enforcement
- per-extension state ownership and migration
@@ -745,7 +745,7 @@ The host must emit structured telemetry for:
4. Add a policy evaluator that understands advisory versus enforced permission modes.
5. Add host-owned credential and per-extension state boundaries for extension services.
6. Generalize backend registration into a host-managed `capability.runtime-backend` registry.
7. Finish broader embedding-, media-, and TTS-runtime execution and fallback ownership instead of widening `registerProvider(...)`.
7. Finish broader embedding- and media-runtime execution and fallback ownership, plus remaining TTS request-setup and facade cleanup, instead of widening `registerProvider(...)`.
8. Keep extension-backed search generic by publishing agent-visible search through tool contracts and using runtime-backend only for search backends consumed internally by the host or another subsystem.
9. Add slot-backed provider management for context engines and other exclusive runtime providers.
10. Preserve provenance, origin precedence, and current workspace and bundled enablement rules in host policy.

View File

@@ -41,7 +41,7 @@ Relevant prerequisite work that has landed:
- ACP backend registration and runtime resolution now have a host-owned helper boundary in `src/extension-host/acp-runtime-backend-registry.ts`
- embedding-provider auto-selection, provider creation, local-setup guidance, and primary and fallback routing now have a host-owned helper boundary in `src/extension-host/embedding-runtime-registry.ts`
- media-provider normalization, built-in registry construction, override merging, and runtime lookup now have a host-owned helper boundary in `src/extension-host/media-runtime-registry.ts`
- TTS provider metadata, provider ordering, API-key resolution, configuration checks, and telephony support now have a host-owned helper boundary in `src/extension-host/tts-runtime-registry.ts`
- TTS provider metadata, provider ordering, API-key resolution, configuration checks, and telephony support now have a host-owned helper boundary in `src/extension-host/tts-runtime-registry.ts`, and provider execution loops, output-format selection, telephony synthesis, and provider-error shaping now have a host-owned helper boundary in `src/extension-host/tts-runtime-execution.ts`
- loader cache key construction and registry cache control now have a host-owned helper boundary
- loader provenance helpers now have a host-owned helper boundary
- loader duplicate-order policy now has a host-owned helper boundary

View File

@@ -90,7 +90,7 @@ What has landed:
- provider matching, auth-method selection, config-patch merging, and default-model application now route through `src/extension-host/provider-auth.ts`
- embedding-provider auto-selection, provider creation, local-setup guidance, and primary and fallback routing now route through `src/extension-host/embedding-runtime-registry.ts` while `src/memory/embeddings.ts` remains the compatibility facade
- media-provider normalization, built-in registry construction, override merging, and runtime lookup now route through `src/extension-host/media-runtime-registry.ts` while `src/media-understanding/providers/index.ts` remains the compatibility facade
- TTS provider metadata, provider ordering, API-key resolution, configuration checks, and telephony support now route through `src/extension-host/tts-runtime-registry.ts` while `src/tts/tts.ts` remains the synthesis execution owner
- TTS provider metadata, provider ordering, API-key resolution, configuration checks, and telephony support now route through `src/extension-host/tts-runtime-registry.ts`, and provider execution loops, output-format selection, telephony synthesis, and provider-error shaping now route through `src/extension-host/tts-runtime-execution.ts` while `src/tts/tts.ts` remains the compatibility facade and request-setup surface
- provider onboarding option building, model-picker entry building, and provider-method choice resolution now route through `src/extension-host/provider-wizard.ts`
- loaded-provider auth application, plugin-enable gating, auth-method execution, and post-auth default-model handling now route through `src/extension-host/provider-auth-flow.ts`
- provider post-selection hook lookup and invocation now route through `src/extension-host/provider-model-selection.ts`
@@ -231,6 +231,7 @@ Committed implementation slices so far:
- `df0cb8193c` `Memory: extract embedding runtime registry`
- `e592f60fa7` `Media: extract runtime provider registry`
- `36711383f6` `TTS: extract runtime registry`
- `f36f8f9e2d` `TTS: extract runtime execution`
- `89414ed857` `Docs: track extension host migration internally`
- `d8af1eceaf` `Docs: refresh extension host migration status`
@@ -239,7 +240,7 @@ What has not landed:
- keeping the cutover inventory current as more surfaces move
- broader lifecycle ownership beyond the loader state machine, session-owned activation state, and explicit discovery-policy, activation-policy, and finalization-policy outcomes, plus remaining policy semantics
- host-owned registration surfaces beyond the first normalization helpers and low-risk channel, provider, gateway-method, HTTP-route, tool, CLI, service, command, context-engine, and hook compatibility write slices
- broader embedding-, media-, and TTS-runtime execution and fallback ownership
- broader embedding- and media-runtime execution and fallback ownership, plus remaining TTS request-setup and facade cleanup
- SDK compatibility translation work
- canonical event stages
- canonical capability catalogs