Commit Graph

108 Commits

Author SHA1 Message Date
saravanakumardb1
fb71981e53 test(diagnostics): add diagnostics.test.ts with 14+ tests for Phase 1 2026-03-02 23:38:21 -08:00
saravanakumardb1
a66a689d7d feat(diagnostics): Phase 1 complete - types, repository, routes
- types.ts: Session, Trace, Log, Screenshot schemas with Zod validation
- repository.ts: CRUD operations with composite partition keys
- routes.ts: REST endpoints for session management and data ingest

TODOs for Phase 2:
- TODO-1: Event bus integration
- TODO-2: PII redaction implementation
- TODO-6: PII redaction in log ingest
- TODO-7: Fatal log alerting
- TODO-8: Blob SAS token generation
2026-03-02 23:36:59 -08:00
saravanakumardb1
f272a44bbe feat(diagnostics): add repository.ts with session, trace, log, screenshot CRUD 2026-03-02 23:34:35 -08:00
saravanakumardb1
f51c352452 feat(diagnostics): add types.ts with session, trace, log, screenshot schemas 2026-03-02 23:32:27 -08:00
saravanakumardb1
038cf30aca fix(jobs): implement stub job handlers with actual functionality 2026-03-02 10:19:15 -08:00
saravanakumardb1
aeae62027f fix(telemetry): remove redundant event.userId check in cluster affected users dedup 2026-03-02 10:13:47 -08:00
saravanakumardb1
e943f14608 fix(marketplace): prevent duplicate votes with vote tracking collection
- Add marketplace_votes container to cosmos-init.ts
- Add MarketplaceVoteDoc type and vote repository functions
- Fix vote endpoint to toggle votes (prevent unlimited voting)
- Fix listMyReports to filter by productId for data isolation
- Update report routes to pass productId to listMyReports
2026-03-02 10:12:33 -08:00
saravanakumardb1
770bc5ae51 feat(referrals): partition key migration to /referrerId with dual-write backfill 2026-03-02 10:04:57 -08:00
saravanakumardb1
3e05260a6f feat(marketplace): generic template marketplace with listings, reviews, installs, certification 2026-03-02 10:02:54 -08:00
saravanakumardb1
7ca2139418 refactor(storage): migrate to storage abstraction 2026-03-02 09:07:33 -08:00
saravanakumardb1
5401fad419 refactor(platform-service): migrate webhooks/routes and migrations/runner from cosmos.js to datastore 2026-03-02 02:02:47 -08:00
saravanakumardb1
b69abf44c7 refactor(platform-service): migrate remaining 14 repositories to @bytelyst/datastore
Migrated modules: audit, auth, invitations, items, jobs, licenses,
maintenance, notifications, subscriptions, telemetry, tokens, usage,
waitlist, webhooks.

Updated 4 test files (notifications, subscriptions, tokens, usage) from
Cosmos SDK mocks to MemoryDatastoreProvider.

