Portable Query IR
Describe intent with semantic fields, filters, grouping, time ranges, and limits instead of backend syntax.
One portable query contract for every observability datasource — compile once, normalize everywhere.
OpenPlait separates product intent from datasource execution without hiding native capabilities when you need them.
Describe intent with semantic fields, filters, grouping, time ranges, and limits instead of backend syntax.
Every adapter emits the same typed, columnar result contract for tables, charts, alerts, and analysis.
Resolve named datasource instances by scope without putting credentials or vendor details into dashboards.
Ship with first-party adapters for OpenTelemetry stores and Grafana-style backends — including Jaeger Query HTTP.
Keep TraceQL, LogQL, PromQL, and SQL available when semantic mode is not enough.
OpenLIT owns vault, SSRF, and product UI. OpenPlait stays a portable contract any host can adopt.
Adapters own compilation and execution. Applications own credentials, routing, and presentation.
Register server-side adapters, then execute the same resource through the runtime — TypeScript today, Python alpha alongside.
npm install @openplait/core \
@openplait/adapter-sdk \
@openplait/runtime \
@openplait/adapter-clickhouse \
@openplait/adapter-jaeger