Commit Graph

61 Commits

Author SHA1 Message Date
root
e4bff5a2fe feat(platform-service): add support case management foundation 2026-03-15 09:39:20 +00:00
root
8b99b7a9a7 feat(platform-service): add scim provisioning foundation 2026-03-15 09:36:27 +00:00
root
66d0bf53a9 feat(platform-service): add shared knowledge foundation 2026-03-15 09:33:17 +00:00
root
728d8f2484 feat(platform-service): add ai budget governance 2026-03-15 09:30:16 +00:00
root
3f06427038 feat(platform-service): add agent evaluation governance 2026-03-15 09:26:40 +00:00
root
798c1b9fad feat(platform-service): add agent registry foundation 2026-03-15 09:05:39 +00:00
root
3398d1400f feat(platform-service): add human review queue 2026-03-15 06:08:23 +00:00
root
33c5a5a5ce feat(platform-service): add org workspace foundation 2026-03-15 06:03:08 +00:00
root
a76b932502 feat(platform-service): add durable run tracking 2026-03-14 16:08:07 +00:00
root
885ee2d504 feat(events): add durable event bus worker path 2026-03-14 16:02:40 +00:00
root
0ad6703961 feat(platform-service): add api key auth context and throttling guard 2026-03-14 14:55:23 +00:00
root
db9ae4a573 feat(platform-service): add smtp email delivery and postal setup 2026-03-14 05:52:28 +00:00
saravanakumardb1
0c4e53a0ed feat(auth): Phase 6 — enterprise SAML/OIDC, magic link, HIBP, E2E specs
6A: Enterprise IdP CRUD, SAML callback, OIDC callback, email domain lookup
6B: Magic link send/verify (15min TTL, anti-enumeration), HIBP breach check
6D: 3 new E2E specs (account-linking, step-up, enterprise) — total 8 SmartAuth specs
- All 53 auth tests passing
2026-03-12 15:25:28 -07:00
saravanakumardb1
f4b9124065 feat(auth): add Phase 5C-5E endpoints + SDK methods — TOTP secret, push approvals, QR auth
- GET /auth/mfa/totp/secret — retrieve decrypted TOTP secret for auth app
- POST /auth/mfa/push/create, GET /pending, POST /:id/respond, GET /:id/status
- POST /auth/qr/create, POST /auth/qr/confirm, GET /auth/qr/:id/status
- Kotlin SDK: getTotpSecret, getPendingApprovals, respondToApproval, confirmQrLogin
- Swift SDK: getTotpSecret, getPendingApprovals, respondToApproval, confirmQrLogin
- All 53 auth tests passing
2026-03-12 15:01:51 -07:00
saravanakumardb1
362b915ea9 feat(auth): SmartAuth backend core — OAuth, MFA, passkeys, device trust, login events
Phase 0A: OneAuth schema extension — UserDoc evolution + auth_providers container
Phase 0B: Progressive lockout + IP rate limiting on login
Phase 1A-1B: Google/Microsoft/Apple OAuth + account linking
Phase 1D: Enhanced /auth/me — products, providers, MFA status
Phase 2A-2C: TOTP MFA + challenge flow + admin policies
Phase 3A-3B: WebAuthn passkeys + device trust
Phase 4A: Login events + rule-based risk scoring

