wulf-pulse/lib
lorentz ed3b363d02 feat(analyzer): phase 7 — share-via-email
sendAnalysisShareEmail() reuses the existing nodemailer SMTP transport
(same path as magic-link/invitation mail). Share route persists the
audit row first, then attempts send; on failure returns
{share, emailSent:false, emailError} at HTTP 200 so the audit log
stays intact. Modal surfaces send failures as a warning toast.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 11:03:11 -04:00
..
hooks Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00
services feat(analyzer): phase 7 — share-via-email 2026-04-29 11:03:11 -04:00
types feat: AI ticket analyzer (phases 1-6) 2026-04-29 10:59:40 -04:00
utils feat: AI ticket analyzer (phases 1-6) 2026-04-29 10:59:40 -04:00
auth-client.ts feat: add authentication, user management, and admin features 2026-01-31 12:43:14 -05:00
auth-utils.ts feat: add authentication, user management, and admin features 2026-01-31 12:43:14 -05:00
auth.ts feat: add Autotask tags sync (tag groups, tags, ticket tag associations) 2026-03-20 09:22:40 -04:00
bootstrap.ts feat: add authentication, user management, and admin features 2026-01-31 12:43:14 -05:00
permissions.ts feat: add authentication, user management, and admin features 2026-01-31 12:43:14 -05:00
utils.ts Restructure: rename to Pulse and move app to root 2025-10-28 23:08:54 -04:00