feat: add reminders page, BMad skills upgrade, MCP server refactor

- Add reminders page with navigation support
- Upgrade BMad builder module to skills-based architecture
- Refactor MCP server: extract tools and auth into separate modules
- Add connections cache, custom AI provider support
- Update prisma schema and generated client
- Various UI/UX improvements and i18n updates
- Add service worker for PWA support

Made-with: Cursor
This commit is contained in:
Sepehr Ramezani
2026-04-13 21:02:53 +02:00
parent 18ed116e0d
commit fa7e166f3e
3099 changed files with 397228 additions and 14584 deletions

View File

@@ -0,0 +1,37 @@
// Cache with TTL for 15 minutes
const CACHE_TTL = 15 * 60 * 1000 // 15 minutes
interface CacheEntry {
count: number
timestamp: number
}
const cache = new Map<string, CacheEntry>()
export async function getConnectionsCount(noteId: string): Promise<number> {
const now = Date.now()
const cached = cache.get(noteId)
if (cached && (now - cached.timestamp) < CACHE_TTL) {
return cached.count
}
try {
const res = await fetch(`/api/ai/echo/connections?noteId=${noteId}&limit=1`)
if (!res.ok) {
throw new Error('Failed to fetch connections')
}
const data = await res.json()
const count = data.pagination?.total || 0
// Update cache for future calls
if (count > 0) {
cache.set(noteId, { count, timestamp: Date.now() })
}
return count
} catch (error) {
console.error('[ConnectionsCache] Failed to fetch connections:', error)
return 0
}
}