From 369b0880e1d1eac0a8a92204676a2c8f631ea5c9 Mon Sep 17 00:00:00 2001 From: Gustavo Madeira Santana Date: Sun, 15 Mar 2026 20:07:19 +0000 Subject: [PATCH] Docs: refresh embedding manager migration status --- .../openclaw-capability-catalog-and-arbitration-spec.md | 6 +++--- .../openclaw-extension-contribution-schema-spec.md | 2 +- .../openclaw-extension-host-implementation-guide.md | 7 ++++--- .../openclaw-extension-host-lifecycle-and-security-spec.md | 6 +++--- .../openclaw-kernel-event-pipeline-spec.md | 2 +- .../openclaw-kernel-extension-host-transition-plan.md | 5 +++-- src/extension-host/cutover-inventory.md | 6 +++--- 7 files changed, 18 insertions(+), 16 deletions(-) diff --git a/docs/.internal/extension-host-migration/openclaw-capability-catalog-and-arbitration-spec.md b/docs/.internal/extension-host-migration/openclaw-capability-catalog-and-arbitration-spec.md index 6dbd781ce34..ec49ea37d8a 100644 --- a/docs/.internal/extension-host-migration/openclaw-capability-catalog-and-arbitration-spec.md +++ b/docs/.internal/extension-host-migration/openclaw-capability-catalog-and-arbitration-spec.md @@ -64,7 +64,7 @@ What has been implemented: - context-engine registration and runtime resolution now route through `src/extension-host/context-engine-runtime.ts` ahead of broader catalog-backed ownership - exclusive-slot selection and default-slot resolution now route through `src/extension-host/slot-arbitration.ts` ahead of broader catalog-backed arbitration ownership - 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`, and the public embedding runtime surface plus result typing now route through `src/extension-host/embedding-runtime.ts` and `src/extension-host/embedding-runtime-types.ts` while `src/memory/embeddings.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`, the public embedding runtime surface plus result typing now route through `src/extension-host/embedding-runtime.ts` and `src/extension-host/embedding-runtime-types.ts`, and manager-side batch policy plus fallback activation now route through `src/extension-host/embedding-manager-runtime.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`; provider and CLI entry execution, output parsing, provider query normalization, provider auth/context shaping, and proxy-aware fetch handling now route through `src/extension-host/media-runtime-execution.ts`; local-binary probing, auto-entry selection, active-model fallback, and top-level capability orchestration now route through `src/extension-host/media-runtime-auto.ts` and `src/extension-host/media-runtime-orchestration.ts`; and media prompt, timeout, scope, model-entry, concurrency, and decision helpers now route through `src/extension-host/media-runtime-config.ts` and `src/extension-host/media-runtime-decision.ts` while `src/media-understanding/providers/index.ts`, `src/media-understanding/runner.ts`, `src/media-understanding/runner.entries.ts`, and `src/media-understanding/resolve.ts` remain compatibility facades - TTS provider metadata, provider ordering, API-key resolution, configuration checks, and telephony support now route through `src/extension-host/tts-runtime-registry.ts`, provider execution loops, output-format selection, telephony synthesis, and provider-error shaping now route through `src/extension-host/tts-runtime-execution.ts`, provider selection plus request setup now route through `src/extension-host/tts-runtime-setup.ts`, prefs-path resolution, auto-mode policy, and persisted TTS preference reads and writes now route through `src/extension-host/tts-preferences.ts`, and auto-TTS gating, directive cleanup, truncation, summarization, and payload planning now route through `src/extension-host/tts-payload.ts` while `src/tts/tts.ts` remains the compatibility facade plus config and attempt-status 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 @@ -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 -- remaining embedding manager and execution ownership, remaining media compatibility-facade cleanup, plus remaining TTS config/status and facade cleanup, should become runtime-internal subsystem registries rather than remaining part of a universal plugin-provider API +- remaining embedding sync and indexing execution ownership, remaining media compatibility-facade cleanup, plus remaining TTS config/status 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 remaining embedding manager and execution ownership, remaining media compatibility-facade cleanup, plus remaining TTS config/status and facade cleanup, with explicit capability routing and built-in fallback policy. +9. Finish remaining embedding sync and indexing execution ownership, remaining media compatibility-facade cleanup, plus remaining TTS config/status 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. diff --git a/docs/.internal/extension-host-migration/openclaw-extension-contribution-schema-spec.md b/docs/.internal/extension-host-migration/openclaw-extension-contribution-schema-spec.md index 3f525ede9f2..dbb5c09eb68 100644 --- a/docs/.internal/extension-host-migration/openclaw-extension-contribution-schema-spec.md +++ b/docs/.internal/extension-host-migration/openclaw-extension-contribution-schema-spec.md @@ -43,7 +43,7 @@ What has been implemented: - context-engine registration and runtime resolution now route through `src/extension-host/context-engine-runtime.ts` while `src/context-engine/registry.ts` remains the compatibility facade - exclusive-slot selection and default-slot resolution now route through `src/extension-host/slot-arbitration.ts` while `src/plugins/slots.ts` remains the compatibility facade - 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`, and the public embedding runtime surface and result typing now route through `src/extension-host/embedding-runtime.ts` and `src/extension-host/embedding-runtime-types.ts` while `src/memory/embeddings.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`, the public embedding runtime surface and result typing now route through `src/extension-host/embedding-runtime.ts` and `src/extension-host/embedding-runtime-types.ts`, and manager-side batch policy plus fallback activation now route through `src/extension-host/embedding-manager-runtime.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`; provider and CLI entry execution, output parsing, provider query normalization, provider auth/context shaping, and proxy-aware fetch handling now route through `src/extension-host/media-runtime-execution.ts`; local-binary probing, auto-entry selection, active-model fallback, and top-level capability orchestration now route through `src/extension-host/media-runtime-auto.ts` and `src/extension-host/media-runtime-orchestration.ts`; and media prompt, timeout, scope, model-entry, concurrency, and decision helpers now route through `src/extension-host/media-runtime-config.ts` and `src/extension-host/media-runtime-decision.ts` while `src/media-understanding/providers/index.ts`, `src/media-understanding/runner.ts`, `src/media-understanding/runner.entries.ts`, and `src/media-understanding/resolve.ts` remain compatibility facades - TTS provider metadata, provider ordering, API-key resolution, configuration checks, and telephony support now route through `src/extension-host/tts-runtime-registry.ts`, provider execution loops, output-format selection, telephony synthesis, and provider-error shaping now route through `src/extension-host/tts-runtime-execution.ts`, provider selection plus request setup now route through `src/extension-host/tts-runtime-setup.ts`, prefs-path resolution, auto-mode policy, and persisted TTS preference reads and writes now route through `src/extension-host/tts-preferences.ts`, and auto-TTS gating, directive cleanup, truncation, summarization, and payload planning now route through `src/extension-host/tts-payload.ts` while `src/tts/tts.ts` remains the compatibility facade plus config and attempt-status surface - legacy internal-hook bridging and typed prompt-injection compatibility policy now route through `src/extension-host/hook-compat.ts` diff --git a/docs/.internal/extension-host-migration/openclaw-extension-host-implementation-guide.md b/docs/.internal/extension-host-migration/openclaw-extension-host-implementation-guide.md index 56194afe316..e24b1b2e6b2 100644 --- a/docs/.internal/extension-host-migration/openclaw-extension-host-implementation-guide.md +++ b/docs/.internal/extension-host-migration/openclaw-extension-host-implementation-guide.md @@ -102,7 +102,7 @@ What has been implemented so far: - plugin provider projection from registry entries into runtime provider objects now routes through `src/extension-host/provider-runtime.ts` - plugin provider discovery filtering, order grouping, and result normalization now route through `src/extension-host/provider-discovery.ts` - 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`, and the public embedding runtime surface plus result typing now route through `src/extension-host/embedding-runtime.ts` and `src/extension-host/embedding-runtime-types.ts` while `src/memory/embeddings.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`, the public embedding runtime surface plus result typing now route through `src/extension-host/embedding-runtime.ts` and `src/extension-host/embedding-runtime-types.ts`, and manager-side batch policy plus fallback activation now route through `src/extension-host/embedding-manager-runtime.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`; provider and CLI entry execution, output parsing, provider query normalization, provider auth/context shaping, and proxy-aware fetch handling now route through `src/extension-host/media-runtime-execution.ts`; local-binary probing, auto-entry selection, active-model fallback, and top-level capability orchestration now route through `src/extension-host/media-runtime-auto.ts` and `src/extension-host/media-runtime-orchestration.ts`; and media prompt, timeout, scope, model-entry, concurrency, and decision helpers now route through `src/extension-host/media-runtime-config.ts` and `src/extension-host/media-runtime-decision.ts` while `src/media-understanding/providers/index.ts`, `src/media-understanding/runner.ts`, `src/media-understanding/runner.entries.ts`, and `src/media-understanding/resolve.ts` remain compatibility facades - TTS provider metadata, provider ordering, API-key resolution, configuration checks, and telephony support now route through `src/extension-host/tts-runtime-registry.ts`, provider execution loops, output-format selection, telephony synthesis, and provider-error shaping now route through `src/extension-host/tts-runtime-execution.ts`, provider selection plus request setup now route through `src/extension-host/tts-runtime-setup.ts`, prefs-path resolution, auto-mode policy, and persisted TTS preference reads and writes now route through `src/extension-host/tts-preferences.ts`, and auto-TTS gating, directive cleanup, truncation, summarization, and payload planning now route through `src/extension-host/tts-payload.ts` while `src/tts/tts.ts` remains the compatibility facade plus config and attempt-status surface - provider onboarding option building, model-picker entry building, and provider-method choice resolution now route through `src/extension-host/provider-wizard.ts` @@ -245,6 +245,7 @@ Committed implementation slices so far: - `b7868d06ba` `ACP: extract runtime backend registry` - `df0cb8193c` `Memory: extract embedding runtime registry` - `edae8761b3` `Memory: extract embedding runtime surface` +- `bbe97e886f` `Memory: extract embedding manager runtime` - `e592f60fa7` `Media: extract runtime provider registry` - `9305a235b3` `Media: extract runtime execution` - `37ee04e9b0` `Media: extract runtime auto and orchestration` @@ -263,7 +264,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 -- remaining embedding manager and execution ownership, remaining media compatibility-facade cleanup, plus remaining TTS config/status and facade cleanup +- remaining embedding sync and indexing execution ownership, remaining media compatibility-facade cleanup, plus remaining TTS config/status 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 @@ -273,7 +274,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, fallback routing, public runtime surface, and result typing now extracted, media registry, execution, auto-entry selection, active-model fallback, orchestration, and planning helpers now extracted, TTS execution, request setup, preferences, and payload planning now partially extracted, and the remaining embedding manager and execution ownership, media compatibility-facade cleanup, plus TTS config/status cleanup 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, fallback routing, public runtime surface, result typing, and manager-side batch and fallback policy now extracted, media registry, execution, auto-entry selection, active-model fallback, orchestration, and planning helpers now extracted, TTS execution, request setup, preferences, and payload planning now partially extracted, and the remaining embedding sync and indexing execution ownership, media compatibility-facade cleanup, plus TTS config/status 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 diff --git a/docs/.internal/extension-host-migration/openclaw-extension-host-lifecycle-and-security-spec.md b/docs/.internal/extension-host-migration/openclaw-extension-host-lifecycle-and-security-spec.md index 7d2277e6740..27c139cd35f 100644 --- a/docs/.internal/extension-host-migration/openclaw-extension-host-lifecycle-and-security-spec.md +++ b/docs/.internal/extension-host-migration/openclaw-extension-host-lifecycle-and-security-spec.md @@ -42,7 +42,7 @@ What has been implemented: - context-engine registration and runtime resolution now delegate through `src/extension-host/context-engine-runtime.ts` while `src/context-engine/registry.ts` remains the compatibility facade - 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`, and the public embedding runtime surface plus result typing now delegate through `src/extension-host/embedding-runtime.ts` and `src/extension-host/embedding-runtime-types.ts` while `src/memory/embeddings.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`, the public embedding runtime surface plus result typing now delegate through `src/extension-host/embedding-runtime.ts` and `src/extension-host/embedding-runtime-types.ts`, and manager-side batch policy plus fallback activation now delegate through `src/extension-host/embedding-manager-runtime.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`, provider execution loops, output-format selection, telephony synthesis, and provider-error shaping now delegate through `src/extension-host/tts-runtime-execution.ts`, provider selection plus request setup now delegate through `src/extension-host/tts-runtime-setup.ts`, prefs-path resolution, auto-mode policy, and persisted TTS preference reads and writes now delegate through `src/extension-host/tts-preferences.ts`, and auto-TTS gating, directive cleanup, truncation, summarization, and payload planning now delegate through `src/extension-host/tts-payload.ts` while `src/tts/tts.ts` remains the compatibility facade plus config and attempt-status 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` @@ -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 -- remaining embedding manager and execution ownership, remaining media compatibility-facade cleanup, plus remaining TTS config/status and facade cleanup, including explicit fallback and override policy instead of plugin-era capability reads +- remaining embedding sync and indexing execution ownership, remaining media compatibility-facade cleanup, plus remaining TTS config/status 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 remaining embedding manager and execution ownership, remaining media compatibility-facade cleanup, plus remaining TTS config/status and facade cleanup, instead of widening `registerProvider(...)`. +7. Finish remaining embedding sync and indexing execution ownership, remaining media compatibility-facade cleanup, plus remaining TTS config/status 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. diff --git a/docs/.internal/extension-host-migration/openclaw-kernel-event-pipeline-spec.md b/docs/.internal/extension-host-migration/openclaw-kernel-event-pipeline-spec.md index 0f78e8995c0..e124648f1e1 100644 --- a/docs/.internal/extension-host-migration/openclaw-kernel-event-pipeline-spec.md +++ b/docs/.internal/extension-host-migration/openclaw-kernel-event-pipeline-spec.md @@ -39,7 +39,7 @@ Relevant prerequisite work that has landed: - context-engine registration and runtime resolution now have a host-owned helper boundary in `src/extension-host/context-engine-runtime.ts` - exclusive-slot selection and default-slot resolution now have a host-owned helper boundary in `src/extension-host/slot-arbitration.ts` - 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`, and the public embedding runtime surface plus result typing now have host-owned boundaries in `src/extension-host/embedding-runtime.ts` and `src/extension-host/embedding-runtime-types.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`, the public embedding runtime surface plus result typing now have host-owned boundaries in `src/extension-host/embedding-runtime.ts` and `src/extension-host/embedding-runtime-types.ts`, and manager-side batch policy plus fallback activation now have a host-owned helper boundary in `src/extension-host/embedding-manager-runtime.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`; provider and CLI entry execution, output parsing, provider query normalization, provider auth/context shaping, and proxy-aware fetch handling now have a host-owned helper boundary in `src/extension-host/media-runtime-execution.ts`; local-binary probing, auto-entry selection, active-model fallback, and top-level capability orchestration now have host-owned helper boundaries in `src/extension-host/media-runtime-auto.ts` and `src/extension-host/media-runtime-orchestration.ts`; and media prompt, timeout, scope, model-entry, concurrency, and decision helpers now have host-owned helper boundaries in `src/extension-host/media-runtime-config.ts` and `src/extension-host/media-runtime-decision.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`, 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`, provider selection plus request setup now have a host-owned helper boundary in `src/extension-host/tts-runtime-setup.ts`, prefs-path resolution, auto-mode policy, and persisted TTS preference reads and writes now have a host-owned helper boundary in `src/extension-host/tts-preferences.ts`, and auto-TTS gating, directive cleanup, truncation, summarization, and payload planning now have a host-owned helper boundary in `src/extension-host/tts-payload.ts` - loader cache key construction and registry cache control now have a host-owned helper boundary diff --git a/docs/.internal/extension-host-migration/openclaw-kernel-extension-host-transition-plan.md b/docs/.internal/extension-host-migration/openclaw-kernel-extension-host-transition-plan.md index 39002bf077e..42e60114ea7 100644 --- a/docs/.internal/extension-host-migration/openclaw-kernel-extension-host-transition-plan.md +++ b/docs/.internal/extension-host-migration/openclaw-kernel-extension-host-transition-plan.md @@ -88,7 +88,7 @@ What has landed: - plugin provider projection from registry entries into runtime provider objects now routes through `src/extension-host/provider-runtime.ts` - plugin provider discovery filtering, order grouping, and result normalization now route through `src/extension-host/provider-discovery.ts` - 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`, and the public embedding runtime surface plus result typing now route through `src/extension-host/embedding-runtime.ts` and `src/extension-host/embedding-runtime-types.ts` while `src/memory/embeddings.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`, the public embedding runtime surface plus result typing now route through `src/extension-host/embedding-runtime.ts` and `src/extension-host/embedding-runtime-types.ts`, and manager-side batch policy plus fallback activation now route through `src/extension-host/embedding-manager-runtime.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`; provider and CLI entry execution, output parsing, provider query normalization, provider auth/context shaping, and proxy-aware fetch handling now route through `src/extension-host/media-runtime-execution.ts`; local-binary probing, auto-entry selection, active-model fallback, and top-level capability orchestration now route through `src/extension-host/media-runtime-auto.ts` and `src/extension-host/media-runtime-orchestration.ts`; and media prompt, timeout, scope, model-entry, concurrency, and decision helpers now route through `src/extension-host/media-runtime-config.ts` and `src/extension-host/media-runtime-decision.ts` while `src/media-understanding/providers/index.ts`, `src/media-understanding/runner.ts`, `src/media-understanding/runner.entries.ts`, and `src/media-understanding/resolve.ts` remain compatibility facades - TTS provider metadata, provider ordering, API-key resolution, configuration checks, and telephony support now route through `src/extension-host/tts-runtime-registry.ts`, provider execution loops, output-format selection, telephony synthesis, and provider-error shaping now route through `src/extension-host/tts-runtime-execution.ts`, provider selection plus request setup now route through `src/extension-host/tts-runtime-setup.ts`, prefs-path resolution, auto-mode policy, and persisted TTS preference reads and writes now route through `src/extension-host/tts-preferences.ts`, and auto-TTS gating, directive cleanup, truncation, summarization, and payload planning now route through `src/extension-host/tts-payload.ts` while `src/tts/tts.ts` remains the compatibility facade plus config and attempt-status surface - provider onboarding option building, model-picker entry building, and provider-method choice resolution now route through `src/extension-host/provider-wizard.ts` @@ -231,6 +231,7 @@ Committed implementation slices so far: - `b7868d06ba` `ACP: extract runtime backend registry` - `df0cb8193c` `Memory: extract embedding runtime registry` - `edae8761b3` `Memory: extract embedding runtime surface` +- `bbe97e886f` `Memory: extract embedding manager runtime` - `e592f60fa7` `Media: extract runtime provider registry` - `9305a235b3` `Media: extract runtime execution` - `37ee04e9b0` `Media: extract runtime auto and orchestration` @@ -248,7 +249,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 -- remaining embedding manager and execution ownership, remaining media compatibility-facade cleanup, plus remaining TTS config/status and facade cleanup +- remaining embedding sync and indexing execution ownership, remaining media compatibility-facade cleanup, plus remaining TTS config/status and facade cleanup - SDK compatibility translation work - canonical event stages - canonical capability catalogs diff --git a/src/extension-host/cutover-inventory.md b/src/extension-host/cutover-inventory.md index d6085b64928..418714ae8b8 100644 --- a/src/extension-host/cutover-inventory.md +++ b/src/extension-host/cutover-inventory.md @@ -99,7 +99,7 @@ This is an implementation checklist, not a future-design spec. | Interactive channel control verbs for bound agents | product-shaped runtime helpers added under `src/plugins/runtime/*` and direct channel-specific helpers in extension code | host-owned adapter runtime contracts and interaction capabilities | `not started` | The host needs a bounded first-cut set of control verbs for interactive agents, such as typing leases plus message or conversation actions. Those verbs should be expressed as generic host-owned adapter capabilities, even if the first validated rollout only exercises them through Telegram and Discord. | | Slot arbitration | `src/plugins/slots.ts` | `src/extension-host/slot-arbitration.ts` | `partial` | Exclusive-slot selection and default-slot resolution now route through a host-owned slot-arbitration helper while `src/plugins/slots.ts` remains the compatibility facade. Broader slot and catalog arbitration are still pending. | | ACP backend registry | `src/acp/runtime/registry.ts` | `src/extension-host/acp-runtime-backend-registry.ts` | `partial` | ACP backend registration and resolution now route through a host-owned ACP runtime-backend registry while `src/acp/runtime/registry.ts` remains the compatibility facade. Broader runtime-backend catalog ownership and ACPX pilot migration are still pending. | -| Embedding provider registry and fallback routing | `src/memory/embeddings.ts`, `src/memory/manager.ts`, `src/memory/manager-sync-ops.ts`, plus plugin provider capability filtering through `src/plugins/runtime.ts` | `src/extension-host/embedding-runtime-registry.ts`, `src/extension-host/embedding-runtime.ts`, and `src/extension-host/embedding-runtime-types.ts` | `partial` | Embedding-provider auto-selection, provider creation, local-setup guidance, and primary and fallback routing now route through a host-owned embedding runtime-registry helper. The public embedding runtime surface and result typing now route through `src/extension-host/embedding-runtime.ts` and `src/extension-host/embedding-runtime-types.ts`, and the main memory-manager consumers now use that host-owned boundary while `src/memory/embeddings.ts` remains the compatibility facade. Remaining embedding work is down to broader manager/execution ownership and catalog-backed runtime-family registration. | +| Embedding provider registry and fallback routing | `src/memory/embeddings.ts`, `src/memory/manager.ts`, `src/memory/manager-sync-ops.ts`, plus plugin provider capability filtering through `src/plugins/runtime.ts` | `src/extension-host/embedding-runtime-registry.ts`, `src/extension-host/embedding-runtime.ts`, `src/extension-host/embedding-runtime-types.ts`, and `src/extension-host/embedding-manager-runtime.ts` | `partial` | Embedding-provider auto-selection, provider creation, local-setup guidance, and primary and fallback routing now route through a host-owned embedding runtime-registry helper. The public embedding runtime surface and result typing now route through `src/extension-host/embedding-runtime.ts` and `src/extension-host/embedding-runtime-types.ts`, the main memory-manager consumers now use that host-owned boundary, and manager-side batch policy plus fallback activation now route through `src/extension-host/embedding-manager-runtime.ts` while `src/memory/embeddings.ts` remains the compatibility facade. Remaining embedding work is down to broader sync and indexing execution ownership plus catalog-backed runtime-family registration. | | Media-understanding provider registry and execution routing | `src/media-understanding/providers/index.ts`, `src/media-understanding/runner.ts`, `src/media-understanding/runner.entries.ts`, `src/media-understanding/resolve.ts`, plus plugin provider capability filtering through `src/plugins/runtime.ts` | `src/extension-host/media-runtime-registry.ts`, `src/extension-host/media-runtime-execution.ts`, `src/extension-host/media-runtime-auto.ts`, `src/extension-host/media-runtime-orchestration.ts`, `src/extension-host/media-runtime-config.ts`, and `src/extension-host/media-runtime-decision.ts` | `partial` | Media-provider normalization, built-in registry construction, override merging, and runtime lookup now route through a host-owned media runtime-registry helper. Provider and CLI entry execution, output parsing, provider query normalization, provider auth/context shaping, and proxy-aware fetch handling now route through `src/extension-host/media-runtime-execution.ts`. Local-binary probing, auto-entry selection, active-model fallback, and top-level capability orchestration now route through `src/extension-host/media-runtime-auto.ts` and `src/extension-host/media-runtime-orchestration.ts`. Prompt, timeout, scope, model-entry, and concurrency planning now route through `src/extension-host/media-runtime-config.ts`, and media decision shaping now routes through `src/extension-host/media-runtime-decision.ts`, while `src/media-understanding/providers/index.ts`, `src/media-understanding/runner.ts`, `src/media-understanding/runner.entries.ts`, and `src/media-understanding/resolve.ts` remain compatibility facades. Remaining media work is down to compatibility-facade cleanup. | | TTS provider registry and execution routing | `src/tts/tts.ts`, `src/gateway/server-methods/tts.ts`, and `src/auto-reply/reply/commands-tts.ts` | `src/extension-host/tts-runtime-registry.ts`, `src/extension-host/tts-runtime-execution.ts`, `src/extension-host/tts-runtime-setup.ts`, `src/extension-host/tts-preferences.ts`, and `src/extension-host/tts-payload.ts` | `partial` | Built-in TTS provider metadata, provider ordering, API-key resolution, configuration checks, and telephony support now route through a host-owned TTS runtime-registry helper. Provider execution loops, output-format selection, telephony synthesis, and provider-error shaping now route through `src/extension-host/tts-runtime-execution.ts`. Provider selection and request setup now route through `src/extension-host/tts-runtime-setup.ts`. Prefs-path resolution, auto-mode policy, and persisted TTS preference reads and writes now route through `src/extension-host/tts-preferences.ts`. Auto-TTS gating, directive cleanup, truncation, summarization, and payload planning now route through `src/extension-host/tts-payload.ts` while `src/tts/tts.ts` remains the compatibility facade plus config and attempt-status surface. | | Onboarding/install/setup surfaces | `src/plugins/install.ts`, package manifests, channel catalog, onboarding commands | host-owned static descriptors | `partial` | Static metadata normalization has started; full setup/install descriptor migration is not done. | @@ -133,7 +133,7 @@ That pattern has been used for: - gateway method-id aggregation, plugin diagnostic shaping, and extra-handler composition - host-owned runtime registry read accessors for provider, tool, service, CLI, gateway-method, and HTTP-route consumers, plus the broader CLI pre-load fast path those accessors enabled - explicit scoping of still-unimplemented migration targets: conversation binding ownership, interactive callback routing, ingress claim semantics, and bounded first-cut interactive channel controls -- explicit scoping of remaining subsystem-runtime targets: remaining embedding manager and execution ownership, remaining media compatibility-facade cleanup, plus remaining TTS config/status and facade cleanup, all with capability routing and fallback +- explicit scoping of remaining subsystem-runtime targets: remaining embedding sync and indexing execution ownership, remaining media compatibility-facade cleanup, plus remaining TTS config/status and facade cleanup, all with capability routing and fallback - explicit scoping of extension-backed search as either a canonical tool contribution or an optional host-owned runtime backend, rather than as another universal provider surface ## Immediate Next Targets @@ -160,7 +160,7 @@ The following remain legacy-owned today: - interaction namespace routing, dedupe, and callback fallback rules - canonical ingress claim semantics - generic host-owned interactive channel control contracts -- remaining embedding manager and execution ownership, remaining media compatibility-facade cleanup, plus remaining TTS config/status and facade cleanup +- remaining embedding sync and indexing execution ownership, remaining media compatibility-facade cleanup, plus remaining TTS config/status and facade cleanup - a clear host-owned split for extension-backed search between canonical tool publication and any optional runtime-internal search backend registry - channel runtime compatibility bridges - pilot parity tracking