@livdot-tech/contracts 1.11.12 → 1.11.14

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 (57) 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 +8 -7
  4. package/dist/booking/index.d.ts +8 -7
  5. package/dist/booking/index.js +1 -1
  6. package/dist/booking/index.mjs +1 -1
  7. package/dist/{chunk-L26MD3EM.mjs → chunk-B7O2NN3X.mjs} +2 -2
  8. package/dist/chunk-B7O2NN3X.mjs.map +1 -0
  9. package/dist/chunk-DWFDZJGV.js +2 -0
  10. package/dist/chunk-DWFDZJGV.js.map +1 -0
  11. package/dist/{chunk-INCJR5IC.mjs → chunk-EC7CB75Z.mjs} +2 -2
  12. package/dist/{chunk-INCJR5IC.mjs.map → chunk-EC7CB75Z.mjs.map} +1 -1
  13. package/dist/{chunk-Q223XBEP.js → chunk-JPTEPX6P.js} +2 -2
  14. package/dist/{chunk-Q223XBEP.js.map → chunk-JPTEPX6P.js.map} +1 -1
  15. package/dist/{chunk-MVQEFN65.js → chunk-MYRGUNQ4.js} +2 -2
  16. package/dist/chunk-MYRGUNQ4.js.map +1 -0
  17. package/dist/{chunk-KZ2OWUX4.mjs → chunk-PN2BNA6L.mjs} +2 -2
  18. package/dist/{chunk-KZ2OWUX4.mjs.map → chunk-PN2BNA6L.mjs.map} +1 -1
  19. package/dist/chunk-PVVPURYV.mjs +2 -0
  20. package/dist/chunk-PVVPURYV.mjs.map +1 -0
  21. package/dist/chunk-TPEL6PL7.js +2 -0
  22. package/dist/chunk-TPEL6PL7.js.map +1 -0
  23. package/dist/chunk-URFS7U34.mjs +2 -0
  24. package/dist/chunk-URFS7U34.mjs.map +1 -0
  25. package/dist/chunk-URMWKVBY.mjs +2 -0
  26. package/dist/chunk-URMWKVBY.mjs.map +1 -0
  27. package/dist/{chunk-CMQ2CLPC.js → chunk-X4MIPWKH.js} +2 -2
  28. package/dist/{chunk-CMQ2CLPC.js.map → chunk-X4MIPWKH.js.map} +1 -1
  29. package/dist/chunk-XGBDJE5X.js +2 -0
  30. package/dist/chunk-XGBDJE5X.js.map +1 -0
  31. package/dist/index.js +1 -1
  32. package/dist/index.mjs +1 -1
  33. package/dist/marketplace/index.js +1 -1
  34. package/dist/marketplace/index.mjs +1 -1
  35. package/dist/notification/index.d.mts +3 -0
  36. package/dist/notification/index.d.ts +3 -0
  37. package/dist/notification/index.js +1 -1
  38. package/dist/notification/index.mjs +1 -1
  39. package/dist/user/index.d.mts +2 -0
  40. package/dist/user/index.d.ts +2 -0
  41. package/dist/user/index.js +1 -1
  42. package/dist/user/index.mjs +1 -1
  43. package/package.json +1 -1
  44. package/dist/chunk-46C4WZYK.mjs +0 -2
  45. package/dist/chunk-46C4WZYK.mjs.map +0 -1
  46. package/dist/chunk-6X34AE7I.js +0 -2
  47. package/dist/chunk-6X34AE7I.js.map +0 -1
  48. package/dist/chunk-EHIZAQ4M.js +0 -2
  49. package/dist/chunk-EHIZAQ4M.js.map +0 -1
  50. package/dist/chunk-ET47ODLM.mjs +0 -2
  51. package/dist/chunk-ET47ODLM.mjs.map +0 -1
  52. package/dist/chunk-L26MD3EM.mjs.map +0 -1
  53. package/dist/chunk-MVQEFN65.js.map +0 -1
  54. package/dist/chunk-O4FQLJ2O.mjs +0 -2
  55. package/dist/chunk-O4FQLJ2O.mjs.map +0 -1
  56. package/dist/chunk-RAOMJYKX.js +0 -2
  57. package/dist/chunk-RAOMJYKX.js.map +0 -1
