Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .changeset/remove-note-cta.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
---
"@plotday/twister": minor
---

Removed: `cta` from the note type.

The ephemeral one-time-code prompt this field fed has been retired, and the
value is no longer stored. Connectors that set it should remove the assignment;
the field is ignored in the meantime. One-time-code and confirmation mail is
still identified during classification — that detection is unchanged.
6 changes: 3 additions & 3 deletions twister/src/facets.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -42,9 +42,9 @@ export type ThreadFacets = {
};

/**
* A time-sensitive call-to-action extracted from a message (e.g. an OTP code
* or a "confirm your account" link). Carried on a note so the client can show
* an ephemeral prompt. Heuristic + best-effort; null when nothing confident is
* A time-sensitive call-to-action detected during classification (e.g. an OTP
* code or a "confirm your account" link), used to identify one-time-code and
* confirmation mail. Heuristic + best-effort; null when nothing confident is
* found. Link (`url`) is only ever populated for DMARC-authenticated mail.
*/
export type CtaKind = "otp" | "confirm";
Expand Down
8 changes: 1 addition & 7 deletions twister/src/plot.ts
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
import type { Cta, ThreadFacets } from "./facets";
import type { ThreadFacets } from "./facets";
import type { NewSchedule, NewScheduleOccurrence, Schedule } from "./schedule";
import type { LinkSignals } from "./signals";
import { type Tag } from "./tag";
Expand DownExpand Up@@ -793,12 +793,6 @@ export type Note = ThreadCommon & {
recipients?: ResolvedRecipient[] | null;
/** Focus twist IDs (twists/connectors) mentioned for dispatch routing. Does not include user contacts. */
mentions: ActorId[];
/**
* A time-sensitive call-to-action extracted from this note's message
* (OTP code or confirm link). Null when none detected. Set by the runtime
* from the connector's extraction; clients read it to show an ephemeral prompt.
*/
cta: Cta | null;
/** Group this note belongs to within its thread (e.g. a Trello checklist id). Null = ordinary note. */
sectionKey: string | null;
/** Display label for the group (e.g. the checklist name). */
Expand Down
Loading