- Automation: rules CRUD (in-memory store + API) - Reminders: CRUD (in-memory store + API) - Notifications: push interface for future push server - Message search: API endpoint with DB-backed query - Session export: /sessions/:id/export → Markdown - Image analysis: API stub for multimodal LLM - Host exec: API stub for Docker sandbox - PWA: manifest.json + service worker - Docker: Dockerfile + docker-compose.yml - E2E: Playwright test scaffold - CI/CD: GitHub Actions workflow (go test + tsc)
7 lines
325 B
JavaScript
7 lines
325 B
JavaScript
// Cyrene PWA Service Worker
|
|
const CACHE = 'cyrene-v2'
|
|
const URLS = ['/', '/index.html', '/images/cyrene-avatar.png']
|
|
|
|
self.addEventListener('install', e => e.waitUntil(caches.open(CACHE).then(c => c.addAll(URLS))))
|
|
self.addEventListener('fetch', e => e.respondWith(caches.match(e.request).then(r => r || fetch(e.request))))
|