@odla-ai/chapter 0.48.2 → 0.49.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.
@@ -34,8 +34,13 @@ type TextFields<Key extends string> = {
34
34
  interface ChapterCopy {
35
35
  common: TextFields<"loading" | "saved" | "unknown">;
36
36
  join: {
37
+ /** Prepaid invitation attribution, consent and recoverable error copy. */
38
+ namedSeat?: TextFields<"title" | "from" | "prepaid" | "body" | "consent" | "accept" | "accepting" | "loading" | "unavailable" | "retry" | "failure">;
37
39
  form: TextFields<"submit" | "submitting" | "submitFailed" | "unexpectedFailure">;
38
- booking: TextFields<"unavailable" | "loadFailed" | "slotTaken" | "failed" | "loading" | "book" | "booking">;
40
+ booking: TextFields<"unavailable" | "loadFailed" | "slotTaken" | "failed" | "loading" | "book" | "booking"> & {
41
+ title?: string;
42
+ intro?: string;
43
+ };
39
44
  /**
40
45
  * `consent` is the affirmative statement a member agrees to before the card
41
46
  * form appears, rendered beside the checkbox and beneath the policy text.
@@ -895,6 +900,19 @@ type MembershipOfferIssuer = (input: MembershipQuoteTarget & {
895
900
  requestId: string;
896
901
  }) => Promise<IssuedMembershipOffer>;
897
902
 
903
+ /** A fresh purchase generation for the same previously approved application and membership. */
904
+ type MembershipRestartInput = MembershipQuoteTarget & {
905
+ previousSubscriptionId: string;
906
+ };
907
+ /** Receipt authorizing a fresh checkout, never proof of payment or access. */
908
+ interface MembershipRestartReceipt {
909
+ applicationId: string;
910
+ membershipId: string;
911
+ restartId: string;
912
+ memberNumber: number;
913
+ status: "ready";
914
+ }
915
+
898
916
  /** A consented offer, bound once to the follower's immutable provider Price and quote. */
899
917
  interface MembershipCheckoutBindingInput extends MembershipQuoteTarget {
900
918
  offerId: string;
@@ -956,6 +974,7 @@ interface MembershipAccessReceipt {
956
974
  status: string;
957
975
  accessEndsAt: number;
958
976
  revision: number;
977
+ restartEligible?: boolean;
959
978
  }
960
979
 
961
980
  /** Named-seat offer for the authenticated purchaser, not a transferable gift or arbitrary quantity. */
@@ -1130,6 +1149,8 @@ interface ChapterWorkerOptions {
1130
1149
  reconcileRenewal: (input: MembershipQuoteTarget & {
1131
1150
  eventId: string;
1132
1151
  }, env: ChapterEnv) => Promise<MembershipRenewalReceipt>;
1152
+ cancelRenewal?: (input: MembershipQuoteTarget, env: ChapterEnv) => Promise<MembershipRenewalReceipt>;
1153
+ restart?: (input: MembershipRestartInput, env: ChapterEnv) => Promise<MembershipRestartReceipt>;
1133
1154
  readAccess: (input: MembershipQuoteTarget, env: ChapterEnv) => Promise<MembershipAccessReceipt>;
1134
1155
  namedSeats?: {
1135
1156
  offer: (input: MembershipQuoteTarget, env: ChapterEnv) => Promise<NamedSeatOffer>;
@@ -1196,6 +1217,8 @@ declare function createWorkerContext(options: ChapterWorkerOptions): {
1196
1217
  reconcileRenewal: (input: MembershipQuoteTarget & {
1197
1218
  eventId: string;
1198
1219
  }, env: ChapterEnv) => Promise<MembershipRenewalReceipt>;
1220
+ cancelRenewal?: (input: MembershipQuoteTarget, env: ChapterEnv) => Promise<MembershipRenewalReceipt>;
1221
+ restart?: (input: MembershipRestartInput, env: ChapterEnv) => Promise<MembershipRestartReceipt>;
1199
1222
  readAccess: (input: MembershipQuoteTarget, env: ChapterEnv) => Promise<MembershipAccessReceipt>;
1200
1223
  namedSeats?: {
1201
1224
  offer: (input: MembershipQuoteTarget, env: ChapterEnv) => Promise<NamedSeatOffer>;
@@ -34,8 +34,13 @@ type TextFields<Key extends string> = {
34
34
  interface ChapterCopy {
35
35
  common: TextFields<"loading" | "saved" | "unknown">;
36
36
  join: {
37
+ /** Prepaid invitation attribution, consent and recoverable error copy. */
38
+ namedSeat?: TextFields<"title" | "from" | "prepaid" | "body" | "consent" | "accept" | "accepting" | "loading" | "unavailable" | "retry" | "failure">;
37
39
  form: TextFields<"submit" | "submitting" | "submitFailed" | "unexpectedFailure">;
38
- booking: TextFields<"unavailable" | "loadFailed" | "slotTaken" | "failed" | "loading" | "book" | "booking">;
40
+ booking: TextFields<"unavailable" | "loadFailed" | "slotTaken" | "failed" | "loading" | "book" | "booking"> & {
41
+ title?: string;
42
+ intro?: string;
43
+ };
39
44
  /**
40
45
  * `consent` is the affirmative statement a member agrees to before the card
41
46
  * form appears, rendered beside the checkbox and beneath the policy text.
@@ -895,6 +900,19 @@ type MembershipOfferIssuer = (input: MembershipQuoteTarget & {
895
900
  requestId: string;
896
901
  }) => Promise<IssuedMembershipOffer>;
897
902
 
903
+ /** A fresh purchase generation for the same previously approved application and membership. */
904
+ type MembershipRestartInput = MembershipQuoteTarget & {
905
+ previousSubscriptionId: string;
906
+ };
907
+ /** Receipt authorizing a fresh checkout, never proof of payment or access. */
908
+ interface MembershipRestartReceipt {
909
+ applicationId: string;
910
+ membershipId: string;
911
+ restartId: string;
912
+ memberNumber: number;
913
+ status: "ready";
914
+ }
915
+
898
916
  /** A consented offer, bound once to the follower's immutable provider Price and quote. */
899
917
  interface MembershipCheckoutBindingInput extends MembershipQuoteTarget {
900
918
  offerId: string;
@@ -956,6 +974,7 @@ interface MembershipAccessReceipt {
956
974
  status: string;
957
975
  accessEndsAt: number;
958
976
  revision: number;
977
+ restartEligible?: boolean;
959
978
  }
960
979
 
961
980
  /** Named-seat offer for the authenticated purchaser, not a transferable gift or arbitrary quantity. */
@@ -1130,6 +1149,8 @@ interface ChapterWorkerOptions {
1130
1149
  reconcileRenewal: (input: MembershipQuoteTarget & {
1131
1150
  eventId: string;
1132
1151
  }, env: ChapterEnv) => Promise<MembershipRenewalReceipt>;
1152
+ cancelRenewal?: (input: MembershipQuoteTarget, env: ChapterEnv) => Promise<MembershipRenewalReceipt>;
1153
+ restart?: (input: MembershipRestartInput, env: ChapterEnv) => Promise<MembershipRestartReceipt>;
1133
1154
  readAccess: (input: MembershipQuoteTarget, env: ChapterEnv) => Promise<MembershipAccessReceipt>;
1134
1155
  namedSeats?: {
1135
1156
  offer: (input: MembershipQuoteTarget, env: ChapterEnv) => Promise<NamedSeatOffer>;
@@ -1196,6 +1217,8 @@ declare function createWorkerContext(options: ChapterWorkerOptions): {
1196
1217
  reconcileRenewal: (input: MembershipQuoteTarget & {
1197
1218
  eventId: string;
1198
1219
  }, env: ChapterEnv) => Promise<MembershipRenewalReceipt>;
1220
+ cancelRenewal?: (input: MembershipQuoteTarget, env: ChapterEnv) => Promise<MembershipRenewalReceipt>;
1221
+ restart?: (input: MembershipRestartInput, env: ChapterEnv) => Promise<MembershipRestartReceipt>;
1199
1222
  readAccess: (input: MembershipQuoteTarget, env: ChapterEnv) => Promise<MembershipAccessReceipt>;
1200
1223
  namedSeats?: {
1201
1224
  offer: (input: MembershipQuoteTarget, env: ChapterEnv) => Promise<NamedSeatOffer>;