Shared library containing the SPI interfaces and core types for the analytics engine. All plugins depend on this library — it defines the contracts but contains no implementation logic.
QueryPlanExecutorPlugin— Factory for creating aQueryPlanExecutorfrom discovered back-end plugins.AnalyticsBackEndPlugin— Extension point for native execution engines (DataFusion, Lucene, etc.). Exposes engine name, bridge, and capabilities.AnalyticsFrontEndPlugin— Marker interface for query language front-ends (PPL, SQL). Discovered by the hub for lifecycle tracking.SchemaProvider— Functional interface that builds a CalciteSchemaPlusfrom cluster state.
QueryPlanExecutor— Executes a CalciteRelNodeplan fragment and returns result rows.EngineBridge<T>— JNI/native boundary for engine-specific plan conversion and execution (e.g., Substrait → Arrow batches).AnalyticsEngineContext— Provides schema and aggregated operator table to front-ends for parsing and validation.
Calcite and Arrow — no dependency on the OpenSearch server module.