daveadmin 06d01a3bce feat(dashboard): add corpus dashboard at /dashboard/
Full private corpus dashboard for tools.dobetternorge.no users — each SSO
account gets an auto-provisioned CaveauAI tenant (clients row, corpus) on
first visit. Includes upload (file/paste/URL), RAG chat with SSE streaming
and citation chips, document CRUD, FalkorDB graph relations tab, and
improved save-from-tool flow with tag/preview support.

- dashboard/{index,documents,document,upload,chat,settings}.php
- api/dashboard/{corpus-init,documents,upload,ingest-status,chat-stream,
  save-from-tool,graph}.php
- includes/{CorpusProvision,layout_dashboard,layout_dashboard_footer}.php
- assets/css/dashboard.css  assets/js/corpus-save.js (routing upgrade)
- includes/{bootstrap,layout}.php extended for dashboard provisioning

Migration 141 (clients.dbn_sso_uid + import_method enum) applied on chloe.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 17:15:40 +02:00
2026-05-23 10:17:34 +02:00
2026-05-23 10:17:34 +02:00
2026-05-23 10:17:34 +02:00
2026-05-23 10:17:34 +02:00
2026-05-23 10:17:34 +02:00
2026-05-23 10:17:34 +02:00
2026-05-23 10:17:34 +02:00
2026-05-23 10:17:34 +02:00
2026-05-23 10:17:34 +02:00
2026-05-23 10:17:34 +02:00
2026-05-23 10:17:34 +02:00
2026-05-08 17:12:38 +02:00
2026-05-23 10:17:34 +02:00

Do Better Norge Legal Tools Hub

MVP docroot for tools.dobetternorge.no.

Required environment

  • CaveauAI client access for DBN_CAVEAU_CLIENT_SLUG and DBN_CAVEAU_PACKAGE_SLUG
  • DBN_AZURE_OPENAI_ENDPOINT
  • DBN_AZURE_OPENAI_API_KEY
  • DBN_AZURE_OPENAI_API_VERSION
  • DBN_AZURE_OPENAI_CHAT_DEPLOYMENT
  • DBN_AZURE_OPENAI_EMBEDDING_DEPLOYMENT

Optional:

  • DBN_AI_PORTAL_ROOT (defaults to sibling ai-portal)
  • DBN_CAVEAU_CLIENT_SLUG (defaults to dobetter)
  • DBN_CAVEAU_PACKAGE_SLUG (defaults to family-legal)
  • DBN_TOOLS_SUPPORT_DIR
  • DBN_TOOLS_METADATA_LOG

Authentication

The login form authenticates against Caveau client_users for the configured client slug. The client must be active, the user must be active, and the client must have an active subscription to the configured corpus package.

Use scripts/setup-caveau-access.php for repeatable local/production setup of the Do Better Norge Caveau owner account, family-legal subscription, and white-label domain mappings. Pass the account password through DBN_SETUP_PASSWORD at runtime only; do not commit it.

The APIs process pasted text in memory and write only metadata such as tool name, latency, language, source count, chunk count, deployment, and anonymous session id.

S
Description
No description provided
Readme 33 MiB
Languages
PHP 77.3%
JavaScript 13.6%
CSS 9.1%