saravanakumardb1
acfbd7c9d7
feat(feedback): Phase 1.1 - add screenshot fields and deviceContext to FeedbackDoc
2026-03-02 23:52:18 -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
6a23a02cd4
fix(diagnostics): BUG-4, BUG-5, BUG-7, BUG-8 - race condition, transactions, test isolation, auth validation
...
- BUG-4: Add optimistic concurrency control with retry to updateSessionStats
- BUG-5: Document transaction limitations in batch operations
- BUG-7: Fix test isolation with unique productIds per test run
- BUG-8: Add session ownership validation to ingest endpoints
2026-03-02 23:47:14 -08:00
saravanakumardb1
4ffb28d8d2
fix(diagnostics): BUG-3 - add authentication check to /diagnostics/config endpoint
2026-03-02 23:45:36 -08:00
saravanakumardb1
4cb8b499af
fix(diagnostics): BUG-1, BUG-2 - DRY violation - centralize generateId and buildPk in types.ts
2026-03-02 23:43:11 -08:00
saravanakumardb1
fb71981e53
test(diagnostics): add diagnostics.test.ts with 14+ tests for Phase 1
2026-03-02 23:38:21 -08:00
saravanakumardb1
d444a8dfea
feat(diagnostics): wire routes into server.ts
2026-03-02 23:37:34 -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
dea1521dd5
feat(diagnostics): add 4 Cosmos containers (sessions, traces, logs, screenshots) with TTL
2026-03-02 23:32:49 -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
41b32a840f
fix(extraction-service): export rate limit cleanup functions for graceful shutdown
2026-03-02 10:16:24 -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
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
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
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
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
59552712a8
feat(platform): wire marketplace routes into server.ts + add server test mock
2026-03-01 08:06:12 -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
1b2a5d5483
fix(platform-service): register 13 missing MindLyst Cosmos containers
...
Add containers used by MindLyst web API routes to platform-service
cosmos-init so the shared database has a single authoritative registry:
share_cards, notification_log, analytics_events, brain_packs,
chat_sessions, ab_experiments, waitlist_entries, email_captures,
engagement_campaigns, context_triggers, monitoring_reports,
nudge_state, triage_retries
Note: 'referrals' is intentionally skipped — the growth module already
registers it with /id partition key, but MindLyst uses /userId. This
partition key mismatch requires a separate data migration to reconcile.
All 1141 platform-service tests pass.
2026-02-28 19:23:04 -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