contacts: calls on the Contrack timeline, summaries opt-in (C5)
ci / check (push) Successful in 1m7s
ci / images (push) Successful in 20s

Spec 11 §4.4: the contrackLog job puts each connected person's calls with their Contrack
contacts on that contact's timeline once (contrack_call_log, migration 0011), from when they
connected. With summaries on (My settings → Contacts, needs call summaries), the escaped summary
and action items go in, and the first action item becomes a follow-up due the next day. Waits up
to 30 min for a summary; Contrack down is retried, refusals noted once. Tested against a fake and
a real Contrack 2.0.2.
This commit is contained in:
iamdoubz committed 2026-10-23 15:59:53 -05:00
1 parent b05361e840
commit e6a1373f36
19 files changed
+5096 -13

No files matched your search

+17 -1
View File
@@ -56,5 +56,21 @@ export type MeDto = {
callReportWeekday: number;
callReportSummaries: boolean;
/** Contacts in Contrack mode (11 §4.3): my token, never shown again; null in builtin mode. */
contrack: { connected: boolean; tokenPrefix: string | null; publicUrl: string | null } | null;
contrack: {
connected: boolean;
tokenPrefix: string | null;
publicUrl: string | null;
/** 11 §4.4: my calls on my contacts' Contrack timelines, and with their summaries. */
logCalls: boolean;
logSummaries: boolean;
/** Call summaries are on (Settings → AI), so logSummaries can do something. */
summariesAvailable: boolean;
} | null;
};
/** PATCH /api/me/contrack. */
export const ContrackOptionsSchema = z.object({
logCalls: z.boolean().optional(),
logSummaries: z.boolean().optional(),
});
export type ContrackOptions = z.input<typeof ContrackOptionsSchema>;