@livdot-tech/contracts 1.11.17 → 1.11.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/auth/index.js +1 -1
  2. package/dist/auth/index.mjs +1 -1
  3. package/dist/booking/index.d.mts +73 -1
  4. package/dist/booking/index.d.ts +73 -1
  5. package/dist/booking/index.js +1 -1
  6. package/dist/booking/index.mjs +1 -1
  7. package/dist/chat/index.js +1 -1
  8. package/dist/chat/index.mjs +1 -1
  9. package/dist/{chunk-LC7ETGZD.js → chunk-25WNOA4F.js} +2 -2
  10. package/dist/{chunk-LC7ETGZD.js.map → chunk-25WNOA4F.js.map} +1 -1
  11. package/dist/{chunk-IWQK3JGQ.mjs → chunk-5BJU6AZT.mjs} +2 -2
  12. package/dist/{chunk-IWQK3JGQ.mjs.map → chunk-5BJU6AZT.mjs.map} +1 -1
  13. package/dist/{chunk-YHFZE7LA.mjs → chunk-5VUOLH4C.mjs} +2 -2
  14. package/dist/{chunk-YHFZE7LA.mjs.map → chunk-5VUOLH4C.mjs.map} +1 -1
  15. package/dist/{chunk-EQFKGUEK.js → chunk-72SD46VJ.js} +2 -2
  16. package/dist/{chunk-EQFKGUEK.js.map → chunk-72SD46VJ.js.map} +1 -1
  17. package/dist/{chunk-CS2PIQZR.js → chunk-CTDAR4DG.js} +2 -2
  18. package/dist/{chunk-CS2PIQZR.js.map → chunk-CTDAR4DG.js.map} +1 -1
  19. package/dist/{chunk-EIBUWVR5.mjs → chunk-CTFMAZYM.mjs} +2 -2
  20. package/dist/{chunk-EIBUWVR5.mjs.map → chunk-CTFMAZYM.mjs.map} +1 -1
  21. package/dist/chunk-DJQVVYZA.mjs +2 -0
  22. package/dist/chunk-DJQVVYZA.mjs.map +1 -0
  23. package/dist/{chunk-WXIXILSY.mjs → chunk-EWAVQV4Y.mjs} +2 -2
  24. package/dist/{chunk-WXIXILSY.mjs.map → chunk-EWAVQV4Y.mjs.map} +1 -1
  25. package/dist/{chunk-T3V3DG62.js → chunk-GLHKOKK6.js} +2 -2
  26. package/dist/{chunk-T3V3DG62.js.map → chunk-GLHKOKK6.js.map} +1 -1
  27. package/dist/{chunk-6OMAI4GJ.mjs → chunk-IIVGG46P.mjs} +2 -2
  28. package/dist/{chunk-6OMAI4GJ.mjs.map → chunk-IIVGG46P.mjs.map} +1 -1
  29. package/dist/{chunk-GF53P232.js → chunk-J7KH6FYN.js} +2 -2
  30. package/dist/{chunk-GF53P232.js.map → chunk-J7KH6FYN.js.map} +1 -1
  31. package/dist/chunk-JVL3OXA5.js +2 -0
  32. package/dist/chunk-JVL3OXA5.js.map +1 -0
  33. package/dist/{chunk-HFADWTM3.mjs → chunk-L4QDS3ET.mjs} +2 -2
  34. package/dist/chunk-L4QDS3ET.mjs.map +1 -0
  35. package/dist/{chunk-BIWZ6BHI.js → chunk-O3GYEMUB.js} +2 -2
  36. package/dist/chunk-O3GYEMUB.js.map +1 -0
  37. package/dist/{chunk-5NBG5WB5.mjs → chunk-O4RMQ6ZJ.mjs} +2 -2
  38. package/dist/{chunk-5NBG5WB5.mjs.map → chunk-O4RMQ6ZJ.mjs.map} +1 -1
  39. package/dist/{chunk-LNQR2CJ7.mjs → chunk-OSBJQHJN.mjs} +2 -2
  40. package/dist/{chunk-LNQR2CJ7.mjs.map → chunk-OSBJQHJN.mjs.map} +1 -1
  41. package/dist/{chunk-PCQIIEMA.mjs → chunk-PLKRQ3Z3.mjs} +2 -2
  42. package/dist/{chunk-PCQIIEMA.mjs.map → chunk-PLKRQ3Z3.mjs.map} +1 -1
  43. package/dist/{chunk-GVLPRRRW.js → chunk-QZMRMFXE.js} +2 -2
  44. package/dist/{chunk-GVLPRRRW.js.map → chunk-QZMRMFXE.js.map} +1 -1
  45. package/dist/{chunk-26VGBI7K.js → chunk-RMOFKGOI.js} +2 -2
  46. package/dist/chunk-RMOFKGOI.js.map +1 -0
  47. package/dist/{chunk-3P7LUJIS.js → chunk-WMEFCQGU.js} +2 -2
  48. package/dist/{chunk-3P7LUJIS.js.map → chunk-WMEFCQGU.js.map} +1 -1
  49. package/dist/chunk-ZPTDZLEW.mjs +2 -0
  50. package/dist/chunk-ZPTDZLEW.mjs.map +1 -0
  51. package/dist/{chunk-NIXA33EG.js → chunk-ZYLTIJXP.js} +2 -2
  52. package/dist/{chunk-NIXA33EG.js.map → chunk-ZYLTIJXP.js.map} +1 -1
  53. package/dist/common/index.d.mts +3 -0
  54. package/dist/common/index.d.ts +3 -0
  55. package/dist/common/index.js +1 -1
  56. package/dist/common/index.mjs +1 -1
  57. package/dist/dispute/index.js +1 -1
  58. package/dist/dispute/index.mjs +1 -1
  59. package/dist/event/index.js +1 -1
  60. package/dist/event/index.mjs +1 -1
  61. package/dist/host/index.d.mts +5 -0
  62. package/dist/host/index.d.ts +5 -0
  63. package/dist/host/index.js +1 -1
  64. package/dist/host/index.mjs +1 -1
  65. package/dist/index.d.mts +1 -1
  66. package/dist/index.d.ts +1 -1
  67. package/dist/index.js +1 -1
  68. package/dist/index.mjs +1 -1
  69. package/dist/marketplace/index.js +1 -1
  70. package/dist/marketplace/index.mjs +1 -1
  71. package/dist/notification/index.js +1 -1
  72. package/dist/notification/index.mjs +1 -1
  73. package/dist/payment/index.js +1 -1
  74. package/dist/payment/index.mjs +1 -1
  75. package/dist/user/index.js +1 -1
  76. package/dist/user/index.mjs +1 -1
  77. package/package.json +1 -1
  78. package/dist/chunk-26VGBI7K.js.map +0 -1
  79. package/dist/chunk-3R7IA4XA.mjs +0 -2
  80. package/dist/chunk-3R7IA4XA.mjs.map +0 -1
  81. package/dist/chunk-BIWZ6BHI.js.map +0 -1
  82. package/dist/chunk-HFADWTM3.mjs.map +0 -1
  83. package/dist/chunk-KPI67QFO.js +0 -2
  84. package/dist/chunk-KPI67QFO.js.map +0 -1
  85. package/dist/chunk-XXOGA54H.mjs +0 -2
  86. package/dist/chunk-XXOGA54H.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/booking/booking-state-machine.ts","../src/booking/booking.schemas.ts","../src/booking/hiring.enums.ts","../src/booking/hiring.schemas.ts","../src/booking/thread.enums.ts","../src/booking/thread.schemas.ts","../src/booking/producer-jobs.schemas.ts","../src/booking/booking-audit.schemas.ts","../src/booking/crew-assignment.enums.ts","../src/booking/crew-assignment.schemas.ts"],"names":["BOOKING_TERMINAL_STATES","BookingState","DISPUTE_EXCLUDED_FROM","VALID_BOOKING_TRANSITIONS","BOOKING_TRANSITION_ACTORS","BookingTransitionActor","BOOKING_TRANSITION_TARGETS_REQUIRING_REASON","bookingTransitionKey","from","to","getAllowedBookingTargetStates","base","isValidBookingTransition","getBookingTransitionActors","canActorPerformBookingTransition","actor","bookingTransitionRequiresReason","_from","CreateBookingRequestSchema","z","BookingOrigin","ConfirmBookingRequestSchema","BookingResponseSchema","BookingPaymentStatus","CreateJobListingRequestSchema","JobListingResponseSchema","JobListingState","JobLocation","JobListingCompensationTier","jsonRecordSchema","CreateMarketplaceBookingRequestSchema","data","ctx","MarketplaceBookingResponseSchema","MoneySchema","CreateMarketplaceBookingResponseSchema","bookingTransitionReasonSchema","TransitionMarketplaceBookingRequestSchema","TransitionMarketplaceBookingResponseSchema","CompleteMarketplaceBookingRequestSchema","ForceCompleteMarketplaceBookingRequestSchema","CompleteMarketplaceBookingResponseSchema","jobListingEventTitleRefine","jobListingRequiredDateRefine","MarketplaceJobListingBodyFieldsSchema","MarketplaceJobListingBodySchema","PublishableJobListingBodyFieldsSchema","PublishableJobListingBodySchema","CreateMarketplaceJobListingRequestSchema","result","issue","UpdateMarketplaceJobListingRequestSchema","ListMarketplaceJobListingsQuerySchema","PaginationParamsSchema","value","ListHostMarketplaceJobListingsQuerySchema","PublishReadyJobListingSchema","PublishMarketplaceJobListingResponseSchema","MarketplaceJobListingResponseSchema","CancelMarketplaceJobListingRequestSchema","CancelMarketplaceJobListingResponseSchema","CloseMarketplaceJobListingResponseSchema","OpenMarketplaceJobListingResponseSchema","SubmitMarketplaceIndicationOfInterestRequestSchema","MarketplaceIndicationOfInterestResponseSchema","JobInterestState","MarketplaceIndicationOfInterestHostItemSchema","HostIndicationOfInterestSortBy","SortOrder","ListHostMarketplaceIndicationsQuerySchema","MarketplaceHostIndicationOfInterestInboxItemSchema","ListProducerMarketplaceIndicationsQuerySchema","MarketplaceProducerIndicationOfInterestInboxItemSchema","MessageDeliveryStatus","MarketplaceHiringThreadSchema","MarketplaceHiringMessageAttachmentSchema","MarketplaceHiringMessageSchema","ListMarketplaceHiringThreadMessagesQuerySchema","ListMarketplaceHiringThreadMessagesResponseSchema","PaginationResponseSchema","GetMarketplaceHiringThreadResponseSchema","PostMarketplaceHiringThreadMessageRequestSchema","PostMarketplaceHiringThreadMessageResponseSchema","UploadMarketplaceHiringThreadAttachmentResponseSchema","MarkMarketplaceHiringThreadReadRequestSchema","MarkMarketplaceHiringThreadReadResponseSchema","MarketplaceHiringThreadInboxItemSchema","ListMarketplaceHiringThreadsResponseSchema","ProducerJobsTabSchema","ProducerJobRowStatusSchema","ProducerJobRowKindSchema","ListProducerJobsQuerySchema","ProducerJobRowSchema","ProducerJobsTabResponseSchema","ProducerJobsTabCountsResponseSchema","BookingAuditActorSchema","AuditActorRoleSchema","BookingAuditRequestMetadataSchema","BookingAuditSnapshotSchema","BookingAuditStateTransitionDetailsSchema","BookingAuditMessageSentDetailsSchema","BookingAuditAttachmentAddedDetailsSchema","auditEntryBase","stateTransitionAuditEntry","action","AdminBookingAuditEntrySchema","BookingAuditAction","AdminBookingAuditResponseSchema","EventCrewAssignmentState","RoleFieldsSchema","CreateEventCrewAssignmentRequestSchema","UpdateEventCrewAssignmentRequestSchema","body","EventCrewAssignmentProducerSummarySchema","EventCrewAssignmentResponseSchema","ListEventCrewAssignmentsResponseSchema","RejectEventCrewAssignmentRequestSchema","AcceptEventCrewAssignmentResponseSchema"],"mappings":"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","file":"chunk-26VGBI7K.js","sourcesContent":["import { BookingState, BookingTransitionActor } from './booking.enums';\n\nexport type BookingTransitionKey = `${BookingState}->${BookingState}`;\n\nexport const BOOKING_TERMINAL_STATES: readonly BookingState[] = [\n BookingState.REJECTED,\n BookingState.CANCELLED,\n BookingState.CLOSED,\n];\n\nconst DISPUTE_EXCLUDED_FROM: readonly BookingState[] = [\n ...BOOKING_TERMINAL_STATES,\n BookingState.IN_DISPUTE,\n];\n\n/** Valid target states per source (excludes dispute shortcut — see `getAllowedBookingTargetStates`). */\nexport const VALID_BOOKING_TRANSITIONS: Record<BookingState, readonly BookingState[]> = {\n [BookingState.DRAFT]: [BookingState.AWAITING_PRODUCER_RESPONSE, BookingState.CANCELLED],\n [BookingState.REQUESTED]: [BookingState.AWAITING_PRODUCER_RESPONSE, BookingState.CANCELLED],\n [BookingState.AWAITING_PRODUCER_RESPONSE]: [\n BookingState.IN_NEGOTIATION,\n BookingState.ACCEPTED,\n BookingState.REJECTED,\n BookingState.CANCELLED,\n ],\n [BookingState.IN_NEGOTIATION]: [\n BookingState.ACCEPTED,\n BookingState.REJECTED,\n BookingState.CANCELLED,\n ],\n [BookingState.ACCEPTED]: [BookingState.AWAITING_ESCROW_FUNDING, BookingState.CANCELLED],\n [BookingState.AWAITING_ESCROW_FUNDING]: [BookingState.CONFIRMED, BookingState.CANCELLED],\n [BookingState.CONFIRMED]: [BookingState.IN_PROGRESS, BookingState.AWAITING_PRODUCER_RECONFIRM],\n [BookingState.AWAITING_PRODUCER_RECONFIRM]: [BookingState.CONFIRMED, BookingState.CANCELLED],\n [BookingState.IN_PROGRESS]: [BookingState.SERVICE_COMPLETED, BookingState.CANCELLED],\n [BookingState.SERVICE_COMPLETED]: [BookingState.CLOSED],\n [BookingState.IN_DISPUTE]: [BookingState.CLOSED],\n [BookingState.REJECTED]: [],\n [BookingState.CANCELLED]: [],\n [BookingState.CLOSED]: [],\n};\n\n/** RBAC: which actor may perform each transition (dispute edges merged at runtime). */\nexport const BOOKING_TRANSITION_ACTORS: Partial<\n Record<BookingTransitionKey, readonly BookingTransitionActor[]>\n> = {\n [`${BookingState.DRAFT}->${BookingState.AWAITING_PRODUCER_RESPONSE}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.SYSTEM,\n ],\n [`${BookingState.DRAFT}->${BookingState.CANCELLED}`]: [BookingTransitionActor.HOST],\n [`${BookingState.REQUESTED}->${BookingState.AWAITING_PRODUCER_RESPONSE}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.SYSTEM,\n ],\n [`${BookingState.REQUESTED}->${BookingState.CANCELLED}`]: [BookingTransitionActor.HOST],\n [`${BookingState.AWAITING_PRODUCER_RESPONSE}->${BookingState.IN_NEGOTIATION}`]: [\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.AWAITING_PRODUCER_RESPONSE}->${BookingState.ACCEPTED}`]: [\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.AWAITING_PRODUCER_RESPONSE}->${BookingState.REJECTED}`]: [\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.AWAITING_PRODUCER_RESPONSE}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.IN_NEGOTIATION}->${BookingState.ACCEPTED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.IN_NEGOTIATION}->${BookingState.REJECTED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.IN_NEGOTIATION}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.ACCEPTED}->${BookingState.AWAITING_ESCROW_FUNDING}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.SYSTEM,\n ],\n [`${BookingState.ACCEPTED}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.AWAITING_ESCROW_FUNDING}->${BookingState.CONFIRMED}`]: [\n BookingTransitionActor.SYSTEM,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.AWAITING_ESCROW_FUNDING}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.CONFIRMED}->${BookingState.IN_PROGRESS}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.CONFIRMED}->${BookingState.AWAITING_PRODUCER_RECONFIRM}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.SYSTEM,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.AWAITING_PRODUCER_RECONFIRM}->${BookingState.CONFIRMED}`]: [\n BookingTransitionActor.PRODUCER,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.AWAITING_PRODUCER_RECONFIRM}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.IN_PROGRESS}->${BookingState.SERVICE_COMPLETED}`]: [\n BookingTransitionActor.PRODUCER,\n BookingTransitionActor.SYSTEM,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.IN_PROGRESS}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.SERVICE_COMPLETED}->${BookingState.CLOSED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.ADMIN,\n BookingTransitionActor.SYSTEM,\n ],\n [`${BookingState.IN_DISPUTE}->${BookingState.CLOSED}`]: [\n BookingTransitionActor.ADMIN,\n BookingTransitionActor.HOST,\n ],\n};\n\n/** Target states that require a `reason` on the transition request. */\nexport const BOOKING_TRANSITION_TARGETS_REQUIRING_REASON: readonly BookingState[] = [\n BookingState.REJECTED,\n BookingState.CANCELLED,\n BookingState.IN_DISPUTE,\n];\n\nexport function bookingTransitionKey(from: BookingState, to: BookingState): BookingTransitionKey {\n return `${from}->${to}`;\n}\n\nexport function getAllowedBookingTargetStates(from: BookingState): readonly BookingState[] {\n const base = VALID_BOOKING_TRANSITIONS[from] ?? [];\n if (!DISPUTE_EXCLUDED_FROM.includes(from)) {\n return [...base, BookingState.IN_DISPUTE];\n }\n return base;\n}\n\nexport function isValidBookingTransition(from: BookingState, to: BookingState): boolean {\n return getAllowedBookingTargetStates(from).includes(to);\n}\n\nexport function getBookingTransitionActors(\n from: BookingState,\n to: BookingState,\n): readonly BookingTransitionActor[] {\n if (to === BookingState.IN_DISPUTE && !DISPUTE_EXCLUDED_FROM.includes(from)) {\n return [BookingTransitionActor.HOST, BookingTransitionActor.PRODUCER];\n }\n return BOOKING_TRANSITION_ACTORS[bookingTransitionKey(from, to)] ?? [];\n}\n\nexport function canActorPerformBookingTransition(\n from: BookingState,\n to: BookingState,\n actor: BookingTransitionActor,\n): boolean {\n return getBookingTransitionActors(from, to).includes(actor);\n}\n\nexport function bookingTransitionRequiresReason(_from: BookingState, to: BookingState): boolean {\n return BOOKING_TRANSITION_TARGETS_REQUIRING_REASON.includes(to);\n}\n","import { z } from 'zod';\nimport {\n BookingOrigin,\n BookingState,\n JobListingState,\n BookingPaymentStatus,\n} from './booking.enums';\n\nexport const CreateBookingRequestSchema = z.object({\n origin: z.enum(BookingOrigin),\n eventId: z.uuid().optional(),\n producerId: z.uuid(),\n agreedAmount: z.number().min(0),\n});\n\nexport const ConfirmBookingRequestSchema = z.object({\n escrowReference: z.string(),\n});\n\nexport const BookingResponseSchema = z.object({\n id: z.uuid(),\n eventId: z.uuid().optional(),\n hostId: z.uuid(),\n producerId: z.uuid(),\n quotedPrice: z.number(),\n currency: z.string(),\n scopeOfWork: z.record(z.string(), z.any()).optional(),\n requiredStartAt: z.iso.datetime(),\n requiredEndAt: z.iso.datetime(),\n bookingState: z.enum(BookingState),\n paymentStatus: z.enum(BookingPaymentStatus),\n escrowReference: z.string().optional(),\n completedAt: z.iso.datetime().optional(),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const CreateJobListingRequestSchema = z.object({\n title: z.string().max(255),\n description: z.string(),\n requiredDate: z.iso.datetime(),\n estimatedDurationMinutes: z.number().int().positive().optional(),\n location: z.string(),\n budgetRangeMin: z.number().optional(),\n budgetRangeMax: z.number().optional(),\n});\n\nexport const JobListingResponseSchema = z.object({\n id: z.uuid(),\n hostProfileId: z.uuid(),\n eventId: z.uuid().optional(),\n title: z.string(),\n description: z.string(),\n requiredDate: z.iso.datetime(),\n estimatedDurationMinutes: z.number().int().nullable().optional(),\n location: z.string(),\n budgetRangeMin: z.number().optional(),\n budgetRangeMax: z.number().optional(),\n state: z.enum(JobListingState),\n proposalCount: z.number(),\n createdAt: z.iso.datetime(),\n});\n","export const JobLocation = {\n ONSITE: 'ONSITE',\n REMOTE: 'REMOTE',\n} as const;\nexport type JobLocation = (typeof JobLocation)[keyof typeof JobLocation];\n\n/** Discover-jobs compensation bracket filter (NGN). */\nexport const JobListingCompensationTier = {\n LOW: 'LOW',\n MID: 'MID',\n HIGH: 'HIGH',\n} as const;\nexport type JobListingCompensationTier =\n (typeof JobListingCompensationTier)[keyof typeof JobListingCompensationTier];\n","import { z } from 'zod';\nimport { JobInterestState } from '../joblisting/listing.enum';\nimport { BookingOrigin, BookingState, JobListingState } from './booking.enums';\nimport { JobListingCompensationTier, JobLocation } from './hiring.enums';\nimport { MoneySchema, PaginationParamsSchema } from '../common';\n\nconst jsonRecordSchema = z.record(z.string(), z.unknown());\n\n/** `POST /marketplace/bookings` */\nexport const CreateMarketplaceBookingRequestSchema = z\n .object({\n producerId: z.uuid(),\n origin: z.enum(BookingOrigin),\n eventId: z.uuid().optional(),\n jobListingId: z.uuid().optional(),\n sourceIoiId: z.uuid().optional(),\n agreedAmount: z.coerce.number().nonnegative().optional(),\n scopeOfWork: z.string().max(5000).optional(),\n })\n .superRefine((data, ctx) => {\n if (data.origin === BookingOrigin.EVENT_DIRECT && !data.eventId) {\n ctx.addIssue({\n code: 'custom',\n message: 'eventId is required when origin is EVENT_DIRECT',\n path: ['eventId'],\n });\n }\n if (data.origin === BookingOrigin.MARKETPLACE_DIRECT) {\n if (data.eventId) {\n ctx.addIssue({\n code: 'custom',\n message: 'eventId must not be set when origin is MARKETPLACE_DIRECT',\n path: ['eventId'],\n });\n }\n if (data.sourceIoiId) {\n ctx.addIssue({\n code: 'custom',\n message: 'sourceIoiId must not be set when origin is MARKETPLACE_DIRECT',\n path: ['sourceIoiId'],\n });\n }\n }\n if (data.origin === BookingOrigin.JOB_LISTING) {\n if (!data.sourceIoiId) {\n ctx.addIssue({\n code: 'custom',\n message: 'sourceIoiId is required when origin is JOB_LISTING',\n path: ['sourceIoiId'],\n });\n }\n if (data.eventId) {\n ctx.addIssue({\n code: 'custom',\n message: 'eventId must not be set when origin is JOB_LISTING',\n path: ['eventId'],\n });\n }\n }\n if (data.sourceIoiId && data.origin !== BookingOrigin.JOB_LISTING) {\n ctx.addIssue({\n code: 'custom',\n message: 'sourceIoiId is only allowed when origin is JOB_LISTING',\n path: ['sourceIoiId'],\n });\n }\n });\n\nexport const MarketplaceBookingResponseSchema = z.object({\n id: z.uuid(),\n eventId: z.uuid().nullable(),\n eventLinked: z.boolean(),\n hostProfileId: z.uuid(),\n producerProfileId: z.uuid(),\n origin: z.enum(BookingOrigin),\n jobListingId: z.uuid().nullable(),\n sourceIoiId: z.uuid().nullable(),\n state: z.enum(BookingState),\n /** Server-inherited currency + minor-unit amount (MONEY_MULTI_CURRENCY.md §4). */\n agreedAmount: MoneySchema.nullable(),\n scopeOfWork: z.string().nullable(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\n/** `POST /marketplace/bookings` — create acknowledgement */\nexport const CreateMarketplaceBookingResponseSchema = z.object({\n bookingId: z.uuid(),\n booking: MarketplaceBookingResponseSchema,\n});\n\nconst bookingTransitionReasonSchema = z.string().trim().min(5).max(500);\n\n/** `POST /marketplace/bookings/:id/transition` (host, producer, admin) */\nexport const TransitionMarketplaceBookingRequestSchema = z\n .object({\n targetState: z.enum(BookingState),\n reason: bookingTransitionReasonSchema.optional(),\n })\n .superRefine((data, ctx) => {\n const requiresReason =\n data.targetState === BookingState.REJECTED ||\n data.targetState === BookingState.CANCELLED ||\n data.targetState === BookingState.IN_DISPUTE;\n if (requiresReason && data.reason === undefined) {\n ctx.addIssue({\n code: 'custom',\n message: 'reason is required for this transition',\n path: ['reason'],\n });\n }\n });\n\nexport const TransitionMarketplaceBookingResponseSchema = z.object({\n booking: MarketplaceBookingResponseSchema,\n});\n\n/** `POST /marketplace/bookings/:id/complete` — dual-ack manual completion */\nexport const CompleteMarketplaceBookingRequestSchema = z.object({\n notes: z.string().max(2000).optional(),\n});\n\n/** `POST /marketplace/bookings/:id/admin-force-complete` — TRUST admin override */\nexport const ForceCompleteMarketplaceBookingRequestSchema = z.object({\n notes: z.string().max(2000).optional(),\n});\n\nexport const CompleteMarketplaceBookingResponseSchema = z.object({\n booking: MarketplaceBookingResponseSchema,\n hostAcked: z.boolean(),\n producerAcked: z.boolean(),\n completed: z.boolean(),\n forced: z.boolean().optional(),\n});\n\nconst jobListingEventTitleRefine = (\n data: {\n eventId?: string | undefined;\n eventTitle?: string | undefined;\n title?: string | undefined;\n },\n ctx: z.RefinementCtx,\n) => {\n if (data.eventId) {\n return;\n }\n const standaloneTitle = data.eventTitle?.trim() || data.title?.trim();\n if (!standaloneTitle) {\n ctx.addIssue({\n code: 'custom',\n message: 'eventTitle is required when eventId is not provided',\n path: ['eventTitle'],\n });\n }\n};\n\nconst jobListingRequiredDateRefine = (\n data: {\n requiredDateLocal?: string | undefined;\n timezone?: string | undefined;\n },\n ctx: z.RefinementCtx,\n) => {\n if (data.requiredDateLocal !== undefined && !data.timezone?.trim()) {\n ctx.addIssue({\n code: 'custom',\n message: 'timezone is required when requiredDateLocal is provided',\n path: ['timezone'],\n });\n }\n};\n\nconst MarketplaceJobListingBodyFieldsSchema = z.object({\n /** Standalone event title — required when `eventId` is absent. Ignored when linked. */\n eventTitle: z.string().min(1).max(200).optional(),\n /** @deprecated Use `eventTitle`. Kept for backward compatibility. */\n title: z.string().min(1).max(200).optional(),\n description: z.string().min(1).max(5000),\n responsibilities: z.string().min(1),\n requirements: z.string().min(1),\n role: z.string().min(1).max(120),\n requiredCount: z.coerce.number().int().min(1),\n /** Wall-clock local datetime in `timezone` — same contract as Event `scheduledStartLocal`. */\n requiredDateLocal: z.iso.datetime({ local: true, offset: false }).optional(),\n /** IANA timezone for `requiredDateLocal` (e.g. Africa/Lagos). */\n timezone: z.string().min(1).optional(),\n /**\n * @deprecated Prefer `requiredDateLocal` + `timezone`.\n * When sent alone, treated as wall-clock digits (Event wizard legacy path).\n */\n requiredDate: z.iso.datetime().optional(),\n estimatedDurationMinutes: z.coerce.number().int().positive().optional(),\n location: z.enum(JobLocation),\n notes: z.string().max(2000).optional(),\n compensation: z.coerce.number().nonnegative().optional(),\n attachments: jsonRecordSchema.optional(),\n eventId: z.uuid().optional(),\n});\n\nconst MarketplaceJobListingBodySchema = MarketplaceJobListingBodyFieldsSchema.superRefine(\n jobListingEventTitleRefine,\n).superRefine(jobListingRequiredDateRefine);\n\n/** Publish/create body without event-title guard (linked listings resolve title at read time). */\nconst PublishableJobListingBodyFieldsSchema = z.object({\n eventTitle: z.string().min(1).max(200).optional(),\n title: z.string().min(1).max(200).optional(),\n description: z.string().min(1).max(5000),\n responsibilities: z.string().min(1),\n requirements: z.string().min(1),\n role: z.string().min(1).max(120),\n requiredCount: z.coerce.number().int().min(1),\n location: z.enum(JobLocation),\n eventId: z.uuid().optional(),\n});\n\nconst PublishableJobListingBodySchema = PublishableJobListingBodyFieldsSchema;\n\n/** `POST /marketplace/job-listings` — publish immediately unless `saveAsDraft` */\nexport const CreateMarketplaceJobListingRequestSchema =\n MarketplaceJobListingBodyFieldsSchema.partial()\n .extend({\n saveAsDraft: z.boolean().optional().default(false),\n })\n .superRefine(jobListingRequiredDateRefine)\n .superRefine((data, ctx) => {\n if (data.saveAsDraft) {\n return;\n }\n const result = MarketplaceJobListingBodySchema.safeParse(data);\n if (!result.success) {\n ctx.addIssue({\n code: 'custom',\n message: result.error.issues.map((issue) => issue.message).join('; '),\n });\n }\n });\n\nexport const UpdateMarketplaceJobListingRequestSchema =\n MarketplaceJobListingBodyFieldsSchema.partial().superRefine(jobListingRequiredDateRefine);\n\nexport const ListMarketplaceJobListingsQuerySchema = z.object({\n ...PaginationParamsSchema.shape,\n location: z.enum(JobLocation).optional(),\n /** Case-insensitive match on listing title, role, linked event title, or host business name */\n search: z.string().trim().min(2).max(100).optional(),\n /** Comma-separated role slugs, e.g. `camera-operator,sound-engineer` */\n roles: z.string().trim().min(1).max(500).optional(),\n requiredDateFrom: z.string().optional(),\n requiredDateTo: z.string().optional(),\n minCompensation: z.coerce.number().int().min(0).optional(),\n maxCompensation: z.coerce.number().int().min(0).optional(),\n compensationTier: z.enum(JobListingCompensationTier).optional(),\n /** When true, only listings whose requiredDate falls on a day the authenticated producer marked available */\n matchMyAvailability: z\n .enum(['true', 'false'])\n .optional()\n .transform((value) => value === 'true'),\n});\n\n/** `GET /marketplace/job-listings/mine` (host) */\nexport const ListHostMarketplaceJobListingsQuerySchema = z.object({\n ...PaginationParamsSchema.shape,\n state: z.enum(JobListingState).optional(),\n /** Case-insensitive match on listing title, role, or linked event title */\n search: z.string().trim().min(2).max(100).optional(),\n});\n\n/** Required persisted fields before a DRAFT job listing can be published */\nexport const PublishReadyJobListingSchema = PublishableJobListingBodySchema.superRefine(\n (data, ctx) => {\n if (data.eventId) {\n return;\n }\n const standaloneTitle = data.eventTitle?.trim() || data.title?.trim();\n if (!standaloneTitle) {\n ctx.addIssue({\n code: 'custom',\n message: 'eventTitle is required for standalone job listings',\n path: ['eventTitle'],\n });\n }\n },\n);\n\n/** `POST /marketplace/job-listings/:id/publish` (host owner) */\nexport const PublishMarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n state: z.literal('OPEN'),\n});\n\nexport const MarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n hostProfileId: z.uuid(),\n eventId: z.uuid().nullable(),\n /** Resolved display title — linked events use the current Event title. */\n title: z.string(),\n eventTitle: z.string().nullable(),\n notes: z.string().nullable(),\n description: z.string(),\n responsibilities: z.string(),\n requirements: z.string(),\n role: z.string(),\n requiredCount: z.number().int().min(1),\n /** UTC instant (Event `scheduledStart` analogue). */\n requiredDate: z.string().nullable(),\n /** Wall-clock string, no offset (Event `scheduledStartLocal` analogue). */\n requiredDateLocal: z.string().nullable(),\n timezone: z.string().nullable(),\n estimatedDurationMinutes: z.number().int().nullable(),\n location: z.enum(JobLocation),\n /** Host-set compensation for the listing (MoneyDto, MONEY_MULTI_CURRENCY.md §4). */\n compensation: MoneySchema.nullable(),\n attachments: z.unknown().nullable(),\n state: z.enum(JobListingState),\n proposalCount: z.number().int(),\n cancelledAt: z.string().nullable(),\n cancelledReason: z.string().nullable(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\n/** `POST /marketplace/job-listings/:id/cancel` (host owner) — mirrors HostEventCancelResponseSchema shape */\nexport const CancelMarketplaceJobListingRequestSchema = z.object({\n reason: z.string().trim().min(5).max(500).optional(),\n});\n\nexport const CancelMarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n state: z.literal('CANCELLED'),\n cancelledAt: z.iso.datetime().nullable(),\n});\n\n/**\n * `POST /marketplace/job-listings/:id/close` (host owner) —\n * pause new applications (`OPEN` → `SUSPENDED`). Pending IoIs are kept.\n */\nexport const CloseMarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n state: z.literal(JobListingState.SUSPENDED),\n});\n\n/**\n * `POST /marketplace/job-listings/:id/open` (host owner) —\n * resume applications (`SUSPENDED` | `CLOSED` → `OPEN`) when capacity remains.\n */\nexport const OpenMarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n state: z.literal(JobListingState.OPEN),\n});\n\n/** `POST .../indications-of-interest` */\nexport const SubmitMarketplaceIndicationOfInterestRequestSchema = z.object({\n coverMessage: z.string().min(1).max(2000).optional(),\n proposedAmount: z.coerce.number().nonnegative().optional(),\n availabilityNotes: z.string().max(2000).optional(),\n attachments: jsonRecordSchema.optional(),\n});\n\nexport const MarketplaceIndicationOfInterestResponseSchema = z.object({\n id: z.uuid(),\n jobListingId: z.uuid(),\n producerProfileId: z.uuid(),\n coverMessage: z.string().nullable(),\n /** Producer-proposed compensation (MoneyDto — currency inherits from parent listing). */\n proposedAmount: MoneySchema.nullable(),\n availabilityNotes: z.string().nullable(),\n state: z.enum(JobInterestState),\n resultingBookingId: z.uuid().nullable(),\n withdrawnAt: z.string().nullable(),\n selectedAt: z.string().nullable(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\n/** Host review row — IoI plus producer display label */\nexport const MarketplaceIndicationOfInterestHostItemSchema =\n MarketplaceIndicationOfInterestResponseSchema.extend({\n producerCompanyName: z.string().nullable(),\n });\n\nexport const HostIndicationOfInterestSortBy = {\n CREATED_AT: 'createdAt',\n UPDATED_AT: 'updatedAt',\n PROPOSED_AMOUNT: 'proposedAmount',\n} as const;\n\nexport const SortOrder = {\n ASC: 'asc',\n DESC: 'desc',\n} as const;\n\n/** `GET /marketplace/job-listings/indications-of-interest/mine` (host inbox) */\nexport const ListHostMarketplaceIndicationsQuerySchema = z.object({\n ...PaginationParamsSchema.shape,\n jobListingId: z.uuid().optional(),\n state: z.enum(JobInterestState).optional(),\n /** Case-insensitive match on job listing title or linked event title */\n search: z.string().trim().min(2).max(100).optional(),\n sortBy: z.enum(HostIndicationOfInterestSortBy).default(HostIndicationOfInterestSortBy.CREATED_AT),\n sortOrder: z.enum(SortOrder).default(SortOrder.DESC),\n});\n\n/** Host inbox row — IoI with applicant + parent job listing summary */\nexport const MarketplaceHostIndicationOfInterestInboxItemSchema =\n MarketplaceIndicationOfInterestHostItemSchema.extend({\n producerDisplayName: z.string(),\n producerAvatarUrl: z.url().nullable(),\n producerServiceCategoryLabels: z.array(z.string()),\n producerEquipmentLabels: z.array(z.string()),\n producerIsVerified: z.boolean(),\n jobListingTitle: z.string(),\n jobListingRole: z.string(),\n jobListingState: z.enum(JobListingState),\n jobListingLocation: z.enum(JobLocation),\n jobListingEventId: z.uuid().nullable(),\n jobListingEventTitle: z.string().nullable(),\n });\n\n/** `GET /marketplace/indications-of-interest/mine` (producer applications inbox) */\nexport const ListProducerMarketplaceIndicationsQuerySchema = z.object({\n ...PaginationParamsSchema.shape,\n jobListingId: z.uuid().optional(),\n state: z.enum(JobInterestState).optional(),\n /** Case-insensitive match on job listing title or linked event title */\n search: z.string().trim().min(2).max(100).optional(),\n sortBy: z.enum(HostIndicationOfInterestSortBy).default(HostIndicationOfInterestSortBy.CREATED_AT),\n sortOrder: z.enum(SortOrder).default(SortOrder.DESC),\n});\n\n/** Producer applications inbox row — IoI with parent job listing summary */\nexport const MarketplaceProducerIndicationOfInterestInboxItemSchema =\n MarketplaceIndicationOfInterestResponseSchema.extend({\n hostBusinessName: z.string().nullable(),\n jobListingTitle: z.string(),\n jobListingRole: z.string(),\n jobListingState: z.enum(JobListingState),\n jobListingLocation: z.enum(JobLocation),\n jobListingEventId: z.uuid().nullable(),\n jobListingEventTitle: z.string().nullable(),\n jobListingRequiredDate: z.string().nullable(),\n jobListingCompensation: MoneySchema.nullable(),\n });\n","export const MessageDeliveryStatus = {\n SENT: 'SENT',\n DELIVERED: 'DELIVERED',\n READ: 'READ',\n} as const;\nexport type MessageDeliveryStatus =\n (typeof MessageDeliveryStatus)[keyof typeof MessageDeliveryStatus];\n","import { z } from 'zod';\nimport { BookingState } from './booking.enums';\nimport { MessageDeliveryStatus } from './thread.enums';\nimport { PaginationParamsSchema, PaginationResponseSchema } from '../common/common.schemas';\n\nexport const MarketplaceHiringThreadSchema = z.object({\n id: z.uuid(),\n bookingId: z.uuid(),\n hostProfileId: z.uuid(),\n producerProfileId: z.uuid(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\nexport const MarketplaceHiringMessageAttachmentSchema = z.object({\n id: z.uuid(),\n url: z.string(),\n mimeType: z.string(),\n sizeBytes: z.number().int(),\n createdAt: z.string(),\n});\n\nexport const MarketplaceHiringMessageSchema = z.object({\n id: z.uuid(),\n threadId: z.uuid(),\n senderUserId: z.uuid(),\n body: z.string(),\n sentAt: z.string(),\n deliveryStatus: z.enum(MessageDeliveryStatus),\n readAt: z.string().nullable(),\n attachments: z.array(MarketplaceHiringMessageAttachmentSchema),\n});\n\nexport const ListMarketplaceHiringThreadMessagesQuerySchema = PaginationParamsSchema;\n\nexport const ListMarketplaceHiringThreadMessagesResponseSchema = z.object({\n messages: z.array(MarketplaceHiringMessageSchema),\n ...PaginationResponseSchema.shape,\n});\n\nexport const GetMarketplaceHiringThreadResponseSchema = z.object({\n thread: MarketplaceHiringThreadSchema,\n messages: z.array(MarketplaceHiringMessageSchema),\n ...PaginationResponseSchema.shape,\n});\n\nexport const PostMarketplaceHiringThreadMessageRequestSchema = z.object({\n body: z.string().trim().min(1).max(5000),\n attachments: z\n .array(\n z.object({\n url: z.string().url(),\n mimeType: z.string().min(1).max(120),\n sizeBytes: z.number().int().positive(),\n }),\n )\n .max(10)\n .optional(),\n});\n\nexport const PostMarketplaceHiringThreadMessageResponseSchema = z.object({\n message: MarketplaceHiringMessageSchema,\n});\n\n/**\n * `POST /marketplace/bookings/:bookingId/thread/attachments`\n * Multipart image upload for hiring-thread chat. FE uploads first, then\n * posts the returned `{ url, mimeType, sizeBytes }` via the existing\n * WS `hiring_thread.message.post` attachments array (URL path unchanged).\n */\nexport const UploadMarketplaceHiringThreadAttachmentResponseSchema = z.object({\n url: z.url(),\n key: z.string().min(1),\n mimeType: z.string().min(1).max(120),\n sizeBytes: z.number().int().positive(),\n});\n\nexport const MarkMarketplaceHiringThreadReadRequestSchema = z.object({\n upToMessageId: z.uuid().optional(),\n});\n\nexport const MarkMarketplaceHiringThreadReadResponseSchema = z.object({\n markedCount: z.number().int().nonnegative(),\n});\n\n/** Inbox row for host/producer — one conversation per booking thread. */\nexport const MarketplaceHiringThreadInboxItemSchema = z.object({\n threadId: z.uuid(),\n bookingId: z.uuid(),\n title: z.string(),\n lastMessagePreview: z.string().nullable(),\n lastMessageAt: z.string().nullable(),\n lastSenderUserId: z.uuid().nullable(),\n lastSenderDisplayName: z.string().nullable(),\n unreadCount: z.number().int().nonnegative(),\n bookingState: z.enum(BookingState),\n /** Always present so host + producer apps can render either participant. */\n producerProfileId: z.uuid(),\n producerDisplayName: z.string(),\n producerAvatarUrl: z.string().nullable(),\n hostProfileId: z.uuid(),\n hostDisplayName: z.string(),\n hostAvatarUrl: z.string().nullable(),\n /**\n * The other participant relative to the authenticated caller.\n * Host inbox → producer; producer inbox → host.\n */\n counterpartyDisplayName: z.string(),\n counterpartyAvatarUrl: z.string().nullable(),\n counterpartyRole: z.enum(['HOST', 'PRODUCER']),\n});\n\nexport const ListMarketplaceHiringThreadsResponseSchema = z.object({\n items: z.array(MarketplaceHiringThreadInboxItemSchema),\n ...PaginationResponseSchema.shape,\n});\n","import { z } from 'zod';\nimport { MoneySchema, PaginationParamsSchema, PaginationResponseSchema } from '../common';\n\n/** Crew dashboard \"My Jobs\" tabs — mirrors host `GET /host/events?tab=`. */\nexport const ProducerJobsTabSchema = z.enum([\n 'APPLICATIONS',\n 'UPCOMING',\n 'LIVE',\n 'COMPLETED',\n 'JOB_INVITES',\n]);\n\n/**\n * Unified display status for the My Jobs table.\n * Mapped from IoI state (Applications) or booking state (other tabs).\n */\nexport const ProducerJobRowStatusSchema = z.enum([\n 'PENDING',\n 'SHORTLISTED',\n 'SELECTED',\n 'WITHDRAWN',\n 'REJECTED',\n 'CANCELLED',\n 'INVITED',\n 'NEGOTIATING',\n 'CONFIRMED',\n 'LIVE',\n 'COMPLETED',\n 'DISPUTED',\n]);\n\nexport const ProducerJobRowKindSchema = z.enum(['IOI', 'BOOKING', 'ASSIGNMENT']);\n\n/** `GET /marketplace/producer/jobs` */\nexport const ListProducerJobsQuerySchema = z.object({\n tab: ProducerJobsTabSchema,\n /** Case-insensitive match on event / job listing title */\n search: z.string().trim().min(2).max(100).optional(),\n ...PaginationParamsSchema.shape,\n});\n\n/** One row in the My Jobs table (Applications / Upcoming / Live / …). */\nexport const ProducerJobRowSchema = z.object({\n id: z.uuid(),\n kind: ProducerJobRowKindSchema,\n eventName: z.string(),\n date: z.string().nullable(),\n role: z.string(),\n payment: MoneySchema.nullable(),\n status: ProducerJobRowStatusSchema,\n /** Raw IoI, booking, or assignment state for FE debugging / detail navigation */\n statusCode: z.string(),\n jobListingId: z.uuid().nullable(),\n bookingId: z.uuid().nullable(),\n ioiId: z.uuid().nullable(),\n eventId: z.uuid().nullable(),\n /** Present when kind=ASSIGNMENT */\n assignmentId: z.uuid().nullable().optional(),\n});\n\nexport const ProducerJobsTabResponseSchema = z.object({\n tab: ProducerJobsTabSchema,\n items: z.array(ProducerJobRowSchema),\n ...PaginationResponseSchema.shape,\n});\n\n/** `GET /marketplace/producer/jobs/counts` — tab badge numbers */\nexport const ProducerJobsTabCountsResponseSchema = z.object({\n applications: z.number().int().nonnegative(),\n upcoming: z.number().int().nonnegative(),\n live: z.number().int().nonnegative(),\n completed: z.number().int().nonnegative(),\n jobInvites: z.number().int().nonnegative(),\n});\n","import { z } from 'zod';\nimport { AuditActorRoleSchema } from '../common/audit.enums';\nimport { PaginationResponseSchema } from '../common/common.schemas';\nimport { BookingAuditAction } from './booking.enums';\n\nexport const BookingAuditActorSchema = z.object({\n id: z.string(),\n role: AuditActorRoleSchema,\n});\n\n/** Optional request metadata copied into admin `details` when present. */\nexport const BookingAuditRequestMetadataSchema = z.object({\n reason: z.string().optional(),\n ipAddress: z.string().optional(),\n userAgent: z.string().optional(),\n traceId: z.string().optional(),\n});\n\n/** Snapshot blob stored in audit `before` / `after` JSON columns. */\nexport const BookingAuditSnapshotSchema = z.record(z.string(), z.unknown());\n\n/**\n * STATE_CHANGED, TERMS_MODIFIED, and booking lifecycle actions surface\n * `beforeState` / `afterState` via admin formatters.\n */\nexport const BookingAuditStateTransitionDetailsSchema = BookingAuditRequestMetadataSchema.extend({\n beforeState: BookingAuditSnapshotSchema.optional(),\n afterState: BookingAuditSnapshotSchema.optional(),\n});\n\nexport const BookingAuditMessageSentDetailsSchema = BookingAuditRequestMetadataSchema.extend({\n messageId: z.string(),\n bodyPreview: z.string(),\n attachmentCount: z.number().int().nonnegative().optional(),\n});\n\nexport const BookingAuditAttachmentAddedDetailsSchema = BookingAuditRequestMetadataSchema.extend({\n messageId: z.string(),\n attachmentId: z.string(),\n url: z.string(),\n mimeType: z.string(),\n sizeBytes: z.number().int().nonnegative(),\n});\n\nconst auditEntryBase = {\n timestamp: z.string().datetime(),\n actor: BookingAuditActorSchema,\n};\n\nfunction stateTransitionAuditEntry<\n A extends (typeof BookingAuditAction)[keyof typeof BookingAuditAction],\n>(action: A) {\n return z.object({\n ...auditEntryBase,\n action: z.literal(action),\n details: BookingAuditStateTransitionDetailsSchema,\n });\n}\n\n/** One audit row in `GET /admin/bookings/:id/audit` — discriminated by `action`. */\nexport const AdminBookingAuditEntrySchema = z.discriminatedUnion('action', [\n stateTransitionAuditEntry(BookingAuditAction.STATE_CHANGED),\n stateTransitionAuditEntry(BookingAuditAction.TERMS_MODIFIED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_CREATED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_COMPLETED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_CANCELLED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_ACCEPTED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_REJECTED),\n z.object({\n ...auditEntryBase,\n action: z.literal(BookingAuditAction.MESSAGE_SENT),\n details: BookingAuditMessageSentDetailsSchema,\n }),\n z.object({\n ...auditEntryBase,\n action: z.literal(BookingAuditAction.ATTACHMENT_ADDED),\n details: BookingAuditAttachmentAddedDetailsSchema,\n }),\n]);\n\nexport const AdminBookingAuditResponseSchema = z.object({\n items: z.array(AdminBookingAuditEntrySchema),\n ...PaginationResponseSchema.shape,\n});\n","export const EventCrewAssignmentState = {\n DRAFT: 'DRAFT',\n INVITED: 'INVITED',\n ACCEPTED: 'ACCEPTED',\n REJECTED: 'REJECTED',\n CANCELLED: 'CANCELLED',\n EXPIRED: 'EXPIRED',\n} as const;\nexport type EventCrewAssignmentState =\n (typeof EventCrewAssignmentState)[keyof typeof EventCrewAssignmentState];\n","import { z } from 'zod';\nimport { MoneySchema } from '../common';\nimport { JobLocation } from './hiring.enums';\nimport { EventCrewAssignmentState } from './crew-assignment.enums';\n\nconst RoleFieldsSchema = z.object({\n role: z.string().trim().min(1).max(120),\n responsibilities: z.string().trim().min(1).max(5000),\n requirements: z.string().trim().min(1).max(5000),\n compensation: MoneySchema,\n location: z.enum(JobLocation),\n notes: z.string().trim().max(2000).optional(),\n});\n\n/** `POST /host/events/:eventId/crew-assignments` */\nexport const CreateEventCrewAssignmentRequestSchema = RoleFieldsSchema.extend({\n producerId: z.uuid(),\n});\n\n/** `PATCH /host/events/:eventId/crew-assignments/:id` */\nexport const UpdateEventCrewAssignmentRequestSchema = RoleFieldsSchema.partial().refine(\n (body) => Object.keys(body).length > 0,\n { message: 'At least one field is required' },\n);\n\nexport const EventCrewAssignmentProducerSummarySchema = z.object({\n id: z.uuid(),\n companyName: z.string(),\n displayName: z.string().nullable(),\n avatarUrl: z.string().nullable(),\n producerIsVerified: z.boolean(),\n});\n\nexport const EventCrewAssignmentResponseSchema = z.object({\n id: z.uuid(),\n eventId: z.uuid(),\n hostId: z.uuid(),\n producerId: z.uuid(),\n role: z.string(),\n responsibilities: z.string(),\n requirements: z.string(),\n compensation: MoneySchema,\n location: z.enum(JobLocation),\n notes: z.string().nullable(),\n state: z.enum(EventCrewAssignmentState),\n bookingId: z.uuid().nullable(),\n invitedAt: z.iso.datetime().nullable(),\n respondedAt: z.iso.datetime().nullable(),\n rejectReason: z.string().nullable(),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n producer: EventCrewAssignmentProducerSummarySchema.optional(),\n eventTitle: z.string().optional(),\n eventScheduledStartLocal: z.iso.datetime({ local: true, offset: false }).nullable().optional(),\n});\n\nexport const ListEventCrewAssignmentsResponseSchema = z.object({\n items: z.array(EventCrewAssignmentResponseSchema),\n});\n\n/** `POST /marketplace/crew-assignments/:id/reject` */\nexport const RejectEventCrewAssignmentRequestSchema = z.object({\n reason: z.string().trim().min(5).max(500),\n});\n\nexport const AcceptEventCrewAssignmentResponseSchema = z.object({\n assignment: EventCrewAssignmentResponseSchema,\n bookingId: z.uuid(),\n});\n"]}
@@ -1,2 +0,0 @@
1
- import {b as b$1}from'./chunk-B7B7YFFC.mjs';import {f as f$2}from'./chunk-YHFZE7LA.mjs';import {a,ya,wa,xa,f as f$1,Qa}from'./chunk-PCQIIEMA.mjs';import {g as g$1,k as k$1,h as h$1}from'./chunk-HFADWTM3.mjs';import e from'zod';var b=["last7d","last30d","last90d"];var re=e.object({range:e.enum([...b,"custom"]).optional(),start:e.iso.datetime().optional(),end:e.iso.datetime().optional()}),r=e.enum(["UPCOMING","LIVE","ENDED","DRAFTS"]),se=e.object({q:e.string().trim().min(2).max(120),limit:e.coerce.number().int().min(1).max(10).default(10)}),le=e.object({title:e.string().min(1).max(120).optional(),description:e.string().max(2e3).optional(),coverImageUrl:e.any().optional(),previewClipUrl:e.url().nullable().optional(),ticketPrice:e.string().optional(),category:xa.optional(),scheduledStartLocal:e.iso.datetime({local:true,offset:false}).optional(),durationMinutes:e.number().int().positive().optional(),tags:e.array(e.string()).optional(),location:e.string().max(255).optional(),accessModel:e.enum(["FREE","PAID"]).optional(),currency:wa.optional(),maxTickets:e.number().int().positive().nullable().optional(),visibility:ya.optional(),guestEmails:e.array(e.email()).optional(),replayAccess:e.enum(a).optional(),replayWindow:e.number().int().positive().optional(),replayPrice:e.number().nonnegative().optional(),productionMode:e.enum(["SELF","HIRE"]).optional(),crewIds:e.array(e.uuid()).optional(),productionNotes:e.string().max(2e3).nullable().optional(),backupStreamEnabled:e.boolean().optional()}),ce=e.object({tab:r,...g$1.shape}),g=e.object({eventId:e.string(),title:e.string(),date:e.iso.datetime(),ticketsSold:e.number(),plannedDurationMinutes:e.number().nullable(),revenue:e.object({currency:e.string(),value:e.string()}),status:e.enum(["ACTIVE","PAUSED","LIVE","ENDED","DRAFT","CANCELLED"])}),ue=e.object({tab:r,rows:e.array(g),...k$1.shape}),me=e.object({upcoming:e.number(),live:e.number(),ended:e.number(),drafts:e.number()}),de=e.object({title:e.string().min(3).max(120).optional()}),be=e.object({tab:r,...g$1.shape}),pe=e.object({id:e.uuid(),state:e.literal("DRAFT"),wizardStep:e.number().int().min(1).max(5).nullable()}),ge=e.object({id:e.uuid(),wizardStep:e.number().int().min(1).max(5).nullable(),streamingVerified:e.boolean().optional(),verificationToken:e.string().optional(),crewIds:e.array(e.uuid()).optional(),crewAssignments:e.array(e.object({id:e.uuid(),producerId:e.uuid(),role:e.string(),state:e.string(),compensation:h$1,location:e.string()})).optional()}),Ee=e.object({id:e.uuid(),state:e.literal("SCHEDULED"),publishedAt:e.iso.datetime().nullable(),bookingIds:e.array(e.uuid())}),Se=e.object({id:e.uuid(),state:e.literal("CANCELLED"),cancelledAt:e.iso.datetime().nullable()}),h=e.object({amount:h$1,deltaPct:e.number().nullable()}),y=e.object({count:e.number().int(),nextStartsAt:e.string().nullable()}),A=e.object({eventCount:e.number().int(),totalViewers:e.number().int()}),R=e.object({value:e.number().int(),deltaPct:e.number().nullable()}),x=e.object({eventId:e.uuid(),title:e.string(),viewers:e.number().int()}),T=e.object({eventId:e.uuid(),title:e.string(),scheduledStart:e.string(),canGoLive:e.boolean()}),E=e.object({kind:e.string(),subjectType:e.enum(["Event","Booking","PaymentIntent","ReplayPurchase"]),subjectId:e.string(),occurredAt:e.number().int(),payload:e.record(e.string(),e.unknown()),dedupeId:e.string()}),ve=e.object({range:e.object({start:e.string(),end:e.string(),preset:e.string().optional()}),kpis:e.object({totalRevenue:h,upcomingEvents:y,liveNow:A,totalViews:R}),live:e.array(x),upcoming:e.array(T),activity:e.array(E)}),he=e.object({items:e.array(E),...k$1.shape}),I=e.object({eventId:e.uuid(),title:e.string(),scheduledStart:e.string(),state:e.string()}),ye=e.object({hits:e.array(I)}),Ae=e.object({count:e.number().int()}),Re=e.object({tab:r,items:e.array(g),...k$1.shape}),j=e.object({id:e.uuid(),hostId:e.uuid(),title:e.string(),description:e.string().nullable(),coverImageUrl:e.string().nullable(),previewClipUrl:e.string().nullable(),venueLocation:e.string().nullable(),scheduledStartLocal:e.string(),scheduledEndLocal:e.string(),scheduledEnd:e.iso.datetime(),scheduledStart:e.iso.datetime(),timezone:e.string(),expectedAudience:e.number().int().nullable(),plannedDurationMinutes:e.number().int().nullable(),visibility:e.string(),accessModel:e.string(),ticketPrice:h$1.nullable(),maxTickets:e.number().int().nullable(),allowlistData:e.array(e.string()),replayAccess:e.enum(a),replayAccessFee:h$1,retentionDays:e.number().int(),replayAvailableUntil:e.string().nullable(),shareableUrl:e.string().nullable(),state:e.string(),tags:e.array(e.string()),isFeatured:e.boolean(),createdAt:e.string(),updatedAt:e.string(),publishedAt:e.string().nullable(),liveStartedAt:e.string().nullable(),liveEndedAt:e.string().nullable(),cancelledAt:e.string().nullable(),cancelledReason:e.string().nullable(),category:e.string(),wizardStep:e.number().int().nullable(),productionMode:e.string().nullable(),productionNotes:e.string().nullable()}),xe=j.extend({crewIds:e.array(e.uuid()),crewAssignments:e.array(e.object({id:e.uuid(),producerId:e.uuid(),role:e.string(),state:e.string(),compensation:h$1,location:e.string()})).optional().default([])}),C=e.enum(["EVENT_DETAILS","PRICING","CREW_ASSIGNED","STREAM_TESTED"]),H=e.enum(["PASS","WARN","FAIL"]),D=e.enum(["OPEN_WIZARD_STEP_1","OPEN_WIZARD_STEP_2","OPEN_WIZARD_STEP_3","OPEN_HIRE_CREW","RUN_STREAM_TEST"]),L=e.enum(["CHECKLIST_INCOMPLETE","BEFORE_WINDOW","AFTER_WINDOW","ALREADY_LIVE","NOT_OWNED"]),N=e.enum(["NOT_PROVISIONED","READY_FOR_TEST","LIVE","STREAM_TEST_FAILED","STREAM_TEST_SUCCESSFUL"]),p=e.enum(["SELF","HIRE"]),P=e.object({id:C,label:e.string(),state:H,detail:e.string().optional(),cta:D.optional()}),S=e.object({progress:e.number().min(0).max(1),items:e.array(P),canGoLive:e.boolean(),blockReason:L.optional()}),Te=e.object({crewSearch:e.string().trim().min(2).max(100).optional(),crewState:e.enum(b$1).optional()}),v=e.object({bookingId:e.string(),producerProfileId:e.string(),displayName:e.string(),companyName:e.string(),producerAvatarUrl:e.url().nullable(),producerServiceCategoryLabels:e.array(e.string()),producerEquipmentLabels:e.array(e.string()),producerIsVerified:e.boolean(),role:e.string().nullable(),responsibilities:e.string().nullable(),state:e.enum(b$1),confirmedAt:e.iso.datetime().nullable()}),_=e.enum(["ACTIVE","PAST"]),Ie=e.object({phase:_.default("ACTIVE"),eventId:e.uuid().optional(),crewSearch:e.string().trim().min(2).max(100).optional(),crewState:e.enum(b$1).optional(),...g$1.shape}),w=v.extend({eventId:e.uuid(),eventTitle:e.string()}),f=e.object({eventId:e.uuid(),totalViewers:e.number().int().nonnegative(),uniqueViewers:e.number().int().nonnegative(),peakConcurrent:e.number().int().nonnegative(),registeredCount:e.number().int().nonnegative(),paidCount:e.number().int().nonnegative(),refundedCount:e.number().int().nonnegative(),returningViewerCount:e.number().int().nonnegative().nullable(),highValueBuyerCount:e.number().int().nonnegative().nullable(),grossRevenue:h$1,computedAt:e.iso.datetime(),byDeviceType:e.record(e.string(),e.number()).nullable()}),k=e.object({eventId:e.uuid(),totalReplayViewers:e.number().int().nonnegative(),completedViews:e.number().int().nonnegative(),avgWatchProgressPct:e.number().min(0).max(1).nullable(),totalWatchTimeSec:e.number().int().nonnegative(),activeReplayPurchases:e.number().int().nonnegative(),replayRevenue:h$1,computedAt:e.iso.datetime(),points:e.array(e.object({date:e.string(),viewsCount:e.number().int().nonnegative(),revenue:h$1}))}),O=e.object({audience:f.nullable(),replayPerformance:k.nullable()}),je=e.object({items:e.array(w),...k$1.shape}),Ce=e.object({serverNow:e.iso.datetime(),event:e.object({id:e.string(),title:e.string(),description:e.string().nullable(),coverImageUrl:e.string().nullable(),scheduledStartLocal:e.iso.datetime({local:true,offset:false}),scheduledStart:e.iso.datetime({local:true,offset:false}),scheduledEndLocal:e.iso.datetime({local:true,offset:false}),scheduledEnd:e.iso.datetime(),timezone:e.string(),accessModel:e.string(),ticketPrice:h$1.nullable(),shareableUrl:e.string().nullable(),state:e.string(),visibility:e.string(),productionMode:p.nullable(),goLiveEligibleAt:e.iso.datetime().nullable(),replayAccess:e.enum(a),replayAccessFee:h$1,retentionDays:e.number().int(),replayAvailableUntil:e.string().nullable()}),ticketing:e.object({totalPayingCapacity:e.number().int().nullable(),ticketsSold:e.number().int(),revenue:h$1,liveRevenue:h$1,ticketRevenue:h$1,replayRevenue:h$1,hostShare:h$1,platformFee:h$1}),audience:e.object({registered:e.number().int(),watchingNow:e.number().int().nonnegative(),byCountry:e.record(e.string(),e.number().int()).nullable(),byTrafficSource:e.record(e.string(),e.number().int()).nullable()}),readiness:S,production:e.object({mode:p,crew:e.array(v)}),streaming:e.object({status:N,serverUrl:e.string().nullable(),streamKey:e.string().nullable(),lastStreamTestAt:e.iso.datetime().nullable(),testAvailableAt:e.iso.datetime().nullable(),lastStreamTestFailedAt:e.iso.datetime().nullable(),lastStreamTestFailureReason:e.string().nullable()}),share:e.object({shareableUrl:e.string(),slug:e.string()}),postEvent:O.nullable()}),He=S,De=e.object({shareableUrl:e.string(),slug:e.string(),copyText:e.string(),channelLinks:e.object({twitter:e.string(),facebook:e.string(),email:e.string(),embed:e.string()}),qrCodeDataUrl:e.string()}),U=e.enum(["PRE_LIVE","LIVE","ENDED"]),M=e.enum(["PROCESSING","READY","UNAVAILABLE"]),V=e.enum(["HEALTHY","DEGRADED","INGEST_DOWN"]),F=e.enum(["HOST_TERMINATED","HOST_TERMINATED_EARLY","AUTO_AFTER_SILENCE","AUTO_AT_SCHEDULED_END","ADMIN_FORCED"]),W=e.enum(["AUDIO_QUALITY","VIDEO_QUALITY","BITRATE_DROP","INGEST_DISCONNECTED","INGEST_RECONNECTED","RECORDING_FAILED","STREAM_DENIED"]),G=e.enum(["INFO","WARN","ERROR"]),z=e.object({id:e.string(),title:e.string(),scheduledStart:e.iso.datetime(),scheduledEnd:e.iso.datetime(),scheduledStartLocal:e.iso.datetime({local:true,offset:false}),scheduledEndLocal:e.iso.datetime({local:true,offset:false}),state:e.enum(f$1),currency:e.string(),accessModel:e.string()}),B=e.object({streamEnabled:e.boolean(),canGoLive:e.boolean(),canEndLive:e.boolean(),requiresReauthToEnd:e.boolean()}),K=e.object({viewers:e.number().int(),peakViewers:e.number().int(),ticketsSold:e.number().int(),revenue:e.object({value:e.string(),currency:e.string()}),joinedTotal:e.number().int()}),Q=e.object({bitrateKbps:e.number(),resolution:e.string(),latencyMs:e.number().nullable(),ingestHealth:V,lastSampleAt:e.iso.datetime()}),Y=e.object({bookingId:e.string(),producerProfileId:e.string(),displayName:e.string(),role:e.string().nullable(),online:e.boolean()}),q=e.object({id:e.string(),kind:W,severity:G,message:e.string(),startedAt:e.iso.datetime(),acknowledgedAt:e.iso.datetime().nullable()}),Z=e.object({enabled:e.boolean(),socketNamespace:e.string(),backfill:e.array(f$2)}),J=e.object({endedAt:e.iso.datetime(),endedEarly:e.boolean(),endedReason:F,replayState:M,replayAvailableAt:e.iso.datetime().nullable()}),Le=e.object({serverNow:e.iso.datetime(),slice:U,event:z,controls:B,metrics:K,telemetry:Q.nullable(),crew:e.array(Y),alerts:e.array(q),activity:e.array(e.never()),chat:Z,ended:J.nullable(),livePreview:Qa.nullable()}),Ne=e.object({from:e.iso.datetime().optional(),to:e.iso.datetime().optional()}),X=e.object({bucketStart:e.iso.datetime(),concurrentViewers:e.number().int().nonnegative(),chatMessages:e.number().int().nonnegative().nullable(),reactions:e.number().int().nonnegative().nullable(),bitrateKbps:e.number().int().nonnegative().nullable(),ingestHealth:e.enum(["HEALTHY","DEGRADED","INGEST_DOWN"]).nullable(),resolution:e.string().nullable()}),Pe=e.object({eventId:e.uuid(),from:e.iso.datetime(),to:e.iso.datetime(),granularity:e.literal("minute"),buckets:e.array(X)});export{q as $,N as A,p as B,P as C,S as D,Te as E,v as F,_ as G,Ie as H,w as I,f as J,k as K,O as L,je as M,Ce as N,He as O,De as P,U as Q,M as R,V as S,F as T,W as U,G as V,z as W,B as X,K as Y,Q as Z,Y as _,b as a,Z as aa,re as b,J as ba,r as c,Le as ca,se as d,Ne as da,le as e,X as ea,ce as f,Pe as fa,g,ue as h,me as i,de as j,be as k,pe as l,ge as m,Ee as n,Se as o,ve as p,he as q,I as r,ye as s,Ae as t,Re as u,j as v,xe as w,C as x,H as y,L as z};//# sourceMappingURL=chunk-3R7IA4XA.mjs.map
2
- //# sourceMappingURL=chunk-3R7IA4XA.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/host/host.enums.ts","../src/host/host.schemas.ts"],"names":["HOST_DATE_RANGE_PRESETS","HostOverviewQuerySchema","z","HostEventsTabSchema","HostSearchQuerySchema","HostEventPatchSchema","CategorySchema","CurrencySchema","VisibilitySchema","EventReplayAccess","HostEventsListQuerySchema","PaginationParamsSchema","HostEventRowResponseSchema","HostEventsTabResponseSchema","PaginationResponseSchema","HostEventsTabCountsResponseSchema","HostEventWizardStartSchema","HostEventsListPagedQuerySchema","HostEventWizardStartResponseSchema","HostEventWizardStepResponseSchema","MoneySchema","HostEventWizardPublishResponseSchema","HostEventCancelResponseSchema","MoneyKpiSchema","UpcomingEventsKpiSchema","LiveNowKpiSchema","TotalViewsKpiSchema","LiveEventEntrySchema","UpcomingEventRailEntrySchema","HostActivityEntrySchema","HostOverviewResponseSchema","HostActivityListPageSchema","HostSearchHitSchema","HostSearchResponseSchema","HostNotificationsUnreadCountSchema","HostEventsTabResponseClassSchema","HostEventFullResponseSchema","HostEventWizardCurrentResponseSchema","ReadinessItemIdSchema","ReadinessItemStateSchema","ReadinessCtaSchema","ReadinessBlockReasonSchema","StreamingStatusSchema","ProductionModeSchema","ReadinessItemSchema","HostEventReadinessBlockSchema","ListHostEventDashboardQuerySchema","BookingState","HostEventCrewMemberSchema","HostProductionCrewPhaseSchema","ListHostProductionCrewQuerySchema","HostProductionCrewItemSchema","HostEventAudienceResponseSchema","HostEventReplayPerformanceResponseSchema","HostEventDashboardPostEventBlockSchema","PagedHostProductionCrewResponseSchema","HostEventDashboardResponseSchema","HostEventReadinessResponseSchema","HostEventShareResponseSchema","LiveConsoleSliceSchema","EndedReplayStateSchema","LiveIngestHealthSchema","EndedReasonSchema","EventStreamAlertKindSchema","EventStreamAlertSeveritySchema","HostLiveConsoleEventSchema","EventState","HostLiveConsoleControlsSchema","HostLiveConsoleMetricsSchema","HostLiveConsoleTelemetrySchema","HostLiveConsoleCrewMemberSchema","HostLiveConsoleAlertSchema","HostLiveConsoleChatSchema","ChatMessageSchema","HostLiveConsoleEndedSchema","HostLiveConsolePayloadSchema","HostLivePreviewSchema","HostEventEngagementTimelineQuerySchema","HostEventEngagementTimelineBucketSchema","HostEventEngagementTimelineResponseSchema"],"mappings":"mOAAO,IAAMA,CAAAA,CAA0B,CAAC,QAAA,CAAU,SAAA,CAAW,SAAS,ECc/D,IAAMC,EAAAA,CAA0BC,CAAAA,CAAE,MAAA,CAAO,CAC9C,KAAA,CAAOA,CAAAA,CAAE,IAAA,CAAK,CAAC,GAAGF,CAAAA,CAAyB,QAAQ,CAAU,EAAE,QAAA,EAAS,CACxE,KAAA,CAAOE,CAAAA,CAAE,IAAI,QAAA,EAAS,CAAE,QAAA,EAAS,CACjC,IAAKA,CAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CAAE,QAAA,EACxB,CAAC,CAAA,CAEYC,EAAsBD,CAAAA,CAAE,IAAA,CAAK,CAAC,UAAA,CAAY,OAAQ,OAAA,CAAS,QAAQ,CAAC,CAAA,CAEpEE,GAAwBF,CAAAA,CAAE,MAAA,CAAO,CAC5C,CAAA,CAAGA,CAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CACnC,KAAA,CAAOA,CAAAA,CAAE,MAAA,CAAO,QAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,EAAE,OAAA,CAAQ,EAAE,CAC1D,CAAC,CAAA,CAEYG,EAAAA,CAAuBH,CAAAA,CAAE,MAAA,CAAO,CAC3C,KAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS,CAC3C,WAAA,CAAaA,EAAE,MAAA,EAAO,CAAE,GAAA,CAAI,GAAI,EAAE,QAAA,EAAS,CAC3C,aAAA,CAAeA,CAAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAChC,eAAgBA,CAAAA,CAAE,GAAA,EAAI,CAAE,QAAA,GAAW,QAAA,EAAS,CAC5C,WAAA,CAAaA,CAAAA,CAAE,QAAO,CAAE,QAAA,EAAS,CAEjC,QAAA,CAAUI,EAAAA,CAAe,QAAA,EAAS,CAClC,mBAAA,CAAqBJ,EAAE,GAAA,CAAI,QAAA,CAAS,CAAE,KAAA,CAAO,KAAM,MAAA,CAAQ,KAAM,CAAC,CAAA,CAAE,UAAS,CAC7E,eAAA,CAAiBA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,QAAA,GAAW,QAAA,EAAS,CACtD,IAAA,CAAMA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,EAAE,QAAA,EAAS,CACnC,QAAA,CAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS,CAGvC,WAAA,CAAaA,CAAAA,CAAE,KAAK,CAAC,MAAA,CAAQ,MAAM,CAAC,EAAE,QAAA,EAAS,CAC/C,QAAA,CAAUK,EAAAA,CAAe,QAAA,EAAS,CAClC,UAAA,CAAYL,CAAAA,CAAE,QAAO,CAAE,GAAA,EAAI,CAAE,QAAA,GAAW,QAAA,EAAS,CAAE,QAAA,EAAS,CAC5D,WAAYM,EAAAA,CAAiB,QAAA,EAAS,CACtC,WAAA,CAAaN,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,KAAA,EAAO,CAAA,CAAE,QAAA,EAAS,CACzC,YAAA,CAAcA,EAAE,IAAA,CAAKO,CAAiB,CAAA,CAAE,QAAA,GACxC,YAAA,CAAcP,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAAE,UAAS,CACnD,WAAA,CAAaA,CAAAA,CAAE,MAAA,GAAS,WAAA,EAAY,CAAE,QAAA,EAAS,CAC/C,eAAgBA,CAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,CAAQ,MAAM,CAAC,CAAA,CAAE,QAAA,GACzC,OAAA,CAASA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAM,CAAA,CAAE,QAAA,EAAS,CACpC,gBAAiBA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,GAAI,CAAA,CAAE,QAAA,EAAS,CAAE,UAAS,CAC1D,mBAAA,CAAqBA,CAAAA,CAAE,OAAA,GAAU,QAAA,EACnC,CAAC,CAAA,CAEYQ,GAA4BR,CAAAA,CAAE,MAAA,CAAO,CAChD,GAAA,CAAKC,CAAAA,CACL,GAAGQ,GAAAA,CAAuB,KAC5B,CAAC,CAAA,CAEYC,CAAAA,CAA6BV,CAAAA,CAAE,MAAA,CAAO,CACjD,OAAA,CAASA,CAAAA,CAAE,MAAA,EAAO,CAClB,MAAOA,CAAAA,CAAE,MAAA,EAAO,CAChB,IAAA,CAAMA,CAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CACrB,YAAaA,CAAAA,CAAE,MAAA,EAAO,CACtB,sBAAA,CAAwBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GACnC,OAAA,CAASA,CAAAA,CAAE,MAAA,CAAO,CAChB,QAAA,CAAUA,CAAAA,CAAE,MAAA,EAAO,CACnB,MAAOA,CAAAA,CAAE,MAAA,EACX,CAAC,EACD,MAAA,CAAQA,CAAAA,CAAE,IAAA,CAAK,CAAC,SAAU,QAAA,CAAU,MAAA,CAAQ,OAAA,CAAS,OAAA,CAAS,WAAW,CAAC,CAC5E,CAAC,EAEYW,EAAAA,CAA8BX,CAAAA,CAAE,MAAA,CAAO,CAClD,IAAKC,CAAAA,CACL,IAAA,CAAMD,CAAAA,CAAE,KAAA,CAAMU,CAA0B,CAAA,CACxC,GAAGE,GAAAA,CAAyB,KAC9B,CAAC,CAAA,CAEYC,EAAAA,CAAoCb,CAAAA,CAAE,OAAO,CACxD,QAAA,CAAUA,CAAAA,CAAE,MAAA,GACZ,IAAA,CAAMA,CAAAA,CAAE,MAAA,EAAO,CACf,MAAOA,CAAAA,CAAE,MAAA,EAAO,CAChB,MAAA,CAAQA,CAAAA,CAAE,MAAA,EACZ,CAAC,EAEYc,EAAAA,CAA6Bd,CAAAA,CAAE,MAAA,CAAO,CACjD,MAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EACpC,CAAC,CAAA,CAEYe,GAAiCf,CAAAA,CAAE,MAAA,CAAO,CACrD,GAAA,CAAKC,EACL,GAAGQ,GAAAA,CAAuB,KAC5B,CAAC,EAEYO,EAAAA,CAAqChB,CAAAA,CAAE,MAAA,CAAO,CACzD,EAAA,CAAIA,CAAAA,CAAE,IAAA,EAAK,CACX,MAAOA,CAAAA,CAAE,OAAA,CAAQ,OAAO,CAAA,CACxB,WAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAC7C,CAAC,CAAA,CAEYiB,EAAAA,CAAoCjB,CAAAA,CAAE,MAAA,CAAO,CACxD,EAAA,CAAIA,CAAAA,CAAE,IAAA,EAAK,CACX,WAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,IAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CACpD,iBAAA,CAAmBA,CAAAA,CAAE,OAAA,EAAQ,CAAE,UAAS,CACxC,iBAAA,CAAmBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CACvC,OAAA,CAASA,EAAE,KAAA,CAAMA,CAAAA,CAAE,IAAA,EAAM,EAAE,QAAA,EAAS,CAEpC,eAAA,CAAiBA,CAAAA,CACd,MACCA,CAAAA,CAAE,MAAA,CAAO,CACP,EAAA,CAAIA,CAAAA,CAAE,IAAA,EAAK,CACX,UAAA,CAAYA,EAAE,IAAA,EAAK,CACnB,IAAA,CAAMA,CAAAA,CAAE,QAAO,CACf,KAAA,CAAOA,CAAAA,CAAE,MAAA,GACT,YAAA,CAAckB,GAAAA,CACd,QAAA,CAAUlB,CAAAA,CAAE,MAAA,EACd,CAAC,CACH,EACC,QAAA,EACL,CAAC,CAAA,CAEYmB,GAAuCnB,CAAAA,CAAE,MAAA,CAAO,CAC3D,EAAA,CAAIA,EAAE,IAAA,EAAK,CACX,KAAA,CAAOA,CAAAA,CAAE,OAAA,CAAQ,WAAW,CAAA,CAC5B,WAAA,CAAaA,EAAE,GAAA,CAAI,QAAA,EAAS,CAAE,QAAA,GAC9B,UAAA,CAAYA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAM,CAC9B,CAAC,CAAA,CAEYoB,EAAAA,CAAgCpB,CAAAA,CAAE,MAAA,CAAO,CACpD,GAAIA,CAAAA,CAAE,IAAA,EAAK,CACX,KAAA,CAAOA,EAAE,OAAA,CAAQ,WAAW,CAAA,CAC5B,WAAA,CAAaA,EAAE,GAAA,CAAI,QAAA,EAAS,CAAE,QAAA,EAChC,CAAC,CAAA,CAQKqB,CAAAA,CAAiBrB,EAAE,MAAA,CAAO,CAC9B,MAAA,CAAQkB,GAAAA,CACR,SAAUlB,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EACvB,CAAC,CAAA,CAEKsB,CAAAA,CAA0BtB,CAAAA,CAAE,MAAA,CAAO,CACvC,KAAA,CAAOA,CAAAA,CAAE,QAAO,CAAE,GAAA,EAAI,CACtB,YAAA,CAAcA,EAAE,MAAA,EAAO,CAAE,QAAA,EAC3B,CAAC,CAAA,CAEKuB,CAAAA,CAAmBvB,CAAAA,CAAE,MAAA,CAAO,CAChC,UAAA,CAAYA,CAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAC3B,YAAA,CAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAC3B,CAAC,CAAA,CAEKwB,CAAAA,CAAsBxB,CAAAA,CAAE,MAAA,CAAO,CACnC,KAAA,CAAOA,CAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CACtB,QAAA,CAAUA,CAAAA,CAAE,QAAO,CAAE,QAAA,EACvB,CAAC,EAEKyB,CAAAA,CAAuBzB,CAAAA,CAAE,MAAA,CAAO,CACpC,OAAA,CAASA,CAAAA,CAAE,IAAA,EAAK,CAChB,MAAOA,CAAAA,CAAE,MAAA,EAAO,CAChB,OAAA,CAASA,EAAE,MAAA,EAAO,CAAE,GAAA,EACtB,CAAC,CAAA,CAEK0B,CAAAA,CAA+B1B,CAAAA,CAAE,MAAA,CAAO,CAC5C,OAAA,CAASA,CAAAA,CAAE,IAAA,GACX,KAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,CAChB,eAAgBA,CAAAA,CAAE,MAAA,EAAO,CACzB,SAAA,CAAWA,EAAE,OAAA,EACf,CAAC,CAAA,CAEK2B,CAAAA,CAA0B3B,CAAAA,CAAE,MAAA,CAAO,CACvC,KAAMA,CAAAA,CAAE,MAAA,EAAO,CACf,WAAA,CAAaA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,CAAS,UAAW,eAAA,CAAiB,gBAAgB,CAAC,CAAA,CAC3E,SAAA,CAAWA,CAAAA,CAAE,MAAA,EAAO,CACpB,WAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GACvB,OAAA,CAASA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,QAAO,CAAGA,CAAAA,CAAE,OAAA,EAAS,CAAA,CACzC,QAAA,CAAUA,CAAAA,CAAE,MAAA,EACd,CAAC,CAAA,CAEY4B,EAAAA,CAA6B5B,CAAAA,CAAE,OAAO,CACjD,KAAA,CAAOA,CAAAA,CAAE,MAAA,CAAO,CACd,KAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,CAChB,GAAA,CAAKA,CAAAA,CAAE,MAAA,EAAO,CACd,OAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EACrB,CAAC,CAAA,CACD,IAAA,CAAMA,CAAAA,CAAE,OAAO,CACb,YAAA,CAAcqB,CAAAA,CACd,cAAA,CAAgBC,CAAAA,CAChB,OAAA,CAASC,CAAAA,CACT,UAAA,CAAYC,CACd,CAAC,CAAA,CACD,IAAA,CAAMxB,CAAAA,CAAE,KAAA,CAAMyB,CAAoB,CAAA,CAClC,QAAA,CAAUzB,EAAE,KAAA,CAAM0B,CAA4B,CAAA,CAC9C,QAAA,CAAU1B,CAAAA,CAAE,KAAA,CAAM2B,CAAuB,CAC3C,CAAC,CAAA,CAEYE,EAAAA,CAA6B7B,CAAAA,CAAE,MAAA,CAAO,CACjD,KAAA,CAAOA,CAAAA,CAAE,KAAA,CAAM2B,CAAuB,EACtC,GAAGf,GAAAA,CAAyB,KAC9B,CAAC,CAAA,CAEYkB,CAAAA,CAAsB9B,CAAAA,CAAE,MAAA,CAAO,CAC1C,OAAA,CAASA,CAAAA,CAAE,IAAA,EAAK,CAChB,MAAOA,CAAAA,CAAE,MAAA,EAAO,CAChB,cAAA,CAAgBA,EAAE,MAAA,EAAO,CACzB,KAAA,CAAOA,CAAAA,CAAE,MAAA,EACX,CAAC,CAAA,CAEY+B,GAA2B/B,CAAAA,CAAE,MAAA,CAAO,CAC/C,IAAA,CAAMA,EAAE,KAAA,CAAM8B,CAAmB,CACnC,CAAC,EAEYE,EAAAA,CAAqChC,CAAAA,CAAE,MAAA,CAAO,CACzD,KAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,KACpB,CAAC,CAAA,CAEYiC,EAAAA,CAAmCjC,EAAE,MAAA,CAAO,CACvD,GAAA,CAAKC,CAAAA,CACL,MAAOD,CAAAA,CAAE,KAAA,CAAMU,CAA0B,CAAA,CACzC,GAAGE,GAAAA,CAAyB,KAC9B,CAAC,EAEYsB,CAAAA,CAA8BlC,CAAAA,CAAE,MAAA,CAAO,CAClD,GAAIA,CAAAA,CAAE,IAAA,EAAK,CACX,MAAA,CAAQA,EAAE,IAAA,EAAK,CACf,KAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,CAChB,WAAA,CAAaA,CAAAA,CAAE,QAAO,CAAE,QAAA,EAAS,CACjC,aAAA,CAAeA,EAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CACnC,eAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CACpC,aAAA,CAAeA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CACnC,mBAAA,CAAqBA,CAAAA,CAAE,QAAO,CAC9B,iBAAA,CAAmBA,CAAAA,CAAE,MAAA,GACrB,YAAA,CAAcA,CAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CAC7B,cAAA,CAAgBA,CAAAA,CAAE,GAAA,CAAI,UAAS,CAC/B,QAAA,CAAUA,CAAAA,CAAE,MAAA,EAAO,CACnB,gBAAA,CAAkBA,CAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAAE,QAAA,EAAS,CAC5C,sBAAA,CAAwBA,CAAAA,CAAE,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,EAAS,CAClD,UAAA,CAAYA,EAAE,MAAA,EAAO,CACrB,WAAA,CAAaA,CAAAA,CAAE,QAAO,CAEtB,WAAA,CAAakB,GAAAA,CAAY,QAAA,EAAS,CAClC,UAAA,CAAYlB,CAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAAE,QAAA,EAAS,CACtC,cAAeA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CACjC,YAAA,CAAcA,CAAAA,CAAE,IAAA,CAAKO,CAAiB,CAAA,CAEtC,eAAA,CAAiBW,GAAAA,CACjB,cAAelB,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAC1B,oBAAA,CAAsBA,CAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CAC1C,YAAA,CAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAClC,KAAA,CAAOA,EAAE,MAAA,EAAO,CAChB,IAAA,CAAMA,CAAAA,CAAE,MAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CACxB,WAAYA,CAAAA,CAAE,OAAA,EAAQ,CACtB,SAAA,CAAWA,CAAAA,CAAE,MAAA,EAAO,CACpB,SAAA,CAAWA,EAAE,MAAA,EAAO,CACpB,WAAA,CAAaA,CAAAA,CAAE,QAAO,CAAE,QAAA,EAAS,CACjC,aAAA,CAAeA,EAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CACnC,WAAA,CAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CACjC,WAAA,CAAaA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CACjC,eAAA,CAAiBA,CAAAA,CAAE,QAAO,CAAE,QAAA,EAAS,CACrC,QAAA,CAAUA,CAAAA,CAAE,MAAA,EAAO,CACnB,UAAA,CAAYA,EAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,UAAS,CACtC,cAAA,CAAgBA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CACpC,eAAA,CAAiBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAC9B,CAAC,CAAA,CAEYmC,EAAAA,CAAuCD,CAAAA,CAA4B,MAAA,CAAO,CACrF,OAAA,CAASlC,CAAAA,CAAE,KAAA,CAAMA,EAAE,IAAA,EAAM,CAAA,CAEzB,eAAA,CAAiBA,CAAAA,CACd,KAAA,CACCA,CAAAA,CAAE,MAAA,CAAO,CACP,EAAA,CAAIA,CAAAA,CAAE,IAAA,EAAK,CACX,WAAYA,CAAAA,CAAE,IAAA,EAAK,CACnB,IAAA,CAAMA,EAAE,MAAA,EAAO,CACf,KAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,CAChB,YAAA,CAAckB,GAAAA,CACd,SAAUlB,CAAAA,CAAE,MAAA,EACd,CAAC,CACH,CAAA,CACC,QAAA,EAAS,CACT,OAAA,CAAQ,EAAE,CACf,CAAC,CAAA,CAEYoC,CAAAA,CAAwBpC,CAAAA,CAAE,IAAA,CAAK,CAC1C,gBACA,SAAA,CACA,eAAA,CACA,eACF,CAAC,EAEYqC,CAAAA,CAA2BrC,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAQ,MAAA,CAAQ,MAAM,CAAC,CAAA,CAEjEsC,CAAAA,CAAqBtC,CAAAA,CAAE,IAAA,CAAK,CAChC,qBACA,oBAAA,CACA,oBAAA,CACA,gBAAA,CACA,iBACF,CAAC,CAAA,CAEYuC,CAAAA,CAA6BvC,CAAAA,CAAE,IAAA,CAAK,CAC/C,sBAAA,CACA,eAAA,CACA,cAAA,CACA,cAAA,CACA,WACF,CAAC,CAAA,CAEYwC,CAAAA,CAAwBxC,EAAE,IAAA,CAAK,CAC1C,iBAAA,CACA,gBAAA,CACA,OACA,oBAAA,CACA,wBACF,CAAC,CAAA,CAEYyC,EAAuBzC,CAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,CAAQ,MAAM,CAAC,CAAA,CAE9C0C,CAAAA,CAAsB1C,EAAE,MAAA,CAAO,CAC1C,EAAA,CAAIoC,CAAAA,CACJ,MAAOpC,CAAAA,CAAE,MAAA,EAAO,CAChB,KAAA,CAAOqC,EACP,MAAA,CAAQrC,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAC5B,GAAA,CAAKsC,CAAAA,CAAmB,UAC1B,CAAC,CAAA,CAEYK,CAAAA,CAAgC3C,EAAE,MAAA,CAAO,CACpD,QAAA,CAAUA,CAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CACjC,KAAA,CAAOA,EAAE,KAAA,CAAM0C,CAAmB,CAAA,CAClC,SAAA,CAAW1C,CAAAA,CAAE,OAAA,EAAQ,CACrB,WAAA,CAAauC,EAA2B,QAAA,EAC1C,CAAC,CAAA,CAGYK,EAAAA,CAAoC5C,CAAAA,CAAE,MAAA,CAAO,CAExD,WAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS,CACvD,SAAA,CAAWA,CAAAA,CAAE,IAAA,CAAK6C,GAAY,CAAA,CAAE,UAClC,CAAC,CAAA,CAEYC,CAAAA,CAA4B9C,EAAE,MAAA,CAAO,CAChD,SAAA,CAAWA,CAAAA,CAAE,QAAO,CACpB,iBAAA,CAAmBA,CAAAA,CAAE,MAAA,EAAO,CAC5B,WAAA,CAAaA,CAAAA,CAAE,MAAA,GACf,WAAA,CAAaA,CAAAA,CAAE,MAAA,EAAO,CACtB,kBAAmBA,CAAAA,CAAE,GAAA,EAAI,CAAE,QAAA,GAC3B,6BAAA,CAA+BA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CACjD,uBAAA,CAAyBA,EAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAC3C,kBAAA,CAAoBA,CAAAA,CAAE,OAAA,GAEtB,IAAA,CAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAE1B,gBAAA,CAAkBA,CAAAA,CAAE,QAAO,CAAE,QAAA,EAAS,CACtC,KAAA,CAAOA,EAAE,IAAA,CAAK6C,GAAY,CAAA,CAC1B,WAAA,CAAa7C,EAAE,GAAA,CAAI,QAAA,EAAS,CAAE,QAAA,EAChC,CAAC,CAAA,CAEY+C,CAAAA,CAAgC/C,EAAE,IAAA,CAAK,CAAC,QAAA,CAAU,MAAM,CAAC,CAAA,CAGzDgD,EAAAA,CAAoChD,CAAAA,CAAE,MAAA,CAAO,CACxD,KAAA,CAAO+C,CAAAA,CAA8B,OAAA,CAAQ,QAAQ,CAAA,CACrD,OAAA,CAAS/C,CAAAA,CAAE,IAAA,GAAO,QAAA,EAAS,CAC3B,UAAA,CAAYA,CAAAA,CAAE,QAAO,CAAE,IAAA,EAAK,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS,CACvD,SAAA,CAAWA,CAAAA,CAAE,KAAK6C,GAAY,CAAA,CAAE,QAAA,EAAS,CACzC,GAAGpC,GAAAA,CAAuB,KAC5B,CAAC,EAEYwC,CAAAA,CAA+BH,CAAAA,CAA0B,MAAA,CAAO,CAC3E,OAAA,CAAS9C,CAAAA,CAAE,IAAA,EAAK,CAChB,WAAYA,CAAAA,CAAE,MAAA,EAChB,CAAC,EAEYkD,CAAAA,CAAkClD,CAAAA,CAAE,MAAA,CAAO,CACtD,QAASA,CAAAA,CAAE,IAAA,EAAK,CAChB,YAAA,CAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY,CAC3C,aAAA,CAAeA,CAAAA,CAAE,QAAO,CAAE,GAAA,EAAI,CAAE,WAAA,GAChC,cAAA,CAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,WAAA,EAAY,CAC7C,gBAAiBA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY,CAC9C,SAAA,CAAWA,CAAAA,CAAE,QAAO,CAAE,GAAA,EAAI,CAAE,WAAA,EAAY,CACxC,aAAA,CAAeA,CAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAAE,WAAA,EAAY,CAC5C,qBAAsBA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY,CAAE,QAAA,EAAS,CAC9D,mBAAA,CAAqBA,CAAAA,CAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,EAAY,CAAE,QAAA,GACpD,YAAA,CAAckB,GAAAA,CACd,UAAA,CAAYlB,CAAAA,CAAE,IAAI,QAAA,EAAS,CAC3B,YAAA,CAAcA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,CAAGA,EAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EACjD,CAAC,CAAA,CAEYmD,CAAAA,CAA2CnD,CAAAA,CAAE,OAAO,CAC/D,OAAA,CAASA,CAAAA,CAAE,IAAA,EAAK,CAChB,kBAAA,CAAoBA,CAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAAE,WAAA,EAAY,CACjD,eAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY,CAE7C,mBAAA,CAAqBA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,EAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CACvD,iBAAA,CAAmBA,CAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAAE,WAAA,EAAY,CAChD,qBAAA,CAAuBA,CAAAA,CAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,EAAY,CACpD,aAAA,CAAekB,IACf,UAAA,CAAYlB,CAAAA,CAAE,GAAA,CAAI,QAAA,GAClB,MAAA,CAAQA,CAAAA,CAAE,KAAA,CACRA,CAAAA,CAAE,MAAA,CAAO,CACP,IAAA,CAAMA,CAAAA,CAAE,QAAO,CACf,UAAA,CAAYA,CAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAAE,WAAA,EAAY,CACzC,QAASkB,GACX,CAAC,CACH,CACF,CAAC,CAAA,CAEYkC,CAAAA,CAAyCpD,CAAAA,CAAE,OAAO,CAC7D,QAAA,CAAUkD,CAAAA,CAAgC,QAAA,GAC1C,iBAAA,CAAmBC,CAAAA,CAAyC,QAAA,EAC9D,CAAC,CAAA,CAEYE,EAAAA,CAAwCrD,CAAAA,CAAE,MAAA,CAAO,CAC5D,KAAA,CAAOA,CAAAA,CAAE,KAAA,CAAMiD,CAA4B,CAAA,CAC3C,GAAGrC,GAAAA,CAAyB,KAC9B,CAAC,CAAA,CAEY0C,EAAAA,CAAmCtD,CAAAA,CAAE,MAAA,CAAO,CACvD,SAAA,CAAWA,CAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CAE1B,KAAA,CAAOA,CAAAA,CAAE,MAAA,CAAO,CACd,EAAA,CAAIA,CAAAA,CAAE,MAAA,EAAO,CACb,MAAOA,CAAAA,CAAE,MAAA,EAAO,CAChB,WAAA,CAAaA,EAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CACjC,aAAA,CAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CACnC,mBAAA,CAAqBA,CAAAA,CAAE,GAAA,CAAI,SAAS,CAAE,KAAA,CAAO,IAAA,CAAM,MAAA,CAAQ,KAAM,CAAC,CAAA,CAClE,cAAA,CAAgBA,CAAAA,CAAE,GAAA,CAAI,QAAA,CAAS,CAAE,KAAA,CAAO,KAAM,MAAA,CAAQ,KAAM,CAAC,CAAA,CAC7D,kBAAmBA,CAAAA,CAAE,GAAA,CAAI,QAAA,CAAS,CAAE,MAAO,IAAA,CAAM,MAAA,CAAQ,KAAM,CAAC,CAAA,CAChE,YAAA,CAAcA,CAAAA,CAAE,GAAA,CAAI,UAAS,CAC7B,QAAA,CAAUA,CAAAA,CAAE,MAAA,EAAO,CACnB,WAAA,CAAaA,CAAAA,CAAE,MAAA,GACf,WAAA,CAAakB,GAAAA,CAAY,QAAA,EAAS,CAClC,YAAA,CAAclB,CAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CAClC,KAAA,CAAOA,CAAAA,CAAE,MAAA,GACT,UAAA,CAAYA,CAAAA,CAAE,MAAA,EAAO,CACrB,eAAgByC,CAAAA,CAAqB,QAAA,EAAS,CAC9C,gBAAA,CAAkBzC,CAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CAAE,UAAS,CAC5C,YAAA,CAAcA,CAAAA,CAAE,IAAA,CAAKO,CAAiB,CAAA,CACtC,eAAA,CAAiBW,GAAAA,CACjB,aAAA,CAAelB,EAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAC9B,oBAAA,CAAsBA,CAAAA,CAAE,MAAA,EAAO,CAAE,UACnC,CAAC,CAAA,CAED,SAAA,CAAWA,EAAE,MAAA,CAAO,CAClB,mBAAA,CAAqBA,CAAAA,CAAE,QAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAC/C,WAAA,CAAaA,CAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAC5B,OAAA,CAASkB,GAAAA,CACT,YAAaA,GAAAA,CACb,aAAA,CAAeA,GAAAA,CACf,aAAA,CAAeA,IACf,SAAA,CAAWA,GAAAA,CACX,WAAA,CAAaA,GACf,CAAC,CAAA,CAED,QAAA,CAAUlB,CAAAA,CAAE,OAAO,CACjB,UAAA,CAAYA,CAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAC3B,WAAA,CAAaA,CAAAA,CAAE,QAAO,CAAE,GAAA,EAAI,CAAE,WAAA,EAAY,CAC1C,SAAA,CAAWA,CAAAA,CAAE,MAAA,CAAOA,EAAE,MAAA,EAAO,CAAGA,CAAAA,CAAE,MAAA,GAAS,GAAA,EAAK,CAAA,CAAE,QAAA,GAClD,eAAA,CAAiBA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,CAAGA,CAAAA,CAAE,MAAA,GAAS,GAAA,EAAK,CAAA,CAAE,QAAA,EAC1D,CAAC,CAAA,CAED,SAAA,CAAW2C,CAAAA,CAEX,WAAY3C,CAAAA,CAAE,MAAA,CAAO,CACnB,IAAA,CAAMyC,CAAAA,CACN,IAAA,CAAMzC,CAAAA,CAAE,KAAA,CAAM8C,CAAyB,CACzC,CAAC,CAAA,CAED,SAAA,CAAW9C,CAAAA,CAAE,MAAA,CAAO,CAClB,MAAA,CAAQwC,EACR,SAAA,CAAWxC,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAC/B,SAAA,CAAWA,CAAAA,CAAE,QAAO,CAAE,QAAA,EAAS,CAC/B,gBAAA,CAAkBA,EAAE,GAAA,CAAI,QAAA,EAAS,CAAE,QAAA,GACnC,eAAA,CAAiBA,CAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CAAE,QAAA,EAAS,CAC3C,sBAAA,CAAwBA,EAAE,GAAA,CAAI,QAAA,EAAS,CAAE,QAAA,GACzC,2BAAA,CAA6BA,CAAAA,CAAE,MAAA,EAAO,CAAE,UAC1C,CAAC,CAAA,CAED,KAAA,CAAOA,CAAAA,CAAE,MAAA,CAAO,CACd,YAAA,CAAcA,EAAE,MAAA,EAAO,CACvB,IAAA,CAAMA,CAAAA,CAAE,QACV,CAAC,CAAA,CACD,SAAA,CAAWoD,EAAuC,QAAA,EACpD,CAAC,CAAA,CAEYG,EAAAA,CAAmCZ,CAAAA,CAGnCa,EAAAA,CAA+BxD,CAAAA,CAAE,OAAO,CACnD,YAAA,CAAcA,CAAAA,CAAE,MAAA,GAChB,IAAA,CAAMA,CAAAA,CAAE,MAAA,EAAO,CACf,SAAUA,CAAAA,CAAE,MAAA,EAAO,CACnB,YAAA,CAAcA,CAAAA,CAAE,MAAA,CAAO,CACrB,OAAA,CAASA,EAAE,MAAA,EAAO,CAClB,QAAA,CAAUA,CAAAA,CAAE,QAAO,CACnB,KAAA,CAAOA,CAAAA,CAAE,MAAA,GACT,KAAA,CAAOA,CAAAA,CAAE,MAAA,EACX,CAAC,CAAA,CACD,aAAA,CAAeA,CAAAA,CAAE,QACnB,CAAC,CAAA,CAIYyD,CAAAA,CAAyBzD,EAAE,IAAA,CAAK,CAAC,UAAA,CAAY,MAAA,CAAQ,OAAO,CAAC,CAAA,CAE7D0D,CAAAA,CAAyB1D,CAAAA,CAAE,IAAA,CAAK,CAAC,YAAA,CAAc,OAAA,CAAS,aAAa,CAAC,CAAA,CAEtE2D,CAAAA,CAAyB3D,CAAAA,CAAE,KAAK,CAAC,SAAA,CAAW,UAAA,CAAY,aAAa,CAAC,CAAA,CAEtE4D,CAAAA,CAAoB5D,CAAAA,CAAE,IAAA,CAAK,CACtC,iBAAA,CACA,uBAAA,CACA,oBAAA,CACA,wBACA,cACF,CAAC,CAAA,CAEY6D,CAAAA,CAA6B7D,CAAAA,CAAE,IAAA,CAAK,CAC/C,eAAA,CACA,gBACA,cAAA,CACA,qBAAA,CACA,oBAAA,CACA,kBAAA,CACA,eACF,CAAC,CAAA,CAEY8D,CAAAA,CAAiC9D,EAAE,IAAA,CAAK,CAAC,MAAA,CAAQ,MAAA,CAAQ,OAAO,CAAC,CAAA,CAEjE+D,CAAAA,CAA6B/D,CAAAA,CAAE,OAAO,CACjD,EAAA,CAAIA,CAAAA,CAAE,MAAA,EAAO,CACb,KAAA,CAAOA,CAAAA,CAAE,MAAA,GACT,cAAA,CAAgBA,CAAAA,CAAE,GAAA,CAAI,QAAA,GACtB,YAAA,CAAcA,CAAAA,CAAE,GAAA,CAAI,QAAA,GACpB,mBAAA,CAAqBA,CAAAA,CAAE,GAAA,CAAI,QAAA,CAAS,CAAE,KAAA,CAAO,IAAA,CAAM,MAAA,CAAQ,KAAM,CAAC,CAAA,CAClE,iBAAA,CAAmBA,CAAAA,CAAE,IAAI,QAAA,CAAS,CAAE,KAAA,CAAO,IAAA,CAAM,OAAQ,KAAM,CAAC,CAAA,CAChE,KAAA,CAAOA,CAAAA,CAAE,IAAA,CAAKgE,GAAU,CAAA,CACxB,SAAUhE,CAAAA,CAAE,MAAA,EAAO,CACnB,WAAA,CAAaA,EAAE,MAAA,EACjB,CAAC,CAAA,CAEYiE,EAAgCjE,CAAAA,CAAE,MAAA,CAAO,CACpD,aAAA,CAAeA,CAAAA,CAAE,OAAA,EAAQ,CACzB,SAAA,CAAWA,EAAE,OAAA,EAAQ,CACrB,UAAA,CAAYA,CAAAA,CAAE,SAAQ,CACtB,mBAAA,CAAqBA,CAAAA,CAAE,OAAA,EACzB,CAAC,CAAA,CAEYkE,CAAAA,CAA+BlE,CAAAA,CAAE,MAAA,CAAO,CACnD,OAAA,CAASA,CAAAA,CAAE,QAAO,CAAE,GAAA,EAAI,CACxB,WAAA,CAAaA,EAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAC5B,YAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAC5B,OAAA,CAASA,CAAAA,CAAE,MAAA,CAAO,CAChB,KAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,CAChB,SAAUA,CAAAA,CAAE,MAAA,EACd,CAAC,EACD,WAAA,CAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAC1B,CAAC,CAAA,CAEYmE,EAAiCnE,CAAAA,CAAE,MAAA,CAAO,CACrD,WAAA,CAAaA,CAAAA,CAAE,MAAA,EAAO,CACtB,UAAA,CAAYA,EAAE,MAAA,EAAO,CACrB,SAAA,CAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAC/B,aAAc2D,CAAAA,CACd,YAAA,CAAc3D,CAAAA,CAAE,GAAA,CAAI,UACtB,CAAC,CAAA,CAEYoE,CAAAA,CAAkCpE,EAAE,MAAA,CAAO,CACtD,SAAA,CAAWA,CAAAA,CAAE,MAAA,EAAO,CACpB,iBAAA,CAAmBA,CAAAA,CAAE,QAAO,CAC5B,WAAA,CAAaA,CAAAA,CAAE,MAAA,GACf,IAAA,CAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CAC1B,MAAA,CAAQA,CAAAA,CAAE,OAAA,EACZ,CAAC,CAAA,CAEYqE,CAAAA,CAA6BrE,EAAE,MAAA,CAAO,CACjD,EAAA,CAAIA,CAAAA,CAAE,QAAO,CACb,IAAA,CAAM6D,CAAAA,CACN,QAAA,CAAUC,EACV,OAAA,CAAS9D,CAAAA,CAAE,MAAA,EAAO,CAClB,SAAA,CAAWA,CAAAA,CAAE,GAAA,CAAI,QAAA,GACjB,cAAA,CAAgBA,CAAAA,CAAE,GAAA,CAAI,QAAA,GAAW,QAAA,EACnC,CAAC,CAAA,CAEYsE,EAA4BtE,CAAAA,CAAE,MAAA,CAAO,CAChD,OAAA,CAASA,CAAAA,CAAE,OAAA,EAAQ,CACnB,eAAA,CAAiBA,EAAE,MAAA,EAAO,CAC1B,QAAA,CAAUA,CAAAA,CAAE,MAAMuE,GAAiB,CACrC,CAAC,CAAA,CAEYC,EAA6BxE,CAAAA,CAAE,MAAA,CAAO,CACjD,OAAA,CAASA,CAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CACxB,WAAYA,CAAAA,CAAE,OAAA,EAAQ,CACtB,WAAA,CAAa4D,EACb,WAAA,CAAaF,CAAAA,CACb,iBAAA,CAAmB1D,CAAAA,CAAE,IAAI,QAAA,EAAS,CAAE,QAAA,EACtC,CAAC,CAAA,CAEYyE,EAAAA,CAA+BzE,CAAAA,CAAE,OAAO,CACnD,SAAA,CAAWA,CAAAA,CAAE,GAAA,CAAI,UAAS,CAC1B,KAAA,CAAOyD,CAAAA,CACP,KAAA,CAAOM,EACP,QAAA,CAAUE,CAAAA,CACV,OAAA,CAASC,CAAAA,CACT,SAAA,CAAWC,CAAAA,CAA+B,QAAA,EAAS,CACnD,KAAMnE,CAAAA,CAAE,KAAA,CAAMoE,CAA+B,CAAA,CAC7C,MAAA,CAAQpE,CAAAA,CAAE,KAAA,CAAMqE,CAA0B,EAC1C,QAAA,CAAUrE,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,KAAA,EAAO,CAAA,CAC3B,IAAA,CAAMsE,EACN,KAAA,CAAOE,CAAAA,CAA2B,QAAA,EAAS,CAC3C,YAAaE,EAAAA,CAAsB,QAAA,EACrC,CAAC,EAEYC,EAAAA,CAAyC3E,CAAAA,CAAE,MAAA,CAAO,CAC7D,IAAA,CAAMA,CAAAA,CAAE,GAAA,CAAI,QAAA,GAAW,QAAA,EAAS,CAChC,EAAA,CAAIA,CAAAA,CAAE,IAAI,QAAA,EAAS,CAAE,QAAA,EACvB,CAAC,CAAA,CAEY4E,CAAAA,CAA0C5E,CAAAA,CAAE,MAAA,CAAO,CAC9D,WAAA,CAAaA,CAAAA,CAAE,GAAA,CAAI,UAAS,CAC5B,iBAAA,CAAmBA,CAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAAE,WAAA,EAAY,CAChD,aAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,WAAA,EAAY,CAAE,QAAA,GAC7C,SAAA,CAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,EAAY,CAAE,QAAA,GAC1C,WAAA,CAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,WAAA,EAAY,CAAE,UAAS,CACrD,YAAA,CAAcA,CAAAA,CAAE,IAAA,CAAK,CAAC,SAAA,CAAW,UAAA,CAAY,aAAa,CAAC,EAAE,QAAA,EAAS,CACtE,UAAA,CAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EACzB,CAAC,CAAA,CAEY6E,EAAAA,CAA4C7E,CAAAA,CAAE,MAAA,CAAO,CAChE,OAAA,CAASA,CAAAA,CAAE,IAAA,EAAK,CAChB,KAAMA,CAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CACrB,EAAA,CAAIA,CAAAA,CAAE,GAAA,CAAI,QAAA,GACV,WAAA,CAAaA,CAAAA,CAAE,OAAA,CAAQ,QAAQ,EAC/B,OAAA,CAASA,CAAAA,CAAE,KAAA,CAAM4E,CAAuC,CAC1D,CAAC","file":"chunk-3R7IA4XA.mjs","sourcesContent":["export const HOST_DATE_RANGE_PRESETS = ['last7d', 'last30d', 'last90d'] as const;\n","import z from 'zod';\nimport { HOST_DATE_RANGE_PRESETS } from './host.enums';\nimport { MoneySchema, PaginationParamsSchema, PaginationResponseSchema } from '../common';\nimport {\n CategorySchema,\n CurrencySchema,\n EventReplayAccess,\n EventState,\n HostLivePreviewSchema,\n VisibilitySchema,\n} from '../event';\nimport { BookingState } from '../booking/booking.enums';\nimport { ChatMessageSchema } from '../chat';\n\nexport const HostOverviewQuerySchema = z.object({\n range: z.enum([...HOST_DATE_RANGE_PRESETS, 'custom'] as const).optional(),\n start: z.iso.datetime().optional(),\n end: z.iso.datetime().optional(),\n});\n\nexport const HostEventsTabSchema = z.enum(['UPCOMING', 'LIVE', 'ENDED', 'DRAFTS']);\n\nexport const HostSearchQuerySchema = z.object({\n q: z.string().trim().min(2).max(120),\n limit: z.coerce.number().int().min(1).max(10).default(10),\n});\n\nexport const HostEventPatchSchema = z.object({\n title: z.string().min(1).max(120).optional(),\n description: z.string().max(2000).optional(),\n coverImageUrl: z.any().optional(),\n previewClipUrl: z.url().nullable().optional(),\n ticketPrice: z.string().optional(),\n\n category: CategorySchema.optional(),\n scheduledStartLocal: z.iso.datetime({ local: true, offset: false }).optional(),\n durationMinutes: z.number().int().positive().optional(),\n tags: z.array(z.string()).optional(),\n location: z.string().max(255).optional(),\n\n // Access & Pricing\n accessModel: z.enum(['FREE', 'PAID']).optional(),\n currency: CurrencySchema.optional(),\n maxTickets: z.number().int().positive().nullable().optional(),\n visibility: VisibilitySchema.optional(),\n guestEmails: z.array(z.email()).optional(),\n replayAccess: z.enum(EventReplayAccess).optional(),\n replayWindow: z.number().int().positive().optional(),\n replayPrice: z.number().nonnegative().optional(),\n productionMode: z.enum(['SELF', 'HIRE']).optional(),\n crewIds: z.array(z.uuid()).optional(),\n productionNotes: z.string().max(2000).nullable().optional(),\n backupStreamEnabled: z.boolean().optional(),\n});\n\nexport const HostEventsListQuerySchema = z.object({\n tab: HostEventsTabSchema,\n ...PaginationParamsSchema.shape,\n});\n\nexport const HostEventRowResponseSchema = z.object({\n eventId: z.string(),\n title: z.string(),\n date: z.iso.datetime(),\n ticketsSold: z.number(),\n plannedDurationMinutes: z.number().nullable(),\n revenue: z.object({\n currency: z.string(),\n value: z.string(),\n }),\n status: z.enum(['ACTIVE', 'PAUSED', 'LIVE', 'ENDED', 'DRAFT', 'CANCELLED']),\n});\n\nexport const HostEventsTabResponseSchema = z.object({\n tab: HostEventsTabSchema,\n rows: z.array(HostEventRowResponseSchema),\n ...PaginationResponseSchema.shape,\n});\n\nexport const HostEventsTabCountsResponseSchema = z.object({\n upcoming: z.number(),\n live: z.number(),\n ended: z.number(),\n drafts: z.number(),\n});\n\nexport const HostEventWizardStartSchema = z.object({\n title: z.string().min(3).max(120).optional(),\n});\n\nexport const HostEventsListPagedQuerySchema = z.object({\n tab: HostEventsTabSchema,\n ...PaginationParamsSchema.shape,\n});\n\nexport const HostEventWizardStartResponseSchema = z.object({\n id: z.uuid(),\n state: z.literal('DRAFT'),\n wizardStep: z.number().int().min(1).max(5).nullable(),\n});\n\nexport const HostEventWizardStepResponseSchema = z.object({\n id: z.uuid(),\n wizardStep: z.number().int().min(1).max(5).nullable(),\n streamingVerified: z.boolean().optional(),\n verificationToken: z.string().optional(),\n crewIds: z.array(z.uuid()).optional(),\n /** Present on step-3 responses when Assign Role rows exist. */\n crewAssignments: z\n .array(\n z.object({\n id: z.uuid(),\n producerId: z.uuid(),\n role: z.string(),\n state: z.string(),\n compensation: MoneySchema,\n location: z.string(),\n }),\n )\n .optional(),\n});\n\nexport const HostEventWizardPublishResponseSchema = z.object({\n id: z.uuid(),\n state: z.literal('SCHEDULED'),\n publishedAt: z.iso.datetime().nullable(),\n bookingIds: z.array(z.uuid()),\n});\n\nexport const HostEventCancelResponseSchema = z.object({\n id: z.uuid(),\n state: z.literal('CANCELLED'),\n cancelledAt: z.iso.datetime().nullable(),\n});\n\n/**\n * Overview KPI tile with a money value + prior-period delta. Amount is\n * a MoneyDto per MONEY_MULTI_CURRENCY.md §4 so the FE formats without\n * threading currency separately. `deltaPct` is null when the prior\n * period had zero (avoids \"+∞%\").\n */\nconst MoneyKpiSchema = z.object({\n amount: MoneySchema,\n deltaPct: z.number().nullable(),\n});\n\nconst UpcomingEventsKpiSchema = z.object({\n count: z.number().int(),\n nextStartsAt: z.string().nullable(),\n});\n\nconst LiveNowKpiSchema = z.object({\n eventCount: z.number().int(),\n totalViewers: z.number().int(),\n});\n\nconst TotalViewsKpiSchema = z.object({\n value: z.number().int(),\n deltaPct: z.number().nullable(),\n});\n\nconst LiveEventEntrySchema = z.object({\n eventId: z.uuid(),\n title: z.string(),\n viewers: z.number().int(),\n});\n\nconst UpcomingEventRailEntrySchema = z.object({\n eventId: z.uuid(),\n title: z.string(),\n scheduledStart: z.string(),\n canGoLive: z.boolean(),\n});\n\nconst HostActivityEntrySchema = z.object({\n kind: z.string(),\n subjectType: z.enum(['Event', 'Booking', 'PaymentIntent', 'ReplayPurchase']),\n subjectId: z.string(),\n occurredAt: z.number().int(),\n payload: z.record(z.string(), z.unknown()),\n dedupeId: z.string(),\n});\n\nexport const HostOverviewResponseSchema = z.object({\n range: z.object({\n start: z.string(),\n end: z.string(),\n preset: z.string().optional(),\n }),\n kpis: z.object({\n totalRevenue: MoneyKpiSchema,\n upcomingEvents: UpcomingEventsKpiSchema,\n liveNow: LiveNowKpiSchema,\n totalViews: TotalViewsKpiSchema,\n }),\n live: z.array(LiveEventEntrySchema),\n upcoming: z.array(UpcomingEventRailEntrySchema),\n activity: z.array(HostActivityEntrySchema),\n});\n\nexport const HostActivityListPageSchema = z.object({\n items: z.array(HostActivityEntrySchema),\n ...PaginationResponseSchema.shape,\n});\n\nexport const HostSearchHitSchema = z.object({\n eventId: z.uuid(),\n title: z.string(),\n scheduledStart: z.string(),\n state: z.string(),\n});\n\nexport const HostSearchResponseSchema = z.object({\n hits: z.array(HostSearchHitSchema),\n});\n\nexport const HostNotificationsUnreadCountSchema = z.object({\n count: z.number().int(),\n});\n\nexport const HostEventsTabResponseClassSchema = z.object({\n tab: HostEventsTabSchema,\n items: z.array(HostEventRowResponseSchema),\n ...PaginationResponseSchema.shape,\n});\n\nexport const HostEventFullResponseSchema = z.object({\n id: z.uuid(),\n hostId: z.uuid(),\n title: z.string(),\n description: z.string().nullable(),\n coverImageUrl: z.string().nullable(),\n previewClipUrl: z.string().nullable(),\n venueLocation: z.string().nullable(),\n scheduledStartLocal: z.string(),\n scheduledEndLocal: z.string(),\n scheduledEnd: z.iso.datetime(),\n scheduledStart: z.iso.datetime(),\n timezone: z.string(),\n expectedAudience: z.number().int().nullable(),\n plannedDurationMinutes: z.number().int().nullable(),\n visibility: z.string(),\n accessModel: z.string(),\n /** MoneyDto per MONEY_MULTI_CURRENCY.md §4; null for FREE events. */\n ticketPrice: MoneySchema.nullable(),\n maxTickets: z.number().int().nullable(),\n allowlistData: z.array(z.string()),\n replayAccess: z.enum(EventReplayAccess),\n /** MoneyDto — inherits the event's currency. Zero for free replays. */\n replayAccessFee: MoneySchema,\n retentionDays: z.number().int(),\n replayAvailableUntil: z.string().nullable(),\n shareableUrl: z.string().nullable(),\n state: z.string(),\n tags: z.array(z.string()),\n isFeatured: z.boolean(),\n createdAt: z.string(),\n updatedAt: z.string(),\n publishedAt: z.string().nullable(),\n liveStartedAt: z.string().nullable(),\n liveEndedAt: z.string().nullable(),\n cancelledAt: z.string().nullable(),\n cancelledReason: z.string().nullable(),\n category: z.string(),\n wizardStep: z.number().int().nullable(),\n productionMode: z.string().nullable(),\n productionNotes: z.string().nullable(),\n});\n\nexport const HostEventWizardCurrentResponseSchema = HostEventFullResponseSchema.extend({\n crewIds: z.array(z.uuid()),\n /** Direct Hire Assign Role rows (additive; empty when FE uses crewIds-only path). */\n crewAssignments: z\n .array(\n z.object({\n id: z.uuid(),\n producerId: z.uuid(),\n role: z.string(),\n state: z.string(),\n compensation: MoneySchema,\n location: z.string(),\n }),\n )\n .optional()\n .default([]),\n});\n\nexport const ReadinessItemIdSchema = z.enum([\n 'EVENT_DETAILS',\n 'PRICING',\n 'CREW_ASSIGNED',\n 'STREAM_TESTED',\n]);\n\nexport const ReadinessItemStateSchema = z.enum(['PASS', 'WARN', 'FAIL']);\n\nconst ReadinessCtaSchema = z.enum([\n 'OPEN_WIZARD_STEP_1',\n 'OPEN_WIZARD_STEP_2',\n 'OPEN_WIZARD_STEP_3',\n 'OPEN_HIRE_CREW',\n 'RUN_STREAM_TEST',\n]);\n\nexport const ReadinessBlockReasonSchema = z.enum([\n 'CHECKLIST_INCOMPLETE',\n 'BEFORE_WINDOW',\n 'AFTER_WINDOW',\n 'ALREADY_LIVE',\n 'NOT_OWNED',\n]);\n\nexport const StreamingStatusSchema = z.enum([\n 'NOT_PROVISIONED',\n 'READY_FOR_TEST',\n 'LIVE',\n 'STREAM_TEST_FAILED',\n 'STREAM_TEST_SUCCESSFUL',\n]);\n\nexport const ProductionModeSchema = z.enum(['SELF', 'HIRE']);\n\nexport const ReadinessItemSchema = z.object({\n id: ReadinessItemIdSchema,\n label: z.string(),\n state: ReadinessItemStateSchema,\n detail: z.string().optional(),\n cta: ReadinessCtaSchema.optional(),\n});\n\nexport const HostEventReadinessBlockSchema = z.object({\n progress: z.number().min(0).max(1),\n items: z.array(ReadinessItemSchema),\n canGoLive: z.boolean(),\n blockReason: ReadinessBlockReasonSchema.optional(),\n});\n\n/** `GET /host/events/:id/dashboard` — optional active-crew filters */\nexport const ListHostEventDashboardQuerySchema = z.object({\n /** Case-insensitive match on producer display name, role, or service category */\n crewSearch: z.string().trim().min(2).max(100).optional(),\n crewState: z.enum(BookingState).optional(),\n});\n\nexport const HostEventCrewMemberSchema = z.object({\n bookingId: z.string(),\n producerProfileId: z.string(),\n displayName: z.string(),\n companyName: z.string(),\n producerAvatarUrl: z.url().nullable(),\n producerServiceCategoryLabels: z.array(z.string()),\n producerEquipmentLabels: z.array(z.string()),\n producerIsVerified: z.boolean(),\n /** From Booking.serviceDetails.role (not scopeOfWork). */\n role: z.string().nullable(),\n /** From Booking.serviceDetails.responsibilities. */\n responsibilities: z.string().nullable(),\n state: z.enum(BookingState),\n confirmedAt: z.iso.datetime().nullable(),\n});\n\nexport const HostProductionCrewPhaseSchema = z.enum(['ACTIVE', 'PAST']);\n\n/** `GET /host/production/crew` — host-level crew roster across events */\nexport const ListHostProductionCrewQuerySchema = z.object({\n phase: HostProductionCrewPhaseSchema.default('ACTIVE'),\n eventId: z.uuid().optional(),\n crewSearch: z.string().trim().min(2).max(100).optional(),\n crewState: z.enum(BookingState).optional(),\n ...PaginationParamsSchema.shape,\n});\n\nexport const HostProductionCrewItemSchema = HostEventCrewMemberSchema.extend({\n eventId: z.uuid(),\n eventTitle: z.string(),\n});\n\nexport const HostEventAudienceResponseSchema = z.object({\n eventId: z.uuid(),\n totalViewers: z.number().int().nonnegative(),\n uniqueViewers: z.number().int().nonnegative(),\n peakConcurrent: z.number().int().nonnegative(),\n registeredCount: z.number().int().nonnegative(),\n paidCount: z.number().int().nonnegative(),\n refundedCount: z.number().int().nonnegative(),\n returningViewerCount: z.number().int().nonnegative().nullable(),\n highValueBuyerCount: z.number().int().nonnegative().nullable(),\n grossRevenue: MoneySchema,\n computedAt: z.iso.datetime(),\n byDeviceType: z.record(z.string(), z.number()).nullable(),\n});\n\nexport const HostEventReplayPerformanceResponseSchema = z.object({\n eventId: z.uuid(),\n totalReplayViewers: z.number().int().nonnegative(),\n completedViews: z.number().int().nonnegative(),\n /** Ratio in [0, 1]; null when no session carries a duration yet. */\n avgWatchProgressPct: z.number().min(0).max(1).nullable(),\n totalWatchTimeSec: z.number().int().nonnegative(),\n activeReplayPurchases: z.number().int().nonnegative(),\n replayRevenue: MoneySchema,\n computedAt: z.iso.datetime(),\n points: z.array(\n z.object({\n date: z.string(),\n viewsCount: z.number().int().nonnegative(),\n revenue: MoneySchema,\n }),\n ),\n});\n\nexport const HostEventDashboardPostEventBlockSchema = z.object({\n audience: HostEventAudienceResponseSchema.nullable(),\n replayPerformance: HostEventReplayPerformanceResponseSchema.nullable(),\n});\n\nexport const PagedHostProductionCrewResponseSchema = z.object({\n items: z.array(HostProductionCrewItemSchema),\n ...PaginationResponseSchema.shape,\n});\n\nexport const HostEventDashboardResponseSchema = z.object({\n serverNow: z.iso.datetime(),\n\n event: z.object({\n id: z.string(),\n title: z.string(),\n description: z.string().nullable(),\n coverImageUrl: z.string().nullable(),\n scheduledStartLocal: z.iso.datetime({ local: true, offset: false }),\n scheduledStart: z.iso.datetime({ local: true, offset: false }),\n scheduledEndLocal: z.iso.datetime({ local: true, offset: false }),\n scheduledEnd: z.iso.datetime(),\n timezone: z.string(),\n accessModel: z.string(),\n ticketPrice: MoneySchema.nullable(),\n shareableUrl: z.string().nullable(),\n state: z.string(),\n visibility: z.string(),\n productionMode: ProductionModeSchema.nullable(),\n goLiveEligibleAt: z.iso.datetime().nullable(),\n replayAccess: z.enum(EventReplayAccess),\n replayAccessFee: MoneySchema,\n retentionDays: z.number().int(),\n replayAvailableUntil: z.string().nullable(),\n }),\n\n ticketing: z.object({\n totalPayingCapacity: z.number().int().nullable(),\n ticketsSold: z.number().int(),\n revenue: MoneySchema,\n liveRevenue: MoneySchema,\n ticketRevenue: MoneySchema,\n replayRevenue: MoneySchema,\n hostShare: MoneySchema,\n platformFee: MoneySchema,\n }),\n\n audience: z.object({\n registered: z.number().int(),\n watchingNow: z.number().int().nonnegative(),\n byCountry: z.record(z.string(), z.number().int()).nullable(),\n byTrafficSource: z.record(z.string(), z.number().int()).nullable(),\n }),\n\n readiness: HostEventReadinessBlockSchema,\n\n production: z.object({\n mode: ProductionModeSchema,\n crew: z.array(HostEventCrewMemberSchema),\n }),\n\n streaming: z.object({\n status: StreamingStatusSchema,\n serverUrl: z.string().nullable(),\n streamKey: z.string().nullable(),\n lastStreamTestAt: z.iso.datetime().nullable(),\n testAvailableAt: z.iso.datetime().nullable(),\n lastStreamTestFailedAt: z.iso.datetime().nullable(),\n lastStreamTestFailureReason: z.string().nullable(),\n }),\n\n share: z.object({\n shareableUrl: z.string(),\n slug: z.string(),\n }),\n postEvent: HostEventDashboardPostEventBlockSchema.nullable(),\n});\n\nexport const HostEventReadinessResponseSchema = HostEventReadinessBlockSchema;\n\n// Share endpoint response\nexport const HostEventShareResponseSchema = z.object({\n shareableUrl: z.string(),\n slug: z.string(),\n copyText: z.string(),\n channelLinks: z.object({\n twitter: z.string(),\n facebook: z.string(),\n email: z.string(),\n embed: z.string(),\n }),\n qrCodeDataUrl: z.string(),\n});\n\n// ─── Host live-console (`GET /host/events/:id/live-console`) ─────────\n\nexport const LiveConsoleSliceSchema = z.enum(['PRE_LIVE', 'LIVE', 'ENDED']);\n\nexport const EndedReplayStateSchema = z.enum(['PROCESSING', 'READY', 'UNAVAILABLE']);\n\nexport const LiveIngestHealthSchema = z.enum(['HEALTHY', 'DEGRADED', 'INGEST_DOWN']);\n\nexport const EndedReasonSchema = z.enum([\n 'HOST_TERMINATED',\n 'HOST_TERMINATED_EARLY',\n 'AUTO_AFTER_SILENCE',\n 'AUTO_AT_SCHEDULED_END',\n 'ADMIN_FORCED',\n]);\n\nexport const EventStreamAlertKindSchema = z.enum([\n 'AUDIO_QUALITY',\n 'VIDEO_QUALITY',\n 'BITRATE_DROP',\n 'INGEST_DISCONNECTED',\n 'INGEST_RECONNECTED',\n 'RECORDING_FAILED',\n 'STREAM_DENIED',\n]);\n\nexport const EventStreamAlertSeveritySchema = z.enum(['INFO', 'WARN', 'ERROR']);\n\nexport const HostLiveConsoleEventSchema = z.object({\n id: z.string(),\n title: 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 currency: z.string(),\n accessModel: z.string(),\n});\n\nexport const HostLiveConsoleControlsSchema = z.object({\n streamEnabled: z.boolean(),\n canGoLive: z.boolean(),\n canEndLive: z.boolean(),\n requiresReauthToEnd: z.boolean(),\n});\n\nexport const HostLiveConsoleMetricsSchema = z.object({\n viewers: z.number().int(),\n peakViewers: z.number().int(),\n ticketsSold: z.number().int(),\n revenue: z.object({\n value: z.string(),\n currency: z.string(),\n }),\n joinedTotal: z.number().int(),\n});\n\nexport const HostLiveConsoleTelemetrySchema = z.object({\n bitrateKbps: z.number(),\n resolution: z.string(),\n latencyMs: z.number().nullable(),\n ingestHealth: LiveIngestHealthSchema,\n lastSampleAt: z.iso.datetime(),\n});\n\nexport const HostLiveConsoleCrewMemberSchema = z.object({\n bookingId: z.string(),\n producerProfileId: z.string(),\n displayName: z.string(),\n role: z.string().nullable(),\n online: z.boolean(),\n});\n\nexport const HostLiveConsoleAlertSchema = z.object({\n id: z.string(),\n kind: EventStreamAlertKindSchema,\n severity: EventStreamAlertSeveritySchema,\n message: z.string(),\n startedAt: z.iso.datetime(),\n acknowledgedAt: z.iso.datetime().nullable(),\n});\n\nexport const HostLiveConsoleChatSchema = z.object({\n enabled: z.boolean(),\n socketNamespace: z.string(),\n backfill: z.array(ChatMessageSchema),\n});\n\nexport const HostLiveConsoleEndedSchema = z.object({\n endedAt: z.iso.datetime(),\n endedEarly: z.boolean(),\n endedReason: EndedReasonSchema,\n replayState: EndedReplayStateSchema,\n replayAvailableAt: z.iso.datetime().nullable(),\n});\n\nexport const HostLiveConsolePayloadSchema = z.object({\n serverNow: z.iso.datetime(),\n slice: LiveConsoleSliceSchema,\n event: HostLiveConsoleEventSchema,\n controls: HostLiveConsoleControlsSchema,\n metrics: HostLiveConsoleMetricsSchema,\n telemetry: HostLiveConsoleTelemetrySchema.nullable(),\n crew: z.array(HostLiveConsoleCrewMemberSchema),\n alerts: z.array(HostLiveConsoleAlertSchema),\n activity: z.array(z.never()),\n chat: HostLiveConsoleChatSchema,\n ended: HostLiveConsoleEndedSchema.nullable(),\n livePreview: HostLivePreviewSchema.nullable(),\n});\n\nexport const HostEventEngagementTimelineQuerySchema = z.object({\n from: z.iso.datetime().optional(),\n to: z.iso.datetime().optional(),\n});\n\nexport const HostEventEngagementTimelineBucketSchema = z.object({\n bucketStart: z.iso.datetime(),\n concurrentViewers: z.number().int().nonnegative(),\n chatMessages: z.number().int().nonnegative().nullable(),\n reactions: z.number().int().nonnegative().nullable(),\n bitrateKbps: z.number().int().nonnegative().nullable(),\n ingestHealth: z.enum(['HEALTHY', 'DEGRADED', 'INGEST_DOWN']).nullable(),\n resolution: z.string().nullable(),\n});\n\nexport const HostEventEngagementTimelineResponseSchema = z.object({\n eventId: z.uuid(),\n from: z.iso.datetime(),\n to: z.iso.datetime(),\n granularity: z.literal('minute'),\n buckets: z.array(HostEventEngagementTimelineBucketSchema),\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common/audit.enums.ts","../src/common/common.schemas.ts","../src/common/messages.ts"],"names":["AuditActorRole","AuditActorRoleSchema","z","MAX_PAGE_SIZE","DEFAULT_PAGE_SIZE","DEFAULT_PAGE_NUMBER","CurrencyEnum","PaginationParamsSchema","MoneySchema","DeltaDirection","DeltaDirectionSchema","PaginationResponseSchema","ApiResponseSchema","dataSchema","ResponseMessages","time"],"mappings":"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","file":"chunk-BIWZ6BHI.js","sourcesContent":["import { z } from 'zod';\n\n/**\n * Canonical actor roles persisted on `audit_logs.actor_role`.\n * Broader than {@link BookingTransitionActor} — includes VIEWER/USER for\n * platform-wide audit events (playback, registration, re-auth, etc.).\n */\nexport const AuditActorRole = {\n HOST: 'HOST',\n PRODUCER: 'PRODUCER',\n ADMIN: 'ADMIN',\n SYSTEM: 'SYSTEM',\n VIEWER: 'VIEWER',\n USER: 'USER',\n} as const;\nexport type AuditActorRole = (typeof AuditActorRole)[keyof typeof AuditActorRole];\n\nexport const AuditActorRoleSchema = z.enum([\n AuditActorRole.HOST,\n AuditActorRole.PRODUCER,\n AuditActorRole.ADMIN,\n AuditActorRole.SYSTEM,\n AuditActorRole.VIEWER,\n AuditActorRole.USER,\n]);\n","import { z } from 'zod';\n\nexport const MAX_PAGE_SIZE = 50;\nexport const DEFAULT_PAGE_SIZE = 20;\nexport const DEFAULT_PAGE_NUMBER = 1;\n\nexport const CurrencyEnum = {\n NGN: 'NGN',\n USD: 'USD',\n GBP: 'GBP',\n EUR: 'EUR',\n} as const;\nexport type CurrencyEnum = (typeof CurrencyEnum)[keyof typeof CurrencyEnum];\n/**\n * Common pagination parameters for query strings.\n */\nexport const PaginationParamsSchema = z.object({\n pageNumber: z.coerce.number().int().min(1).default(DEFAULT_PAGE_NUMBER),\n pageSize: z.coerce.number().int().min(1).max(MAX_PAGE_SIZE).default(DEFAULT_PAGE_SIZE),\n});\n\nexport const MoneySchema = z.object({\n amountMinor: z.string().regex(/^-?\\d+$/, 'amountMinor must be a signed integer string'),\n currency: z.enum(CurrencyEnum),\n});\n\nexport const DeltaDirection = {\n UP: 'UP',\n DOWN: 'DOWN',\n FLAT: 'FLAT',\n} as const;\nexport type DeltaDirection = (typeof DeltaDirection)[keyof typeof DeltaDirection];\nexport const DeltaDirectionSchema = z.enum(DeltaDirection);\n\n/**\n * Common pagination metadata returned alongside list responses.\n */\nexport const PaginationResponseSchema = z.object({\n totalCount: z.number().int().nonnegative(),\n pageNumber: z.number().int().min(1),\n pageSize: z.number().int().min(1),\n totalPages: z.number().int().nonnegative(),\n hasPreviousPage: z.boolean(),\n hasNextPage: z.boolean(),\n});\n\n/**\n * Standard API response wrapper for all LivDot endpoints.\n * @template T The type of the data payload.\n */\nexport const ApiResponseSchema = <T extends z.ZodTypeAny>(dataSchema: T) =>\n z.object({\n success: z.boolean(),\n data: dataSchema.optional(),\n error: z\n .object({\n type: z.url(),\n title: z.string(),\n status: z.number(),\n detail: z.string(),\n instance: z.string().optional(),\n })\n .optional(),\n meta: PaginationResponseSchema.optional(),\n });\n\nexport type PaginationParams = z.infer<typeof PaginationParamsSchema>;\nexport type PaginationResponse = z.infer<typeof PaginationResponseSchema>;\nexport type MoneyDto = z.infer<typeof MoneySchema>;\n","/**\n * Human-readable response messages for the LivDot platform.\n *\n * Used for API success payloads, notification bodies, and toast copy.\n * Grouped to mirror docs/integration — one sub-object per module.\n *\n * Rules of thumb:\n * - Speak to the user, not about them (\"your\", not \"the user's\").\n * - Never leak internal state (attempts remaining, provider names, ledger accounts).\n * - Keep copy terse; the FE composes surrounding UI.\n * - Do NOT put URLs, ids, or amounts in these strings — the FE renders those.\n */\nexport const ResponseMessages = {\n // ────────────────────────────────────────────────────────────────\n // 01 · Auth (docs/integration/01-auth.md)\n // ────────────────────────────────────────────────────────────────\n AUTH: {\n REGISTER_SUCCESS: 'Account created. Check your email for the verification code.',\n REGISTER_EMAIL_EXISTS: 'An account with that email already exists. Try logging in instead.',\n OTP_SENT: 'We sent you a fresh code. It expires in a few minutes.',\n OTP_VERIFIED: 'Code verified.',\n OTP_INVALID: 'That code is invalid or has expired. Request a new one.',\n LOGIN_SUCCESS: 'Welcome back.',\n LOGIN_INVALID_CREDENTIALS: 'That email and password combination is incorrect.',\n LOGIN_ROLE_UNAVAILABLE:\n 'You don’t have access to this app yet. Switch role or upgrade your account.',\n LOGIN_UNVERIFIED: 'Please verify your email before continuing. We resent the code.',\n LOGOUT_SUCCESS: 'You’ve been signed out.',\n REFRESH_SUCCESS: 'Session refreshed.',\n REFRESH_REVOKED: 'Your session has expired. Sign in again to continue.',\n PASSWORD_RESET_SENT: 'If an account exists for that email, a reset code is on its way.',\n PASSWORD_RESET_SUCCESS: 'Your password has been updated.',\n PASSWORD_CHANGE_SUCCESS: 'Password changed. Other sessions have been signed out.',\n ACCOUNT_DELETE_SUCCESS: 'Your account has been deleted.',\n ACCOUNT_DELETE_CONFIRM_MISMATCH:\n 'The confirmation email doesn’t match. Type your email exactly as shown.',\n CONFIRM_PASSWORD_SUCCESS: 'Password confirmed. Continue with your change.',\n CONFIRM_PASSWORD_INVALID: 'That password is incorrect.',\n\n // OAuth\n OAUTH_PROVIDER_DISABLED: 'This sign-in method is temporarily unavailable. Try another option.',\n OAUTH_LINK_REQUIRED_EMAIL_MATCH:\n 'An account with this email already exists. Verify to link them.',\n OAUTH_LINK_REQUIRED_EMAIL_MISSING:\n 'We couldn’t get an email from your provider. Enter one to continue.',\n OAUTH_LINK_SUCCESS: 'Accounts linked.',\n OAUTH_INVALID_HANDOFF: 'This sign-in link has expired. Start again from the sign-in screen.',\n\n // MFA (TOTP)\n MFA_ENROL_STARTED: 'Scan the code with your authenticator app, then enter a code to enable.',\n MFA_ENABLED: 'Two-factor authentication is on.',\n MFA_DISABLED: 'Two-factor authentication is off.',\n MFA_CODE_INVALID: 'That code isn’t right. Try again with a fresh code.',\n MFA_NOT_ENROLLED: 'Set up two-factor authentication before continuing.',\n MFA_CHALLENGE_ISSUED: 'Enter your authenticator code to continue.',\n MFA_VERIFY_SUCCESS: 'Verified. You have 60 seconds to complete this action.',\n MFA_TOKEN_EXPIRED: 'This verification has expired. Start the security check again.',\n MFA_LOCKED: 'Too many failed attempts. Try again after the cooldown.',\n MFA_RECOVERY_CODES_REGENERATED:\n 'New recovery codes generated. Save them now — we won’t show them again.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 02 · User & Profiles (docs/integration/02-user-profiles.md)\n // ────────────────────────────────────────────────────────────────\n USER: {\n PROFILE_UPDATE_SUCCESS: 'Profile updated.',\n HANDLE_TAKEN: 'That handle is already taken. Try another.',\n CURRENCY_UPDATED: 'Display currency updated.',\n CURRENCY_UNSUPPORTED: 'That currency isn’t supported yet.',\n NOTIFICATION_PREFS_UPDATED: 'Notification preferences saved.',\n FEEDBACK_RECEIVED: 'Thanks for the feedback — we’ve got it.',\n PIN_SET: 'PIN set.',\n PIN_ROTATED: 'PIN updated.',\n PIN_CURRENT_INVALID: 'Your current PIN is incorrect.',\n\n HOST_PROFILE_CREATED: 'Host profile created. Set a PIN before your first payout.',\n HOST_PROFILE_UPDATED: 'Host profile updated.',\n HOST_PROFILE_EXISTS: 'You already have a host profile.',\n HOST_PROFILE_NOT_FOUND: 'You haven’t created a host profile yet.',\n\n PRODUCER_PROFILE_CREATED:\n 'Producer profile created. Submit for verification to appear in search.',\n PRODUCER_PROFILE_UPDATED: 'Producer profile updated.',\n PRODUCER_PROFILE_EXISTS: 'You already have a producer profile.',\n PRODUCER_PROFILE_NOT_FOUND: 'You haven’t created a producer profile yet.',\n PRODUCER_VERIFY_SUBMITTED:\n 'Verification submitted. We’ll let you know once review is complete.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 03 · Host events + wizard + live console (03-host-events.md)\n // ────────────────────────────────────────────────────────────────\n EVENT: {\n WIZARD_DRAFT_CREATED: 'Draft saved.',\n WIZARD_STEP_SAVED: 'Progress saved.',\n WIZARD_PUBLISHED: 'Event published — it’s now live to your audience.',\n WIZARD_PUBLISH_INCOMPLETE:\n 'A few details are still missing. Finish the highlighted steps to publish.',\n WIZARD_NOT_DRAFT: 'This event can’t be edited from the wizard anymore.',\n\n UPDATED: 'Event details updated.',\n DELETED: 'Event deleted.',\n DELETE_NOT_ALLOWED: 'Only draft or empty scheduled events can be deleted.',\n PAUSED: 'Event paused.',\n UNPAUSED: 'Event resumed.',\n CANCELLED: 'Event cancelled. Refunds are processing and viewers have been notified.',\n CANCEL_NOT_ALLOWED: 'This event can no longer be cancelled.',\n\n // Stream test + go-live + end-live\n STREAM_TEST_READY: 'Stream credentials are ready. Copy the key now — you won’t see it again.',\n STREAM_TEST_RATE_LIMITED: 'You’ve run stream test too many times this hour. Try again later.',\n STREAM_TEST_WRONG_STATE: 'Stream test isn’t available in the current event state.',\n\n GO_LIVE_SOON: (time: string) => `Your event goes live in ${time}.`,\n GO_LIVE_SUCCESS: 'You’re live.',\n GO_LIVE_CHECKLIST_INCOMPLETE: 'Finish the pre-live checklist before going live.',\n GO_LIVE_BEFORE_WINDOW: 'Too early — the go-live window hasn’t opened yet.',\n GO_LIVE_AFTER_WINDOW: 'The go-live window has closed. Contact support.',\n GO_LIVE_ALREADY_LIVE: 'This event is already live.',\n GO_LIVE_NOT_OWNED: 'You’re not the host of this event.',\n\n END_LIVE_SUCCESS: 'Event ended. Replay will be available shortly.',\n END_LIVE_NOT_LIVE: 'This event isn’t live.',\n\n STREAM_CONTROL_UPDATED: 'Stream control updated.',\n\n REPLAY_PERIOD_EXTENDED: 'Replay availability updated.',\n REPLAY_PERIOD_NOT_ENDED: 'You can extend replay availability once the event ends.',\n\n NOT_OWNED: 'You don’t have access to this event.',\n NOT_FOUND: 'We couldn’t find that event.',\n\n // Post-event dashboard\n AUDIENCE_ROLLUP_PENDING: 'Audience insights will appear here once the rollup completes.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 04 · Payouts, settlement, earnings (04-payouts.md)\n // ────────────────────────────────────────────────────────────────\n PAYOUT: {\n WITHDRAW_ACCEPTED: 'Withdrawal requested. We’ll notify you once it reaches your bank.',\n WITHDRAW_PIN_INVALID: 'Incorrect PIN.',\n WITHDRAW_PIN_NOT_SET: 'Set a PIN in your profile before withdrawing.',\n WITHDRAW_SETTLEMENT_MISSING: 'Add a verified settlement account before withdrawing.',\n WITHDRAW_INSUFFICIENT_BALANCE: 'Your available balance is below the minimum withdrawal amount.',\n WITHDRAW_IDEMPOTENCY_MISSING: 'This request is missing a required key. Please retry.',\n WITHDRAW_IDEMPOTENCY_CONFLICT:\n 'This request key has already been used. Start a new withdrawal.',\n WITHDRAW_PROVIDER_UNAVAILABLE: 'Payouts are temporarily unavailable. Try again shortly.',\n\n SETTLEMENT_UPDATED: 'Settlement account saved.',\n SETTLEMENT_ACCOUNT_UNVERIFIED:\n 'We couldn’t verify that account. Double-check the bank and account number.',\n SETTLEMENT_NAME_MISMATCH: 'The bank account name doesn’t match the name on your profile.',\n SETTLEMENT_PROVIDER_UNAVAILABLE:\n 'Bank verification is temporarily unavailable. Please try again.',\n\n ACCOUNT_RESOLVE_FAILED: 'That account number couldn’t be resolved. Check the digits and bank.',\n\n VIRTUAL_ACCOUNT_PROVISIONING:\n 'Your deposit account is being set up. This usually takes under a minute.',\n VIRTUAL_ACCOUNT_READY: 'Your deposit account is ready.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 05 · Marketplace (05-marketplace.md)\n // ────────────────────────────────────────────────────────────────\n MARKETPLACE: {\n // Job listings\n LISTING_DRAFT_SAVED: 'Draft saved.',\n LISTING_PUBLISHED: 'Job listing published.',\n LISTING_PUBLISH_INCOMPLETE: 'Fill in the required fields before publishing.',\n LISTING_UPDATED: 'Job listing updated.',\n LISTING_CANCELLED: 'Job listing cancelled.',\n LISTING_DELETED: 'Draft deleted.',\n LISTING_NOT_DRAFT: 'Only draft listings can be deleted.',\n LISTING_NOT_OPEN: 'This job listing is no longer accepting applications.',\n LISTING_ALREADY_EXISTS: 'You already have a listing for this event.',\n\n // Indications of interest\n IOI_SUBMITTED: 'Your interest has been sent to the host.',\n IOI_ALREADY_SUBMITTED: 'You’ve already applied to this listing. Wait for the host to respond.',\n IOI_WITHDRAWN: 'Application withdrawn.',\n IOI_WITHDRAW_NOT_ALLOWED: 'This application can no longer be withdrawn.',\n\n // Bookings\n BOOKING_CREATED: 'Booking created. The producer has been notified.',\n BOOKING_STATE_UPDATED: 'Booking updated.',\n BOOKING_TRANSITION_FORBIDDEN: 'You’re not allowed to make this change on this booking.',\n BOOKING_TRANSITION_INVALID: 'That change isn’t allowed from the current state.',\n BOOKING_ESCROW_UNFUNDED: 'Escrow must be funded before this booking can be confirmed.',\n BOOKING_REASON_REQUIRED: 'Add a short reason to continue.',\n BOOKING_ACCEPTED: 'Booking accepted.',\n BOOKING_REJECTED: 'Booking rejected.',\n BOOKING_CANCELLED: 'Booking cancelled.',\n BOOKING_COMPLETION_ACK: 'Your completion is recorded. Waiting on the other party to confirm.',\n BOOKING_COMPLETED: 'Service marked complete. Funds will release after the dispute window.',\n BOOKING_NOT_PARTICIPANT: 'You’re not a participant on this booking.',\n\n // Reviews\n REVIEW_SUBMITTED: 'Thanks for your review.',\n REVIEW_ALREADY_EXISTS: 'You’ve already reviewed this booking.',\n REVIEW_NOT_REVIEWABLE:\n 'Reviews are available once service is completed (or the booking is closed).',\n BOOKING_REVIEW_REQUIRED_BEFORE_RELEASE:\n 'Submit a review for the producer before closing this booking and releasing funds.',\n\n // Hiring thread\n THREAD_MESSAGE_SENT: 'Message sent.',\n THREAD_MESSAGE_TOO_LONG: 'Your message is too long. Trim it and try again.',\n THREAD_CLOSED: 'This thread is closed. You can no longer send messages here.',\n THREAD_READ_RECEIPTS_UPDATED: 'Messages marked as read.',\n\n // Direct Event Hire — crew role assignments\n CREW_ASSIGNMENT_SAVED: 'Crew role saved.',\n CREW_ASSIGNMENT_UPDATED: 'Crew role updated.',\n CREW_ASSIGNMENT_REMOVED: 'Crew role removed.',\n CREW_ASSIGNMENT_NOT_FOUND: 'That crew assignment was not found.',\n CREW_ASSIGNMENT_INVALID_STATE: 'That action isn’t allowed for this invite right now.',\n CREW_ASSIGNMENT_ALREADY_EXISTS: 'This producer already has a role on this event.',\n CREW_ASSIGNMENT_BOOKING_EXISTS:\n 'A booking already exists for this producer on the event. Remove it before inviting again.',\n CREW_ASSIGNMENT_ACCEPTED: 'Invite accepted. Your booking is ready.',\n CREW_ASSIGNMENT_REJECTED: 'Invite declined.',\n CREW_ASSIGNMENT_INVITED: 'You’ve been invited to join a production crew.',\n\n // Booking disputes (inbox + email copy)\n DISPUTE_OPENED_TITLE: 'Booking dispute opened',\n DISPUTE_OPENED_BODY_RAISER:\n 'Your dispute on this booking was submitted. Escrow is on hold until it is resolved.',\n DISPUTE_OPENED_BODY_COUNTERPARTY:\n 'A dispute was opened on this booking. Escrow is on hold until it is resolved.',\n DISPUTE_RESOLVED_TITLE: 'Booking dispute resolved',\n DISPUTE_RESOLVED_BODY: 'The dispute on this booking was resolved.',\n DISPUTE_RESOLVED_OUTCOME_REFUNDED: 'refunded',\n DISPUTE_RESOLVED_OUTCOME_PARTIAL_REFUND: 'partially refunded',\n DISPUTE_RESOLVED_OUTCOME_DENIED: 'denied',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 06 · Payments (06-payments.md)\n // ────────────────────────────────────────────────────────────────\n PAYMENT: {\n QUOTE_ISSUED: 'Price quote ready.',\n PURCHASE_INITIATED: 'Redirecting you to checkout.',\n PURCHASE_PENDING: 'We’re confirming your payment. This usually takes a few seconds.',\n PURCHASE_SUCCESS: 'Payment received. You’re in.',\n PURCHASE_FAILED: 'Payment failed. Try again or use a different method.',\n PURCHASE_CANCELLED: 'You cancelled the payment.',\n PURCHASE_EXPIRED: 'Your checkout session expired. Start the purchase again.',\n PURCHASE_NOT_FOUND: 'We couldn’t find that purchase.',\n PROVIDER_UNAVAILABLE: 'Payments are temporarily unavailable. Please try again shortly.',\n IDEMPOTENCY_KEY_REQUIRED: 'Your app didn’t send a payment key. Refresh and try again.',\n\n REGISTRATION_FREE_SUCCESS: 'You’re registered.',\n REGISTRATION_PAID_PENDING: 'Complete payment to confirm your registration.',\n REGISTRATION_CANCELLED: 'Your registration has been cancelled.',\n REGISTRATION_ALREADY_ACTIVE: 'You’re already registered for this event.',\n REGISTRATION_SOLD_OUT: 'Sorry — this event is sold out.',\n REGISTRATION_PRIVATE_NOT_ALLOWED: 'You’re not on the guest list for this event.',\n REGISTRATION_REPLAY_CLOSED: 'The replay window has closed for this event.',\n\n ACCESS_CHECK_QUALIFIED: 'You’re on the guest list — go ahead and register.',\n ACCESS_CHECK_NOT_QUALIFIED:\n 'This email isn’t on the guest list. Try another, or contact the host.',\n\n RECEIPT_READY: 'Receipt ready.',\n RECEIPT_NOT_AVAILABLE: 'The receipt will be available once payment is confirmed.',\n CALENDAR_READY: 'Calendar file ready.',\n\n REPLAY_ACCESS_INCLUDED: 'Replay unlocked — enjoy.',\n REPLAY_PURCHASE_PENDING: 'Complete payment to unlock replay.',\n REPLAY_DISABLED: 'The host disabled replay for this event.',\n REPLAY_REGISTRATION_REQUIRED: 'You need an active ticket before you can watch this replay.',\n\n REFUND_PROCESSING:\n 'Refund is being processed. It usually completes within a few business days.',\n REFUND_COMPLETE: 'Refund complete.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 07 · Streaming (07-streaming.md)\n // ────────────────────────────────────────────────────────────────\n STREAMING: {\n PLAYBACK_LIVE_READY: 'You’re watching live.',\n PLAYBACK_REPLAY_READY: 'Replay ready.',\n PLAYBACK_NOT_ENTITLED: 'You need a ticket or replay pass to watch this event.',\n PLAYBACK_REPLAY_ONLY_NOT_LIVE:\n 'This pass unlocks the replay. We’ll let you know once it’s ready.',\n PLAYBACK_UNAVAILABLE: 'This event isn’t playable yet. Check back closer to start time.',\n PLAYBACK_REPLAY_EXPIRED: 'The replay window for this event has closed.',\n PLAYBACK_SESSION_ELSEWHERE: 'You’re watching on another device. Resume here to switch.',\n PLAYBACK_KILLSWITCH: 'Playback is temporarily disabled by the host or support.',\n\n CREW_HEARTBEAT_OK: 'Presence updated.',\n CREW_NOT_ASSIGNED: 'You’re not confirmed crew on this event.',\n\n CREW_NOT_LIVE: 'This event isn’t live yet.',\n CREW_ALREADY_LIVE: 'This event is already live.',\n CREW_NOT_OWNED: 'You’re not the host of this event.',\n CREW_STREAM_NOT_READY: 'The stream isn’t ready yet. Check back in a few minutes.',\n CREW_STREAM_TEST_NOT_READY: 'The stream test isn’t ready yet. Try again in a few minutes.',\n INGEST_DISCONNECTED: 'Stream ingest disconnected',\n INGEST_RECONNECTING: 'Stream ingest reconnected',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 08 · Chat (08-chat.md)\n // ────────────────────────────────────────────────────────────────\n CHAT: {\n MESSAGE_SENT: 'Message sent.',\n MESSAGE_TOO_LONG: 'Messages can’t be longer than 500 characters.',\n MESSAGE_EMPTY: 'Type a message before sending.',\n MESSAGE_PROFANITY: 'Message blocked by moderation.',\n ROOM_MUTED: 'Chat is muted right now.',\n ROOM_NOT_LIVE: 'Chat is closed for this event.',\n ROOM_MUTED_BY_HOST: 'You’ve muted the room.',\n ROOM_UNMUTED_BY_HOST: 'Room unmuted.',\n MESSAGE_DELETED: 'Message removed.',\n MESSAGE_ALREADY_DELETED: 'That message has already been removed.',\n RATE_LIMITED: 'You’re sending too fast. Slow down a moment.',\n NOT_ENTITLED: 'You need an active registration to chat.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 09 · Notifications & push devices (09-notifications.md)\n // ────────────────────────────────────────────────────────────────\n NOTIFICATIONS: {\n DEVICE_REGISTERED: 'Push notifications enabled on this device.',\n DEVICE_REVOKED: 'Push notifications disabled on this device.',\n DEVICE_TOKEN_INVALID: 'That push token isn’t valid. Try again after re-opening the app.',\n NOTIFICATION_MARKED_READ: 'Marked as read.',\n ALL_MARKED_READ: 'All caught up.',\n NOTIFICATION_NOT_FOUND: 'We couldn’t find that notification.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 10 · Public share links (10-share.md)\n // ────────────────────────────────────────────────────────────────\n SHARE: {\n LINK_RESOLVED: 'Loading event.',\n LINK_NOT_FOUND: 'This share link isn’t available anymore.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 11 · Viewer events + sessions (11-viewer-events.md)\n // ────────────────────────────────────────────────────────────────\n VIEWER: {\n SESSION_STARTED: 'Session started.',\n SESSION_ENDED: 'Session ended.',\n SESSION_ALREADY_ENDED: 'This viewing session has already ended.',\n WATCH_PROGRESS_SAVED: 'Progress saved.',\n WATCH_PROGRESS_NOT_REPLAYABLE: 'Watch progress is only saved during replays.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // General / cross-cutting\n // ────────────────────────────────────────────────────────────────\n GENERAL: {\n SUCCESS: 'Done.',\n ERROR: 'Something went wrong. Please try again — if it keeps happening, contact support.',\n VALIDATION_ERROR: 'Check the highlighted fields and try again.',\n\n UNAUTHORIZED: 'Please sign in to continue.',\n FORBIDDEN: 'You don’t have permission to do that.',\n NOT_FOUND: 'We couldn’t find what you were looking for.',\n CONFLICT: 'That action isn’t allowed from the current state.',\n PRECONDITION_FAILED: 'A required setup step is missing. Complete it, then try again.',\n LOCKED: 'Too many attempts. Try again in a few minutes.',\n RATE_LIMITED: 'You’re doing that too often. Wait a moment and try again.',\n SERVICE_UNAVAILABLE: 'This feature is temporarily unavailable. Try again shortly.',\n UNSUPPORTED_CURRENCY: 'That currency isn’t supported.',\n\n IDEMPOTENCY_KEY_REQUIRED: 'Missing request key. Refresh and try again.',\n IDEMPOTENCY_KEY_CONFLICT: 'This request key was already used. Retry with a fresh action.',\n },\n} as const;\n\nexport type ResponseMessages = typeof ResponseMessages;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common/audit.enums.ts","../src/common/common.schemas.ts","../src/common/messages.ts"],"names":["AuditActorRole","AuditActorRoleSchema","z","MAX_PAGE_SIZE","DEFAULT_PAGE_SIZE","DEFAULT_PAGE_NUMBER","CurrencyEnum","PaginationParamsSchema","MoneySchema","DeltaDirection","DeltaDirectionSchema","PaginationResponseSchema","ApiResponseSchema","dataSchema","ResponseMessages","time"],"mappings":"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","file":"chunk-HFADWTM3.mjs","sourcesContent":["import { z } from 'zod';\n\n/**\n * Canonical actor roles persisted on `audit_logs.actor_role`.\n * Broader than {@link BookingTransitionActor} — includes VIEWER/USER for\n * platform-wide audit events (playback, registration, re-auth, etc.).\n */\nexport const AuditActorRole = {\n HOST: 'HOST',\n PRODUCER: 'PRODUCER',\n ADMIN: 'ADMIN',\n SYSTEM: 'SYSTEM',\n VIEWER: 'VIEWER',\n USER: 'USER',\n} as const;\nexport type AuditActorRole = (typeof AuditActorRole)[keyof typeof AuditActorRole];\n\nexport const AuditActorRoleSchema = z.enum([\n AuditActorRole.HOST,\n AuditActorRole.PRODUCER,\n AuditActorRole.ADMIN,\n AuditActorRole.SYSTEM,\n AuditActorRole.VIEWER,\n AuditActorRole.USER,\n]);\n","import { z } from 'zod';\n\nexport const MAX_PAGE_SIZE = 50;\nexport const DEFAULT_PAGE_SIZE = 20;\nexport const DEFAULT_PAGE_NUMBER = 1;\n\nexport const CurrencyEnum = {\n NGN: 'NGN',\n USD: 'USD',\n GBP: 'GBP',\n EUR: 'EUR',\n} as const;\nexport type CurrencyEnum = (typeof CurrencyEnum)[keyof typeof CurrencyEnum];\n/**\n * Common pagination parameters for query strings.\n */\nexport const PaginationParamsSchema = z.object({\n pageNumber: z.coerce.number().int().min(1).default(DEFAULT_PAGE_NUMBER),\n pageSize: z.coerce.number().int().min(1).max(MAX_PAGE_SIZE).default(DEFAULT_PAGE_SIZE),\n});\n\nexport const MoneySchema = z.object({\n amountMinor: z.string().regex(/^-?\\d+$/, 'amountMinor must be a signed integer string'),\n currency: z.enum(CurrencyEnum),\n});\n\nexport const DeltaDirection = {\n UP: 'UP',\n DOWN: 'DOWN',\n FLAT: 'FLAT',\n} as const;\nexport type DeltaDirection = (typeof DeltaDirection)[keyof typeof DeltaDirection];\nexport const DeltaDirectionSchema = z.enum(DeltaDirection);\n\n/**\n * Common pagination metadata returned alongside list responses.\n */\nexport const PaginationResponseSchema = z.object({\n totalCount: z.number().int().nonnegative(),\n pageNumber: z.number().int().min(1),\n pageSize: z.number().int().min(1),\n totalPages: z.number().int().nonnegative(),\n hasPreviousPage: z.boolean(),\n hasNextPage: z.boolean(),\n});\n\n/**\n * Standard API response wrapper for all LivDot endpoints.\n * @template T The type of the data payload.\n */\nexport const ApiResponseSchema = <T extends z.ZodTypeAny>(dataSchema: T) =>\n z.object({\n success: z.boolean(),\n data: dataSchema.optional(),\n error: z\n .object({\n type: z.url(),\n title: z.string(),\n status: z.number(),\n detail: z.string(),\n instance: z.string().optional(),\n })\n .optional(),\n meta: PaginationResponseSchema.optional(),\n });\n\nexport type PaginationParams = z.infer<typeof PaginationParamsSchema>;\nexport type PaginationResponse = z.infer<typeof PaginationResponseSchema>;\nexport type MoneyDto = z.infer<typeof MoneySchema>;\n","/**\n * Human-readable response messages for the LivDot platform.\n *\n * Used for API success payloads, notification bodies, and toast copy.\n * Grouped to mirror docs/integration — one sub-object per module.\n *\n * Rules of thumb:\n * - Speak to the user, not about them (\"your\", not \"the user's\").\n * - Never leak internal state (attempts remaining, provider names, ledger accounts).\n * - Keep copy terse; the FE composes surrounding UI.\n * - Do NOT put URLs, ids, or amounts in these strings — the FE renders those.\n */\nexport const ResponseMessages = {\n // ────────────────────────────────────────────────────────────────\n // 01 · Auth (docs/integration/01-auth.md)\n // ────────────────────────────────────────────────────────────────\n AUTH: {\n REGISTER_SUCCESS: 'Account created. Check your email for the verification code.',\n REGISTER_EMAIL_EXISTS: 'An account with that email already exists. Try logging in instead.',\n OTP_SENT: 'We sent you a fresh code. It expires in a few minutes.',\n OTP_VERIFIED: 'Code verified.',\n OTP_INVALID: 'That code is invalid or has expired. Request a new one.',\n LOGIN_SUCCESS: 'Welcome back.',\n LOGIN_INVALID_CREDENTIALS: 'That email and password combination is incorrect.',\n LOGIN_ROLE_UNAVAILABLE:\n 'You don’t have access to this app yet. Switch role or upgrade your account.',\n LOGIN_UNVERIFIED: 'Please verify your email before continuing. We resent the code.',\n LOGOUT_SUCCESS: 'You’ve been signed out.',\n REFRESH_SUCCESS: 'Session refreshed.',\n REFRESH_REVOKED: 'Your session has expired. Sign in again to continue.',\n PASSWORD_RESET_SENT: 'If an account exists for that email, a reset code is on its way.',\n PASSWORD_RESET_SUCCESS: 'Your password has been updated.',\n PASSWORD_CHANGE_SUCCESS: 'Password changed. Other sessions have been signed out.',\n ACCOUNT_DELETE_SUCCESS: 'Your account has been deleted.',\n ACCOUNT_DELETE_CONFIRM_MISMATCH:\n 'The confirmation email doesn’t match. Type your email exactly as shown.',\n CONFIRM_PASSWORD_SUCCESS: 'Password confirmed. Continue with your change.',\n CONFIRM_PASSWORD_INVALID: 'That password is incorrect.',\n\n // OAuth\n OAUTH_PROVIDER_DISABLED: 'This sign-in method is temporarily unavailable. Try another option.',\n OAUTH_LINK_REQUIRED_EMAIL_MATCH:\n 'An account with this email already exists. Verify to link them.',\n OAUTH_LINK_REQUIRED_EMAIL_MISSING:\n 'We couldn’t get an email from your provider. Enter one to continue.',\n OAUTH_LINK_SUCCESS: 'Accounts linked.',\n OAUTH_INVALID_HANDOFF: 'This sign-in link has expired. Start again from the sign-in screen.',\n\n // MFA (TOTP)\n MFA_ENROL_STARTED: 'Scan the code with your authenticator app, then enter a code to enable.',\n MFA_ENABLED: 'Two-factor authentication is on.',\n MFA_DISABLED: 'Two-factor authentication is off.',\n MFA_CODE_INVALID: 'That code isn’t right. Try again with a fresh code.',\n MFA_NOT_ENROLLED: 'Set up two-factor authentication before continuing.',\n MFA_CHALLENGE_ISSUED: 'Enter your authenticator code to continue.',\n MFA_VERIFY_SUCCESS: 'Verified. You have 60 seconds to complete this action.',\n MFA_TOKEN_EXPIRED: 'This verification has expired. Start the security check again.',\n MFA_LOCKED: 'Too many failed attempts. Try again after the cooldown.',\n MFA_RECOVERY_CODES_REGENERATED:\n 'New recovery codes generated. Save them now — we won’t show them again.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 02 · User & Profiles (docs/integration/02-user-profiles.md)\n // ────────────────────────────────────────────────────────────────\n USER: {\n PROFILE_UPDATE_SUCCESS: 'Profile updated.',\n HANDLE_TAKEN: 'That handle is already taken. Try another.',\n CURRENCY_UPDATED: 'Display currency updated.',\n CURRENCY_UNSUPPORTED: 'That currency isn’t supported yet.',\n NOTIFICATION_PREFS_UPDATED: 'Notification preferences saved.',\n FEEDBACK_RECEIVED: 'Thanks for the feedback — we’ve got it.',\n PIN_SET: 'PIN set.',\n PIN_ROTATED: 'PIN updated.',\n PIN_CURRENT_INVALID: 'Your current PIN is incorrect.',\n\n HOST_PROFILE_CREATED: 'Host profile created. Set a PIN before your first payout.',\n HOST_PROFILE_UPDATED: 'Host profile updated.',\n HOST_PROFILE_EXISTS: 'You already have a host profile.',\n HOST_PROFILE_NOT_FOUND: 'You haven’t created a host profile yet.',\n\n PRODUCER_PROFILE_CREATED:\n 'Producer profile created. Submit for verification to appear in search.',\n PRODUCER_PROFILE_UPDATED: 'Producer profile updated.',\n PRODUCER_PROFILE_EXISTS: 'You already have a producer profile.',\n PRODUCER_PROFILE_NOT_FOUND: 'You haven’t created a producer profile yet.',\n PRODUCER_VERIFY_SUBMITTED:\n 'Verification submitted. We’ll let you know once review is complete.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 03 · Host events + wizard + live console (03-host-events.md)\n // ────────────────────────────────────────────────────────────────\n EVENT: {\n WIZARD_DRAFT_CREATED: 'Draft saved.',\n WIZARD_STEP_SAVED: 'Progress saved.',\n WIZARD_PUBLISHED: 'Event published — it’s now live to your audience.',\n WIZARD_PUBLISH_INCOMPLETE:\n 'A few details are still missing. Finish the highlighted steps to publish.',\n WIZARD_NOT_DRAFT: 'This event can’t be edited from the wizard anymore.',\n\n UPDATED: 'Event details updated.',\n DELETED: 'Event deleted.',\n DELETE_NOT_ALLOWED: 'Only draft or empty scheduled events can be deleted.',\n PAUSED: 'Event paused.',\n UNPAUSED: 'Event resumed.',\n CANCELLED: 'Event cancelled. Refunds are processing and viewers have been notified.',\n CANCEL_NOT_ALLOWED: 'This event can no longer be cancelled.',\n\n // Stream test + go-live + end-live\n STREAM_TEST_READY: 'Stream credentials are ready. Copy the key now — you won’t see it again.',\n STREAM_TEST_RATE_LIMITED: 'You’ve run stream test too many times this hour. Try again later.',\n STREAM_TEST_WRONG_STATE: 'Stream test isn’t available in the current event state.',\n\n GO_LIVE_SOON: (time: string) => `Your event goes live in ${time}.`,\n GO_LIVE_SUCCESS: 'You’re live.',\n GO_LIVE_CHECKLIST_INCOMPLETE: 'Finish the pre-live checklist before going live.',\n GO_LIVE_BEFORE_WINDOW: 'Too early — the go-live window hasn’t opened yet.',\n GO_LIVE_AFTER_WINDOW: 'The go-live window has closed. Contact support.',\n GO_LIVE_ALREADY_LIVE: 'This event is already live.',\n GO_LIVE_NOT_OWNED: 'You’re not the host of this event.',\n\n END_LIVE_SUCCESS: 'Event ended. Replay will be available shortly.',\n END_LIVE_NOT_LIVE: 'This event isn’t live.',\n\n STREAM_CONTROL_UPDATED: 'Stream control updated.',\n\n REPLAY_PERIOD_EXTENDED: 'Replay availability updated.',\n REPLAY_PERIOD_NOT_ENDED: 'You can extend replay availability once the event ends.',\n\n NOT_OWNED: 'You don’t have access to this event.',\n NOT_FOUND: 'We couldn’t find that event.',\n\n // Post-event dashboard\n AUDIENCE_ROLLUP_PENDING: 'Audience insights will appear here once the rollup completes.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 04 · Payouts, settlement, earnings (04-payouts.md)\n // ────────────────────────────────────────────────────────────────\n PAYOUT: {\n WITHDRAW_ACCEPTED: 'Withdrawal requested. We’ll notify you once it reaches your bank.',\n WITHDRAW_PIN_INVALID: 'Incorrect PIN.',\n WITHDRAW_PIN_NOT_SET: 'Set a PIN in your profile before withdrawing.',\n WITHDRAW_SETTLEMENT_MISSING: 'Add a verified settlement account before withdrawing.',\n WITHDRAW_INSUFFICIENT_BALANCE: 'Your available balance is below the minimum withdrawal amount.',\n WITHDRAW_IDEMPOTENCY_MISSING: 'This request is missing a required key. Please retry.',\n WITHDRAW_IDEMPOTENCY_CONFLICT:\n 'This request key has already been used. Start a new withdrawal.',\n WITHDRAW_PROVIDER_UNAVAILABLE: 'Payouts are temporarily unavailable. Try again shortly.',\n\n SETTLEMENT_UPDATED: 'Settlement account saved.',\n SETTLEMENT_ACCOUNT_UNVERIFIED:\n 'We couldn’t verify that account. Double-check the bank and account number.',\n SETTLEMENT_NAME_MISMATCH: 'The bank account name doesn’t match the name on your profile.',\n SETTLEMENT_PROVIDER_UNAVAILABLE:\n 'Bank verification is temporarily unavailable. Please try again.',\n\n ACCOUNT_RESOLVE_FAILED: 'That account number couldn’t be resolved. Check the digits and bank.',\n\n VIRTUAL_ACCOUNT_PROVISIONING:\n 'Your deposit account is being set up. This usually takes under a minute.',\n VIRTUAL_ACCOUNT_READY: 'Your deposit account is ready.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 05 · Marketplace (05-marketplace.md)\n // ────────────────────────────────────────────────────────────────\n MARKETPLACE: {\n // Job listings\n LISTING_DRAFT_SAVED: 'Draft saved.',\n LISTING_PUBLISHED: 'Job listing published.',\n LISTING_PUBLISH_INCOMPLETE: 'Fill in the required fields before publishing.',\n LISTING_UPDATED: 'Job listing updated.',\n LISTING_CANCELLED: 'Job listing cancelled.',\n LISTING_DELETED: 'Draft deleted.',\n LISTING_NOT_DRAFT: 'Only draft listings can be deleted.',\n LISTING_NOT_OPEN: 'This job listing is no longer accepting applications.',\n LISTING_ALREADY_EXISTS: 'You already have a listing for this event.',\n\n // Indications of interest\n IOI_SUBMITTED: 'Your interest has been sent to the host.',\n IOI_ALREADY_SUBMITTED: 'You’ve already applied to this listing. Wait for the host to respond.',\n IOI_WITHDRAWN: 'Application withdrawn.',\n IOI_WITHDRAW_NOT_ALLOWED: 'This application can no longer be withdrawn.',\n\n // Bookings\n BOOKING_CREATED: 'Booking created. The producer has been notified.',\n BOOKING_STATE_UPDATED: 'Booking updated.',\n BOOKING_TRANSITION_FORBIDDEN: 'You’re not allowed to make this change on this booking.',\n BOOKING_TRANSITION_INVALID: 'That change isn’t allowed from the current state.',\n BOOKING_ESCROW_UNFUNDED: 'Escrow must be funded before this booking can be confirmed.',\n BOOKING_REASON_REQUIRED: 'Add a short reason to continue.',\n BOOKING_ACCEPTED: 'Booking accepted.',\n BOOKING_REJECTED: 'Booking rejected.',\n BOOKING_CANCELLED: 'Booking cancelled.',\n BOOKING_COMPLETION_ACK: 'Your completion is recorded. Waiting on the other party to confirm.',\n BOOKING_COMPLETED: 'Service marked complete. Funds will release after the dispute window.',\n BOOKING_NOT_PARTICIPANT: 'You’re not a participant on this booking.',\n\n // Reviews\n REVIEW_SUBMITTED: 'Thanks for your review.',\n REVIEW_ALREADY_EXISTS: 'You’ve already reviewed this booking.',\n REVIEW_NOT_REVIEWABLE:\n 'Reviews are available once service is completed (or the booking is closed).',\n BOOKING_REVIEW_REQUIRED_BEFORE_RELEASE:\n 'Submit a review for the producer before closing this booking and releasing funds.',\n\n // Hiring thread\n THREAD_MESSAGE_SENT: 'Message sent.',\n THREAD_MESSAGE_TOO_LONG: 'Your message is too long. Trim it and try again.',\n THREAD_CLOSED: 'This thread is closed. You can no longer send messages here.',\n THREAD_READ_RECEIPTS_UPDATED: 'Messages marked as read.',\n\n // Direct Event Hire — crew role assignments\n CREW_ASSIGNMENT_SAVED: 'Crew role saved.',\n CREW_ASSIGNMENT_UPDATED: 'Crew role updated.',\n CREW_ASSIGNMENT_REMOVED: 'Crew role removed.',\n CREW_ASSIGNMENT_NOT_FOUND: 'That crew assignment was not found.',\n CREW_ASSIGNMENT_INVALID_STATE: 'That action isn’t allowed for this invite right now.',\n CREW_ASSIGNMENT_ALREADY_EXISTS: 'This producer already has a role on this event.',\n CREW_ASSIGNMENT_BOOKING_EXISTS:\n 'A booking already exists for this producer on the event. Remove it before inviting again.',\n CREW_ASSIGNMENT_ACCEPTED: 'Invite accepted. Your booking is ready.',\n CREW_ASSIGNMENT_REJECTED: 'Invite declined.',\n CREW_ASSIGNMENT_INVITED: 'You’ve been invited to join a production crew.',\n\n // Booking disputes (inbox + email copy)\n DISPUTE_OPENED_TITLE: 'Booking dispute opened',\n DISPUTE_OPENED_BODY_RAISER:\n 'Your dispute on this booking was submitted. Escrow is on hold until it is resolved.',\n DISPUTE_OPENED_BODY_COUNTERPARTY:\n 'A dispute was opened on this booking. Escrow is on hold until it is resolved.',\n DISPUTE_RESOLVED_TITLE: 'Booking dispute resolved',\n DISPUTE_RESOLVED_BODY: 'The dispute on this booking was resolved.',\n DISPUTE_RESOLVED_OUTCOME_REFUNDED: 'refunded',\n DISPUTE_RESOLVED_OUTCOME_PARTIAL_REFUND: 'partially refunded',\n DISPUTE_RESOLVED_OUTCOME_DENIED: 'denied',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 06 · Payments (06-payments.md)\n // ────────────────────────────────────────────────────────────────\n PAYMENT: {\n QUOTE_ISSUED: 'Price quote ready.',\n PURCHASE_INITIATED: 'Redirecting you to checkout.',\n PURCHASE_PENDING: 'We’re confirming your payment. This usually takes a few seconds.',\n PURCHASE_SUCCESS: 'Payment received. You’re in.',\n PURCHASE_FAILED: 'Payment failed. Try again or use a different method.',\n PURCHASE_CANCELLED: 'You cancelled the payment.',\n PURCHASE_EXPIRED: 'Your checkout session expired. Start the purchase again.',\n PURCHASE_NOT_FOUND: 'We couldn’t find that purchase.',\n PROVIDER_UNAVAILABLE: 'Payments are temporarily unavailable. Please try again shortly.',\n IDEMPOTENCY_KEY_REQUIRED: 'Your app didn’t send a payment key. Refresh and try again.',\n\n REGISTRATION_FREE_SUCCESS: 'You’re registered.',\n REGISTRATION_PAID_PENDING: 'Complete payment to confirm your registration.',\n REGISTRATION_CANCELLED: 'Your registration has been cancelled.',\n REGISTRATION_ALREADY_ACTIVE: 'You’re already registered for this event.',\n REGISTRATION_SOLD_OUT: 'Sorry — this event is sold out.',\n REGISTRATION_PRIVATE_NOT_ALLOWED: 'You’re not on the guest list for this event.',\n REGISTRATION_REPLAY_CLOSED: 'The replay window has closed for this event.',\n\n ACCESS_CHECK_QUALIFIED: 'You’re on the guest list — go ahead and register.',\n ACCESS_CHECK_NOT_QUALIFIED:\n 'This email isn’t on the guest list. Try another, or contact the host.',\n\n RECEIPT_READY: 'Receipt ready.',\n RECEIPT_NOT_AVAILABLE: 'The receipt will be available once payment is confirmed.',\n CALENDAR_READY: 'Calendar file ready.',\n\n REPLAY_ACCESS_INCLUDED: 'Replay unlocked — enjoy.',\n REPLAY_PURCHASE_PENDING: 'Complete payment to unlock replay.',\n REPLAY_DISABLED: 'The host disabled replay for this event.',\n REPLAY_REGISTRATION_REQUIRED: 'You need an active ticket before you can watch this replay.',\n\n REFUND_PROCESSING:\n 'Refund is being processed. It usually completes within a few business days.',\n REFUND_COMPLETE: 'Refund complete.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 07 · Streaming (07-streaming.md)\n // ────────────────────────────────────────────────────────────────\n STREAMING: {\n PLAYBACK_LIVE_READY: 'You’re watching live.',\n PLAYBACK_REPLAY_READY: 'Replay ready.',\n PLAYBACK_NOT_ENTITLED: 'You need a ticket or replay pass to watch this event.',\n PLAYBACK_REPLAY_ONLY_NOT_LIVE:\n 'This pass unlocks the replay. We’ll let you know once it’s ready.',\n PLAYBACK_UNAVAILABLE: 'This event isn’t playable yet. Check back closer to start time.',\n PLAYBACK_REPLAY_EXPIRED: 'The replay window for this event has closed.',\n PLAYBACK_SESSION_ELSEWHERE: 'You’re watching on another device. Resume here to switch.',\n PLAYBACK_KILLSWITCH: 'Playback is temporarily disabled by the host or support.',\n\n CREW_HEARTBEAT_OK: 'Presence updated.',\n CREW_NOT_ASSIGNED: 'You’re not confirmed crew on this event.',\n\n CREW_NOT_LIVE: 'This event isn’t live yet.',\n CREW_ALREADY_LIVE: 'This event is already live.',\n CREW_NOT_OWNED: 'You’re not the host of this event.',\n CREW_STREAM_NOT_READY: 'The stream isn’t ready yet. Check back in a few minutes.',\n CREW_STREAM_TEST_NOT_READY: 'The stream test isn’t ready yet. Try again in a few minutes.',\n INGEST_DISCONNECTED: 'Stream ingest disconnected',\n INGEST_RECONNECTING: 'Stream ingest reconnected',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 08 · Chat (08-chat.md)\n // ────────────────────────────────────────────────────────────────\n CHAT: {\n MESSAGE_SENT: 'Message sent.',\n MESSAGE_TOO_LONG: 'Messages can’t be longer than 500 characters.',\n MESSAGE_EMPTY: 'Type a message before sending.',\n MESSAGE_PROFANITY: 'Message blocked by moderation.',\n ROOM_MUTED: 'Chat is muted right now.',\n ROOM_NOT_LIVE: 'Chat is closed for this event.',\n ROOM_MUTED_BY_HOST: 'You’ve muted the room.',\n ROOM_UNMUTED_BY_HOST: 'Room unmuted.',\n MESSAGE_DELETED: 'Message removed.',\n MESSAGE_ALREADY_DELETED: 'That message has already been removed.',\n RATE_LIMITED: 'You’re sending too fast. Slow down a moment.',\n NOT_ENTITLED: 'You need an active registration to chat.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 09 · Notifications & push devices (09-notifications.md)\n // ────────────────────────────────────────────────────────────────\n NOTIFICATIONS: {\n DEVICE_REGISTERED: 'Push notifications enabled on this device.',\n DEVICE_REVOKED: 'Push notifications disabled on this device.',\n DEVICE_TOKEN_INVALID: 'That push token isn’t valid. Try again after re-opening the app.',\n NOTIFICATION_MARKED_READ: 'Marked as read.',\n ALL_MARKED_READ: 'All caught up.',\n NOTIFICATION_NOT_FOUND: 'We couldn’t find that notification.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 10 · Public share links (10-share.md)\n // ────────────────────────────────────────────────────────────────\n SHARE: {\n LINK_RESOLVED: 'Loading event.',\n LINK_NOT_FOUND: 'This share link isn’t available anymore.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 11 · Viewer events + sessions (11-viewer-events.md)\n // ────────────────────────────────────────────────────────────────\n VIEWER: {\n SESSION_STARTED: 'Session started.',\n SESSION_ENDED: 'Session ended.',\n SESSION_ALREADY_ENDED: 'This viewing session has already ended.',\n WATCH_PROGRESS_SAVED: 'Progress saved.',\n WATCH_PROGRESS_NOT_REPLAYABLE: 'Watch progress is only saved during replays.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // General / cross-cutting\n // ────────────────────────────────────────────────────────────────\n GENERAL: {\n SUCCESS: 'Done.',\n ERROR: 'Something went wrong. Please try again — if it keeps happening, contact support.',\n VALIDATION_ERROR: 'Check the highlighted fields and try again.',\n\n UNAUTHORIZED: 'Please sign in to continue.',\n FORBIDDEN: 'You don’t have permission to do that.',\n NOT_FOUND: 'We couldn’t find what you were looking for.',\n CONFLICT: 'That action isn’t allowed from the current state.',\n PRECONDITION_FAILED: 'A required setup step is missing. Complete it, then try again.',\n LOCKED: 'Too many attempts. Try again in a few minutes.',\n RATE_LIMITED: 'You’re doing that too often. Wait a moment and try again.',\n SERVICE_UNAVAILABLE: 'This feature is temporarily unavailable. Try again shortly.',\n UNSUPPORTED_CURRENCY: 'That currency isn’t supported.',\n\n IDEMPOTENCY_KEY_REQUIRED: 'Missing request key. Refresh and try again.',\n IDEMPOTENCY_KEY_CONFLICT: 'This request key was already used. Retry with a fresh action.',\n },\n} as const;\n\nexport type ResponseMessages = typeof ResponseMessages;\n"]}
@@ -1,2 +0,0 @@
1
- 'use strict';var chunkFG6EV3WQ_js=require('./chunk-FG6EV3WQ.js'),chunkNIXA33EG_js=require('./chunk-NIXA33EG.js'),chunkCS2PIQZR_js=require('./chunk-CS2PIQZR.js'),chunkBIWZ6BHI_js=require('./chunk-BIWZ6BHI.js'),e=require('zod');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var e__default=/*#__PURE__*/_interopDefault(e);var b=["last7d","last30d","last90d"];var re=e__default.default.object({range:e__default.default.enum([...b,"custom"]).optional(),start:e__default.default.iso.datetime().optional(),end:e__default.default.iso.datetime().optional()}),r=e__default.default.enum(["UPCOMING","LIVE","ENDED","DRAFTS"]),se=e__default.default.object({q:e__default.default.string().trim().min(2).max(120),limit:e__default.default.coerce.number().int().min(1).max(10).default(10)}),le=e__default.default.object({title:e__default.default.string().min(1).max(120).optional(),description:e__default.default.string().max(2e3).optional(),coverImageUrl:e__default.default.any().optional(),previewClipUrl:e__default.default.url().nullable().optional(),ticketPrice:e__default.default.string().optional(),category:chunkCS2PIQZR_js.xa.optional(),scheduledStartLocal:e__default.default.iso.datetime({local:true,offset:false}).optional(),durationMinutes:e__default.default.number().int().positive().optional(),tags:e__default.default.array(e__default.default.string()).optional(),location:e__default.default.string().max(255).optional(),accessModel:e__default.default.enum(["FREE","PAID"]).optional(),currency:chunkCS2PIQZR_js.wa.optional(),maxTickets:e__default.default.number().int().positive().nullable().optional(),visibility:chunkCS2PIQZR_js.ya.optional(),guestEmails:e__default.default.array(e__default.default.email()).optional(),replayAccess:e__default.default.enum(chunkCS2PIQZR_js.a).optional(),replayWindow:e__default.default.number().int().positive().optional(),replayPrice:e__default.default.number().nonnegative().optional(),productionMode:e__default.default.enum(["SELF","HIRE"]).optional(),crewIds:e__default.default.array(e__default.default.uuid()).optional(),productionNotes:e__default.default.string().max(2e3).nullable().optional(),backupStreamEnabled:e__default.default.boolean().optional()}),ce=e__default.default.object({tab:r,...chunkBIWZ6BHI_js.g.shape}),g=e__default.default.object({eventId:e__default.default.string(),title:e__default.default.string(),date:e__default.default.iso.datetime(),ticketsSold:e__default.default.number(),plannedDurationMinutes:e__default.default.number().nullable(),revenue:e__default.default.object({currency:e__default.default.string(),value:e__default.default.string()}),status:e__default.default.enum(["ACTIVE","PAUSED","LIVE","ENDED","DRAFT","CANCELLED"])}),ue=e__default.default.object({tab:r,rows:e__default.default.array(g),...chunkBIWZ6BHI_js.k.shape}),me=e__default.default.object({upcoming:e__default.default.number(),live:e__default.default.number(),ended:e__default.default.number(),drafts:e__default.default.number()}),de=e__default.default.object({title:e__default.default.string().min(3).max(120).optional()}),be=e__default.default.object({tab:r,...chunkBIWZ6BHI_js.g.shape}),pe=e__default.default.object({id:e__default.default.uuid(),state:e__default.default.literal("DRAFT"),wizardStep:e__default.default.number().int().min(1).max(5).nullable()}),ge=e__default.default.object({id:e__default.default.uuid(),wizardStep:e__default.default.number().int().min(1).max(5).nullable(),streamingVerified:e__default.default.boolean().optional(),verificationToken:e__default.default.string().optional(),crewIds:e__default.default.array(e__default.default.uuid()).optional(),crewAssignments:e__default.default.array(e__default.default.object({id:e__default.default.uuid(),producerId:e__default.default.uuid(),role:e__default.default.string(),state:e__default.default.string(),compensation:chunkBIWZ6BHI_js.h,location:e__default.default.string()})).optional()}),Ee=e__default.default.object({id:e__default.default.uuid(),state:e__default.default.literal("SCHEDULED"),publishedAt:e__default.default.iso.datetime().nullable(),bookingIds:e__default.default.array(e__default.default.uuid())}),Se=e__default.default.object({id:e__default.default.uuid(),state:e__default.default.literal("CANCELLED"),cancelledAt:e__default.default.iso.datetime().nullable()}),h=e__default.default.object({amount:chunkBIWZ6BHI_js.h,deltaPct:e__default.default.number().nullable()}),y=e__default.default.object({count:e__default.default.number().int(),nextStartsAt:e__default.default.string().nullable()}),A=e__default.default.object({eventCount:e__default.default.number().int(),totalViewers:e__default.default.number().int()}),R=e__default.default.object({value:e__default.default.number().int(),deltaPct:e__default.default.number().nullable()}),x=e__default.default.object({eventId:e__default.default.uuid(),title:e__default.default.string(),viewers:e__default.default.number().int()}),T=e__default.default.object({eventId:e__default.default.uuid(),title:e__default.default.string(),scheduledStart:e__default.default.string(),canGoLive:e__default.default.boolean()}),E=e__default.default.object({kind:e__default.default.string(),subjectType:e__default.default.enum(["Event","Booking","PaymentIntent","ReplayPurchase"]),subjectId:e__default.default.string(),occurredAt:e__default.default.number().int(),payload:e__default.default.record(e__default.default.string(),e__default.default.unknown()),dedupeId:e__default.default.string()}),ve=e__default.default.object({range:e__default.default.object({start:e__default.default.string(),end:e__default.default.string(),preset:e__default.default.string().optional()}),kpis:e__default.default.object({totalRevenue:h,upcomingEvents:y,liveNow:A,totalViews:R}),live:e__default.default.array(x),upcoming:e__default.default.array(T),activity:e__default.default.array(E)}),he=e__default.default.object({items:e__default.default.array(E),...chunkBIWZ6BHI_js.k.shape}),I=e__default.default.object({eventId:e__default.default.uuid(),title:e__default.default.string(),scheduledStart:e__default.default.string(),state:e__default.default.string()}),ye=e__default.default.object({hits:e__default.default.array(I)}),Ae=e__default.default.object({count:e__default.default.number().int()}),Re=e__default.default.object({tab:r,items:e__default.default.array(g),...chunkBIWZ6BHI_js.k.shape}),j=e__default.default.object({id:e__default.default.uuid(),hostId:e__default.default.uuid(),title:e__default.default.string(),description:e__default.default.string().nullable(),coverImageUrl:e__default.default.string().nullable(),previewClipUrl:e__default.default.string().nullable(),venueLocation:e__default.default.string().nullable(),scheduledStartLocal:e__default.default.string(),scheduledEndLocal:e__default.default.string(),scheduledEnd:e__default.default.iso.datetime(),scheduledStart:e__default.default.iso.datetime(),timezone:e__default.default.string(),expectedAudience:e__default.default.number().int().nullable(),plannedDurationMinutes:e__default.default.number().int().nullable(),visibility:e__default.default.string(),accessModel:e__default.default.string(),ticketPrice:chunkBIWZ6BHI_js.h.nullable(),maxTickets:e__default.default.number().int().nullable(),allowlistData:e__default.default.array(e__default.default.string()),replayAccess:e__default.default.enum(chunkCS2PIQZR_js.a),replayAccessFee:chunkBIWZ6BHI_js.h,retentionDays:e__default.default.number().int(),replayAvailableUntil:e__default.default.string().nullable(),shareableUrl:e__default.default.string().nullable(),state:e__default.default.string(),tags:e__default.default.array(e__default.default.string()),isFeatured:e__default.default.boolean(),createdAt:e__default.default.string(),updatedAt:e__default.default.string(),publishedAt:e__default.default.string().nullable(),liveStartedAt:e__default.default.string().nullable(),liveEndedAt:e__default.default.string().nullable(),cancelledAt:e__default.default.string().nullable(),cancelledReason:e__default.default.string().nullable(),category:e__default.default.string(),wizardStep:e__default.default.number().int().nullable(),productionMode:e__default.default.string().nullable(),productionNotes:e__default.default.string().nullable()}),xe=j.extend({crewIds:e__default.default.array(e__default.default.uuid()),crewAssignments:e__default.default.array(e__default.default.object({id:e__default.default.uuid(),producerId:e__default.default.uuid(),role:e__default.default.string(),state:e__default.default.string(),compensation:chunkBIWZ6BHI_js.h,location:e__default.default.string()})).optional().default([])}),C=e__default.default.enum(["EVENT_DETAILS","PRICING","CREW_ASSIGNED","STREAM_TESTED"]),H=e__default.default.enum(["PASS","WARN","FAIL"]),D=e__default.default.enum(["OPEN_WIZARD_STEP_1","OPEN_WIZARD_STEP_2","OPEN_WIZARD_STEP_3","OPEN_HIRE_CREW","RUN_STREAM_TEST"]),L=e__default.default.enum(["CHECKLIST_INCOMPLETE","BEFORE_WINDOW","AFTER_WINDOW","ALREADY_LIVE","NOT_OWNED"]),N=e__default.default.enum(["NOT_PROVISIONED","READY_FOR_TEST","LIVE","STREAM_TEST_FAILED","STREAM_TEST_SUCCESSFUL"]),p=e__default.default.enum(["SELF","HIRE"]),P=e__default.default.object({id:C,label:e__default.default.string(),state:H,detail:e__default.default.string().optional(),cta:D.optional()}),S=e__default.default.object({progress:e__default.default.number().min(0).max(1),items:e__default.default.array(P),canGoLive:e__default.default.boolean(),blockReason:L.optional()}),Te=e__default.default.object({crewSearch:e__default.default.string().trim().min(2).max(100).optional(),crewState:e__default.default.enum(chunkFG6EV3WQ_js.b).optional()}),v=e__default.default.object({bookingId:e__default.default.string(),producerProfileId:e__default.default.string(),displayName:e__default.default.string(),companyName:e__default.default.string(),producerAvatarUrl:e__default.default.url().nullable(),producerServiceCategoryLabels:e__default.default.array(e__default.default.string()),producerEquipmentLabels:e__default.default.array(e__default.default.string()),producerIsVerified:e__default.default.boolean(),role:e__default.default.string().nullable(),responsibilities:e__default.default.string().nullable(),state:e__default.default.enum(chunkFG6EV3WQ_js.b),confirmedAt:e__default.default.iso.datetime().nullable()}),_=e__default.default.enum(["ACTIVE","PAST"]),Ie=e__default.default.object({phase:_.default("ACTIVE"),eventId:e__default.default.uuid().optional(),crewSearch:e__default.default.string().trim().min(2).max(100).optional(),crewState:e__default.default.enum(chunkFG6EV3WQ_js.b).optional(),...chunkBIWZ6BHI_js.g.shape}),w=v.extend({eventId:e__default.default.uuid(),eventTitle:e__default.default.string()}),f=e__default.default.object({eventId:e__default.default.uuid(),totalViewers:e__default.default.number().int().nonnegative(),uniqueViewers:e__default.default.number().int().nonnegative(),peakConcurrent:e__default.default.number().int().nonnegative(),registeredCount:e__default.default.number().int().nonnegative(),paidCount:e__default.default.number().int().nonnegative(),refundedCount:e__default.default.number().int().nonnegative(),returningViewerCount:e__default.default.number().int().nonnegative().nullable(),highValueBuyerCount:e__default.default.number().int().nonnegative().nullable(),grossRevenue:chunkBIWZ6BHI_js.h,computedAt:e__default.default.iso.datetime(),byDeviceType:e__default.default.record(e__default.default.string(),e__default.default.number()).nullable()}),k=e__default.default.object({eventId:e__default.default.uuid(),totalReplayViewers:e__default.default.number().int().nonnegative(),completedViews:e__default.default.number().int().nonnegative(),avgWatchProgressPct:e__default.default.number().min(0).max(1).nullable(),totalWatchTimeSec:e__default.default.number().int().nonnegative(),activeReplayPurchases:e__default.default.number().int().nonnegative(),replayRevenue:chunkBIWZ6BHI_js.h,computedAt:e__default.default.iso.datetime(),points:e__default.default.array(e__default.default.object({date:e__default.default.string(),viewsCount:e__default.default.number().int().nonnegative(),revenue:chunkBIWZ6BHI_js.h}))}),O=e__default.default.object({audience:f.nullable(),replayPerformance:k.nullable()}),je=e__default.default.object({items:e__default.default.array(w),...chunkBIWZ6BHI_js.k.shape}),Ce=e__default.default.object({serverNow:e__default.default.iso.datetime(),event:e__default.default.object({id:e__default.default.string(),title:e__default.default.string(),description:e__default.default.string().nullable(),coverImageUrl:e__default.default.string().nullable(),scheduledStartLocal:e__default.default.iso.datetime({local:true,offset:false}),scheduledStart:e__default.default.iso.datetime({local:true,offset:false}),scheduledEndLocal:e__default.default.iso.datetime({local:true,offset:false}),scheduledEnd:e__default.default.iso.datetime(),timezone:e__default.default.string(),accessModel:e__default.default.string(),ticketPrice:chunkBIWZ6BHI_js.h.nullable(),shareableUrl:e__default.default.string().nullable(),state:e__default.default.string(),visibility:e__default.default.string(),productionMode:p.nullable(),goLiveEligibleAt:e__default.default.iso.datetime().nullable(),replayAccess:e__default.default.enum(chunkCS2PIQZR_js.a),replayAccessFee:chunkBIWZ6BHI_js.h,retentionDays:e__default.default.number().int(),replayAvailableUntil:e__default.default.string().nullable()}),ticketing:e__default.default.object({totalPayingCapacity:e__default.default.number().int().nullable(),ticketsSold:e__default.default.number().int(),revenue:chunkBIWZ6BHI_js.h,liveRevenue:chunkBIWZ6BHI_js.h,ticketRevenue:chunkBIWZ6BHI_js.h,replayRevenue:chunkBIWZ6BHI_js.h,hostShare:chunkBIWZ6BHI_js.h,platformFee:chunkBIWZ6BHI_js.h}),audience:e__default.default.object({registered:e__default.default.number().int(),watchingNow:e__default.default.number().int().nonnegative(),byCountry:e__default.default.record(e__default.default.string(),e__default.default.number().int()).nullable(),byTrafficSource:e__default.default.record(e__default.default.string(),e__default.default.number().int()).nullable()}),readiness:S,production:e__default.default.object({mode:p,crew:e__default.default.array(v)}),streaming:e__default.default.object({status:N,serverUrl:e__default.default.string().nullable(),streamKey:e__default.default.string().nullable(),lastStreamTestAt:e__default.default.iso.datetime().nullable(),testAvailableAt:e__default.default.iso.datetime().nullable(),lastStreamTestFailedAt:e__default.default.iso.datetime().nullable(),lastStreamTestFailureReason:e__default.default.string().nullable()}),share:e__default.default.object({shareableUrl:e__default.default.string(),slug:e__default.default.string()}),postEvent:O.nullable()}),He=S,De=e__default.default.object({shareableUrl:e__default.default.string(),slug:e__default.default.string(),copyText:e__default.default.string(),channelLinks:e__default.default.object({twitter:e__default.default.string(),facebook:e__default.default.string(),email:e__default.default.string(),embed:e__default.default.string()}),qrCodeDataUrl:e__default.default.string()}),U=e__default.default.enum(["PRE_LIVE","LIVE","ENDED"]),M=e__default.default.enum(["PROCESSING","READY","UNAVAILABLE"]),V=e__default.default.enum(["HEALTHY","DEGRADED","INGEST_DOWN"]),F=e__default.default.enum(["HOST_TERMINATED","HOST_TERMINATED_EARLY","AUTO_AFTER_SILENCE","AUTO_AT_SCHEDULED_END","ADMIN_FORCED"]),W=e__default.default.enum(["AUDIO_QUALITY","VIDEO_QUALITY","BITRATE_DROP","INGEST_DISCONNECTED","INGEST_RECONNECTED","RECORDING_FAILED","STREAM_DENIED"]),G=e__default.default.enum(["INFO","WARN","ERROR"]),z=e__default.default.object({id:e__default.default.string(),title:e__default.default.string(),scheduledStart:e__default.default.iso.datetime(),scheduledEnd:e__default.default.iso.datetime(),scheduledStartLocal:e__default.default.iso.datetime({local:true,offset:false}),scheduledEndLocal:e__default.default.iso.datetime({local:true,offset:false}),state:e__default.default.enum(chunkCS2PIQZR_js.f),currency:e__default.default.string(),accessModel:e__default.default.string()}),B=e__default.default.object({streamEnabled:e__default.default.boolean(),canGoLive:e__default.default.boolean(),canEndLive:e__default.default.boolean(),requiresReauthToEnd:e__default.default.boolean()}),K=e__default.default.object({viewers:e__default.default.number().int(),peakViewers:e__default.default.number().int(),ticketsSold:e__default.default.number().int(),revenue:e__default.default.object({value:e__default.default.string(),currency:e__default.default.string()}),joinedTotal:e__default.default.number().int()}),Q=e__default.default.object({bitrateKbps:e__default.default.number(),resolution:e__default.default.string(),latencyMs:e__default.default.number().nullable(),ingestHealth:V,lastSampleAt:e__default.default.iso.datetime()}),Y=e__default.default.object({bookingId:e__default.default.string(),producerProfileId:e__default.default.string(),displayName:e__default.default.string(),role:e__default.default.string().nullable(),online:e__default.default.boolean()}),q=e__default.default.object({id:e__default.default.string(),kind:W,severity:G,message:e__default.default.string(),startedAt:e__default.default.iso.datetime(),acknowledgedAt:e__default.default.iso.datetime().nullable()}),Z=e__default.default.object({enabled:e__default.default.boolean(),socketNamespace:e__default.default.string(),backfill:e__default.default.array(chunkNIXA33EG_js.f)}),J=e__default.default.object({endedAt:e__default.default.iso.datetime(),endedEarly:e__default.default.boolean(),endedReason:F,replayState:M,replayAvailableAt:e__default.default.iso.datetime().nullable()}),Le=e__default.default.object({serverNow:e__default.default.iso.datetime(),slice:U,event:z,controls:B,metrics:K,telemetry:Q.nullable(),crew:e__default.default.array(Y),alerts:e__default.default.array(q),activity:e__default.default.array(e__default.default.never()),chat:Z,ended:J.nullable(),livePreview:chunkCS2PIQZR_js.Qa.nullable()}),Ne=e__default.default.object({from:e__default.default.iso.datetime().optional(),to:e__default.default.iso.datetime().optional()}),X=e__default.default.object({bucketStart:e__default.default.iso.datetime(),concurrentViewers:e__default.default.number().int().nonnegative(),chatMessages:e__default.default.number().int().nonnegative().nullable(),reactions:e__default.default.number().int().nonnegative().nullable(),bitrateKbps:e__default.default.number().int().nonnegative().nullable(),ingestHealth:e__default.default.enum(["HEALTHY","DEGRADED","INGEST_DOWN"]).nullable(),resolution:e__default.default.string().nullable()}),Pe=e__default.default.object({eventId:e__default.default.uuid(),from:e__default.default.iso.datetime(),to:e__default.default.iso.datetime(),granularity:e__default.default.literal("minute"),buckets:e__default.default.array(X)});exports.$=q;exports.A=N;exports.B=p;exports.C=P;exports.D=S;exports.E=Te;exports.F=v;exports.G=_;exports.H=Ie;exports.I=w;exports.J=f;exports.K=k;exports.L=O;exports.M=je;exports.N=Ce;exports.O=He;exports.P=De;exports.Q=U;exports.R=M;exports.S=V;exports.T=F;exports.U=W;exports.V=G;exports.W=z;exports.X=B;exports.Y=K;exports.Z=Q;exports._=Y;exports.a=b;exports.aa=Z;exports.b=re;exports.ba=J;exports.c=r;exports.ca=Le;exports.d=se;exports.da=Ne;exports.e=le;exports.ea=X;exports.f=ce;exports.fa=Pe;exports.g=g;exports.h=ue;exports.i=me;exports.j=de;exports.k=be;exports.l=pe;exports.m=ge;exports.n=Ee;exports.o=Se;exports.p=ve;exports.q=he;exports.r=I;exports.s=ye;exports.t=Ae;exports.u=Re;exports.v=j;exports.w=xe;exports.x=C;exports.y=H;exports.z=L;//# sourceMappingURL=chunk-KPI67QFO.js.map
2
- //# sourceMappingURL=chunk-KPI67QFO.js.map