@@ -1,2 +0,0 @@
1
- 'use strict';var chunkFG6EV3WQ_js=require('./chunk-FG6EV3WQ.js'),chunkEAKBQ5VD_js=require('./chunk-EAKBQ5VD.js'),chunkORDM2W6R_js=require('./chunk-ORDM2W6R.js'),zod=require('zod');var q=[chunkFG6EV3WQ_js.b.REJECTED,chunkFG6EV3WQ_js.b.CANCELLED,chunkFG6EV3WQ_js.b.CLOSED],k=[...q,chunkFG6EV3WQ_js.b.IN_DISPUTE],$={[chunkFG6EV3WQ_js.b.DRAFT]:[chunkFG6EV3WQ_js.b.AWAITING_PRODUCER_RESPONSE,chunkFG6EV3WQ_js.b.CANCELLED],[chunkFG6EV3WQ_js.b.REQUESTED]:[chunkFG6EV3WQ_js.b.AWAITING_PRODUCER_RESPONSE,chunkFG6EV3WQ_js.b.CANCELLED],[chunkFG6EV3WQ_js.b.AWAITING_PRODUCER_RESPONSE]:[chunkFG6EV3WQ_js.b.IN_NEGOTIATION,chunkFG6EV3WQ_js.b.ACCEPTED,chunkFG6EV3WQ_js.b.REJECTED,chunkFG6EV3WQ_js.b.CANCELLED],[chunkFG6EV3WQ_js.b.IN_NEGOTIATION]:[chunkFG6EV3WQ_js.b.ACCEPTED,chunkFG6EV3WQ_js.b.REJECTED,chunkFG6EV3WQ_js.b.CANCELLED],[chunkFG6EV3WQ_js.b.ACCEPTED]:[chunkFG6EV3WQ_js.b.AWAITING_ESCROW_FUNDING,chunkFG6EV3WQ_js.b.CANCELLED],[chunkFG6EV3WQ_js.b.AWAITING_ESCROW_FUNDING]:[chunkFG6EV3WQ_js.b.CONFIRMED,chunkFG6EV3WQ_js.b.CANCELLED],[chunkFG6EV3WQ_js.b.CONFIRMED]:[chunkFG6EV3WQ_js.b.IN_PROGRESS,chunkFG6EV3WQ_js.b.AWAITING_PRODUCER_RECONFIRM],[chunkFG6EV3WQ_js.b.AWAITING_PRODUCER_RECONFIRM]:[chunkFG6EV3WQ_js.b.CONFIRMED,chunkFG6EV3WQ_js.b.CANCELLED],[chunkFG6EV3WQ_js.b.IN_PROGRESS]:[chunkFG6EV3WQ_js.b.SERVICE_COMPLETED,chunkFG6EV3WQ_js.b.CANCELLED],[chunkFG6EV3WQ_js.b.SERVICE_COMPLETED]:[chunkFG6EV3WQ_js.b.CLOSED],[chunkFG6EV3WQ_js.b.IN_DISPUTE]:[chunkFG6EV3WQ_js.b.CLOSED],[chunkFG6EV3WQ_js.b.REJECTED]:[],[chunkFG6EV3WQ_js.b.CANCELLED]:[],[chunkFG6EV3WQ_js.b.CLOSED]:[]},H={[`${chunkFG6EV3WQ_js.b.DRAFT}->${chunkFG6EV3WQ_js.b.AWAITING_PRODUCER_RESPONSE}`]:[chunkFG6EV3WQ_js.f.HOST,chunkFG6EV3WQ_js.f.SYSTEM],[`${chunkFG6EV3WQ_js.b.DRAFT}->${chunkFG6EV3WQ_js.b.CANCELLED}`]:[chunkFG6EV3WQ_js.f.HOST],[`${chunkFG6EV3WQ_js.b.REQUESTED}->${chunkFG6EV3WQ_js.b.AWAITING_PRODUCER_RESPONSE}`]:[chunkFG6EV3WQ_js.f.HOST,chunkFG6EV3WQ_js.f.SYSTEM],[`${chunkFG6EV3WQ_js.b.REQUESTED}->${chunkFG6EV3WQ_js.b.CANCELLED}`]:[chunkFG6EV3WQ_js.f.HOST],[`${chunkFG6EV3WQ_js.b.AWAITING_PRODUCER_RESPONSE}->${chunkFG6EV3WQ_js.b.IN_NEGOTIATION}`]:[chunkFG6EV3WQ_js.f.PRODUCER],[`${chunkFG6EV3WQ_js.b.AWAITING_PRODUCER_RESPONSE}->${chunkFG6EV3WQ_js.b.ACCEPTED}`]:[chunkFG6EV3WQ_js.f.PRODUCER],[`${chunkFG6EV3WQ_js.b.AWAITING_PRODUCER_RESPONSE}->${chunkFG6EV3WQ_js.b.REJECTED}`]:[chunkFG6EV3WQ_js.f.PRODUCER],[`${chunkFG6EV3WQ_js.b.AWAITING_PRODUCER_RESPONSE}->${chunkFG6EV3WQ_js.b.CANCELLED}`]:[chunkFG6EV3WQ_js.f.HOST,chunkFG6EV3WQ_js.f.PRODUCER],[`${chunkFG6EV3WQ_js.b.IN_NEGOTIATION}->${chunkFG6EV3WQ_js.b.ACCEPTED}`]:[chunkFG6EV3WQ_js.f.HOST,chunkFG6EV3WQ_js.f.PRODUCER],[`${chunkFG6EV3WQ_js.b.IN_NEGOTIATION}->${chunkFG6EV3WQ_js.b.REJECTED}`]:[chunkFG6EV3WQ_js.f.HOST,chunkFG6EV3WQ_js.f.PRODUCER],[`${chunkFG6EV3WQ_js.b.IN_NEGOTIATION}->${chunkFG6EV3WQ_js.b.CANCELLED}`]:[chunkFG6EV3WQ_js.f.HOST,chunkFG6EV3WQ_js.f.PRODUCER],[`${chunkFG6EV3WQ_js.b.ACCEPTED}->${chunkFG6EV3WQ_js.b.AWAITING_ESCROW_FUNDING}`]:[chunkFG6EV3WQ_js.f.HOST,chunkFG6EV3WQ_js.f.SYSTEM],[`${chunkFG6EV3WQ_js.b.ACCEPTED}->${chunkFG6EV3WQ_js.b.CANCELLED}`]:[chunkFG6EV3WQ_js.f.HOST,chunkFG6EV3WQ_js.f.PRODUCER],[`${chunkFG6EV3WQ_js.b.AWAITING_ESCROW_FUNDING}->${chunkFG6EV3WQ_js.b.CONFIRMED}`]:[chunkFG6EV3WQ_js.f.SYSTEM,chunkFG6EV3WQ_js.f.ADMIN],[`${chunkFG6EV3WQ_js.b.AWAITING_ESCROW_FUNDING}->${chunkFG6EV3WQ_js.b.CANCELLED}`]:[chunkFG6EV3WQ_js.f.HOST,chunkFG6EV3WQ_js.f.ADMIN],[`${chunkFG6EV3WQ_js.b.CONFIRMED}->${chunkFG6EV3WQ_js.b.IN_PROGRESS}`]:[chunkFG6EV3WQ_js.f.HOST,chunkFG6EV3WQ_js.f.PRODUCER,chunkFG6EV3WQ_js.f.ADMIN],[`${chunkFG6EV3WQ_js.b.CONFIRMED}->${chunkFG6EV3WQ_js.b.AWAITING_PRODUCER_RECONFIRM}`]:[chunkFG6EV3WQ_js.f.HOST,chunkFG6EV3WQ_js.f.SYSTEM,chunkFG6EV3WQ_js.f.ADMIN],[`${chunkFG6EV3WQ_js.b.AWAITING_PRODUCER_RECONFIRM}->${chunkFG6EV3WQ_js.b.CONFIRMED}`]:[chunkFG6EV3WQ_js.f.PRODUCER,chunkFG6EV3WQ_js.f.ADMIN],[`${chunkFG6EV3WQ_js.b.AWAITING_PRODUCER_RECONFIRM}->${chunkFG6EV3WQ_js.b.CANCELLED}`]:[chunkFG6EV3WQ_js.f.HOST,chunkFG6EV3WQ_js.f.PRODUCER,chunkFG6EV3WQ_js.f.ADMIN],[`${chunkFG6EV3WQ_js.b.IN_PROGRESS}->${chunkFG6EV3WQ_js.b.SERVICE_COMPLETED}`]:[chunkFG6EV3WQ_js.f.PRODUCER,chunkFG6EV3WQ_js.f.SYSTEM,chunkFG6EV3WQ_js.f.ADMIN],[`${chunkFG6EV3WQ_js.b.IN_PROGRESS}->${chunkFG6EV3WQ_js.b.CANCELLED}`]:[chunkFG6EV3WQ_js.f.HOST,chunkFG6EV3WQ_js.f.ADMIN],[`${chunkFG6EV3WQ_js.b.SERVICE_COMPLETED}->${chunkFG6EV3WQ_js.b.CLOSED}`]:[chunkFG6EV3WQ_js.f.HOST,chunkFG6EV3WQ_js.f.ADMIN,chunkFG6EV3WQ_js.f.SYSTEM],[`${chunkFG6EV3WQ_js.b.IN_DISPUTE}->${chunkFG6EV3WQ_js.b.CLOSED}`]:[chunkFG6EV3WQ_js.f.ADMIN,chunkFG6EV3WQ_js.f.HOST]},w=[chunkFG6EV3WQ_js.b.REJECTED,chunkFG6EV3WQ_js.b.CANCELLED,chunkFG6EV3WQ_js.b.IN_DISPUTE];function W(r,a){return `${r}->${a}`}function F(r){let a=$[r]??[];return k.includes(r)?a:[...a,chunkFG6EV3WQ_js.b.IN_DISPUTE]}function pe(r,a){return F(r).includes(a)}function z(r,a){return a===chunkFG6EV3WQ_js.b.IN_DISPUTE&&!k.includes(r)?[chunkFG6EV3WQ_js.f.HOST,chunkFG6EV3WQ_js.f.PRODUCER]:H[W(r,a)]??[]}function ge(r,a,S){return z(r,a).includes(S)}function Ee(r,a){return w.includes(a)}var Re=zod.z.object({origin:zod.z.enum(chunkFG6EV3WQ_js.a),eventId:zod.z.uuid().optional(),producerId:zod.z.uuid(),agreedAmount:zod.z.number().min(0)}),Te=zod.z.object({escrowReference:zod.z.string()}),Ae=zod.z.object({id:zod.z.uuid(),eventId:zod.z.uuid().optional(),hostId:zod.z.uuid(),producerId:zod.z.uuid(),quotedPrice:zod.z.number(),currency:zod.z.string(),scopeOfWork:zod.z.record(zod.z.string(),zod.z.any()).optional(),requiredStartAt:zod.z.iso.datetime(),requiredEndAt:zod.z.iso.datetime(),bookingState:zod.z.enum(chunkFG6EV3WQ_js.b),paymentStatus:zod.z.enum(chunkFG6EV3WQ_js.e),escrowReference:zod.z.string().optional(),completedAt:zod.z.iso.datetime().optional(),hostRating:zod.z.number().optional(),hostReview:zod.z.string().optional(),producerRating:zod.z.number().optional(),producerReview:zod.z.string().optional(),createdAt:zod.z.iso.datetime(),updatedAt:zod.z.iso.datetime()}),Ce=zod.z.object({title:zod.z.string().max(255),description:zod.z.string(),requiredDate:zod.z.iso.datetime(),estimatedDurationMinutes:zod.z.number().int().positive().optional(),location:zod.z.string(),budgetRangeMin:zod.z.number().optional(),budgetRangeMax:zod.z.number().optional()}),De=zod.z.object({id:zod.z.uuid(),hostProfileId:zod.z.uuid(),eventId:zod.z.uuid().optional(),title:zod.z.string(),description:zod.z.string(),requiredDate:zod.z.iso.datetime(),estimatedDurationMinutes:zod.z.number().int().nullable().optional(),location:zod.z.string(),budgetRangeMin:zod.z.number().optional(),budgetRangeMax:zod.z.number().optional(),state:zod.z.enum(chunkFG6EV3WQ_js.c),proposalCount:zod.z.number(),createdAt:zod.z.iso.datetime()});var d={ONSITE:"ONSITE",REMOTE:"REMOTE"},M={LOW:"LOW",MID:"MID",HIGH:"HIGH"};var P=zod.z.record(zod.z.string(),zod.z.unknown()),Me=zod.z.object({producerId:zod.z.uuid(),origin:zod.z.enum(chunkFG6EV3WQ_js.a),eventId:zod.z.uuid().optional(),jobListingId:zod.z.uuid().optional(),sourceIoiId:zod.z.uuid().optional(),agreedAmount:zod.z.coerce.number().nonnegative().optional(),scopeOfWork:zod.z.string().max(5e3).optional()}).superRefine((r,a)=>{r.origin===chunkFG6EV3WQ_js.a.EVENT_DIRECT&&!r.eventId&&a.addIssue({code:"custom",message:"eventId is required when origin is EVENT_DIRECT",path:["eventId"]}),r.origin===chunkFG6EV3WQ_js.a.MARKETPLACE_DIRECT&&(r.eventId&&a.addIssue({code:"custom",message:"eventId must not be set when origin is MARKETPLACE_DIRECT",path:["eventId"]}),r.sourceIoiId&&a.addIssue({code:"custom",message:"sourceIoiId must not be set when origin is MARKETPLACE_DIRECT",path:["sourceIoiId"]})),r.origin===chunkFG6EV3WQ_js.a.JOB_LISTING&&(r.sourceIoiId||a.addIssue({code:"custom",message:"sourceIoiId is required when origin is JOB_LISTING",path:["sourceIoiId"]}),r.eventId&&a.addIssue({code:"custom",message:"eventId must not be set when origin is JOB_LISTING",path:["eventId"]})),r.sourceIoiId&&r.origin!==chunkFG6EV3WQ_js.a.JOB_LISTING&&a.addIssue({code:"custom",message:"sourceIoiId is only allowed when origin is JOB_LISTING",path:["sourceIoiId"]});}),C=zod.z.object({id:zod.z.uuid(),eventId:zod.z.uuid().nullable(),eventLinked:zod.z.boolean(),hostProfileId:zod.z.uuid(),producerProfileId:zod.z.uuid(),origin:zod.z.enum(chunkFG6EV3WQ_js.a),jobListingId:zod.z.uuid().nullable(),sourceIoiId:zod.z.uuid().nullable(),state:zod.z.enum(chunkFG6EV3WQ_js.b),agreedAmount:chunkORDM2W6R_js.h.nullable(),scopeOfWork:zod.z.string().nullable(),createdAt:zod.z.string(),updatedAt:zod.z.string()}),Pe=zod.z.object({bookingId:zod.z.uuid(),booking:C}),K=zod.z.string().trim().min(5).max(500),ye=zod.z.object({targetState:zod.z.enum(chunkFG6EV3WQ_js.b),reason:K.optional()}).superRefine((r,a)=>{(r.targetState===chunkFG6EV3WQ_js.b.REJECTED||r.targetState===chunkFG6EV3WQ_js.b.CANCELLED||r.targetState===chunkFG6EV3WQ_js.b.IN_DISPUTE)&&r.reason===void 0&&a.addIssue({code:"custom",message:"reason is required for this transition",path:["reason"]});}),ve=zod.z.object({booking:C}),_e=zod.z.object({notes:zod.z.string().max(2e3).optional()}),Be=zod.z.object({notes:zod.z.string().max(2e3).optional()}),je=zod.z.object({booking:C,hostAcked:zod.z.boolean(),producerAcked:zod.z.boolean(),completed:zod.z.boolean(),forced:zod.z.boolean().optional()}),V=(r,a)=>{if(r.eventId)return;r.eventTitle?.trim()||r.title?.trim()||a.addIssue({code:"custom",message:"eventTitle is required when eventId is not provided",path:["eventTitle"]});},D=(r,a)=>{r.requiredDateLocal!==void 0&&!r.timezone?.trim()&&a.addIssue({code:"custom",message:"timezone is required when requiredDateLocal is provided",path:["timezone"]});},N=zod.z.object({eventTitle:zod.z.string().min(1).max(200).optional(),title:zod.z.string().min(1).max(200).optional(),description:zod.z.string().min(1).max(5e3),responsibilities:zod.z.string().min(1),requirements:zod.z.string().min(1),role:zod.z.string().min(1).max(120),requiredCount:zod.z.coerce.number().int().min(1),requiredDateLocal:zod.z.iso.datetime({local:true,offset:false}).optional(),timezone:zod.z.string().min(1).optional(),requiredDate:zod.z.iso.datetime().optional(),estimatedDurationMinutes:zod.z.coerce.number().int().positive().optional(),location:zod.z.enum(d),notes:zod.z.string().max(2e3).optional(),compensation:zod.z.coerce.number().nonnegative().optional(),attachments:P.optional(),eventId:zod.z.uuid().optional()}),Q=N.superRefine(V).superRefine(D),Y=zod.z.object({eventTitle:zod.z.string().min(1).max(200).optional(),title:zod.z.string().min(1).max(200).optional(),description:zod.z.string().min(1).max(5e3),responsibilities:zod.z.string().min(1),requirements:zod.z.string().min(1),role:zod.z.string().min(1).max(120),requiredCount:zod.z.coerce.number().int().min(1),location:zod.z.enum(d),eventId:zod.z.uuid().optional()}),X=Y,Ge=N.partial().extend({saveAsDraft:zod.z.boolean().optional().default(false)}).superRefine(D).superRefine((r,a)=>{if(r.saveAsDraft)return;let S=Q.safeParse(r);S.success||a.addIssue({code:"custom",message:S.error.issues.map(J=>J.message).join("; ")});}),Ue=N.partial().superRefine(D),Je=zod.z.object({...chunkORDM2W6R_js.g.shape,location:zod.z.enum(d).optional(),search:zod.z.string().trim().min(2).max(100).optional(),roles:zod.z.string().trim().min(1).max(500).optional(),requiredDateFrom:zod.z.string().optional(),requiredDateTo:zod.z.string().optional(),minCompensation:zod.z.coerce.number().int().min(0).optional(),maxCompensation:zod.z.coerce.number().int().min(0).optional(),compensationTier:zod.z.enum(M).optional(),matchMyAvailability:zod.z.enum(["true","false"]).optional().transform(r=>r==="true")}),qe=zod.z.object({...chunkORDM2W6R_js.g.shape,state:zod.z.enum(chunkFG6EV3WQ_js.c).optional(),search:zod.z.string().trim().min(2).max(100).optional()}),$e=X.superRefine((r,a)=>{if(r.eventId)return;r.eventTitle?.trim()||r.title?.trim()||a.addIssue({code:"custom",message:"eventTitle is required for standalone job listings",path:["eventTitle"]});}),He=zod.z.object({id:zod.z.uuid(),state:zod.z.literal("OPEN")}),we=zod.z.object({id:zod.z.uuid(),hostProfileId:zod.z.uuid(),eventId:zod.z.uuid().nullable(),title:zod.z.string(),eventTitle:zod.z.string().nullable(),notes:zod.z.string().nullable(),description:zod.z.string(),responsibilities:zod.z.string(),requirements:zod.z.string(),role:zod.z.string(),requiredCount:zod.z.number().int().min(1),requiredDate:zod.z.string().nullable(),requiredDateLocal:zod.z.string().nullable(),timezone:zod.z.string().nullable(),estimatedDurationMinutes:zod.z.number().int().nullable(),location:zod.z.enum(d),compensation:chunkORDM2W6R_js.h.nullable(),attachments:zod.z.unknown().nullable(),state:zod.z.enum(chunkFG6EV3WQ_js.c),proposalCount:zod.z.number().int(),cancelledAt:zod.z.string().nullable(),cancelledReason:zod.z.string().nullable(),createdAt:zod.z.string(),updatedAt:zod.z.string()}),We=zod.z.object({reason:zod.z.string().trim().min(5).max(500).optional()}),Fe=zod.z.object({id:zod.z.uuid(),state:zod.z.literal("CANCELLED"),cancelledAt:zod.z.iso.datetime().nullable()}),ze=zod.z.object({id:zod.z.uuid(),state:zod.z.literal(chunkFG6EV3WQ_js.c.SUSPENDED)}),Ke=zod.z.object({id:zod.z.uuid(),state:zod.z.literal(chunkFG6EV3WQ_js.c.OPEN)}),Ve=zod.z.object({coverMessage:zod.z.string().min(1).max(2e3).optional(),proposedAmount:zod.z.coerce.number().nonnegative().optional(),availabilityNotes:zod.z.string().max(2e3).optional(),attachments:P.optional()}),y=zod.z.object({id:zod.z.uuid(),jobListingId:zod.z.uuid(),producerProfileId:zod.z.uuid(),coverMessage:zod.z.string().nullable(),proposedAmount:chunkORDM2W6R_js.h.nullable(),availabilityNotes:zod.z.string().nullable(),state:zod.z.enum(chunkEAKBQ5VD_js.a),resultingBookingId:zod.z.uuid().nullable(),withdrawnAt:zod.z.string().nullable(),selectedAt:zod.z.string().nullable(),createdAt:zod.z.string(),updatedAt:zod.z.string()}),Z=y.extend({producerCompanyName:zod.z.string().nullable()}),T={CREATED_AT:"createdAt",UPDATED_AT:"updatedAt",PROPOSED_AMOUNT:"proposedAmount"},A={ASC:"asc",DESC:"desc"},Qe=zod.z.object({...chunkORDM2W6R_js.g.shape,jobListingId:zod.z.uuid().optional(),state:zod.z.enum(chunkEAKBQ5VD_js.a).optional(),search:zod.z.string().trim().min(2).max(100).optional(),sortBy:zod.z.enum(T).default(T.CREATED_AT),sortOrder:zod.z.enum(A).default(A.DESC)}),Ye=Z.extend({producerDisplayName:zod.z.string(),producerAvatarUrl:zod.z.url().nullable(),producerServiceCategoryLabels:zod.z.array(zod.z.string()),producerEquipmentLabels:zod.z.array(zod.z.string()),producerIsVerified:zod.z.boolean(),jobListingTitle:zod.z.string(),jobListingRole:zod.z.string(),jobListingState:zod.z.enum(chunkFG6EV3WQ_js.c),jobListingLocation:zod.z.enum(d),jobListingEventId:zod.z.uuid().nullable(),jobListingEventTitle:zod.z.string().nullable()}),Xe=zod.z.object({...chunkORDM2W6R_js.g.shape,jobListingId:zod.z.uuid().optional(),state:zod.z.enum(chunkEAKBQ5VD_js.a).optional(),search:zod.z.string().trim().min(2).max(100).optional(),sortBy:zod.z.enum(T).default(T.CREATED_AT),sortOrder:zod.z.enum(A).default(A.DESC)}),Ze=y.extend({hostBusinessName:zod.z.string().nullable(),jobListingTitle:zod.z.string(),jobListingRole:zod.z.string(),jobListingState:zod.z.enum(chunkFG6EV3WQ_js.c),jobListingLocation:zod.z.enum(d),jobListingEventId:zod.z.uuid().nullable(),jobListingEventTitle:zod.z.string().nullable(),jobListingRequiredDate:zod.z.string().nullable(),jobListingCompensation:chunkORDM2W6R_js.h.nullable()});var v={SENT:"SENT",DELIVERED:"DELIVERED",READ:"READ"};var ee=zod.z.object({id:zod.z.uuid(),bookingId:zod.z.uuid(),hostProfileId:zod.z.uuid(),producerProfileId:zod.z.uuid(),createdAt:zod.z.string(),updatedAt:zod.z.string()}),te=zod.z.object({id:zod.z.uuid(),url:zod.z.string(),mimeType:zod.z.string(),sizeBytes:zod.z.number().int(),createdAt:zod.z.string()}),O=zod.z.object({id:zod.z.uuid(),threadId:zod.z.uuid(),senderUserId:zod.z.uuid(),body:zod.z.string(),sentAt:zod.z.string(),deliveryStatus:zod.z.enum(v),readAt:zod.z.string().nullable(),attachments:zod.z.array(te)}),st=chunkORDM2W6R_js.g,at=zod.z.object({messages:zod.z.array(O),...chunkORDM2W6R_js.k.shape}),ut=zod.z.object({thread:ee,messages:zod.z.array(O),...chunkORDM2W6R_js.k.shape}),ct=zod.z.object({body:zod.z.string().trim().min(1).max(5e3),attachments:zod.z.array(zod.z.object({url:zod.z.string().url(),mimeType:zod.z.string().min(1).max(120),sizeBytes:zod.z.number().int().positive()})).max(10).optional()}),lt=zod.z.object({message:O}),mt=zod.z.object({url:zod.z.url(),key:zod.z.string().min(1),mimeType:zod.z.string().min(1).max(120),sizeBytes:zod.z.number().int().positive()}),dt=zod.z.object({upToMessageId:zod.z.uuid().optional()}),pt=zod.z.object({markedCount:zod.z.number().int().nonnegative()}),oe=zod.z.object({threadId:zod.z.uuid(),bookingId:zod.z.uuid(),title:zod.z.string(),lastMessagePreview:zod.z.string().nullable(),lastMessageAt:zod.z.string().nullable(),lastSenderUserId:zod.z.uuid().nullable(),lastSenderDisplayName:zod.z.string().nullable(),unreadCount:zod.z.number().int().nonnegative(),bookingState:zod.z.enum(chunkFG6EV3WQ_js.b),producerProfileId:zod.z.uuid(),producerDisplayName:zod.z.string(),producerAvatarUrl:zod.z.string().nullable(),hostProfileId:zod.z.uuid(),hostDisplayName:zod.z.string(),hostAvatarUrl:zod.z.string().nullable(),counterpartyDisplayName:zod.z.string(),counterpartyAvatarUrl:zod.z.string().nullable(),counterpartyRole:zod.z.enum(["HOST","PRODUCER"])}),gt=zod.z.object({items:zod.z.array(oe),...chunkORDM2W6R_js.k.shape});var _=zod.z.enum(["APPLICATIONS","UPCOMING","LIVE","COMPLETED","JOB_INVITES"]),ne=zod.z.enum(["PENDING","SHORTLISTED","SELECTED","WITHDRAWN","REJECTED","CANCELLED","INVITED","NEGOTIATING","CONFIRMED","LIVE","COMPLETED","DISPUTED"]),ie=zod.z.enum(["IOI","BOOKING","ASSIGNMENT"]),bt=zod.z.object({tab:_,search:zod.z.string().trim().min(2).max(100).optional(),...chunkORDM2W6R_js.g.shape}),re=zod.z.object({id:zod.z.uuid(),kind:ie,eventName:zod.z.string(),date:zod.z.string().nullable(),role:zod.z.string(),payment:chunkORDM2W6R_js.h.nullable(),status:ne,statusCode:zod.z.string(),jobListingId:zod.z.uuid().nullable(),bookingId:zod.z.uuid().nullable(),ioiId:zod.z.uuid().nullable(),eventId:zod.z.uuid().nullable(),assignmentId:zod.z.uuid().nullable().optional()}),Rt=zod.z.object({tab:_,items:zod.z.array(re),...chunkORDM2W6R_js.k.shape}),Tt=zod.z.object({applications:zod.z.number().int().nonnegative(),upcoming:zod.z.number().int().nonnegative(),live:zod.z.number().int().nonnegative(),completed:zod.z.number().int().nonnegative(),jobInvites:zod.z.number().int().nonnegative()});var se=zod.z.object({id:zod.z.string(),role:chunkORDM2W6R_js.b}),L=zod.z.object({reason:zod.z.string().optional(),ipAddress:zod.z.string().optional(),userAgent:zod.z.string().optional(),traceId:zod.z.string().optional()}),B=zod.z.record(zod.z.string(),zod.z.unknown()),ae=L.extend({beforeState:B.optional(),afterState:B.optional()}),ue=L.extend({messageId:zod.z.string(),bodyPreview:zod.z.string(),attachmentCount:zod.z.number().int().nonnegative().optional()}),ce=L.extend({messageId:zod.z.string(),attachmentId:zod.z.string(),url:zod.z.string(),mimeType:zod.z.string(),sizeBytes:zod.z.number().int().nonnegative()}),h={timestamp:zod.z.string().datetime(),actor:se};function b(r){return zod.z.object({...h,action:zod.z.literal(r),details:ae})}var le=zod.z.discriminatedUnion("action",[b(chunkFG6EV3WQ_js.g.STATE_CHANGED),b(chunkFG6EV3WQ_js.g.TERMS_MODIFIED),b(chunkFG6EV3WQ_js.g.BOOKING_CREATED),b(chunkFG6EV3WQ_js.g.BOOKING_COMPLETED),b(chunkFG6EV3WQ_js.g.BOOKING_CANCELLED),b(chunkFG6EV3WQ_js.g.BOOKING_ACCEPTED),b(chunkFG6EV3WQ_js.g.BOOKING_REJECTED),zod.z.object({...h,action:zod.z.literal(chunkFG6EV3WQ_js.g.MESSAGE_SENT),details:ue}),zod.z.object({...h,action:zod.z.literal(chunkFG6EV3WQ_js.g.ATTACHMENT_ADDED),details:ce})]),ht=zod.z.object({items:zod.z.array(le),...chunkORDM2W6R_js.k.shape});var j={DRAFT:"DRAFT",INVITED:"INVITED",ACCEPTED:"ACCEPTED",REJECTED:"REJECTED",CANCELLED:"CANCELLED",EXPIRED:"EXPIRED"};var G=zod.z.object({role:zod.z.string().trim().min(1).max(120),responsibilities:zod.z.string().trim().min(1).max(5e3),requirements:zod.z.string().trim().min(1).max(5e3),compensation:chunkORDM2W6R_js.h,location:zod.z.enum(d),notes:zod.z.string().trim().max(2e3).optional()}),yt=G.extend({producerId:zod.z.uuid()}),vt=G.partial().refine(r=>Object.keys(r).length>0,{message:"At least one field is required"}),me=zod.z.object({id:zod.z.uuid(),companyName:zod.z.string(),displayName:zod.z.string().nullable(),avatarUrl:zod.z.string().nullable(),producerIsVerified:zod.z.boolean()}),U=zod.z.object({id:zod.z.uuid(),eventId:zod.z.uuid(),hostId:zod.z.uuid(),producerId:zod.z.uuid(),role:zod.z.string(),responsibilities:zod.z.string(),requirements:zod.z.string(),compensation:chunkORDM2W6R_js.h,location:zod.z.enum(d),notes:zod.z.string().nullable(),state:zod.z.enum(j),bookingId:zod.z.uuid().nullable(),invitedAt:zod.z.iso.datetime().nullable(),respondedAt:zod.z.iso.datetime().nullable(),rejectReason:zod.z.string().nullable(),createdAt:zod.z.iso.datetime(),updatedAt:zod.z.iso.datetime(),producer:me.optional(),eventTitle:zod.z.string().optional(),eventScheduledStartLocal:zod.z.iso.datetime({local:true,offset:false}).nullable().optional()}),_t=zod.z.object({items:zod.z.array(U)}),Bt=zod.z.object({reason:zod.z.string().trim().min(5).max(500)}),jt=zod.z.object({assignment:U,bookingId:zod.z.uuid()});exports.$=lt;exports.A=Ue;exports.Aa=Bt;exports.B=Je;exports.Ba=jt;exports.C=qe;exports.D=$e;exports.E=He;exports.F=we;exports.G=We;exports.H=Fe;exports.I=ze;exports.J=Ke;exports.K=Ve;exports.L=y;exports.M=Z;exports.N=T;exports.O=A;exports.P=Qe;exports.Q=Ye;exports.R=Xe;exports.S=Ze;exports.T=v;exports.U=ee;exports.V=te;exports.W=O;exports.X=st;exports.Y=at;exports.Z=ut;exports._=ct;exports.a=q;exports.aa=mt;exports.b=$;exports.ba=dt;exports.c=H;exports.ca=pt;exports.d=w;exports.da=oe;exports.e=W;exports.ea=gt;exports.f=F;exports.fa=_;exports.g=pe;exports.ga=ne;exports.h=z;exports.ha=ie;exports.i=ge;exports.ia=bt;exports.j=Ee;exports.ja=re;exports.k=Re;exports.ka=Rt;exports.l=Te;exports.la=Tt;exports.m=Ae;exports.ma=se;exports.n=Ce;exports.na=L;exports.o=De;exports.oa=B;exports.p=d;exports.pa=ae;exports.q=M;exports.qa=ue;exports.r=Me;exports.ra=ce;exports.s=C;exports.sa=le;exports.t=Pe;exports.ta=ht;exports.u=ye;exports.ua=j;exports.v=ve;exports.va=yt;exports.w=_e;exports.wa=vt;exports.x=Be;exports.xa=me;exports.y=je;exports.ya=U;exports.z=Ge;exports.za=_t;//# sourceMappingURL=chunk-RAOMJYKX.js.map
2
- //# sourceMappingURL=chunk-RAOMJYKX.js.map
@@ -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-RAOMJYKX.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 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 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"]}