feat: Runnable architecture (LLM+Document) #89
Description
Implements the Document and LLM layer and connects them in the analysis module. Document manages the markdown content and suggestion list, including position remapping after every Lexical edit. The LLM layer uses LLMConnector and IApiAdapter to send prompts and map responses to suggestions via per-unit cursors.
The editor is wired to the Document layer via the analysis module — every Lexical onChange synchronises content via syncContent in analysis and updateContent in document. Undo for accept/reject operations is fully implemented in Document; editor-side binding is not yet in place and as such this was not yet tested. Will be addressed in a future MR based on our priorities.
AppProviders.tsx acts as the App Core: it instantiates non-React services and passes them down to specific providers. Further MRs should create the services here.
The prototype works for simple edits. The prompt will need further tuning for more complex cases, as discussed on Discord.