Spaces:
Sleeping
Sleeping
Commit History
-
fix: admins bypass RBAC channel filter for doc search
Hardcoded admin session has a single default channel_id which incorrectly restricts search to only chunks tagged with that channel. Admins (role=admin or org_admin) should see the full knowledge base, so pass empty allowed_channel_ids to trigger the broad team_id filter instead.244e03f
-
feat: add confluence/slack search tools, chat history, cloud Qdrant support, sync trigger fixes
68af3c5
-
feat: implement NL-to-SQL agent with PostgreSQL integration and enhance related documentation
Ananth Shyam825e852 -
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 -
feat: enhance analytics API with freshness computation and coverage gaps endpoint
Ananth Shyame69f4cf
-
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
-
feat: enhance agent event structure and improve SearchBox functionality
8900d0e -
feat: add Zustand stores for filters and UI state management
- Implemented `filterStore` for managing date range and filters. - Created `uiStore` for handling theme, sidebar state, and toast notifications. style: add global styles with Tailwind CSS - Introduced `globals.css` for base styles, skeleton loading animations, and code block copy button styles. test: setup testing environment - Added Jest DOM for improved testing capabilities. feat: define API types for better type safety - Created `api.ts` for various API request and response types. - Added `errors.ts` for standardized error handling. - Defined user-related types in `user.ts`. chore: configure TypeScript settings - Added `tsconfig.json` for TypeScript compiler options. feat: implement admin API for data source management - Developed endpoints for listing and patching data sources using Redis. feat: create analytics API for query events and knowledge health - Implemented endpoints for retrieving query statistics, topics, and knowledge health metrics. feat: add authenticati…9dfccd9
-
Fix parallel agent_results update collision with Annotated reducer
c57ea8c -
Fix Qdrant search API, add Supabase writes to agent pipelines, pin qdrant-client 1.17.1
1fbfa0e
-
Fix startup imports and add graph_store module
- Make FlagEmbedding, GLiNER, spacy, PyMuPDF imports lazy (inside loader functions) so the server starts without ML libs installed - Add python-multipart for FastAPI file upload support - Add graph_store/ module: Neo4j entity extraction, writer, reader, pipeline - Wire graph pipeline into ingestion job with graceful NEO4J skip - Mount /graph router in main.py with lifespan driver cleanup16b7df8
-
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