refactor: rename project from AgenticRAG to DocuMente

## Changes
- Update all references from AgenticRAG to DocuMente
- Update README.md with new project description and structure
- Update LICENSE with new project name
- Update API title and descriptions in main.py
- Update frontend components (Layout, Login, Dashboard, Settings)
- Update static HTML page
- Update all documentation files (prd-v2.md, frontend-plan.md, etc.)
- Update test files with new project name
- Update docker-compose.yml, Dockerfile, requirements.txt

## SEO Benefits
- DocuMente combines 'Documento' and 'Mente' (Italian for Document and Mind)
- Memorable and brandable name
- Reflects the core functionality: AI-powered document intelligence

🎉 Project officially renamed to DocuMente!
This commit is contained in:
Luca Sacchi Ricciardi
2026-04-06 13:54:57 +02:00
parent 527adec599
commit b7ef07dd34
40 changed files with 159 additions and 122 deletions

View File

@@ -1,4 +1,4 @@
# AgenticRAG Dockerfile # DocuMente Dockerfile
# Multi-stage build for production # Multi-stage build for production
FROM python:3.11-slim as builder FROM python:3.11-slim as builder

View File

@@ -1,6 +1,6 @@
Copyright e Licenza Copyright e Licenza
Progetto: AgenticRAG (aka NotebookLM Agent API) Progetto: DocuMente
Autore: Luca Sacchi Ricciardi Autore: Luca Sacchi Ricciardi
Contatto: luca@lucasacchi.net Contatto: luca@lucasacchi.net
@@ -20,14 +20,14 @@ Nessuna Modifica: È vietato modificare, alterare, adattare, tradurre, decompila
Uso Non Autorizzato: È vietato vendere, noleggiare, dare in locazione, concedere in licenza o utilizzare il software per scopi commerciali senza una licenza specifica rilasciata dall'autore. Uso Non Autorizzato: È vietato vendere, noleggiare, dare in locazione, concedere in licenza o utilizzare il software per scopi commerciali senza una licenza specifica rilasciata dall'autore.
Tutela del Marchio: Il nome "AgenticRAG", "NotebookLM Agent API" e le metodologie di sviluppo associate sono di proprietà dell'autore. Tutela del Marchio: Il nome "DocuMente" e le metodologie di sviluppo associate sono di proprietà dell'autore.
Legge Applicabile e Foro Competente Legge Applicabile e Foro Competente
Il presente accordo è regolato dalla legge italiana. Per qualsiasi controversia derivante dall'interpretazione, esecuzione o risoluzione della presente licenza e per ogni disputa relativa al progetto "AgenticRAG", sarà competente in via esclusiva il Foro di Milano, Italia. Il presente accordo è regolato dalla legge italiana. Per qualsiasi controversia derivante dall'interpretazione, esecuzione o risoluzione della presente licenza e per ogni disputa relativa al progetto "DocuMente", sarà competente in via esclusiva il Foro di Milano, Italia.
Contatti Contatti
Per richieste di autorizzazione, collaborazioni o informazioni su licenze commerciali, si prega di contattare l'autore all'indirizzo email: luca@lucasacchi.net. Per richieste di autorizzazione, collaborazioni o informazioni su licenze commerciali, si prega di contattare l'autore all'indirizzo email: luca@lucasacchi.net.
Documento generato il 6 Aprile 2026 per la release del sistema completo. Documento generato il 6 Aprile 2026 per la release di DocuMente.

192
README.md
View File

