@odla-ai/chapter 0.54.0 → 0.54.2
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.
- package/README.md +16 -4
- package/dist/{chunk-NDZCR3OW.js → chunk-ZAE24YKY.js} +54 -21
- package/dist/{chunk-NDZCR3OW.js.map → chunk-ZAE24YKY.js.map} +1 -1
- package/dist/{copy-context-qvFo6eA7.d.ts → copy-context-CaUXIxUI.d.ts} +17 -2
- package/dist/index.cjs +281 -132
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +76 -17
- package/dist/index.d.ts +76 -17
- package/dist/index.js +266 -117
- package/dist/index.js.map +1 -1
- package/dist/ui/admin/index.d.ts +2 -2
- package/dist/ui/admin/index.js +1 -1
- package/dist/ui/index.d.ts +1 -1
- package/dist/ui/index.js +1 -1
- package/dist/ui/member/index.d.ts +2 -2
- package/dist/worker/index.cjs +689 -544
- package/dist/worker/index.cjs.map +1 -1
- package/dist/worker/index.d.cts +26 -3
- package/dist/worker/index.d.ts +26 -3
- package/dist/worker/index.js +635 -490
- package/dist/worker/index.js.map +1 -1
- package/package.json +2 -2
package/dist/worker/index.d.cts
CHANGED
|
@@ -21,6 +21,18 @@ interface ChapterTierConfig {
|
|
|
21
21
|
active?: boolean;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
/** A code-declared mail event. Copy stays in settings; this describes who receives it and the values the event supplies. */
|
|
25
|
+
interface ChapterEmailEvent {
|
|
26
|
+
label: string;
|
|
27
|
+
trigger: string;
|
|
28
|
+
audience: string;
|
|
29
|
+
variables: readonly string[];
|
|
30
|
+
/** Values deliberately allowed to render empty, such as a free tier's amount suffix. */
|
|
31
|
+
optionalVariables?: readonly string[];
|
|
32
|
+
/** Require a resolved tier display name even when the copy does not mention it. */
|
|
33
|
+
requiresTier?: boolean;
|
|
34
|
+
}
|
|
35
|
+
|
|
24
36
|
type TextFields$1<Key extends string> = {
|
|
25
37
|
[Field in Key]: string;
|
|
26
38
|
};
|
|
@@ -509,7 +521,7 @@ interface ChapterBrand {
|
|
|
509
521
|
logos?: string;
|
|
510
522
|
}
|
|
511
523
|
|
|
512
|
-
/** One owner-editable transactional email template. */
|
|
524
|
+
/** One owner-editable transactional email template. Automatic sends require explicit `enabled: true`. */
|
|
513
525
|
interface EmailTemplate {
|
|
514
526
|
subject: string;
|
|
515
527
|
text: string;
|
|
@@ -524,8 +536,11 @@ interface ChapterEmails {
|
|
|
524
536
|
fromName?: string;
|
|
525
537
|
debugEmail?: string;
|
|
526
538
|
/** Operational lifecycle templates: adminNotification / submitConfirmation /
|
|
527
|
-
* paymentConfirmation / prepEmail / onboardingInvite
|
|
539
|
+
* paymentConfirmation / prepEmail / onboardingInvite / namedSeatInvitation / seatAccepted,
|
|
540
|
+
* plus declared host events. Missing enabled flags block sending. */
|
|
528
541
|
templates?: Record<string, EmailTemplate>;
|
|
542
|
+
/** Additional host-owned email events shown and validated in the email editor. Declaring an event never sends it. */
|
|
543
|
+
events?: Record<string, ChapterEmailEvent>;
|
|
529
544
|
}
|
|
530
545
|
/** Booking rules for the intro-call scheduler (stored as schedulingJson). */
|
|
531
546
|
interface ChapterScheduling {
|
|
@@ -1524,6 +1539,14 @@ interface SeatRepriceReceipt {
|
|
|
1524
1539
|
* each row is fenced by revision. */
|
|
1525
1540
|
declare function lowerSeatPrice(db: ChapterDb, scope: SeatRepriceScope, now: number, limit?: number): Promise<SeatRepriceReceipt>;
|
|
1526
1541
|
|
|
1542
|
+
/** Remove the seat purchase window from memberships already frozen with one, so an existing member may buy a
|
|
1543
|
+
* seat for as long as the membership stays paid. Only widens: the frozen offering keeps every other term, and
|
|
1544
|
+
* a membership already without a window is untouched. Bounded and repeatable; each row is fenced by revision. */
|
|
1545
|
+
declare function liftSeatPurchaseWindow(db: ChapterDb, scope: MembershipEffectScope, now: number, limit?: number): Promise<{
|
|
1546
|
+
lifted: number;
|
|
1547
|
+
more: boolean;
|
|
1548
|
+
}>;
|
|
1549
|
+
|
|
1527
1550
|
type Row = Record<string, unknown>;
|
|
1528
1551
|
/** Host routes may reuse this gate after resolving a verified chapter/runtime account. */
|
|
1529
1552
|
declare function chapterMembershipAccess(db: ChapterDb, env: ChapterEnv, ctx: WorkerContext, app: Row): Promise<boolean>;
|
|
@@ -2145,4 +2168,4 @@ declare function chapterWorker(options: ChapterWorkerOptions): {
|
|
|
2145
2168
|
fetch(req: Request, env: ChapterEnv): Promise<Response>;
|
|
2146
2169
|
};
|
|
2147
2170
|
|
|
2148
|
-
export { type ActiveSignupControlHtml, type ActiveSignupControlThemeOptions, AdmissionGrantDeliveryError, type AdmissionGrantDeliveryOptions, type BuilderLibraryDeliveryOptions, type ChapterEnv, type ChapterErrorRecorder, type ChapterErrorReport, type ChapterWorkerOptions, type IncludedNamedSeatReceipt, type LeaderAdmissionAssignment, type LeaderAdmissionDelivery, type LeaderAdmissionDeliveryStatus, MEMBERSHIP_AUTHORITY_PATH, type MemberContentDeliveryOptions, type MembershipAuthorityHandlerOptions, type MembershipAuthorityPeer, type MembershipChapterEffect, type MembershipEffectScope, type MembershipRetermInput, type MembershipRetermReceipt, type MembershipRetermSkipReason, type MembershipWorkerAdapter, type MembershipWorkerAdapterOptions, type NamedSeatOffer, type NamedSeatOfferSeat, type NamedSeatOperatorRefundInput, type NamedSeatRecipientState, type NamedSeatRefundReason, type NetworkTargetTransport, NetworkTargetTransportError, type Route, type SeatRepriceReceipt, type SeatRepriceScope, type SignupControlDeliveryOptions, type WorkerContext, chapterMembershipAccess, chapterWorker, createMembershipAuthorityHandler, createMembershipAuthorityStorage, createMembershipChapterEffectRoute, createMembershipWorkerAdapter, createWorkerContext, deliverAdmissionGrants, deliverBuilderLibrary, deliverMemberContent, deliverMembershipChapterEffect, deliverSignupControl, drainMembershipEffects, grantIncludedNamedSeat, lowerSeatPrice, namedSeatIncluded, namedSeatRecipientState, readNamedSeatOffer, refundNamedSeatByOperator, renderActiveSignupControlHtml, resolveNetworkTargetTransport, retermMembershipDiscount, retryChapterApprovalEffects, retryLeaderAdmissionDeliveries, withActiveSignupControlTheme };
|
|
2171
|
+
export { type ActiveSignupControlHtml, type ActiveSignupControlThemeOptions, AdmissionGrantDeliveryError, type AdmissionGrantDeliveryOptions, type BuilderLibraryDeliveryOptions, type ChapterEnv, type ChapterErrorRecorder, type ChapterErrorReport, type ChapterWorkerOptions, type IncludedNamedSeatReceipt, type LeaderAdmissionAssignment, type LeaderAdmissionDelivery, type LeaderAdmissionDeliveryStatus, MEMBERSHIP_AUTHORITY_PATH, type MemberContentDeliveryOptions, type MembershipAuthorityHandlerOptions, type MembershipAuthorityPeer, type MembershipChapterEffect, type MembershipEffectScope, type MembershipRetermInput, type MembershipRetermReceipt, type MembershipRetermSkipReason, type MembershipWorkerAdapter, type MembershipWorkerAdapterOptions, type NamedSeatOffer, type NamedSeatOfferSeat, type NamedSeatOperatorRefundInput, type NamedSeatRecipientState, type NamedSeatRefundReason, type NetworkTargetTransport, NetworkTargetTransportError, type Route, type SeatRepriceReceipt, type SeatRepriceScope, type SignupControlDeliveryOptions, type WorkerContext, chapterMembershipAccess, chapterWorker, createMembershipAuthorityHandler, createMembershipAuthorityStorage, createMembershipChapterEffectRoute, createMembershipWorkerAdapter, createWorkerContext, deliverAdmissionGrants, deliverBuilderLibrary, deliverMemberContent, deliverMembershipChapterEffect, deliverSignupControl, drainMembershipEffects, grantIncludedNamedSeat, liftSeatPurchaseWindow, lowerSeatPrice, namedSeatIncluded, namedSeatRecipientState, readNamedSeatOffer, refundNamedSeatByOperator, renderActiveSignupControlHtml, resolveNetworkTargetTransport, retermMembershipDiscount, retryChapterApprovalEffects, retryLeaderAdmissionDeliveries, withActiveSignupControlTheme };
|
package/dist/worker/index.d.ts
CHANGED
|
@@ -21,6 +21,18 @@ interface ChapterTierConfig {
|
|
|
21
21
|
active?: boolean;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
/** A code-declared mail event. Copy stays in settings; this describes who receives it and the values the event supplies. */
|
|
25
|
+
interface ChapterEmailEvent {
|
|
26
|
+
label: string;
|
|
27
|
+
trigger: string;
|
|
28
|
+
audience: string;
|
|
29
|
+
variables: readonly string[];
|
|
30
|
+
/** Values deliberately allowed to render empty, such as a free tier's amount suffix. */
|
|
31
|
+
optionalVariables?: readonly string[];
|
|
32
|
+
/** Require a resolved tier display name even when the copy does not mention it. */
|
|
33
|
+
requiresTier?: boolean;
|
|
34
|
+
}
|
|
35
|
+
|
|
24
36
|
type TextFields$1<Key extends string> = {
|
|
25
37
|
[Field in Key]: string;
|
|
26
38
|
};
|
|
@@ -509,7 +521,7 @@ interface ChapterBrand {
|
|
|
509
521
|
logos?: string;
|
|
510
522
|
}
|
|
511
523
|
|
|
512
|
-
/** One owner-editable transactional email template. */
|
|
524
|
+
/** One owner-editable transactional email template. Automatic sends require explicit `enabled: true`. */
|
|
513
525
|
interface EmailTemplate {
|
|
514
526
|
subject: string;
|
|
515
527
|
text: string;
|
|
@@ -524,8 +536,11 @@ interface ChapterEmails {
|
|
|
524
536
|
fromName?: string;
|
|
525
537
|
debugEmail?: string;
|
|
526
538
|
/** Operational lifecycle templates: adminNotification / submitConfirmation /
|
|
527
|
-
* paymentConfirmation / prepEmail / onboardingInvite
|
|
539
|
+
* paymentConfirmation / prepEmail / onboardingInvite / namedSeatInvitation / seatAccepted,
|
|
540
|
+
* plus declared host events. Missing enabled flags block sending. */
|
|
528
541
|
templates?: Record<string, EmailTemplate>;
|
|
542
|
+
/** Additional host-owned email events shown and validated in the email editor. Declaring an event never sends it. */
|
|
543
|
+
events?: Record<string, ChapterEmailEvent>;
|
|
529
544
|
}
|
|
530
545
|
/** Booking rules for the intro-call scheduler (stored as schedulingJson). */
|
|
531
546
|
interface ChapterScheduling {
|
|
@@ -1524,6 +1539,14 @@ interface SeatRepriceReceipt {
|
|
|
1524
1539
|
* each row is fenced by revision. */
|
|
1525
1540
|
declare function lowerSeatPrice(db: ChapterDb, scope: SeatRepriceScope, now: number, limit?: number): Promise<SeatRepriceReceipt>;
|
|
1526
1541
|
|
|
1542
|
+
/** Remove the seat purchase window from memberships already frozen with one, so an existing member may buy a
|
|
1543
|
+
* seat for as long as the membership stays paid. Only widens: the frozen offering keeps every other term, and
|
|
1544
|
+
* a membership already without a window is untouched. Bounded and repeatable; each row is fenced by revision. */
|
|
1545
|
+
declare function liftSeatPurchaseWindow(db: ChapterDb, scope: MembershipEffectScope, now: number, limit?: number): Promise<{
|
|
1546
|
+
lifted: number;
|
|
1547
|
+
more: boolean;
|
|
1548
|
+
}>;
|
|
1549
|
+
|
|
1527
1550
|
type Row = Record<string, unknown>;
|
|
1528
1551
|
/** Host routes may reuse this gate after resolving a verified chapter/runtime account. */
|
|
1529
1552
|
declare function chapterMembershipAccess(db: ChapterDb, env: ChapterEnv, ctx: WorkerContext, app: Row): Promise<boolean>;
|
|
@@ -2145,4 +2168,4 @@ declare function chapterWorker(options: ChapterWorkerOptions): {
|
|
|
2145
2168
|
fetch(req: Request, env: ChapterEnv): Promise<Response>;
|
|
2146
2169
|
};
|
|
2147
2170
|
|
|
2148
|
-
export { type ActiveSignupControlHtml, type ActiveSignupControlThemeOptions, AdmissionGrantDeliveryError, type AdmissionGrantDeliveryOptions, type BuilderLibraryDeliveryOptions, type ChapterEnv, type ChapterErrorRecorder, type ChapterErrorReport, type ChapterWorkerOptions, type IncludedNamedSeatReceipt, type LeaderAdmissionAssignment, type LeaderAdmissionDelivery, type LeaderAdmissionDeliveryStatus, MEMBERSHIP_AUTHORITY_PATH, type MemberContentDeliveryOptions, type MembershipAuthorityHandlerOptions, type MembershipAuthorityPeer, type MembershipChapterEffect, type MembershipEffectScope, type MembershipRetermInput, type MembershipRetermReceipt, type MembershipRetermSkipReason, type MembershipWorkerAdapter, type MembershipWorkerAdapterOptions, type NamedSeatOffer, type NamedSeatOfferSeat, type NamedSeatOperatorRefundInput, type NamedSeatRecipientState, type NamedSeatRefundReason, type NetworkTargetTransport, NetworkTargetTransportError, type Route, type SeatRepriceReceipt, type SeatRepriceScope, type SignupControlDeliveryOptions, type WorkerContext, chapterMembershipAccess, chapterWorker, createMembershipAuthorityHandler, createMembershipAuthorityStorage, createMembershipChapterEffectRoute, createMembershipWorkerAdapter, createWorkerContext, deliverAdmissionGrants, deliverBuilderLibrary, deliverMemberContent, deliverMembershipChapterEffect, deliverSignupControl, drainMembershipEffects, grantIncludedNamedSeat, lowerSeatPrice, namedSeatIncluded, namedSeatRecipientState, readNamedSeatOffer, refundNamedSeatByOperator, renderActiveSignupControlHtml, resolveNetworkTargetTransport, retermMembershipDiscount, retryChapterApprovalEffects, retryLeaderAdmissionDeliveries, withActiveSignupControlTheme };
|
|
2171
|
+
export { type ActiveSignupControlHtml, type ActiveSignupControlThemeOptions, AdmissionGrantDeliveryError, type AdmissionGrantDeliveryOptions, type BuilderLibraryDeliveryOptions, type ChapterEnv, type ChapterErrorRecorder, type ChapterErrorReport, type ChapterWorkerOptions, type IncludedNamedSeatReceipt, type LeaderAdmissionAssignment, type LeaderAdmissionDelivery, type LeaderAdmissionDeliveryStatus, MEMBERSHIP_AUTHORITY_PATH, type MemberContentDeliveryOptions, type MembershipAuthorityHandlerOptions, type MembershipAuthorityPeer, type MembershipChapterEffect, type MembershipEffectScope, type MembershipRetermInput, type MembershipRetermReceipt, type MembershipRetermSkipReason, type MembershipWorkerAdapter, type MembershipWorkerAdapterOptions, type NamedSeatOffer, type NamedSeatOfferSeat, type NamedSeatOperatorRefundInput, type NamedSeatRecipientState, type NamedSeatRefundReason, type NetworkTargetTransport, NetworkTargetTransportError, type Route, type SeatRepriceReceipt, type SeatRepriceScope, type SignupControlDeliveryOptions, type WorkerContext, chapterMembershipAccess, chapterWorker, createMembershipAuthorityHandler, createMembershipAuthorityStorage, createMembershipChapterEffectRoute, createMembershipWorkerAdapter, createWorkerContext, deliverAdmissionGrants, deliverBuilderLibrary, deliverMemberContent, deliverMembershipChapterEffect, deliverSignupControl, drainMembershipEffects, grantIncludedNamedSeat, liftSeatPurchaseWindow, lowerSeatPrice, namedSeatIncluded, namedSeatRecipientState, readNamedSeatOffer, refundNamedSeatByOperator, renderActiveSignupControlHtml, resolveNetworkTargetTransport, retermMembershipDiscount, retryChapterApprovalEffects, retryLeaderAdmissionDeliveries, withActiveSignupControlTheme };
|