@odla-ai/chapter 0.36.0 → 0.38.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.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { CrmConfig, Crm, FieldConditions, TypeDef, FieldDef, TypeSummary, CrmRecord } from '@odla-ai/crm';
1
+ import { CrmConfig, Crm, FieldConditions, TypeDef, FieldType, TypeSummary, CrmRecord } from '@odla-ai/crm';
2
2
  import { StripeRequestResult } from '@odla-ai/stripe';
3
3
  export { stripeForm, verifyStripeSignature } from '@odla-ai/stripe';
4
4
  import { PromotionAdapterResult } from '@odla-ai/promotion';
@@ -182,6 +182,55 @@ interface ResolvedSignupControl {
182
182
  stripeMode: "test" | "live";
183
183
  }
184
184
 
185
+ /** Optional authenticated member-content surface for a chapter site. */
186
+ interface ChapterMemberContent {
187
+ /** Keep Chapter-admin authoring enabled. Defaults to true. */
188
+ localAuthoring?: boolean;
189
+ /** Optional Parent/Built Not Found authority for signed inherited revisions. */
190
+ parent?: {
191
+ sourceId: string;
192
+ /** Follower-vault key holding the dedicated content edge secret. */
193
+ secretName?: string;
194
+ };
195
+ }
196
+ /** Validated member-content settings carried on a resolved Chapter. */
197
+ interface ResolvedMemberContent {
198
+ enabled: true;
199
+ localAuthoring: boolean;
200
+ parent: {
201
+ sourceId: string;
202
+ secretName: string;
203
+ } | null;
204
+ }
205
+
206
+ /** Scalar kinds accepted by the Chapter schema adapter. */
207
+ type AttrType = "string" | "number" | "boolean" | "json";
208
+ /** One odla-db attribute: its type and index/uniqueness/optionality flags. */
209
+ interface Attr {
210
+ type: AttrType;
211
+ unique: boolean;
212
+ indexed: boolean;
213
+ optional: boolean;
214
+ }
215
+ /** One odla-db namespace: its attribute map. */
216
+ interface Entity {
217
+ attrs: Record<string, Attr>;
218
+ }
219
+ /** A serialized odla-db schema fragment (namespaces + links). */
220
+ interface DbSchema {
221
+ entities: Record<string, Entity>;
222
+ links: Record<string, unknown>;
223
+ }
224
+ /** Per-namespace CEL rule strings (deny-all is `"false"` for each action). */
225
+ interface Rule {
226
+ view: string;
227
+ create: string;
228
+ update: string;
229
+ delete: string;
230
+ }
231
+ /** Namespace → rule set. */
232
+ type DbRules = Record<string, Rule>;
233
+
185
234
  /** One follower site a leader can push CRM records to. The secret VALUE never
186
235
  * lives in config: `secretName` names the leader tenant's vaulted copy of the
187
236
  * follower's `network_share_secret`. */
@@ -360,33 +409,6 @@ interface ChapterDb {
360
409
  get(name: string): Promise<string>;
361
410
  };
362
411
  }
363
- /** Scalar kinds accepted by the Chapter schema adapter. */
364
- type AttrType = "string" | "number" | "boolean" | "json";
365
- /** One odla-db attribute: its type and index/uniqueness/optionality flags. */
366
- interface Attr {
367
- type: AttrType;
368
- unique: boolean;
369
- indexed: boolean;
370
- optional: boolean;
371
- }
372
- /** One odla-db namespace: its attribute map. */
373
- interface Entity {
374
- attrs: Record<string, Attr>;
375
- }
376
- /** A serialized odla-db schema fragment (namespaces + links). */
377
- interface DbSchema {
378
- entities: Record<string, Entity>;
379
- links: Record<string, unknown>;
380
- }
381
- /** Per-namespace CEL rule strings (deny-all is `"false"` for each action). */
382
- interface Rule {
383
- view: string;
384
- create: string;
385
- update: string;
386
- delete: string;
387
- }
388
- /** Namespace → rule set. */
389
- type DbRules = Record<string, Rule>;
390
412
  /** Typed semantic roles shared by the public site and application surfaces. */
