feat: refocus Reva on the web app — real-time processing, agent tools, CRS template view#56
Merged
Merged
Conversation
Add src/Reva.App (Avalonia 12 / .NET 10, single-file self-contained native window — keystone launch proven) and src/Reva.Ai, wired into Reva.slnx with references to Core and Infrastructure. Centralize the advertised document extensions in Reva.Core/Documents/AcceptedDocumentExtensions.cs. Refs #54
DataGrid 12.0.0, LiveChartsCore.SkiaSharpView.Avalonia, and Microsoft.Extensions Configuration/DependencyInjection for the composition root. Refs #54
…c copilot Ground-up rebuild to a native Avalonia 12 / .NET 10 desktop app (src/Reva.App, the shipped Reva.exe — GPU/Skia, no browser/localhost). New src/Reva.Ai adds a configurable VLM-first extraction tier over Ollama (IModelRegistry + VlmFieldExtractor) with the deterministic pipeline as the always-on fallback. The copilot drives the whole app in-process via IAppActionBus (navigate/open/ refresh). Adds .xls/.ods/.tsv parsers. Demo data seeds in the background and refreshes the UI via IRefreshable. Built by an 18-agent parallel workflow; solution builds 0/0 with 118 tests passing. Refs #54
…del fix Adds a frosted-glass/acrylic design layer (Mica window backdrop, translucent chrome surfaces, hero gradient wash, depth) over the light theme; integrates the new Reva rocket-R logo as the window/taskbar icon and nav-rail mark; and fixes the model status chip to show the real active Ollama model. Isolates the ModelRegistry state path via AiProcessingOptions.StateDirectory so tests no longer pollute the user's LocalAppData (the source of the "seeded-model" chip). Functional-completeness pass across every view + interview-grade README/docs + added viewmodel tests. Solution builds 0/0; 178 tests pass. Refs #54
… working dark Rewrites the design system from scratch: a soft tinted gradient canvas with translucent glass panels over it (real frosted-glass depth), bold display typography, gradient accents with glow, and a genuinely premium light AND dark theme (Linear/Arc-grade). Fixes the dark-mode regression where navigating to Settings reset the theme (SettingsViewModel now reads the live application theme instead of forcing the persisted one). Renames the product default to Reva. Adds a real Avalonia.Headless E2E test project (tests/Reva.App.Tests). Build 0/0; 197 tests pass (161 unit + 17 integration + 19 headless UI). Refs #54
…tools, CRS template view
- Remove the Avalonia desktop shell (Reva.App/Reva.Ai) and its entangled tests; the Next.js + ASP.NET web app is the product
- Add an SSE document processing stream (GET /api/documents/{id}/process-stream) and a live ProcessingTheater that scans line by line
- Add a get_current_datetime agent tool; emit reasoning frames (reasoning-start/delta/end) when the model provides them
- Fix the chat: never render an empty assistant bubble; show a live "Working" indicator with elapsed time
- Add a CRS-ordered Template view in Review with a Source/Template toggle
- Knowledge hub endpoints + embedded store; multi-provider AI settings and schema-mapping migrations
- Rewrite README, CONTEXT, and docs around the web app; replace the nav footer with a live engine-status indicator
…R spans CSV, Excel, email and text documents have no OCR source spans, so the live scan showed "0 lines". Fall back to streaming the parsed source text line by line (skipping markdown table separators) so every document type animates its scan; image and PDF documents keep streaming their OCR spans.
…er a page CSV, Excel, email and text documents have no rendered page image, so the work queue thumbnail 404'd on /pages/1.png and noised up the browser console. Gate the image request by file extension (pdf/png/jpg/tiff); other types show the document-type glyph directly with no request.
…professional copy - Add a guided Showcase (header button) that tours every capability and opens each one live - Add a one-click "Load demo scenarios" action that seeds the bundled real reinsurance dataset (no external files needed) - Set the Reva brand logo as the Windows application icon (reva.ico) - Professional-language pass: remove informal terms and soften domain jargon across the UI - Only request a page thumbnail for formats that render a page (clean console)
…gh and the reasoning-aware stream mapper
…moke-test it end to end The packaging script still targeted the removed desktop project. Publish src/Reva.Web as the self-contained single-file Reva.exe that serves the static UI from wwwroot and runs the API, and harden the smoke test to start the exe, poll /health, and verify /api/documents and the packaged UI respond.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Removes the Avalonia desktop shell; web app is the product. Adds the live SSE processing stream + ProcessingTheater, the get_current_datetime tool, the chat empty-bubble fix, and the CRS Template view in Review. Docs rewritten to the web app. Build 0/0; Unit 108/108; Integration 32/32.