Files
Z User e45b68bb8b feat: IMAP mail sync with thread-to-contact matching (PRD §6.1)
Real IMAP connection via imapflow library:
- Connects to IMAP server (IMAPFlow, TLS on port 993)
- Fetches recent messages (configurable limit, default 20)
- Extracts: from, fromEmail, subject, date, snippet (200 chars)
- Thread-to-contact matching (PRD §6.1):
  1. Match sender email against persons table
  2. If no person match, extract domain and match against company.website
  3. Returns matchedCompany + matchedPerson for each email
- Audit-logged (action: crm.mailsync:imap)
- Zod validated (host, port, user, password, folder, limit)
- 502 on IMAP connection failure with detail
- 400 on validation failure

Tested: invalid creds → 502 'IMAP connection failed', missing host → 400
2026-10-27 22:50:50 +00:00

1.6 KiB
Executable File

name, colors, typography, rounded, spacing
name colors typography rounded spacing
Neumorphism
primary secondary success warning danger surface text neutral
#006666 #F1F2F5 #00A63D #FE9900 #FF2157 #E7E5E4 #1E2938 #E7E5E4
h1 body-md label-caps sourceScale weights
fontFamily fontSize
Space Mono 3rem
fontFamily fontSize
Space Mono 1rem
fontFamily fontSize
JetBrains Mono 0.75rem
desktop-first expressive scale 100, 200, 300, 400, 500, 600, 700, 800, 900
sm md
4px 8px
sm md sourceScale
4px 8px compact density mode

Overview

Soft, extruded UI elements with inner and outer shadows on monochromatic surfaces for a tactile, embedded look.

Style Foundations

  • Visual style: minimal, clean, high-contrast, playful, matrix
  • Typography scale: desktop-first expressive scale
  • Typography fonts: primary=Space Mono, display=Space Mono, mono=JetBrains Mono
  • Typography weights: 100, 200, 300, 400, 500, 600, 700, 800, 900
  • Color palette: primary, secondary, success, warning, danger, info
  • Spacing scale: compact density mode

Colors

  • Primary (#006666): Token from style foundations.
  • Secondary (#F1F2F5): Token from style foundations.
  • Success (#00A63D): Token from style foundations.
  • Warning (#FE9900): Token from style foundations.
  • Danger (#FF2157): Token from style foundations.
  • Surface (#E7E5E4): Token from style foundations.
  • Text (#1E2938): Token from style foundations.
  • Neutral (#E7E5E4): Derived from the surface token for official format compatibility.