Commit Graph

2 Commits

Author SHA1 Message Date
null 005b0b7b64 refactor(server): migrate 10 services to TypeScript (.cts)
Continues the incremental server TS migration (after utils/*.mts and
paymentValidation.cts): converts 10 services to .cts (CommonJS TypeScript,
run natively via Node type-stripping — no build step), type-checked by
tsconfig.server.json.

Migrated: totpService, amountSuggestionService, encryptionService,
paymentAccountingService, statusService, aprService, driftService,
analyticsService, spendingService, billMerchantRuleService.

- types/db.d.ts: shared minimal better-sqlite3 Db/Statement types (the lib
  ships none), reused across the migrated modules.
- Every require of a migrated service updated to the explicit .cts extension
  (extensionless require does not resolve .cts) across routes / services /
  db migrations / server.js / workers / tests — require-only changes.
- package.json: check:server find pattern now includes *.cts (it silently
  skipped .cts before, so paymentValidation.cts had no node --check gate).

Behavior-preserving (types only). Verified: typecheck:server 0,
check:server 0, full server suite 226/226, real boot → /api/health 200.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-06 10:35:29 -05:00
null 896dfd8230 test(security): cover totpService 2FA + document Phase 1 milestone
TOTP: valid token verifies (raw + encrypted-secret path), wrong rejected,
recovery codes single-use (with normalization), challenges single-use +
expiring. Completes the Phase 1 safety net (encryption/auth/validation/
money-creators/2FA). WebAuthn full verify deferred (authenticator harness).
Suite 225 green.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-05 13:05:34 -05:00