{"version":3,"sources":["../src/payment/payment.enums.ts","../src/event/event.enums.ts","../src/event/event.schemas.ts","../src/event/event-feedback.schemas.ts","../src/payment/payment.schemas.ts"],"names":["TransactionType","TransactionStatus","PayoutStatus","PaymentStatus","ReplayPurchaseStatus","AccessReason","EntitlementStatus","PlatformChargeStatus","CtaMode","PayoutState","ContractFundingIntentStatus","ContractFundingSource","BookingEscrowState","SettlementProfileType","EventReplayAccess","EventVisibility","EventAccessModel","EventProductionMode","EventStreamingMode","EventAllowListType","EventState","EventCategory","RegistrationStatus","RegistrationScope","ViewerRegistrationView","DiscoverEvents","MyEventsTabSchema","EventInviteStatus","EventGuestStatus","EntitlementKind","CreateEventRequestSchema","z","UpdateEventRequestSchema","EventCardCtaSchema","MoneySchema","EventResponseSchema","EventCardSchema","ViewerHomeResponseSchema","SearchEventsQuerySchema","PaginationParamsSchema","value","DiscoverAggregateResponseSchema","DiscoverSectionResponseSchema","PaginationResponseSchema","DiscoverResponseSchema","PagedEventsResponseSchema","RegisterForEventRequestSchema","RegisterForEventResponseSchema","UpdateWatchProgressRequestSchema","WatchProgressResponseSchema","EventStreamSessionSchema","EventStreamSessionsResponseSchema","LiveCatchupSchema","LivePlaybackSchema","ReplayPlaybackSchema","ChatReplayManifestSchema","PlaybackResponseSchema","MyEventCardSchema","MyEventsResponseSchema","MyEventsQuerySchema","StartViewingSessionResponseSchema","ViewingSessionHeartbeatResponseSchema","EndViewingSessionResponseSchema","retentionDaysSchema","issue","replayPriceSchema","ReplaySchema","CurrencySchema","CurrencyEnum","CategorySchema","VisibilitySchema","ViewingSessionModeSchema","WizardBasicsShape","GUEST_LIST_MAX","GuestImportIdsSchema","WizardAccessFreeShape","WizardAccessPaidShape","Step1Schema","Step2FreeSchema","Step2PaidSchema","HostEventWizardCreateSchema","Step3SelfSchema","Step3HireSchema","StartViewingSessionRequestSchema","PatchStreamControlRequestSchema","HostEventWizardPatchSchema","Currency","IsoDateOnly","HostEarningsSummaryQuerySchema","HostEarningsBreakdownQuerySchema","HostEarningsTimeseriesQuerySchema","HostEarningsSummaryResponseSchema","DeltaDirectionSchema","HostEarningsBreakdownItemSchema","HostEarningsBreakdownResponseSchema","HostEarningsTimeseriesPointSchema","HostEarningsTimeseriesResponseSchema","PublicEventStatusSchema","PublicEventCardSchema","PublicEventsQuerySchema","PublicEventsResponseSchema","PublicTrailerSchema","PublicSlateSchema","PublicAwaitingIngestSchema","PublicEventDetailResponseSchema","EventInvitePreviewResponseSchema","HostLivePreviewSchema","PatchReplayPeriodRequestSchema","PatchReplayPeriodResponseSchema","HostEventTicketSalesTimelineQuerySchema","HostEventTicketSalesTimelinePointSchema","HostEventTicketSalesTimelineResponseSchema","HostAudienceQuerySchema","CohortSegmentSchema","CountWithPrevDeltaSchema","HostAudienceSummaryResponseSchema","HostAudienceEngagementQuerySchema","HostAudienceEngagementItemSchema","HostAudienceEngagementResponseSchema","HostAudienceTopViewersQuerySchema","TopViewerItemSchema","HostAudienceTopViewersResponseSchema","ActivityFeedItemSchema","HostAudienceActivityFeedResponseSchema","HostAudienceGeoResponseSchema","HostAudienceDevicesResponseSchema","HostAudienceViewerActivityResponseSchema","HostAudienceViewerActivityQuerySchema","IngestSubstateSchema","EventStatePayloadSchema","StreamStatePayloadSchema","StreamControlPayloadSchema","ViewingSessionHeartbeatAckSchema","ViewingSessionWatchProgressAckSchema","ViewingSessionWatchProgressGetAckSchema","CrewPresenceHeartbeatAckSchema","ViewingSessionEvents","ViewingSessionServerEvents","ViewerEventsBusEvents","CrewPresenceEvents","EVENT_FEEDBACK_RATING_MIN","EVENT_FEEDBACK_RATING_MAX","EVENT_FEEDBACK_RATING_STEP","EVENT_FEEDBACK_MESSAGE_MIN","EVENT_FEEDBACK_MESSAGE_MAX","RATING_RANGE_ERROR","EventFeedbackRatingSchema","CreateEventFeedbackRequestSchema","EventFeedbackResponseSchema","HostEventFeedbackViewerSchema","HostEventFeedbackItemSchema","HostEventFeedbackSummarySchema","ListHostEventFeedbackQuerySchema","PagedHostEventFeedbackResponseSchema","InitiatePaymentRequestSchema","InitiatePaymentResponseSchema","CreatePurchaseResponseSchema","PurchaseStatusResponseSchema","AccessCheckRequestSchema","PaystackMetadataSchema","PaystackAuthorizationSchema","PaystackCustomerSchema","PaystackSourceSchema","PaystackWebhookSchema","AccessCheckResponseSchema","PricingQuoteResponseSchema","TrailerSchema","SlateSchema","AwaitingIngestSchema","ViewerEventInviteSchema","ViewerEventDetailResponseSchema","ReceiptUrlResponseSchema","ReplayPurchasePaymentSchema","ReplayPurchaseRowSchema","ReplayPurchaseResponseSchema","UpdateSettlementBodySchema","SettlementAccountViewSchema","RequestWithdrawalBodySchema","FundEscrowBodySchema","ContractFundingIntentResponseSchema","FundEscrowResponseSchema","PandascrowEnvelopeSchema","data","OuterEnvelopeSchema","MinorAmountSchema","v","CurrencyStr","OnetimeEscrowDataSchema","WalletFundDataSchema","MarkCompleteDataSchema","RefundFlagDataSchema","EscrowStatusDataSchema","PayoutViewSchema","WalletSummarySchema","MoveEarningsToWalletBodySchema","MoveEarningsToWalletResponseSchema","WalletWithdrawBodySchema"],"mappings":"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","file":"chunk-6PT5C632.mjs","sourcesContent":["export const TransactionType = {\n  TICKET_PURCHASE: 'TICKET_PURCHASE',\n  BOOKING_ESCROW: 'BOOKING_ESCROW',\n  ESCROW_RELEASE: 'ESCROW_RELEASE',\n  PLATFORM_FEE: 'PLATFORM_FEE',\n  VENDOR_PAYOUT: 'VENDOR_PAYOUT',\n  HOST_PAYOUT: 'HOST_PAYOUT',\n  REFUND: 'REFUND',\n} as const;\nexport type TransactionType = (typeof TransactionType)[keyof typeof TransactionType];\n\nexport const TransactionStatus = {\n  PENDING: 'PENDING',\n  SUCCESS: 'SUCCESS',\n  FAILED: 'FAILED',\n  REVERSED: 'REVERSED',\n} as const;\nexport type TransactionStatus = (typeof TransactionStatus)[keyof typeof TransactionStatus];\n\nexport const PayoutStatus = {\n  PENDING: 'PENDING',\n  PROCESSING: 'PROCESSING',\n  COMPLETED: 'COMPLETED',\n  FAILED: 'FAILED',\n} as const;\nexport type PayoutStatus = (typeof PayoutStatus)[keyof typeof PayoutStatus];\n\nexport const PaymentStatus = {\n  REQUIRES_PAYMENT: 'REQUIRES_PAYMENT',\n  PROCESSING: 'PROCESSING',\n  SUCCEEDED: 'SUCCEEDED',\n  FAILED: 'FAILED',\n  CANCELLED: 'CANCELLED',\n  REFUNDED: 'REFUNDED',\n} as const;\nexport type PaymentStatus = (typeof PaymentStatus)[keyof typeof PaymentStatus];\n\nexport const ReplayPurchaseStatus = {\n  PENDING_PAYMENT: 'PENDING_PAYMENT',\n  ACTIVE: 'ACTIVE',\n  EXPIRED: 'EXPIRED',\n  REFUNDED: 'REFUNDED',\n} as const;\nexport type ReplayPurchaseStatus = (typeof ReplayPurchaseStatus)[keyof typeof ReplayPurchaseStatus];\n\nexport const AccessReason = {\n  REGISTERED: 'REGISTERED',\n  PUBLIC: 'PUBLIC',\n  EMAIL_MATCH: 'EMAIL_MATCH',\n  DOMAIN_MATCH: 'DOMAIN_MATCH',\n  USER_ID_MATCH: 'USER_ID_MATCH',\n  PHONE_MATCH: 'PHONE_MATCH',\n  NOT_ON_ALLOWLIST: 'NOT_ON_ALLOWLIST',\n} as const;\nexport type AccessReason = (typeof AccessReason)[keyof typeof AccessReason];\n\nexport const EntitlementStatus = {\n  NONE: 'NONE',\n  PENDING_PAYMENT: 'PENDING_PAYMENT',\n  ACTIVE: 'ACTIVE',\n  REFUNDED: 'REFUNDED',\n  CANCELLED: 'CANCELLED',\n} as const;\nexport type EntitlementStatus = (typeof EntitlementStatus)[keyof typeof EntitlementStatus];\n\nexport const PlatformChargeStatus = {\n  PENDING: 'PENDING',\n  SETTLED: 'SETTLED',\n  WAIVED: 'WAIVED',\n  VOIDED: 'VOIDED',\n  REFUNDED: 'REFUNDED',\n} as const;\nexport type PlatformChargeStatus = (typeof PlatformChargeStatus)[keyof typeof PlatformChargeStatus];\n\nexport const CtaMode = {\n  BUY_TICKET: 'BUY_TICKET',\n  COMPLETE_PAYMENT: 'COMPLETE_PAYMENT',\n  WATCH_NOW: 'WATCH_NOW',\n  WATCH_REPLAY: 'WATCH_REPLAY',\n  REGISTER_FREE: 'REGISTER_FREE',\n  WAITLIST: 'WAITLIST',\n  UNAVAILABLE: 'UNAVAILABLE',\n  REPLAY_PROCESSING: 'REPLAY_PROCESSING',\n  /** Invite-only private event and the viewer is not on the guest list. */\n  NOT_INVITED: 'NOT_INVITED',\n} as const;\nexport type CtaMode = (typeof CtaMode)[keyof typeof CtaMode];\n\nexport const PayoutState = {\n  REQUESTED: 'REQUESTED',\n  AUTHORIZED: 'AUTHORIZED',\n  SENT: 'SENT',\n  SETTLED: 'SETTLED',\n  FAILED: 'FAILED',\n  REVERSED: 'REVERSED',\n  CLASSIFICATION_REJECTED: 'CLASSIFICATION_REJECTED',\n  UNRESOLVED: 'UNRESOLVED',\n} as const;\nexport type PayoutState = (typeof PayoutState)[keyof typeof PayoutState];\n\n/**\n * Lifecycle of a gateway contract funding intent (§8.2 route 1).\n * Mirrors the backend `ContractFundingIntentStatus` enum exactly.\n * `FUNDED`, `CANCELLED` and `QUARANTINED` are terminal.\n */\nexport const ContractFundingIntentStatus = {\n  AWAITING_PAYMENT: 'AWAITING_PAYMENT',\n  PROCESSING: 'PROCESSING',\n  FUNDED: 'FUNDED',\n  EXPIRED: 'EXPIRED',\n  CANCELLED: 'CANCELLED',\n  QUARANTINED: 'QUARANTINED',\n} as const;\nexport type ContractFundingIntentStatus =\n  (typeof ContractFundingIntentStatus)[keyof typeof ContractFundingIntentStatus];\n\n/**\n * Which route funds a contract escrow. The client names it — a silent\n * fallback to a card charge when a balance debit was expected is not a\n * behaviour the payer can audit.\n */\nexport const ContractFundingSource = {\n  /** Debits the Host's available earnings. Settles immediately. */\n  BALANCE: 'BALANCE',\n  /** Opens a gateway checkout. The escrow stays unfunded until it is paid. */\n  GATEWAY: 'GATEWAY',\n} as const;\nexport type ContractFundingSource =\n  (typeof ContractFundingSource)[keyof typeof ContractFundingSource];\n\n/** Mirrors the backend `BookingEscrowState` enum exactly. */\nexport const BookingEscrowState = {\n  AWAITING_FUNDING: 'AWAITING_FUNDING',\n  FUNDED: 'FUNDED',\n  RELEASED: 'RELEASED',\n  REFUNDED: 'REFUNDED',\n  DISPUTED: 'DISPUTED',\n  CANCELLED: 'CANCELLED',\n  FAILED: 'FAILED',\n} as const;\nexport type BookingEscrowState = (typeof BookingEscrowState)[keyof typeof BookingEscrowState];\n\n/**\n * Which profile a payouts call acts for. The Wallet itself is account-level\n * (§2.1: one Wallet per account), but the settlement account money leaves to\n * belongs to a profile, so the caller names which one.\n */\nexport const SettlementProfileType = {\n  HOST: 'HOST',\n  VENDOR: 'VENDOR',\n} as const;\nexport type SettlementProfileType =\n  (typeof SettlementProfileType)[keyof typeof SettlementProfileType];\n","export const EventReplayAccess = {\n  INCLUDED: 'INCLUDED',\n  DISABLED: 'DISABLED',\n  PAID_SEPARATELY: 'PAID_SEPARATELY',\n} as const;\nexport type EventReplayAccess = (typeof EventReplayAccess)[keyof typeof EventReplayAccess];\n\n/**\n * `PUBLIC` events are listed on Discover. `PRIVATE` events are reachable\n * only by link: with no guest list anyone holding the link can join; with\n * a guest list only the invited emails can register (invite-only).\n * `UNLISTED` is legacy and behaves exactly like `PRIVATE`.\n */\nexport const EventVisibility = {\n  PUBLIC: 'PUBLIC',\n  PRIVATE: 'PRIVATE',\n  /** @deprecated Behaves like `PRIVATE`; send `PRIVATE` instead. */\n  UNLISTED: 'UNLISTED',\n} as const;\nexport type EventVisibility = (typeof EventVisibility)[keyof typeof EventVisibility];\n\nexport const EventAccessModel = {\n  FREE: 'FREE',\n  PAID: 'PAID',\n  SUBSCRIPTION: 'SUBSCRIPTION',\n} as const;\nexport type EventAccessModel = (typeof EventAccessModel)[keyof typeof EventAccessModel];\n\nexport const EventProductionMode = {\n  SELF: 'SELF',\n  HIRE: 'HIRE',\n} as const;\nexport type EventProductionMode = (typeof EventProductionMode)[keyof typeof EventProductionMode];\n\nexport const EventStreamingMode = {\n  PHONE: 'PHONE',\n  WEB: 'WEB',\n} as const;\nexport type EventStreamingMode = (typeof EventStreamingMode)[keyof typeof EventStreamingMode];\n\n/**\n * Enum for event allow list type.\n */\nexport const EventAllowListType = {\n  EMAIL: 'EMAIL',\n  DOMAIN: 'DOMAIN',\n  PHONENUMBER: 'PHONENUMBER',\n  USERID: 'USERID',\n} as const;\nexport type EventAllowListType = (typeof EventAllowListType)[keyof typeof EventAllowListType];\n\nexport const EventState = {\n  DRAFT: 'DRAFT',\n  SCHEDULED: 'SCHEDULED',\n  READY_FOR_TEST: 'READY_FOR_TEST',\n  LIVE: 'LIVE',\n  ENDED: 'ENDED',\n  REPLAY_READY: 'REPLAY_READY',\n  ARCHIVED: 'ARCHIVED',\n  CANCELLED: 'CANCELLED',\n  PAUSED: 'PAUSED',\n  FAILED: 'FAILED',\n} as const;\nexport type EventState = (typeof EventState)[keyof typeof EventState];\n\nexport const EventCategory = {\n  ART: 'ART',\n  TECHNOLOGY: 'TECHNOLOGY',\n  SCIENCE: 'SCIENCE',\n  TRAVEL: 'TRAVEL',\n  HISTORY: 'HISTORY',\n  LITERATURE: 'LITERATURE',\n  COOKING: 'COOKING',\n  FITNESS: 'FITNESS',\n  PHOTOGRAPHY: 'PHOTOGRAPHY',\n  GARDENING: 'GARDENING',\n  EDUCATION: 'EDUCATION',\n  FASHION: 'FASHION',\n  MOVIES: 'MOVIES',\n  SPORTS: 'SPORTS',\n  POLITICS: 'POLITICS',\n  HEALTH: 'HEALTH',\n  GAMING: 'GAMING',\n  FINANCE: 'FINANCE',\n  NATURE: 'NATURE',\n  CONCERT: 'CONCERT',\n  FESTIVAL: 'FESTIVAL',\n  WEDDING: 'WEDDING',\n  CORPORATE: 'CORPORATE',\n  RELIGIOUS: 'RELIGIOUS',\n  BIRTHDAY: 'BIRTHDAY',\n  PARTY: 'PARTY',\n  OTHER: 'OTHER',\n} as const;\nexport type EventCategory = (typeof EventCategory)[keyof typeof EventCategory];\n\nexport const RegistrationStatus = {\n  PENDING_PAYMENT: 'PENDING_PAYMENT',\n  ACTIVE: 'ACTIVE',\n  CANCELLED: 'CANCELLED',\n  REFUNDED: 'REFUNDED',\n  EXPIRED: 'EXPIRED',\n};\nexport type RegistrationStatus = (typeof RegistrationStatus)[keyof typeof RegistrationStatus];\nexport const RegistrationScope = {\n  FREE_RSVP: 'FREE_RSVP',\n  PAID_TICKET: 'PAID_TICKET',\n  INVITE: 'INVITE',\n};\nexport type RegistrationScope = (typeof RegistrationScope)[keyof typeof RegistrationScope];\n\nexport const ViewerRegistrationView = {\n  ACTIVE: 'ACTIVE',\n  PENDING: 'PENDING',\n  NONE: 'NONE',\n};\nexport type ViewerRegistrationView =\n  (typeof ViewerRegistrationView)[keyof typeof ViewerRegistrationView];\n\nexport const DiscoverEvents = {\n  UPCOMING: 'UPCOMING',\n  LIVE: 'LIVE',\n  RECOMMENDED: 'RECOMMENDED',\n  /** Replays this viewer can watch or buy, newest-ended first. */\n  PAST: 'PAST',\n};\nexport type DiscoverEvents = (typeof DiscoverEvents)[keyof typeof DiscoverEvents];\n\nexport const MyEventsTabSchema = {\n  UPCOMING: 'UPCOMING',\n  LIVE: 'LIVE',\n  PAST: 'PAST',\n  /** Private events the viewer is invited to and has not registered for yet. */\n  INVITES: 'INVITES',\n};\nexport type MyEventsTabSchema = (typeof MyEventsTabSchema)[keyof typeof MyEventsTabSchema];\n\n/** The viewer's own invite to a private event. */\nexport const EventInviteStatus = {\n  /** Invited; hasn't joined or declined. */\n  PENDING: 'PENDING',\n  /** Holds an active registration (joined free or bought a ticket). */\n  ACCEPTED: 'ACCEPTED',\n  DECLINED: 'DECLINED',\n} as const;\nexport type EventInviteStatus = (typeof EventInviteStatus)[keyof typeof EventInviteStatus];\n\n/** A guest's status as the host sees it on the guest list. */\nexport const EventGuestStatus = {\n  /** Event is still a draft; invites go out on publish. */\n  NOT_SENT: 'NOT_SENT',\n  INVITED: 'INVITED',\n  ACCEPTED: 'ACCEPTED',\n  DECLINED: 'DECLINED',\n  /** Started a paid checkout that hasn't completed. */\n  CHECKOUT_STARTED: 'CHECKOUT_STARTED',\n} as const;\nexport type EventGuestStatus = (typeof EventGuestStatus)[keyof typeof EventGuestStatus];\n\nexport const EntitlementKind = {\n  REGISTRATION: 'REGISTRATION',\n  REPLAY_PURCHASE: 'REPLAY_PURCHASE',\n} as const;\nexport type EntitlementKind = (typeof EntitlementKind)[keyof typeof EntitlementKind];\n","import { z } from 'zod';\nimport {\n  CurrencyEnum,\n  DeltaDirectionSchema,\n  MoneySchema,\n  PaginationParamsSchema,\n  PaginationResponseSchema,\n} from '../common';\nimport { ChatReplayManifestSchema } from '../chat/chat.schemas';\nimport { CtaMode } from '../payment';\nimport {\n  DiscoverEvents,\n  EventAccessModel,\n  EventCategory,\n  EventProductionMode,\n  EventReplayAccess,\n  EventState,\n  EventStreamingMode,\n  EventVisibility,\n  MyEventsTabSchema,\n  RegistrationStatus,\n  ViewerRegistrationView,\n} from './event.enums';\n\nexport const CreateEventRequestSchema = z.object({\n  title: z.string().max(120),\n  description: z.string().max(2000),\n  category: z.enum(EventCategory),\n  scheduledStartAt: z.iso.datetime(),\n  scheduledEndAt: z.iso.datetime(),\n  venueLocation: z.string(),\n  visibility: z.enum(EventVisibility),\n  accessModel: z.enum(EventAccessModel),\n  ticketPrice: z.number().min(0).optional(),\n  maxTickets: z.number().min(1).optional(),\n  timezone: z.string().default('Africa/Lagos'),\n  replayAccess: z.enum(EventReplayAccess),\n  retentionDays: z.number().default(30),\n  tags: z.array(z.string()).optional(),\n  geoRestrictions: z.record(z.string(), z.any()).optional(),\n});\n\nexport const UpdateEventRequestSchema = CreateEventRequestSchema.partial();\n\nexport const EventCardCtaSchema = z.object({\n  kind: z.enum(CtaMode),\n  price: MoneySchema.optional(),\n});\n\nexport const EventResponseSchema = z.object({\n  id: z.uuid(),\n  title: z.string(),\n  description: z.string(),\n  category: z.enum(EventCategory),\n  coverImageUrl: z.url().optional(),\n  venueLocation: z.string(),\n  scheduledStartAt: z.iso.datetime(),\n  scheduledEndAt: z.iso.datetime(),\n  timezone: z.string(),\n  visibility: z.enum(EventVisibility),\n  accessModel: z.enum(EventAccessModel),\n  ticketPrice: MoneySchema.nullable(),\n  maxTickets: z.number().optional(),\n  eventState: z.enum(EventState),\n  shareableUrl: z.url(),\n  hostId: z.uuid(),\n  isFeatured: z.boolean(),\n  replayAccess: z.enum(EventReplayAccess),\n  replayAvailableUntil: z.iso.datetime().optional(),\n  createdAt: z.iso.datetime(),\n  updatedAt: z.iso.datetime(),\n  publishedAt: z.iso.datetime().optional(),\n  liveStartedAt: z.iso.datetime().optional(),\n  liveEndedAt: z.iso.datetime().optional(),\n});\n\nexport const EventCardSchema = z.object({\n  id: z.uuid(),\n  title: z.string(),\n  timezone: z.string(),\n  coverImageUrl: z.url().nullable(),\n  previewClipUrl: z.string().nullable(),\n  category: z.enum(EventCategory),\n  scheduledStartLocal: z.string(),\n  scheduledEndLocal: z.string(),\n  scheduledStart: z.iso.datetime(),\n  scheduledEnd: z.iso.datetime(),\n  state: z.enum(EventState),\n  accessModel: z.enum(EventAccessModel),\n  ticketPrice: MoneySchema.nullable(),\n  isFeatured: z.boolean(),\n  hostDisplayName: z.string().nullable(),\n  viewerCount: z.number().int().min(0),\n  cta: EventCardCtaSchema.optional(),\n  durationMinutes: z.number().int().nonnegative().nullable().optional(),\n  viewer: z.object({\n    registration: z.enum(ViewerRegistrationView),\n    progressPct: z.number().min(0).max(100).optional(),\n    canResume: z.boolean().optional(),\n  }),\n});\n\nexport const ViewerHomeResponseSchema = z.object({\n  continueWatching: z.array(EventCardSchema),\n  liveNow: z.array(EventCardSchema),\n  upcoming: z.array(EventCardSchema),\n  recommended: z.array(EventCardSchema),\n  featured: EventCardSchema.nullable(),\n});\n\nexport const SearchEventsQuerySchema = PaginationParamsSchema.extend({\n  category: z.enum(EventCategory).optional(),\n  accessModel: z.enum(EventAccessModel).optional(),\n  section: z.enum(DiscoverEvents).optional(),\n  q: z\n    .string()\n    .trim()\n    .max(80)\n    .optional()\n    .transform((value) => (value && value.length > 0 ? value : undefined)),\n});\n\nexport const DiscoverAggregateResponseSchema = z.object({\n  mode: z.literal('AGGREGATE'),\n  featured: EventCardSchema.nullable(),\n  liveNow: z.array(EventCardSchema),\n  upcoming: z.array(EventCardSchema),\n  recommended: z.array(EventCardSchema),\n  past: z.array(EventCardSchema),\n});\n\nexport const DiscoverSectionResponseSchema = PaginationResponseSchema.extend({\n  mode: z.literal('SECTION'),\n  section: z.enum(DiscoverEvents),\n  items: z.array(EventCardSchema),\n});\n\nexport const DiscoverResponseSchema = z.discriminatedUnion('mode', [\n  DiscoverAggregateResponseSchema,\n  DiscoverSectionResponseSchema,\n]);\n\nexport const PagedEventsResponseSchema = PaginationResponseSchema.extend({\n  items: z.array(EventCardSchema),\n});\n\nexport const RegisterForEventRequestSchema = z.object({\n  callbackUrl: z.url().optional(),\n});\n\nexport const RegisterForEventResponseSchema = z.object({\n  registration: z.object({\n    id: z.uuid(),\n    eventId: z.uuid(),\n    status: z.enum(RegistrationStatus),\n    expiresAt: z.iso.datetime().nullable(),\n  }),\n  paymentIntent: z\n    .object({\n      reference: z.string(),\n      amount: MoneySchema,\n      checkoutUrl: z.url().optional(),\n    })\n    .nullable(),\n});\n\nexport const UpdateWatchProgressRequestSchema = z.object({\n  positionSec: z\n    .number()\n    .int()\n    .min(0)\n    .max(24 * 60 * 60),\n  durationSec: z.number().int().min(1).optional(),\n});\n\n/**\n * Replay resume point for a single event. Hydrates the player on load;\n * ongoing updates go over the `/viewing-session` socket's\n * `watch-progress` message (which reuses\n * `UpdateWatchProgressRequestSchema` as its payload).\n *\n * Never 404s — a viewer who has not watched yet reads back\n * `positionSec: 0` with null companions, so the FE has one shape to\n * handle.\n *\n * `percentage` is null when `durationSec` is unknown: the write path\n * accepts a position without a duration, and a percentage cannot be\n * derived from one alone.\n *\n * `completedAt` is sticky by design — it suppresses finished events\n * from the viewer's rails and feeds host replay analytics, so a\n * rewatch resumes from `positionSec` while this stays set. FE must\n * NOT gate resume on the card's `viewer.canResume`, which reads false\n * for a completed event.\n */\nexport const WatchProgressResponseSchema = z.object({\n  eventId: z.uuid(),\n  positionSec: z.number().int().min(0),\n  durationSec: z.number().int().min(1).nullable(),\n  percentage: z.number().min(0).max(100).nullable(),\n  completedAt: z.iso.datetime().nullable(),\n  updatedAt: z.iso.datetime().nullable(),\n});\n\n/**\n * One broadcast segment of an event.\n *\n * An event has **many** of these, not one: the host pausing the stream\n * closes a segment and resuming opens the next, as does an encoder drop\n * and reconnect. `endedAt` is null only for a segment still on air.\n *\n * Deliberately free of ingest internals — no channel ARN, no provider\n * stream id, no `endReason`. Those describe our plumbing, not what the\n * viewer watched.\n */\nexport const EventStreamSessionSchema = z.object({\n  id: z.uuid(),\n  startedAt: z.iso.datetime(),\n  endedAt: z.iso.datetime().nullable(),\n  /** Whole seconds on air; null while the segment is still running. */\n  durationSec: z.number().int().min(0).nullable(),\n});\n\n/** `GET /viewer/events/:id/stream-sessions` — newest segment first. */\nexport const EventStreamSessionsResponseSchema = z.object({\n  eventId: z.uuid(),\n  sessions: z.array(EventStreamSessionSchema),\n});\n\nexport const LiveCatchupSchema = z.object({\n  playbackUrl: z.url(),\n  expiresAt: z.iso.datetime(),\n  streamStartedAt: z.iso.datetime(),\n  dvrWindowSeconds: z.number().int().positive(),\n});\n\nexport const LivePlaybackSchema = z.object({\n  kind: z.literal('LIVE'),\n  playbackUrl: z.url(),\n  token: z.string(),\n  expiresAt: z.iso.datetime(),\n  catchup: LiveCatchupSchema.optional(),\n});\n\nexport const ReplayPlaybackSchema = z.object({\n  kind: z.literal('REPLAY'),\n  playbackUrl: z.url(),\n  expiresAt: z.iso.datetime(),\n  /** Null until the replay chat export has run, or when it has no messages. */\n  chatReplay: ChatReplayManifestSchema.nullable(),\n});\n\n// Union schema for runtime validation (e.g. ZodValidationPipe)\nexport const PlaybackResponseSchema = z.discriminatedUnion('kind', [\n  LivePlaybackSchema,\n  ReplayPlaybackSchema,\n]);\n\nexport const MyEventCardSchema = EventCardSchema.extend({\n  // Upcoming\n  startsInSec: z.number().int().optional(),\n  // Live\n  liveViewerCount: z.number().int().min(0).optional(),\n  liveStartedAt: z.iso.datetime().nullable().optional(),\n  // Past\n  replayAvailableUntil: z.iso.datetime().nullable().optional(),\n  replayDurationSec: z.number().int().min(0).nullable().optional(),\n  watchedPct: z.number().min(0).max(100).optional(),\n  hasWatched: z.boolean().optional(),\n  // Invites\n  invitedAt: z.iso.datetime().optional(),\n  /** The viewer hasn't opened this invite's event page yet. */\n  isNewInvite: z.boolean().optional(),\n});\n\nexport const MyEventsResponseSchema = PaginationResponseSchema.extend({\n  tab: z.enum(MyEventsTabSchema),\n  items: z.array(MyEventCardSchema),\n  /** Invites the viewer hasn't opened yet; drives the Invites tab count. */\n  newInvitesCount: z.number().int().nonnegative(),\n});\n\nexport const MyEventsQuerySchema = PaginationParamsSchema.extend({\n  tab: z.enum(MyEventsTabSchema),\n  q: z\n    .string()\n    .trim()\n    .max(80)\n    .optional()\n    .transform((value) => (value && value.length > 0 ? value : undefined)),\n});\n\nexport const StartViewingSessionResponseSchema = z.object({\n  sessionId: z.string(),\n});\n\nexport const ViewingSessionHeartbeatResponseSchema = z.object({\n  ok: z.literal(true),\n});\n\nexport const EndViewingSessionResponseSchema = z.object({\n  durationSec: z.number().int().min(0),\n});\n\nconst retentionDaysSchema = z\n  .number({\n    error: (issue) =>\n      issue.input === undefined || issue.input === null\n        ? 'Please provide how many days the replay stays available.'\n        : 'Replay retention must be a valid number of days.',\n  })\n  .int('Replay retention must be a whole number of days.')\n  .min(1, 'Replay must be available for at least 1 day.')\n  .max(365, 'Replay retention cannot exceed 365 days.');\n\nconst replayPriceSchema = z\n  .number({\n    error: (issue) =>\n      issue.input === undefined || issue.input === null\n        ? 'Please set a price for the paid replay.'\n        : 'Replay price must be a valid number.',\n  })\n  .positive('Replay price must be greater than 0.');\n\nexport const ReplaySchema = z.discriminatedUnion(\n  'access',\n  [\n    z.object({\n      access: z.literal(EventReplayAccess.INCLUDED),\n      retentionDays: retentionDaysSchema,\n    }),\n    z.object({\n      access: z.literal(EventReplayAccess.PAID_SEPARATELY),\n      retentionDays: retentionDaysSchema,\n      price: replayPriceSchema,\n    }),\n    z.object({\n      access: z.literal(EventReplayAccess.DISABLED),\n    }),\n  ],\n  {\n    error: (issue) =>\n      issue.input === undefined ||\n      issue.input === null ||\n      (typeof issue.input === 'object' && (issue.input as { access?: unknown }).access == null)\n        ? 'Please choose a replay access option.'\n        : 'Invalid replay access option selected.',\n  },\n);\n\nexport const CurrencySchema = z.enum(CurrencyEnum);\nexport const CategorySchema = z.enum(EventCategory);\nexport const VisibilitySchema = z.enum(EventVisibility);\n\nexport const ViewingSessionModeSchema = z.enum(['LIVE_EDGE', 'CATCHUP']);\n\nconst WizardBasicsShape = {\n  title: z.string().min(3).max(120),\n  description: z.string().min(20).max(1200),\n  category: CategorySchema,\n  scheduledStartLocal: z.iso.datetime({ local: true, offset: false }),\n  durationMinutes: z.number().int().min(5).max(720),\n  coverImageUrl: z.any().optional(),\n  timezone: z.string(),\n  previewClipUrl: z.any().optional(),\n  tags: z.array(z.string().min(1).max(30)).max(10).optional(),\n  location: z.string().max(120).optional(),\n};\n\n/**\n * Upper bound on a private event's guest list, typed or imported. Guests\n * only gate access when the event is `inviteOnly`; PUBLIC events ignore them.\n */\nexport const GUEST_LIST_MAX = 5000;\n\n/** Imports from `POST /host/events/guest-imports` to link to the event. */\nexport const GuestImportIdsSchema = z.array(z.uuid()).max(20);\n\nconst WizardAccessFreeShape = {\n  paid: z.literal(false),\n  visibility: VisibilitySchema,\n  /** PRIVATE only: true = only guests on the list can join (needs ≥1 guest). */\n  inviteOnly: z.boolean().optional(),\n  guestEmails: z.array(z.email()).max(GUEST_LIST_MAX).optional(),\n  guestImportIds: GuestImportIdsSchema.optional(),\n  /** Viewers can chat during the stream. Defaults to true. */\n  liveChatEnabled: z.boolean().optional(),\n  replay: ReplaySchema,\n};\n\nconst WizardAccessPaidShape = {\n  paid: z.literal(true),\n  visibility: VisibilitySchema,\n  /** PRIVATE only: true = only guests on the list can join (needs ≥1 guest). */\n  inviteOnly: z.boolean().optional(),\n  guestEmails: z.array(z.email()).max(GUEST_LIST_MAX).optional(),\n  guestImportIds: GuestImportIdsSchema.optional(),\n  /** Viewers can chat during the stream. Defaults to true. */\n  liveChatEnabled: z.boolean().optional(),\n  ticketPrice: z.number().positive(),\n  ticketCurrency: CurrencySchema,\n  ticketLimit: z.number().int().positive().nullable(),\n  replay: ReplaySchema,\n};\n\nconst Step1Schema = z.object({ step: z.literal(1), ...WizardBasicsShape });\n\nconst Step2FreeSchema = z.object({ step: z.literal(2), ...WizardAccessFreeShape });\n\nconst Step2PaidSchema = z.object({ step: z.literal(2), ...WizardAccessPaidShape });\n\n/** `POST /host/events/wizard` body: basics + access & pricing in one request. */\nexport const HostEventWizardCreateSchema = z.discriminatedUnion('paid', [\n  z.object({ ...WizardBasicsShape, ...WizardAccessFreeShape }),\n  z.object({ ...WizardBasicsShape, ...WizardAccessPaidShape }),\n]);\n\nconst Step3SelfSchema = z.object({\n  step: z.literal(3),\n  mode: z.literal(EventProductionMode.SELF),\n  streamingMode: z.enum(EventStreamingMode),\n});\n\nconst Step3HireSchema = z.object({\n  step: z.literal(3),\n  mode: z.literal(EventProductionMode.HIRE),\n  /**\n   * Legacy Direct Hire: non-empty `crewIds` still creates REQUESTED bookings\n   * via `createForEvent`. Assign Role FE may send `[]` and use\n   * `/crew-assignments` instead (booking only on vendor accept).\n   */\n  crewIds: z.array(z.uuid()).min(1).max(5).default([]),\n  notes: z.string().max(500).optional(),\n});\n\nexport const StartViewingSessionRequestSchema = z.object({\n  deviceType: z.string().max(50).optional(),\n  mode: ViewingSessionModeSchema.default('LIVE_EDGE').optional(),\n});\n\nexport const PatchStreamControlRequestSchema = z\n  .object({\n    streamEnabled: z.boolean(),\n  })\n  .strict();\n\nexport const HostEventWizardPatchSchema = z.union([\n  Step1Schema,\n  Step2FreeSchema,\n  Step2PaidSchema,\n  Step3SelfSchema,\n  Step3HireSchema,\n]);\n\nconst Currency = z.string().min(3).max(8);\n\nconst IsoDateOnly = z.string().regex(/^\\d{4}-\\d{2}-\\d{2}$/, 'must be YYYY-MM-DD');\n\n// ─── Query DTOs ───────────────────────────────────────────────────\n\nexport const HostEarningsSummaryQuerySchema = z\n  .object({\n    from: IsoDateOnly,\n    to: IsoDateOnly,\n    eventId: z.uuid().optional(),\n    currency: Currency.optional(),\n  })\n  .strict();\n\nexport const HostEarningsBreakdownQuerySchema = z\n  .object({\n    from: IsoDateOnly,\n    to: IsoDateOnly,\n    currency: Currency.optional(),\n    pageNumber: z.coerce.number().int().min(1).optional(),\n    pageSize: z.coerce.number().int().min(1).max(100).optional(),\n    search: z.string().trim().min(1).max(100).optional(),\n  })\n  .strict();\n\nexport const HostEarningsTimeseriesQuerySchema = z\n  .object({\n    from: IsoDateOnly,\n    to: IsoDateOnly,\n    granularity: z.enum(['daily', 'weekly']),\n    currency: Currency.optional(),\n  })\n  .strict();\n\n// ─── Response DTOs ─────────────────────────────────────────────────\n\n/**\n * Earnings summary card. Each money field is a MoneyDto per\n * MONEY_MULTI_CURRENCY.md §4 (amount + currency colocated). The\n * previously-top-level `currency` is gone — every amount carries its\n * unit so the FE never has to remember which currency applies where.\n */\nexport const HostEarningsSummaryResponseSchema = z\n  .object({\n    from: IsoDateOnly,\n    to: IsoDateOnly,\n    /** Host's take of ticket revenue in the range. */\n    gross: MoneySchema,\n    /** Refunds reversed in the range. */\n    refunds: MoneySchema,\n    /** gross − refunds. */\n    net: MoneySchema,\n    /** Live withdrawable balance from the ledger (not the rollup). */\n    available: MoneySchema,\n    /** Live HOST_PENDING balance from the ledger (not the rollup). */\n    pending: MoneySchema,\n    ticketsSold: z.number().int().nonnegative(),\n    avgTicketPrice: MoneySchema,\n    previousPeriodDelta: z.object({\n      percentage: z.number().nullable(),\n      /**\n       * Direction of the change vs the prior range. Always defined\n       * (unlike `percentage`, which is null when prior gross was zero).\n       */\n      direction: DeltaDirectionSchema,\n      /** Prior range gross (MoneyDto). */\n      gross: MoneySchema,\n    }),\n    revenueSplit: z.object({\n      hostShare: MoneySchema,\n      platformFee: MoneySchema,\n      crewSalaries: MoneySchema,\n    }),\n  })\n  .strict();\n\nexport const HostEarningsBreakdownItemSchema = z\n  .object({\n    eventId: z.uuid(),\n    eventTitle: z.string(),\n    gross: MoneySchema,\n    refunds: MoneySchema,\n    net: MoneySchema,\n    /** Earliest day the event had ledger activity in this range. */\n    firstActivityAt: IsoDateOnly,\n    /** Latest day the event had ledger activity in this range. */\n    lastActivityAt: IsoDateOnly,\n    ticketsSold: z.number().int().nonnegative(),\n    status: z.enum(['COMPLETED', 'LIVE', 'SCHEDULED']),\n  })\n  .strict();\n\nexport const HostEarningsBreakdownResponseSchema = z\n  .object({\n    items: z.array(HostEarningsBreakdownItemSchema),\n    ...PaginationResponseSchema.shape,\n  })\n  .strict();\n\nexport const HostEarningsTimeseriesPointSchema = z\n  .object({\n    /** ISO date. For weekly, the Monday-start of the bucket. */\n    date: IsoDateOnly,\n    gross: MoneySchema,\n    refunds: MoneySchema,\n    net: MoneySchema,\n  })\n  .strict();\n\n/**\n * Top-level `currency` dropped — each point's MoneyDto carries its\n * unit (spec §4). Callers rendering a chart title still get the\n * currency via `points[i].gross.currency`.\n */\nexport const HostEarningsTimeseriesResponseSchema = z\n  .object({\n    granularity: z.enum(['daily', 'weekly']),\n    points: z.array(HostEarningsTimeseriesPointSchema),\n  })\n  .strict();\n\n// --- Public (unauthenticated) event pages ---\nexport const PublicEventStatusSchema = z.enum(['ALL', 'LIVE', 'UPCOMING', 'PAST']);\n\nexport const PublicEventCardSchema = z.object({\n  id: z.uuid(),\n  title: z.string(),\n  timezone: z.string(),\n  description: z.string().nullable(),\n  coverImageUrl: z.url().nullable(),\n  previewClipUrl: z.string().nullable(),\n  category: z.enum(EventCategory),\n  accessModel: z.enum(EventAccessModel),\n  ticketPrice: MoneySchema.nullable(),\n  isFeatured: z.boolean(),\n  scheduledStartLocal: z.string(),\n  scheduledStart: z.iso.datetime(),\n  hostDisplayName: z.string().nullable(),\n});\n\nexport const PublicEventsQuerySchema = PaginationParamsSchema.extend({\n  status: PublicEventStatusSchema.default('ALL'),\n  category: z.enum(EventCategory).optional(),\n  q: z\n    .string()\n    .trim()\n    .max(100)\n    .optional()\n    .transform((value) => (value && value.length > 0 ? value : undefined)),\n});\n\nexport const PublicEventsResponseSchema = PaginationResponseSchema.extend({\n  items: z.array(PublicEventCardSchema),\n});\n\n// Ingest-substate discriminants for the anonymous player. Defined\n// inline (instead of importing `AwaitingIngestSchema` from\n// `../payment`) to avoid a payment↔event schema cycle — payment.schemas\n// already imports enums from `../event`.\nconst PublicTrailerSchema = z.object({\n  kind: z.literal('TRAILER'),\n  trailerUrl: z.string(),\n});\nconst PublicSlateSchema = z.object({\n  kind: z.literal('SLATE'),\n  slate: z.object({\n    title: z.string(),\n    hostDisplayName: z.string().nullable(),\n    scheduledStartLocal: z.iso.datetime({ local: true, offset: false }),\n  }),\n});\nconst PublicAwaitingIngestSchema = z.discriminatedUnion('kind', [\n  PublicTrailerSchema,\n  PublicSlateSchema,\n]);\n\n// Single-event detail for the anonymous/share landing page. Mirrors\n// ViewerEventDetailResponseSchema but WITHOUT the `viewer` block —\n// entitlement, purchaseCta, activeIntentReference all require a\n// resolved user. Any published event resolves here by id, so a PRIVATE\n// event's link works before sign-in; only PUBLIC events are ever listed.\nexport const PublicEventDetailResponseSchema = z.object({\n  id: z.uuid(),\n  title: z.string(),\n  description: z.string().nullable(),\n  coverImageUrl: z.url().nullable(),\n  category: z.enum(EventCategory),\n  timezone: z.string(),\n  scheduledStart: z.iso.datetime(),\n  scheduledEnd: z.iso.datetime(),\n  scheduledStartLocal: z.iso.datetime({ local: true, offset: false }),\n  scheduledEndLocal: z.iso.datetime({ local: true, offset: false }),\n  state: z.enum(EventState),\n  accessModel: z.enum(EventAccessModel),\n  visibility: z.enum(EventVisibility),\n  ticketPrice: MoneySchema.nullable(),\n  replayAccess: z.enum(EventReplayAccess),\n  replayAccessFee: MoneySchema.nullable(),\n  isFeatured: z.boolean(),\n  hostDisplayName: z.string().nullable(),\n  hostBio: z.string().nullable(),\n  previewClipUrl: z.string().nullable(),\n  remainingTickets: z.number().int().nullable(),\n  liveStartedAt: z.iso.datetime().nullable(),\n  liveEndedAt: z.iso.datetime().nullable(),\n  replayAvailableUntil: z.iso.datetime().nullable(),\n  ingestSubstate: z.enum(['AWAITING_INGEST', 'STREAMING']).nullable(),\n  awaitingIngestContent: PublicAwaitingIngestSchema.nullable(),\n  /** Only guests on the host's list can join; sign-in is required to check. */\n  inviteOnly: z.boolean(),\n});\n\n/**\n * `GET /public/invites/:token` — what the invite email already told the\n * recipient, so the sign-up page can show the event before an account exists.\n */\nexport const EventInvitePreviewResponseSchema = z.object({\n  eventId: z.uuid(),\n  title: z.string(),\n  coverImageUrl: z.string().nullable(),\n  scheduledStart: z.iso.datetime(),\n  scheduledStartLocal: z.iso.datetime({ local: true, offset: false }),\n  timezone: z.string(),\n  hostDisplayName: z.string().nullable(),\n  /** The invited address; sign-up is locked to it. */\n  email: z.email(),\n  /** An account already uses this email — send the viewer to sign in. */\n  hasAccount: z.boolean(),\n});\n\nexport const HostLivePreviewSchema = z.object({\n  playbackUrl: z.url(),\n  token: z.string(),\n  expiresAt: z.iso.datetime(),\n});\n\nexport const PatchReplayPeriodRequestSchema = z.object({\n  retentionDays: z.number().int().min(1).max(90),\n});\n\nexport const PatchReplayPeriodResponseSchema = z.object({\n  eventId: z.uuid(),\n  liveEndedAt: z.iso.datetime(),\n  retentionDays: z.number().int().min(1).max(90),\n  replayAvailableUntil: z.iso.datetime(),\n});\n\nexport const HostEventTicketSalesTimelineQuerySchema = z.object({\n  granularity: z.enum(['daily']).optional().default('daily'),\n  from: z\n    .string()\n    .regex(/^\\d{4}-\\d{2}-\\d{2}$/, 'from must be YYYY-MM-DD')\n    .optional(),\n  to: z\n    .string()\n    .regex(/^\\d{4}-\\d{2}-\\d{2}$/, 'to must be YYYY-MM-DD')\n    .optional(),\n});\n\nexport const HostEventTicketSalesTimelinePointSchema = z.object({\n  /** UTC-anchored `YYYY-MM-DD` — one point per calendar day in the range. */\n  date: z.string(),\n  /** SUCCEEDED PaymentIntent count for this day. */\n  ticketsSold: z.number().int().nonnegative(),\n  /** Per-day SUCCEEDED payment total as a MoneyDto (§4). */\n  revenue: MoneySchema,\n});\n\n/**\n * Top-level `currency` dropped — every point's revenue MoneyDto carries\n * its own unit per MONEY_MULTI_CURRENCY.md §4.\n */\nexport const HostEventTicketSalesTimelineResponseSchema = z.object({\n  eventId: z.uuid(),\n  granularity: z.enum(['daily']),\n  from: z.string(),\n  to: z.string(),\n  points: z.array(HostEventTicketSalesTimelinePointSchema),\n});\n\nexport const HostAudienceQuerySchema = z.object({\n  from: z\n    .string()\n    .regex(/^\\d{4}-\\d{2}-\\d{2}$/, 'from must be YYYY-MM-DD')\n    .optional(),\n  to: z\n    .string()\n    .regex(/^\\d{4}-\\d{2}-\\d{2}$/, 'to must be YYYY-MM-DD')\n    .optional(),\n  eventId: z.uuid().optional(),\n});\n\n/** Cohort as `{ count, pct }` — pct is a 0..1 ratio, rounded to 4dp. */\nconst CohortSegmentSchema = z.object({\n  count: z.number().int().nonnegative(),\n  pct: z.number().min(0).max(1),\n});\n\n/**\n * Prior-period comparison tile shape. `percentagePrev` is `null` when\n * the previous period had zero so the FE renders \"N/A\" instead of\n * dividing by zero. Delta rounded to one decimal. `direction` is\n * always defined (derived from raw current vs previous).\n */\nconst CountWithPrevDeltaSchema = z.object({\n  count: z.number().int().nonnegative(),\n  percentagePrev: z.number().nullable(),\n  direction: DeltaDirectionSchema,\n});\n\nexport const HostAudienceSummaryResponseSchema = z.object({\n  /** Range echoed back so the FE doesn't have to guess when omitted. */\n  from: z.iso.datetime(),\n  to: z.iso.datetime(),\n  currency: z.string(),\n  summary: z.object({\n    /**\n     * Total viewing-session count across all in-range events plus\n     * a percentage delta vs the mirrored prior period.\n     */\n    totalViewers: CountWithPrevDeltaSchema,\n    /** Distinct viewer count across all in-range events. */\n    uniqueViewers: z.number().int().nonnegative(),\n    /** Distinct viewers who both watched AND paid in the range. */\n    liveSpenders: z.number().int().nonnegative(),\n    /** Distinct viewers who watched but never paid (any host event). */\n    casualViewers: z.number().int().nonnegative(),\n    /** Distinct viewers with `>= 2` sessions inside the requested range. */\n    repeatViewers: z.number().int().nonnegative(),\n    /** Distinct viewers whose first-ever host session lies in-range. */\n    newThisPeriod: z.number().int().nonnegative(),\n  }),\n  segments: z.object({\n    /** Viewers whose first-ever session with this host lies in-range. */\n    newViewers: CohortSegmentSchema,\n    /** Viewers with `>= RETURNING_VIEWER_MIN_EVENTS` lifetime host events. */\n    returningViewers: CohortSegmentSchema,\n    /** Viewers with lifetime spend `>= HIGH_VALUE_SPEND_MINOR`. */\n    highValueBuyers: CohortSegmentSchema,\n    /** Viewers with zero lifetime spend on any of this host's events. */\n    casualViewers: CohortSegmentSchema,\n  }),\n  revenuePerViewer: z.object({\n    /**\n     * Distinct viewers who paid at least once inside the requested\n     * range. Period-scoped, so does NOT necessarily equal\n     * `bands.low + bands.mid + bands.high` (bands are lifetime-based).\n     */\n    total: z.number().int().nonnegative(),\n    /**\n     * Mean in-range spend per in-range spender as a MoneyDto (§4).\n     * Amount is 0 when there are no in-range spenders; currency is\n     * still the host's default so the FE can render \"₦0.00\".\n     */\n    averageSpend: MoneySchema,\n    /**\n     * Percentage delta of `averageSpend` vs the mirrored prior period.\n     * `null` when the prior average was zero.\n     */\n    percentagePrev: z.number().nullable(),\n    /**\n     * Direction of the change vs the mirrored prior period. Always\n     * defined (unlike `percentagePrev`).\n     */\n    direction: DeltaDirectionSchema,\n    /**\n     * Cohort split by *lifetime* spend across this host's events.\n     * Kept as the pre-existing shape so the FE bars keep working.\n     */\n    bands: z.object({\n      lowSpenders: z.number().int().nonnegative(),\n      midSpenders: z.number().int().nonnegative(),\n      highSpenders: z.number().int().nonnegative(),\n    }),\n  }),\n});\n\nexport const HostAudienceEngagementQuerySchema = z.object({\n  from: z\n    .string()\n    .regex(/^\\d{4}-\\d{2}-\\d{2}$/, 'from must be YYYY-MM-DD')\n    .optional(),\n  to: z\n    .string()\n    .regex(/^\\d{4}-\\d{2}-\\d{2}$/, 'to must be YYYY-MM-DD')\n    .optional(),\n  /** Case-insensitive event title search. */\n  search: z.string().trim().min(1).max(120).optional(),\n  ...PaginationParamsSchema.shape,\n});\n\nconst HostAudienceEngagementItemSchema = z.object({\n  eventId: z.uuid(),\n  eventTitle: z.string(),\n  /** Distinct viewers for this event inside the requested range. */\n  viewers: z.number().int().nonnegative(),\n  /**\n   * Peak concurrent live viewers ever observed for this event\n   * (lifetime — not scoped to the range). Reads from\n   * `event_audience_summaries.peak_concurrent`.\n   */\n  peakConcurrent: z.number().int().nonnegative(),\n  /** Replay view count for this event inside the requested range. */\n  replays: z.number().int().nonnegative(),\n});\n\nexport const HostAudienceEngagementResponseSchema = z.object({\n  from: z.iso.datetime(),\n  to: z.iso.datetime(),\n  items: z.array(HostAudienceEngagementItemSchema),\n  ...PaginationResponseSchema.shape,\n});\n\nexport const HostAudienceTopViewersQuerySchema = z.object({\n  /** 1..50 top spenders. Defaults to 10 to match the mock. */\n  limit: z.coerce.number().int().min(1).max(50).optional().default(10),\n});\n\nconst TopViewerItemSchema = z.object({\n  userId: z.uuid(),\n  displayName: z.string(),\n  avatarKey: z.string().nullable(),\n  /** Lifetime spend across this host's events (MoneyDto). */\n  totalSpend: MoneySchema,\n  /** Number of distinct paid events from this host. */\n  eventCount: z.number().int().nonnegative(),\n});\n\n/**\n * `currency` is intentionally omitted at the response level — each\n * item carries its own `MoneyDto` per MONEY_MULTI_CURRENCY.md §4.\n */\nexport const HostAudienceTopViewersResponseSchema = z.object({\n  items: z.array(TopViewerItemSchema),\n});\n\nconst ActivityFeedItemSchema = z.object({\n  kind: z.enum(['TICKET_SOLD', 'REPLAY_SOLD']),\n  subjectType: z.enum(['Event', 'PaymentIntent', 'ReplayPurchase', 'Booking']),\n  subjectId: z.string(),\n  /** Unix ms — matches the ZSET score. */\n  occurredAt: z.number(),\n  /** Free-form payload from the host activity emitter. */\n  payload: z.record(z.string(), z.unknown()),\n});\n\nexport const HostAudienceActivityFeedResponseSchema = z.object({\n  items: z.array(ActivityFeedItemSchema),\n  ...PaginationResponseSchema.shape,\n});\n\nexport const HostAudienceGeoResponseSchema = z.object({\n  from: z.iso.datetime(),\n  to: z.iso.datetime(),\n  items: z.array(\n    z.object({\n      /** ISO 3166-1 alpha-2 uppercase, or `UNKNOWN` when geo-ip failed. */\n      country: z.string(),\n      viewerCount: z.number().int().nonnegative(),\n    }),\n  ),\n});\n\nexport const HostAudienceDevicesResponseSchema = z.object({\n  from: z.iso.datetime(),\n  to: z.iso.datetime(),\n  items: z.array(\n    z.object({\n      /** Normalised lowercase bucket (`mobile`, `desktop`, `tablet`, `unknown`). */\n      deviceType: z.string(),\n      viewerCount: z.number().int().nonnegative(),\n    }),\n  ),\n});\n\nexport const HostAudienceViewerActivityResponseSchema = z.object({\n  from: z.iso.datetime(),\n  to: z.iso.datetime(),\n  granularity: z.enum(['daily']),\n  points: z.array(\n    z.object({\n      /** UTC-anchored `YYYY-MM-DD`; one point per calendar day in range. */\n      date: z.string(),\n      viewers: z.number().int().nonnegative(),\n    }),\n  ),\n});\n\nexport const HostAudienceViewerActivityQuerySchema = HostAudienceQuerySchema.extend({\n  granularity: z.enum(['daily']).optional().default('daily'),\n});\n\n// ─── /viewing-session socket wire contracts ───────────────────────────\n\n/**\n * Discriminates the LIVE substate for the viewer player. Matches the\n * `ingestSubstate` field on `PublicEventDetailResponse`.\n *   - `AWAITING_INGEST`: host went LIVE, no ingest frames yet.\n *   - `STREAMING`: ingest received at least once.\n *   - `null`: any non-LIVE state.\n */\nexport const IngestSubstateSchema = z.enum(['AWAITING_INGEST', 'STREAMING']).nullable();\n\n/**\n * Lifecycle state feed (Event.state) pushed over the `/viewing-session`\n * namespace. Snapshot + transitions share this shape; `isSnapshot`\n * discriminates a connect-time read from a real transition.\n */\nexport const EventStatePayloadSchema = z.object({\n  eventId: z.string(),\n  state: z.enum(EventState),\n  previousState: z.enum(EventState).nullable(),\n  occurredAt: z.iso.datetime(),\n  isSnapshot: z.literal(true).optional(),\n});\n\n/**\n * Ingest-substate feed pushed over the `/viewing-session` namespace.\n * Distinct from `EventStatePayload` because the LIVE lifecycle doesn't\n * move when ingest starts.\n */\nexport const StreamStatePayloadSchema = z.object({\n  eventId: z.string(),\n  ingestSubstate: IngestSubstateSchema,\n  /** First-frame timestamp; null unless `ingestSubstate` is STREAMING. */\n  startedAt: z.iso.datetime().nullable(),\n  isSnapshot: z.literal(true).optional(),\n});\n\nexport const StreamControlPayloadSchema = z.object({\n  eventId: z.string(),\n  streamEnabled: z.boolean(),\n  occurredAt: z.iso.datetime(),\n  isSnapshot: z.literal(true).optional(),\n});\n\n/**\n * ACK for the `heartbeat` frame on the `/viewing-session` namespace.\n * `reason` is set only when `ok === false`; the socket is closed by\n * the server on the same tick.\n */\nexport const ViewingSessionHeartbeatAckSchema = z.object({\n  ok: z.boolean(),\n  reason: z.enum(['unauthorized', 'session_ended', 'not_owner', 'internal']).optional(),\n});\n\n/**\n * ACK for `watch-progress` writes. Failure leaves the socket open —\n * see the gateway rationale.\n */\nexport const ViewingSessionWatchProgressAckSchema = z.object({\n  ok: z.boolean(),\n  /** Position now in effect — may trail the sent value when coalesced. */\n  positionSec: z.number().nonnegative().optional(),\n  reason: z.enum(['unauthorized', 'invalid_payload', 'not_replayable', 'internal']).optional(),\n});\n\n/**\n * ACK for `watch-progress-get` reads. Mirrors the shape of\n * `GET /viewer/events/:id/watch-progress`.\n */\nexport const ViewingSessionWatchProgressGetAckSchema = z.object({\n  ok: z.boolean(),\n  progress: WatchProgressResponseSchema.optional(),\n  reason: z.enum(['unauthorized', 'internal']).optional(),\n});\n\n// ─── /crew-presence socket wire contracts ─────────────────────────────\n\n/**\n * ACK for `heartbeat` on the `/crew-presence` namespace. `firstBeatOfSession`\n * is set on the first beat of a fresh presence session so the host\n * console can render a \"joined\" chip.\n */\nexport const CrewPresenceHeartbeatAckSchema = z.object({\n  ok: z.boolean(),\n  reason: z.enum(['unauthorized', 'not_crew', 'internal']).optional(),\n  firstBeatOfSession: z.boolean().optional(),\n});\n\n// ─── namespace event-name unions ──────────────────────────────────────\n\n/** Client → server frame names on `/viewing-session`. */\nexport const ViewingSessionEvents = {\n  Heartbeat: 'heartbeat',\n  WatchProgress: 'watch-progress',\n  WatchProgressGet: 'watch-progress-get',\n} as const;\n\n/** Server → client frame names on `/viewing-session`. */\nexport const ViewingSessionServerEvents = {\n  EventState: 'event-state',\n  StreamState: 'stream-state',\n  StreamControl: 'stream-control',\n} as const;\n\n/** Server → client frame names on `/viewer-events`. */\nexport const ViewerEventsBusEvents = {\n  StateChanged: 'event.state.changed',\n  Updated: 'event.updated',\n  Cancelled: 'event.cancelled',\n  StreamStarted: 'event.stream.started',\n  StreamControl: 'event.stream.control_changed',\n  Extended: 'event.extended',\n} as const;\n\n/** Client → server frame names on `/crew-presence`. */\nexport const CrewPresenceEvents = {\n  Heartbeat: 'heartbeat',\n} as const;\n","import { z } from 'zod';\nimport { PaginationParamsSchema, PaginationResponseSchema } from '../common';\n\n/** Half a star is the lowest a viewer can give — 0 means \"no rating yet\". */\nexport const EVENT_FEEDBACK_RATING_MIN = 0.5;\nexport const EVENT_FEEDBACK_RATING_MAX = 5;\nexport const EVENT_FEEDBACK_RATING_STEP = 0.5;\nexport const EVENT_FEEDBACK_MESSAGE_MIN = 10;\nexport const EVENT_FEEDBACK_MESSAGE_MAX = 2000;\n\nconst RATING_RANGE_ERROR = `Please choose a rating between ${EVENT_FEEDBACK_RATING_MIN} and ${EVENT_FEEDBACK_RATING_MAX} stars.`;\n\nconst EventFeedbackRatingSchema = z\n  .number({ error: 'Please select a rating.' })\n  .min(EVENT_FEEDBACK_RATING_MIN, RATING_RANGE_ERROR)\n  .max(EVENT_FEEDBACK_RATING_MAX, RATING_RANGE_ERROR)\n  .multipleOf(EVENT_FEEDBACK_RATING_STEP, 'Please rate in half stars, like 3 or 3.5.');\n\n/**\n * `POST /viewer/events/:id/feedback`. Feedback is append-only — each submission\n * is a new record, so a viewer may submit more than once per event.\n */\nexport const CreateEventFeedbackRequestSchema = z.strictObject(\n  {\n    rating: EventFeedbackRatingSchema,\n    message: z\n      .string({ error: 'Please write your feedback.' })\n      .trim()\n      .min(\n        EVENT_FEEDBACK_MESSAGE_MIN,\n        `Please write at least ${EVENT_FEEDBACK_MESSAGE_MIN} characters of feedback.`,\n      )\n      .max(\n        EVENT_FEEDBACK_MESSAGE_MAX,\n        `Please keep your feedback under ${EVENT_FEEDBACK_MESSAGE_MAX} characters.`,\n      ),\n  },\n  // `.strict({ error })` is ignored in Zod v4; only this form applies.\n  { error: 'Please send only a rating and a message.' },\n);\n\nexport const EventFeedbackResponseSchema = z.object({\n  id: z.uuid(),\n  eventId: z.uuid(),\n  viewerId: z.uuid(),\n  rating: EventFeedbackRatingSchema,\n  message: z.string(),\n  createdAt: z.iso.datetime(),\n});\n\nexport const HostEventFeedbackViewerSchema = z.object({\n  id: z.uuid(),\n  displayName: z.string().nullable(),\n  avatarUrl: z.string().nullable(),\n});\n\nexport const HostEventFeedbackItemSchema = z.object({\n  id: z.uuid(),\n  rating: EventFeedbackRatingSchema,\n  message: z.string(),\n  viewer: HostEventFeedbackViewerSchema,\n  createdAt: z.iso.datetime(),\n});\n\n/**\n * `averageRating` counts each viewer's most recent submission only, rounded to\n * one decimal place; 0 when the event has no feedback.\n */\nexport const HostEventFeedbackSummarySchema = z.object({\n  averageRating: z.number().min(0).max(EVENT_FEEDBACK_RATING_MAX),\n});\n\nexport const ListHostEventFeedbackQuerySchema = PaginationParamsSchema;\n\nexport const PagedHostEventFeedbackResponseSchema = z.object({\n  items: z.array(HostEventFeedbackItemSchema),\n  summary: HostEventFeedbackSummarySchema,\n  ...PaginationResponseSchema.shape,\n});\n","import { z } from 'zod';\nimport { MoneySchema } from '../common';\nimport {\n  AccessReason,\n  BookingEscrowState,\n  ContractFundingIntentStatus,\n  ContractFundingSource,\n  CtaMode,\n  EntitlementStatus,\n  PaymentStatus,\n  PayoutState,\n  ReplayPurchaseStatus,\n  SettlementProfileType,\n} from './payment.enums';\nimport { EventInviteStatus, EventReplayAccess } from '../event';\n\nexport const InitiatePaymentRequestSchema = z.object({\n  eventId: z.uuid(),\n  amount: z.number().min(0),\n});\n\nexport const InitiatePaymentResponseSchema = z.object({\n  authorizationUrl: z.url(),\n  reference: z.string(),\n  accessCode: z.string().optional(),\n});\n\nexport const CreatePurchaseResponseSchema = z.object({\n  reference: z.string(),\n  checkoutUrl: z.url().nullable(),\n  status: z.enum(PaymentStatus),\n  expiresAt: z.iso.datetime(),\n});\nexport const PurchaseStatusResponseSchema = z.object({\n  reference: z.string(),\n  status: z.enum(PaymentStatus),\n  eventId: z.uuid(),\n  amount: MoneySchema,\n  paidAt: z.iso.datetime().nullable(),\n});\n\nexport const AccessCheckRequestSchema = z.object({\n  /**\n   * @deprecated Ignored: the check only ever evaluates the signed-in caller,\n   * so it can't be used to probe a guest list.\n   */\n  email: z.email().optional(),\n});\n\nconst PaystackMetadataSchema = z\n  .object({\n    intent_id: z.uuid(),\n    user_id: z.uuid(),\n    event_id: z.uuid(),\n  })\n  .loose();\n\nconst PaystackAuthorizationSchema = z\n  .object({\n    authorization_code: z.string(),\n    bin: z.string().nullish(),\n    last4: z.string().nullish(),\n    exp_month: z.string().nullish(),\n    exp_year: z.string().nullish(),\n    channel: z.string().nullish(),\n    card_type: z.string().nullish(),\n    bank: z.string().nullish(),\n    country_code: z.string().nullish(),\n    brand: z.string().nullish(),\n    reusable: z.boolean().nullish(),\n    signature: z.string().nullish(),\n    account_name: z.string().nullish(),\n    receiver_bank_account_number: z.string().nullish(),\n    receiver_bank: z.string().nullish(),\n  })\n  .loose();\n\nconst PaystackCustomerSchema = z\n  .object({\n    id: z.number(),\n    first_name: z.string().nullish(),\n    last_name: z.string().nullish(),\n    email: z.email(),\n    customer_code: z.string(),\n    phone: z.string().nullish(),\n    metadata: z.unknown().nullish(),\n    risk_action: z.string().nullish(),\n    international_format_phone: z.string().nullish(),\n  })\n  .loose();\n\nconst PaystackSourceSchema = z\n  .object({\n    type: z.string().nullish(),\n    source: z.string().nullish(),\n    entry_point: z.string().nullish(),\n    identifier: z.string().nullish(),\n  })\n  .loose();\n\nexport const PaystackWebhookSchema = z\n  .object({\n    event: z.string(),\n    data: z\n      .object({\n        id: z.number(),\n        domain: z.string().optional(),\n        status: z.string(),\n        reference: z.string(),\n        amount: z.number(),\n        message: z.string().nullish(),\n        gateway_response: z.string().nullish(),\n        paid_at: z.string().nullish(),\n        paidAt: z.string().nullish(),\n        created_at: z.string().nullish(),\n        channel: z.string().nullish(),\n        currency: z.string(),\n        ip_address: z.string().nullish(),\n        fees: z.number().nullish(),\n        fees_breakdown: z.unknown().nullish(),\n        fees_split: z.unknown().nullish(),\n        log: z.unknown().nullish(),\n        order_id: z.string().nullish(),\n        requested_amount: z.number().nullish(),\n        pos_transaction_data: z.unknown().nullish(),\n        plan: z.object({}).loose().optional(),\n        subaccount: z.object({}).loose().optional(),\n        split: z.object({}).loose().optional(),\n        metadata: PaystackMetadataSchema,\n        authorization: PaystackAuthorizationSchema.optional(),\n        customer: PaystackCustomerSchema.optional(),\n        source: PaystackSourceSchema.optional(),\n      })\n      .loose(),\n  })\n  .loose();\n\nexport const AccessCheckResponseSchema = z.object({\n  qualified: z.boolean(),\n  reason: z.enum(AccessReason),\n});\n\nexport const PricingQuoteResponseSchema = z.object({\n  reference: z.null(),\n  subtotal: MoneySchema,\n  platformFee: MoneySchema,\n  total: MoneySchema,\n  strategyId: z.string(),\n  expiresInSec: z.number().int().positive(),\n});\n\nexport const TrailerSchema = z.object({\n  kind: z.literal('TRAILER'),\n  trailerUrl: z.url(),\n});\n\nexport const SlateSchema = z.object({\n  kind: z.literal('SLATE'),\n  slate: z.object({\n    title: z.string(),\n    hostDisplayName: z.string().nullable(),\n    scheduledStartLocal: z.iso.datetime({ local: true, offset: false }),\n  }),\n});\n\nexport const AwaitingIngestSchema = z.discriminatedUnion('kind', [TrailerSchema, SlateSchema]);\n\n/** The viewer's invite to a private event, when they have one. */\nexport const ViewerEventInviteSchema = z.object({\n  invitedAt: z.iso.datetime(),\n  /** DECLINED invites still grant access if the viewer changes their mind. */\n  status: z.enum(EventInviteStatus),\n});\n\nexport const ViewerEventDetailResponseSchema = z.object({\n  id: z.uuid(),\n  title: z.string(),\n  description: z.string().nullable(),\n  coverImageUrl: z.string().nullable(),\n  category: z.string(),\n  timezone: z.string(),\n  scheduledStart: z.iso.datetime(),\n  scheduledEnd: z.iso.datetime(),\n  scheduledStartLocal: z.iso.datetime({ local: true, offset: false }),\n  scheduledEndLocal: z.iso.datetime({ local: true, offset: false }),\n  state: z.string(),\n  accessModel: z.string(),\n  visibility: z.string(),\n  ticketPrice: MoneySchema.nullable(),\n  replayAccess: z.enum(EventReplayAccess),\n  replayAccessFee: MoneySchema.nullable(),\n  isFeatured: z.boolean(),\n  hostDisplayName: z.string().nullable(),\n  hostBio: z.string().nullable(),\n  previewClipUrl: z.string().nullable(),\n  remainingTickets: z.number().int().nullable(),\n  liveStartedAt: z.iso.datetime().nullable(),\n  liveEndedAt: z.iso.datetime().nullable(),\n  replayAvailableUntil: z.iso.datetime().nullable(),\n  ingestSubstate: z.enum(['AWAITING_INGEST', 'STREAMING']).nullable(),\n  awaitingIngestContent: AwaitingIngestSchema.nullable(),\n  /** Only guests on the host's list can join. */\n  inviteOnly: z.boolean(),\n  viewer: z.object({\n    entitlement: z.enum(EntitlementStatus),\n    purchaseCta: z.enum(CtaMode),\n    activeIntentReference: z.string().optional(),\n    /** @deprecated Read `purchaseCta === 'NOT_INVITED'` instead. */\n    requiresAccessCheck: z.boolean().optional(),\n    invite: ViewerEventInviteSchema.nullable(),\n  }),\n});\n\nexport const ReceiptUrlResponseSchema = z.object({\n  url: z.url(),\n  expiresAt: z.iso.datetime(),\n  contentType: z.string().min(1),\n});\n\nexport const ReplayPurchasePaymentSchema = z.object({\n  reference: z.string(),\n  amount: MoneySchema,\n  checkoutUrl: z.string().optional(),\n});\n\nexport const ReplayPurchaseRowSchema = z.object({\n  id: z.string(),\n  eventId: z.string(),\n  status: z.enum(ReplayPurchaseStatus),\n  source: z.enum(ReplayPurchaseStatus),\n  amount: MoneySchema,\n  paymentExpiresAt: z.iso.datetime().nullable(),\n  expiresAt: z.iso.datetime().nullable(),\n  paidAt: z.iso.datetime().nullable(),\n});\n\nexport const ReplayPurchaseResponseSchema = z.object({\n  replayPurchase: ReplayPurchaseRowSchema,\n  payment: ReplayPurchasePaymentSchema.nullable(),\n});\n\nexport const UpdateSettlementBodySchema = z.object({\n  bankCode: z\n    .string()\n    .trim()\n    .regex(/^\\d{3,10}$/, 'bankCode must be a 3–10 digit numeric string'),\n  accountNumber: z\n    .string()\n    .trim()\n    .regex(/^\\d{10}$/, 'accountNumber must be a 10-digit NUBAN'),\n});\n\nexport const SettlementAccountViewSchema = z.object({\n  bankName: z.string().nullable(),\n  bankCode: z.string().nullable(),\n  accountNumberMasked: z.string().nullable(),\n  accountName: z.string().nullable(),\n  verifiedAt: z.string().nullable(),\n  updatedAt: z.string().nullable(),\n});\n\n/**\n * `POST /host/payouts/withdraw` and `POST /vendor/payouts/withdraw`\n * take no body — step-up auth is proven via the `X-Reauth-Token`\n * header minted by `POST /auth/confirm-pin` (action `WITHDRAW`).\n * Kept as an empty object schema so existing DTO wiring continues to\n * bind cleanly.\n */\nexport const RequestWithdrawalBodySchema = z.object({});\n\n/**\n * `POST /marketplace/bookings/:id/fund-escrow`. The client names the funding\n * route; the amount is read from the booking escrow, never from the request\n * (§3.5: amounts are derived server side). Replay is keyed on the\n * `Idempotency-Key` header, and step-up auth on `X-Reauth-Token`\n * (`FUND_ESCROW`).\n */\nexport const FundEscrowBodySchema = z.object({\n  source: z.enum(ContractFundingSource),\n});\n\n/**\n * A gateway contract funding intent (§8.2 route 1). `amount` is what reaches\n * contract escrow; `providerFee` is charged to the Host on top at checkout\n * under the customer-bears decision (F-03), so the gateway settles `amount`.\n *\n * `checkoutUrl` is null until the provider session exists, and after a\n * terminal transition.\n */\nexport const ContractFundingIntentResponseSchema = z.object({\n  intentId: z.uuid(),\n  bookingId: z.uuid(),\n  reference: z.string(),\n  status: z.enum(ContractFundingIntentStatus),\n  amount: MoneySchema,\n  providerFee: MoneySchema,\n  checkoutUrl: z.url().nullable(),\n  expiresAt: z.iso.datetime(),\n  fundedAt: z.iso.datetime().nullable(),\n});\n\n/**\n * Result of funding an escrow. `BALANCE` settles inside the request, so the\n * escrow comes back `FUNDED` with no `fundingIntent`. `GATEWAY` leaves the\n * escrow `AWAITING_FUNDING` and returns the intent carrying the checkout URL\n * the Host must complete — §8.2: a payment must match the intent on amount,\n * reference, currency and expiry before the escrow is credited.\n */\nexport const FundEscrowResponseSchema = z.object({\n  bookingId: z.uuid(),\n  source: z.enum(ContractFundingSource),\n  escrow: z.object({\n    state: z.enum(BookingEscrowState),\n    amount: MoneySchema,\n  }),\n  /** Null for `BALANCE`. Populated for `GATEWAY`. */\n  fundingIntent: ContractFundingIntentResponseSchema.nullable(),\n});\n\nexport const PandascrowEnvelopeSchema = <T extends z.ZodTypeAny>(data: T) =>\n  z.object({\n    status: z.union([z.boolean(), z.string()]).optional(),\n    message: z.string().optional(),\n    data: data,\n  });\n\n/** Loose envelope used for the pre-flight status check (§request). */\nexport const OuterEnvelopeSchema = z.object({\n  status: z.union([z.boolean(), z.string()]).optional(),\n  message: z.string().optional(),\n  data: z.unknown().optional(),\n});\n\n// Amount fields on the wire — Pandascrow docs say \"lowest denomination\n// as whole numbers\", so all money is minor units and could arrive as\n// number or numeric string. Coerce to bigint on parse.\nexport const MinorAmountSchema = z\n  .union([z.number(), z.string()])\n  .transform((v) => BigInt(v as string | number));\n\nconst CurrencyStr = z.string();\n\nexport const OnetimeEscrowDataSchema = z.object({\n  id: z.string().min(1),\n  status: z.string().min(1),\n  amount: MinorAmountSchema.optional(),\n  currency: CurrencyStr.optional(),\n  funding: z\n    .object({\n      account_number: z.string(),\n      account_name: z.string(),\n      bank_name: z.string(),\n      expires_at: z.string().optional(),\n    })\n    .partial()\n    .optional(),\n});\n\nexport const WalletFundDataSchema = z.object({\n  id: z.string().optional(),\n  transaction_id: z.string().optional(),\n  reference: z.string().optional(),\n  status: z.string().min(1),\n});\n\nexport const MarkCompleteDataSchema = z.object({\n  id: z.string().optional(),\n  transfer_id: z.string().optional(),\n  status: z.string().min(1),\n  requires_otp: z.boolean().optional(),\n});\n\nexport const RefundFlagDataSchema = z.object({\n  id: z.string().optional(),\n  refund_id: z.string().optional(),\n  flag_id: z.string().optional(),\n  status: z.string().min(1),\n});\n\nexport const EscrowStatusDataSchema = z.object({\n  id: z.string().min(1),\n  status: z.string().min(1),\n  amount: MinorAmountSchema.optional(),\n  currency: CurrencyStr.optional(),\n  updated_at: z.string().optional(),\n});\n\nexport const PayoutViewSchema = z.object({\n  id: z.string(),\n  reference: z.string(),\n  state: z.enum(PayoutState),\n  amount: MoneySchema,\n  bankName: z.string().nullable(),\n  accountNumberMasked: z.string(),\n  accountName: z.string(),\n  requestedAt: z.string(),\n  settledAt: z.string().nullable(),\n  failedAt: z.string().nullable(),\n  failureReason: z.string().nullable(),\n});\n\n/**\n * `GET /wallet` (§5.1 `WALLET[account]`).\n *\n * `withdrawable` is deliberately not the whole balance. Only earned value\n * may leave by bank payout — A-10 / I-27 keep refund and reversal credit\n * on-platform, spendable but not withdrawable — and `restricted` is that\n * remainder. Surface both: a client that shows one figure and is then\n * refused a withdrawal has no way to explain why.\n */\nexport const WalletSummarySchema = z.object({\n  balance: MoneySchema,\n  withdrawable: MoneySchema,\n  restricted: MoneySchema,\n});\n\n/**\n * `POST /wallet/move-earnings` — §6.1's one-directional movement of released\n * earnings into the account Wallet. There is no reverse route: §6.2\n * prohibits moving Wallet value back into an earnings position.\n */\nexport const MoveEarningsToWalletBodySchema = z.object({\n  profileType: z.enum(SettlementProfileType),\n  amountMinor: MinorAmountSchema.refine((v) => v > 0n, 'amountMinor must be positive'),\n});\n\nexport const MoveEarningsToWalletResponseSchema = z.object({\n  moved: MoneySchema,\n});\n\n/**\n * `POST /wallet/withdraw`. Takes no amount — the engine drains the\n * withdrawable slice reported by `GET /wallet` — and no PIN: step-up auth is\n * the `X-Reauth-Token` header minted by `POST /auth/confirm-pin` (action\n * `WITHDRAW`), as for the two profile withdraw routes.\n */\nexport const WalletWithdrawBodySchema = z.object({\n  profileType: z.enum(SettlementProfileType),\n});\n"]}