391
413
  interface ChapterBrandTokens {
392
414
  background?: string;
@@ -610,6 +632,8 @@ interface ChapterConfig {
610
632
  network?: ChapterNetwork;
611
633
  /** A separate signed edge that may control this chapter's complete signup. */
612
634
  signupControl?: ChapterSignupControl;
635
+ /** Authenticated parent + chapter member pages with server-enforced tier access. */
636
+ memberContent?: ChapterMemberContent;
613
637
  /** Enable a public, host-rendered formation application workflow. */
614
638
  formation?: LeaderFormationConfig;
615
639
  thesis?: unknown;
@@ -706,6 +730,8 @@ interface Chapter {
706
730
  network: ResolvedNetwork;
707
731
  /** Null unless this follower explicitly delegates signup authority. */
708
732
  signupControl: ResolvedSignupControl | null;
733
+ /** Null unless the standard authenticated member-content surface is enabled. */
734
+ memberContent: ResolvedMemberContent | null;
709
735
  /** Resolved public formation intake contract (disabled when omitted). */
710
736
  formation: ResolvedLeaderFormation;
711
737
  /** Resolved CRM engine (from `defineCrm`). */
@@ -741,6 +767,9 @@ declare function defineChapter(config: ChapterConfig): Chapter;
741
767
  /** Validate one deliberately separate signup-control edge. */
742
768
  declare function resolveSignupControl(input: ChapterSignupControl | undefined): ResolvedSignupControl | null;
743
769
 
770
+ /** Validate the deliberately separate member-content authoring boundary. */
771
+ declare function resolveMemberContent(input: ChapterMemberContent | undefined): ResolvedMemberContent | null;
772
+
744
773
  /** Options for {@link leaderCrmConfig}. */
745
774
  interface LeaderCrmOptions {
746
775
  /** Existing host CRM config to preserve. Defaults to Chapter's people +
@@ -759,16 +788,52 @@ interface LeaderCrmOptions {
759
788
  */
760
789
  declare function leaderCrmConfig(options?: LeaderCrmOptions): CrmConfig;
761
790
 
762
- /** Resolve and validate the public chapter-formation intake contract. */
763
- declare function resolveLeaderFormation(input: LeaderFormationConfig | undefined, crm: Crm): ResolvedLeaderFormation;
764
- /** Public, presentational field metadata for a host-owned intake form. */
765
- declare function formationFields(crm: Crm, formation: ResolvedLeaderFormation): Array<{
791
+ /** Current public schema version for Chapter flow-field contracts. */
792
+ declare const CHAPTER_FLOW_FIELDS_SCHEMA_VERSION: 1;
793
+ /** Configurable Chapter intake journeys that publish field contracts. */
794
+ type ChapterFieldFlow = "join" | "formation";
795
+ /** Email comparison policy advertised by an email field. */
796
+ type ChapterEmailIdentity = "literal";
797
+ /**
798
+ * One effective field in a Chapter intake journey.
799
+ *
800
+ * IDs, value types, and options come from the follower-declared schema. A hub
801
+ * or CMS may select, order, and configure only those declared fields; it cannot
802
+ * use this presentation document to add storage or widen follower authority.
803
+ */
804
+ interface ChapterFlowField {
766
805
  id: string;
767
806
  label: string;
768
- type: FieldDef["type"];
807
+ type: FieldType;
769
808
  required: boolean;
809
+ order: number;
810
+ maxLength?: number;
770
811
  options?: readonly string[];
771
- }>;
812
+ conditions?: FieldConditions;
813
+ /** Present only for an email identity field. Aliases such as `+tag` remain significant. */
814
+ emailIdentity?: ChapterEmailIdentity;
815
+ }
816
+ /** Ordered, versioned effective field state for one Chapter journey. */
817
+ interface ChapterFlowFieldContract {
818
+ schemaVersion: typeof CHAPTER_FLOW_FIELDS_SCHEMA_VERSION;
819
+ flow: ChapterFieldFlow;
820
+ fields: readonly ChapterFlowField[];
821
+ }
822
+ /** Resolve the exact ordered fields accepted by the membership application flow. */
823
+ declare function applicationFlowFields(chapter: Chapter, application?: ResolvedApplication): ChapterFlowField[];
824
+ /** Resolve the exact ordered fields accepted by the chapter-formation flow. */
825
+ declare function formationFlowFields(chapter: Chapter, formation?: ResolvedLeaderFormation): ChapterFlowField[];
826
+ /**
827
+ * Build the public field contract consumed by follower forms and CMS previews.
828
+ * The optional application is the already-authorized effective selection from
829
+ * signup control; it never expands the follower's declared application schema.
830
+ */
831
+ declare function chapterFlowFieldContract(chapter: Chapter, flow: ChapterFieldFlow, application?: ResolvedApplication): ChapterFlowFieldContract;
832
+
833
+ /** Resolve and validate the public chapter-formation intake contract. */
834
+ declare function resolveLeaderFormation(input: LeaderFormationConfig | undefined, crm: Crm): ResolvedLeaderFormation;
835
+ /** Public, presentational field metadata for a host-owned intake form. */
836
+ declare function formationFields(crm: Crm, formation: ResolvedLeaderFormation): ChapterFlowField[];
772
837
 
773
838
  /** Options for {@link createChapterIntegration}. */
774
839
  interface ChapterIntegrationOptions {
@@ -836,11 +901,191 @@ declare function createChapterIntegration(chapter: Chapter, options?: ChapterInt
836
901
  * read-only super-admin tier (default on for the `"claim"` ladder). A `"claim"`
837
902
  * chapter therefore emits the reference namespace set — `applications`,
838
903
  * `groups`, `meetings`, `emailLog`, `superAdmins` — with no `admins` table. */
839
- declare function chapterDb(mode: ChapterMode, auth: ResolvedAuth, includeNetworkNotes?: boolean, application?: ResolvedApplication, includeSignupControl?: boolean): {
904
+ declare function chapterDb(mode: ChapterMode, auth: ResolvedAuth, includeNetworkNotes?: boolean, application?: ResolvedApplication, includeSignupControl?: boolean, includeMemberContent?: boolean): {
840
905
  schema: DbSchema;
841
906
  rules: DbRules;
842
907
  };
843
908
 
909
+ /** Validate one complete parent or chapter authoring layer with actionable paths. */
910
+ declare function validateMemberContentDocument(input: unknown, options?: MemberContentValidationOptions): MemberContentValidationResult;
911
+ /** Validate or fail closed with every actionable document error. */
912
+ declare function memberContentDocument(input: unknown, options?: MemberContentValidationOptions): MemberContentDocument;
913
+
914
+ /** Versioned contract for authenticated member content. */
915
+ declare const MEMBER_CONTENT_SCHEMA_VERSION: 1;
916
+ /** Authenticated member projection endpoint. */
917
+ declare const MEMBER_CONTENT_PATH: "/api/member-content";
918
+ /** Dedicated signed Parent → Chapter content-delivery endpoint. */
919
+ declare const MEMBER_CONTENT_CONTROL_PATH: "/api/member-content-control";
920
+ /** Authority that authored one independently stored member-content layer. */
921
+ type MemberContentSourceType = "parent" | "chapter";
922
+ /** Stable author identity attached to every member-content document and page. */
923
+ interface MemberContentSource {
924
+ type: MemberContentSourceType;
925
+ appId: string;
926
+ }
927
+ /** Chapter deployment that a parent member-content revision is intended for. */
928
+ interface MemberContentTarget {
929
+ chapterId: string;
930
+ environment: string;
931
+ }
932
+ /** Navigation is data, so agents do not have to coordinate route code. */
933
+ interface MemberPageNavigation {
934
+ section: string;
935
+ order: number;
936
+ parentId?: string;
937
+ }
938
+ /** Explicit sets avoid unsafe assumptions that commercial tiers form a ladder. */
939
+ type MemberPageAudience = {
940
+ kind: "all-members";
941
+ } | {
942
+ kind: "tiers";
943
+ tierIds: readonly string[];
944
+ };
945
+ /** Authored offer copy. Price and provider identity deliberately do not live here. */
946
+ interface MemberPageUpsellOffer {
947
+ tierId: string;
948
+ label?: string;
949
+ bodyMarkdown?: string;
950
+ ctaLabel?: string;
951
+ }
952
+ /** Parent offer authority is explicit; a Chapter can edit only a delegated offer. */
953
+ type MemberPageUpsell = {
954
+ owner: "parent";
955
+ offer: MemberPageUpsellOffer;
956
+ } | {
957
+ owner: "chapter";
958
+ offer?: MemberPageUpsellOffer;
959
+ };
960
+ /** Authored member page whose body is disclosed only after server-side projection. */
961
+ interface MemberContentPage {
962
+ id: string;
963
+ slug: string;
964
+ title: string;
965
+ summary?: string;
966
+ navigation: MemberPageNavigation;
967
+ audience: MemberPageAudience;
968
+ /** Safe Markdown shown while the body is withheld. */
969
+ teaserMarkdown?: string;
970
+ /** Never serialized to a viewer whose audience does not match. */
971
+ bodyMarkdown: string;
972
+ upsell?: MemberPageUpsell;
973
+ }
974
+ /** Chapter-owned offer attached to a Parent page that delegated offer authority. */
975
+ interface MemberPageUpsellOverride {
976
+ pageId: string;
977
+ offer: MemberPageUpsellOffer;
978
+ }
979
+ /** One complete source layer. Parent and Chapter layers are stored independently. */
980
+ interface MemberContentDocument {
981
+ schemaVersion: typeof MEMBER_CONTENT_SCHEMA_VERSION;
982
+ revision: number;
983
+ generatedAt: number;
984
+ source: MemberContentSource;
985
+ target?: MemberContentTarget;
986
+ pages: readonly MemberContentPage[];
987
+ upsellOverrides?: readonly MemberPageUpsellOverride[];
988
+ }
989
+ /** Provider-neutral tier facts used to validate access and resolve safe offers. */
990
+ interface MemberContentTierAuthority {
991
+ id: string;
992
+ name?: string;
993
+ priceCents?: number;
994
+ active?: boolean;
995
+ }
996
+ /** Local authority supplied while validating a member-content document. */
997
+ interface MemberContentValidationOptions {
998
+ sourceType?: MemberContentSourceType;
999
+ sourceAppId?: string;
1000
+ tiers?: readonly MemberContentTierAuthority[];
1001
+ parentPages?: readonly MemberContentPage[];
1002
+ }
1003
+ /** Validated document or an actionable collection of contract errors. */
1004
+ type MemberContentValidationResult = {
1005
+ ok: true;
1006
+ value: MemberContentDocument;
1007
+ } | {
1008
+ ok: false;
1009
+ errors: readonly string[];
1010
+ };
1011
+ /** Composed member page retaining the identity of its authoring layer. */
1012
+ interface EffectiveMemberContentPage extends MemberContentPage {
1013
+ source: MemberContentSource;
1014
+ }
1015
+ /** Deterministically ordered parent and chapter layers with their source revisions. */
1016
+ interface EffectiveMemberContent {
1017
+ pages: readonly EffectiveMemberContentPage[];
1018
+ parentRevision: number | null;
1019
+ chapterRevision: number | null;
1020
+ }
1021
+ /** Server-authoritative identity facts used for member-content disclosure. */
1022
+ interface MemberContentViewer {
1023
+ tierId: string | null;
1024
+ admin: boolean;
1025
+ }
1026
+ /** Authored upsell joined to active chapter tier name and price authority. */
1027
+ interface ResolvedMemberPageUpsell extends MemberPageUpsellOffer {
1028
+ tierName: string;
1029
+ priceCents: number;
1030
+ }
1031
+ /** Viewer-safe page result; locked projections never carry bodyMarkdown. */
1032
+ interface MemberContentPageProjection {
1033
+ id: string;
1034
+ slug: string;
1035
+ title: string;
1036
+ summary?: string;
1037
+ navigation: MemberPageNavigation;
1038
+ audience: MemberPageAudience;
1039
+ source: MemberContentSource;
1040
+ access: "allowed" | "locked";
1041
+ teaserMarkdown?: string;
1042
+ bodyMarkdown?: string;
1043
+ upsell?: ResolvedMemberPageUpsell;
1044
+ }
1045
+ /** Complete viewer-safe member navigation and revision projection. */
1046
+ interface MemberContentProjection {
1047
+ pages: readonly MemberContentPageProjection[];
1048
+ viewer: {
1049
+ tierId: string | null;
1050
+ admin: boolean;
1051
+ };
1052
+ revisions: {
1053
+ parent: number | null;
1054
+ chapter: number | null;
1055
+ };
1056
+ }
1057
+ /** Canonical parent document and digest transmitted over the signed control edge. */
1058
+ interface MemberContentEnvelope {
1059
+ digest: string;
1060
+ document: MemberContentDocument;
1061
+ }
1062
+ /** Durable Chapter acknowledgement for an accepted or idempotently replayed revision. */
1063
+ interface MemberContentReceipt {
1064
+ ok: true;
1065
+ target: MemberContentTarget;
1066
+ revision: number;
1067
+ digest: string;
1068
+ status: "accepted" | "replayed";
1069
+ acknowledgedAt: number;
1070
+ }
1071
+ /** Stable rejection reasons returned by the signed member-content control endpoint. */
1072
+ type MemberContentRejection = "invalid_document" | "invalid_digest" | "wrong_source" | "wrong_target" | "wrong_environment" | "stale_revision" | "conflicting_revision" | "materialization_failed";
1073
+
1074
+ /** Compose immutable Parent content with independently stored Chapter content. */
1075
+ declare function composeMemberContent(parent: MemberContentDocument | null | undefined, chapter: MemberContentDocument | null | undefined): EffectiveMemberContent;
1076
+ /** Restricted bodies are omitted and authored offers are joined to live tier authority. */
1077
+ declare function projectMemberContent(content: EffectiveMemberContent, viewer: MemberContentViewer, tiers: readonly MemberContentTierAuthority[]): MemberContentProjection;
1078
+
1079
+ /** Serialize JSON-like member content with recursively sorted object keys. */
1080
+ declare function canonicalMemberContent(value: unknown): string;
1081
+ /** Compute the canonical SHA-256 digest for one Parent content revision. */
1082
+ declare function memberContentDigest(document: unknown): Promise<string>;
1083
+ /** Pair one content document with the exact digest the follower acknowledges. */
1084
+ declare function createMemberContentEnvelope(document: MemberContentDocument): Promise<{
1085
+ document: MemberContentDocument;
1086
+ digest: string;
1087
+ }>;
1088
+
844
1089
  /** The default shared CRM graph: people (with the application/member pipeline)
845
1090
  * plus businesses and the `works_at` relation, in both modes. */
846
1091
  declare function defaultCrm(_mode: ChapterMode): CrmConfig;
@@ -1844,6 +2089,7 @@ interface ApplicationRecord {
1844
2089
  stripeSubscriptionId?: string | null;
1845
2090
  renewalAt?: number | null;
1846
2091
  canceled?: boolean;
2092
+ tierId?: string | null;
1847
2093
  }
1848
2094
  /** The reconciled meeting row (already adopted against the calendar), or null. */
1849
2095
  interface MeetingRecord {
@@ -1865,6 +2111,8 @@ interface ApplicationSummary {
1865
2111
  paid: boolean;
1866
2112
  renewalAt: number | null;
1867
2113
  canceled: boolean;
2114
+ /** Server-authoritative membership tier selected on this application. */
2115
+ tierId: string | null;
1868
2116
  }
1869
2117
  /** A summary plus the reconciled meeting fields — the `application` the member
1870
2118
  * area renders. */
@@ -2265,6 +2513,17 @@ declare function createSignupControlEnvelope(document: SignupControlDocument): P
2265
2513
  /** Validate and normalize one complete desired signup state. */
2266
2514
  declare function validateSignupControlDocument(input: unknown): SignupControlValidation;
2267
2515
 
2516
+ /**
2517
+ * Normalize an email address for Chapter identity lookups.
2518
+ *
2519
+ * Chapter treats the address literally: surrounding whitespace and ASCII case
2520
+ * are insignificant, but the local part is otherwise preserved. In
2521
+ * particular, provider-specific aliases are never collapsed, so
2522
+ * `foo+bar@gmail.com` and `foo@gmail.com` remain distinct applicants,
2523
+ * admission decisions, purchasers, and beneficiaries.
2524
+ */
2525
+ declare function normalizeChapterEmail(email: string): string;
2526
+
2268
2527
  /** Stable marker a static document can place where managed signup tokens belong. */
2269
2528
  declare const SIGNUP_CONTROL_THEME_MARKER: "<!--odla:signup-control-theme-->";
2270
2529
  /** Stable id shared by the server renderer and browser hydration helper. */
@@ -2351,4 +2610,4 @@ interface ChapterPromotionInput {
2351
2610
  /** Export the provider-independent pieces of one exact active signup revision. */
2352
2611
  declare function exportChapterPromotion(input: ChapterPromotionInput): Promise<PromotionAdapterResult>;
2353
2612
 
2354
- 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, type BuyerGiftClaim, CHAPTER_PROMOTION_ADAPTER, type Chapter, type ChapterApplication, type ChapterAuth, type ChapterBrand, type ChapterConfig, type ChapterCopy, type ChapterCopyInput, type ChapterDb, type ChapterEmails, type ChapterIntegrationDescriptor, type ChapterIntegrationOptions, 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 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, type JoinConfigGroup, type JoinConfigTier, type JoinContinuation, type LeaderCrmOptions, type LeaderFormationConfig, type LiveEvent, MAX_GIFT_OFFERS, MEMBERSHIP_PAGE_RENDERER, type MailSender, type MeetingForReconcile, type MeetingRecord, type MeetingReschedulePatch, type MemberApplication, type MemberSession, type MembershipPageDocument, type MembershipPageValidationOptions, type MembershipPageValidationResult, type MembershipTierAuthority, type MembershipTierCallout, type MembershipTierCapacity, type MembershipTierMarkdownResult, type MembershipTierPresentation, type MembershipTierVariant, type NetworkRecord, type NetworkRecordNote, type NetworkRecordPage, type NetworkRollup, type NetworkRollupTarget, type NetworkSharedNote, type NetworkSnapshot, type NewMeetingRow, type NotifyDeps, type NotifyInput, type NotifyResult, type PaymentsGroup, type ProjectionDeps, type PublicGiftOffer, type ReconcileDecision, type ResolvedApplication, type ResolvedAuth, type ResolvedLeaderFormation, 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, 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, applicationSummary, applyMembershipTierMarkdown, backfillCrm, bookingDecision, brandTokens, bucketSeries, buildGroupSeed, buildTierSeeds, canApprove, canBook, canChangeRole, canTransition, canceledPatch, canonicalSignupControl, chapterBrandFromTokens, chapterDb, clampArray, clerkGetUser, clerkGetUserByEmail, clerkIntegration, clerkInviteRequest, clerkListUsers, clerkSetRole, clerkUserRequest, createAdmissionGrantEnvelope, createChapterIntegration, createClerkInvitation, createClerkUser, createSignupControlEnvelope, dashboardMetricData, defaultCrm, defineChapter, emailGroupFrom, endForSlot, exportChapterPromotion, findAdmissionGrant, findApplicationRef, findGiftOffer, findTier, firstPaymentPatch, formatChapterCopy, formationFields, getVaultSecret, giftOfferActive, hasDisclaimerAck, hydrateSignupControlTheme, injectSignupControlThemeHead, introIdempotencyKey, isAdminRole, isAlreadySent, isReconcilable, isSlotAvailable, isValidEmail, joinConfig, joinConfigTiers, leaderCrmConfig, loadLatestAdmissionRevision, loadOfferableTiers, loadTiers, materializeAdmissionGrants, meetingCreateRow, meetingRescheduleUpdate, memberApplication, memberSession, membershipPageDocument, membershipTierPresentationFromMarkdown, networkSourceTag, normalizeAdmissionEmail, normalizeSharedRecord, normalizeWebhookEvent, offerableTiers, paymentsReady, personInputFromApp, planDelivery, projectApplicant, projectSharedRecord, publicGiftOffers, reconcileMeetings, refundedPatch, render, renderSignupControlThemeHead, renderSummary, renderTemplateBody, renewalPatch, resolveApplication, resolveAuth, resolveChapterCopy, resolveJoinContinuation, resolveLeaderFormation, resolvePipeline, resolveScheduling, resolveSignupControl, resolveTiers, roleFromClaim, sendTemplated, sharedPersonInput, sharedRecordFromCrm, signupControlDigest, slotWindow, stageIndex, stripeCall, subAnnualCents, submitApplication, subscriptionIdempotencyKey, syncApplicationToCrm, tierIsFree, tierPayable, updateClerkUserMetadata, updateClerkUserMetadataByEmail, validateAdmissionGrantDocument, validateGiftOfferCatalog, validateMembershipPageDocument, validateScheduling, validateSignupControlDocument, webhookMutationId };
2613
+ 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, type BuyerGiftClaim, CHAPTER_FLOW_FIELDS_SCHEMA_VERSION, CHAPTER_PROMOTION_ADAPTER, type Chapter, type ChapterApplication, type ChapterAuth, type ChapterBrand, 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, type JoinConfigGroup, type JoinConfigTier, type JoinContinuation, type LeaderCrmOptions, type LeaderFormationConfig, type LiveEvent, MAX_GIFT_OFFERS, MEMBERSHIP_PAGE_RENDERER, MEMBER_CONTENT_CONTROL_PATH, MEMBER_CONTENT_PATH, MEMBER_CONTENT_SCHEMA_VERSION, type MailSender, type MeetingForReconcile, type MeetingRecord, type MeetingReschedulePatch, type MemberApplication, 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 MemberPageAudience, type MemberPageNavigation, type MemberPageUpsell, type MemberPageUpsellOffer, type MemberPageUpsellOverride, type MemberSession, type MembershipPageDocument, type MembershipPageValidationOptions, type MembershipPageValidationResult, type MembershipTierAuthority, type MembershipTierCallout, type MembershipTierCapacity, type MembershipTierMarkdownResult, type MembershipTierPresentation, type MembershipTierVariant, type NetworkRecord, type NetworkRecordNote, type NetworkRecordPage, type NetworkRollup, type NetworkRollupTarget, type NetworkSharedNote, type NetworkSnapshot, type NewMeetingRow, type NotifyDeps, type NotifyInput, type NotifyResult, type PaymentsGroup, type ProjectionDeps, type PublicGiftOffer, type ReconcileDecision, type ResolvedApplication, type ResolvedAuth, 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, 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, buildGroupSeed, buildTierSeeds, canApprove, canBook, canChangeRole, canTransition, canceledPatch, canonicalMemberContent, canonicalSignupControl, chapterBrandFromTokens, chapterDb, chapterFlowFieldContract, clampArray, clerkGetUser, clerkGetUserByEmail, clerkIntegration, clerkInviteRequest, clerkListUsers, clerkSetRole, clerkUserRequest, composeMemberContent, createAdmissionGrantEnvelope, 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, membershipPageDocument, membershipTierPresentationFromMarkdown, networkSourceTag, normalizeAdmissionEmail, normalizeChapterEmail, normalizeSharedRecord, normalizeWebhookEvent, offerableTiers, paymentsReady, personInputFromApp, planDelivery, projectApplicant, projectMemberContent, projectSharedRecord, publicGiftOffers, reconcileMeetings, refundedPatch, render, renderSignupControlThemeHead, renderSummary, renderTemplateBody, renewalPatch, resolveApplication, resolveAuth, 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, validateGiftOfferCatalog, validateMemberContentDocument, validateMembershipPageDocument, validateScheduling, validateSignupControlDocument, webhookMutationId };