root
d93ada4037
docs(config): align rate limit settings
2026-03-15 09:42:42 +00:00
root
e4bff5a2fe
feat(platform-service): add support case management foundation
2026-03-15 09:39:20 +00:00
root
14346fbd5d
feat(ratelimit): back api throttles with datastore
2026-03-15 09:37:03 +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
8d78b6ce59
feat(api-key): audit security events
2026-03-15 09:24:01 +00:00
root
2f7163b856
feat(api-key): restrict job operations to service tokens
2026-03-15 09:08:38 +00:00
root
95261acb92
feat(api-key): log auth and throttling rejects
2026-03-15 09:06:51 +00:00
root
798c1b9fad
feat(platform-service): add agent registry foundation
2026-03-15 09:05:39 +00:00
root
473b7310d5
fix(tokens): tighten machine credential issuance
2026-03-15 06:28:50 +00:00
root
57abfa5b03
feat(api-key): add per-product throttling
2026-03-15 06:26:42 +00:00
root
8240f6060d
feat(api-key): restrict ops routes to service tokens
2026-03-15 06:24:08 +00:00
root
d1b3faae8b
fix(tokens): issue machine-ready defaults
2026-03-15 06:19:48 +00:00
root
eac633e1e7
fix(api-key): enforce machine token policy
2026-03-15 06:16:15 +00:00
root
507f0fdd1f
feat(tokens): classify machine credentials
2026-03-15 06:09:42 +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
841d2f5129
fix(api-key): enforce requested product binding
2026-03-15 06:01:17 +00:00
root
daec38faf7
feat(a2a): persist incident pipeline runs
2026-03-15 05:58:15 +00:00
root
07e9475b70
fix(tokens): align api token storage with cosmos partitioning
2026-03-15 05:57:34 +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
8de22f9f22
feat(platform-service): allow scoped api keys on webhook routes
2026-03-14 15:38:42 +00:00
root
da744ab116
feat(platform-service): allow scoped api keys on ops routes
2026-03-14 14:58:08 +00:00
root
0ad6703961
feat(platform-service): add api key auth context and throttling guard
2026-03-14 14:55:23 +00:00
root
7616901683
test(workspace): harden service bootstrap and sync coverage
2026-03-14 06:40:10 +00:00
root
91885f0d4f
Add Mailpit-backed prototype email sandbox
2026-03-14 06:16:28 +00:00
root
a27a822fc2
Add prototype storage diagnostics and smoke test
2026-03-14 06:06:35 +00:00
root
114240c79a
feat(platform-service): add telegram and slack delivery
2026-03-14 06:01:59 +00:00
root
db9ae4a573
feat(platform-service): add smtp email delivery and postal setup
2026-03-14 05:52:28 +00:00
root
19b58b3ea0
Fix prototype service runtime dependencies
2026-03-14 05:32:21 +00:00
root
a5e8890df2
Add Cosmos emulator prototype support
2026-03-14 05:24:01 +00:00
saravanakumardb1
2b3130821c
fix(auth): register magic_link event type + use admin productId for enterprise IdP
...
- Register 'auth.magic_link_requested' in @bytelyst/events PlatformEventSchemas
- Remove any-cast from magic-link/routes.ts — now properly typed
- Enterprise IdP creation uses admin's JWT productId instead of hardcoded 'smartauth'
- All 53 auth tests passing
2026-03-12 15:55:09 -07:00
saravanakumardb1
b0e1a54481
fix(auth): enterprise SSO bcrypt hash + upgrade cost 10→12
...
- Enterprise SAML/OIDC callbacks used raw 'sso_xxx' string as passwordHash
which would crash bcrypt.compare(). Now uses userRepo.hashPassword(randomUUID())
- Added updateLastLogin() for existing enterprise SSO users
- Upgraded bcrypt cost factor from 10 to 12 per PRD spec
- All 53 auth tests passing
2026-03-12 15:35:00 -07: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
ae13abfab2
fix(auth): address SmartAuth agent review gaps — Swift mock wiring, passkey SDK consistency, device list parity, JSDoc, SSR docs
2026-03-12 12:27:08 -07:00
saravanakumardb1
a613cf1bf9
test(auth): add SmartAuth integration tests + fix auth.routes.test mocks
...
- Add 5 new tests: MFA challenge integration, risk scorer edge cases, login events wiring, device trust pure function
- Fix auth.routes.test.ts: add vi.mock stubs for login-events, risk-scorer, mfa, devices, config, event-bus
- Change afterEach from restoreAllMocks to clearAllMocks (preserves mock implementations between tests)
- Total: 42 smartauth tests, 951 platform-service tests all passing
2026-03-12 11:27:50 -07:00
saravanakumardb1
0f4be0c325
feat(auth): wire login events into OAuth login helper
...
- Record success login event with risk scoring after OAuth token issuance
- Import login-events repo + risk-scorer into oauth/routes
- Best-effort recording — never blocks OAuth login flow
2026-03-12 11:19:11 -07:00
saravanakumardb1
82d7f157d9
feat(auth): wire login events + MFA challenge into login handler
...
- Add recordLoginEvent() helper with risk scoring via scoreLoginRisk()
- On failed login: record 'failed' event with risk assessment
- On MFA-required: issue challenge token, record 'mfa_required' event
- On success: record 'success' event with risk assessment
- Import login-events repo, risk-scorer, mfa repo, challenge store, device repo
2026-03-12 11:17:23 -07:00
saravanakumardb1
bdb3e95e00
fix(auth): clean up MFA routes — remove redundant imports, use userRepo.update()
...
- Remove redundant dynamic import('node:crypto'), use top-level nodeCrypto
- Remove getCollection import, use userRepo.update() for mfaEnabled/mfaMethods
- Expand update() Pick type to include mfaEnabled, mfaMethods, emailVerified
- Remove unused _reply param from MFA policy PUT handler
2026-03-12 11:12:33 -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
49db2cd2af
fix(platform-service): pin vitest pool to threads
2026-03-06 13:52:44 -08: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
a31fdfe55a
feat(predictive-analytics): complete admin UI for churn prediction and health scoring
...
- Add health-dashboard page with 6-dimension health cards and anomaly detection
- Add predictive/at-risk page with user risk profiles and segmentation
- Add predictive/campaigns page with campaign management and stats
- Add predictive-client.ts API client with full type coverage
- Update all 3 roadmaps to reflect complete implementation status
2026-03-03 13:48:37 -08:00
saravanakumardb1
dfeed4c10f
fix(diagnostics): add missing crypto import for randomUUID [BUG-5]
2026-03-03 12:27:03 -08:00
saravanakumardb1
8749aa211d
fix(feedback-client): update tests to use fetch instead of post
2026-03-03 12:26:02 -08:00