@odla-ai/chapter 0.54.1 → 0.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,6 +22,18 @@ interface ChapterTierConfig {
22
22
  active?: boolean;
23
23
  }
24
24
 
25
+ /** A code-declared mail event. Copy stays in settings; this describes who receives it and the values the event supplies. */
26
+ interface ChapterEmailEvent {
27
+ label: string;
28
+ trigger: string;
29
+ audience: string;
30
+ variables: readonly string[];
31
+ /** Values deliberately allowed to render empty, such as a free tier's amount suffix. */
32
+ optionalVariables?: readonly string[];
33
+ /** Require a resolved tier display name even when the copy does not mention it. */
34
+ requiresTier?: boolean;
35
+ }
36
+
25
37
  type TextFields$1<Key extends string> = {
26
38
  [Field in Key]: string;
27
39
  };
@@ -453,7 +465,7 @@ interface ChapterBrand {
453
465
  logos?: string;
454
466
  }
455
467
 
456
- /** One owner-editable transactional email template. */
468
+ /** One owner-editable transactional email template. Automatic sends require explicit `enabled: true`. */
457
469
  interface EmailTemplate {
458
470
  subject: string;
459
471
  text: string;
@@ -468,8 +480,11 @@ interface ChapterEmails {
468
480
  fromName?: string;
469
481
  debugEmail?: string;
470
482
  /** Operational lifecycle templates: adminNotification / submitConfirmation /
471
- * paymentConfirmation / prepEmail / onboardingInvite, each `{ subject, text, enabled? }`. */
483
+ * paymentConfirmation / prepEmail / onboardingInvite / namedSeatInvitation / seatAccepted,
484
+ * plus declared host events. Missing enabled flags block sending. */
472
485
  templates?: Record<string, EmailTemplate>;
486
+ /** Additional host-owned email events shown and validated in the email editor. Declaring an event never sends it. */
487
+ events?: Record<string, ChapterEmailEvent>;
473
488
  }
474
489
  /** Booking rules for the intro-call scheduler (stored as schedulingJson). */
475
490
  interface ChapterScheduling {