@odla-ai/chapter 0.42.3 → 0.43.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.
- package/dist/index.cjs +600 -112
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +196 -4
- package/dist/index.d.ts +196 -4
- package/dist/index.js +600 -112
- package/dist/index.js.map +1 -1
- package/dist/worker/index.cjs +300 -125
- package/dist/worker/index.cjs.map +1 -1
- package/dist/worker/index.js +300 -125
- package/dist/worker/index.js.map +1 -1
- package/package.json +1 -1
- package/runbooks/adopt-existing.md +11 -0
- package/runbooks/greenfield.md +12 -0
package/dist/index.d.cts
CHANGED
|
@@ -963,7 +963,8 @@ declare function createChapterIntegration(chapter: Chapter, options?: ChapterInt
|
|
|
963
963
|
* "table"` adds the `admins` allowlist (hub/BNF); `superAdmins` adds the
|
|
964
964
|
* read-only super-admin tier (default on for the `"claim"` ladder). A `"claim"`
|
|
965
965
|
* chapter therefore emits the reference namespace set — `applications`,
|
|
966
|
-
* `groups`, `meetings`, `emailLog`, `superAdmins` — with
|
|
966
|
+
* `groups`, `meetings`, `emailLog`, `stripeEventReceipts`, `superAdmins` — with
|
|
967
|
+
* no `admins` table. */
|
|
967
968
|
declare function chapterDb(mode: ChapterMode, auth: ResolvedAuth, includeNetworkNotes?: boolean, application?: ResolvedApplication, includeSignupControl?: boolean, includeMemberContent?: boolean, includeBuilderLibrary?: boolean, includeLeaderAdmissions?: boolean): {
|
|
968
969
|
schema: DbSchema;
|
|
969
970
|
rules: DbRules;
|
|
@@ -1531,8 +1532,9 @@ declare function paymentsReady(group: PaymentsGroup, hasSecretKey: boolean): boo
|
|
|
1531
1532
|
/** The Stripe idempotency key for creating an application's subscription — one
|
|
1532
1533
|
* per application, so a client retry can't orphan a second subscription. */
|
|
1533
1534
|
declare function subscriptionIdempotencyKey(applicationId: string): string;
|
|
1534
|
-
/** The db mutationId for a webhook-driven write
|
|
1535
|
-
*
|
|
1535
|
+
/** The db mutationId for a webhook-driven application write. A separate signed
|
|
1536
|
+
* event receipt fences replays and event-id collisions across every write in
|
|
1537
|
+
* the route; this id keeps the application mutation itself idempotent. */
|
|
1536
1538
|
declare function webhookMutationId(eventId: string): string;
|
|
1537
1539
|
/** A raw Stripe event, as far as normalization cares. */
|
|
1538
1540
|
interface StripeEvent {
|
|
@@ -1578,6 +1580,7 @@ type WebhookEvent = ({
|
|
|
1578
1580
|
environment?: string;
|
|
1579
1581
|
dataEnvironment?: string;
|
|
1580
1582
|
runtime?: string;
|
|
1583
|
+
chapterId?: string;
|
|
1581
1584
|
};
|
|
1582
1585
|
/** Resolve the application reference on a Stripe object: `applicationId` from
|
|
1583
1586
|
* metadata (direct, then subscription_details, then nested
|
|
@@ -1589,6 +1592,7 @@ declare function findApplicationRef(obj: Record<string, unknown>): {
|
|
|
1589
1592
|
environment?: string;
|
|
1590
1593
|
dataEnvironment?: string;
|
|
1591
1594
|
runtime?: string;
|
|
1595
|
+
chapterId?: string;
|
|
1592
1596
|
};
|
|
1593
1597
|
/** Normalize a verified Stripe event into a {@link WebhookEvent}. `invoice.paid`
|
|
1594
1598
|
* splits into first_payment vs renewal by `billing_reason`; refunds and
|
|
@@ -2926,4 +2930,192 @@ interface ChapterPromotionInput {
|
|
|
2926
2930
|
/** Export the provider-independent pieces of one exact active signup revision. */
|
|
2927
2931
|
declare function exportChapterPromotion(input: ChapterPromotionInput): Promise<PromotionAdapterResult>;
|
|
2928
2932
|
|
|
2929
|
-
|
|
2933
|
+
/** Storage boundary for a member-system field. */
|
|
2934
|
+
type MemberSystemScope = "network" | "chapter" | "provider";
|
|
2935
|
+
/** Durable authority allowed to write a member-system field. */
|
|
2936
|
+
type MemberSystemWriter = "network_person" | "chapter_journey" | "network_membership" | "network_entitlement" | "network_seat" | "network_discount_policy" | "network_referral_ledger" | "network_investment_ledger" | "network_commercial_projection" | "clerk" | "stripe";
|
|
2937
|
+
/** Read model that may receive an allowlisted field. */
|
|
2938
|
+
type MemberSystemProjection = "bnf_admin" | "chapter_admin" | "chapter_crm" | "member_self_service" | "stripe_billing" | "clerk_identity";
|
|
2939
|
+
/** Privacy classification used by projection policy. */
|
|
2940
|
+
type MemberFieldSensitivity = "ordinary" | "pii" | "sensitive" | "restricted";
|
|
2941
|
+
/** Access a member has to her own projected field. */
|
|
2942
|
+
type MemberFieldSelfAccess = "edit" | "read" | "none";
|
|
2943
|
+
/** One field's scope, writer, projections, sensitivity, and self-service access. */
|
|
2944
|
+
interface MemberFieldAuthority {
|
|
2945
|
+
id: string;
|
|
2946
|
+
scope: MemberSystemScope;
|
|
2947
|
+
writer: MemberSystemWriter;
|
|
2948
|
+
projections: readonly MemberSystemProjection[];
|
|
2949
|
+
sensitivity: MemberFieldSensitivity;
|
|
2950
|
+
memberAccess: MemberFieldSelfAccess;
|
|
2951
|
+
}
|
|
2952
|
+
/** Each field has one durable writer. BNF is an operator projection, never a writer. */
|
|
2953
|
+
declare const MEMBER_SYSTEM_AUTHORITY_MATRIX: readonly MemberFieldAuthority[];
|
|
2954
|
+
/** Fields a member may change through self-service. */
|
|
2955
|
+
declare const MEMBER_SELF_EDITABLE_FIELDS: Set<string>;
|
|
2956
|
+
/** Fields that may appear in a member self-service response. */
|
|
2957
|
+
declare const MEMBER_SELF_READABLE_FIELDS: Set<string>;
|
|
2958
|
+
/** Serialize only the explicit member self-service allowlist. */
|
|
2959
|
+
declare function projectMemberSelf(record: Readonly<Record<string, unknown>>): Record<string, unknown>;
|
|
2960
|
+
/** Proposed field mutation with optimistic-revision evidence. */
|
|
2961
|
+
interface MemberSystemWriteIntent {
|
|
2962
|
+
field: string;
|
|
2963
|
+
actor: MemberSystemWriter | "bnf";
|
|
2964
|
+
expectedRevision: number;
|
|
2965
|
+
actualRevision: number;
|
|
2966
|
+
}
|
|
2967
|
+
/** Result of checking a proposed mutation against surface, writer, and revision rules. */
|
|
2968
|
+
type MemberSystemWriteDisposition = "apply" | "reject_bnf_surface" | "reject_unknown_field" | "reject_wrong_writer" | "reject_stale_revision";
|
|
2969
|
+
/** Reject BNF, wrong-writer, unknown-field, and stale-revision mutations. */
|
|
2970
|
+
declare function classifyMemberSystemWrite(intent: MemberSystemWriteIntent): MemberSystemWriteDisposition;
|
|
2971
|
+
/** Result of validating an authority matrix. */
|
|
2972
|
+
interface MemberAuthorityValidation {
|
|
2973
|
+
ok: boolean;
|
|
2974
|
+
errors: string[];
|
|
2975
|
+
}
|
|
2976
|
+
/** Validate uniqueness, self-service projection, and aggregate scope invariants. */
|
|
2977
|
+
declare function validateMemberSystemAuthority(matrix?: readonly MemberFieldAuthority[]): MemberAuthorityValidation;
|
|
2978
|
+
|
|
2979
|
+
/** Provider-free lifecycle contract for the network member system. */
|
|
2980
|
+
declare const MEMBER_SYSTEM_CONTRACT_VERSION: 1;
|
|
2981
|
+
|
|
2982
|
+
/** Ordered chapter Journey stages from first identification through first deal. */
|
|
2983
|
+
declare const JOURNEY_STAGES: readonly ["identified", "researched", "outreach", "in_conversation", "invited_or_requested", "application_started", "applied", "paid_awaiting_conversation", "ready_to_book", "booked", "met", "approved", "onboarded", "active", "first_deal"];
|
|
2984
|
+
/** A chapter Journey stage. */
|
|
2985
|
+
type JourneyStage = typeof JOURNEY_STAGES[number];
|
|
2986
|
+
/** Terminal Journey outcomes; refunds remain commercial events. */
|
|
2987
|
+
declare const JOURNEY_ENDINGS: readonly ["passed", "declined", "withdrew", "lapsed"];
|
|
2988
|
+
/** A terminal chapter Journey outcome. */
|
|
2989
|
+
type JourneyEnding = typeof JOURNEY_ENDINGS[number];
|
|
2990
|
+
/** Required notice categories that may bypass discretionary contact suppression. */
|
|
2991
|
+
declare const REQUIRED_NOTICE_KINDS: readonly ["payment_receipt", "refund_confirmation", "security_alert", "legal_notice", "membership_status", "renewal_notice", "cancellation_confirmation"];
|
|
2992
|
+
/** A typed required notice allowed despite discretionary contact suppression. */
|
|
2993
|
+
type RequiredNoticeKind = typeof REQUIRED_NOTICE_KINDS[number];
|
|
2994
|
+
/** Availability inputs that distinguish the BNF UI from the odla data plane. */
|
|
2995
|
+
interface MemberSystemAvailabilityInput {
|
|
2996
|
+
odlaReachable: boolean;
|
|
2997
|
+
bnfFrontendReachable: boolean;
|
|
2998
|
+
}
|
|
2999
|
+
/** Capabilities allowed at the current BNF and odla availability state. */
|
|
3000
|
+
interface MemberSystemAvailability {
|
|
3001
|
+
bnfAdministration: boolean;
|
|
3002
|
+
chapterWorkflow: boolean;
|
|
3003
|
+
memberSelfService: boolean;
|
|
3004
|
+
newApplication: boolean;
|
|
3005
|
+
newCheckout: boolean;
|
|
3006
|
+
providerRenewalsMayContinue: true;
|
|
3007
|
+
reason?: "odla_unavailable" | "bnf_frontend_unavailable";
|
|
3008
|
+
}
|
|
3009
|
+
/** BNF is optional for chapter execution; odla is not. */
|
|
3010
|
+
declare function memberSystemAvailability(input: MemberSystemAvailabilityInput): MemberSystemAvailability;
|
|
3011
|
+
/** Partition metadata supplied by a verified Stripe event. */
|
|
3012
|
+
interface MemberStripeIdentity {
|
|
3013
|
+
appId?: string;
|
|
3014
|
+
environment?: string;
|
|
3015
|
+
dataEnvironment?: string;
|
|
3016
|
+
runtime?: string;
|
|
3017
|
+
chapterId?: string;
|
|
3018
|
+
}
|
|
3019
|
+
/** Exact app, environment, runtime, and chapter partition expected by a consumer. */
|
|
3020
|
+
interface MemberStripeTarget {
|
|
3021
|
+
appId: string;
|
|
3022
|
+
environment: string;
|
|
3023
|
+
dataEnvironment: string;
|
|
3024
|
+
runtime: string;
|
|
3025
|
+
chapterId: string;
|
|
3026
|
+
}
|
|
3027
|
+
/** Safe handling of a verified Stripe event after partition checks. */
|
|
3028
|
+
type MemberStripeDisposition = "apply" | "apply_legacy" | "ignore_sibling" | "quarantine_unmatched";
|
|
3029
|
+
/** Partition verified Stripe events before any lookup or write. */
|
|
3030
|
+
declare function classifyMemberStripeEvent(identity: MemberStripeIdentity, target: MemberStripeTarget, hasProvenLegacyLocalLink: boolean): MemberStripeDisposition;
|
|
3031
|
+
/** Stable provider-event identity and content digest used for replay. */
|
|
3032
|
+
interface MemberSystemEventReceiptInput {
|
|
3033
|
+
id: string;
|
|
3034
|
+
digest: string;
|
|
3035
|
+
}
|
|
3036
|
+
/** Accepted, duplicate, and colliding provider-event identifiers. */
|
|
3037
|
+
interface MemberSystemEventReplayPlan {
|
|
3038
|
+
accepted: string[];
|
|
3039
|
+
replayed: string[];
|
|
3040
|
+
collisions: string[];
|
|
3041
|
+
}
|
|
3042
|
+
/** Plan provider-event replay by stable identifier and digest. */
|
|
3043
|
+
declare function planMemberSystemEventReplay(events: readonly MemberSystemEventReceiptInput[]): MemberSystemEventReplayPlan;
|
|
3044
|
+
/** Fail-closed and replay targets for restoring the member-system projection. */
|
|
3045
|
+
interface MemberSystemRecoveryObjectives {
|
|
3046
|
+
failClosedWithinMs: 0;
|
|
3047
|
+
replayProjectionWithinMinutes: number;
|
|
3048
|
+
providerEventsRemainReplayable: true;
|
|
3049
|
+
requireHumanReviewForCollision: true;
|
|
3050
|
+
}
|
|
3051
|
+
/** Accepted recovery objectives for the first rollout. */
|
|
3052
|
+
declare const MEMBER_SYSTEM_RECOVERY_OBJECTIVES: MemberSystemRecoveryObjectives;
|
|
3053
|
+
/** Candidate legacy or external row considered for migration. */
|
|
3054
|
+
interface MemberSystemMigrationRow {
|
|
3055
|
+
id: string;
|
|
3056
|
+
source: "silver_salt_current" | "external_reimport" | "synthetic_fixture";
|
|
3057
|
+
isRealPerson: boolean;
|
|
3058
|
+
provenance?: string;
|
|
3059
|
+
}
|
|
3060
|
+
/** Import, fixture-only, and rejected row identifiers. */
|
|
3061
|
+
interface MemberSystemMigrationPlan {
|
|
3062
|
+
importIds: string[];
|
|
3063
|
+
fixtureIds: string[];
|
|
3064
|
+
rejectedIds: string[];
|
|
3065
|
+
}
|
|
3066
|
+
/** Existing Silver & Salt rows never migrate; external real contacts need provenance. */
|
|
3067
|
+
declare function planMemberSystemMigration(rows: readonly MemberSystemMigrationRow[]): MemberSystemMigrationPlan;
|
|
3068
|
+
/** Non-destructive actions used to stop and reconcile the rollout. */
|
|
3069
|
+
interface MemberSystemRollbackPlan {
|
|
3070
|
+
stopNetworkWrites: true;
|
|
3071
|
+
disableBnfMemberMutations: true;
|
|
3072
|
+
keepChapterProductionReads: true;
|
|
3073
|
+
keepStripeBillingAuthority: true;
|
|
3074
|
+
deleteProviderObjects: false;
|
|
3075
|
+
reverseProviderPayments: false;
|
|
3076
|
+
reconciliationRequired: true;
|
|
3077
|
+
}
|
|
3078
|
+
/** Produce the non-destructive rollback contract. */
|
|
3079
|
+
declare function memberSystemRollbackPlan(): MemberSystemRollbackPlan;
|
|
3080
|
+
/** Synthetic-only inventory. Counts describe current development rows, not members. */
|
|
3081
|
+
declare const SILVER_SALT_P0_FIXTURE: {
|
|
3082
|
+
readonly sourceInventory: {
|
|
3083
|
+
readonly applications: 36;
|
|
3084
|
+
readonly meetings: 7;
|
|
3085
|
+
readonly emails: 49;
|
|
3086
|
+
readonly realPeople: 0;
|
|
3087
|
+
};
|
|
3088
|
+
readonly application: {
|
|
3089
|
+
readonly id: "fixture_application_001";
|
|
3090
|
+
readonly personId: "fixture_person_001";
|
|
3091
|
+
readonly migrates: false;
|
|
3092
|
+
};
|
|
3093
|
+
readonly crm: {
|
|
3094
|
+
readonly recordId: "fixture_crm_001";
|
|
3095
|
+
readonly email: "fixture.member@example.invalid";
|
|
3096
|
+
readonly migrates: false;
|
|
3097
|
+
};
|
|
3098
|
+
readonly clerk: {
|
|
3099
|
+
readonly userId: "user_fixture_001";
|
|
3100
|
+
readonly verifiedEmail: "fixture.member@example.invalid";
|
|
3101
|
+
readonly migrates: false;
|
|
3102
|
+
};
|
|
3103
|
+
readonly stripe: {
|
|
3104
|
+
readonly customerId: "cus_fixture_001";
|
|
3105
|
+
readonly subscriptionId: "sub_fixture_001";
|
|
3106
|
+
readonly productId: "prod_fixture_001";
|
|
3107
|
+
readonly priceId: "price_fixture_001";
|
|
3108
|
+
readonly eventId: "evt_fixture_001";
|
|
3109
|
+
readonly migrates: false;
|
|
3110
|
+
};
|
|
3111
|
+
readonly unmatchedStripeEvent: {
|
|
3112
|
+
readonly id: "evt_fixture_unmatched";
|
|
3113
|
+
readonly disposition: "quarantine_unmatched";
|
|
3114
|
+
};
|
|
3115
|
+
readonly legacyStripeEvent: {
|
|
3116
|
+
readonly id: "evt_fixture_legacy";
|
|
3117
|
+
readonly requiresProvenLocalLink: true;
|
|
3118
|
+
};
|
|
3119
|
+
};
|
|
3120
|
+
|
|
3121
|
+
export { ADMISSION_GRANTS_PATH, ADMISSION_GRANTS_SCHEMA_VERSION, type AccountModel, type AdminNotificationTrigger, type AdmissionDecision, type AdmissionGrantDocument, type AdmissionGrantEnvelope, type AdmissionGrantInput, type AdmissionGrantReceipt, type AdmissionGrantRejection, type AdmissionGrantRevisionRow, type AdmissionGrantRow, type AdmissionGrantValidation, type Applicant, type ApplicationBookingPatch, type ApplicationRecord, type ApplicationSummary, type Attr, type AttrType, BUILDER_LIBRARY_ADMIN_PATH, BUILDER_LIBRARY_CONTROL_PATH, BUILDER_LIBRARY_MANIFEST_PATH, BUILDER_LIBRARY_PROMOTE_PATH, BUILDER_LIBRARY_SCHEMA_VERSION, type BuilderLibraryBrandAssetRef, type BuilderLibraryDocument, type BuilderLibraryEnvelope, type BuilderLibraryManifest, type BuilderLibraryPromotionProvenance, type BuilderLibraryReceipt, type BuilderLibraryResource, type BuilderLibraryResourceKind, type BuilderLibraryResourceProvenance, type BuilderLibraryResourceStatus, type BuilderLibraryScope, type BuilderLibrarySource, type BuilderLibrarySourceType, type BuilderLibraryTarget, type BuilderLibraryValidationOptions, type BuilderLibraryValidationResult, type BuilderLibraryViewer, type BuyerGiftClaim, CHAPTER_FLOW_FIELDS_SCHEMA_VERSION, CHAPTER_PROMOTION_ADAPTER, type Chapter, type ChapterApplication, type ChapterAuth, type ChapterBrand, type ChapterBuilderLibrary, type ChapterConfig, type ChapterCopy, type ChapterCopyInput, type ChapterDb, type ChapterEmailIdentity, type ChapterEmails, type ChapterFieldFlow, type ChapterFlowField, type ChapterFlowFieldContract, type ChapterIntegrationDescriptor, type ChapterIntegrationOptions, type ChapterMemberContent, type ChapterMode, type ChapterNetwork, type ChapterNetworkReader, type ChapterNetworkTarget, type ChapterOperations, type ChapterPipeline, type ChapterPolicy, type ChapterPrices, type ChapterPromotionInput, type ChapterRunbookHints, type ChapterScheduling, type ChapterSends, type ChapterSignupControl, type ChapterTier, type ChapterTierConfig, type ClerkInviteInput, type ClerkMetadataInput, type ClerkResult, type ClerkUserInput, type ClerkUserRecord, type CompiledChapterBrandTokens, DEFAULT_CHAPTER_COPY, DEFAULT_SHARE_FIELDS, type DashboardMetricData, type DashboardMetricSeries, type DbOp, type DbRules, type DbSchema, type DeliveryDecision, type EffectiveMemberContent, type EffectiveMemberContentPage, type EmailGroup, type EmailTemplate, type EmailTemplateRow, type Entity, type ExistingMeeting, GIFT_OFFER_CATALOG_VERSION, type GiftOffer, type GiftOfferCatalog, type GiftOfferTarget, type GiftOfferValidation, type GuardResult, type IntegrationDescriptor, type IntegrationProvision, type IntegrationSecret, type IntegrationSetting, type IntegrationSync, JOURNEY_ENDINGS, JOURNEY_STAGES, type JoinConfigGroup, type JoinConfigTier, type JoinContinuation, type JourneyEnding, type JourneyStage, type LeaderCrmOptions, type LeaderFormationConfig, type LiveEvent, MAX_GIFT_OFFERS, MEMBERSHIP_PAGE_RENDERER, MEMBER_CONTENT_CONTROL_PATH, MEMBER_CONTENT_PATH, MEMBER_CONTENT_SCHEMA_VERSION, MEMBER_SELF_EDITABLE_FIELDS, MEMBER_SELF_READABLE_FIELDS, MEMBER_SYSTEM_AUTHORITY_MATRIX, MEMBER_SYSTEM_CONTRACT_VERSION, MEMBER_SYSTEM_RECOVERY_OBJECTIVES, type MailSender, type MeetingForReconcile, type MeetingRecord, type MeetingReschedulePatch, type MemberApplication, type MemberAuthorityValidation, type MemberContentDocument, type MemberContentEnvelope, type MemberContentPage, type MemberContentPageProjection, type MemberContentProjection, type MemberContentReceipt, type MemberContentRejection, type MemberContentSource, type MemberContentSourceType, type MemberContentTarget, type MemberContentTierAuthority, type MemberContentValidationOptions, type MemberContentValidationResult, type MemberContentViewer, type MemberFieldAuthority, type MemberFieldSelfAccess, type MemberFieldSensitivity, type MemberPageAudience, type MemberPageNavigation, type MemberPageUpsell, type MemberPageUpsellOffer, type MemberPageUpsellOverride, type MemberSession, type MemberStripeDisposition, type MemberStripeIdentity, type MemberStripeTarget, type MemberSystemAvailability, type MemberSystemAvailabilityInput, type MemberSystemEventReceiptInput, type MemberSystemEventReplayPlan, type MemberSystemMigrationPlan, type MemberSystemMigrationRow, type MemberSystemProjection, type MemberSystemRecoveryObjectives, type MemberSystemRollbackPlan, type MemberSystemScope, type MemberSystemWriteDisposition, type MemberSystemWriteIntent, type MemberSystemWriter, type MembershipPageDocument, type MembershipPageValidationOptions, type MembershipPageValidationResult, type MembershipTierAuthority, type MembershipTierCallout, type MembershipTierCapacity, type MembershipTierMarkdownResult, type MembershipTierPresentation, type MembershipTierVariant, type NetworkEditableField, type NetworkRecord, type NetworkRecordEdit, type NetworkRecordMutation, type NetworkRecordMutationResult, type NetworkRecordNote, type NetworkRecordPage, type NetworkRollup, type NetworkRollupTarget, type NetworkSharedNote, type NetworkSnapshot, type NetworkStageTransition, type NetworkTargetTransportStatus, type NewMeetingRow, type NotifyDeps, type NotifyInput, type NotifyResult, type PaymentsGroup, type ProjectionDeps, type PublicGiftOffer, REQUIRED_NOTICE_KINDS, type ReconcileDecision, type RequiredNoticeKind, type ResolvedApplication, type ResolvedAuth, type ResolvedBuilderLibrary, type ResolvedLeaderFormation, type ResolvedMemberContent, type ResolvedMemberPageUpsell, type ResolvedNetwork, type ResolvedNetworkReader, type ResolvedNetworkTarget, type ResolvedOperations, type ResolvedPipeline, type ResolvedScheduling, type ResolvedSends, type ResolvedSignupControl, type RoleChangeContext, type Rule, SCHEDULING_DEFAULTS, SIGNUP_CONTROL_PATH, SIGNUP_CONTROL_SCHEMA_VERSION, SIGNUP_CONTROL_THEME_MARKER, SIGNUP_CONTROL_THEME_STYLE_ID, SILVER_SALT_P0_FIXTURE, type SchedulingErrors, type SecretMode, type SecretStore, type SessionUser, type SharedBusiness, type SharedPerson, type SharedRecord, type SharedRecordV1, type SharedRecordV2, type SignupControlApplication, type SignupControlDocument, type SignupControlEnvelope, type SignupControlPolicy, type SignupControlReceipt, type SignupControlRejection, type SignupControlTheme, type SignupControlThemeHead, type SignupControlThemeMetadata, type SignupControlThemeOptions, type SignupControlThemeRevision, type SignupControlThemeStyleTarget, type SignupControlTier, type SignupControlValidation, type StripeEvent, type StripeResult, type SubmitResult, type TierGroup, type TierGroupRow, type WebhookEvent, applicantProfile, applicationBookingUpdate, applicationFlowFields, applicationSummary, applyMembershipTierMarkdown, backfillCrm, bookingDecision, brandTokens, bucketSeries, buildBuilderLibraryManifest, buildGroupSeed, buildTierSeeds, builderLibraryDigest, canApprove, canBook, canChangeRole, canTransition, canViewBuilderLibraryResource, canceledPatch, canonicalBuilderLibrary, canonicalMemberContent, canonicalSignupControl, chapterBrandFromTokens, chapterDb, chapterFlowFieldContract, clampArray, classifyMemberStripeEvent, classifyMemberSystemWrite, clerkGetUser, clerkGetUserByEmail, clerkIntegration, clerkInviteRequest, clerkListUsers, clerkSetRole, clerkUserRequest, composeMemberContent, createAdmissionGrantEnvelope, createBuilderLibraryEnvelope, createChapterIntegration, createClerkInvitation, createClerkUser, createMemberContentEnvelope, createSignupControlEnvelope, dashboardMetricData, defaultCrm, defineChapter, emailGroupFrom, endForSlot, exportChapterPromotion, findAdmissionGrant, findApplicationRef, findGiftOffer, findTier, firstPaymentPatch, formatChapterCopy, formationFields, formationFlowFields, getVaultSecret, giftOfferActive, hasDisclaimerAck, hydrateSignupControlTheme, injectSignupControlThemeHead, introIdempotencyKey, isAdminRole, isAlreadySent, isReconcilable, isSlotAvailable, isValidEmail, joinConfig, joinConfigTiers, leaderCrmConfig, loadLatestAdmissionRevision, loadOfferableTiers, loadTiers, materializeAdmissionGrants, meetingCreateRow, meetingRescheduleUpdate, memberApplication, memberContentDigest, memberContentDocument, memberSession, memberSystemAvailability, memberSystemRollbackPlan, membershipPageDocument, membershipTierPresentationFromMarkdown, networkSourceTag, normalizeAdmissionEmail, normalizeChapterEmail, normalizeSharedRecord, normalizeWebhookEvent, offerableTiers, paymentsReady, personInputFromApp, planDelivery, planMemberSystemEventReplay, planMemberSystemMigration, projectApplicant, projectBuilderLibraryDelivery, projectMemberContent, projectMemberSelf, projectSharedRecord, promoteBuilderLibraryResource, publicGiftOffers, reconcileMeetings, refundedPatch, render, renderSignupControlThemeHead, renderSummary, renderTemplateBody, renewalPatch, resolveApplication, resolveAuth, resolveBuilderLibrary, resolveChapterCopy, resolveJoinContinuation, resolveLeaderFormation, resolveMemberContent, resolvePipeline, resolveScheduling, resolveSignupControl, resolveTiers, roleFromClaim, sendTemplated, sharedPersonInput, sharedRecordFromCrm, signupControlDigest, slotWindow, stageIndex, stripeCall, subAnnualCents, submitApplication, subscriptionIdempotencyKey, syncApplicationToCrm, tierIsFree, tierPayable, updateClerkUserMetadata, updateClerkUserMetadataByEmail, validateAdmissionGrantDocument, validateBuilderLibraryDocument, validateGiftOfferCatalog, validateMemberContentDocument, validateMemberSystemAuthority, validateMembershipPageDocument, validateScheduling, validateSignupControlDocument, webhookMutationId };
|
package/dist/index.d.ts
CHANGED
|
@@ -963,7 +963,8 @@ declare function createChapterIntegration(chapter: Chapter, options?: ChapterInt
|
|
|
963
963
|
* "table"` adds the `admins` allowlist (hub/BNF); `superAdmins` adds the
|
|
964
964
|
* read-only super-admin tier (default on for the `"claim"` ladder). A `"claim"`
|
|
965
965
|
* chapter therefore emits the reference namespace set — `applications`,
|
|
966
|
-
* `groups`, `meetings`, `emailLog`, `superAdmins` — with
|
|
966
|
+
* `groups`, `meetings`, `emailLog`, `stripeEventReceipts`, `superAdmins` — with
|
|
967
|
+
* no `admins` table. */
|
|
967
968
|
declare function chapterDb(mode: ChapterMode, auth: ResolvedAuth, includeNetworkNotes?: boolean, application?: ResolvedApplication, includeSignupControl?: boolean, includeMemberContent?: boolean, includeBuilderLibrary?: boolean, includeLeaderAdmissions?: boolean): {
|
|
968
969
|
schema: DbSchema;
|
|
969
970
|
rules: DbRules;
|
|
@@ -1531,8 +1532,9 @@ declare function paymentsReady(group: PaymentsGroup, hasSecretKey: boolean): boo
|
|
|
1531
1532
|
/** The Stripe idempotency key for creating an application's subscription — one
|
|
1532
1533
|
* per application, so a client retry can't orphan a second subscription. */
|
|
1533
1534
|
declare function subscriptionIdempotencyKey(applicationId: string): string;
|
|
1534
|
-
/** The db mutationId for a webhook-driven write
|
|
1535
|
-
*
|
|
1535
|
+
/** The db mutationId for a webhook-driven application write. A separate signed
|
|
1536
|
+
* event receipt fences replays and event-id collisions across every write in
|
|
1537
|
+
* the route; this id keeps the application mutation itself idempotent. */
|
|
1536
1538
|
declare function webhookMutationId(eventId: string): string;
|
|
1537
1539
|
/** A raw Stripe event, as far as normalization cares. */
|
|
1538
1540
|
interface StripeEvent {
|
|
@@ -1578,6 +1580,7 @@ type WebhookEvent = ({
|
|
|
1578
1580
|
environment?: string;
|
|
1579
1581
|
dataEnvironment?: string;
|
|
1580
1582
|
runtime?: string;
|
|
1583
|
+
chapterId?: string;
|
|
1581
1584
|
};
|
|
1582
1585
|
/** Resolve the application reference on a Stripe object: `applicationId` from
|
|
1583
1586
|
* metadata (direct, then subscription_details, then nested
|
|
@@ -1589,6 +1592,7 @@ declare function findApplicationRef(obj: Record<string, unknown>): {
|
|
|
1589
1592
|
environment?: string;
|
|
1590
1593
|
dataEnvironment?: string;
|
|
1591
1594
|
runtime?: string;
|
|
1595
|
+
chapterId?: string;
|
|
1592
1596
|
};
|
|
1593
1597
|
/** Normalize a verified Stripe event into a {@link WebhookEvent}. `invoice.paid`
|
|
1594
1598
|
* splits into first_payment vs renewal by `billing_reason`; refunds and
|
|
@@ -2926,4 +2930,192 @@ interface ChapterPromotionInput {
|
|
|
2926
2930
|
/** Export the provider-independent pieces of one exact active signup revision. */
|
|
2927
2931
|
declare function exportChapterPromotion(input: ChapterPromotionInput): Promise<PromotionAdapterResult>;
|
|
2928
2932
|
|
|
2929
|
-
|
|
2933
|
+
/** Storage boundary for a member-system field. */
|
|
2934
|
+
type MemberSystemScope = "network" | "chapter" | "provider";
|
|
2935
|
+
/** Durable authority allowed to write a member-system field. */
|
|
2936
|
+
type MemberSystemWriter = "network_person" | "chapter_journey" | "network_membership" | "network_entitlement" | "network_seat" | "network_discount_policy" | "network_referral_ledger" | "network_investment_ledger" | "network_commercial_projection" | "clerk" | "stripe";
|
|
2937
|
+
/** Read model that may receive an allowlisted field. */
|
|
2938
|
+
type MemberSystemProjection = "bnf_admin" | "chapter_admin" | "chapter_crm" | "member_self_service" | "stripe_billing" | "clerk_identity";
|
|
2939
|
+
/** Privacy classification used by projection policy. */
|
|
2940
|
+
type MemberFieldSensitivity = "ordinary" | "pii" | "sensitive" | "restricted";
|
|
2941
|
+
/** Access a member has to her own projected field. */
|
|
2942
|
+
type MemberFieldSelfAccess = "edit" | "read" | "none";
|
|
2943
|
+
/** One field's scope, writer, projections, sensitivity, and self-service access. */
|
|
2944
|
+
interface MemberFieldAuthority {
|
|
2945
|
+
id: string;
|
|
2946
|
+
scope: MemberSystemScope;
|
|
2947
|
+
writer: MemberSystemWriter;
|
|
2948
|
+
projections: readonly MemberSystemProjection[];
|
|
2949
|
+
sensitivity: MemberFieldSensitivity;
|
|
2950
|
+
memberAccess: MemberFieldSelfAccess;
|
|
2951
|
+
}
|
|
2952
|
+
/** Each field has one durable writer. BNF is an operator projection, never a writer. */
|
|
2953
|
+
declare const MEMBER_SYSTEM_AUTHORITY_MATRIX: readonly MemberFieldAuthority[];
|
|
2954
|
+
/** Fields a member may change through self-service. */
|
|
2955
|
+
declare const MEMBER_SELF_EDITABLE_FIELDS: Set<string>;
|
|
2956
|
+
/** Fields that may appear in a member self-service response. */
|
|
2957
|
+
declare const MEMBER_SELF_READABLE_FIELDS: Set<string>;
|
|
2958
|
+
/** Serialize only the explicit member self-service allowlist. */
|
|
2959
|
+
declare function projectMemberSelf(record: Readonly<Record<string, unknown>>): Record<string, unknown>;
|
|
2960
|
+
/** Proposed field mutation with optimistic-revision evidence. */
|
|
2961
|
+
interface MemberSystemWriteIntent {
|
|
2962
|
+
field: string;
|
|
2963
|
+
actor: MemberSystemWriter | "bnf";
|
|
2964
|
+
expectedRevision: number;
|
|
2965
|
+
actualRevision: number;
|
|
2966
|
+
}
|
|
2967
|
+
/** Result of checking a proposed mutation against surface, writer, and revision rules. */
|
|
2968
|
+
type MemberSystemWriteDisposition = "apply" | "reject_bnf_surface" | "reject_unknown_field" | "reject_wrong_writer" | "reject_stale_revision";
|
|
2969
|
+
/** Reject BNF, wrong-writer, unknown-field, and stale-revision mutations. */
|
|
2970
|
+
declare function classifyMemberSystemWrite(intent: MemberSystemWriteIntent): MemberSystemWriteDisposition;
|
|
2971
|
+
/** Result of validating an authority matrix. */
|
|
2972
|
+
interface MemberAuthorityValidation {
|
|
2973
|
+
ok: boolean;
|
|
2974
|
+
errors: string[];
|
|
2975
|
+
}
|
|
2976
|
+
/** Validate uniqueness, self-service projection, and aggregate scope invariants. */
|
|
2977
|
+
declare function validateMemberSystemAuthority(matrix?: readonly MemberFieldAuthority[]): MemberAuthorityValidation;
|
|
2978
|
+
|
|
2979
|
+
/** Provider-free lifecycle contract for the network member system. */
|
|
2980
|
+
declare const MEMBER_SYSTEM_CONTRACT_VERSION: 1;
|
|
2981
|
+
|
|
2982
|
+
/** Ordered chapter Journey stages from first identification through first deal. */
|
|
2983
|
+
declare const JOURNEY_STAGES: readonly ["identified", "researched", "outreach", "in_conversation", "invited_or_requested", "application_started", "applied", "paid_awaiting_conversation", "ready_to_book", "booked", "met", "approved", "onboarded", "active", "first_deal"];
|
|
2984
|
+
/** A chapter Journey stage. */
|
|
2985
|
+
type JourneyStage = typeof JOURNEY_STAGES[number];
|
|
2986
|
+
/** Terminal Journey outcomes; refunds remain commercial events. */
|
|
2987
|
+
declare const JOURNEY_ENDINGS: readonly ["passed", "declined", "withdrew", "lapsed"];
|
|
2988
|
+
/** A terminal chapter Journey outcome. */
|
|
2989
|
+
type JourneyEnding = typeof JOURNEY_ENDINGS[number];
|
|
2990
|
+
/** Required notice categories that may bypass discretionary contact suppression. */
|
|
2991
|
+
declare const REQUIRED_NOTICE_KINDS: readonly ["payment_receipt", "refund_confirmation", "security_alert", "legal_notice", "membership_status", "renewal_notice", "cancellation_confirmation"];
|
|
2992
|
+
/** A typed required notice allowed despite discretionary contact suppression. */
|
|
2993
|
+
type RequiredNoticeKind = typeof REQUIRED_NOTICE_KINDS[number];
|
|
2994
|
+
/** Availability inputs that distinguish the BNF UI from the odla data plane. */
|
|
2995
|
+
interface MemberSystemAvailabilityInput {
|
|
2996
|
+
odlaReachable: boolean;
|
|
2997
|
+
bnfFrontendReachable: boolean;
|
|
2998
|
+
}
|
|
2999
|
+
/** Capabilities allowed at the current BNF and odla availability state. */
|
|
3000
|
+
interface MemberSystemAvailability {
|
|
3001
|
+
bnfAdministration: boolean;
|
|
3002
|
+
chapterWorkflow: boolean;
|
|
3003
|
+
memberSelfService: boolean;
|
|
3004
|
+
newApplication: boolean;
|
|
3005
|
+
newCheckout: boolean;
|
|
3006
|
+
providerRenewalsMayContinue: true;
|
|
3007
|
+
reason?: "odla_unavailable" | "bnf_frontend_unavailable";
|
|
3008
|
+
}
|
|
3009
|
+
/** BNF is optional for chapter execution; odla is not. */
|
|
3010
|
+
declare function memberSystemAvailability(input: MemberSystemAvailabilityInput): MemberSystemAvailability;
|
|
3011
|
+
/** Partition metadata supplied by a verified Stripe event. */
|
|
3012
|
+
interface MemberStripeIdentity {
|
|
3013
|
+
appId?: string;
|
|
3014
|
+
environment?: string;
|
|
3015
|
+
dataEnvironment?: string;
|
|
3016
|
+
runtime?: string;
|
|
3017
|
+
chapterId?: string;
|
|
3018
|
+
}
|
|
3019
|
+
/** Exact app, environment, runtime, and chapter partition expected by a consumer. */
|
|
3020
|
+
interface MemberStripeTarget {
|
|
3021
|
+
appId: string;
|
|
3022
|
+
environment: string;
|
|
3023
|
+
dataEnvironment: string;
|
|
3024
|
+
runtime: string;
|
|
3025
|
+
chapterId: string;
|
|
3026
|
+
}
|
|
3027
|
+
/** Safe handling of a verified Stripe event after partition checks. */
|
|
3028
|
+
type MemberStripeDisposition = "apply" | "apply_legacy" | "ignore_sibling" | "quarantine_unmatched";
|
|
3029
|
+
/** Partition verified Stripe events before any lookup or write. */
|
|
3030
|
+
declare function classifyMemberStripeEvent(identity: MemberStripeIdentity, target: MemberStripeTarget, hasProvenLegacyLocalLink: boolean): MemberStripeDisposition;
|
|
3031
|
+
/** Stable provider-event identity and content digest used for replay. */
|
|
3032
|
+
interface MemberSystemEventReceiptInput {
|
|
3033
|
+
id: string;
|
|
3034
|
+
digest: string;
|
|
3035
|
+
}
|
|
3036
|
+
/** Accepted, duplicate, and colliding provider-event identifiers. */
|
|
3037
|
+
interface MemberSystemEventReplayPlan {
|
|
3038
|
+
accepted: string[];
|
|
3039
|
+
replayed: string[];
|
|
3040
|
+
collisions: string[];
|
|
3041
|
+
}
|
|
3042
|
+
/** Plan provider-event replay by stable identifier and digest. */
|
|
3043
|
+
declare function planMemberSystemEventReplay(events: readonly MemberSystemEventReceiptInput[]): MemberSystemEventReplayPlan;
|
|
3044
|
+
/** Fail-closed and replay targets for restoring the member-system projection. */
|
|
3045
|
+
interface MemberSystemRecoveryObjectives {
|
|
3046
|
+
failClosedWithinMs: 0;
|
|
3047
|
+
replayProjectionWithinMinutes: number;
|
|
3048
|
+
providerEventsRemainReplayable: true;
|
|
3049
|
+
requireHumanReviewForCollision: true;
|
|
3050
|
+
}
|
|
3051
|
+
/** Accepted recovery objectives for the first rollout. */
|
|
3052
|
+
declare const MEMBER_SYSTEM_RECOVERY_OBJECTIVES: MemberSystemRecoveryObjectives;
|
|
3053
|
+
/** Candidate legacy or external row considered for migration. */
|
|
3054
|
+
interface MemberSystemMigrationRow {
|
|
3055
|
+
id: string;
|
|
3056
|
+
source: "silver_salt_current" | "external_reimport" | "synthetic_fixture";
|
|
3057
|
+
isRealPerson: boolean;
|
|
3058
|
+
provenance?: string;
|
|
3059
|
+
}
|
|
3060
|
+
/** Import, fixture-only, and rejected row identifiers. */
|
|
3061
|
+
interface MemberSystemMigrationPlan {
|
|
3062
|
+
importIds: string[];
|
|
3063
|
+
fixtureIds: string[];
|
|
3064
|
+
rejectedIds: string[];
|
|
3065
|
+
}
|
|
3066
|
+
/** Existing Silver & Salt rows never migrate; external real contacts need provenance. */
|
|
3067
|
+
declare function planMemberSystemMigration(rows: readonly MemberSystemMigrationRow[]): MemberSystemMigrationPlan;
|
|
3068
|
+
/** Non-destructive actions used to stop and reconcile the rollout. */
|
|
3069
|
+
interface MemberSystemRollbackPlan {
|
|
3070
|
+
stopNetworkWrites: true;
|
|
3071
|
+
disableBnfMemberMutations: true;
|
|
3072
|
+
keepChapterProductionReads: true;
|
|
3073
|
+
keepStripeBillingAuthority: true;
|
|
3074
|
+
deleteProviderObjects: false;
|
|
3075
|
+
reverseProviderPayments: false;
|
|
3076
|
+
reconciliationRequired: true;
|
|
3077
|
+
}
|
|
3078
|
+
/** Produce the non-destructive rollback contract. */
|
|
3079
|
+
declare function memberSystemRollbackPlan(): MemberSystemRollbackPlan;
|
|
3080
|
+
/** Synthetic-only inventory. Counts describe current development rows, not members. */
|
|
3081
|
+
declare const SILVER_SALT_P0_FIXTURE: {
|
|
3082
|
+
readonly sourceInventory: {
|
|
3083
|
+
readonly applications: 36;
|
|
3084
|
+
readonly meetings: 7;
|
|
3085
|
+
readonly emails: 49;
|
|
3086
|
+
readonly realPeople: 0;
|
|
3087
|
+
};
|
|
3088
|
+
readonly application: {
|
|
3089
|
+
readonly id: "fixture_application_001";
|
|
3090
|
+
readonly personId: "fixture_person_001";
|
|
3091
|
+
readonly migrates: false;
|
|
3092
|
+
};
|
|
3093
|
+
readonly crm: {
|
|
3094
|
+
readonly recordId: "fixture_crm_001";
|
|
3095
|
+
readonly email: "fixture.member@example.invalid";
|
|
3096
|
+
readonly migrates: false;
|
|
3097
|
+
};
|
|
3098
|
+
readonly clerk: {
|
|
3099
|
+
readonly userId: "user_fixture_001";
|
|
3100
|
+
readonly verifiedEmail: "fixture.member@example.invalid";
|
|
3101
|
+
readonly migrates: false;
|
|
3102
|
+
};
|
|
3103
|
+
readonly stripe: {
|
|
3104
|
+
readonly customerId: "cus_fixture_001";
|
|
3105
|
+
readonly subscriptionId: "sub_fixture_001";
|
|
3106
|
+
readonly productId: "prod_fixture_001";
|
|
3107
|
+
readonly priceId: "price_fixture_001";
|
|
3108
|
+
readonly eventId: "evt_fixture_001";
|
|
3109
|
+
readonly migrates: false;
|
|
3110
|
+
};
|
|
3111
|
+
readonly unmatchedStripeEvent: {
|
|
3112
|
+
readonly id: "evt_fixture_unmatched";
|
|
3113
|
+
readonly disposition: "quarantine_unmatched";
|
|
3114
|
+
};
|
|
3115
|
+
readonly legacyStripeEvent: {
|
|
3116
|
+
readonly id: "evt_fixture_legacy";
|
|
3117
|
+
readonly requiresProvenLocalLink: true;
|
|
3118
|
+
};
|
|
3119
|
+
};
|
|
3120
|
+
|
|
3121
|
+
export { ADMISSION_GRANTS_PATH, ADMISSION_GRANTS_SCHEMA_VERSION, type AccountModel, type AdminNotificationTrigger, type AdmissionDecision, type AdmissionGrantDocument, type AdmissionGrantEnvelope, type AdmissionGrantInput, type AdmissionGrantReceipt, type AdmissionGrantRejection, type AdmissionGrantRevisionRow, type AdmissionGrantRow, type AdmissionGrantValidation, type Applicant, type ApplicationBookingPatch, type ApplicationRecord, type ApplicationSummary, type Attr, type AttrType, BUILDER_LIBRARY_ADMIN_PATH, BUILDER_LIBRARY_CONTROL_PATH, BUILDER_LIBRARY_MANIFEST_PATH, BUILDER_LIBRARY_PROMOTE_PATH, BUILDER_LIBRARY_SCHEMA_VERSION, type BuilderLibraryBrandAssetRef, type BuilderLibraryDocument, type BuilderLibraryEnvelope, type BuilderLibraryManifest, type BuilderLibraryPromotionProvenance, type BuilderLibraryReceipt, type BuilderLibraryResource, type BuilderLibraryResourceKind, type BuilderLibraryResourceProvenance, type BuilderLibraryResourceStatus, type BuilderLibraryScope, type BuilderLibrarySource, type BuilderLibrarySourceType, type BuilderLibraryTarget, type BuilderLibraryValidationOptions, type BuilderLibraryValidationResult, type BuilderLibraryViewer, type BuyerGiftClaim, CHAPTER_FLOW_FIELDS_SCHEMA_VERSION, CHAPTER_PROMOTION_ADAPTER, type Chapter, type ChapterApplication, type ChapterAuth, type ChapterBrand, type ChapterBuilderLibrary, type ChapterConfig, type ChapterCopy, type ChapterCopyInput, type ChapterDb, type ChapterEmailIdentity, type ChapterEmails, type ChapterFieldFlow, type ChapterFlowField, type ChapterFlowFieldContract, type ChapterIntegrationDescriptor, type ChapterIntegrationOptions, type ChapterMemberContent, type ChapterMode, type ChapterNetwork, type ChapterNetworkReader, type ChapterNetworkTarget, type ChapterOperations, type ChapterPipeline, type ChapterPolicy, type ChapterPrices, type ChapterPromotionInput, type ChapterRunbookHints, type ChapterScheduling, type ChapterSends, type ChapterSignupControl, type ChapterTier, type ChapterTierConfig, type ClerkInviteInput, type ClerkMetadataInput, type ClerkResult, type ClerkUserInput, type ClerkUserRecord, type CompiledChapterBrandTokens, DEFAULT_CHAPTER_COPY, DEFAULT_SHARE_FIELDS, type DashboardMetricData, type DashboardMetricSeries, type DbOp, type DbRules, type DbSchema, type DeliveryDecision, type EffectiveMemberContent, type EffectiveMemberContentPage, type EmailGroup, type EmailTemplate, type EmailTemplateRow, type Entity, type ExistingMeeting, GIFT_OFFER_CATALOG_VERSION, type GiftOffer, type GiftOfferCatalog, type GiftOfferTarget, type GiftOfferValidation, type GuardResult, type IntegrationDescriptor, type IntegrationProvision, type IntegrationSecret, type IntegrationSetting, type IntegrationSync, JOURNEY_ENDINGS, JOURNEY_STAGES, type JoinConfigGroup, type JoinConfigTier, type JoinContinuation, type JourneyEnding, type JourneyStage, type LeaderCrmOptions, type LeaderFormationConfig, type LiveEvent, MAX_GIFT_OFFERS, MEMBERSHIP_PAGE_RENDERER, MEMBER_CONTENT_CONTROL_PATH, MEMBER_CONTENT_PATH, MEMBER_CONTENT_SCHEMA_VERSION, MEMBER_SELF_EDITABLE_FIELDS, MEMBER_SELF_READABLE_FIELDS, MEMBER_SYSTEM_AUTHORITY_MATRIX, MEMBER_SYSTEM_CONTRACT_VERSION, MEMBER_SYSTEM_RECOVERY_OBJECTIVES, type MailSender, type MeetingForReconcile, type MeetingRecord, type MeetingReschedulePatch, type MemberApplication, type MemberAuthorityValidation, type MemberContentDocument, type MemberContentEnvelope, type MemberContentPage, type MemberContentPageProjection, type MemberContentProjection, type MemberContentReceipt, type MemberContentRejection, type MemberContentSource, type MemberContentSourceType, type MemberContentTarget, type MemberContentTierAuthority, type MemberContentValidationOptions, type MemberContentValidationResult, type MemberContentViewer, type MemberFieldAuthority, type MemberFieldSelfAccess, type MemberFieldSensitivity, type MemberPageAudience, type MemberPageNavigation, type MemberPageUpsell, type MemberPageUpsellOffer, type MemberPageUpsellOverride, type MemberSession, type MemberStripeDisposition, type MemberStripeIdentity, type MemberStripeTarget, type MemberSystemAvailability, type MemberSystemAvailabilityInput, type MemberSystemEventReceiptInput, type MemberSystemEventReplayPlan, type MemberSystemMigrationPlan, type MemberSystemMigrationRow, type MemberSystemProjection, type MemberSystemRecoveryObjectives, type MemberSystemRollbackPlan, type MemberSystemScope, type MemberSystemWriteDisposition, type MemberSystemWriteIntent, type MemberSystemWriter, type MembershipPageDocument, type MembershipPageValidationOptions, type MembershipPageValidationResult, type MembershipTierAuthority, type MembershipTierCallout, type MembershipTierCapacity, type MembershipTierMarkdownResult, type MembershipTierPresentation, type MembershipTierVariant, type NetworkEditableField, type NetworkRecord, type NetworkRecordEdit, type NetworkRecordMutation, type NetworkRecordMutationResult, type NetworkRecordNote, type NetworkRecordPage, type NetworkRollup, type NetworkRollupTarget, type NetworkSharedNote, type NetworkSnapshot, type NetworkStageTransition, type NetworkTargetTransportStatus, type NewMeetingRow, type NotifyDeps, type NotifyInput, type NotifyResult, type PaymentsGroup, type ProjectionDeps, type PublicGiftOffer, REQUIRED_NOTICE_KINDS, type ReconcileDecision, type RequiredNoticeKind, type ResolvedApplication, type ResolvedAuth, type ResolvedBuilderLibrary, type ResolvedLeaderFormation, type ResolvedMemberContent, type ResolvedMemberPageUpsell, type ResolvedNetwork, type ResolvedNetworkReader, type ResolvedNetworkTarget, type ResolvedOperations, type ResolvedPipeline, type ResolvedScheduling, type ResolvedSends, type ResolvedSignupControl, type RoleChangeContext, type Rule, SCHEDULING_DEFAULTS, SIGNUP_CONTROL_PATH, SIGNUP_CONTROL_SCHEMA_VERSION, SIGNUP_CONTROL_THEME_MARKER, SIGNUP_CONTROL_THEME_STYLE_ID, SILVER_SALT_P0_FIXTURE, type SchedulingErrors, type SecretMode, type SecretStore, type SessionUser, type SharedBusiness, type SharedPerson, type SharedRecord, type SharedRecordV1, type SharedRecordV2, type SignupControlApplication, type SignupControlDocument, type SignupControlEnvelope, type SignupControlPolicy, type SignupControlReceipt, type SignupControlRejection, type SignupControlTheme, type SignupControlThemeHead, type SignupControlThemeMetadata, type SignupControlThemeOptions, type SignupControlThemeRevision, type SignupControlThemeStyleTarget, type SignupControlTier, type SignupControlValidation, type StripeEvent, type StripeResult, type SubmitResult, type TierGroup, type TierGroupRow, type WebhookEvent, applicantProfile, applicationBookingUpdate, applicationFlowFields, applicationSummary, applyMembershipTierMarkdown, backfillCrm, bookingDecision, brandTokens, bucketSeries, buildBuilderLibraryManifest, buildGroupSeed, buildTierSeeds, builderLibraryDigest, canApprove, canBook, canChangeRole, canTransition, canViewBuilderLibraryResource, canceledPatch, canonicalBuilderLibrary, canonicalMemberContent, canonicalSignupControl, chapterBrandFromTokens, chapterDb, chapterFlowFieldContract, clampArray, classifyMemberStripeEvent, classifyMemberSystemWrite, clerkGetUser, clerkGetUserByEmail, clerkIntegration, clerkInviteRequest, clerkListUsers, clerkSetRole, clerkUserRequest, composeMemberContent, createAdmissionGrantEnvelope, createBuilderLibraryEnvelope, createChapterIntegration, createClerkInvitation, createClerkUser, createMemberContentEnvelope, createSignupControlEnvelope, dashboardMetricData, defaultCrm, defineChapter, emailGroupFrom, endForSlot, exportChapterPromotion, findAdmissionGrant, findApplicationRef, findGiftOffer, findTier, firstPaymentPatch, formatChapterCopy, formationFields, formationFlowFields, getVaultSecret, giftOfferActive, hasDisclaimerAck, hydrateSignupControlTheme, injectSignupControlThemeHead, introIdempotencyKey, isAdminRole, isAlreadySent, isReconcilable, isSlotAvailable, isValidEmail, joinConfig, joinConfigTiers, leaderCrmConfig, loadLatestAdmissionRevision, loadOfferableTiers, loadTiers, materializeAdmissionGrants, meetingCreateRow, meetingRescheduleUpdate, memberApplication, memberContentDigest, memberContentDocument, memberSession, memberSystemAvailability, memberSystemRollbackPlan, membershipPageDocument, membershipTierPresentationFromMarkdown, networkSourceTag, normalizeAdmissionEmail, normalizeChapterEmail, normalizeSharedRecord, normalizeWebhookEvent, offerableTiers, paymentsReady, personInputFromApp, planDelivery, planMemberSystemEventReplay, planMemberSystemMigration, projectApplicant, projectBuilderLibraryDelivery, projectMemberContent, projectMemberSelf, projectSharedRecord, promoteBuilderLibraryResource, publicGiftOffers, reconcileMeetings, refundedPatch, render, renderSignupControlThemeHead, renderSummary, renderTemplateBody, renewalPatch, resolveApplication, resolveAuth, resolveBuilderLibrary, resolveChapterCopy, resolveJoinContinuation, resolveLeaderFormation, resolveMemberContent, resolvePipeline, resolveScheduling, resolveSignupControl, resolveTiers, roleFromClaim, sendTemplated, sharedPersonInput, sharedRecordFromCrm, signupControlDigest, slotWindow, stageIndex, stripeCall, subAnnualCents, submitApplication, subscriptionIdempotencyKey, syncApplicationToCrm, tierIsFree, tierPayable, updateClerkUserMetadata, updateClerkUserMetadataByEmail, validateAdmissionGrantDocument, validateBuilderLibraryDocument, validateGiftOfferCatalog, validateMemberContentDocument, validateMemberSystemAuthority, validateMembershipPageDocument, validateScheduling, validateSignupControlDocument, webhookMutationId };
|