@livdot-tech/contracts 1.6.0 → 1.6.2

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.
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/auth/auth.enums.ts","../src/auth/auth.schemas.ts"],"names":["IdentityProvider","LinkRequiredReasonEnum","OauthResolveKind","PASSWORD_REGEX","RegisterRequestSchema","z","UserRole","RegisterResponseSchema","LoginRequestSchema","VerifyOtpRequestSchema","ResendOtpRequestSchema","VerifyOtpResponseSchema","LoginResponseSchema","RefreshTokenRequestSchema","LogoutRequestSchema","ForgotPasswordRequestSchema","ForgotPasswordResponseSchema","ResetPasswordRequestSchema","ChangePasswordRequestSchema","CognitoTokenPayloadSchema","OauthStartQuerySchema","OauthStartResponseSchema","OauthExchangeRequestSchema","OauthDirectTokenRequestSchema","OauthLinkCompleteRequestSchema","v","OauthLinkSendOtpRequestSchema","LinkRequiredResponseSchema","OauthLinkSendOtpResponseSchema","ProvidersListItemSchema","ProvidersListResponseSchema","OauthLinkCompleteEmailRequestSchema","ConfirmPasswordSchema","ReauthTokenResponseSchema"],"mappings":"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","file":"chunk-TLH4NZ36.js","sourcesContent":["export const IdentityProvider = {\n GOOGLE: 'GOOGLE',\n APPLE: 'APPLE',\n FACEBOOK: 'FACEBOOK',\n TWITTER: 'TWITTER',\n} as const;\nexport type IdentityProvider = (typeof IdentityProvider)[keyof typeof IdentityProvider];\nexport const LinkRequiredReasonEnum = {\n EMAIL_MATCH: 'email_match',\n EMAIL_MISS: 'email_missing',\n} as const;\nexport type LinkRequiredReasonEnum =\n (typeof LinkRequiredReasonEnum)[keyof typeof LinkRequiredReasonEnum];\nexport const OauthResolveKind = {\n SIGNED_IN: 'signed_in',\n SIGNED_UP: 'signed_up',\n LINK_REQUIRED: 'link_required',\n} as const;\nexport type OauthResolveKind = (typeof OauthResolveKind)[keyof typeof OauthResolveKind];\n","import { z } from 'zod';\nimport { UserRole } from '../user';\nimport { IdentityProvider, LinkRequiredReasonEnum } from './auth.enums';\n\nconst PASSWORD_REGEX = new RegExp(\n '^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[ !\"#$%&\\'()*+,-./:;<=>?@[\\\\]^_`{|}~]).{8,}$',\n);\n\n/**\n * Zod schema for registration request.\n */\nexport const RegisterRequestSchema = z.object({\n email: z.email().toLowerCase(),\n password: z.string().min(8).regex(PASSWORD_REGEX),\n firstName: z.string(),\n lastName: z.string(),\n role: z.enum(UserRole).optional(),\n});\n\n/**\n * Zod schema for registration response.\n */\nexport const RegisterResponseSchema = z.object({\n username: z.string(),\n reference: z.string(),\n role: z.enum(UserRole).optional(),\n});\n\n/**\n * Zod schema for login request.\n */\nexport const LoginRequestSchema = z.object({\n email: z.email().toLowerCase(),\n password: z.string().min(8).regex(PASSWORD_REGEX),\n role: z.enum(UserRole).optional(),\n});\n\nexport const VerifyOtpRequestSchema = z.object({\n otp: z.string().length(4),\n reference: z.string(),\n type: z.enum(['registration', 'passwordReset']),\n});\n\nexport const ResendOtpRequestSchema = z.object({\n reference: z.string(),\n type: z.enum(['registration', 'passwordReset']),\n});\n\nexport const VerifyOtpResponseSchema = z.object({\n isValid: z.boolean(),\n message: z.string(),\n reference: z.string().optional(),\n});\n\n/**\n * Zod schema for login response.\n */\nexport const LoginResponseSchema = z.object({\n AccessToken: z.string(),\n RefreshToken: z.string(),\n IdToken: z.string(),\n ExpiresIn: z.number(),\n TokenType: z.literal('Bearer'),\n});\n\n/**\n * Zod schema for refresh token request.\n */\nexport const RefreshTokenRequestSchema = z.object({\n refreshToken: z.string(),\n});\n\nexport const LogoutRequestSchema = z.object({\n refreshToken: z.string(),\n accessToken: z.string(),\n});\n\n/**\n * Zod schema for forgot password request.\n */\nexport const ForgotPasswordRequestSchema = z.object({\n email: z.email().toLowerCase(),\n});\n\nexport const ForgotPasswordResponseSchema = z.object({\n destination: z.string(),\n deliveryMedium: z.string(),\n attributeName: z.string(),\n});\n\n/**\n * Zod schema for reset password request.\n */\nexport const ResetPasswordRequestSchema = z.object({\n token: z.string(),\n newPassword: z.string().min(8).regex(PASSWORD_REGEX),\n});\n\n/**\n * Zod schema for change password request.\n */\nexport const ChangePasswordRequestSchema = z.object({\n currentPassword: z.string().min(8).regex(PASSWORD_REGEX),\n newPassword: z.string().min(8).regex(PASSWORD_REGEX),\n});\n\n/**\n * Zod schema for AWS Cognito token payload.\n */\nexport const CognitoTokenPayloadSchema = z.object({\n sub: z.string(),\n email: z.email().toLowerCase(),\n role: z.enum(UserRole), // Bitmask\n iat: z.number(),\n exp: z.number(),\n});\nexport const OauthStartQuerySchema = z.object({\n redirectTo: z.string().min(1).max(2048).optional(),\n});\n\nexport const OauthStartResponseSchema = z.object({\n authorizeUrl: z.url(),\n});\n\nexport const OauthExchangeRequestSchema = z.object({\n handoff: z.string().min(16).max(128),\n});\n\nexport const OauthDirectTokenRequestSchema = z.object({\n idToken: z.string().min(1).max(8192),\n nonce: z.string().min(8).max(256),\n authorizationCode: z.string().min(1).max(1024).optional(),\n user: z\n .object({\n name: z\n .object({\n firstName: z.string().max(128).nullable().optional(),\n lastName: z.string().max(128).nullable().optional(),\n })\n .optional(),\n })\n .optional(),\n});\n\nexport const OauthLinkCompleteRequestSchema = z\n .object({\n linkHandoff: z.string().min(16).max(128),\n password: z.string().min(8).regex(PASSWORD_REGEX).optional(),\n otpReference: z.string().min(1).max(128).optional(),\n otp: z.string().min(4).max(12).optional(),\n })\n .refine(\n (v) => (v.password ? true : v.otpReference && v.otp),\n 'either `password` OR (`otpReference` AND `otp`) must be provided',\n );\n\nexport const OauthLinkSendOtpRequestSchema = z.object({\n linkHandoff: z.string().min(16).max(128),\n});\n\nexport const LinkRequiredResponseSchema = z.object({\n kind: z.literal('link_required'),\n reason: z.enum(LinkRequiredReasonEnum),\n linkHandoff: z.string(),\n maskedEmail: z.string(),\n hasPassword: z.boolean(),\n provider: z.enum(IdentityProvider),\n});\n\nexport const OauthLinkSendOtpResponseSchema = z.object({\n otpReference: z.string(),\n});\n\nexport const ProvidersListItemSchema = z.object({\n name: z.enum(IdentityProvider),\n enabled: z.boolean(),\n canSignUp: z.boolean(),\n});\n\nexport const ProvidersListResponseSchema = z.object({\n providers: z.array(ProvidersListItemSchema),\n});\n\nexport const OauthLinkCompleteEmailRequestSchema = z.object({\n linkHandoff: z.string().min(16).max(128),\n email: z.email().max(320),\n});\n\nexport const ConfirmPasswordSchema = z.object({\n password: z.string().min(8).regex(PASSWORD_REGEX),\n});\n\nexport const ReauthTokenResponseSchema = z.object({\n reauthToken: z.string(),\n expiresAt: z.iso.datetime(), // ISO date string ;\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/booking/booking.enums.ts","../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"],"names":["BookingOrigin","BookingState","JobListingState","IoiState","BookingPaymentStatus","BookingTransitionActor","BOOKING_TERMINAL_STATES","DISPUTE_EXCLUDED_FROM","VALID_BOOKING_TRANSITIONS","BOOKING_TRANSITION_ACTORS","BOOKING_TRANSITION_TARGETS_REQUIRING_REASON","bookingTransitionKey","from","to","getAllowedBookingTargetStates","base","isValidBookingTransition","getBookingTransitionActors","canActorPerformBookingTransition","actor","bookingTransitionRequiresReason","_from","CreateBookingRequestSchema","z","ConfirmBookingRequestSchema","BookingResponseSchema","CreateJobListingRequestSchema","JobListingResponseSchema","SubmitIndicationOfInterestRequestSchema","IndicationOfInterestResponseSchema","JobLocation","jsonRecordSchema","CreateMarketplaceBookingRequestSchema","MarketplaceBookingResponseSchema","CreateMarketplaceBookingResponseSchema","bookingTransitionReasonSchema","TransitionMarketplaceBookingRequestSchema","data","ctx","TransitionMarketplaceBookingResponseSchema","MarketplaceJobListingBodySchema","CreateMarketplaceJobListingRequestSchema","UpdateMarketplaceJobListingRequestSchema","ListMarketplaceJobListingsQuerySchema","PaginationParamsSchema","MarketplaceJobListingResponseSchema","SubmitMarketplaceIndicationOfInterestRequestSchema","MarketplaceIndicationOfInterestResponseSchema","JobInterestState","MarketplaceIndicationOfInterestHostItemSchema","MessageDeliveryStatus","MarketplaceHiringThreadSchema","MarketplaceHiringMessageAttachmentSchema","MarketplaceHiringMessageSchema","ListMarketplaceHiringThreadMessagesQuerySchema","ListMarketplaceHiringThreadMessagesResponseSchema","PaginationResponseSchema","GetMarketplaceHiringThreadResponseSchema","PostMarketplaceHiringThreadMessageRequestSchema","PostMarketplaceHiringThreadMessageResponseSchema","MarkMarketplaceHiringThreadReadRequestSchema","MarkMarketplaceHiringThreadReadResponseSchema","GetMarketplaceJobListingThreadQuerySchema"],"mappings":"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","file":"chunk-YTKSEZDS.mjs","sourcesContent":["export const BookingOrigin = {\n EVENT_DIRECT: 'EVENT_DIRECT',\n MARKETPLACE_DIRECT: 'MARKETPLACE_DIRECT',\n JOB_LISTING: 'JOB_LISTING',\n} as const;\nexport type BookingOrigin = (typeof BookingOrigin)[keyof typeof BookingOrigin];\n\nexport const BookingState = {\n REQUESTED: 'REQUESTED',\n AWAITING_PRODUCER_RESPONSE: 'AWAITING_PRODUCER_RESPONSE',\n IN_NEGOTIATION: 'IN_NEGOTIATION',\n ACCEPTED: 'ACCEPTED',\n REJECTED: 'REJECTED',\n CANCELLED: 'CANCELLED',\n AWAITING_ESCROW_FUNDING: 'AWAITING_ESCROW_FUNDING',\n CONFIRMED: 'CONFIRMED',\n IN_PROGRESS: 'IN_PROGRESS',\n SERVICE_COMPLETED: 'SERVICE_COMPLETED',\n IN_DISPUTE: 'IN_DISPUTE',\n CLOSED: 'CLOSED',\n} as const;\nexport type BookingState = (typeof BookingState)[keyof typeof BookingState];\n\nexport const JobListingState = {\n OPEN: 'OPEN',\n CLOSED: 'CLOSED',\n SUSPENDED: 'SUSPENDED',\n} as const;\nexport type JobListingState = (typeof JobListingState)[keyof typeof JobListingState];\n\nexport const IoiState = {\n OPEN: 'OPEN',\n WITHDRAWN: 'WITHDRAWN',\n SELECTED: 'SELECTED',\n REJECTED: 'REJECTED',\n} as const;\nexport type IoiState = (typeof IoiState)[keyof typeof IoiState];\n\n/**\n * Enum for booking payment status.\n */\nexport const BookingPaymentStatus = {\n PENDING: 'PENDING',\n ESCROW_FUNDED: 'ESCROW_FUNDED',\n RELEASED: 'RELEASED',\n REFUNDED: 'REFUNDED',\n FAILED: 'FAILED',\n} as const;\nexport type BookingPaymentStatus = (typeof BookingPaymentStatus)[keyof typeof BookingPaymentStatus];\n\n/** Actor that may trigger a booking state transition (RBAC). */\nexport const BookingTransitionActor = {\n HOST: 'HOST',\n PRODUCER: 'PRODUCER',\n ADMIN: 'ADMIN',\n SYSTEM: 'SYSTEM',\n} as const;\nexport type BookingTransitionActor =\n (typeof BookingTransitionActor)[keyof typeof BookingTransitionActor];\n","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.REQUESTED]: [BookingState.AWAITING_PRODUCER_RESPONSE, BookingState.CANCELLED],\n [BookingState.AWAITING_PRODUCER_RESPONSE]: [\n BookingState.IN_NEGOTIATION,\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],\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.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.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.IN_PROGRESS}->${BookingState.SERVICE_COMPLETED}`]: [\n BookingTransitionActor.PRODUCER,\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 IoiState,\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 serviceDetails: z\n .object({\n requiredDate: z.iso.datetime(),\n location: z.string(),\n eventType: z.string(),\n estimatedDurationHrs: z.number(),\n notes: z.string().optional(),\n })\n .optional(),\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 hostRating: z.number().optional(),\n hostReview: z.string().optional(),\n producerRating: z.number().optional(),\n producerReview: z.string().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 estimatedDurationHrs: z.number().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 estimatedDurationHrs: z.number().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\nexport const SubmitIndicationOfInterestRequestSchema = z.object({\n coverMessage: z.string().optional(),\n proposedAmount: z.number().min(0).optional(),\n availabilityNotes: z.string().optional(),\n});\n\nexport const IndicationOfInterestResponseSchema = z.object({\n id: z.uuid(),\n jobListingId: z.uuid(),\n producerProfileId: z.uuid(),\n coverMessage: z.string().optional(),\n proposedAmount: z.number().optional(),\n state: z.enum(IoiState),\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","import { z } from 'zod';\nimport { JobInterestState } from '../joblisting/listing.enum';\nimport { BookingOrigin, BookingState, JobListingState } from './booking.enums';\nimport { JobLocation } from './hiring.enums';\nimport { PaginationParamsSchema } from '../common';\n\nconst jsonRecordSchema = z.record(z.string(), z.unknown());\n\n/** `POST /marketplace/bookings` */\nexport const CreateMarketplaceBookingRequestSchema = z.object({\n producerId: z.uuid(),\n origin: z.enum(BookingOrigin),\n eventId: z.uuid().optional(),\n jobListingId: z.uuid().optional(),\n agreedAmount: z.coerce.number().nonnegative().optional(),\n scopeOfWork: z.string().max(5000).optional(),\n});\n\nexport const MarketplaceBookingResponseSchema = z.object({\n id: z.uuid(),\n eventId: z.uuid().nullable(),\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 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\nconst MarketplaceJobListingBodySchema = z.object({\n title: z.string().min(1).max(200),\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 requiredDate: z.iso.datetime().optional(),\n estimatedDurationHours: 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\n/** `POST /marketplace/job-listings` */\nexport const CreateMarketplaceJobListingRequestSchema = MarketplaceJobListingBodySchema;\n\nexport const UpdateMarketplaceJobListingRequestSchema = MarketplaceJobListingBodySchema.partial();\n\nexport const ListMarketplaceJobListingsQuerySchema = z.object({\n ...PaginationParamsSchema.shape,\n location: z.enum(JobLocation).optional(),\n});\n\nexport const MarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n hostProfileId: z.uuid(),\n eventId: z.uuid().nullable(),\n title: z.string(),\n notes: z.string().nullable(),\n description: z.string(),\n responsibilities: z.string(),\n requirements: z.string(),\n role: z.string(),\n requiredDate: z.string().nullable(),\n estimatedDurationHours: z.number().int().nullable(),\n location: z.enum(JobLocation),\n compensation: z.number().nullable(),\n attachments: z.unknown().nullable(),\n state: z.enum(JobListingState),\n proposalCount: z.number().int(),\n createdAt: z.string(),\n updatedAt: z.string(),\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 proposedAmount: z.number().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","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 { 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().nullable(),\n jobListingId: z.uuid().nullable(),\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\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\nexport const GetMarketplaceJobListingThreadQuerySchema = z.object({\n producerProfileId: z.uuid().optional(),\n ...PaginationParamsSchema.shape,\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/booking/booking.enums.ts","../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"],"names":["BookingOrigin","BookingState","JobListingState","IoiState","BookingPaymentStatus","BookingTransitionActor","BOOKING_TERMINAL_STATES","DISPUTE_EXCLUDED_FROM","VALID_BOOKING_TRANSITIONS","BOOKING_TRANSITION_ACTORS","BOOKING_TRANSITION_TARGETS_REQUIRING_REASON","bookingTransitionKey","from","to","getAllowedBookingTargetStates","base","isValidBookingTransition","getBookingTransitionActors","canActorPerformBookingTransition","actor","bookingTransitionRequiresReason","_from","CreateBookingRequestSchema","z","ConfirmBookingRequestSchema","BookingResponseSchema","CreateJobListingRequestSchema","JobListingResponseSchema","SubmitIndicationOfInterestRequestSchema","IndicationOfInterestResponseSchema","JobLocation","jsonRecordSchema","CreateMarketplaceBookingRequestSchema","MarketplaceBookingResponseSchema","CreateMarketplaceBookingResponseSchema","bookingTransitionReasonSchema","TransitionMarketplaceBookingRequestSchema","data","ctx","TransitionMarketplaceBookingResponseSchema","MarketplaceJobListingBodySchema","CreateMarketplaceJobListingRequestSchema","UpdateMarketplaceJobListingRequestSchema","ListMarketplaceJobListingsQuerySchema","PaginationParamsSchema","MarketplaceJobListingResponseSchema","SubmitMarketplaceIndicationOfInterestRequestSchema","MarketplaceIndicationOfInterestResponseSchema","JobInterestState","MarketplaceIndicationOfInterestHostItemSchema","MessageDeliveryStatus","MarketplaceHiringThreadSchema","MarketplaceHiringMessageAttachmentSchema","MarketplaceHiringMessageSchema","ListMarketplaceHiringThreadMessagesQuerySchema","ListMarketplaceHiringThreadMessagesResponseSchema","PaginationResponseSchema","GetMarketplaceHiringThreadResponseSchema","PostMarketplaceHiringThreadMessageRequestSchema","PostMarketplaceHiringThreadMessageResponseSchema","MarkMarketplaceHiringThreadReadRequestSchema","MarkMarketplaceHiringThreadReadResponseSchema","GetMarketplaceJobListingThreadQuerySchema"],"mappings":"oIAAO,IAAMA,CAAAA,CAAgB,CAC3B,YAAA,CAAc,cAAA,CACd,mBAAoB,oBAAA,CACpB,WAAA,CAAa,aACf,CAAA,CAGaC,CAAAA,CAAe,CAC1B,UAAW,WAAA,CACX,0BAAA,CAA4B,4BAAA,CAC5B,cAAA,CAAgB,gBAAA,CAChB,QAAA,CAAU,WACV,QAAA,CAAU,UAAA,CACV,SAAA,CAAW,WAAA,CACX,uBAAA,CAAyB,yBAAA,CACzB,UAAW,WAAA,CACX,WAAA,CAAa,cACb,iBAAA,CAAmB,mBAAA,CACnB,WAAY,YAAA,CACZ,MAAA,CAAQ,QACV,CAAA,CAGaC,CAAAA,CAAkB,CAC7B,KAAM,MAAA,CACN,MAAA,CAAQ,QAAA,CACR,SAAA,CAAW,WACb,CAAA,CAGaC,EAAW,CACtB,IAAA,CAAM,MAAA,CACN,SAAA,CAAW,WAAA,CACX,QAAA,CAAU,WACV,QAAA,CAAU,UACZ,EAMaC,CAAAA,CAAuB,CAClC,QAAS,SAAA,CACT,aAAA,CAAe,eAAA,CACf,QAAA,CAAU,UAAA,CACV,QAAA,CAAU,WACV,MAAA,CAAQ,QACV,CAAA,CAIaC,CAAAA,CAAyB,CACpC,IAAA,CAAM,OACN,QAAA,CAAU,UAAA,CACV,KAAA,CAAO,OAAA,CACP,MAAA,CAAQ,QACV,ECpDO,IAAMC,CAAAA,CAAmD,CAC9DL,CAAAA,CAAa,QAAA,CACbA,EAAa,SAAA,CACbA,CAAAA,CAAa,MACf,CAAA,CAEMM,CAAAA,CAAiD,CACrD,GAAGD,CAAAA,CACHL,CAAAA,CAAa,UACf,CAAA,CAGaO,CAAAA,CAA2E,CACtF,CAACP,CAAAA,CAAa,SAAS,EAAG,CAACA,CAAAA,CAAa,0BAAA,CAA4BA,EAAa,SAAS,CAAA,CAC1F,CAACA,CAAAA,CAAa,0BAA0B,EAAG,CACzCA,CAAAA,CAAa,cAAA,CACbA,CAAAA,CAAa,QAAA,CACbA,CAAAA,CAAa,SACf,CAAA,CACA,CAACA,CAAAA,CAAa,cAAc,EAAG,CAC7BA,EAAa,QAAA,CACbA,CAAAA,CAAa,QAAA,CACbA,CAAAA,CAAa,SACf,CAAA,CACA,CAACA,CAAAA,CAAa,QAAQ,EAAG,CAACA,CAAAA,CAAa,wBAAyBA,CAAAA,CAAa,SAAS,CAAA,CACtF,CAACA,CAAAA,CAAa,uBAAuB,EAAG,CAACA,CAAAA,CAAa,SAAA,CAAWA,CAAAA,CAAa,SAAS,CAAA,CACvF,CAACA,CAAAA,CAAa,SAAS,EAAG,CAACA,CAAAA,CAAa,WAAW,EACnD,CAACA,CAAAA,CAAa,WAAW,EAAG,CAACA,EAAa,iBAAA,CAAmBA,CAAAA,CAAa,SAAS,CAAA,CACnF,CAACA,CAAAA,CAAa,iBAAiB,EAAG,CAACA,CAAAA,CAAa,MAAM,CAAA,CACtD,CAACA,EAAa,UAAU,EAAG,CAACA,CAAAA,CAAa,MAAM,CAAA,CAC/C,CAACA,CAAAA,CAAa,QAAQ,EAAG,EAAC,CAC1B,CAACA,EAAa,SAAS,EAAG,EAAC,CAC3B,CAACA,CAAAA,CAAa,MAAM,EAAG,EACzB,CAAA,CAGaQ,CAAAA,CAET,CACF,CAAC,CAAA,EAAGR,CAAAA,CAAa,SAAS,CAAA,EAAA,EAAKA,CAAAA,CAAa,0BAA0B,EAAE,EAAG,CACzEI,EAAuB,IAAA,CACvBA,CAAAA,CAAuB,MACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,SAAS,CAAA,EAAA,EAAKA,EAAa,SAAS,CAAA,CAAE,EAAG,CAACI,CAAAA,CAAuB,IAAI,EACtF,CAAC,CAAA,EAAGJ,CAAAA,CAAa,0BAA0B,CAAA,EAAA,EAAKA,CAAAA,CAAa,cAAc,CAAA,CAAE,EAAG,CAC9EI,CAAAA,CAAuB,QACzB,EACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,0BAA0B,CAAA,EAAA,EAAKA,CAAAA,CAAa,QAAQ,CAAA,CAAE,EAAG,CACxEI,CAAAA,CAAuB,QACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,0BAA0B,CAAA,EAAA,EAAKA,CAAAA,CAAa,SAAS,EAAE,EAAG,CACzEI,EAAuB,IAAA,CACvBA,CAAAA,CAAuB,QACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,cAAc,CAAA,EAAA,EAAKA,EAAa,QAAQ,CAAA,CAAE,EAAG,CAC5DI,CAAAA,CAAuB,IAAA,CACvBA,EAAuB,QACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,cAAc,KAAKA,CAAAA,CAAa,QAAQ,CAAA,CAAE,EAAG,CAC5DI,CAAAA,CAAuB,KACvBA,CAAAA,CAAuB,QACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,cAAc,CAAA,EAAA,EAAKA,CAAAA,CAAa,SAAS,CAAA,CAAE,EAAG,CAC7DI,EAAuB,IAAA,CACvBA,CAAAA,CAAuB,QACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,EAAa,QAAQ,CAAA,EAAA,EAAKA,EAAa,uBAAuB,CAAA,CAAE,EAAG,CACrEI,CAAAA,CAAuB,IAAA,CACvBA,CAAAA,CAAuB,MACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,QAAQ,CAAA,EAAA,EAAKA,CAAAA,CAAa,SAAS,EAAE,EAAG,CACvDI,CAAAA,CAAuB,IAAA,CACvBA,CAAAA,CAAuB,QACzB,EACA,CAAC,CAAA,EAAGJ,EAAa,uBAAuB,CAAA,EAAA,EAAKA,EAAa,SAAS,CAAA,CAAE,EAAG,CACtEI,CAAAA,CAAuB,MAAA,CACvBA,EAAuB,KACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,uBAAuB,KAAKA,CAAAA,CAAa,SAAS,CAAA,CAAE,EAAG,CACtEI,CAAAA,CAAuB,KACvBA,CAAAA,CAAuB,KACzB,EACA,CAAC,CAAA,EAAGJ,EAAa,SAAS,CAAA,EAAA,EAAKA,CAAAA,CAAa,WAAW,CAAA,CAAE,EAAG,CAC1DI,CAAAA,CAAuB,IAAA,CACvBA,CAAAA,CAAuB,QAAA,CACvBA,CAAAA,CAAuB,KACzB,EACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,WAAW,CAAA,EAAA,EAAKA,CAAAA,CAAa,iBAAiB,CAAA,CAAE,EAAG,CAClEI,CAAAA,CAAuB,QACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,WAAW,CAAA,EAAA,EAAKA,CAAAA,CAAa,SAAS,EAAE,EAAG,CAC1DI,CAAAA,CAAuB,IAAA,CACvBA,CAAAA,CAAuB,KACzB,EACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,iBAAiB,CAAA,EAAA,EAAKA,CAAAA,CAAa,MAAM,CAAA,CAAE,EAAG,CAC7DI,CAAAA,CAAuB,IAAA,CACvBA,EAAuB,KAAA,CACvBA,CAAAA,CAAuB,MACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,EAAa,UAAU,CAAA,EAAA,EAAKA,CAAAA,CAAa,MAAM,CAAA,CAAE,EAAG,CACtDI,CAAAA,CAAuB,KAAA,CACvBA,CAAAA,CAAuB,IACzB,CACF,CAAA,CAGaK,EAAuE,CAClFT,CAAAA,CAAa,SACbA,CAAAA,CAAa,SAAA,CACbA,EAAa,UACf,EAEO,SAASU,CAAAA,CAAqBC,CAAAA,CAAoBC,CAAAA,CAAwC,CAC/F,OAAO,CAAA,EAAGD,CAAI,CAAA,EAAA,EAAKC,CAAE,CAAA,CACvB,CAEO,SAASC,CAAAA,CAA8BF,CAAAA,CAA6C,CACzF,IAAMG,CAAAA,CAAOP,EAA0BI,CAAI,CAAA,EAAK,EAAC,CACjD,OAAKL,EAAsB,QAAA,CAASK,CAAI,CAAA,CAGjCG,CAAAA,CAFE,CAAC,GAAGA,EAAMd,CAAAA,CAAa,UAAU,CAG5C,CAEO,SAASe,CAAAA,CAAyBJ,EAAoBC,CAAAA,CAA2B,CACtF,OAAOC,CAAAA,CAA8BF,CAAI,CAAA,CAAE,SAASC,CAAE,CACxD,CAEO,SAASI,CAAAA,CACdL,CAAAA,CACAC,EACmC,CACnC,OAAIA,CAAAA,GAAOZ,CAAAA,CAAa,UAAA,EAAc,CAACM,EAAsB,QAAA,CAASK,CAAI,CAAA,CACjE,CAACP,CAAAA,CAAuB,IAAA,CAAMA,EAAuB,QAAQ,CAAA,CAE/DI,CAAAA,CAA0BE,CAAAA,CAAqBC,CAAAA,CAAMC,CAAE,CAAC,CAAA,EAAK,EACtE,CAEO,SAASK,EACdN,CAAAA,CACAC,CAAAA,CACAM,CAAAA,CACS,CACT,OAAOF,CAAAA,CAA2BL,EAAMC,CAAE,CAAA,CAAE,QAAA,CAASM,CAAK,CAC5D,CAEO,SAASC,CAAAA,CAAgCC,CAAAA,CAAqBR,CAAAA,CAA2B,CAC9F,OAAOH,CAAAA,CAA4C,SAASG,CAAE,CAChE,CC/IO,IAAMS,CAAAA,CAA6BC,KAAAA,CAAE,MAAA,CAAO,CACjD,OAAQA,KAAAA,CAAE,IAAA,CAAKvB,CAAa,CAAA,CAC5B,OAAA,CAASuB,KAAAA,CAAE,MAAK,CAAE,QAAA,EAAS,CAC3B,UAAA,CAAYA,KAAAA,CAAE,IAAA,GACd,YAAA,CAAcA,KAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAC9B,cAAA,CAAgBA,KAAAA,CACb,MAAA,CAAO,CACN,YAAA,CAAcA,MAAE,GAAA,CAAI,QAAA,EAAS,CAC7B,QAAA,CAAUA,KAAAA,CAAE,MAAA,GACZ,SAAA,CAAWA,KAAAA,CAAE,MAAA,EAAO,CACpB,oBAAA,CAAsBA,KAAAA,CAAE,QAAO,CAC/B,KAAA,CAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EACpB,CAAC,CAAA,CACA,QAAA,EACL,CAAC,CAAA,CAEYC,EAA8BD,KAAAA,CAAE,MAAA,CAAO,CAClD,eAAA,CAAiBA,KAAAA,CAAE,MAAA,EACrB,CAAC,CAAA,CAEYE,CAAAA,CAAwBF,KAAAA,CAAE,MAAA,CAAO,CAC5C,GAAIA,KAAAA,CAAE,IAAA,GACN,OAAA,CAASA,KAAAA,CAAE,MAAK,CAAE,QAAA,EAAS,CAC3B,MAAA,CAAQA,KAAAA,CAAE,IAAA,GACV,UAAA,CAAYA,KAAAA,CAAE,IAAA,EAAK,CACnB,WAAA,CAAaA,KAAAA,CAAE,QAAO,CACtB,QAAA,CAAUA,KAAAA,CAAE,MAAA,EAAO,CACnB,WAAA,CAAaA,MAAE,MAAA,CAAOA,KAAAA,CAAE,QAAO,CAAGA,KAAAA,CAAE,KAAK,CAAA,CAAE,QAAA,EAAS,CACpD,eAAA,CAAiBA,KAAAA,CAAE,IAAI,QAAA,EAAS,CAChC,aAAA,CAAeA,KAAAA,CAAE,GAAA,CAAI,QAAA,GACrB,YAAA,CAAcA,KAAAA,CAAE,IAAA,CAAKtB,CAAY,CAAA,CACjC,aAAA,CAAesB,MAAE,IAAA,CAAKnB,CAAoB,EAC1C,eAAA,CAAiBmB,KAAAA,CAAE,QAAO,CAAE,QAAA,EAAS,CACrC,WAAA,CAAaA,KAAAA,CAAE,GAAA,CAAI,UAAS,CAAE,QAAA,EAAS,CACvC,UAAA,CAAYA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAChC,UAAA,CAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CAChC,cAAA,CAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAC3B,cAAA,CAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CACpC,UAAWA,KAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CAC1B,SAAA,CAAWA,KAAAA,CAAE,IAAI,QAAA,EACnB,CAAC,CAAA,CAEYG,CAAAA,CAAgCH,KAAAA,CAAE,OAAO,CACpD,KAAA,CAAOA,MAAE,MAAA,EAAO,CAAE,IAAI,GAAG,CAAA,CACzB,WAAA,CAAaA,KAAAA,CAAE,MAAA,EAAO,CACtB,aAAcA,KAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CAC7B,oBAAA,CAAsBA,KAAAA,CAAE,QAAO,CAAE,QAAA,EAAS,CAC1C,QAAA,CAAUA,KAAAA,CAAE,MAAA,GACZ,cAAA,CAAgBA,KAAAA,CAAE,QAAO,CAAE,QAAA,GAC3B,cAAA,CAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAC7B,CAAC,CAAA,CAEYI,CAAAA,CAA2BJ,KAAAA,CAAE,MAAA,CAAO,CAC/C,EAAA,CAAIA,MAAE,IAAA,EAAK,CACX,aAAA,CAAeA,KAAAA,CAAE,IAAA,EAAK,CACtB,QAASA,KAAAA,CAAE,IAAA,GAAO,QAAA,EAAS,CAC3B,MAAOA,KAAAA,CAAE,MAAA,EAAO,CAChB,WAAA,CAAaA,KAAAA,CAAE,MAAA,GACf,YAAA,CAAcA,KAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CAC7B,oBAAA,CAAsBA,MAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAC1C,QAAA,CAAUA,KAAAA,CAAE,QAAO,CACnB,cAAA,CAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAC3B,cAAA,CAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CACpC,MAAOA,KAAAA,CAAE,IAAA,CAAKrB,CAAe,CAAA,CAC7B,aAAA,CAAeqB,KAAAA,CAAE,QAAO,CACxB,SAAA,CAAWA,KAAAA,CAAE,GAAA,CAAI,QAAA,EACnB,CAAC,CAAA,CAEYK,CAAAA,CAA0CL,MAAE,MAAA,CAAO,CAC9D,aAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAClC,cAAA,CAAgBA,MAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,GAClC,iBAAA,CAAmBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAChC,CAAC,CAAA,CAEYM,CAAAA,CAAqCN,MAAE,MAAA,CAAO,CACzD,GAAIA,KAAAA,CAAE,IAAA,EAAK,CACX,YAAA,CAAcA,KAAAA,CAAE,IAAA,GAChB,iBAAA,CAAmBA,KAAAA,CAAE,IAAA,EAAK,CAC1B,YAAA,CAAcA,KAAAA,CAAE,QAAO,CAAE,QAAA,EAAS,CAClC,cAAA,CAAgBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CACpC,MAAOA,KAAAA,CAAE,IAAA,CAAKpB,CAAQ,CAAA,CACtB,SAAA,CAAWoB,KAAAA,CAAE,GAAA,CAAI,QAAA,EACnB,CAAC,EC3FM,IAAMO,CAAAA,CAAc,CACzB,MAAA,CAAQ,QAAA,CACR,OAAQ,QACV,MCGMC,CAAAA,CAAmBR,KAAAA,CAAE,OAAOA,KAAAA,CAAE,MAAA,GAAUA,KAAAA,CAAE,OAAA,EAAS,CAAA,CAG5CS,EAAAA,CAAwCT,KAAAA,CAAE,OAAO,CAC5D,UAAA,CAAYA,KAAAA,CAAE,IAAA,EAAK,CACnB,MAAA,CAAQA,MAAE,IAAA,CAAKvB,CAAa,CAAA,CAC5B,OAAA,CAASuB,KAAAA,CAAE,IAAA,GAAO,QAAA,EAAS,CAC3B,aAAcA,KAAAA,CAAE,IAAA,GAAO,QAAA,EAAS,CAChC,YAAA,CAAcA,KAAAA,CAAE,MAAA,CAAO,MAAA,GAAS,WAAA,EAAY,CAAE,QAAA,EAAS,CACvD,WAAA,CAAaA,KAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,GAAI,CAAA,CAAE,QAAA,EACpC,CAAC,CAAA,CAEYU,CAAAA,CAAmCV,MAAE,MAAA,CAAO,CACvD,GAAIA,KAAAA,CAAE,IAAA,EAAK,CACX,OAAA,CAASA,KAAAA,CAAE,IAAA,GAAO,QAAA,EAAS,CAC3B,aAAA,CAAeA,KAAAA,CAAE,IAAA,EAAK,CACtB,kBAAmBA,KAAAA,CAAE,IAAA,EAAK,CAC1B,MAAA,CAAQA,KAAAA,CAAE,IAAA,CAAKvB,CAAa,CAAA,CAC5B,YAAA,CAAcuB,MAAE,IAAA,EAAK,CAAE,UAAS,CAChC,WAAA,CAAaA,KAAAA,CAAE,IAAA,EAAK,CAAE,QAAA,GACtB,KAAA,CAAOA,KAAAA,CAAE,IAAA,CAAKtB,CAAY,CAAA,CAC1B,SAAA,CAAWsB,MAAE,MAAA,EAAO,CACpB,SAAA,CAAWA,KAAAA,CAAE,MAAA,EACf,CAAC,CAAA,CAGYW,EAAAA,CAAyCX,KAAAA,CAAE,MAAA,CAAO,CAC7D,SAAA,CAAWA,MAAE,IAAA,EAAK,CAClB,OAAA,CAASU,CACX,CAAC,CAAA,CAEKE,EAAgCZ,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,EAAK,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAGzDa,EAAAA,CAA4Cb,KAAAA,CACtD,OAAO,CACN,WAAA,CAAaA,MAAE,IAAA,CAAKtB,CAAY,EAChC,MAAA,CAAQkC,CAAAA,CAA8B,QAAA,EACxC,CAAC,CAAA,CACA,YAAY,CAACE,CAAAA,CAAMC,CAAAA,GAAQ,CAAA,CAExBD,CAAAA,CAAK,WAAA,GAAgBpC,EAAa,QAAA,EAClCoC,CAAAA,CAAK,WAAA,GAAgBpC,CAAAA,CAAa,SAAA,EAClCoC,CAAAA,CAAK,cAAgBpC,CAAAA,CAAa,UAAA,GACdoC,EAAK,MAAA,GAAW,MAAA,EACpCC,EAAI,QAAA,CAAS,CACX,IAAA,CAAM,QAAA,CACN,OAAA,CAAS,wCAAA,CACT,KAAM,CAAC,QAAQ,CACjB,CAAC,EAEL,CAAC,EAEUC,EAAAA,CAA6ChB,KAAAA,CAAE,MAAA,CAAO,CACjE,OAAA,CAASU,CACX,CAAC,CAAA,CAEKO,CAAAA,CAAkCjB,MAAE,MAAA,CAAO,CAC/C,MAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,IAAI,GAAG,CAAA,CAChC,WAAA,CAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAI,CAAA,CACvC,gBAAA,CAAkBA,MAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAClC,YAAA,CAAcA,MAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAC9B,IAAA,CAAMA,MAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAC/B,YAAA,CAAcA,KAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CAAE,UAAS,CACxC,sBAAA,CAAwBA,MAAE,MAAA,CAAO,MAAA,GAAS,GAAA,EAAI,CAAE,QAAA,EAAS,CAAE,QAAA,EAAS,CACpE,SAAUA,KAAAA,CAAE,IAAA,CAAKO,CAAW,CAAA,CAC5B,KAAA,CAAOP,KAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,GAAI,CAAA,CAAE,QAAA,EAAS,CACrC,aAAcA,KAAAA,CAAE,MAAA,CAAO,QAAO,CAAE,WAAA,GAAc,QAAA,EAAS,CACvD,WAAA,CAAaQ,CAAAA,CAAiB,QAAA,EAAS,CACvC,QAASR,KAAAA,CAAE,IAAA,EAAK,CAAE,QAAA,EACpB,CAAC,EAGYkB,EAAAA,CAA2CD,CAAAA,CAE3CE,EAAAA,CAA2CF,CAAAA,CAAgC,OAAA,EAAQ,CAEnFG,GAAwCpB,KAAAA,CAAE,MAAA,CAAO,CAC5D,GAAGqB,kBAAAA,CAAuB,MAC1B,QAAA,CAAUrB,KAAAA,CAAE,IAAA,CAAKO,CAAW,CAAA,CAAE,QAAA,EAChC,CAAC,CAAA,CAEYe,EAAAA,CAAsCtB,KAAAA,CAAE,MAAA,CAAO,CAC1D,GAAIA,KAAAA,CAAE,IAAA,EAAK,CACX,aAAA,CAAeA,KAAAA,CAAE,IAAA,GACjB,OAAA,CAASA,KAAAA,CAAE,IAAA,EAAK,CAAE,QAAA,EAAS,CAC3B,MAAOA,KAAAA,CAAE,MAAA,EAAO,CAChB,KAAA,CAAOA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAC3B,WAAA,CAAaA,KAAAA,CAAE,MAAA,EAAO,CACtB,iBAAkBA,KAAAA,CAAE,MAAA,EAAO,CAC3B,YAAA,CAAcA,KAAAA,CAAE,MAAA,GAChB,IAAA,CAAMA,KAAAA,CAAE,QAAO,CACf,YAAA,CAAcA,MAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAClC,sBAAA,CAAwBA,KAAAA,CAAE,QAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAClD,QAAA,CAAUA,MAAE,IAAA,CAAKO,CAAW,CAAA,CAC5B,YAAA,CAAcP,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAClC,YAAaA,KAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAClC,KAAA,CAAOA,KAAAA,CAAE,IAAA,CAAKrB,CAAe,EAC7B,aAAA,CAAeqB,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAC9B,UAAWA,KAAAA,CAAE,MAAA,EAAO,CACpB,SAAA,CAAWA,KAAAA,CAAE,MAAA,EACf,CAAC,CAAA,CAGYuB,GAAqDvB,KAAAA,CAAE,MAAA,CAAO,CACzE,YAAA,CAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,EAAE,GAAA,CAAI,GAAI,CAAA,CAAE,QAAA,EAAS,CACnD,cAAA,CAAgBA,MAAE,MAAA,CAAO,MAAA,EAAO,CAAE,WAAA,EAAY,CAAE,QAAA,GAChD,iBAAA,CAAmBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,GAAI,EAAE,QAAA,EAAS,CACjD,WAAA,CAAaQ,CAAAA,CAAiB,QAAA,EAChC,CAAC,CAAA,CAEYgB,CAAAA,CAAgDxB,KAAAA,CAAE,MAAA,CAAO,CACpE,EAAA,CAAIA,MAAE,IAAA,EAAK,CACX,YAAA,CAAcA,KAAAA,CAAE,IAAA,EAAK,CACrB,kBAAmBA,KAAAA,CAAE,IAAA,GACrB,YAAA,CAAcA,KAAAA,CAAE,QAAO,CAAE,QAAA,EAAS,CAClC,cAAA,CAAgBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CACpC,iBAAA,CAAmBA,KAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CACvC,KAAA,CAAOA,KAAAA,CAAE,IAAA,CAAKyB,kBAAgB,CAAA,CAC9B,mBAAoBzB,KAAAA,CAAE,IAAA,GAAO,QAAA,EAAS,CACtC,YAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CACjC,UAAA,CAAYA,MAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAChC,SAAA,CAAWA,KAAAA,CAAE,QAAO,CACpB,SAAA,CAAWA,KAAAA,CAAE,MAAA,EACf,CAAC,EAGY0B,EAAAA,CACXF,CAAAA,CAA8C,OAAO,CACnD,mBAAA,CAAqBxB,MAAE,MAAA,EAAO,CAAE,QAAA,EAClC,CAAC,MCxIU2B,CAAAA,CAAwB,CACnC,IAAA,CAAM,MAAA,CACN,SAAA,CAAW,WAAA,CACX,KAAM,MACR,MCAaC,CAAAA,CAAgC5B,KAAAA,CAAE,MAAA,CAAO,CACpD,EAAA,CAAIA,KAAAA,CAAE,MAAK,CACX,SAAA,CAAWA,KAAAA,CAAE,IAAA,EAAK,CAAE,QAAA,GACpB,YAAA,CAAcA,KAAAA,CAAE,IAAA,EAAK,CAAE,QAAA,EAAS,CAChC,cAAeA,KAAAA,CAAE,IAAA,EAAK,CACtB,iBAAA,CAAmBA,KAAAA,CAAE,IAAA,GACrB,SAAA,CAAWA,KAAAA,CAAE,QAAO,CACpB,SAAA,CAAWA,MAAE,MAAA,EACf,CAAC,CAAA,CAEY6B,CAAAA,CAA2C7B,KAAAA,CAAE,OAAO,CAC/D,EAAA,CAAIA,KAAAA,CAAE,IAAA,EAAK,CACX,GAAA,CAAKA,MAAE,MAAA,EAAO,CACd,QAAA,CAAUA,KAAAA,CAAE,MAAA,EAAO,CACnB,UAAWA,KAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAC1B,UAAWA,KAAAA,CAAE,MAAA,EACf,CAAC,CAAA,CAEY8B,CAAAA,CAAiC9B,MAAE,MAAA,CAAO,CACrD,EAAA,CAAIA,KAAAA,CAAE,IAAA,EAAK,CACX,SAAUA,KAAAA,CAAE,IAAA,EAAK,CACjB,YAAA,CAAcA,KAAAA,CAAE,IAAA,GAChB,IAAA,CAAMA,KAAAA,CAAE,QAAO,CACf,MAAA,CAAQA,MAAE,MAAA,EAAO,CACjB,cAAA,CAAgBA,KAAAA,CAAE,IAAA,CAAK2B,CAAqB,EAC5C,MAAA,CAAQ3B,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAC5B,YAAaA,KAAAA,CAAE,KAAA,CAAM6B,CAAwC,CAC/D,CAAC,CAAA,CAEYE,GAAiDV,kBAAAA,CAEjDW,EAAAA,CAAoDhC,KAAAA,CAAE,MAAA,CAAO,CACxE,QAAA,CAAUA,MAAE,KAAA,CAAM8B,CAA8B,CAAA,CAChD,GAAGG,kBAAAA,CAAyB,KAC9B,CAAC,CAAA,CAEYC,EAAAA,CAA2ClC,KAAAA,CAAE,MAAA,CAAO,CAC/D,MAAA,CAAQ4B,EACR,QAAA,CAAU5B,KAAAA,CAAE,KAAA,CAAM8B,CAA8B,CAAA,CAChD,GAAGG,mBAAyB,KAC9B,CAAC,EAEYE,EAAAA,CAAkDnC,KAAAA,CAAE,OAAO,CACtE,IAAA,CAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAI,CAAA,CACvC,YAAaA,KAAAA,CACV,KAAA,CACCA,KAAAA,CAAE,MAAA,CAAO,CACP,GAAA,CAAKA,MAAE,MAAA,EAAO,CAAE,KAAI,CACpB,QAAA,CAAUA,MAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CACnC,SAAA,CAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAC9B,CAAC,CACH,CAAA,CACC,GAAA,CAAI,EAAE,CAAA,CACN,QAAA,EACL,CAAC,CAAA,CAEYoC,GAAmDpC,KAAAA,CAAE,MAAA,CAAO,CACvE,OAAA,CAAS8B,CACX,CAAC,EAEYO,EAAAA,CAA+CrC,KAAAA,CAAE,MAAA,CAAO,CACnE,aAAA,CAAeA,KAAAA,CAAE,MAAK,CAAE,QAAA,EAC1B,CAAC,CAAA,CAEYsC,EAAAA,CAAgDtC,MAAE,MAAA,CAAO,CACpE,WAAA,CAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,EAChC,CAAC,CAAA,CAEYuC,EAAAA,CAA4CvC,MAAE,MAAA,CAAO,CAChE,iBAAA,CAAmBA,KAAAA,CAAE,IAAA,EAAK,CAAE,UAAS,CACrC,GAAGqB,kBAAAA,CAAuB,KAC5B,CAAC","file":"chunk-ZA5SQOKW.js","sourcesContent":["export const BookingOrigin = {\n EVENT_DIRECT: 'EVENT_DIRECT',\n MARKETPLACE_DIRECT: 'MARKETPLACE_DIRECT',\n JOB_LISTING: 'JOB_LISTING',\n} as const;\nexport type BookingOrigin = (typeof BookingOrigin)[keyof typeof BookingOrigin];\n\nexport const BookingState = {\n REQUESTED: 'REQUESTED',\n AWAITING_PRODUCER_RESPONSE: 'AWAITING_PRODUCER_RESPONSE',\n IN_NEGOTIATION: 'IN_NEGOTIATION',\n ACCEPTED: 'ACCEPTED',\n REJECTED: 'REJECTED',\n CANCELLED: 'CANCELLED',\n AWAITING_ESCROW_FUNDING: 'AWAITING_ESCROW_FUNDING',\n CONFIRMED: 'CONFIRMED',\n IN_PROGRESS: 'IN_PROGRESS',\n SERVICE_COMPLETED: 'SERVICE_COMPLETED',\n IN_DISPUTE: 'IN_DISPUTE',\n CLOSED: 'CLOSED',\n} as const;\nexport type BookingState = (typeof BookingState)[keyof typeof BookingState];\n\nexport const JobListingState = {\n OPEN: 'OPEN',\n CLOSED: 'CLOSED',\n SUSPENDED: 'SUSPENDED',\n} as const;\nexport type JobListingState = (typeof JobListingState)[keyof typeof JobListingState];\n\nexport const IoiState = {\n OPEN: 'OPEN',\n WITHDRAWN: 'WITHDRAWN',\n SELECTED: 'SELECTED',\n REJECTED: 'REJECTED',\n} as const;\nexport type IoiState = (typeof IoiState)[keyof typeof IoiState];\n\n/**\n * Enum for booking payment status.\n */\nexport const BookingPaymentStatus = {\n PENDING: 'PENDING',\n ESCROW_FUNDED: 'ESCROW_FUNDED',\n RELEASED: 'RELEASED',\n REFUNDED: 'REFUNDED',\n FAILED: 'FAILED',\n} as const;\nexport type BookingPaymentStatus = (typeof BookingPaymentStatus)[keyof typeof BookingPaymentStatus];\n\n/** Actor that may trigger a booking state transition (RBAC). */\nexport const BookingTransitionActor = {\n HOST: 'HOST',\n PRODUCER: 'PRODUCER',\n ADMIN: 'ADMIN',\n SYSTEM: 'SYSTEM',\n} as const;\nexport type BookingTransitionActor =\n (typeof BookingTransitionActor)[keyof typeof BookingTransitionActor];\n","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.REQUESTED]: [BookingState.AWAITING_PRODUCER_RESPONSE, BookingState.CANCELLED],\n [BookingState.AWAITING_PRODUCER_RESPONSE]: [\n BookingState.IN_NEGOTIATION,\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],\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.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.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.IN_PROGRESS}->${BookingState.SERVICE_COMPLETED}`]: [\n BookingTransitionActor.PRODUCER,\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 IoiState,\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 serviceDetails: z\n .object({\n requiredDate: z.iso.datetime(),\n location: z.string(),\n eventType: z.string(),\n estimatedDurationHrs: z.number(),\n notes: z.string().optional(),\n })\n .optional(),\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 hostRating: z.number().optional(),\n hostReview: z.string().optional(),\n producerRating: z.number().optional(),\n producerReview: z.string().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 estimatedDurationHrs: z.number().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 estimatedDurationHrs: z.number().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\nexport const SubmitIndicationOfInterestRequestSchema = z.object({\n coverMessage: z.string().optional(),\n proposedAmount: z.number().min(0).optional(),\n availabilityNotes: z.string().optional(),\n});\n\nexport const IndicationOfInterestResponseSchema = z.object({\n id: z.uuid(),\n jobListingId: z.uuid(),\n producerProfileId: z.uuid(),\n coverMessage: z.string().optional(),\n proposedAmount: z.number().optional(),\n state: z.enum(IoiState),\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","import { z } from 'zod';\nimport { JobInterestState } from '../joblisting/listing.enum';\nimport { BookingOrigin, BookingState, JobListingState } from './booking.enums';\nimport { JobLocation } from './hiring.enums';\nimport { PaginationParamsSchema } from '../common';\n\nconst jsonRecordSchema = z.record(z.string(), z.unknown());\n\n/** `POST /marketplace/bookings` */\nexport const CreateMarketplaceBookingRequestSchema = z.object({\n producerId: z.uuid(),\n origin: z.enum(BookingOrigin),\n eventId: z.uuid().optional(),\n jobListingId: z.uuid().optional(),\n agreedAmount: z.coerce.number().nonnegative().optional(),\n scopeOfWork: z.string().max(5000).optional(),\n});\n\nexport const MarketplaceBookingResponseSchema = z.object({\n id: z.uuid(),\n eventId: z.uuid().nullable(),\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 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\nconst MarketplaceJobListingBodySchema = z.object({\n title: z.string().min(1).max(200),\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 requiredDate: z.iso.datetime().optional(),\n estimatedDurationHours: 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\n/** `POST /marketplace/job-listings` */\nexport const CreateMarketplaceJobListingRequestSchema = MarketplaceJobListingBodySchema;\n\nexport const UpdateMarketplaceJobListingRequestSchema = MarketplaceJobListingBodySchema.partial();\n\nexport const ListMarketplaceJobListingsQuerySchema = z.object({\n ...PaginationParamsSchema.shape,\n location: z.enum(JobLocation).optional(),\n});\n\nexport const MarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n hostProfileId: z.uuid(),\n eventId: z.uuid().nullable(),\n title: z.string(),\n notes: z.string().nullable(),\n description: z.string(),\n responsibilities: z.string(),\n requirements: z.string(),\n role: z.string(),\n requiredDate: z.string().nullable(),\n estimatedDurationHours: z.number().int().nullable(),\n location: z.enum(JobLocation),\n compensation: z.number().nullable(),\n attachments: z.unknown().nullable(),\n state: z.enum(JobListingState),\n proposalCount: z.number().int(),\n createdAt: z.string(),\n updatedAt: z.string(),\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 proposedAmount: z.number().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","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 { 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().nullable(),\n jobListingId: z.uuid().nullable(),\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\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\nexport const GetMarketplaceJobListingThreadQuerySchema = z.object({\n producerProfileId: z.uuid().optional(),\n ...PaginationParamsSchema.shape,\n});\n"]}