Commit Graph

15 Commits

Author SHA1 Message Date
710666ee0a Fix CardDAV URL construction for contacts
All checks were successful
Build And Test / publish (push) Successful in 48s
- Add _build_url helper to properly construct URLs from paths
- Fix test.sh to pass addressbook_id when listing contacts
- Prevents path duplication when addressbook_id is a full path

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 17:39:53 -08:00
c77dbda13c Add contacts tests to test.sh
All checks were successful
Build And Test / publish (push) Successful in 48s
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 17:35:23 -08:00
ba57c5fba4 Add email flags and unsubscribe features
All checks were successful
Build And Test / publish (push) Successful in 48s
- Add set_email_flags tool for IMAP flags (standard + custom keywords)
- Add unsubscribe_email tool with List-Unsubscribe header parsing
- Support RFC 8058 one-click unsubscribe
- Add UnsubscribeInfo model to email responses
- Add data field to OperationResult for extra context
- Include test.sh script for MCP server testing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 17:23:49 -08:00
47f483ea1b test script
All checks were successful
Build And Test / publish (push) Successful in 48s
2025-12-30 17:17:17 -08:00
3d95914bc6 Remove non-existent doc endpoints from public paths
All checks were successful
Build And Test / publish (push) Successful in 47s
FastMCP doesn't expose /docs, /redoc, /openapi.json

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 17:03:36 -08:00
34cefc75b6 Allow public access to documentation endpoints
All checks were successful
Build And Test / publish (push) Successful in 48s
Skip auth for /docs, /redoc, /openapi.json

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 16:58:19 -08:00
a2104917fd Add /health endpoint for Docker healthcheck
All checks were successful
Build And Test / publish (push) Successful in 48s
The healthcheck was hitting /mcp which requires auth, causing unhealthy status.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 16:42:38 -08:00
3bc66e4efc Replace deprecated datetime.utcnow() with timezone-aware UTC
All checks were successful
Build And Test / publish (push) Successful in 48s
Use datetime.now(timezone.utc) instead of deprecated utcnow().

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 16:21:41 -08:00
ada760cc43 Fix bytes/string handling in email service
All checks were successful
Build And Test / publish (push) Successful in 48s
IMAP data can be bytes; handle both in decode_mime_header and _get_text_snippet.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 16:18:51 -08:00
c2a4a1b0d0 Fix AsyncSession API: use execute() instead of exec()
All checks were successful
Build And Test / publish (push) Successful in 47s
SQLAlchemy's AsyncSession uses execute() + scalars(), not SQLModel's exec().

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 16:14:27 -08:00
73d3ff4319 Fix Docker volume permissions for SQLite database
All checks were successful
Build And Test / publish (push) Successful in 47s
Container runs as non-root user but mounted volumes may be owned by root.
Added entrypoint script to fix /data permissions before starting the app.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 16:11:08 -08:00
87c55e0f1f Fix FastMCP constructor to use correct parameter names
All checks were successful
Build And Test / publish (push) Successful in 44s
The FastMCP API uses 'instructions' instead of 'description'.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 16:04:44 -08:00
0bbb5a5a2c Notifications
All checks were successful
Build And Test / publish (push) Successful in 45s
2025-12-30 15:45:50 -08:00
4f6098e8c2 Initial commit
All checks were successful
Build And Test / publish (push) Successful in 1m30s
2025-12-30 15:16:45 -08:00
4df9a7229e first commit 2025-12-30 15:16:41 -08:00