Interface HostExtensionPoint

All Known Subinterfaces:
A2aSkillset, A2aTransportExtension, McpToolset, TaskExecutorExtension

public interface HostExtensionPoint
Marker interface for host-defined extension points that plugins may implement inside their Spring plugin context (see the X-Plugin-Context manifest header). Implementations are discovered from the plugin's child ApplicationContext and made available to host code exclusively through PluginExtensionRegistry#extensions(Class) - never registered into the root ApplicationContext's BeanFactory.

This is not a general-purpose SPI mechanism. Each concrete extension point the host wants to support is its own interface extending HostExtensionPoint, defined by the host, not by plugin authors - e.g. TaskExecutorExtension, the platform's first real consumer.

Package placement for concrete extension points: this marker lives in osgi.api.spring because it is part of the Spring-plugin-context contract - that is the one thing every extension point shares. Concrete subtypes do not belong here; they live in sibling packages under osgi.api named for their own domain (e.g. osgi.api.tasks.TaskExecutorExtension). This marker's package is not a shared namespace for every extension point - grouping unrelated extension points under spring would wrongly imply they are Spring-specific, when the only Spring-specific thing about them is how they are discovered.