How darshani8/guru-ji works
Agent Saffron is an institutional intelligence platform: staff and other authorised users import institutional data, then query it or ask an agent to perform work through text or voice. The main flow includes reviewed ingestion into canonical tenant-isolated data, permission-bound tool execution, and generated answers or reports. Separate capabilities provide cited document search, public-web intelligence, and read-only federated data access. The graph follows README workflows and the supplied source excerpts; wiring among unsampled subsystems is shown only where the documentation supports it.
Main entry points: app.js Text and voice client · service.py Ingestion pipeline · rag.py Document RAG · assistant_service.py Assistant orchestration
Components 26
User Experience
- Text and voice client
apps/web/assistant/app.js - Voice API
apps/api/app/api/routes/voice.py - Voice sessions
apps/api/app/voice/session_manager.py
Data Ingestion
- Ingestion API
apps/api/app/api/routes/ingestion.py - Ingestion pipeline
apps/api/app/ingestion/service.py - File parsers
apps/api/app/ingestion/registry.py - Canonical institution data
apps/api/app/institution_data/store.py - Uploaded file storage
apps/api/app/storage/object_store.py
Agent Runtime
- Agent commands API
apps/api/app/api/routes/agent.py - Assistant orchestration
apps/api/app/orchestration/assistant_service.py - Policy tool gateway
apps/api/app/gateway/gateway.py - Registered tools
apps/api/app/tools/registry.py - Report generation
apps/api/app/actions/reports.py
Research Intelligence
- Documents API
apps/api/app/api/routes/documents.py - Intelligence API
apps/api/app/api/routes/intelligence.py - Document RAG
apps/api/app/documents/rag.py - Document vector store
apps/api/app/documents/vector_store.py - Document embeddings
apps/api/app/documents/embeddings.py - Internet intelligence
apps/api/app/internet_intelligence/service.py - Institution web map
apps/api/app/internet_intelligence/map/service.py
Platform Services
- Unified data API
apps/api/app/api/routes/data.py - Scoped data access
apps/api/app/data_access/service.py - Federated connectors
apps/api/app/connectors/registry.py
Other components
- Institutional user
- Model provider
- Public web sources
Connections 27
- Institutional user → Text and voice client: uses
- Text and voice client → Agent commands API: sends commands
- Text and voice client → Ingestion API: uploads data
- Text and voice client → Documents API: searches documents
- Text and voice client → Intelligence API: requests research
- Text and voice client → Unified data API: queries data
- Text and voice client → Voice API: opens voice
- Ingestion API → Ingestion pipeline: creates jobs
- Ingestion pipeline → File parsers: parses files
- Ingestion pipeline → Uploaded file storage: stores uploads
- Ingestion pipeline → Canonical institution data: commits records
- Agent commands API → Assistant orchestration: runs commands
- Assistant orchestration → Policy tool gateway: dispatches tools
- Policy tool gateway → Registered tools: resolves tools
- Registered tools → Report generation: invokes reports
- Assistant orchestration → Model provider: plans and answers
- Documents API → Document RAG: answers queries
- Document RAG → Document embeddings: embeds queries
- Document RAG → Document vector store: retrieves passages
- Document RAG → Model provider: synthesizes cited answers
- Intelligence API → Internet intelligence: investigates
- Internet intelligence → Public web sources: searches sources
- Intelligence API → Institution web map: manages map
- Unified data API → Scoped data access: reads scoped data
- Scoped data access → Canonical institution data: reads records
- Scoped data access → Federated connectors: uses connectors
- Voice API → Voice sessions: manages sessions