-
Notifications
You must be signed in to change notification settings - Fork 25
Postgres #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
rebase staging
set project config and clean lint errors
WalkthroughThis update introduces OAuth-based user authentication, per-user graph isolation, and multi-step query streaming with confirmation for destructive SQL operations. The agent architecture is modularized, with each agent moved to its own file and a new utility for parsing LLM responses. The PostgreSQL loader is enhanced with schema modification detection, schema refresh, and SQL execution. The UI is redesigned for improved theming, responsiveness, and accessibility, including new modals and user profile features. Documentation and example data are expanded, and several workflow and dependency files are updated. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant Browser
participant FlaskApp
participant OAuthProvider as OAuth (Google/GitHub)
participant DB as PostgresLoader
participant GraphDB
User->>Browser: Visit /login
Browser->>FlaskApp: /login request
FlaskApp->>OAuthProvider: Redirect to OAuth login
OAuthProvider->>Browser: OAuth consent flow
Browser->>FlaskApp: OAuth callback with token
FlaskApp->>OAuthProvider: Validate token
OAuthProvider-->>FlaskApp: User info
FlaskApp->>Browser: Set session, render chat UI
User->>Browser: Enter SQL question
Browser->>FlaskApp: POST /graphs/<graph_id> (with user session)
FlaskApp->>GraphDB: Retrieve schema (per-user graph)
FlaskApp->>Agents: Analyze question, generate SQL
Agents->>FlaskApp: Return analysis, SQL, confidence, etc.
FlaskApp->>Browser: Stream reasoning steps
alt Destructive SQL detected
FlaskApp->>Browser: Stream destructive_confirmation dialog
User->>Browser: Confirm/cancel
Browser->>FlaskApp: POST /graphs/<graph_id>/confirm
alt Confirmed
FlaskApp->>DB: Execute SQL
DB->>FlaskApp: Return results
FlaskApp->>Browser: Stream results and AI explanation
else Cancelled
FlaskApp->>Browser: Stream operation_cancelled
end
else Safe SQL
FlaskApp->>DB: Execute SQL
DB->>FlaskApp: Return results
FlaskApp->>Browser: Stream results and AI explanation
end
Estimated code review effort🎯 5 (Critical) | ⏱️ ~90 minutes Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI ⛔ Files ignored due to path filters (5)
📒 Files selected for processing (37)
💤 Files with no reviewable changes (3)
Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Join our Discord community for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Summary by CodeRabbit
New Features
Bug Fixes
Refactor
Documentation
Chores
Style
Tests
Revert