New sub-modules: oauth/, mfa/, passkeys/, devices/, login-events/
New containers: auth_providers, auth_mfa, auth_mfa_policies, auth_passkeys, auth_devices, auth_login_events
Tests: 37 new (946 total, all passing), typecheck clean
2026-03-12 10:55:41 -07:00
saravanakumardb1
63b0d20b07 fix(fastify-core): address jwt rollout review findings 2026-03-06 13:44:22 -08:00
saravanakumardb1
e4baa2fc16 refactor(platform-service): use shared optional jwt context 2026-03-06 12:57:00 -08:00
saravanakumardb1
03cda3a74f fix(platform-service): resolve type errors in diagnostics and ab-testing modules 2026-03-03 12:22:35 -08:00
saravanakumardb1
05ad9dbedc feat(diagnostics): Phase 4 - automated triggers, crash sessions, session replay, profiling [4.1][4.2][4.3][4.4] 2026-03-03 12:18:58 -08:00
saravanakumardb1
eab854375e feat(ai-diagnostics): add proactive alerts API and complete [4.3] 2026-03-03 12:17:11 -08:00
saravanakumardb1
44fa045ec5 feat(ab-testing): AI hypothesis generation and admin dashboard UI [3.1][3.2][3.3][4.1][4.2][4.3] 2026-03-03 11:53:48 -08:00
saravanakumardb1
783067e17d feat(ab-testing): bucketing, statistics, guardrails, routes [1.2][2.1][2.2] 2026-03-03 11:48:50 -08:00
saravanakumardb1
1b11db3f6f feat(broadcasts,surveys): Phase 1 complete - backend modules
- broadcasts/types.ts: Broadcast, BroadcastTarget, BroadcastMetrics, InAppMessage
- broadcasts/repository.ts: CRUD + delivery tracking + read receipts
- broadcasts/targeting.ts: evaluateTarget(), semver, FNV-1a hash
- broadcasts/routes.ts: Admin CRUD + public endpoints (14 routes)
- surveys/types.ts: Survey, Question, SurveyResponse, conditional logic
- surveys/repository.ts: CRUD + analytics + CSV export
- surveys/routes.ts: Admin CRUD + public endpoints (13 routes)
- cosmos-init.ts: 7 new containers with TTL policies
- server.ts: Register broadcastRoutes + surveyRoutes

Implements Phase 1 of platform_BROADCAST_SURVEY_ROADMAP.md
2026-03-02 23:51:23 -08:00
saravanakumardb1
d444a8dfea feat(diagnostics): wire routes into server.ts 2026-03-02 23:37:34 -08:00
saravanakumardb1
3e05260a6f feat(marketplace): generic template marketplace with listings, reviews, installs, certification 2026-03-02 10:02:54 -08:00
saravanakumardb1
ee9d4b358d feat(cloud-agnostic): complete Sprints 4-6 — secrets consumer migration, @bytelyst/speech package, push verified 2026-03-02 09:46:24 -08:00
saravanakumardb1
b33d3cf2b3 feat(platform): add webhook subscriptions module, DB migration runner, Swagger UI — complete 23/25 roadmap items 2026-03-01 23:38:48 -08:00
saravanakumardb1
24d7896599 refactor(platform-service): migrate product-specific modules to product repo backends
Remove 23 product-specific module directories from platform-service:
- ChronoMind: timers, routines, households, shared-timers, webhooks
- JarvisJr: jarvis-agents, jarvis-sessions, jarvis-memory, jarvis-teams, marketplace
- NomGap: fasting-sessions, fasting-protocols, body-stages, social-fasting, meal-log, push-triggers
- PeakPulse: peak-sessions, peak-routes
- MindLyst: brains, memory, reflections, daily-briefs, streaks

Update server.ts: remove product module imports and registrations
Update cosmos-init.ts: remove product-specific container definitions
Clean up server.test.ts: remove 5 stale vi.mock() calls
Update AGENTS.md: add section 13 (product backends), update test counts