@@ -1,53 +1,52 @@
# NotebookLM Agent API # DocuMente
[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/) [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
[![FastAPI](https://img.shields.io/badge/FastAPI-0.100+-009688.svg)](https://fastapi.tiangolo.com/) [![FastAPI](https://img.shields.io/badge/FastAPI-0.100+-009688.svg)](https://fastapi.tiangolo.com/)
[![Code style: ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg)](https://github.com/astral-sh/ruff) [![Code style: ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg)](https://github.com/astral-sh/ruff)
[![Tests](https://img.shields.io/badge/tests-pytest-blue.svg)](https://docs.pytest.org/) [![Tests](https://img.shields.io/badge/tests-pytest-blue.svg)](https://docs.pytest.org/)
> **API e Webhook Interface per Google NotebookLM Automation** > **Sistema di Retrieval Agentico con AI - Interroga i tuoi documenti in modo intelligente**
Questo progetto fornisce un'interfaccia API REST completa per Google NotebookLM, con supporto webhook per integrazione con altri agenti AI. Sviluppato seguendo le metodologie **Spec-Driven Development (SDD)** e **Test Driven Development (TDD)**. DocuMente è un sistema RAG (Retrieval-Augmented Generation) avanzato che permette di caricare documenti e interagirci tramite chat conversazionale. Supporta multipli provider LLM (OpenAI, Z.AI, OpenCode Zen, OpenRouter, Anthropic, Google, Mistral, Azure) e offre una moderna interfaccia web React.
## Caratteristiche ## Caratteristiche
- **API REST Completa**: Gestione notebook, fonti, chat, generazione contenuti - **🧠 Multi-Provider LLM**: Supporta 8 provider diversi, scegli il tuo preferito
- **Webhook System**: Notifiche event-driven per integrazione multi-agent - **📄 Gestione Documenti**: Upload tramite drag & drop, supporta PDF, DOCX, TXT, MD
- **AI Skill**: Interfaccia nativa per OpenCode e altri agenti AI - **💬 Chat Intelligente**: Interroga i tuoi documenti con risposte contestuali
- **Qualità del Codice**: ≥90% test coverage, type hints, linting - **🔗 API REST Completa**: Integra DocuMente nelle tue applicazioni
- **Metodologie**: SDD + TDD + Conventional Commits - **🎨 Interfaccia Web Moderna**: React 18 + TypeScript + Tailwind CSS
- **🔒 Autenticazione Sicura**: API Key + JWT support
- **🐳 Containerizzato**: Docker e docker-compose pronti all'uso
## Requisiti ## Requisiti
- Python 3.10+ - Python 3.10+
- [uv](https://github.com/astral-sh/uv) per dependency management - [uv](https://github.com/astral-sh/uv) per dependency management
- Account Google con accesso a NotebookLM - Node.js 18+ (per il frontend)
- Docker (opzionale)
## Installazione ## Installazione
```bash ```bash
# Clona il repository # Clona il repository
git clone https://github.com/example/notebooklm-agent.git git clone https://github.com/example/documente.git
cd notebooklm-agent cd documente
# Crea virtual environment # Backend
cd backend
uv venv --python 3.10 uv venv --python 3.10
source .venv/bin/activate source .venv/bin/activate
# Installa dipendenze
uv sync --extra dev --extra browser uv sync --extra dev --extra browser
# Installa pre-commit hooks # Frontend
uv run pre-commit install cd ../frontend
npm install
# Configura ambiente
cp .env.example .env
# Modifica .env con le tue configurazioni
``` ```
## Configurazione ## Configurazione
Crea un file `.env`: Crea un file `.env` nella cartella backend:
```env ```env
# API Configuration # API Configuration
@@ -56,60 +55,76 @@ NOTEBOOKLM_AGENT_WEBHOOK_SECRET=your-webhook-secret
NOTEBOOKLM_AGENT_PORT=8000 NOTEBOOKLM_AGENT_PORT=8000
NOTEBOOKLM_AGENT_HOST=0.0.0.0 NOTEBOOKLM_AGENT_HOST=0.0.0.0
# NotebookLM Configuration # LLM Provider API Keys (configura almeno uno)
NOTEBOOKLM_HOME=~/.notebooklm OPENAI_API_KEY=sk-...
NOTEBOOKLM_PROFILE=default ZAI_API_KEY=...
OPENCODE_ZEN_API_KEY=...
OPENROUTER_API_KEY=...
ANTHROPIC_API_KEY=...
GOOGLE_API_KEY=...
MISTRAL_API_KEY=...
AZURE_API_KEY=...
# Vector Store
QDRANT_HOST=localhost
QDRANT_PORT=6333
# Logging # Logging
LOG_LEVEL=INFO LOG_LEVEL=INFO
LOG_FORMAT=json LOG_FORMAT=json
``` ```
## Autenticazione NotebookLM
```bash
# Login a NotebookLM (prima volta)
notebooklm login
# Verifica autenticazione
notebooklm auth check
```
## Avvio ## Avvio
```bash ### Con Docker (Consigliato)
# Development server
uv run fastapi dev src/notebooklm_agent/api/main.py
# Production server ```bash
uv run gunicorn notebooklm_agent.api.main:app -w 4 -k uvicorn.workers.UvicornWorker docker-compose up
``` ```
L'API sarà disponibile su `http://localhost:8000` ### Manuale
- API docs: `http://localhost:8000/docs` ```bash
- OpenAPI schema: `http://localhost:8000/openapi.json` # Backend
cd backend
uv run fastapi dev src/agentic_rag/api/main.py
# Frontend (in un altro terminale)
cd frontend
npm run dev
```
L'applicazione sarà disponibile:
- **Web UI**: http://localhost:3000
- **API docs**: http://localhost:8000/api/docs
- **OpenAPI schema**: http://localhost:8000/openapi.json
## Uso Rapido ## Uso Rapido
### Via Web UI
1. Accedi a http://localhost:3000
2. Inserisci la tua API Key
3. Carica documenti nella sezione "Documents"
4. Inizia a chattare nella sezione "Chat"
### Via API
```bash ```bash
# Creare notebook # Upload documento
curl -X POST http://localhost:8000/api/v1/notebooks \ curl -X POST http://localhost:8000/api/v1/documents \
-H "X-API-Key: your-key" \ -H "X-API-Key: your-key" \
-H "Content-Type: application/json" \ -F "file=@documento.pdf"
-d '{"title": "Ricerca AI"}'
# Aggiungere fonte # Query RAG
curl -X POST http://localhost:8000/api/v1/notebooks/{id}/sources \ curl -X POST http://localhost:8000/api/v1/query \
-H "X-API-Key: your-key" \ -H "X-API-Key: your-key" \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-d '{"type": "url", "url": "https://example.com"}' -d '{
"question": "Qual è il contenuto principale?",
# Generare podcast "provider": "openai",
curl -X POST http://localhost:8000/api/v1/notebooks/{id}/generate/audio \ "model": "gpt-4o-mini"
-H "X-API-Key: your-key" \ }'
-H "Content-Type: application/json" \
-d '{"instructions": "Make it engaging"}'
``` ```
## Testing ## Testing
@@ -119,50 +134,53 @@ curl -X POST http://localhost:8000/api/v1/notebooks/{id}/generate/audio \
uv run pytest uv run pytest
# Con coverage # Con coverage
uv run pytest --cov=src/notebooklm_agent --cov-report=term-missing uv run pytest --cov=src/agentic_rag --cov-report=term-missing
# Solo unit test # Solo unit test
uv run pytest tests/unit/ -m unit uv run pytest tests/unit/ -m unit
# Solo integration test
uv run pytest tests/integration/ -m integration
``` ```
## Sviluppo ## Struttura Progetto
### Workflow
1. **Spec-Driven**: Definisci requisiti in `prd.md`
2. **TDD**: Scrivi test → Implementa → Refactor
3. **Conventional Commits**: Segui lo standard per i commit
4. **Pre-commit**: I controlli automatici garantiscono qualità
### Struttura Progetto
``` ```
notebooklm-agent/ documente/
├── src/notebooklm_agent/ # Codice sorgente ├── backend/
├── tests/ # Test suite │ ├── src/agentic_rag/ # Codice sorgente backend
├── docs/ # Documentazione ├── api/ # FastAPI routes
├── prd.md # Product Requirements ├── core/ # Config, auth, LLM factory
├── AGENTS.md # Linee guida OpenCode └── services/ # RAG, documents, vector store
├── SKILL.md # Definizione skill AI │ ├── tests/ # Test suite
└── CONTRIBUTING.md # Guida contribuzione │ └── requirements.txt
├── frontend/
│ ├── src/ # React + TypeScript
│ ├── public/
│ └── package.json
├── docker-compose.yml
├── Dockerfile
└── README.md
``` ```
## Provider LLM Supportati
| Provider | Modelli Principali | Stato |
|----------|-------------------|-------|
| **OpenAI** | GPT-4o, GPT-4, GPT-3.5 | ✅ |
| **Z.AI** | zai-large, zai-medium | ✅ |
| **OpenCode Zen** | zen-1, zen-lite | ✅ |
| **OpenRouter** | Multi-model access | ✅ |
| **Anthropic** | Claude 3.5, Claude 3 | ✅ |
| **Google** | Gemini 1.5 Pro/Flash | ✅ |
| **Mistral** | Mistral Large/Medium | ✅ |
| **Azure** | GPT-4, GPT-4o | ✅ |
## Documentazione ## Documentazione
- [PRD](./prd.md) - Product Requirements Document - [PRD v2](./prd-v2.md) - Product Requirements Document (DocuMente)
- [Frontend Plan](./frontend-plan.md) - Piano sviluppo frontend
- [Test Coverage](./TEST_COVERAGE_REPORT.md) - Report coverage test
- [AGENTS.md](./AGENTS.md) - Linee guida per OpenCode - [AGENTS.md](./AGENTS.md) - Linee guida per OpenCode
- [SKILL.md](./SKILL.md) - Skill per agenti AI
- [CONTRIBUTING.md](./CONTRIBUTING.md) - Come contribuire - [CONTRIBUTING.md](./CONTRIBUTING.md) - Come contribuire
## Stato del Progetto
⚠️ **Versione Iniziale**: Questo progetto è in fase di setup iniziale. Le funzionalità API sono pianificate per le prossime release.
Vedi [CHANGELOG.md](./CHANGELOG.md) per lo stato attuale e la roadmap.
## ⚖️ Licenza e Note Legali ## ⚖️ Licenza e Note Legali
Questo software è proprietà riservata di Luca Sacchi Ricciardi. Questo software è proprietà riservata di Luca Sacchi Ricciardi.
@@ -177,4 +195,6 @@ Vedi [CONTRIBUTING.md](./CONTRIBUTING.md) per le linee guida su come contribuire
--- ---
**Nota**: Questo è un progetto non ufficiale e non è affiliato con Google. Usa le API interne di NotebookLM che possono cambiare senza preavviso. **Autore**: Luca Sacchi Ricciardi
**Contatto**: luca@lucasacchi.net
**Copyright**: © 2026 Tutti i diritti riservati

View File

@@ -1,4 +1,4 @@
# Test Coverage Report - AgenticRAG # Test Coverage Report - DocuMente
## 📊 Summary ## 📊 Summary

View File

@@ -1,4 +1,4 @@
# AgenticRAG - Docker Compose # DocuMente - Docker Compose
# Complete stack with API, Qdrant, and optional services # Complete stack with API, Qdrant, and optional services
version: '3.8' version: '3.8'

View File

@@ -1,8 +1,8 @@
# Piano di Sviluppo Frontend - AgenticRAG # Piano di Sviluppo Frontend - DocuMente
## 📋 Overview ## 📋 Overview
Sviluppo di un'interfaccia web moderna per AgenticRAG utilizzando **React 18 + Vite + TypeScript + Tailwind CSS + shadcn/ui**. Sviluppo di un'interfaccia web moderna per DocuMente utilizzando **React 18 + Vite + TypeScript + Tailwind CSS + shadcn/ui**.
--- ---
@@ -319,7 +319,7 @@ npm run preview
### Dashboard ### Dashboard
``` ```
┌─────────────────────────────────────────────────────────┐ ┌─────────────────────────────────────────────────────────┐
│ 🧠 AgenticRAG Dashboard Documents Chat Settings│ │ 🧠 DocuMente Dashboard Documents Chat Settings│
├─────────────────────────────────────────────────────────┤ ├─────────────────────────────────────────────────────────┤
│ │ │ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
@@ -343,7 +343,7 @@ npm run preview
### Chat Interface ### Chat Interface
``` ```
┌─────────────────────────────────────────────────────────┐ ┌─────────────────────────────────────────────────────────┐
│ 🧠 AgenticRAG [User ▼] │ │ 🧠 DocuMente [User ▼] │
├─────────────────────────────────────────────────────────┤ ├─────────────────────────────────────────────────────────┤
│ 💬 Chat 1 ┌─────────────────────┐ │ │ 💬 Chat 1 ┌─────────────────────┐ │
│ 💬 Chat 2 │ │ │ │ 💬 Chat 2 │ │ │

View File

@@ -1,6 +1,6 @@
# AgenticRAG Frontend # DocuMente Frontend
Modern React-based web interface for AgenticRAG - Agentic Retrieval System powered by datapizza-ai. Modern React-based web interface for DocuMente - Sistema di Retrieval Agentico con AI.
## 🚀 Features ## 🚀 Features

View File

@@ -57,7 +57,7 @@ export function Layout({ children }: LayoutProps) {
<div className="p-2 rounded-lg bg-primary"> <div className="p-2 rounded-lg bg-primary">
<Brain className="h-5 w-5 text-primary-foreground" /> <Brain className="h-5 w-5 text-primary-foreground" />
</div> </div>
<span className="text-xl font-bold">AgenticRAG</span> <span className="text-xl font-bold">DocuMente</span>
</Link> </Link>
<Button <Button
variant="ghost" variant="ghost"

View File

@@ -53,7 +53,7 @@ export function Dashboard() {
<div> <div>
<h1 className="text-3xl font-bold tracking-tight">Dashboard</h1> <h1 className="text-3xl font-bold tracking-tight">Dashboard</h1>
<p className="text-muted-foreground"> <p className="text-muted-foreground">
Overview of your AgenticRAG system Overview of your DocuMente system
</p> </p>
</div> </div>

View File

@@ -42,7 +42,7 @@ export function Login() {
<Brain className="h-8 w-8 text-primary" /> <Brain className="h-8 w-8 text-primary" />
</div> </div>
</div> </div>
<CardTitle className="text-2xl text-center">Welcome to AgenticRAG</CardTitle> <CardTitle className="text-2xl text-center">Welcome to DocuMente</CardTitle>
<CardDescription className="text-center"> <CardDescription className="text-center">
Enter your API key to access the system Enter your API key to access the system
</CardDescription> </CardDescription>

View File

@@ -112,7 +112,7 @@ export function Settings() {
<div> <div>
<h1 className="text-3xl font-bold tracking-tight">Settings</h1> <h1 className="text-3xl font-bold tracking-tight">Settings</h1>
<p className="text-muted-foreground"> <p className="text-muted-foreground">
Configure your AgenticRAG preferences Configure your DocuMente preferences
</p> </p>
</div> </div>

View File

@@ -12,7 +12,7 @@
## 1. Panoramica del Prodotto ## 1. Panoramica del Prodotto
### 1.1 Nome del Prodotto ### 1.1 Nome del Prodotto
**AgenticRAG** - Sistema di retrieval agentico con interfaccia web e API REST, basato sul framework datapizza-ai. **DocuMente** - Sistema di retrieval agentico con interfaccia web e API REST, basato sul framework datapizza-ai.
### 1.2 Descrizione ### 1.2 Descrizione
Sistema RAG (Retrieval-Augmented Generation) avanzato che combina: Sistema RAG (Retrieval-Augmented Generation) avanzato che combina:

View File

@@ -1,4 +1,4 @@
# AgenticRAG Requirements # DocuMente Requirements
# Core dependencies # Core dependencies
# FastAPI and web framework # FastAPI and web framework

View File

@@ -1,4 +1,4 @@
# AgenticRAG - Agentic Retrieval System # DocuMente - Agentic Retrieval System
Powered by [datapizza-ai](https://github.com/datapizza-labs/datapizza-ai) Powered by [datapizza-ai](https://github.com/datapizza-labs/datapizza-ai)

View File

@@ -1,4 +1,4 @@
"""AgenticRAG API - Backend powered by datapizza-ai. """DocuMente API - Backend powered by datapizza-ai.
Multi-provider LLM support: OpenAI, Z.AI, OpenCode Zen, OpenRouter, Anthropic, Google, Mistral, Azure Multi-provider LLM support: OpenAI, Z.AI, OpenCode Zen, OpenRouter, Anthropic, Google, Mistral, Azure
""" """
@@ -55,9 +55,9 @@ async def lifespan(app: FastAPI) -> AsyncGenerator:
def create_application() -> FastAPI: def create_application() -> FastAPI:
"""Create and configure FastAPI application.""" """Create and configure FastAPI application."""
app = FastAPI( app = FastAPI(
title="AgenticRAG API", title="DocuMente API",
description=""" description="""
Agentic Retrieval System powered by datapizza-ai. DocuMente - Sistema di Retrieval Agentico con AI. Interroga i tuoi documenti in modo intelligente.
## Multi-Provider LLM Support ## Multi-Provider LLM Support
@@ -128,10 +128,10 @@ async def api_root():
configured = settings.list_configured_providers() configured = settings.list_configured_providers()
return { return {
"name": "AgenticRAG API", "name": "DocuMente API",
"version": "2.0.0", "version": "2.0.0",
"docs": "/api/docs", "docs": "/api/docs",
"description": "Agentic Retrieval System powered by datapizza-ai", "description": "DocuMente - Sistema di Retrieval Agentico con AI",
"features": { "features": {
"multi_provider_llm": True, "multi_provider_llm": True,
"authentication": ["api_key", "jwt"], "authentication": ["api_key", "jwt"],

View File

@@ -22,7 +22,7 @@ async def chat_stream(request: ChatMessage):
# Placeholder for streaming implementation # Placeholder for streaming implementation
async def generate(): async def generate():
yield b"data: Hello from AgenticRAG!\n\n" yield b"data: Hello from DocuMente!\n\n"
yield b"data: Streaming not fully implemented yet.\n\n" yield b"data: Streaming not fully implemented yet.\n\n"
yield b"data: [DONE]\n\n" yield b"data: [DONE]\n\n"

View File

@@ -7,7 +7,7 @@ class Settings(BaseSettings):
"""Application settings with multi-provider LLM support.""" """Application settings with multi-provider LLM support."""
# API # API
app_name: str = "AgenticRAG" app_name: str = "DocuMente"
app_version: str = "2.0.0" app_version: str = "2.0.0"
debug: bool = True debug: bool = True

View File

@@ -138,7 +138,7 @@ class OpenRouterClient(BaseLLMClient):
headers={ headers={
"Authorization": f"Bearer {api_key}", "Authorization": f"Bearer {api_key}",
"HTTP-Referer": "https://agenticrag.app", # Required by OpenRouter "HTTP-Referer": "https://agenticrag.app", # Required by OpenRouter
"X-Title": "AgenticRAG", "X-Title": "DocuMente",
}, },
) )

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AgenticRAG - Powered by datapizza-ai</title> <title>DocuMente - Powered by datapizza-ai</title>
<style> <style>
* { box-sizing: border-box; margin: 0; padding: 0; } * { box-sizing: border-box; margin: 0; padding: 0; }
body { body {
@@ -120,8 +120,8 @@
<body> <body>
<div class="container"> <div class="container">
<header> <header>
<h1>🍕 AgenticRAG</h1> <h1>🍕 DocuMente</h1>
<p class="subtitle">Agentic Retrieval System powered by datapizza-ai</p> <p class="subtitle">Sistema di Retrieval Agentico con AI - Powered by datapizza-ai</p>
</header> </header>
<div class="grid"> <div class="grid">

View File

@@ -1,4 +1,4 @@
"""Shared fixtures for AgenticRAG unit tests.""" """Shared fixtures for DocuMente unit tests."""
import pytest import pytest
from unittest.mock import Mock, AsyncMock, MagicMock, patch from unittest.mock import Mock, AsyncMock, MagicMock, patch
@@ -13,7 +13,7 @@ sys.path.insert(0, str(Path(__file__).parent.parent.parent.parent.parent / "src"
def mock_settings(): def mock_settings():
"""Create a mock Settings object.""" """Create a mock Settings object."""
settings = Mock() settings = Mock()
settings.app_name = "AgenticRAG" settings.app_name = "DocuMente"
settings.app_version = "2.0.0" settings.app_version = "2.0.0"
settings.debug = True settings.debug = True
settings.cors_origins = ["http://localhost:3000"] settings.cors_origins = ["http://localhost:3000"]

View File

@@ -44,7 +44,7 @@ class TestChatStream:
response = client.post("/chat/stream", json={"message": "Hello"}) response = client.post("/chat/stream", json={"message": "Hello"})
content = response.content.decode("utf-8") content = response.content.decode("utf-8")
assert "data: Hello from AgenticRAG!" in content assert "data: Hello from DocuMente!" in content
assert "data: Streaming not fully implemented yet." in content assert "data: Streaming not fully implemented yet." in content
assert "data: [DONE]" in content assert "data: [DONE]" in content

View File

@@ -15,7 +15,7 @@ class TestSettings:
settings = Settings() settings = Settings()
assert settings.app_name == "AgenticRAG" assert settings.app_name == "DocuMente"
assert settings.app_version == "2.0.0" assert settings.app_version == "2.0.0"
assert settings.debug is True assert settings.debug is True
assert settings.qdrant_host == "localhost" assert settings.qdrant_host == "localhost"

View File

@@ -131,7 +131,7 @@ class TestOpenRouterClient:
assert "HTTP-Referer" in headers assert "HTTP-Referer" in headers
assert "X-Title" in headers assert "X-Title" in headers
assert headers["HTTP-Referer"] == "https://agenticrag.app" assert headers["HTTP-Referer"] == "https://agenticrag.app"
assert headers["X-Title"] == "AgenticRAG" assert headers["X-Title"] == "DocuMente"
@pytest.mark.asyncio @pytest.mark.asyncio
async def test_invoke_success(self, client): async def test_invoke_success(self, client):

View File

@@ -0,0 +1 @@
Test content

View File

@@ -0,0 +1 @@
Test content

View File

@@ -0,0 +1 @@
Test content

View File

@@ -0,0 +1 @@
Test content

View File

@@ -0,0 +1 @@
Test content

View File

@@ -0,0 +1 @@
Test content

View File

@@ -0,0 +1 @@
Test content

View File

@@ -0,0 +1 @@
Test content

View File

@@ -0,0 +1 @@
Test content

View File

@@ -0,0 +1 @@
Test content

View File

@@ -0,0 +1 @@
Test content

View File

@@ -0,0 +1 @@
Test content

View File

@@ -0,0 +1 @@
Test content

View File

@@ -0,0 +1 @@
Test content

View File

@@ -0,0 +1 @@
Test content

View File

@@ -0,0 +1 @@
Test content

View File

@@ -0,0 +1 @@
Test content