Spaces:
Sleeping
Sleeping
Commit History
-
Implement anomaly detection and forecasting features
Ananth Shyam- Added new documentation for Area 4: Anomaly Detection & Forecasting, detailing its purpose, implementation, and design principles. - Created the anomaly detection module with the following components: - `src/anomaly/__init__.py`: Initialization file for the anomaly module. - `src/anomaly/db.py`: Supabase persistence layer for anomaly signals and query events. - `src/anomaly/notifier.py`: In-process WebSocket broadcast bridge for real-time notifications of critical/high anomaly signals. - `src/anomaly/router.py`: FastAPI router for the anomaly detection API endpoints. - `src/anomaly/tasks.py`: Celery tasks for running anomaly detection algorithms, including Z-score detection, staleness scoring, and dependency risk modeling. - Developed SQL migration script (`supabase/anomaly_migration.sql`) to create necessary tables for storing query events and anomaly signals.451d52a
-
fix: use DO block to add team_id column if teams table has wrong schema
1361870 -
fix: rbac_migration — create teams table if schema.sql was skipped
6bc4034
-
feat: implement Google OAuth2 SSO integration with user management and callback handling
Ananth Shyamd128756
-
Fix rbac_migration: upsert default team before channel FK insert
e32f628 -
feat: RBAC foundation — workspaces, channels, role-based access
- supabase/rbac_migration.sql: workspaces, users, channels, channel_role_grants, user_channel_permissions, rbac_audit_log tables; backfills existing data into default workspace + General channel; RLS policies - src/auth/db.py: DB-backed user lookup + channel resolution (role grants + per-user overrides merged, explicit revokes subtracted) - src/auth/deps.py: get_current_user FastAPI dependency + require_role() factory - src/auth/router.py: login tries Supabase DB first, falls back to hardcoded dev creds; always includes allowed_channel_ids in the session payload - src/config.py: add supabase_url/supabase_key to main Settings - agent/models.py: QueryInput gains allowed_channel_ids (server-side only) - agent/api.py: query endpoint validates session via get_current_user; overwrites team_id and allowed_channel_ids from auth — client body values are ignored - agent/tools/doc_search.py: Qdrant filter uses channel_ids when set; falls back to team_id for legacy points without chann…a8e67fc
-
Add agent and ingestion modules for Enterprise Knowledge Copilot
- agent/: LangGraph orchestration with Gemini, Qdrant hybrid retrieval, BGE-M3 embeddings, BGE reranker, GLiNER PII masking, FastAPI SSE endpoint - ingestion/: document ingestion pipeline with Confluence, GitHub, PDF, and Jira sources, semantic chunker, Celery background jobs, Supabase + Qdrant storage, and nightly CAG snapshot job - main.py: FastAPI entry point mounting both routers - supabase/schema.sql: full schema with RLS team isolation - requirements.txt, .env.example, .gitignore159f5a5