Platform-service tests: 759 passing (platform-common only)
Product backends: PeakPulse 32, ChronoMind 171, JarvisJr 198, NomGap 152, MindLyst 59
2026-03-01 20:38:32 -08:00
saravanakumardb1
a2461fc26a fix(platform): replace 3 console.* calls with process.stdout/stderr in cosmos-init + server startup 2026-03-01 17:41:02 -08:00
saravanakumardb1
59552712a8 feat(platform): wire marketplace routes into server.ts + add server test mock 2026-03-01 08:06:12 -08:00
saravanakumardb1
d10b898ba5 feat(peak-routes): add PeakPulse track point storage module — types, repository, routes, 10 tests 2026-03-01 07:40:19 -08:00
saravanakumardb1
b20e1c6165 feat(peak-sessions): add PeakPulse session sync module — types, repository, routes, 20 tests 2026-03-01 07:12:28 -08:00
saravanakumardb1
dcabe46de2 feat(jarvis): add jarvis-agents, jarvis-sessions, jarvis-memory modules (63 tests) 2026-03-01 07:09:12 -08:00
saravanakumardb1
a97b730a89 feat(flags): seed default feature flags for all products on startup 2026-02-28 19:33:22 -08:00
saravanakumardb1
ba2641c552 feat(platform-service): add push notification triggers module (6 endpoints, 22 tests)
- 7 trigger types: streak_risk, fast_milestone, stage_transition, social_invite, weekly_digest, achievement_unlocked, refeeding_reminder
- Built-in templates with variable interpolation
- CRUD + batch create + pending trigger query + status updates + stats
- push_triggers container (TTL 30d)
- 1,112 total platform-service tests passing
2026-02-28 14:10:11 -08:00
saravanakumardb1
20e0ef2201 feat(platform-service): add P2 Product Intelligence modules (5 modules, 61 tests)
- experiments: A/B testing with FNV-1a deterministic variant assignment (7 endpoints, 15 tests)
- analytics: metric ingest + daily/weekly/monthly rollup queries (3 endpoints, 14 tests)
- feedback: in-app bug/feature/praise submission + admin triage (6 endpoints, 14 tests)
- impersonation: admin user impersonation with audit trail (4 endpoints, 6 tests)
- changelog: public product changelog with admin CRUD (6 endpoints, 12 tests)
- 6 new Cosmos containers added to cosmos-init.ts
- All 5 route modules registered in server.ts
- 1,090 total platform-service tests passing
2026-02-28 14:04:07 -08:00
saravanakumardb1
27f271d983 feat(platform): add P1 operational maturity modules — sessions, maintenance, exports, IP rules
- modules/sessions: device session tracking, revoke one/all, admin force-revoke (9 tests)
- modules/maintenance: 4 modes (off/read_only/maintenance/emergency), bypass roles/IPs, scheduled windows (14 tests)
- modules/exports: GDPR data export jobs for users/audit/telemetry/usage/subscriptions/licenses (10 tests)
- modules/ip-rules: IP allow/deny with CIDR matching, temporary blocks with expiry (10 tests)
- cosmos-init: 4 new containers (sessions, ip_rules, export_jobs, maintenance_windows)
- 1029 platform-service tests passing across 74 test files
2026-02-28 02:47:22 -08:00
saravanakumardb1
069d1ffda9 docs: add 19 reusable AI coding agent skills + sessions module scaffold 2026-02-28 02:41:22 -08:00
saravanakumardb1
662d417267 feat(platform): add email delivery module, wire event bus into auth, update roadmap
- modules/delivery: 8 email templates, renderer, SendGrid/Postmark/console adapters, dispatcher, delivery log, 21 tests
- modules/delivery/subscribers: event bus listeners for user.created, password_reset, email_verified
- auth/routes: emit bus events on register, forgot-password, verify-email (fire-and-forget)
- cosmos-init: delivery_log container (pk /pk, 90d TTL)
- roadmap: updated inventory (30 modules, 14 packages, 988 tests), marked P0 items complete
- 988 platform-service + 14 events = 1002 total tests passing
2026-02-28 02:36:58 -08:00
saravanakumardb1
772f428967 feat(platform): add P0 foundational modules — event bus, scheduled jobs, password reset, email verification, status page 2026-02-28 02:29:08 -08:00
saravanakumardb1
9a5e93bf05 feat(nomgap): add social-fasting + meal-log modules (47 tests, 2 Cosmos containers) 2026-02-28 00:37:46 -08:00
saravanakumardb1
5e8f133816 feat(webhooks): add webhook subscriptions module — 15 event types, HMAC signing, retry delivery 2026-02-28 00:27:32 -08:00
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
b977e85bc2 feat(platform-service): add profile updates, tokens, and themes modules
Auth:
- PUT /auth/profile — self-service profile update (displayName, phone, bio, avatarUrl)
- ProfileUpdateSchema added to types.ts
- Repository update() expanded to accept profile fields

Tokens module (new):
- GET /tokens — list tokens (admin: all, user: own)
- POST /tokens — create API token (admin only)
- GET /tokens/count — count active tokens
- PATCH /tokens/:id — revoke token (admin only)
- DELETE /tokens/:id — delete token (super_admin only)

Themes module (new):
- GET /themes — list all themes (admin only)
- POST /themes — create theme (admin only)
- GET /themes/active — get active theme (public, no auth)
- GET /themes/:id — get theme by id (admin only)
- PUT /themes/:id — update theme (admin only)
- DELETE /themes/:id — delete theme (admin only)
- POST /themes/:id/activate — set theme as active (admin only)
2026-02-15 17:29:43 -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
c0830e3dec refactor(platform-service): remove BILLING_INTERNAL_KEY guard from server.ts
- Billing routes (subscriptions, usage, plans, licenses) now registered directly
- No more X-Internal-Key header check — JWT-based productId auth is sufficient
- BILLING_INTERNAL_KEY removed from config schema and AKV secret resolution
- 166 tests pass, tsc clean
2026-02-15 14:30:30 -08:00