saravanakumardb1
b4237acaa2
feat(chronomind): add routines, households, shared-timers modules (88 new tests, 847 total)
2026-02-28 00:05:18 -08:00
saravanakumardb1
c1a1f86cd6
feat(timers): add timer CRUD endpoints for ChronoMind cloud sync (42 new tests, 759 total)
2026-02-27 23:48:31 -08:00
saravanakumardb1
1744bcf63f
feat(api): NomGap fasting modules — sessions CRUD + stats, 14 built-in protocols + custom CRUD, body stages + autophagy confidence (47 new tests, 717 total)
2026-02-27 22:32:28 -08:00
saravanakumardb1
ce4c4ff53d
feat(telemetry): add telemetry module — ingest, config, query, clusters, policies (34 tests)
2026-02-17 09:06:43 -08:00
saravanakumardb1
2692c918ce
feat(waitlist): add pre-launch waitlist module (types, repo, routes)
...
- Create waitlist/types.ts: WaitlistEntryDoc, Zod schemas for join/status/unsubscribe/admin
- Create waitlist/repository.ts: full CRUD, dedup by emailNormalized, position assignment, stats
- Create waitlist/routes.ts: 5 public endpoints + 7 admin endpoints with role guard
- Add waitlist container to cosmos-init.ts (+ 13 previously missing containers)
- Add dispatchWaitlistJoined webhook to webhooks.ts
- Register waitlistRoutes in server.ts
- Public: join, check status, count, config, unsubscribe
- Admin: list, stats, get, update, delete, batch invite, CSV export
2026-02-16 22:45:14 -08:00
saravanakumardb1
0c3c109bf1
feat(platform-service): add settings module with device overrides
...
- Added settings module (types, repository, routes)
- Endpoints: GET/PUT /settings, GET/PUT/DELETE /settings/device/:deviceId
- Enforced userId from JWT and productId request scoping
- Added settings Cosmos container registration and route registration in server
- Added module tests for settings schemas and route export
- Verified: tsc --noEmit clean, 20 test files / 183 tests passing
2026-02-15 14:57:20 -08:00
saravanakumardb1
755c16dbfb
feat(platform-service): add products module (types, repository, cache, routes)
...
- New products container in Cosmos DB (partition key: /id)
- ProductDoc: displayName, licensePrefix, deviceLimits, trialDays, status
- In-memory cache loaded on startup via loadProductCache()
- CRUD routes: GET/POST /products, GET/PUT /products/:id
- Cache refreshed after admin writes (create/update)
- Registered before all other modules in server.ts
2026-02-15 14:13:03 -08:00
17c41e8441
feat(platform-service): add memory-items API backed by Cosmos
2026-02-15 03:20:09 -08:00
95b45a9fd3
fix(cosmos): init containers on startup for local compose
2026-02-14 20:57:17 -08:00