A single indexed project with its own file tree, symbol table, and watcher.
| 16 | |
| 17 | /// A single indexed project with its own file tree, symbol table, and watcher. |
| 18 | pub struct Project { |
| 19 | pub root: PathBuf, |
| 20 | pub file_tree: Arc<FileTree>, |
| 21 | pub symbol_table: Arc<SymbolTable>, |
| 22 | // Held alive to keep the filesystem watcher running; dropped on eviction. |
| 23 | #[allow(dead_code)] |
| 24 | pub watcher: Option<watcher::WatcherHandle>, |
| 25 | pub last_active: Mutex<DateTime<Utc>>, |
| 26 | /// Named buffers for storing code snippets. |
| 27 | pub buffers: DashMap<String, Buffer>, |
| 28 | /// JSON variables for RLM state management. |
| 29 | pub variables: DashMap<String, serde_json::Value>, |
| 30 | /// Subcall results from recursive LLM queries. |
| 31 | pub subcall_results: Mutex<Vec<SubcallResult>>, |
| 32 | } |
| 33 | |
| 34 | /// Shared application state, wrapped in Arc for axum handlers. |
| 35 | #[derive(Clone)] |
nothing calls this directly
no outgoing calls
no test coverage detected