Zero cosmos.js imports remain in modules/. All 66 test files pass (746 tests).
2026-03-02 01:06:24 -08:00
saravanakumardb1
e355cb0c1b feat(platform-service): migrate 7 more repositories to @bytelyst/datastore (exports, plans, status, sessions, referrals, ip-rules, delivery) — 753/753 tests pass 2026-03-02 00:54:55 -08:00
saravanakumardb1
4d126cb051 feat(platform-service): migrate 6 repositories to @bytelyst/datastore (flags, settings, comments, votes, products, themes) — 756/756 tests pass 2026-03-02 00:51:03 -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
92a6929238 fix(delivery): replace hardcoded product URL/name maps with dynamic product cache lookup 2026-03-01 17:44:54 -08:00
saravanakumardb1
2f199cb67a fix(auth): replace hardcoded product ID lists with dynamic getAllProducts() in reset-password and verify-email 2026-03-01 17:43:32 -08:00
saravanakumardb1
bd7e78641e fix(platform): replace Math.random() IDs with crypto.randomUUID() in 5 P2 modules 2026-03-01 17:42:28 -08:00
saravanakumardb1
f97f7a0adb fix(marketplace): validate agentListingIds/individualPrices length match in buildAgentPack (18 tests) 2026-03-01 17:04:28 -08:00
saravanakumardb1
573f54888c fix(jarvis-teams): enforce maxMembers capacity in addMember, return null on full/missing team (25 tests) 2026-03-01 17:03:49 -08:00
saravanakumardb1
5088507400 feat(marketplace): verified creator program — applications, badges, agent pack bundles with discount validation (17 tests) 2026-03-01 16:50:38 -08:00
saravanakumardb1
66d6aa7b5b feat(jarvis-teams): enterprise teams module — team CRUD, member management, shared agents, analytics (23 tests) 2026-03-01 16:48:26 -08:00
saravanakumardb1
d0cb3a2238 feat(marketplace): purchase repository — build/complete/refund docs, 70/30 revenue share, author earnings aggregation (15 tests) 2026-03-01 16:39:38 -08:00
saravanakumardb1
063efa8e41 feat(marketplace): automated certification — prompt-safety, content-policy, payload-validator, engine (25 tests) 2026-03-01 14:26:23 -08:00
saravanakumardb1
7aed0ebec3 feat(platform): marketplace routes — 30 Fastify endpoints (catalog, consumer, author, admin) 2026-03-01 08:04:39 -08:00
saravanakumardb1
761a0c17f4 feat(platform): marketplace module — types, repository, 52 tests passing 2026-03-01 08:01:45 -08:00
saravanakumardb1
383a8dad32 feat(peak-sessions): add clientId for idempotent sync, findByClientId repo method, explicit 204 returns 2026-03-01 07:55:02 -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
33160a5daa feat(platform-service): add brains, daily-briefs, reflections, streaks modules 2026-02-28 20:24:06 -08:00
saravanakumardb1
a97b730a89 feat(flags): seed default feature flags for all products on startup 2026-02-28 19:33:22 -08:00
saravanakumardb1
711621e3d9 fix(telemetry): add 'native' to ChannelEnum for mobile app clients 2026-02-28 19:26:52 -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
7d5ed86724 feat: add universal prep-consumer.sh for portable Docker/CI builds + fix tsc errors 2026-02-28 12:32:11 -08:00
saravanakumardb1
4e94ecd721 feat(auth): add forgot-password/change-password API routes to admin dashboard + wire email delivery
Admin dashboard:
- platform-client.ts: Added forgotPasswordViaService, changePasswordViaService, deleteAccountViaService
- app/api/auth/forgot-password/route.ts: New API route proxying to platform-service
- app/api/auth/change-password/route.ts: New API route for authenticated password change

Platform-service (from prior session):
- auth/routes.ts: Added /auth/change-password and DELETE /auth/account endpoints, wired email verification on register
- auth/types.ts: Added ChangePasswordSchema and DeleteAccountSchema
- delivery/subscribers.ts: Updated password reset subscriber, added email verification subscriber
- delivery/channels/email.ts: Added ByteLyst email API provider (sendViaBytelyst)
- delivery/types.ts: Added 'bytelyst' provider
- events/types.ts: Added resetToken/displayName to user.password_reset, added user.email_verification_requested event
2026-02-28 04:17:04 -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
ca70a05e1d feat(flags): add region, osVersion targeting to feature flags
- Add OsVersionRange interface + Zod schema (platform, minVersion?, maxVersion?)
- Add regions[] and osVersions[] to FeatureFlagDoc, CreateFlagSchema, UpdateFlagSchema
- Add compareVersions() helper for dot-separated semver comparison
- Extend GET /flags/poll with ?region and ?osVersion query params
- Region targeting: flag only returned if client region is in flag's regions list
- OS version targeting: per-platform min/max version range filtering
- Add 10 new tests (schema validation, compareVersions edge cases)
- 634 tests passing, tsc clean
2026-02-17 20:53:48 -08:00
saravanakumardb1
51e2ecdec8 test(telemetry): Phase 3 regression tests — UpdateClusterSchema, ClusterStatusEnum, extractClientIp (614→624 tests) 2026-02-17 11:24:59 -08:00
saravanakumardb1
788ee57935 docs(telemetry): update routes doc comment with all 14 endpoints 2026-02-17 11:23:38 -08:00