#132906·grafana

Support progressive inline completions in the shared CM6 extension

Author: sgriff96Created Sep 17, 2026Updated Sep 17, 2026
Labelsarea/frontendinternalteam/grafana-datapro

Allow a provider to update one request-scoped ghost-text suggestion as text chunks arrive.

Start here: packages/grafana-ui/src/components/CodeMirror/inlineCompletion.ts, inlineCompletion.test.ts, types.ts, and packages/grafana-ui/src/unstable.ts. Constraints: Keep @grafana/ui AI- and SQL-agnostic; expose a request-scoped update/stream contract; reject every stale update by request, document, cursor, selection, and focus; preserve one-shot providers if practical; obtain Frontend Platform review before changing the unstable public API. Done when: A provider can render progressive accumulated ghost text, finalize it, and cancel it without reconfiguring the editor or accepting stale chunks. Tab, Escape, document edits, cursor movement, selection, blur, read-only mode, and destroy preserve their existing behavior. Verify: yarn jest packages/grafana-ui/src/components/CodeMirror/inlineCompletion.test.ts --no-watch; focused CodeEditor tests; manual Storybook check in light/dark themes with a delayed multi-chunk provider. Implementing team: DataPro. Consulted team: Frontend Platform. Dependencies: None; can proceed in parallel with the endpoint. Roadmap: Monaco to CodeMirror 6 migration roadmap and grafana/grafana#129192.