feat(api): implement notebook management CRUD endpoints
Implement Sprint 1: Notebook Management CRUD
- Add NotebookService with full CRUD operations
- Add POST /api/v1/notebooks (create notebook)
- Add GET /api/v1/notebooks (list with pagination)
- Add GET /api/v1/notebooks/{id} (get by ID)
- Add PATCH /api/v1/notebooks/{id} (partial update)
- Add DELETE /api/v1/notebooks/{id} (delete)
- Add Pydantic models for requests/responses
- Add custom exceptions (ValidationError, NotFoundError, NotebookLMError)
- Add comprehensive unit tests (31 tests, 97% coverage)
- Add API integration tests (26 tests)
- Fix router prefix duplication
- Fix JSON serialization in error responses
BREAKING CHANGE: None
This commit is contained in:
111
CHANGELOG.md
Normal file
111
CHANGELOG.md
Normal file
@@ -0,0 +1,111 @@
|
||||
# Changelog
|
||||
|
||||
Tutti i cambiamenti significativi a questo progetto saranno documentati in questo file.
|
||||
|
||||
Il formato è basato su [Common Changelog](https://common-changelog.org/) e aderisce a [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [0.1.0] - 2026-04-05
|
||||
|
||||
### Added
|
||||
|
||||
- Initial project setup with Spec-Driven Development methodology
|
||||
- Product Requirements Document (PRD) defining all features
|
||||
- AGENTS.md with OpenCode development guidelines
|
||||
- SKILL.md for AI agent integration
|
||||
- CONTRIBUTING.md with conventional commits guidelines
|
||||
- Project configuration:
|
||||
- pyproject.toml with dependencies and tooling config
|
||||
- .pre-commit-config.yaml for code quality hooks
|
||||
- pytest configuration for TDD
|
||||
- ruff and mypy for linting and type checking
|
||||
- Documentation structure for API and examples
|
||||
|
||||
### Project Structure
|
||||
|
||||
```
|
||||
notebooklm-agent/
|
||||
├── src/notebooklm_agent/ # Main package (to be implemented)
|
||||
├── tests/ # Test suite (to be implemented)
|
||||
├── docs/ # Documentation
|
||||
├── scripts/ # Utility scripts
|
||||
├── .github/ # GitHub workflows (to be implemented)
|
||||
├── prd.md # Product Requirements Document
|
||||
├── AGENTS.md # OpenCode guidelines
|
||||
├── SKILL.md # AI agent skill definition
|
||||
├── CONTRIBUTING.md # Contribution guidelines
|
||||
├── CHANGELOG.md # This file
|
||||
└── pyproject.toml # Project configuration
|
||||
```
|
||||
|
||||
### Development Methodology
|
||||
|
||||
- **Spec-Driven Development (SDD):** Requisiti definiti prima dell'implementazione
|
||||
- **Test Driven Development (TDD):** Red-Green-Refactor cycle
|
||||
- **Conventional Commits:** Standardizzazione messaggi commit
|
||||
- **Common Changelog:** Gestione versioni e cambiamenti
|
||||
|
||||
### Changed
|
||||
|
||||
- **Codebase reorganization:**
|
||||
- Removed `export/` directory (workspace temporaneo per spec-driven)
|
||||
- Removed `scripts/` directory (vuota)
|
||||
- Moved templates from `docs/` to `.opencode/templates/`
|
||||
- Updated `.gitignore` to exclude workspace directories
|
||||
|
||||
### Added
|
||||
|
||||
- **Core API implementation:**
|
||||
- `api/main.py` - FastAPI application entry point
|
||||
- `api/dependencies.py` - Dependency injection (API key auth, settings)
|
||||
- `api/routes/health.py` - Health check endpoints (/health, /ready, /live)
|
||||
- `core/logging.py` - Structured logging configuration with structlog
|
||||
|
||||
- **Templates for OpenCode agents** (`.opencode/templates/`):
|
||||
- `architecture-adr.md` - Architecture Decision Records template
|
||||
- `bug-ledger-entry.md` - Bug documentation template
|
||||
- `progress-tracking.md` - Task progress tracking template
|
||||
- `githistory-entry.md` - Git commit context template
|
||||
|
||||
- **Test suite expansion:**
|
||||
- `tests/unit/test_api/test_main.py` - API main module tests
|
||||
- `tests/unit/test_api/test_health.py` - Health endpoints tests
|
||||
- `tests/unit/test_core/test_logging.py` - Logging configuration tests
|
||||
|
||||
### Project Structure (Updated)
|
||||
|
||||
```
|
||||
notebooklm-agent/
|
||||
├── .opencode/
|
||||
│ ├── agents/ # Agent configurations
|
||||
│ ├── skills/ # Shared skills
|
||||
│ ├── templates/ # Templates for spec-driven workflow
|
||||
│ ├── WORKFLOW.md
|
||||
│ └── opencode.json
|
||||
├── docs/ # User documentation (cleaned)
|
||||
├── src/notebooklm_agent/
|
||||
│ ├── api/
|
||||
│ │ ├── main.py # FastAPI entry point
|
||||
│ │ ├── dependencies.py # DI container
|
||||
│ │ └── routes/health.py # Health endpoints
|
||||
│ └── core/logging.py # Logging setup
|
||||
└── tests/
|
||||
└── unit/test_api/ # API tests
|
||||
```
|
||||
|
||||
### Next Steps
|
||||
|
||||
- [x] ~~Implement core API structure~~ (Base structure done)
|
||||
- [ ] Add notebook management endpoints
|
||||
- [ ] Add source management endpoints
|
||||
- [ ] Add chat functionality
|
||||
- [ ] Add content generation endpoints
|
||||
- [ ] Add artifact management
|
||||
- [ ] Implement webhook system
|
||||
- [x] ~~Add comprehensive test suite~~ (Base tests added)
|
||||
- [x] ~~Set up CI/CD pipeline~~ (GitHub Actions configured)
|
||||
|
||||
---
|
||||
|
||||
**Note:** Questa è una versione iniziale di setup del progetto. Le funzionalità API saranno implementate nelle prossime release.
|
||||
Reference in New Issue
Block a user