{"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","EventReplayAccess","EventVisibility","EventAccessModel","EventProductionMode","EventStreamingMode","EventAllowListType","EventState","EventCategory","RegistrationStatus","RegistrationScope","ViewerRegistrationView","DiscoverEvents","MyEventsTabSchema","EntitlementKind","CreateEventRequestSchema","z","UpdateEventRequestSchema","EventCardCtaSchema","MoneySchema","EventResponseSchema","EventCardSchema","ViewerHomeResponseSchema","SearchEventsQuerySchema","PaginationParamsSchema","value","DiscoverAggregateResponseSchema","DiscoverSectionResponseSchema","PaginationResponseSchema","DiscoverResponseSchema","PagedEventsResponseSchema","RegisterForEventRequestSchema","RegisterForEventResponseSchema","UpdateWatchProgressRequestSchema","WatchProgressResponseSchema","LiveCatchupSchema","LivePlaybackSchema","ReplayPlaybackSchema","PlaybackResponseSchema","MyEventCardSchema","MyEventsResponseSchema","MyEventsQuerySchema","StartViewingSessionResponseSchema","ViewingSessionHeartbeatResponseSchema","EndViewingSessionResponseSchema","retentionDaysSchema","issue","replayPriceSchema","ReplaySchema","CurrencySchema","CurrencyEnum","CategorySchema","VisibilitySchema","ViewingSessionModeSchema","Step1Schema","Step2FreeSchema","Step2PaidSchema","Step3SelfSchema","Step3HireSchema","StartViewingSessionRequestSchema","PatchStreamControlRequestSchema","HostEventWizardPatchSchema","Currency","IsoDateOnly","HostEarningsSummaryQuerySchema","HostEarningsBreakdownQuerySchema","HostEarningsTimeseriesQuerySchema","HostEarningsSummaryResponseSchema","DeltaDirectionSchema","HostEarningsBreakdownItemSchema","HostEarningsBreakdownResponseSchema","HostEarningsTimeseriesPointSchema","HostEarningsTimeseriesResponseSchema","PublicEventStatusSchema","PublicEventCardSchema","PublicEventsQuerySchema","PublicEventsResponseSchema","PublicTrailerSchema","PublicSlateSchema","PublicAwaitingIngestSchema","PublicEventDetailResponseSchema","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","EventFeedbackRatingSchema","CreateEventFeedbackRequestSchema","EventFeedbackResponseSchema","HostEventFeedbackViewerSchema","HostEventFeedbackItemSchema","HostEventFeedbackSummarySchema","ListHostEventFeedbackQuerySchema","PagedHostEventFeedbackResponseSchema","InitiatePaymentRequestSchema","InitiatePaymentResponseSchema","CreatePurchaseResponseSchema","PurchaseStatusResponseSchema","AccessCheckRequestSchema","PaystackMetadataSchema","PaystackAuthorizationSchema","PaystackCustomerSchema","PaystackSourceSchema","PaystackWebhookSchema","AccessCheckResponseSchema","PricingQuoteResponseSchema","TrailerSchema","SlateSchema","AwaitingIngestSchema","ViewerEventDetailResponseSchema","ReceiptUrlResponseSchema","ReplayPurchasePaymentSchema","ReplayPurchaseRowSchema","ReplayPurchaseResponseSchema","UpdateSettlementBodySchema","SettlementAccountViewSchema","RequestWithdrawalBodySchema","PandascrowEnvelopeSchema","data","OuterEnvelopeSchema","MinorAmountSchema","v","CurrencyStr","OnetimeEscrowDataSchema","WalletFundDataSchema","MarkCompleteDataSchema","RefundFlagDataSchema","EscrowStatusDataSchema","PayoutViewSchema"],"mappings":"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","file":"chunk-4TYO3HHN.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} 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} as const;\nexport type PayoutState = (typeof PayoutState)[keyof typeof PayoutState];\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\nexport const EventVisibility = {\n  PUBLIC: 'PUBLIC',\n  PRIVATE: 'PRIVATE',\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};\nexport type DiscoverEvents = (typeof DiscoverEvents)[keyof typeof DiscoverEvents];\n\nexport const MyEventsTabSchema = {\n  UPCOMING: 'UPCOMING',\n  LIVE: 'LIVE',\n  PAST: 'PAST',\n};\nexport type MyEventsTabSchema = (typeof MyEventsTabSchema)[keyof typeof MyEventsTabSchema];\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 { 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});\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\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});\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});\n\nexport const MyEventsResponseSchema = PaginationResponseSchema.extend({\n  tab: z.enum(MyEventsTabSchema),\n  items: z.array(MyEventCardSchema),\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 Step1Schema = z.object({\n  step: z.literal(1),\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\nconst Step2FreeSchema = z.object({\n  step: z.literal(2),\n  paid: z.literal(false),\n  visibility: VisibilitySchema,\n  guestEmails: z.array(z.email()).max(500).optional(),\n  replay: ReplaySchema,\n});\n\nconst Step2PaidSchema = z.object({\n  step: z.literal(2),\n  paid: z.literal(true),\n  visibility: VisibilitySchema,\n  guestEmails: z.array(z.email()).max(500).optional(),\n  ticketPrice: z.number().positive(),\n  ticketCurrency: CurrencySchema,\n  ticketLimit: z.number().int().positive().nullable(),\n  replay: ReplaySchema,\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. Only PUBLIC events surface here; PRIVATE/UNLISTED\n// return 404 so their existence stays hidden.\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});\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} 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\nexport const EVENT_FEEDBACK_RATING_MIN = 1;\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 EventFeedbackRatingSchema = z\n  .number({ error: 'Please select a rating.' })\n  .min(EVENT_FEEDBACK_RATING_MIN)\n  .max(EVENT_FEEDBACK_RATING_MAX)\n  .multipleOf(EVENT_FEEDBACK_RATING_STEP);\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\n  .object({\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(EVENT_FEEDBACK_MESSAGE_MAX),\n  })\n  .strict();\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  CtaMode,\n  EntitlementStatus,\n  PaymentStatus,\n  PayoutState,\n  ReplayPurchaseStatus,\n} from './payment.enums';\nimport { 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  email: z.email(),\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\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  viewer: z.object({\n    entitlement: z.enum(EntitlementStatus),\n    purchaseCta: z.enum(CtaMode),\n    activeIntentReference: z.string().optional(),\n    requiresAccessCheck: z.boolean().optional(),\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\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"]}