Active Plugins¶
The plugins currently shipped with the repo. The exact set running in any given environment is whatever VaultSettings.json Base.active_plugins says — this page describes what's available to enable.
Note
Endpoint paths below are written without the /vault/ prefix, which is added automatically by NimbusVault/urls.py. So llm/document resolves to https://<host>/vault/llm/document.
LLM_Plugin¶
Purpose: LLM-driven document generation, search, chat, regulatory-guideline assessment, and text-to-* utilities (text-to-SQL, text-to-filter, text-to-workflow).
Folder: Plugins/LLM_Plugin/
Key sub-modules:
| Path | Responsibility |
|---|---|
TextToSQL/ |
Natural-language → SQL over tenant data. Includes a schema-sync step and a direct-execute path. |
TextToFilter/ |
Natural-language → DRF filter clauses for document search. |
TextToWorkflow/ |
Natural-language → workflow definition. |
SuggestFields/ |
Field auto-suggest for forms. |
RegulatoryMapping/ |
Map regulatory guidelines to entity attributes; produce an assessment. |
Endpoint surface (Plugins/LLM_Plugin/urls.py):
POST llm/document
POST llm/chat
POST llm/check
POST llm/modeltrain
POST llm/modelchat
GET llm/model-sessions
POST llm/v<vrsn_id>/doc-assess
POST llm/sync-attributes-to-docsearch
POST llm/text-to-filter
POST llm/regulatory-guideline/file
POST llm/regulatory-guideline/assessment
(Plus TextToSQL endpoints; consult Plugins/LLM_Plugin/TextToSQL/Views.py for the full list.)
Configuration: LLM provider credentials, model names, and feature toggles live under the LLM block in VaultSettings.json.
Nimbus_Plugin¶
Purpose: Integration glue for the Nimbus product — model integration, pipeline orchestration, and permission/redirection helpers.
Folder: Plugins/Nimbus_Plugin/
Endpoint surface (Plugins/Nimbus_Plugin/urls.py):
POST nimbus/model-entity/enablemodelintegration
GET nimbus/model-entity/getnimbusprojectlist
GET nimbus/getallmodels
GET nimbus/getpipelinelist
POST nimbus/runpipeline
GET nimbus/getpipelinestatus
GET nimbus/get-user-permission
POST nimbus/redirection
POST nimbus/unlink_model
Configuration: Nimbus host, auth, and pipeline routing under the Nimbus block in VaultSettings.json.
SharePoint¶
Purpose: Import / sync documents from Microsoft SharePoint into NimbusVault.
Folder: Plugins/SharePoint/
Endpoint surface (Plugins/SharePoint/urls.py):
GET sharepoint/files
POST sharepoint/sync_document
POST sharepoint/search-files
GET sharepoint/get-processes
POST sharepoint/pipeline
GET sharepoint/get-process-files
POST sharepoint/stop_search
POST sharepoint/update-migration
Notes:
- Long-running sync work is delegated to Celery. The HTTP endpoints kick off jobs and surface progress via the get-processes / get-process-files reads.
- Auth is OAuth2 via the SharePoint app registration; credentials in VaultSettings.json under SharePoint.
PowerBI¶
Purpose: Power BI report metadata + dataset/model lineage exposure; ships a downloadable Power BI connector.
Folder: Plugins/PowerBI/
Endpoint surface (Plugins/PowerBI/urls.py):
Configuration: Tenant ID, workspace, and OAuth scope in VaultSettings.json under PowerBI.
TeamsPlugin¶
Purpose: Propagate model/team membership into NimbusVault artifacts so Teams group changes flow into the entity permission model.
Folder: Plugins/TeamsPlugin/
Endpoint surface (Plugins/TeamsPlugin/urls.py):
(The view delegates into Plugins/Nimbus_Plugin/views.py::GetNimbusProjectList — keeping the actual implementation co-located with the related Nimbus logic.)
HDFCUAMPlugin¶
Purpose: HDFC-specific User Access Management (UAM) — user lifecycle, segment management, group management requests, parameter change requests, workflow maker/checker, and reporting. The most complex active plugin.
Folder: Plugins/HDFCUAMPlugin/
Internal layout (non-exhaustive):
Plugins/HDFCUAMPlugin/
├── bll/
│ ├── Auth/, ModelEntity/, ModelId/, Reports/, Segments/,
│ ├── UAMParameters/, UserProfile/, Workflow/, iSACRequest/
│ └── (each sub-domain has its own HelperFunctions / GetApis / PostApis / service)
├── cron/, cronjobs/ # supercronic jobs scheduled in the celery container
├── config.py
├── constants.py
├── docs/ # HDFC-specific deployment / runbook notes
└── (views, serializers, urls)
Endpoint surface (selected — versioned via <str:version> path segment, e.g., v1):
GET <version>/uam/users
POST <version>/uam/users
POST <version>/uam/users/delete
POST <version>/uam/users/status
GET <version>/uam/users/details
POST <version>/uam/users/session
POST <version>/uam/users/reinstate
GET <version>/uam/users/report
POST <version>/uam/request
GET <version>/uam/request/prefill
GET <version>/uam/request/list
GET <version>/uam/report/generate
... (segments, group-management requests, parameter change requests)
See Plugins/HDFCUAMPlugin/urls.py for the complete list.
Notes:
- iSAC (HDFC's internal access-control system) integration is encapsulated under bll/iSACRequest/.
- The plugin runs its own cron jobs via supercronic — definitions live under Plugins/HDFCUAMPlugin/cron/.
AldermorePlugin¶
Purpose: Aldermore-specific activity-report download endpoint with a customised report shape.
Folder: Plugins/AldermorePlugin/
Endpoint surface (Plugins/AldermorePlugin/urls.py):
Adding to this page¶
When you add a new plugin, append a section here following the template above:
- One-line purpose.
- Folder path.
- Key sub-modules / internal layout (if non-trivial).
- Endpoint surface — copy from the plugin's
urls.py. - Configuration block name in
VaultSettings.json. - Anything non-obvious (long-running jobs, Celery queues, external auth, cron).
The development guide covers the mechanics; this page is the catalogue.